- Artificial Neural Network Tutorial
- Artificial Neural Network - Home
- Basic Concepts
- Building Blocks
- Learning & Adaptation
- Supervised Learning
- Unsupervised Learning
- Learning Vector Quantization
- Adaptive Resonance Theory
- Kohonen Self-Organizing Feature Maps
- Associate Memory Network
- Hopfield Networks
- Boltzmann Machine
- Brain-State-in-a-Box Network
- Optimization Using Hopfield Network
- Other Optimization Techniques
- Genetic Algorithm
- Applications of Neural Networks
- Artificial Neural Network Resources
- Quick Guide
- Useful Resources
- Discussion
人工神经网络 - Hopfield Networks
Hopfield 神经网络由 John J. Hopfield 博士于 1982 年发明。它由单层组成,其中包含一个或多个完全连接的循环神经元。Hopfield 网络通常用于自动关联和优化任务。
离散Hopfield网络
Hopfield 网络以离散线方式运行,或者换句话说,可以说输入和输出模式是离散向量,本质上可以是二进制 (0,1) 或双极 (+1, -1)。该网络具有对称权重,没有自连接,即w ij = w ji和w ii = 0。
建筑学
以下是有关离散 Hopfield 网络需要牢记的一些要点 -
该模型由具有一个反相输出和一个非反相输出的神经元组成。
每个神经元的输出应该是其他神经元的输入,而不是自身的输入。
权重/连接强度由w ij表示。
连接可以是兴奋性的,也可以是抑制性的。如果神经元的输出与输入相同,则为兴奋性,否则为抑制性。
权重应该是对称的,即w ij = w ji
从Y 1到Y 2、Y i和Y n的输出分别具有权重w 12、w 1i和w 1n 。同样,其他弧也有权重。
训练算法
在离散 Hopfield 网络的训练过程中,权重将会更新。众所周知,我们可以拥有二进制输入向量以及双极输入向量。因此,在这两种情况下,权重更新可以通过以下关系来完成
情况 1 - 二进制输入模式
对于一组二进制模式s(p),p = 1 到 P
这里,s(p) = s 1 (p), s 2 (p),..., s i (p),..., s n (p)
权重矩阵由下式给出
$$w_{ij}\:=\:\sum_{p=1}^P[2s_{i}(p)-\:1][2s_{j}(p)-\:1]\:\: \:\:\:对于\:i\:\neq\:j$$
情况 2 - 双极输入模式
对于一组二进制模式s(p),p = 1 到 P
这里,s(p) = s 1 (p), s 2 (p),..., s i (p),..., s n (p)
权重矩阵由下式给出
$$w_{ij}\:=\:\sum_{p=1}^P[s_{i}(p)][s_{j}(p)]\:\:\:\:\:对于\ :i\:\neq\:j$$
测试算法
步骤 1 - 初始化权重,这些权重是使用赫布原理从训练算法获得的。
步骤 2 - 如果网络的激活未合并,则执行步骤 3-9。
步骤 3 - 对于每个输入向量X,执行步骤 4-8。
步骤 4 - 使网络的初始激活等于外部输入向量X,如下 -
$$y_{i}\:=x_{i}\:\:\:对于\:i\:=\:1\:到n$$
步骤 5 - 对于每个单元Y i,执行步骤 6-9。
步骤 6 - 计算网络的净输入如下 -
$$y_{ini}\:=\:x_{i}\:+\:\displaystyle\sum\limits_{j}y_{j}w_{ji}$$
步骤 7 - 对净输入应用如下激活以计算输出 -
$$y_{i}\:=\begin{cases}1 & if\:y_{ini}\:>\:\theta_{i}\\y_{i} & if\:y_{ini}\:= \:\theta_{i}\\0 & if\:y_{ini}\:<\:\theta_{i}\end{cases}$$
这里 $\theta_{i}$ 是阈值。
步骤 8 - 将此输出y i广播到所有其他单元。
步骤 9 - 测试网络连接。
能量函数评估
能量函数被定义为系统状态的键合函数和非增函数。
能量函数E f , 也称为Lyapunov 函数,决定离散 Hopfield 网络的稳定性,其特征如下 -
$$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}$$
条件- 在稳定的网络中,每当节点状态发生变化时,上述能量函数就会减小。
假设当节点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)}$
能量的变化取决于这样一个事实:一次只有一个单元可以更新其激活。
连续霍普菲尔德网络
与离散Hopfield网络相比,连续网络将时间作为连续变量。它还用于汽车关联和优化问题,例如旅行商问题。
模型- 模型或架构可以通过添加电气组件(例如放大器)来构建,放大器可以通过 sigmoid 激活函数将输入电压映射到输出电压。
能量函数评估
$$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$$
这里λ是增益参数,g ri输入电导。