DeepMind 的新型可微神经计算机将如何扩展?
检查 DNC 的架构确实显示出与 LSTM 的许多相似之处。考虑您链接到的 DeepMind 文章中的图表:
将此与 LSTM 架构进行比较(感谢 SlideShare 上的 ananth):
这里有一些类似的东西:
- 与 LSTM 非常相似,DNC 将执行一些从输入到固定大小状态向量的转换( LSTM 中的h和c)
- 同样,DNC 将执行从这些固定大小的状态向量到可能任意长度的输出的一些转换(在 LSTM 中,我们反复从我们的模型中采样,直到我们满意/模型表明我们完成了)
- LSTM的遗忘门和输入门代表 DNC 中的写入操作(“遗忘”本质上只是将内存归零或部分归零)
- LSTM的输出门代表DNC中的读操作
然而,DNC 绝对不仅仅是一个 LSTM。最明显的是,它利用了一个更大的状态,该状态被离散化(可寻址)成块;这允许它使 LSTM 的遗忘门更加二进制。我的意思是,状态不一定在每个时间步都被某个分数侵蚀,而在 LSTM(使用 sigmoid 激活函数)中它必然如此。这可能会减少您提到的灾难性遗忘问题,从而更好地扩展。
DNC 在它在内存之间使用的链接方面也很新颖。然而,这可能比我们重新想象 LSTM 的每个门都具有完整的神经网络,而不是仅仅具有激活函数的单层(称为超级 LSTM)相比,对 LSTM 的改进更小。在这种情况下,我们实际上可以通过足够强大的网络了解内存中两个插槽之间的任何关系。虽然我不知道 DeepMind 建议的链接的细节,但它们在文章中暗示他们只是通过像常规神经网络一样的反向传播梯度来学习所有内容。因此,他们在链接中编码的任何关系理论上都应该可以通过神经网络学习,因此足够强大的“超级 LSTM”应该能够捕获它。
话虽如此,在深度学习中,两种具有相同理论表达能力的模型在实践中的表现往往大相径庭。例如,考虑一个循环网络可以表示为一个巨大的前馈网络,如果我们只是展开它。同样,卷积网络并不比普通神经网络好,因为它有一些额外的表达能力;事实上,正是对其权重施加的限制使其更有效。因此,比较两个模型的表现力不一定是对它们在实践中的性能的公平比较,也不一定是对它们的扩展能力的准确预测。
我对 DNC 的一个问题是当它内存不足时会发生什么。当经典计算机内存不足并请求另一块内存时,程序开始崩溃(充其量)。我很想知道 DeepMind 计划如何解决这个问题。我认为它将依赖于当前使用的内存的一些智能蚕食。从某种意义上说,如果内存压力达到某个阈值,当操作系统请求应用程序释放非关键内存时,计算机当前会执行此操作。