Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-statistics domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/wwwroot/robotattractor/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the jetpack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/wwwroot/robotattractor/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the updraftplus domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/wwwroot/robotattractor/wp-includes/functions.php on line 6114
Hopfield和他的神经网络 – 机器人家园

 目的

  Hopfield神经网络是个老古董了,它把生物的联想记忆用物理意义非常直观的方式表示出来,从物理学的角度对记忆和学习给出了有意思的解释,其背后蕴藏的思想深远,称得上是经典或者说里程碑。经典不会过时,所以我一直在研究,本文是个人理解,带有偏见,读者不要盲从。

1 Hopfield其人

  John Joseph Hopfield比Geoffrey Hinton还要大十几岁,别看他后期主要研究神经网络,Hopfield其实应该算个物理学家,他的博士研究方向是固体物理(凝聚态物理的分支),他爸妈也都是搞物理的,这就解释了为什么Hopfield神经网络模型跟统计物理中的Ising铁磁相变模型那么相似。Geoffrey Hinton搞了一辈子神经网络,却没有一种网络叫Hinton网络。Hopfield一个搞物理的,反倒创造了用自己名字命名的Hopfield网络,真是造化弄人。看来学科交叉很重要,信息交流很有价值。从论文发表情况看,老爷子很高产,在发表Hopfield神经网络论文时已经50岁了,之前一直搞物理和化学,不知道为什么后来对生物和人工智能感兴趣,研究方向突然转向神经网络了。Hinton发表反向传播算法论文的时候也40岁了,大器晚成,想必他们都是经过了很长时间的思考凝练,跟现在论文大跃进的年代不同。在一次采访时,Hopfield说对人脑如何产生意识和智能很着迷,他开始从记忆入手,试图利用物理学的知识解答如何由部分不完整的输入信息得到完整的记忆。


John Joseph Hopfield

2 Hopfield神经网络

2.1 Hopfield网络的特点

  任何一种神经网络都可以从两个方面来分析它,一个是全局的,即神经元之间是如何连接的,或者说网络的结构是什么样的;一个是局部的,即单个神经元是什么样的,它有什么输入输出特性。Hopfield网络也不例外,它具有以下特点:
  1 全局特点:最原始的Hopfield神经网络是个全连接网络,即网络中任意两个神经元之间都有连接,在数学上这叫完全图(complete graph),如下图左所示的8个神经元的例子。你可以认为Hopfield网络里的神经元都是社交高手,跟谁都是朋友。连接的权重根据Hebb法则设计。
  实际大脑中的神经网络是局部连接的网络而不是全连接网络,否则连接数量会爆炸式增长,现在的神经网络一般也不采用这种全连接网络了,因为参数多不好训练,很多连接都被删掉了,变成了一层一层的形状。
  2 局部特点:最原始的Hopfield神经网络中的神经元非常简单,与比它更古老的感知机一样:神经元对输入线性加权求和之后通过激活函数得到输出,采用的激活函数就是阈值函数,如下图右所示。输出被限制为离散的两个值:不是0就是1,这可能也是为了与Ising模型做类比,最简单的Ising模型中spin的状态也是只有两种:不是向上就是向下。后来Hopfield把采用的神经元推广到连续变化的类型,现在的深度学习模型也不再用这种过于简单的离散激活函数,一般用ReLU或者Tanh等连续函数。

2.2 与统计物理的关系

  Hopfield网络是最早被提出具有稳定性的反馈网络之一,对后来的工作有很大的影响,例如Hinton就受此启发提出了玻尔兹曼机(听这名字就知道也是跟物理学有关系)。如果不说是神经网络,Hopfield模型可以看成一个统计物理模型,描述粒子系统的相变。为什么人工智能要和统计物理扯上关系呢?说说笔者的个人看法,其实人工智能是一个尴尬的研究领域,它最早几乎就是东拼西凑形成的,说的不好听就是抄的,现在差不多也是。不管反向传播算法还是神经网络模型、不管是强化学习还是监督式学习,如果深入分析就会发现,其底层完全是各种数学优化理论、生物学原理、最优控制理论等学科的知识。反向传播算法是最优控制理论最早提出的,Hebb法则和McCulloch-Pitts神经元模型是从生物学中分析简化得到的,神经网络模型是从统计物理学中拿过来的,强化学习中的状态、值函数等概念更是原封不动从最优控制理论中的动态规划分支照搬过的。就连最近的热门方向——深度强化学习,其中的“经验回放”技术也是从老鼠的位置细胞离线激活现象借鉴过来的$^{[1]}$。除此以外,人工智能还抄袭了信息论、概率论等很多学科,简直是个杂交生物,难怪人工智能学科中经常见到物理学概念的身影。
  在了解这些背景的前提下,再看Hopfield网络与物理学的关系就不奇怪了。具体来说,神经网络就是一个大量简单神经元相互作用的系统,而统计物理的研究对象也是大量简单粒子相互作用的系统,二者天然具有一定的相似性,一个领域的研究成果(比如相变、混沌)可以借鉴到另一个领域。除了统计物理以外,想想看早期也没有哪个学科研究这种复杂系统了,纯数学应该不会研究,可能只会研究万有引力下的三体或者多体运动,纯控制理论也不太会研究,因为那个时候人们连低维的非线性动力系统的行为还没搞清楚,更别说神经网络这种超高维的动力系统。

  Hopfield神经网络模型与Ising铁磁相变模型有什么区别:
  1 Ising模型只考虑近程相互作用,每个spin只与附近一定距离内几个邻居有关联,而Hopfield神经网络是远程相互作用,每个神经元跟所有神经元都有关联,不管距离多么远。
  2 Ising模型中spin之间的权重(描述相互影响的大小)是恒定不变的,Hopfield网络中的权重是根据输入值并按照Hebb法则确定的。
  3 Ising模型中spin的取值是按照统计物理中的规则进行的,Hopfield网络中就是简单的神经元计算方法。

Ising模型 Hopfield模型
连接方式 最近邻(二维网格时上下左右共4个) 全连接(所有神经元之间都有连接)
节点取值 $±1$ $±1$
连接权重 $±J、±J'$(常数$J、J'>0$) $1$

2.3 与前馈神经网络的区别

  Hopfield神经网络是个全连接网络,没有像前馈网络中前后层的概念,每个神经元既可以看成输入也可以看成输出。所以Hopfield神经网络也可以看成反馈神经网络,即输出又会反馈回输入,从而形成一个信号环路,这与前馈神经网络(比如卷积神经网络)不同,这也是Hopfield神经网络最大的价值,此前人们研究比较多的是前馈网络,对反馈网络了解不多,Hopfield网络是个突破。它们最主要区别就是:反馈神经网络是动态系统(随时间变化),而前馈神经网络是静态系统(输出只取决于输入,跟时间没关系)。反馈神经网络是一个动力系统,人们提到动力系统首先关心的就是它的稳定性,因为一个不稳定的网络除了崩溃也没什么用,所以反馈神经网络的稳定性是经常被研究的课题。反之,前馈神经网络就是一个大函数,从输入到输出很直接,不存在稳定性的问题,所以不需要研究前馈神经网络的稳定性。Hopfield神经网络如此有名就是因为Hopfield给出了稳定性的证明,系统演化总是向着稳定点前进直到到达稳定点后不再变化。
  笔者认为Hopfield最大的创新就是利用Lyapunov方法证明了按照Hebb法则设计权重的神经网络的稳定性,在这以前人们不知道怎么分析反馈神经网络的稳定性,Hopfield开了个头,后人才能蜂拥而上。我猜Hopfield本人可能也没有意识到自己的工作能引起这么大的反响,Hopfield后来也在继续研究神经网络(老爷子80多了),但是好像没有能超越Hopfield网络的工作了。

3 神经网络的几个例子

  最简单的反馈神经网络就是一个神经元组成的网络,自己的输出又反馈到自己的输入,它没太大意思,我不讨论它。稍微复杂一点的是两个神经元组成的网络,有一种常见的由两个神经元组成的生物网络叫CPG(Central Pattern Generator),因为它可以输出周期性的节律信号,所以很有意思。

4 关于人脑的观点

  Hopfield关于人脑的观点是,人脑就是一个动力系统,具体点说是由巨量神经元组成的网络型动力系统,一部分神经元的活动引起另一部分神经元的活动,这个方面大家都没什么意见。如果将这些神经元看成这整个动力系统的坐标,可以将人脑的思维理解成动力系统随时间的演化过程。动力系统中存在着很多吸引子,而记忆、决策都可以看成是动力系统中的状态在吸引子作用下的运动。
  Hopfield为什么认为人脑是动力系统?笔者也持这种观点,首先动力系统自身的状态和运动极其丰富,足以蕴含像决策、记忆等复杂操作。下面我们仿真几个很简单的动力系统,看看它们都蕴藏着哪些丰富多彩的行为。

参考资料

[1]  AI and Neuroscience: A virtuous circle, deepmind.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注