Artificial Neural Network 简明教程

Boltzmann Machine

这些是具有递归结构的随机学习过程,是 ANN 中早期优化技术的基石。Boltzmann 机是由 Geoffrey Hinton 和 Terry Sejnowski 于 1985 年发明的。在 Hinton 对 Boltzmann 机的解读中可以看到更加清晰的解释。

“此网络一个令人惊讶的特性是它仅使用局部可用的信息。权重的变化仅取决于它连接的两个单​​元的行为,即使该变化优化了全局度量值” - Ackley,Hinton 1985 年。

Boltzmann 机的一些重要要点 −

  1. They use recurrent structure.

  2. 它们由随机神经元组成,随机神经元具有两种可能的状态,1 或 0。

  3. 部分神经元在此属于自适应(自由态),而另一些则固定(冻结态)。

  4. 如果将模拟退火应用于离散霍普菲尔德网络,那么它将变成玻尔兹曼机。

Objective of Boltzmann Machine

玻尔兹曼机的主要目的是优化问题的解决方案。玻尔兹曼机的任务就是优化与该特定问题相关的权重和数量。

Architecture

下图显示了玻尔兹曼机的结构。从图中可以清楚地看到,它是一个二维的单元阵列。这里,单位之间互联的权重为 –p ,其中 p > 0 。自连接的权重由 b 给出,其中 b > 0

boltzmann

Training Algorithm

众所周知,玻尔兹曼机具有固定权重,因此不会有训练算法,因为我们不需要更新网络中的权重。但是,为了测试网络,我们必须设置权重以及找到一致函数 (CF)。

玻尔兹曼机具有一组单元 UiUj ,并且在其上具有双向连接。

  1. 我们正在考虑固定权重说 wij

  2. wij ≠ 0 如果 UiUj 是连接的。

  3. 加权互连中也存在对称性,即 wij = wji

  4. wii 也存在,即单元之间会有自连接。

  5. 对于任何单位 Ui ,其状态 ui 要么为 1,要么为 0。

玻尔兹曼机的主要目标是最大化一致函数 (CF),其可以用以下关系给出

CF\:=\:\displaystyle\sum\limits_{i} \displaystyle\sum\limits_{j\leqslant i} w_{ij}u_{i}u_{j}

现在,当状态从 1 变为 0 或从 0 变为 1 时,一致性的变化可以用以下关系给出 −

\Delta CF\:=\:(1\:-\:2u_{i})(w_{ij}\:+\:\displaystyle\sum\limits_{j\neq i} u_{i} w_{ij})

这里 uiUi 的当前状态。

系数 ( 1 - 2ui ) 的变化由以下关系给出 −

(1\:-\:2u_{i})\:=\:\begin{cases}+1, & U_{i}\:is\:currently\:off\\-1, & U_{i}\:is\:currently\:on\end{cases}

通常,单位 Ui 不会改变其状态,但如果改变,则信息将驻留在该单位的本地。通过这种改变,网络的一致性也会增加。

网络接受单位状态变化的概率由以下关系给出 −

AF(i,T)\:=\:\frac{1}{1\:+\:exp[-\frac{\Delta CF(i)}{T}]}

在此, T 是控制参数。当 CF 达到最高值时,它将减少。

Testing Algorithm

Step 1 − 初始化以下内容以启动训练 −

  1. 表示问题约束的权重

  2. Control Parameter T

Step 2 − 在停止条件不为真时,继续步骤 3-8。

Step 3 − 执行步骤 4-7。

Step 4 − 假设某一状态已更改权重,并选择整数 I, J 作为 1n 之间的随机值。

Step 5 − 如下计算共识度变化 −

\Delta CF\:=\:(1\:-\:2u_{i})(w_{ij}\:+\:\displaystyle\sum\limits_{j\neq i} u_{i} w_{ij})

Step 6 − 计算此网络接受状态变化的概率

AF(i,T)\:=\:\frac{1}{1\:+\:exp[-\frac{\Delta CF(i)}{T}]}

Step 7 − 如下接受或拒绝此更改 −

Case I − 如果 R < AF ,请接受更改。

Case II − 如果 R ≥ AF ,请拒绝更改。

在此, R 是 0 到 1 之間の随机数。

Step 8 − 如下减少控制参数(温度) −

T(new) = ⁡0.95T(old)

Step 9 − 测试可能如下所示的停止条件 −

  1. 温度达到指定值

  2. 多次迭代后状态未发生变化