HopfieldNetsandBoltzmannMachine数媒学院-许鹏深度学习概况(Deeplearning)神经元模型(Neuronmodel)感知机(Perceptron)感知机训练(Perceptrontraining)多层感知机(Multi-LayerPerceptrons)前馈神经网络(Feedforwardneuralnetworks)模型(Model)损失函数(Strategy-costfunction)输出单元(Strategy-outputunits)隐藏单元(Strategy-hiddenunits)神经网络结构(Architecture)反向传播算法(Backpropagationalgorithm)随即梯度下降(Stochasticgradientdescent)OutlineISINGModel伊辛模型:Ising模型的提出是为了磁铁物质的相变建模,即磁铁加热到一定温度以后磁性消失,而降温到临界温度以下后磁性又会表现出来,这种有无磁性之间的转变叫做连续相变。Ising模型假设磁铁物质由一堆规则排列的小磁针组成,每个磁针只有上下两个方向,相邻的小磁针之间通过能量约束发生相互作用,同时又由于环境热噪声的干扰而发生随即转变(由上变为下或者反之),涨落的大小由关键的温度参数决定,温度越高,随机涨落干扰越强,小磁针越容易发生无序而剧烈的状态转变,从而可能会让上下两个方向的磁性抵消整个系统消失的磁性;若温度越低,则小磁针相对不易受外界干扰,系统处于能力约束较高的状态,由于相互影响强于外界影响,所以大量小磁针方向一直,表现出磁性。模型应用:由于Ising模型的高度抽象,在社会科学中人们将其用于股票分析,种族隔离,政治选举等的动态演化系统中。如果将小磁针比喻成神经元细胞,向下为抑制,向上激活,相互作用为神经元之间的信号传导,那么Ising模型的变种可以用来建立神经网络系统,从而搭建可适应环境,不断学习的机器,例如Hopfield网络和Boltzmann机。ISINGModel伊辛模型表述如下:每个结点是一个小磁针,有向上和向下两种状态,即Si=+1或者Si=-1,相邻的小磁针可以发生相互作用。我们可以为整个模型定义一个总能量,总能量由两部分组成,一部分是所以小磁针内部能量,即如果小磁针方向一致,那么总能量减1,否则加1;另一部分是外部能力,即外界也有磁场,如果小磁针和外界磁场方向相同则总能量加1,否则减1.𝐸𝑠𝑖=−𝐽𝑠𝑖𝑠𝑗𝑖,𝑗−𝐻𝑠𝑖𝑖𝐸𝑠𝑖表示系统处于状态组合𝑠𝑖下的总能量,我们假设系统有3个小磁针,则一共有8种状态组合。𝐸+1,+1,+1=−3𝐽−3𝐻𝐸+1,−1,+1=𝐽−𝐻𝐸+1,+1,−1=𝐽−𝐻𝐸−1,+1,+1=𝐽−𝐻𝐸−1,−1,+1=𝐽+𝐻𝐸−1,+1,−1=𝐽+𝐻𝐸+1,−1,−1=𝐽+𝐻𝐸−1,−1,−1=−3𝐽+3𝐻ISINGModel我们已经定义了伊辛模型的总能量,但是这是一个动态系统,总能量是在变化的,系统的演化并不完全由当前时刻的总能量决定,由于小磁针处于噪声中,热涨落会引起小磁针的随机反转,我们可以用温度来衡量这种环境影响的随机性。有两种力量左右着小磁针的方向,一种是来自邻居以及外磁场,使得总能量最小,因为小磁针之间方向是趋同的,小磁针与外磁场也是趋同的;另一种来自环境扰动,迫使小磁针无视邻居和外磁场的影响随机变化。𝐸𝑠𝑖=−𝐽𝑠𝑖𝑠𝑗𝑖,𝑗−𝐻𝑠𝑖𝑖蒙特卡罗模拟:在每一个仿真周期,根据当前状态组合𝑠𝑖(𝑡进行小的随机变化,得到𝑠𝑖′𝑠𝑖(𝑡+1=𝑠𝑖}𝑝=𝜇𝑠𝑖(𝑡}𝑝=1−𝜇𝜇=min(𝑒𝐸(𝑠𝑖(𝑡}−𝐸(𝑠𝑖′}(𝐾𝑇,1𝑖𝑓𝐸𝑠𝑖′𝐸𝑠𝑖𝑡𝑢1𝑖𝑓𝐸𝑠𝑖′𝐸𝑠𝑖𝑡𝑢=1ISINGModel𝑠𝑖(𝑡+1=𝑠𝑖′}𝑝=𝜇𝑠𝑖(𝑡}𝑝=1−𝜇𝜇=min(𝑒𝐸(𝑠𝑖(𝑡}−𝐸(𝑠𝑖′}(𝐾𝑇,1𝑖𝑓𝐸𝑠𝑖′𝐸𝑠𝑖𝑡𝑢1𝑖𝑓𝐸𝑠𝑖′𝐸𝑠𝑖𝑡𝑢=1由上述方式进行动态系统的演化,系统就会更倾向于向能力减少的状态组合方向演化,但也会以一定的概率演化到能量大的状态组合,T越大,这个概率越大。如下图,若T很大,则当能量变大的时候,𝜇是小于1的,但是T越大,这个概率越大,即温度越高,系统越不稳定。以这样的方式发生演化,最终达到概率分布状态波尔兹曼分布,其中𝑍在统计物理中称为配分函数,它是关于温度和外场的函数,决定了系统的各种热力学性质。它更一般的意义在于使得概率归一化。𝑝(𝑠𝑖}=1𝑍𝑒−𝐸(𝑠𝑖}(𝐾𝑇𝑍=𝑒−𝐸(𝑠𝑖}(𝐾𝑇𝑠𝑖在玻尔兹曼分布中,每个状态组合出现的概率与该状态组合下总能量的负值呈指数关系。即能量越小,出现的概率越大,反之,出现的概率会随着能量的增加而快速衰减。这里出现的概率是指:如果针对同样的参数和初始条件的Ising模型多次试验,演化很长一段时间后,观察模型的状态组合,则某一状态组合在若干次实验中出现的频率会接近玻尔兹曼分布。HopfieldNetwork—EnergyModelHopfield网络是一种循环神经网络(recurrent),从输出到输入有反馈连接,因此在输入的不断激励下,网络的状态会不断的发生变化,这个反馈一直进行下去。若是一个能收敛的稳定网络,则反馈后网络所产生的变化会越来越小,一直达到稳定状态,则会输出稳定。最开始的Hopfield网络使用的是二值神经元,即如果神经元的值为1,则表示神经元激活,-1表示抑制,则网络某一特定时间𝑡的状态可以用神经元的状态向量来表示。神经元间的权值表示刺激性连接或抑制性连接。如果把Hopfield网络看作一个动态系统,则可按如下定义:𝑠𝑗:表示神经元𝑗的状态𝑤𝑖𝑗:突触连接的强度,即神经元之间的权值𝜃𝑖:表示神经元𝑖的阈值,也就是神经元的直接输入则每个神经元的总输入为:𝑤𝑖𝑗𝑠𝑗+𝜃𝑖系统的总能量可定义为:𝐸=−𝑤𝑖𝑗𝑠𝑖𝑠𝑗𝑖,𝑗−𝜃𝑖𝑠𝑖𝑖=−𝑠𝑖𝑖(𝑤𝑖𝑗𝑠𝑗+𝜃𝑖𝑗若把Hopfield网络看成是一个动态系统,则它的系统总能量就是下面的式子,这个又叫李雅普诺夫方程。则系统的变化过程就是能量变化的过程,这个过程中能量的趋势是下降的,最后趋于一个稳定的状态。HopfieldNetwork—EnergyModel一般来说,非线性单元的循环神经网络(RecurrentNN)是很难分析的,它们或者收敛到稳定状态;或者震荡;或者混沌。但是JohnHopfield发现如果这个网络的连接是对称的(symmetric),则网络有一个全局能量函数,网络的每一个二值状态向量都有一个能量,并且正确的网络更新规则会使这个能量函数最终收敛到一个最小值。𝐸=−𝑤𝑖𝑗𝑠𝑖𝑠𝑗𝑖,𝑗−𝜃𝑖𝑠𝑖𝑖=−𝑠𝑖𝑖(𝑤𝑖𝑗𝑠𝑗+𝜃𝑖𝑗𝑤𝑖𝑗=𝑤𝑗𝑖𝑤𝑖𝑖=0就和前面的Ising模型一样,我们要给这个Hopfield能量模型也定义一个更新规则,使得最后整个系统能趋于稳定,收敛一个能量的最小值。即这个规则是每次更新能量变小。𝑠𝑖(𝑡+1=1𝑖𝑓𝑤𝑖𝑗𝑠𝑗(𝑡+𝜃𝑖𝑗0−1𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒左边这个更新规则其实就相当于最小化能量函数。因为由总能量函数可知如果一个神经元的总输入大于0,那么这个神经元置为激活1,这时E会变小,而当小于0时,这个神经元的状态也小于0。按照这个规则,整个Hopfield网络的神经元从某个随机的状态开始,以序列化的方式,每次更新一个神经元,则最后网络可以达到一个能量的最小值状态,但是这个最小值可能只是局部最小。HopfieldNetwork—EnergyModel𝑠𝑖(𝑡+1=1𝑖𝑓𝑤𝑖𝑗𝑠𝑗(𝑡+𝜃𝑖𝑗0−1𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒举个例子:11-11-13332-1-1-4State1:E=-7如右图state1是网络的随机开始状态,这个状态下只有一个单元对被激活了,所有总能量为-11。现在我们以序列化方式随机更新其他的单元,随便挑选一个,比如右上角橘黄色的单元,这个单元原来的状态是关闭的-1,这时候观察它的总输入为(-4)*1+3*(-1)+3*(-1)=-4,小于0,所以把它关闭,即还处于状态-1。11-11-13332-1-1-4State2:E=-7我们看state2,计算橘黄色神经元的总输入为3*1+(-1)*(-1)=4,大于0,所以保持开状态1。HopfieldNetwork—EnergyModel𝑠𝑖(𝑡+1=1𝑖𝑓𝑤𝑖𝑗𝑠𝑗(𝑡+𝜃𝑖𝑗0−1𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒举个例子:11-11-13332-1-1-4State3:E=-7然后观察图state3,这时橘黄色的神经元输入为(-1)*1+2*1+3*(-1)+(-1)*1=-3,小于0,所以这个神经元还是保持关闭状态-1。11-11-13332-1-1-4State4:E=-11然后观察图state4,这时橘黄色的神经元输入为(-1)*3+(-1)*(-1)=-2,小于0,所以这个神经元应该装换状态为关闭-1。这时候总能量为-(3+4+3+1-2+3-1)=-11,即总能量变小了。-1HopfieldNetwork—EnergyModel𝑠𝑖(𝑡+1=1𝑖𝑓𝑤𝑖𝑗𝑠𝑗(𝑡+𝜃𝑖𝑗0−1𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒举个例子:11-1-1-13332-1-1-4State5:E=-11然后观察图state5,这时橘黄色的神经元输入为1*3+(-1)*(-4)+(-1)*2=5,大于0,所以这个神经元还是保持开启状态1。更新完5个神经元,此时网络的总能量已经达到一个最小值,但是可能不是全局最小值,只是局部最小值,不过网络已经处于稳定状态,再更新神经元也不会发生变化了。11-1-1-13332-1-1-4State6:E=-11已经被证明,Hopfield网络由于其对称连接,根据更新规则,最后肯定会收敛到一个最小值,达到一个稳定状态。即最终的神经元状态向量(pattern)不再发生变化了。HopfieldNetwork—EnergyModel上面的例子我们是采用的异步方式调整更新的网络的每个结点的状态,即序列化的顺序。但是,我们也可以通过同步的方式来调整更新网络的结点状态,即很多结点一起变化状态。当我们的网络最终达到一个稳定状态时,这个状态被称为稳定点或者吸引子(attractor)。稳定性定理:定理1:Hopfield网络,若按照异步方式调整状态,并且连接矩阵W对称且对角线非负,即有如下𝑤𝑖𝑗=𝑤𝑗𝑖,𝑤𝑖𝑖=0,则对任意初态,网络都最终收敛到一个吸引子。定理2:Hopfield网络,若按照同步方式调整状态,并且连接矩阵W为非负定对称矩阵,则对任意初态,网络都最终收敛到一个吸引子。可见对于同步方式,对连接权矩阵的要求变高了,若不满足要求,则可能出现震荡效果(oscillate)所以实现时,多采用异步方式,但是缺点是失去了神经网络并行处理的优点。利用Hopfield网络的稳定性定理的性质,可以衍生出一个重要的应用,就是联想记忆,即网络能存储若干个预先设定的稳定状态,这个稳定态就是若干个状态向量,即记忆的东西。HopfieldNetwork—AssociativeMemory若Hopfield网络的拓扑结构和权值矩阵都一定,则稳定态与初始状态有关。若将稳定态视为一个记忆样本,那么初态朝稳定态收敛的过程就是寻找记忆样本的过程,网络改变的过程可以看作是由记忆样本部分信息找到全部信息