Sigmod 笔记
1. Ising模型
Ising模型的提出最初是为了解释铁磁物质的相变。即磁铁在加热到一定临界温度上下出现有磁性和无磁性两相的转变。
Ising模型假设:
- 铁磁物质是由一堆规则排列的小磁针构成,每个磁针只有上下两个方向(自旋) s i = { + 1 , − 1 } s_i=\{+1, -1\} si={+1,−1}。
- 相邻的小磁针之间通过能量约束发生相互作用。
如果将小磁针比喻成神经元细胞,向上向下的状态比喻成神经元的**与抑制,小磁针的相互作用比喻成神经元之间的信号传导,那么,Ising模型的变种还可以用来建模神经网络系统,从而搭建可适应环境、不断学习的机器(Hopfield网络或Boltzmann机)。
- 同时又会由于环境热噪声的干扰而发生磁性的随机转变(上变为下或反之)。涨落的大小由关键的温度参数T决定。
- 温度越高,随机涨落干扰越强,小磁针越容易发生无序而剧烈地状态转变,从而让上下两个方向的磁性相互抵消,整个系统消失磁性;(相邻节点影响小)
- 如果温度很低,则小磁针相对宁静,系统处于能量约束高的状态,大量的小磁针方向一致,铁磁系统展现出磁性。(相邻节点影响大)
在村民的比喻中,温度相当于村民进行观点选择的自由程度,温度越高,村民选择观点越随机(变化快),而不受自己周围邻居的影响;否则村民的选择严重依赖于邻居和媒体宣传。
- 还受到外场H的影响。与外场方向一致则能量低,更稳定。
总能量:
用图表示,可以理解为 : 总能量E = - 边的和x耦合常数 - 节点和x外磁场强度)
节点之间:冲突越少,能量越低;
沿用村民的比喻来说,系统的能量相当于村民观点存在的冲突的数量。如果两个相邻的村民意见不一致,总冲突数就+1,否则就减1。而外场建模了观点的媒体宣传效应,如果村民的观点与舆论宣传一致,则能量越低,因此也越和谐。
蒙特卡罗模拟 与 玻尔兹曼分布
程序模拟:当前状态
s
i
(
t
)
s_i(t)
si(t), 和新状态
s
i
′
s'_i
si′。那么下一次状态
s
i
(
t
+
1
)
s_i(t+1)
si(t+1)表示为:
s
i
(
t
+
1
)
=
{
s
i
′
w
i
t
h
概
率
μ
,
s
i
(
t
)
w
i
t
h
概
率
1
−
μ
.
s_i(t+1)=\begin{cases} s'_i \ \ \ with 概率 \mu, \\ s_i(t) \ \ \ with 概率1-\mu. \end{cases}
si(t+1)={si′ with概率μ,si(t) with概率1−μ.
其中, μ = m i n { e x p E ( s i ( t ) ) − E ( s i ′ ) k T , 1 } \mu = min\{exp{\frac{E(s_i(t))-E(s'_i)}{kT}} , 1\} μ=min{expkTE(si(t))−E(si′),1} 即表示状态改变的几率。
- 如果,下个时间的状态能量比当前大,那么不容易改变;下个时间状态能量比当前小,那么容易改变到这个新状态。可以把 μ \mu μ当作受下一个状态影响的外场,系统倾向于低能量(假设4)。
- 并且温度T越大,对(假设4)就越否定, 使得系统越随机。
这里想到模拟退火的方法。高温下,能量改变几率大;温度下降,打破能量最低原则的概率降低,最终收敛
玻尔兹曼分布:
于是,就进行了一步系统演化。按照上述算法,系统可以最终达到如下的概率分布状态:
p
(
{
s
i
}
)
=
1
Z
e
x
p
(
−
E
{
s
i
}
k
T
)
p(\{s_i\}) = \frac{1}{Z}exp(-\frac{E_{\{s_i\}}}{kT}) \\
p({si})=Z1exp(−kTE{si})
其中,配分函数
Z
=
∑
{
s
i
}
e
x
p
(
−
E
{
s
i
}
k
T
)
Z=\sum_{\{s_i\}}exp(-\frac{E_{\{s_i\}}}{kT})
Z=∑{si}exp(−kTE{si}), 归一性
∑
{
s
i
}
p
(
{
s
i
}
)
=
1
\sum_{\{s_i\}}p(\{s_i\})=1
∑{si}p({si})=1, k 为玻尔兹曼常数,等于1.3806488×10^23
可以从数学上证明,上述随机过程的稳态分布就是根据统计力学计算出来的分布结果。以上方法也被称作:Ising模型的**马尔科夫链-蒙特卡罗(MCMC)**模拟方法,也叫做Metropolis-Hastings算法。
Hopfield神经网络模型
Ising模型的一个显著的性质就是:随着系统的演化,它的能量会自发地降低。我们前面已经提到这种让整体降低能量的方法实际上与拷贝邻居状态的微观原则一致。所以,可以设计一种微观的演化机制,而使得宏观的某种待优化的函数(例如能量)能够自然地被优化。
Hopfield模型通过训练(改变相互连接的权重),可以将要记忆的模式映射为能量最小的状态,之后通过Ising模型的邻域相互作用规则自发演化到这种最小能量状态。
假设每个神经元有两种状态:**、未**,用 s i = { + 1 , − 1 } s_i=\{+1, -1\} si={+1,−1} 表示。神经元 i 和 j 的连接用权重 w i j w_{ij} wij表示。
初始:用向量表示每个神经元**和未**的状态。 每个时间步, 每个神经元更新规则如下:
s
i
(
t
+
1
)
=
{
1
i
f
∑
j
w
i
j
s
j
(
t
)
>
θ
i
,
−
1
o
t
h
e
r
w
i
s
e
.
s_i(t+1)=\begin{cases} 1 \ \ \ if \sum_{j}w_{ij}s_j(t)>\theta_i, \\ -1 \ \ \ otherwise. \end{cases}
si(t+1)={1 if∑jwijsj(t)>θi,−1 otherwise.
其中, θ \theta θ为常数阈值。 ∑ j w i j s j ( t ) \sum_{j}w_{ij}s_j(t) ∑jwijsj(t) 表示与 s i s_i si连接的所有神经元的加权值,易知这个符合(假设4,最低能量原则)。
能量函数定义为:
E
{
s
i
}
=
−
∑
i
j
w
i
j
s
i
s
j
−
∑
i
θ
i
s
i
E_{\{s_i\}}=-\sum_{ij}w_{ij}s_is_j - \sum_{i}\theta _is_i
E{si}=−∑ijwijsisj−∑iθisi
与Ising模型不同之处: w i j w_{ij} wij因连接而异(变连续), 外场 θ i \theta_i θi因神经元而异(因神经元而异的外场)。
权重学习:
w
i
j
=
∑
v
=
1
m
V
v
i
V
v
j
w_{ij} = \sum^m_{v=1}V_v^iV_v^j
wij=∑v=1mVviVvj
其中,V表示一组n维神经元,总共有m组,
V
i
V^i
Vi表示第 i 个分量。
之后,我们就用这组权重作为Hopfield网络中的连接权重,然后针对任意一个输入数据作为神经元的初始状态,按照Hopfield的运行规则演化,系统将逐渐收敛到已记忆过的向量
V
1
,
V
2
,
V
3
,
.
.
.
,
V
m
V_1,V_2,V_3,...,V_m
V1,V2,V3,...,Vm中的一个。