Artificial Neural Network 简明教程

Artificial Neural Network - Hopfield Networks

霍普菲尔德神经网络由约翰·J·霍普菲尔德博士于 1982 年发明。它包括一个层,其包含一个或多个完全连接的递归神经元。霍普菲尔德网络通常用于自动关联和优化任务。

Discrete Hopfield Network

以离散线方式运行的霍普菲尔德网络,或者换句话说,可以认为输入和输出模式是离散矢量,它们在性质上可以是二进制(0,1)或双极(+1,-1)。该网络具有对称的权重,没有自连接,即 wij = wjiwii = 0

Architecture

以下是一些需要牢记关于离散霍普菲尔德网络的重要要点 −

  1. 此模型由一个反相输出和一个同相输出的神经元组成。

  2. 每个神经元的输出应为其他神经元的输入,但不是自我的输入。

  3. 权重/连接强度由 wij 表示。

  4. 连接可以是激发性的,也可以是抑制性的。如果神经元的输出与输入相同,则它是激发性的;否则为抑制性的。

  5. 权重应是对称的,即 wij = wji

hopfield

Y1 传输到 Y2YiYn 的输出分别具有权重 w12w1iw1n 。同样,其他弧线上也有权重。

Training Algorithm

在离散霍普菲尔德网络训练期间,将更新权重。众所周知,我们可以有二进制输入矢量以及双极输入矢量。因此,在这两种情况下,都可以利用以下关系更新权重

Case 1 − 二进制输入模式

对于一组二进制模式 s(p), p = 1 to P

在此, s(p) = s1(p), s2(p),…​, si(p),…​, sn(p)

权重矩阵由以下公式给出:

w_{ij}\:=\:\sum_{p=1}^P[2s_{i}(p)-\:1][2s_{j}(p)-\:1]\:\:\:\:\:对于 i \:\neq\: j

Case 2 − 双极性输入模式

对于一组二进制模式 s(p), p = 1 to P

在此, s(p) = s1(p), s2(p),…​, si(p),…​, sn(p)

权重矩阵由以下公式给出:

w_{ij}\:=\:\sum_{p=1}^P[s_{i}(p)][s_{j}(p)]\:\:\:\:\:对于 i \:\neq\: j

Testing Algorithm

Step 1 − 使用赫布原理从训练算法获得的权重进行初始化。

Step 2 − 如果网络的激活未合并,则执行步骤 3-9。

Step 3 − 对于每个输入向量 X ,执行步骤 4-8。

Step 4 − 按如下方式使网络的初始激活等于外部输入向量 X

y_{i}\:=\:x_{i}\:\:\对于 i\:=\:1\:至\:n

Step 5 − 对于每个单位 Yi ,执行步骤 6-9。

Step 6 − 按如下方式计算网络的净输入 −

y_{ini}\:=\:x_{i}\:+\:\displaystyle\sum\limits_{j}y_{j}w_{ji}

Step 7 − 在净输入上应用激活计算输出 −

y_{i}\:=\begin{cases}1 & 如果\:y_{ini}\:>\:\theta_{i}\\y_{i} & 如果\:y_{ini}\:=\:\theta_{i}\\0 & 如果\:y_{ini}\:<\:\theta_{i}\end{cases}

此处,$\theta_{i}$ 为阈值。

Step 8 − 将此输出 yi 广播至所有其他单位。

Step 9 − 测试连接网络。

Energy Function Evaluation

能量函数被定义为系统状态的绑定且非递增函数。

能量函数 Ef ⁡,也称 Lyapunov function 决定离散霍普菲尔德网络的稳定性,其特征如下 −

E_{f}\ := \:-\frac{1}{2}\displaystyle\sum\limits_{i=1} n\displaystyle\sum\limits_{j=1} n y_{i}y_{j}w_{ij}\:-\:\displaystyle\sum\limits_{i=1}^n x_{i}y_{i}\:+\:\displaystyle\sum\limits_{i=1}^n \theta_{i}y_{i}

Condition − 在稳定网络中,每当节点状态发生变化,上述能量函数会减少。

假设 i 节点状态从 $y_i^{(k)}$ 更改为 $y_i^{(k\:+\:1)}$⁡,那么通过以下关系给出了能量变化 $\Delta E_{f}$

\Delta E_{f}\ := \:E_{f}(y_i {(k+1)})\:-\:E_{f}(y_i {(k)})

=\:-\left(\begin{array}{c}\displaystyle\sum\limits_{j=1}^n w_{ij}y_i {(k)}\:+\:x_{i}\:-\:\theta_{i}\end{array}\right)(y_i {(k+1)}\:-\:y_i^{(k)})

=\:-\:(net_{i})\Delta y_{i}

此处 $\Delta y_{i}\ := \:y_i {(k\:+\:1)}\:-\:y_i {(k)}$

能量变化取决于这样一个事实,即每次只有一个单元能更新其激活。

Continuous Hopfield Network

与离散霍普菲尔德网络相比,连续网络的时间是一个连续变量。它还用于自关联和优化问题,如旅行商问题。

Model − 该模型或架构可以通过添加电气组件(如放大器)构建,放大器可将输入电压映射到输出电压的 sigmoid 激活函数上。

Energy Function Evaluation

E_f = \frac{1}{2}\displaystyle\sum\limits_{i=1}^n\sum_{\substack{j = 1\\ j \ne i}}^n y_i y_j w_{ij} - \displaystyle\sum\limits_{i=1}^n x_i y_i + \frac{1}{\lambda} \displaystyle\sum\limits_{i=1}^n \sum_{\substack{j = 1\\ j \ne i}}^n w_{ij} g_{ri} \int_{0}^{y_i} a^{-1}(y) dy

此处 λ 是增益参数, gri 输入电导。