深入理解 DNC 架构:原理、操作与实现
1. DNC 与 NTM 的异同
在探讨深度神经计算机(DNC)时,起初它在读写内存方面与神经图灵机(NTM)似乎并无差异。然而,当涉及到 DNC 用于获取访问权重的注意力机制时,差异便开始显现。虽然二者都采用了基于内容的寻址机制 $C(M, k, \beta)$,但 DNC 运用了更为复杂的机制,能更高效地处理内存。
2. DNC 中的无干扰写入
2.1 问题提出
NTM 的一个局限性在于无法确保无干扰的写入行为。解决此问题的直观方法是设计一种架构,使其能聚焦于单个空闲的内存位置,而不是依赖 NTM 自行学习这一能力。
2.2 引入使用向量
为了跟踪哪些内存位置空闲、哪些已被使用,我们引入了使用向量 $u_t$。它是一个长度为 $N$ 的向量,每个元素的值介于 0 到 1 之间,代表对应内存位置的使用程度,0 表示完全空闲,1 表示完全使用。初始时,$u_0 = 0$,并会在各步骤中根据使用信息进行更新。
2.3 分配权重的计算
为了确定应将新数据分配到哪个内存位置,我们需要计算分配权重 $a_t$。具体步骤如下:
1. 对使用向量进行排序,得到按使用程度升序排列的位置索引列表,即空闲列表 $\phi_t$。
2. 使用以下公式计算分配权重:
- $a_{t}(\phi_{t}(j)) = (1 - u_{t}(\phi_{t}(j))) \prod_{i = 1}^{j - 1} u_{t}(\phi_{t}(i))$,其中 $j \in {1, \cdots, N}$。
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



