机器学习与认知神经的火花碰撞
本文总结自2020年9月中旬,颜水成和刘嘉老师的谈话,两位前辈谈及了很多认知神经和机器学习交叉部分的问题,很有启发性,并且解答了很多平时我们单纯在学习机器学习过程中产生过疑问却又忘记发问的问题。我将其中对我个人比较有启发的部分总结出来,方便以后自查,同时也分享给大家。(我们会经常发现很多新的成果都来自于交叉领域,所以还是很有帮助的)
在此介绍一下两位前辈:
颜水成:依图科技 CTO,智源“机器学习”重大研究方向首席科学家
刘嘉:清华大学教授,智源“人工智能的认知神经基础”重大研究方向首席科学家
问题引入
探索强人工智能的时候,计算机科学家和算法工程师们想到的最直接的办法就是使用知识图谱,从而将常识与深度学习进行融合来创造一个在他们看来有认知的智能体。知识图谱+深度学习,或许能够解决人工智能所面临的困境,但显然不是唯一解。而且由于做这个方向研究的学者越来越多,导致现在一种潜在的瓶颈期已经到来。那么,我们应该开始考虑是否可以从认知神经的“认知”概念中获得启发,来改进我们的思路,去设计出更好的模型和算法。接下来我会以个人的角度去分析二人谈话中比较有启发意义的部分。
Topic1:关于GPT-3
GPT-3本质上与人脑的处理方式还是不同的,尽管在机器学习领域,它的突破是很显著的,GPT-3的推理更多的是一种概率上的连接,它会学习两种概念之间的一种概率连接。却无法理解而这是什么概念。但是人确实先理解后推理,这是本质上的区别。
将GPT-3与庞大的知识图谱进行结合肯定会越来越接近模拟人脑的水平,但是共情能力的差距还是存在的,仍需突破。
Topic2:关于System1和System2
Sys1反应快,无需推理,类似于人类的潜意识。Sys2相当于人的意识,它需要一个推理判断的过程。Sys1和Sys2可以类比于人类的皮层下系统和大脑皮层(此二者在物理上是完全独立的,但是确实有交互的)举个例子来说:比如当我们学会走路后,我们根本不去关心应该先迈哪只脚,以及应该迈多远,完全可以一边走路一边脑袋里想着自己的事情。直到我们突然踩了一个坑,这时候我们的警觉系统就开始起作用了,它会快速启动System 2,对 System 1进行干涉,让你保持平衡而不会摔倒。然后你的视觉注意到原来前面是个大坑,于是马上反应过来改变路径。这个警觉系统就在我们大脑内侧,叫“前扣带回”。
事实上很多情况下,人脑的逻辑模拟的是Sys2到Sys1的转化过程,认知神经领域中解释,当我们的神经最开始不知道如何表示外部世界的时候,大脑会让相关区域所有神经元都活动,但是当迭代到第二次的时候,可能就已经降低到只剩下4成的神经元处于激活状态了,经过反复迭代学习后,最终可能只有4到5个神经元去反应就可以完成一个任务。这可以理解为Spase Coding系统会逐渐在不断学习的过程中集中于特定的任务上,变得精准而高效。
Topic3:大脑处理视觉信息的机制
人类视觉有V1区、V2区、V3区等等,通过对动物的实验发现了越往后面敏感的图形越复杂,也就是说我们的大脑在处理视觉信息时,是将复杂的图像还原成局部元素,然后再进行合成的。
Topic4:人类记忆的三级加工处理
首先,我们不可能记得所有的事情,我们的大部分经历都会被忘掉。目前普遍认为人类记忆有三级加工模型,分别为感觉记忆、短时记忆和长时记忆。如果一个信息不能转化为长时记忆,即引起神经元突出的持久改变(例如相邻神经元突出结构的变化、神经元胶质细胞数量的增加和神经元之间突出连接数量的增加),那么它就会被我们彻底地遗忘掉。
![](https://i-blog.csdnimg.cn/blog_migrate/9b393fdba42c1c25e2e8d5ef98a144a2.png)
Topic5:长期遗忘记忆提取的思考
另一种遗忘,是说这个记忆还在,但没有找到合适的途径把它提取出来。在二位前辈的讨论过程中谈及了一位测试者唤醒儿时记忆的例子。也就是说也许我们可以找到一种办法进行长期的记忆存储,并且找到合适的方法去提取他们,这些表面看起来被遗忘的信息,也许会在未来特别远的时间节点被重新唤醒,但条件就是找到合适的唤醒方法。(总之这种遗忘的模式来自认知神经领域,对机器学习方面会有什么帮助,现在还需要思考)
Topic6:人神经元数目不变理论
人在出生之后神经元的个数就不在发生改变,改变的只是连接的数量和神经元突触的个数。但这也不是说连接越多就越好,比如人在成长到4岁左右的突触数量密度会达到峰值,但是我们后期做的反而失去减少连接的个数,就好比人工神经网络的全连接系统。但是后期的减少突触,剪断连接的过程反而是让我们变得更聪明的过程。
反观人工神经网络却可以不断的通过增加算力来提升它的运算规模,也可以把网络结构做的越来越复杂,从而使其性能不断增长。所以从这个角度来,人工智能反而有一定的优势。人工智能超越人类智能,只是一个时间问题,因为它有无限的算力、无限的存储能力,能够无限地扩展下去。
Topic7:神经元个数对智力的影响
不同的人神经元个数不同,但这不意味着神经元个数多的人智力水平就更高,神经元个数不是决定智力的本质因素,真正决定我们人类智能的,不是我们神经元的数量,而是它们之间的连接。这些连接,很大程度上取决于我们后天的学习。
Topic8:大脑噪声机制以及突触的连接保持
颜老师提出了一个比较关键的问题:是什么因素让突触从原来连接状态变成不连接,或者反过来呢?,对此刘嘉老师也给出了回答:当两个神经元同时发放时,它们就会产生连接。另外,我们大脑里有很多噪音,这些噪音是神经元一些自主地放电活动,即使我们处于静息状态也会有,这些噪音事实上消耗了大脑95%的能量。其实这些噪音是有模式的,正是这种模式试图把不同的神经元进行沟通。两个神经元以同样的频率同步发放信号,那么他们就会保持一种连接状态;而如果它们是异步发放噪音,那么即使它们现在处于连接状态,这种连接也会慢慢衰退。也就是说,如果两个神经元处于连接并同时发放信息,在下次学习时这两个神经元还能够同时发放,就会增强这种连接,逐渐形成稳定连接。
Topic9:混合模型(模式匹配+模型推理)
机器学习中,如果某个样本只出现少数几次的话,从机器学习的角度来讲,最好的策略就是直接把这个样本存储下来,而非再用它去训练模型;需要的时候直接查询匹配即可;而对那些经常出现的样本,则需要训练模型,通过模型来查找。人的大脑也是是用这种模式的比如学习英语的过程中,我们会记住过去式写法的套路,但也有一些词它的过去式写法很不常见,通常大脑就会直接记下这些不规则的部分,并把它们当做规则,每次见到一个新的输入时,先走这套简单的规则,再去走记忆推理的步骤。(对人而言这套机制可以理解为先规则匹配 + 再经验判断)
Topic10:跨觉影响
大脑中每种感觉都有独立的处理区域,但是不同的职能区域之间是有着影响的,而且不同的区域之间的信息加工也会相互参与。不同的感知信息处理模块之间,并不是完全独立的,而是随时在发生相互影响。这也许会对机器学习领域产生启发。只不过认知神经领域现在也没有搞清楚,这些模块儿间对概念构成的影响是如何作用的(毕竟信息输入的格式和输出的格式完全不同,相同的只是概念)。
Topic11:常识的概念
将常识加入到人工神经网络中,从而来提升模型的推理性能,这是现在机器学习领域的热门方向。但对于认知神经常识可能不是一种知识,而是一套规则。我们普遍认为,没有常识,就没有推理。常识是我们对外部世界形成的一个认知模型,基于这个认知模型,我们去做推理,预测外部世界的运作。有大量证据表明,我们许多常识来自于先天的基因。这种来自于基因的常识会让我们人类生下来就会习惯于用某种方式去做事,例如泛化能力,小孩子看到一只毛茸茸的猫,他会疯狂地泛化到其他毛茸茸的动物上,然后再慢慢修正这种泛化的结果。未来探索的方向是去了解这些基于基因的常识是怎么来的,进化过程中如何做到的?
Topic12:记忆提取野火模型(激活扩散模型)
常常会出现在这样一种情况,看到一位非常熟的人,但怎么也想不起他的名字,然后当有一个极小的线索出现的时候,一下子就想起来了。对于这种现象,一个比较有影响力的模型叫做“野火模型”,从一点把火点起来,它就会往四周燃烧;一个线索的出现就会把相邻的东西给激活。
![](https://i-blog.csdnimg.cn/blog_migrate/03b4818bc8599838173797bbc5489f42.png)
对于这种具体现象,刘教授这样回答:这其实涉及到语义信息的存储和表征。名字通常是孤立存储的,但场景或其他信息却可能有更为广泛的联系。那么语义记忆(Semantic Memory)是在不同维度上是怎么存储的呢?比如场景的维度、情感的维度等,哪些维度该有哪些维度没有?目前比较统一的看法是,这更多的是和我们的经验有关系,这种存储更多的是为了便于我们去生存、社交等,然后将其中重要的因素作为存储维度。
Topic13:非孤立式学习
人类学习特别厉害的一点就是,当我们学习一个东西时,并非孤立地学习。以物体识别为例,我们首先会构建一个多维的物体空间),当出现一个从来没有见过的事物时,我们首先会根据各个维度对它进行拆解,然后把这个物体映射到这个多维空间中,看它最终会和哪个东西比较接近,从而判断这两个是同类。我们会在新的事物出现时,在潜意识中使用过去的经验做出了一堆假设,当这堆假设当中的一个被验证后,他就形成了经验,再遇到这个事物的时候就不需要再次从零学习。
Topic14:记忆复制的可行性
有观点认为,我们的记忆是靠突触之间的连接而存储的,但这并不是说我某两个突触连接就代表某个记忆,而是很多突触的一种分布式连接,然后才是某个记忆。我们必须完整地、不出现任何差错地copy所有连接,才能恢复这些记忆。这种想法,本身是一种还原论的思想,还原到每一个突触连接。但是就算你重现了所有的连接,重现的足够精细,也不能完美地复制记忆,因为你还得去通过某种方式复现大脑所存在的整个复杂环境,否则的话,即使连接相同,参数不同,它也会产生完全不同的后果。记忆复制目前来看是不现实的。
Topic15:梦境的作用
人类在睡觉的时候,其实大脑并没有完全休息,他在重放我们白天所经历的一些事情,把其中关键的信息提取出来,并遗忘掉哪些不重要的东西。我们白天所感知到的信息都是具象的,但经过我们大脑这种睡眠时的重放,就能够变成一种抽象的东西。这个过程,我们现在知道它发生在海马体,海马体与我们的记忆和学习有关。
其实梦的定义就是一种学习;其次它也在不断地做不同的假设。人的学习是一种主动学习,学习之后会做一些预测,当然这些推测很多时候是不靠谱的,所以你会觉得梦稀奇古怪的,没有任何逻辑目的。
睡眠的重要性体现在它能够对我们白天所经历的事情进行重构。
很多时候,我们会分不清哪些来自真实,哪些我们的想象或梦境。同一个经历,在不同人的描述中会有所不同(回忆不一致),主要就是因为他们已经对这个现场做了许多自己的猜测、推理等。这个过程是不由自主的,不受个人控制。所以常常我们在说一个事实,实际上,你只是在解释一个事实。
Topic16:神经元复杂度(量级)
神经元的胞体和突触都在进行信息处理,它们的复杂度在量级上哪个为主?对这个问题的回答如下:
二者的复杂度都比较高,主要还是胞体更高一些,但是很难说它们在数量级上有差别。神经元有很多树突,既有兴奋的,也有抑制的,既有远端的,也有近端的,当很多因素合成在一起时,胞体就需要做很多信息的整合,这形成了一个非常复杂的动态系统。特别强调的一点是,在我们现有的DNN里面,更多的仿真突触,其实没有神经元胞体,感知器是一个哑神经元,没有任何结构。
Topic17:Network in Network
Network in Network,真的是把神经元的功能加进去了,因为你有一个局部计算。而主流的DNN其实没有局部计算,只是在改变网络之间的连接强度,顶多也就加了一个threshold这样一个功能。Network in Network开创这个方向,就是从和人的相似性来讲,图神经网络是一个非常有生命力和前途的方向。人类的大脑是最好的智能体。我们应该去看它怎么工作。现在人工智能的研究有两种方式,一种是不管人脑怎么干,我们凭经验设计一套规则来做;另一种是看人的智能是怎么产生的,然后进行类比或仿真。后者成功的概率会更大一些。
原始采访稿引用如下:(持续学习,不断探索)