自关联神经网络
自关联神经网络是输入和输出向量相同的神经网络类型。这些是用于模拟和探索关联过程的特殊类型的神经网络。该架构中的关联来自一组称为单元的简单处理元素的指令,这些元素通过加权连接连接。
在这些网络中,我们进行了训练以存储双极或二元向量。如果输入与其相似,则可以从失真或有噪声的向量中检索存储的向量。
建筑学
AANN 包含五层感知器前馈网络,可分为两个 3 层的神经网络,每层串联连接(类似于自动编码器架构)。该网络由一个输入层、一个隐藏层和一个瓶颈层组成。这个瓶颈层在网络和网络的关键组件之间是常见的。它通过强大的特征提取功能为输入和拓扑提供数据压缩。瓶颈层之后是第二个非线性隐藏层和第二个网络的输出层。
第一个网络将 n 维向量的信息压缩为更小的维度向量,这些向量包含较少数量的特征变量并代表整个过程。第二个网络与第一个网络相反,使用压缩信息重新生成原始的 n 个冗余度量。
算法
我们将在算法中使用 Hebb Rule 来设置权重,因为输入和输出向量完全相关,因为输入和输出都具有相同数量的输出单元和输入单元。
赫布法则:
- 当 A 和 B 正相关时,则增加它们之间的联系强度。
- 当 A 和 B 呈负相关时,则降低它们之间的联系强度。
- 在实践中,我们使用以下公式来设置权重:
- 其中,W = 加权矩阵
- T=学习率
- S(p) : p 不同的 n 维原型模式
训练算法
- 初始化i= 1,2,3 …n和j= 1,2,3 …n 的所有权重,使得: w ij =0 。
- 对于要存储的每个向量,重复以下步骤:
- 为每个输入单元设置激活i= 1 到 n: x i = s i 。
- 为每个输出单元 j = 1 到 n设置激活: y j = s j 。
- 更新i= 1,2,3 ...n和j= 1,2,3 ...n的权重,使得: w ij (new) = w ij (old) + x i y j
测试/推理算法:
为了测试输入对模型来说是“已知”还是“未知”,我们需要执行以下步骤:
- 使用 Hebb 规则获取在训练阶段生成的权重。
- 对于每个输入向量执行以下步骤:
- 将输入单元中的激活设置为等于输入向量。
- 以输出单位为j= 1,2,3 …n设置激活:
- 对 j= 1, 2, 3 ... n 应用激活函数:
如果激活后的输出单元生成与存储在其中的模式相同的模式,则 AANN 将输入向量识别为已知。
存储容量
- AANN 的重要特征之一是在网络开始遗忘之前可以存储的模式数量。
- 网络中可以存储的向量数量称为网络的容量。
- 向量的容量取决于它们之间的关系,即如果它们相互正交,则可以存储更多的向量。一般可以存储n-1个具有n个分量的相互正交的向量。
应用
自关联神经网络可用于许多领域:
- 模式识别
- 生物信息学
- 语音识别
- 信号验证等
参考:
- 关于自动关联的 RIT 演示