📜  ANN – 双向联想记忆 (BAM)

📅  最后修改于: 2022-05-13 01:58:08.408000             🧑  作者: Mango

ANN – 双向联想记忆 (BAM)


双向联想记忆(BAM)是人工神经网络中的一种监督学习模型。这是异源关联内存,对于输入模式,它返回另一个可能具有不同大小的模式。这种现象与人脑非常相似。人类的记忆必然是联想的。它使用一系列心理关联来恢复丢失的记忆,例如面孔与姓名的关联,考试问题与答案的关联等。
在一种类型的对象与另一种类型的记忆关联中,需要循环神经网络 (RNN) 来接收一组神经元的模式作为输入,并生成另一组神经元的相关但不同的输出模式。

为什么需要营商事工?
引入这种网络模型的主要目的是存储异关联模式对。
这用于检索给定噪声或不完整模式的模式。

BAM架构:
当 BAM 接受来自集合A的 n维向量X的输入时,模型会从集合B 中调用 m维向量Y 。类似地,当Y被视为输入时,BAM 会调用X。

算法:

  1. 存储(学习):在 BAM 的这个学习步骤中,在 M 对模式(基本记忆)之间计算权重矩阵,按照等式存储在网络的突触权重中$W=\sum_{m=1}^{M} X_{m} Y_{m}^{T}$
  2. 测试:我们必须检查 BAM 是否完美回忆$Y_{m}$对于相应的$X_{m}$并回忆起$X_{m}$对于相应的$Y_{m}$ .使用,

        \[Y_{m}=\operatorname{sign}\left(W^{T} X_{m}\right), \quad m=1.2, \ldots, M\]\[X_{m}=\operatorname{sign}\left(W Y_{m}\right), \quad m=1.2, \ldots, M\]



    应相应地召回所有对。

  3. 检索:对于未知向量X (来自集合 AB的模式的损坏或不完整版本)到 BAM 并检索先前存储的关联:
    X \neq X_{m}, \quad m=\mathbf{1}, \mathbf{2}, \ldots, M
    • 初始化 BAM:

           \[X(0)=X, \quad p=0\]

    • 计算迭代时的 BAM 输出$p$

           \[Y(p)=\operatorname{sign}\left[W^{T} X(p)\right]\]

    • 更新输入向量$X(p)$

           \[X(p+1)=\operatorname{sign}[W Y(p)]\]

    • 重复迭代直到收敛,此时输入和输出保持不变。

BAM 的局限性:

  • BAM 的存储容量:在 BAM 中,存储的关联数量不应超过较小层中的神经元数量。
  • 不正确的收敛: BAM 可能不会产生最接近的关联。