【统计】ISING模型(4)

【统计】ISING模型(4)

Ising模型目前应用非常广泛。本小节主要从社会科学和神经科学这两个方面介绍它的应用。

投票模型

在社会科学应用方面,我们主要介绍一个叫做投票(Voter)的模型。假设有一个村落,每家每户都规则地排列在一个网格上。每个人都有自己的政治观点,假设第i个村民的政治观点是

,其中

可以在有限状态集合V中取值。我们用不同的颜色来表示不同人的政治观点,如下图所示:

这张图展示了模型的一个瞬间的状态,其中每个村民都有6种不同的政治观点,它们被表达为6种不同的颜色。

Voter模型的演化规则如下:每一个时刻,有n个村民会改变自己的政治观点,他们会随机地从自己周围的八个邻居中选择一个邻居,拷贝他的政治观点(被他的邻居说服了)。n越大,就会有越多的村民改变自己的观点,系统变化会很快,而n越小,则系统演化就会越慢。

随着模型的演化,相同观点的人们开始形成团簇,如图所示:

如果模型继续演化,则6种观点中的5个将会消失,只剩下一种观点,但具体是哪一个我们无法预测。但我们可以确定系统必然收敛到一种确定的政治观点,这是因为该模型等价于一个带吸收壁的,系统将最终收敛。

然而,如果我们稍作变化,只要每个村民在每个周期都会有一个小概率v发生政治观点的随机变化(并不拷贝邻居的颜色)。那么这个系统就将持续演化下去,不会停留在固定的状态上。不难看出,在这种改进的模型中,Voter模型与Ising模型很相似。

其中,村民拷贝邻居的观点相当于Ising模型中,小磁针朝能量减小的方向演化。而每个村民按小概率v发生观点随机变化就相当于环境噪声的影响。如果适当地选择v参数的大小,Voter模型将会达到和ISING模型类似的效果,即存在着临界的概率

,使得系统处于临界状态。与ISING模型不同的是每个村民的状态取值可以更多。对比Voter模型和Ising模型不难发现,Voter模型中并不存在能量,但是给出了每个微观个体状态转变的具体规则,而在Ising模型中,单个小磁针的状态改变没有具体的规则,但是系统整体定义了总能量,于是只有那些可以使得总能量变小的微观个体转变才更容易被接受。当运行起来以后,Voter模型与Ising具有相似的行为,这意味着这两种状态更新方式存在着一定的等价性。我们看到,Voter模型中每个村民拷贝某个邻居的观点相当于使得这两个格点的状态乘积尽量等于1(当有+1,-1两个状态的时候),也相当于降低系统整体的能量。反过来,要想降低Ising模型中的总能量,一种明智的方法就是使得两个相邻格点的小磁针状态一致。由此可见,这两种模型存在着天然的对应。也意味着,我们可以定义Voter模型的能量函数,也可以为Ising模型指定微观演化的规则。

与此类似的社会学模型还有很多,例如著名经济学诺贝尔奖得主Thomas C. Schelling的也是一个类似的温度T=0的Ising模型。种族隔离模型假设一个街区中随机分布着两种肤色的人,例如黑人和白人。假如一个黑人周围的白人过多,则黑人会搬家(移动到周边的方格),否则如果白人周围是黑人,他也会搬家。这样经过足够长时间的演化,系统将形成不同的肤色的区块。这个模型与ISING模型有很多异趣同工的地方。

Hopfield神经网络模型

Ising模型的一个显著的性质就是,随着系统的演化,它的能量会自发地降低。

我们前面已经提到这种让整体降低能量的方法实际上与拷贝邻居状态的微观原则一致。于是,我们可以设计一种微观的演化机制,而使得宏观的某种待优化的函数(例如能量)能够自然地被优化。这就是模型的起源。

是一个著名的模型,通过对网络进行训练,可以让它记住相应的模式,并在适当的条件下联想回忆提取出相关的模式。也就说,Hopfield模型通过训练(改变相互连接的权重),可以将要记忆的模式映射为能量最小的状态,之后通过Ising模型的邻域相互作用规则自发演化到这种最小能量状态。Hopfield的构造如下,一个加权的网络,如下图,每个节点都是一个神经元,加权的连边表示神经元之间的突触连接。

假设每个神经元有两种状态:激活、未激活,分别用

来表示。神经元i到j的连接权重用

来表示。

在初始时刻,我们把输入向量映射为每个神经元的激活、未激活状态。然后,Hopfield网络的运行规则如下,在每一个仿真周期,每个神经元根据下述规则更新状态:

这里

为阈值常数。根据这条规则,如果与神经元i相邻的所有神经元都激活,并且它们的连接权重为正的话,那么该神经元就有可能被激活。这就相当于最小化一个全局的能量函数,能量函数定义为:

那么,Hopfield网络按照上述规则运行就会使得总能量尽量降低。相比较Ising模型,我们看到,Hopfield的能量函数与Ising模型非常相似,所不同的是相互作用强度因连接而异(

),同时外场

也会因神经元不同而不同。因此,可以说Hopfield网络就是一个变种的Ising模型。

另外,要想让Hopfield网络完成联想记忆,还需要给该网络进行训练。所谓的网络训练,就是要通过一定的规则来改变神经元之间的连接权重

。假设我们希望Hopfield网络能够记住一组特定的向量(例如

)其中m为待学习的向量的个数,每一个向量可以写为:

其中向量的长度为n。我们按照如下的规则来调解权重:

表示要学习的第

个向量的第i个分量的值。

按照这种方式对整个网络进行训练之后,我们就得到了一组权重

。之后,我们就用这组权重作为Hopfield网络中的连接权重,然后针对任意一个输入数据作为神经元的初始状态,按照Hopfield的运行规则演化,系统将逐渐收敛到已记忆过的向量

中的一个。

总结来看,Hopfield网络的运行分为两个阶段,它们的输入数粗示意图如下所示:

例如,下图就是Hopfield网络运行的结果。

其中右侧人脸就是训练的数据,左侧的人连为初始向量输入给网络,经过一段时间的演化最终收敛到训练数据。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif
我要收藏
赞一个
踩一下
分享到

分享
评论
首页