原标题:“遗忘”对人工智能机器人来说势在必行
我们的故事还是从AlphaGo这里说起,无他,我实在是太喜欢这个小家伙了。
在AlphaGo的棋盘招式中,偶有出现之前出现在棋谱里的招式。他通过强化学习,“记住”(至少是我们认为那个意义上的记住)了围棋的局面较优解。这样超凡的学习能力和“记忆力”(虽然运行方式和人类的记忆不同)是AI在这些方面超越人类,出类拔萃的保障之一。
如果把我们代入人工智能的视角,有了这样的记忆力,我们将看到一个学习成本空前降低,创造力勃发的世界。但是当我们有限的记忆芯片被填满之后呢?我们不得不撞上一个名为“遗忘”的问题。
人们有在互联网上提出“被遗忘”的权利,那在人工智能眼前呢?
人工智能,也应该学会“遗忘”。
遗忘,不止应该是对人类
人们似乎永远无法完全控制自己的记忆,我们都知道忘记一些事情是什么感觉。即使是那些拥有非凡记忆力的人,也无法确保自己的记忆能够保持多长的时间。
也正是因为此,我们发明了纸笔,发明了硬盘,发明了各种各样能够把我们的记忆以物质记录的方式存留下来的方式。人工智能,也是我们“记住自己”的一种方式。
但是我们的记录与记忆是有选择的:谁都不想把那些不好的回忆在自己的脑海里留存太久,谁都不会去刻意记住生活中繁杂的细枝末节。我们保留了有用的、有价值的记忆,而忘记了价值较低的信息。我们对于这些记忆的物质承载工具大多也是这个态度。
同样,对于AI也应该是这样的,我们应该有能力让一个人工智能忘记它所见证的一切。
“遗忘”对人工智能机器人来说势在必行
计算机中的存储器通常用来描述其存储需要回忆的信息的能力,以及存储这些信息的计算机的物理部件。例如,当计算机的工作存储器不再需要某个任务时,在人类的干预下,它会“忘记”数据,从而释放出计算资源用于其他任务。
这也同样适用于人工智能。不过,机器学习算法并不善于知道什么时候保留旧信息,什么时候丢弃过时的信息。比如,非常科幻的“连接主义人工智能”,就面临着几个与“遗忘”有关的问题。比如过度拟合,即学习机器从过去的经验中储存过于详细的信息,从而妨碍了它概括和预测未来事件的能力。
关于这样的“过度拟合”问题,在国外的TowardsDataScience 论坛上,有一位极客为我们分享了他用程序跑出来的例子。
他首先使用sklearn 的“ make _ classification”函数生成一个数据集。并将这些数据集生成的点分成两种颜色,并且放置在同一个平面直角坐标系内,如图所示。
注意红点和蓝点的颜色有所区别
在这项实验中,过度拟合的定义是:反映该模型学习输入的示例,但不能推广到其它示例。比如,在这个系统中,他通过过度拟合要求电脑绘制红色点的存在边界,在编写完相应的程序并且运行之后,电脑给出了这样子的回答。
结果
他确实“忠实”地帮我们把红色点与蓝色点区分开了,但是其发现的模式毫无意义,因为生成这些点的规律和自己拟合出来的结果根本就不是一个东西。这样拟合出来的模型,根本没法用。
没有经过“遗忘”提纯,过度拟合的出来的数据,就像人类的“经验主义与教条主义”,比如炒股找类似图形判断未来走势,比如不结合实际情况去找别人的解决方案……不懂得随机应变与因势利导,只会死套公式找公式化的解决方案,但是这样的方案很多时候并不存在。
要解决这样的过度拟合难题,“遗忘”就势在必行。
目前有一项技术叫做长短期记忆网络(LSTM)算法,它使用特定的学习机制来决定在任意一个节点哪些信息需要记住,哪些需要更新,哪些需要关注。用香港科技大学相关领域的专家Edwin Chen的话来说,LSTM应该达到这样的状态:
“当场景结束,模型应该忘记当前场景的位置,所处时间,并重置任何特定场景的信息;然而,如果场景中的一个角色死亡了,机器则应该继续记住他不再活着的事实。因此,我们希望机器能学习掌握一个相互独立的遗忘/记忆机制,这样当新信息进来时,它知道什么观念该保留什么该丢弃。”这些遗忘的过程,应该在没有人工干预的前提下独立完成。
对于人类来说,遗忘不仅仅是一次失败的记忆,还是一个积极的过程,可以帮助大脑获取新信息并更有效地做出决策。
对于人工智能来说也是如此。
遗忘或许是AI进步的关键
我们先做一个看起来不是那么恰当的比喻,所有“记忆”的物质承载都是有承载上限的,日记本写满了就没法再记,硬盘的容量塞满了也放不下更多的东西。如果放任所有你看到的信息都记在你的电脑硬盘里,它可能很快就会被塞满,然后“写入”这个类似于“记忆”的东西就会罢工不干。
如果教一个说中文的孩子学习英语,孩子会很容易把学习中文的方法应用到英语的学习中(虽然这两者不属于同一语系,但是中间还是有相通的部分,同一语系中的相通部分更多,所能“借鉴”的经验也就更多),比如名词,句子构建,语序区别,同时忘记那些不相关的东西,比如口音,语调,没必要的俚语,我们人类可以同时进行遗忘和学习,并且总结他们之中的共同经验,放弃实际应用中毫无必要的细枝末节。
但是机器人的处境可不一样,如果训练神经网络学习英语,则他会通过“深度学习”整出一个适用于英语的学习方式。这让他在学英文的时候有了无可比拟的优势,但如果还想同时教它中文,对中文内容的学习将覆盖神经网络以前为学习英语所获得的知识,因为这与之前的学习方式矛盾,如果存储内存一定,那么只好删除所有内容并重新开始。
其实这也很好理解,现在的神经网络不允许AlphaGo在一个深度学习过程中同时学会围棋和五子棋,尽管他们棋具都很相似,但是规则大不同。如果用围棋的下法去下五子棋会速败,用五子棋的下法去下围棋会给自己挖出一个大坑。这被称为“ 灾难性遗忘 ”,也是神经网络的一个局限。
算法不能选择忘记什么,目前只能依靠人来对信息进行筛选,这是人相比机器的思维优势之一。通过选择性遗忘的提纯,AI可以更好地去理解人类的命令,解决更多的实际问题。比如在语音识别中摒弃各种干扰的声音,抓住最核心的内容,并且通过最正确的方式将其实现。
如果只是进行大量数据持续的收集,而没有简单的方法通过“遗忘”提纯数据,那人工智能也仅仅是在有限的容量上,在一个狭隘的角度里堆砌和发展我们的智慧成果而已。
因此,学会遗忘是人工智能面临的重大挑战之一,可能也是这个行业破局的关键所在。人类大脑和遗忘的过程中,有可能藏着颠覆现有AI技术的秘密。
忘记该忘记的,改变能改变的
医疗机器人进行医疗诊断,智能家居设备监控我们的行动,安全机器人通过视频摄像机和热成像进行巡逻。面对这些海量存储的数据,决定一个机器人什么时候应该忘记,是一个深刻的人类挑战。
但是如果成功了呢?
前面我们提到了,因为过度拟合的存在,让AI在对未来做出逻辑判断时可能会出现失真的问题。如果我们把“遗忘”这把钥匙交给了人工智能,让他们通过合理的选择性遗忘,走出了过度拟合可能存在的问题。那么,我们拥有一个“百科全书”式的AI时,它(或者应该是他)能通过各种被记忆与遗忘提纯的数据,对未来进行精准的预测吗?
这是人们一直在期待的图景,也是我们隐隐害怕的图景。
阿西莫夫有一篇短篇科幻小说,叫做《最后的问题》。书中的“超脑”在一代一代的开发之后,就有了这样解答问题的能力。如果能够将这样的人工智能制造出来,并且处于完全的控制之下,对于人类社会来说可能都是一场意义非凡的飞跃。
忘记该忘记的,改变能改变的,刈除杂草,才有新生,此之谓也。