首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不仅仅是大脑,宇宙都在做反向传播

(Werbos:宇宙在做反向传播)

本文资料均由张恩文兄搜集整理,错误的请归于我,偶尔正确的,请归于他。

1,什么是反向传播?

在人工智能的深度学习算法中,有一种算法,是深度学习的基础,这种算法被称为“反向传播”,英文中,是一个新单词Backpropagation,或Backprop,简称BP。

那反向传播究竟是什么呢?其实,它是一种双向的算法机制。一是正向传播输入信号,输出分类信息,可以归属于分类算法。二是反向传播误差信息,微调网络参数,以便产生输出改善。通常说起反向传播,都意味着有多个隐藏层。反向传播是一系列在这些层次组成的链上的信息传播规则。

(反向传播示意图及公式)

一般反向传播的示意,就如上图,从左往右,有一个多层的传递和不同的权重,其中包含隐藏层。从x产生输出y,w是权重,公式是误差反向传播的计算方法。

在深度学习中,替代反向传播几乎不太可能,它有效且灵活,什么形状的神经网络都可以训练,相当于万能引擎。

从数学上看,反向传播是一种局部搜索的优化方法。它利用微分计算出输出和标签之间的损失,然后计算出相对每个神经元的梯度,根据梯度方向更新权值。相当于在反向传播中,根据误差调整各种参数,不断迭代这个过程,直至收敛。所以,在深度神经网络中,它表现为梯度下降。

有趣的是,反向传播在数学上并不复杂,以至于有评论说:

反向传播是否在数学上过分简单了(里面只有最简单的求导和链式法则),不足以支持机器学习的突破性进展?

Would backdrop be too simple in math (which is derivative & chain rule) to support groundbreaking breakthroughs of machine learning?

2,反向传播发明历史

提及反向传播算法时,通常我们将它与Geoffrey Hinton的名字联系在一起。不过,Hinton还真不是第一个发明反向传播算法的,一般认为是Paul Werbos。

Werbos在1974年的博士论文中首次提到反馈网路,并将它运用到神经网络中。那时候的模型长成这个样子。

(Werbos 1988 in Backpropagation)

1982年,Werbos已经开始应用链式求导和动态反馈。

(Werbos 1982)

到了1990年,就更清晰了。

(Werbos1990,Backpropagation Through Time)

Rumelhart、Hinton、Williams在1986年发表的论文是现在引用最多的反向传播论文之一。

(Rumelhart, Hinton, Williams 1986)

在2000年左右,神经网络在整个人工智能领域失去了青睐,当时流行的是SVM。

在2006年、2009年Hinton的学生在语音识别和图像识别领域取得了进展之后,神经网络才回归,反向传播作为其核心的算法才再次回归大众视野。

一般我们把反向传播的发明归于Werbos,把反向传播在神经网络中的广泛应用归于Hinton。进一步梳理概念的话,Werbos发明反向传播主要受到50年代控制论的概念所影响,如反馈回路。梯度计算的概念则由芬兰Seppo Linnainmaa于1974年引入,并于1982年由Parker重新发现(Parker在MIT发布了一份报告,这个报告很重要,它引起了很多研究人员的注意,并开始利用更快速的硬件并发布结果),LeCun在同一日期的有一篇未发表的论文,Hinton和Rumelhart在1986年论文中明确提及是受LeCun论文影响。梯度下降是Cauchy在1847年发明的一系列优化方法。链规则则是数学家Leibniz在1676年发明的。

Michael Nielsen说起反向传播的发明时,有一句重要的话:

跟着一个算法跑一遍,或者能够理解证明算法可以运行,这是一回事。这并不意味着对这个问题理解到这么好,以至于一开始就能轻易的发现这个算法。It's one thing to follow the steps in an algorithm, or even to follow the proof that the algorithm works. But that doesn't mean you understand the problem so well that you could have discovered the algorithm in the first place. by Michael Nielsen

Bengio说得更有趣一些:

有些显而易见的想法在事后才变得明显。反向传播不仅仅是关于链式规则的,而是关于放弃神经元作为0和1二进制输出元件的。So it was not just about using the chain rule, but about accepting to let go of the established binary-output neurons. by Y. Bengio

3,关于反向传播发明的八卦

Werbos在2016NIPS演讲时,讲了一点反向传播发明的八卦。

当Werbos还在学校的时候,那时候,做神经网络,大家都认为是神经病crackpot,是异教徒heretic。Marvin Minsky写了一本书,叫做Perceptrons,被当作是人工智能的圣经。里面明确说了,神经网络是死路,没有人能够训练它解决一个基本的异或XOR问题。后来有人总结当时神经网络的两个障碍。一是因为它局部无法有效的求导,二是因为当时人们都相信大脑类似于电脑一样,神经元类似于数码元件,输出是0和1。

1971年,我去找Marvin Minsky,说我有一个方法,可以解决神经网络的这些问题,我写成了论文。Minsky说我不想做描述这个新方法的论文的共同作者。Minsky本可以分享反向传播的荣誉,但他说,我不想做这个,它会把我从殿堂上赶出来,我会失去MIT的地位。我不能冒这么大的风险,因为每个人都认为神经元是输出0/1的,很多人现在还是这么认为的。by Paul J. Werbos

老爷子如果还在世,听到这么说估计会当场喷一口血。

不过Werbos说他给Minsky看了一些数据,Rosenblatt和Amari的建议,以及关于高阶神经元的实时序列,

每隔大约100毫秒,会周期性的连续发射,它不是二进制的。这是60年代的神经科学的进展,可以参考Bear、Connors的书。确实,计算神经科学和人脑建模领地有太深的宗教信仰,Minsky当时是奠基的大人物,在这方面采用保守策略,确实也无可厚非。

爱因斯坦还是其他什么人说过,如果你提出一个激进的新主意,或者一个新范式,你会经历这样三个阶段。第一个阶段:你是不是疯了;第二个阶段:这个主意并没有提出什么新的东西;第三个阶段:不是你,而是我最先提出的这个主意。我经历了这种事情,直说吧,我此刻就在经历这种事情。反向传播是第一个阶段;彻底的智能自适应系统是第二个阶段:第三个阶段会有一大帮物理学的家伙跑出来追忆说是自己首先提出的反向传播。by Paul J. Werbos

在AD2004,Werbos讲述了1974年论文发表的情况,那时,MIT和哈佛大学的研究者使用着一种非常类似于第一代反向传播的方法,其中计算从时间系数向后进行,但其中任意时刻的导数均是基于经典的前向方法。一些人认为,反向传播实际上不过是这些早期工作的一个微不足道的延伸,并没有什么新的东西。

有趣的是,Werbos早期的工作不是来源于多层感知器MLP(以完成现在称之为监督学习的任务),或者是Perceptrons的答案,而是来源于强化学习,“强化”是定义类似于生物所面对的环境、世界等一系列的奖励函数。

(Werbos 动态程序等式,Bellman方程的一种形式)

(Werbos1988的是对这个模型的细化,其实我觉得这个模型很像波普尔基因的p->s->a模型)

Werbos使用了模仿弗洛伊德信用分配向后流动的概念,从神经元到神经元向后流动,解释了普通链式计算规则,以及如何以局部方式在大脑等计算硬件的分布式系统中实现反向计算(Hinton也说过反向传播是分布式表示parallel representation)。

哈佛大学对此提案做出如下回应,首先,不会允许神经网络成为论文的主要部分,因为他们发现,没有任何人愿意担任该部分的导师。Werbos只在论文第五章简单说明了人工神经网络的基本想法,但没有多说。其次,对于博士论文来说,逆向微分(反向传播)本身就足够重要了,应该把强化学习概念推迟到博士论文以后再说 。第三,他们对逆向微分本身就有一些怀疑,并且他们想要一个证明:在一般条件下,对于逆向微分的有效性,能有一个非常坚实、清晰、严格的证明。第四,他们同意,如果我能证明,那么反向方法的使用,可以进而让我们能够操作更复杂的时间序列预测方法, 而这又将进一步导致Karl Deutsch的民族主义和社会传播模型的首次成功实施。还有宏观经济建模、核武原料控制追踪、政治预测、导弹制导等等。

所有这些都发生了。by Paul J. Werbos

4,分配荣耀

三巨头Hinton、LeCun、Bengio 2015年5月在自然杂志上发表深度学习综述文章,引发了另一位巨头Schmidhuber的回应,指责三巨头文章没有足够尊重前人成果,没有提及深度学习之父Alexey Grigorevich Ivakhnenko第一代深度学习算法,没有一些反向传播的成果,也没有引用Schmidhuber本人在RNN的一些成果。

Schmidhuber列出这些反向传播的成果,包含Bryson 1961; Kelley 1960; Bryson and Ho 1969,以及Dreyfus 1962年链规则的推导,Linnainmaa 1970年的现代高效版本,Dreyfus 1973年的梯度改善,Speelpenning 1980的自动微分,Werbos 1974年的论文以及1982年的首次在神经网络的应用。

这引发了LeCun关于分配荣耀的回应。

LeCun说的是,是的,很多人在1986年前,就使用了链式法则,也有很多人曾经指出在多步方程以相反的顺序连乘。但他们都发现了反向传播吗?不!他们没有注意到这可以被用于机器学习,也没能实现它。好几代人,都在寻找使用反向的信号去训练一个多层系统,但是,这到80年代中期才真正发生。

LeCun在一次演讲中提到,Hinton告诉他通过梯度下降传播误差的方法,源自1960年的控制论。当时叫做Joint method,NASA用来计算火箭轨迹、控制火箭运动之类的事情。反向传播很长时间不是用来机器学习的,而是用来做控制用的。

然后Hinton还告诉他,80年代Rumelhart想到用反向传播的主意,用lisp之类的语言在电脑里面实施以后,发现不起作用。于是他告诉Hinton,Hinton说,它肯定困在局部最小值里了(实际上可能是Rumelhart的程序有bug)。然后Hinton和Sejnowski一起在CMU搞玻尔兹曼机,然后大家都知道了Hinton用Dropout逃离了局部最小值,就再次实现了反向传播,Hinton就跑回去跟Rumelhart说,他的程序里应该有bug。

所以,LeCun总结说,我们应该如何分配荣耀?

我们如何分配荣耀?我来做个类比,在19世纪末20年代初,很多人试图造出来飞机和直升机。许多人有正确的想法,甚至早在1890年,就有一家飞机拥有了起飞的力量,是Clément Ader的‎Éole。在1903年之前,不少飞机已经飞得有模有样了。但是莱特兄弟获得了大部分的荣誉,因为是他们,第一个造出了一架完全可控的飞机。直升机也一样,在30、40年代,Sikorski成功改进循环控制和尾桨之前,这一想法并不实用。谁应该得到发明直升机的荣誉?达芬奇?

Hinton因为他的工作获得了很大的荣誉,他们值得这些荣誉。他们使用了我的很多主意,并添加了一些其它主意,但是你看看,我也没有抱怨啊。这就是科技进步的方式。

一一LeCun

(Hinton阴影下的LeCun)

LeCun确实是三巨头最没有代表性标签的,Bengio还有语言和meme呢。

5,反向传播在生物学上不成立的争论

Hinton的深度学习方法在人工智能中被归入连接主义,借鉴大脑的神经元网络,所以,Hinton称他的主要研究计划是理解人脑如何计算。Dennett也称他为认知科学领域最杰出的科学家之一。

(Hinton:我的主要研究计划是理解人脑如何计算)

但模拟神经网络和深度学习,使用的核心算法反向传播,却在生物学上不成立。也就是说,Hinton理解人脑的成果,模拟人脑建立的人工神经网络,采用的却是跟大脑完全不同的工作方式。

反向传播在生物学上不成立。backprop is not biologically-plausible,最早是DG Stork在1989年,这其实也是2000年左右神经网络被放弃的原因。从2006年以来,几乎所有的人工智能领域的重大成果,都于深度学习有关。这些成果,又引发了重提反向传播在生物学不成立的问题。

很多人都在努力寻找大脑在做反向传播的证据,不过并没有找到。于是,大家开始提出在大脑神经元中有机制可以做反向传播。

Hinton在2014年提出了一种机制(在2015年由Yoshua Bengio补充),在STDP中,逆矩阵乘法作为自动编码器的一部分被先验固定下来,Whittington也有过修正,不过这很难说服神经科学家。

Carlos E. Perez在2016年提出,Microglia可能是更好的一个解释。大脑和人工神经网络存在共性,它们都是动力系统。ANN研究人员观察到,如果我们为输入信号分配权重,将信号与权重相乘并对结果求和,那么我们就有了一个可以执行的很好模式分类的神经网络。权重的发现是通过所谓的“训练”来完成的,这是通过稍微调整所有权重以减少模式分类中观察到的误差来完成的。当观察到的错误稳定到一直可接受的错误时,就可以实现学习。

这种机制,实际上有多种可能性。首先是梯度下降,通常,反向传播不一定要求通过严格应用分析梯度计算来实现。重要的是,有一些适当的权重变化更新和传播更新的相应结构的近似值。Bengio认为可能存在于STDP中,但神经元否能够自己学习而不需要跨越多层的外部反馈途径是值得怀疑的。

而Microglia独立于大脑神经元结构,它负责调节神经元及其连通性。Perez认为它可能参与了优化信息处理,学习和记忆以及认知。但这仍然只是猜测而已。

6,Hinton的Capsule

Hinton在2017年NIPS正式提出了一种新的理论体系,Capsule,用来替代反向传播,进一步解决动态视觉、3D、无监督学习等其它深度学习的问题。

Capsule受大脑皮层中是一组神经元组成柱状结构启发,Cortical minicolumn,在大部分哺乳类,特别是灵长类中普遍存在。其内部有数百个神经元,内部存在分层。Capsule是Hinton用来跟这个柱状结构对应的结构体,在神经网络中,是一种子网结构。

大脑在认知上,有一些先在的知识,比如,正向看脸,容易辨认,而倒过来,辨认就差很多。比如

就不容易看出她的表情是什么。又比如错觉,

(错觉,奇怪的反转,丹尼特)

都是人脑中的先在的知识在影响视觉的识别。Hinton认为,这种知识对应着一些框架,比如坐标框架,是可以被训练出来,且作为专门的结构,Capsule,在识别中起作用。一种建议的Capsule识别方法,是经过一个动态路由选择的过程,输出是Capsule的活动向量(即特定类型实体的实例化参数),向量的长度表示实体存在的概率。同一级别活跃的Capsule,通过位置和类型对更高级别的Capsule进行预测。

Capsule假说:在图像的每一个位置,一个Capsule最多只表示实体类型的一个实例。这个假说受Pelli et al 2004命名为“拥挤”crowding的知觉现象的启发,能消除绑定问题。识别分解为多层Capsule(不同类型的实体或其部分)存在概率的计算。输出不取决于输入图像,而取决于两个Capsule的位置和类型。

*本节参考USTC SIY.Z

7,宇宙在做反向传播

与Hinton不一样的是,Werbos仍然坚持人脑在做反向传播。他不止一次强调这点,而且说,他发明反向传播,是因为模拟Hebb法则(STDP相当于Hebb法则的增强版)不work,他就模仿了弗洛伊德。

我使用直觉、实例和普通的链式法则的结合,对反向计算(反向传播)进行了解释,然而它几乎完全就是将弗洛伊德以前在心理动力学理论中提出的东西转换到数学中去了! by Paul J. Werbos

NIPS2016上,Werbos提供了一些新的数据。新的证据显示,人脑是一种人工神经网络artificial neural network,证据来源于一种被称为系统神经网络的研究。但Werbos是从智能系统的角度说的,他认为反向传播是智能系统的通用机制。

(Werbos: All known minds are complex systems, like life)

实际上,这跟将反向传播与自我改进的学习机联系起来是相似的。

(Schmidhuber: learning to learn)

反向传播是一种控制系统的通用机制,某种程度上,所有复杂系统都暗含了一种控制系统,或者说,所有复杂系统都可以从控制角度解读。

Werbos其实学的是应用数学,研究的兴趣上,他首先是一个物理学家,偶然才发现了反向传播,据说,他有一次到中国访问,这里的一些朋友跟他探讨了一种儒家的学说,正气,启发他发明了反向传播。在Werbos的英文表述中,正气有时候被称为zhengqi,有时候被称为zhenqi,可见,他的朋友是出生在中国南方。Werbos读了一个叫做FuLan Yu的书,又从他的中国台湾朋友那里了解到,儒家思想的真正基础是“诚信”,而不是中医所谓身体中运行的某种水质或炎质,而是更高层次的精神,类似于感召charisma、恩典grace、曼纳mana等等。

正气,是正的气,正的意思是正确的通道或方向correct channeling or direction,就是,使之成为现实make it real。气,做的就是反向传播。(原话是Qi is basically just backpropagation)。它是关于人的精神和潜能的事情。

(Werbos:反向传播是发明出来做民族主义、社会传播、核原料监测、政治预测的)

有50%的可能性,Werbos认可爱因斯坦的物理模型,宇宙中唯一真正存在的是一系列流动的力场,所有这些通量由一个单一的拉格朗日方程式控制。有50%的可能性,人是一种共生的生命体,pi,而灵魂(精神)可以解释如下,它是一个模块,存在于一种noosphere的矩阵中。noosphere是pi的神经系统或大脑,本质上是一个大的神经网络,它也有一种通用的有序导数的链规则,有时称为“反向传播”。

然而,与大脑和人工智能系统一样,我们希望存在“垃圾收集”例程。耶稣、穆罕默德、佛陀、摩西、毕达哥拉斯、柏拉图、孔子、三藏、埃拉朗、鲁米、牛顿、爱因斯坦、杰斐逊、毛泽东都是非常有用的模块,当然,是在人的心灵中。

在我们的个体的实际生活中,存在三个层次,第一层是世俗理智Mundane sanity,相当于我们的智力,第二层是神圣婚姻Alchemical Marriage(炼金术婚姻,受荣格的影响),实际上是感受到noosphere,从中接受和反馈信息。而正气zhengqi,也被他称为sanity,不过要厉害那么一点点,用他的原话说,就是“自我向自我的真理叙述”a telling of truth by the self to the self。qi,流动的力场,它的拉格朗日就是反向传播。

不仅仅是大脑,宇宙都在做反向传播。by Paul J. Werbos

8,结语

最后,用Hinton的话作为结语:

如果你的直觉很好,你就应该遵循它们,最终你会成功;如果你的直觉不好,那你做什么并不重要。你应该也相信你的直觉,没有任何一点理由不去相信它们。

If your intuitions are good, you should follow them and you will eventually be successful; if your intuitions are not good, it doesn't matter what you do. You might as well trust your intuitions there's no point not trusting them. 一一Hinton

按照Werbos,直觉之外,还得有着一点什么别的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180812G1D0XR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券