我爱编程

从亿年机器人再认识学习

2018-04-14  本文已影响37人  尝试新角度

        设想有一天,你为了能看到1亿年之后的生活,需要造一部机器。这部机器不能是固定放在某个地方的,因为即便是放在最安全的地方,1亿年的时间,变数太多,地震、海啸甚至核爆炸等等,都可能损坏,所以得造一个能活动的。既然要能活动,那就需要定义活动的规则。加油,维修……一一定义太麻烦。怎么办?定一条,保证你能活着就行。于是,这部机器人以此为目标,学习加油、维修、协作等等。如果维修不好了,得把你换到另外一个新的机器里面,于是机器就有了各种判断。如果你真的活到1亿年之后,想必,那时候的地球已经大变样了吧。但是等等,这时的你,是不是就和我们人类的基因一样?而这个机器人,是不是就像是人类自身了呢?这就是机器有没有意识的亿年机器人的思想实验。这个思想实验主要是让我们思考人类到底有没有意识。

        人有没有意识这个问题太大,讨论起来也麻烦,我们先来看看AlphaGo的棋艺。很多人都不相信计算机能够在围棋方面赢过人类,因为落子的选择太多,计算太复杂,这种计算是人类的独特优势。 然而,2016年3月,AlphaGo在韩国 4比1战胜李世石,又在2017年5月,以3比0战胜排名世界第一的围棋冠军柯洁,一时刷爆网络。尽管AlphaGo 厉害,但它所用的原理却是很简单:一个落子选择器,负责观察棋盘布局企图找到最佳的下一步;一个棋局评估器,负责在给定棋子位置的情况下,预测每一个棋手赢棋的概率。就相当于一个负责落子和观察棋局,一个负责计算赢得概率,每一步都评价之后选择胜率最大的落子。他通过大量练习人类对弈的棋谱,学习人类弈棋锻炼自己的棋艺。更厉害的是,他的下一代,AlphaGoZero ,没有使用人类棋谱,通过40天地自我训练,打败了之前的AlphaGoMaster。用《机器之心》一书来讲:AlphaGo是通过简易数理方法配合大量计算和充足的问题样例训练实现的,而AlphaGoZero不需要问题的样例练习,只用了明确的问题描述加大量练习。也就是说,AlphaGoZero连“领进门的师傅”都不用,就可通过自己自学成才,在更短时间战胜了他的前辈。

        你看,弈棋,只需要定义围棋规则即练成冠军,亿年机器人,只需要定义清楚保证你能活着就会练就生存技能。这么一比较,好像思想实验似乎是真的有那么一回事。好吧好吧,不说那些时空跨度非常大的实验,说说这个现象对我们现实精进有什么启发吧。就从我们精进的重要动力——学习谈起。

        对于学习,大师们有很多定义。比如,图灵奖获得者西蒙说,“如果一个系统,能够通过执行某个过程,就此改进了它的性能,那么这个过程就是学习”。又比如,吴伯凡讲,“所谓学习,不仅是对自身知道进行更新、完善,而且要对自己的知识框架、心智模式有一种反省,甚至要有敢于颠覆的勇气和能力。”结合上面的例子,用不那么准确的白话文讲,学习就是通过练习让自己变得更厉害的过程。那么,怎么样才能变得更加厉害?按照上面的思路,只需要两步:

        第一步,定义问题。即设定目标,确立方向。不要小看这个问题,爱因斯坦就曾说过:如果给我1个小时解决问题,我需要55分钟弄清楚这个问题,然后用5分钟解决。现实生活中,我们经常拿到问题就开始动手解决,但经常解决到一半就发觉好像哪里不对,难以继续,这就是没有弄清楚问题到底是什么。而关于定义问题,最清楚、最简洁的就是概念,弄清楚概念,就是学习的第一步。

        第二步,刻意练习。即围绕目标,不断练习。有句谚语,手里拿着锤子,看到任何东西都是钉子,都想锤一下。本意指人有思维定势后闹出的笑话,是贬义的。但想要好好学习,还真的用那个已经掌握的概念,把碰到问题都锤一下,试一试能不能用。当然,现实可能更加复杂,比如投篮需要形成肌肉记忆,需要更多练习,也可能更加简单,比如弈棋,已经有了套路,就没必要再想再一一尝试。最后,把这些概念能用的、不能用的都记录下来,不断练习,形成自己的反射回路,一旦到需要的时候能够随时使用,这就学成了。

        这个方法说起来简单,但做起来比较难,因为我们会感觉累、有情绪、单次训练周期长等等,于是就有了著名 的“1万小时定律”(普通人,只需要1万个小时能够精通一门技艺)。甚至可以进一步推论,学,就是突破舒适区,掌握新概念;习,就是巩固掌握概念,形成反射回路。所谓聪明,就是能够在很短时间内掌握新概念;天赋,就是能够用最短时间内建立沟通反射回路。

        聪明,就是善学;天赋,就是善习。

        某种程度上讲,聪明或者有天赋,就是从小练起的,因为那时就是一张白纸,刻录概念、形成反馈回路都比较容易。而现在的我们,要想高效学习,可能就更需保持空心。

上一篇下一篇

猜你喜欢

热点阅读