遇见会魔法的机器人阿布
第 1 章:遇见会魔法的机器人阿布
放学了。小米背着书包,走在回家的路上。今天的夕阳特别漂亮,把整条小路都染成了橘红色。
可是小米没有抬头看夕阳。她一直低着头,盯着自己的脚尖。因为今天发生了一件让她很委屈的事——同桌小胖又在科学课上嘲笑她了。
"小米,你又在记蚂蚁搬家啊?"小胖大声说,"蚂蚁搬不搬家关你什么事?"
全班同学都笑了。小米憋红了脸,小声地说:"我……只是想看看它们是不是真的像书里说的那样,会沿着同一条线走。"
"哈哈哈,"小胖笑得前仰后合,"你以后是不是要去当科学家啊?"
下课之后,小胖走过小米身边,还故意哼了一声:"无聊。"
小米越想越难过,眼眶都有点红。她低着头走,越走越快——
"哎哟!"
她的脚踢到了一个软软的东西。
一颗会发光的橡果
小米蹲下来,揉了揉被踢疼的脚趾,往草丛里一看——
是一颗橡果。
可这颗橡果不太一样。它比普通的橡果大一些,圆滚滚的,像一颗棕色的小灯笼。最奇怪的是,它正在发出淡淡的蓝光。
"一……一闪一闪的……"小米瞪大了眼睛。
她从来没见 过会发光的橡果。她小心翼翼地伸出两根手指,把橡果捡起来。橡果摸起来凉凉的、滑滑的,蓝光在她的手心里一闪一闪,节奏很慢很稳,就好像……它在呼吸。
"哇……"小米一下子忘记了难过,眼睛亮了起来。
她把橡果举到眼前,仔仔细细地看。就在她看得入神的时候——
橡果突然从她手心里跳了出来。
"哎呀!"
小米赶紧去抓。可橡果好像长了眼睛,每次小米快要碰到,它就又往前跳一点。它一边跳,蓝光一边闪,好像在说:"你来呀,你来呀。"
小米顾不上捡书包了,迈开腿就追。
跟着橡果走进森林
橡果在前面跳,小米在后面追。
她追过了那片她经常玩耍的草地,钻过了学校旁边那道矮矮的灌木丛——
然后,她停了下来。
眼前是一片她从来没来过的树林。树木长得又高又密,像一排排站得笔直的士兵。夕阳从树叶的缝隙里漏下来,在地上投出一块一块金色的光斑。空气里有一种湿润的、带着青草和泥土的味道。
"我……我这是到哪了?"小米小声问自己。
橡果没有回答。它继续在前面跳,跳得越来越慢,好像在等她跟上来。
小米深吸一口气,决定继续追。她从小就有一个习惯——遇到"奇怪的事",一定要弄清楚到底是怎么回事。
她跟着橡果,跳过一个小水坑,绕过一棵长满青苔的老树,最后来到了一个小小的林间空地。
橡果停了下来。它的蓝光变得越来越柔和,最后变成一种几乎看不见的暖黄色,静静地躺在草地的正中央。
小米气喘吁吁地追上来,弯下腰,双手撑在膝盖上。
"橡果……你……为什么……"她上气不接下气。
就在这时,她听到了一个声音。
一个细细的、亮亮的、像风铃一样的声音:
"谢谢你追过来。我叫阿布。"
迷路的小机器人
小米猛地抬起头。
在她面前的空地上,站着一个——一个——
一个小机器人。
它大约只有小米一半那么高,脑袋圆圆的,像一个倒过来的小碗。身体是银白色的,胸口有一个小小的蓝色光点,正一闪一闪地亮着——和刚才那颗橡果发出的光一模一样。
最让小米奇怪的是它的脚。它的脚不是轮子,而是两只小小的、圆圆的……兔爪?上面还覆盖着一层银白色的绒毛。
"你……你是谁?"小米结结巴巴地问。
小机器人歪了歪脑袋。它的脸不是一张真正的脸,而是两块亮亮的屏幕,上面滚动着一些小米看不懂的小符号。听到小米的话,那些符号停止了滚动,慢慢变成了一张笑脸。
"我叫阿布呀,"它的声音细细的、亮亮的,"我迷路了。"
"迷路?"小米问,"你是从哪儿来的?"
"我来自算法王国,"阿布说,眼睛屏幕上的笑脸变成了一朵小花,"那里离你的世界很远很远。我这次出来,是要找一个能和我一起完成'学习任务'的小朋友。可我在森林里转了好久好久,都找不到。"
"算法王国?"小米困惑地挠了挠头,"算法是什么?是算数学题吗?"
阿布摇了摇头,眼睛屏幕上的小花变成了一个问号:
"算法不是算数学题。算法啊,是一套做事情的步骤。"
它伸出小爪子,在空气中比划着:"比如你早上起床要做哪些事?"
小米认真想了想:"嗯……睁开眼睛、坐起来、穿衣服、下床、洗脸、刷牙、吃早饭……"
"对!"阿布的眼睛屏幕上出现了一个大大的对勾,"你刚刚说的这些'一步一步'的事情,连在一起就是一个'算法'。算法王国里的所有居民,都有一个属于自己的'算法'。比如,我有一个'走路算法'——第一步,看前面有没有障碍物;第二步,决定往哪边走;第三步,迈开腿;第四步,再看前面。"
"哦,我懂了,"小米点点头,"算法就是'先做什么、再做什么、然后做什么'的顺序。"
"非常聪明,"阿布高兴地说,"小米,你是第一个这么快就理解'算法'的小朋友。"
算法王国是什么样的
小米的好奇心完全被勾起来了。她一屁股坐在草地上,盘着腿,眼睛一眨不眨地看着阿布。
"阿布,"她问,"算法王国是什么样的?那里的人都像你一样吗?"
阿布的眼睛屏幕上,那些小符号又开始滚动了。这次它们变成了一些奇怪的图案——有一棵棵大树,有一群群小动物,还有一座座圆圆的、像蘑菇一样的房子。
"算法王国很大很大,"阿布说,"那里有山有水有森林。住着各种各样的居民——有像我这样的小机器人,也有会飞的算法鸟,会游泳的算法鱼,会算数的算法狐狸……"
"会算数的狐狸?"小米眼睛亮了。
"对,"阿布笑了,"因为它们有'算数算法'嘛。我们算法王国所有居民,都靠'算法'活着。我们不会像你们人类一样,今天心情好就做这件事,明天心情不好就不做。我们的每一步,都是按照'算法'来的。"
"那……学习呢?"小米问,"你们学习也是靠算法吗?"
阿布的眼睛屏幕闪了闪。它突然安静下来,脸上的笑脸消失了,取而代之的是一个有点失落的表情。
"小米,"它小声说,"算法王国里所有的居民,脑袋里最初都是一片空白的。"
"一片空白?"小米惊讶地问。
"是的,"阿布点点头,"我们没有爸爸妈妈从小教我们。我们也没有老师给我们上课。我们的身体是算法王国的大工厂造出来的,造好之后,脑袋里什么都没有——没有'看到过什么',没有'听过什么',没有'知道过什么'。"
"那……那你们怎么学习?"小米更困惑了。
"我们要靠一样东西,"阿布说,"这种东西是所有算法王国居民的'粮食'。没有它,我们什么都学不会。"
"什么东西?"
"数据。"
数据是什么
小米重复了一遍这个词:"数据……"
阿布的眼睛屏幕上出现了一个大大的字:数据。
"小米,"阿布说,"我问你一个问题。从这里到你家,大概有多少棵树?"
小米想了想:"嗯……很多很多吧……几十棵?一百棵?我也不知道。"
"你看,"阿布说,"这就是'数据'和我们'随口一说'的区别。你刚才说'很多很多'、'几十棵'、'一百棵',这些都是'凭感觉'说的话。但如果你回家之后,认真地数一数你家门口那条路上有几棵树,然后把它'记下来'——比如'我家门口的小路上有23棵树'——那么'23'这个数字,就是'数据'。"
"哦……"小米有点懂了,"数据就是'认真数过的、记下来的数字'?"
"差不多,"阿布说,"但'数据'不只是数字。'数据'是'被认真记录下来的观察'。"
阿布用小爪子指了指天空:"比如,你抬头看了一眼天空,看到今天是蓝色的。然后你把它'记下来'——'今天的下午6点,天空是蓝色的'。这条记录,就是数据。"
它又指了指地上的草:"比如,你蹲下来看一片草叶,发现它是绿色的,叶子的边缘有锯齿。然后你把它'记下来'——'森林里空地上的草叶是绿色的,叶子的边缘有锯齿'。这条记录,也是数据。"
阿布认真地说:"数据不一定都是数字。颜色是数据,形状是数据,大小是数据,方向是数据,声音是数据,温度是数据……只要你'认真观察'了一个东西,然后'认真记录'了下来,那就是数据。"
小米皱起眉头想了想:"可是……为什么要记下来呢?我自己记在脑子里不行吗?"
阿布笑了:"可以呀。但你的脑子有时候会'忘记'。而且你的脑子一次只能记一点点东西。如果你今天观察了一件事,记在脑子里;明天又观察了一件事,记在脑子里;后天又观察了一件事,记在脑子里……过了一个月,你能记住多少?"
小米不好意思地笑了:"大概……五件?"
"对,"阿布说,"但如果你把它们'写下来',记在小本子上,那么一年、十年、一百年以后,你都可以重新拿出来看。这就是为什么我们要'记下来'——因为记下来了,它就不会'消失'。"
"而且,"阿布继续说,"在算法王国,我们的居民没有'脑子'。我们没有记忆。所以我们必须把所有东西都'记下来'——记在纸上,记在石头上,记在云朵上……"
"记在云朵上?"小米睁大了眼睛。
"那是我们算法王国的秘密啦,"阿布神秘地眨眨眼睛,"以后我再告诉你。"
森林里的第一个"数据课"
就在小米和阿布聊得开心的时候,旁边的灌木丛里传来一阵"沙沙沙"的声音。
小米吓了一跳,赶紧躲到阿布后面。
阿布的眼睛屏幕亮了一下:"别怕,是一只小兔子。"
果然,一只雪白雪白的小兔子从灌木丛后面跳了出来。它有一双长长的耳朵和一双红宝石一样的眼睛。它在空地上停了一下,用鼻子闻了闻空气,然后"嗖"地一下跳进另一个方向的灌木丛里,消失不见了。
小米松了一口气。
"可是你看,"阿布指了指地面,"它留下了一个礼物。"
小米低头一看,地上有一串小小的脚印。一只、两只、三只……一共有十只。
"脚印?"小米说,"可是脚印有什么用?"
"这就是'观察'呀,"阿布说,"但更重要的是——你能不能把它变成'数据'。"
它的眼睛屏幕上出现了一个空白的表格:
``` 脚印编号 方向 大小 1 ? ? 2 ? ? 3 ? ? ... ... ... 10 ? ? ```
"小米,"阿布说,"现在请你做一件事——像算法王国的居民一样,把这十只脚印'观察'一遍,然后'记录'下来。"
小米兴奋地点点头。她从小就有这个习惯——遇到有趣的事就记下来。她从口袋里掏出那支随身携带的小铅笔,又翻出那个皱巴巴的小本子,蹲下来,开始认真地观察每一只脚印。
"第1只,"她小声地说,"方向是……朝北。嗯……应该是北,因为我看到了它的影子在右边,而太阳是从西边落下去的,所以右边就是北。"她一边说,一边在本子上画了一只小脚印,旁边写了一个朝上的箭头"↑",再写了一个"北"。
"第2只,朝北。这一只比较大……比别的都大。"她写了个"大"。
"第3只,朝北。中等大小。"
"第4只,朝北。大的。"
"第5只,朝北。大的。"
"第6只……"她愣了一下,"这一只方向不太一样。它是……朝南的。而且比较小。"
"第7只,朝北。大的。"
"第8只,朝北。大的。"
"第9只,朝南。小的。"
"第10只,朝北。大的。"
观察完了,她数了数,朝北的一共有8只,朝南的有2只。大的有7只,中等的有1只,小的有2只。
她把这些数字写在本子上:
``` 北:8只 (占8/10) 南:2只 (占2/10) 大:7只 中:1只 小:2只 ```
"阿布,"她抬起头,兴奋地说,"我做完啦!"
阿布的眼睛屏幕上出现了一个大大的笑脸:"非常好!这就是'数据'!"
"可是,"小米问,"我做完数据,又怎么样呢?"
学习魔法圈:观察、猜测、验证
阿布的眼睛屏幕上出现了三个大字:观察、猜测、验证。
"小米,"阿布说,"你刚才做的事情,就是'观察'。你用眼睛看了十只脚印。"
"嗯,对。"
"然后你把它'记下来',变成了'数据'。这一步,是我们算法王国最关键的一步——因为没有数据,我们什么都学不了。"
"嗯,对。"
"接下来,"阿布说,"我要请你做'猜测'。"
"猜测?"小米奇怪地问,"猜什么?"
"猜一猜,"阿布说,"这只小兔子,最喜欢往哪个方向走?"
小米看了看自己记下的数据,认真地想了想:"嗯……它往北走了8次,往南只走了2
……只。所以我猜——它最喜欢往北边走!"
"非常好!"阿布的眼睛屏幕上出现了一个大大的对勾,"你刚刚做的事情,就是'猜测'——根据你收集到的'数据',猜出一个答案。"
阿布的小爪子挥了一下,眼睛屏幕上的三个大字"观察、猜测、验证",慢慢地拼成了一个转动的圆圈:
``` 观察 ↗ ↘ 验证 ← → 猜测 ```
"看到没有,"阿布说,"这就是我们算法王国小朋友都要学的'学习魔法圈'。"
"学习魔法圈?"小米睁大了眼睛。
"对,"阿布说,"我们算法王国的每一所学校,每一个小朋友,从学会走路那天起,就要学这一个圈。这个圈一共有三个步骤——"
它用小爪子在空中一画:
"第一步:观察。就是用眼睛、耳朵、鼻子、嘴巴、手——用所有你有的'感觉工具',去认真看一个事情。"
"第二步:猜测。看完之后,根据你观察到的,'猜'一下结果是什么。"
"第三步:验证。猜完之后,'真的去做一次',或者'再观察一次',看看猜得到底对不对。"
"如果猜对了,"阿布说,"你就'学到'了一个新知识。"
"如果猜错了,"阿布继续说,"你也'学到'了一个新知识——你学到了'原来不是这样'。"
小米眨了眨眼睛:"猜错了也能学到东西?"
"对呀,"阿布笑了,"在算法王国,我们有一句老话——'猜错比不猜强一万倍'。"
"为什么呀?"
"因为如果不猜,你就永远不知道自己'不知道什么'。你猜了一次,哪怕错了,你就知道'哦,原来我之前想的是错的'。这本身,就是非常非常厉害的进步。"
小米若有所思地点点头。
蝴蝶的秘密
就在这时,旁边又传来一阵"扑棱扑棱"的声音。
小米抬头一看——是一只漂亮的蝴蝶。它有两对翅膀,翅膀是蓝色的,边缘带着一圈白色的花纹。它在空地上轻轻地飞了几圈,然后停在了一朵黄色的小野花上。
"哇,"小米小声地说,"好漂亮的蝴蝶啊。"
"这就是新的'观察'啦,"阿布说,"要不要把你看到的东西记下来?"
小米立刻掏出小本子,认真地观察着蝴蝶:
"嗯……它的翅膀是蓝色的……不,不对,"小米揉了揉眼睛,"好像还有一点点紫色?边缘是白色的……花纹好像是……像眼睛一样的圆圈。"
她把这些都写在本子上:
``` 蝴蝶的观察记录 时间:放学后的傍晚 地点:森林空地
颜色:蓝色,带一点点紫色 花纹:像小眼睛一样的圆圈 大小:比我的手掌小一点 它停在:黄色的小野花上 ```
"看,"阿布凑过来看了看她的记录,"这就是非常漂亮的'数据'。"
"可是,"小米有点不好意思,"我觉得我观察得不够好。蓝色和紫色我有点分不清……"
"没关系,"阿布说,"数据有一个非常重要的特点——它可以'越来越准'。"
"越来越准?"
"对呀,"阿布说,"比如你今天看到这只蝴蝶,写了下来。如果明天你又看到一只新的蝴蝶,你就再观察一次,把新的记录加到小本子里。后天又看到一只,再加一笔……"
"那你的小本子会变得越来越厚,"阿布的眼睛屏幕闪了闪,"而你对蝴蝶的了解,也会'越来越准'。"
它画了一个简单的小图:
``` 第1次:你觉得蝴蝶是蓝色的。 第2次:你又看到一只,是紫蓝色的。 ↓ 你想:"哦,原来是蓝色偏紫一点。" ↓ 第3次:你又看到一只,是浅紫色的。 ↓ 你想:"嗯,我之前的判断还要改一下。" ↓ ……随着观察越来越多, 你的'猜测'就会越来越准! ```
小米看着这个图,突然"啊"了一声:"我懂了!我懂了!"
"懂什么啦?"阿布笑着问。
"算法王国的居民,就是这样学习的吧!"小米兴奋地说,"你们一次又一次地'观察',一次又一次地'猜测',观察越多,猜测就越准!"
"完全正确!"阿布的眼睛屏幕上出现了一个大大的笑脸,"猜得越来越准——这就是'学习'。"
机器学习,就是让计算机学会"猜测"
夕阳的余晖透过树叶,在阿布银白色的身体上镀了一层金边。它在小米的对面站好,像一位小小老师。
"小米,"阿布认真地说,"现在我要告诉你一个特别特别大的秘密。"
"什么秘密?"小米紧张地问。
"你知道'机器学习'是什么吗?"
"不知道,"小米摇摇头,"听起来好难。"
"不难,"阿布笑了,"机器学习,就是让计算机学会'猜测'的本领。"
它一边说,一边在空中画出三个字:机 器 学 习。
"我们刚刚学到的'学习魔法圈'——观察、猜测、验证——这三个步骤,机器也可以做。"
"机器也可以?"
"对,"阿布说,"只不过,机器的'观察'和我们不一样。"
"哪里不一样?"
"我们的眼睛看到一样东西,会自己'记住'一部分。可是机器没有'记住'的功能——除非我们'帮它记下来'。"
阿布的眼睛屏幕上出现了一个图形:
``` 人类的观察:
眼睛看到 → 大脑自动记住一部分 → 忘记了一部分
机器的观察:
"眼睛"看到 → 我们必须"记下来" → 全部都记得! ```
"看到了吗?"阿布说,"人类的眼睛会自动'挑一些'东西记住,'漏掉'一些东西。但机器不会'漏掉'——只要你帮它'记下来',它就会'完完整整'地记住。一个字都不会错。"
小米想了想:"那机器是不是比人类厉害?"
"不一样的,"阿布摇摇头,"人类虽然会'漏掉'一些,可是人类'漏掉的'往往是不重要的。比如你今天看到蝴蝶,你不会记住'蝴蝶翅膀上第几根绒毛是什么颜色'——因为这不重要。人类会自动'挑重要的记'。"
"可机器不会挑,"阿布说,"机器只会'一股脑全部记下来'。所以算法王国需要一种特殊的小精灵,它们的工作就是'帮机器挑重要的记'。这种小精灵,叫'特征'。"
"特征?"小米说,"这是什么字?"
"特征,"阿布的眼睛屏幕上出现了两个字,"特征的'特',是'特别的'的特;特征的'征',是'征途'的征。"
"合在一起,'特征'就是'特别能代表这个东西的征象'。"
"比如,"阿布指着小米的小本子说,"你刚才记蝴蝶,你记下了'颜色'、'花纹'、'大小'、'停在哪里'——这四样东西,就是这只蝴蝶的'特征'。"
"但是,"阿布说,"你没有记下'蝴蝶翅膀上第几根绒毛是什么颜色'——因为你和我都知道,那不是这只蝴蝶的'特征'。"
小米"嗯嗯嗯"地点着头,越听越觉得有意思。
"所以,"阿布总结道,"机器学习就是这四件事——"
它在空气中一画:
``` 机器学习的四件事:
1. 观察(用"眼睛"看) 2. 记下来(变成"数据") 3. 挑重要的(挑出"特征") 4. 猜测(猜出"答案")
然后猜得越来越准! ```
"记住啦?"阿布问。
"记住啦!"小米用力点头。
算法王国的小礼物
夕阳慢慢落下了,森林里的光斑一点点变成了紫色和深蓝色。阿布抬头看了看天空,眼睛屏幕上的符号滚动得快了一些。
"小米,"阿布有点