Introduction本讲座讲述了fastweights的思想及其实现。如此快速的权重可以用来存储最近的临时记忆,它们提供了一种神经上可行的方式来实现这种对过去的关注——最近在序列到序列模型中显示了上述非常有帮助。通过使用快速权重,我们可以消除存储神经活动模式副本的需要。基本思想是,临时记忆的存储不是通过添加活跃的神经元,而是通过对一些现有神经元进行一些修改。对于每个神经元连接,与此连接关联的权重有两个分量。一种是标准慢权重,代表长时记忆,慢学习衰减慢。另一个是fastweight,代表短期记忆,学习衰减很快。快速权重确实存在,例如:启动。假设你听到一个有很多噪音的词,如果这是你第一次听到这个词,你可能无法识别它。但是如果你是半小时前听到的这个词,你能认出来是因为半小时前的记忆降低了你认出这个词的门槛。一般来说,假设我们有本地化表示,为了达到上述效果,我们可以暂时降低特定单词的阈值,而不是改变整个结构。你也可以换个角度想:假设你有一个活动模式,你可以改变活动模式之间神经元的权重,使其中一个特定模式成为更强的吸引子(比如更容易识别一个词).这就是我们存储记忆的方式,我们通过改变权重来存储模式而不是直接存储模式。因为如果我们使用权重矩阵而不是活动向量来存储短期记忆,我们可以用有限数量的神经元实现更大的容量。有两种存储临时知识的方法:长短期记忆(LSTM):将活动存储在隐藏单元中。它的容量非常有限。假设隐藏状态有H个单元,那么LSTM在当前序列的历史上仅限于O(H)短期记忆(吸引子)。除此之外,LSTM将信息存储在它们的隐藏单元中,使这种短期记忆与正在进行的过程无关。FastWeights:允许您将权重矩阵用于短期记忆,从而提高容量。除其他外,这种短期记忆可以存储特定于当前序列历史的信息,以便可以使用该信息来影响正在进行的过程。我们如何应用快速权重的想法?让我们从ReLURNN开始。ReLURNNs易于训练,擅长学习长期依赖(long-termmemory)。下面的左图代表一个普通的RNN,右图代表一个相同的RNN(如果我们使用空矩阵进行“隐藏→隐藏”权重初始化,如蓝色箭头所示)。为了应用fastweights的思想,这里使用外积学习规则来更新fastweightmatrixA。更新fastweightmatrixA的规则:每次学习一个隐藏状态h(t)在在时间步长t,我们将当前的快速权重A(t-1)乘以权重衰减参数λ,并乘以学习到的新学习的隐藏状态h(t)与速率η的外积。此更新功能如下所示。它的快速权重只是过去贡献和随时间衰减的贡献的总和。在数学上,这个贡献是隐藏状态的外积h(t)h(t)^T。A(t)=λA(t?1)+ηh(t)h(t)^Ths+1(t+1)=f([Wh(t)+Cx(t)]+A(t)hs(t+1))添加层归一化(LN)技巧以使其更好地工作。在标准RNN中,循环单元的输入总和的平均幅度在每个时间步都有增加或减少的趋势,这可能导致梯度爆炸或消失。在对隐藏单元接收的总输入向量应用非线性(ReLU)之前,LN将向量归一化为零均值和单位方差。在层归一化RNN中,其归一化项在调整该层所有输入总和的大小时保持不变,这会导致更稳定的隐藏到隐藏动态(隐藏到隐藏动态)?这有效吗?Task1:Associativetasks假设有一个任务,将多个键值对(key-valuepairs)表示为一个序列,以序列为输入,将序列转换为R维向量,使用Examiningthe该任务作为递归隐藏单元输入的错误率结果表明,RNN可以用100个暗淡隐藏单元解决这个问题,LSTM可以用50个暗淡隐藏单元解决这个问题,而快速权重RNN只需要20个就可以了。这并不奇怪,因为FWRNN中的20个暗隐藏单元可以获得比普通RNN大得多的容量。问题是:它能学会如何使用这个记忆容量吗?是的,因为FWRNN在R=20时达到了1.18%的错误率。Task2:Usingfastweightscombinedwithglimpsevisualattentionmodel:注意模型已经显示出克服ConvNet一些缺点的能力:一是了解ConvNet关注的地方;第二,注意力模型可以选择性地关注图像的重要部分。注意力模型是如何工作的?给定一张输入图像,视觉注意力模型计算一系列瞥见,每个瞥见对应于图像的一个小区域。视觉注意力模型学习在图像中找到不同的对象并对它们进行分类,但它们计算glimpse的方式过于简单:它使用单尺度glimpse并按特定顺序扫描整个图像。然而,人眼能够以不同的比例关注图像的不同部分,并结合整个观察来做出正确的决定。提高模型记住最近一瞥的能力应该有助于视觉注意模型发现有意义的一瞥策略。快速权重学习序列中的所有一瞥,因此隐藏状态可用于决定如何合并视觉信息并检索适当的记忆。要查看快速权重是否有效,请想象一个简单的循环视觉注意模型,该模型无法预测参加的位置,而是从不同的层次结构中获得固定的位置序列。注意力模型需要合并glimpse信息才能成功完成任务。快速权重可以使用临时缓存来存储glimpse计算,而同一模型的慢速权重可以合并glimpse信息。在MINST上评估多级视觉注意模型表2显示了具有多级一瞥的ReLURNN和具有相同一瞥序列的LSTM的结果。结果表明,在隐藏单元数量有限的情况下,快速权重具有更强的记忆力,因此比LRNN和LSTM表现更好。此外,LSTM不擅长融合glimpse,因为LSTM按顺序处理glimpse。改变瞥见的顺序不会改变对象的含义。与必须融合一系列glimpse的模型不同,ConvNet并行处理所有glimpse并使用一层隐藏单元来保持所有融合,因此它比顺序模型表现更好。实施:https://github.com/jiamings/fast-weightsHugoLarochelle的注释:http://www.shortscience.org/paper?bibtexKey=journals/corr/1610.06258#hlarochelleThinking这种快速联想记忆模型结合了神经科学的思想.这篇论文没有提到模型在语言相关任务上的表现,所以用快速权重的RNN代替LSTM来处理语言任务会很有趣。论文表明不能使用mini-batch,因为每个序列的fast权重矩阵不同,但允许mini-batch与存储的隐藏向量序列进行比较。mini-batching确保我们可以利用GPU计算能力,但是这个快速权重模型如何使用mini-batch的想法仍然很模糊。【本文为栏目组织机器之心原创文章,微信公众号“机器之心(id:almosthuman2014)”】点此查看作者更多好文
