Nan Rosemary Ke 等作者Geek AI、王淑婷编译arXiv选自

Bengio等提出稀疏注意力回溯:长期依赖关系建模的更一般化机制

训练循环神经网络的常规做法是利用基于时间的反向传播算法,该算法在处理长序列时计算开销十分昂贵,甚至不可行。针对这一问题,本文提出了一种新的算法SAB,通过提醒机制实现时序信用分配。在稀疏性限制最大的条件下(不利用过去的经验),SAB 将退化为使用常规的静态神经网络。在稀疏性限制最小的条件下(利用过去所有的经验),SAB 将退化为完全使用自注意力机制。该方法在涉及长期依赖关系的任务中比 BPTT 和截断的 BPTT 相当甚至更优。

人类对与当前心理状态相关的很久之前的事件有很强的记忆能力(Ciaramelli et al., 2008)。大多数关于记忆的实验和理论分析都集中在理解形成记忆和回忆的精细路径上。然而,自动化的提醒机制(当记忆涌入脑海),会对认知有很大的影响。提醒机制通常是由检索时出现的上下文特征触发的,这些特征与被记忆的显著特征相匹配(Berntsen et al., 2013; Wharton et al., 1996),它通常更容易在意料之外的事件之后被触发(Read & Cesa, 1991)。因此,一个人当前的理解状态可以触发对过去状态的回忆。提醒机制有时可能会提供一些无关的信息导致注意力被分散(Forbus et al., 1995; Novick, 1988),但是它也可以通过提供决策所必需的信息,在持续的认知过程中发挥有效的计算作用(Benjamin & Ross, 2010)。

在本文中,我们对提醒机制的另一个可能的作用进行了研究:长时间跨度的信用分配。我们不妨思考一下下面的场景:当你在高速公路上开车时,你听到了一种异常的爆炸声。但是仍然不以为意,直到你停下来加油时发现轮胎瘪了。然后你突然想起了在开车时听到的爆炸声。这样的回想能够帮助你确定爆胎的原因,并可能导致突触变化。而由于这种变化,在以后开车时听到这种爆炸声,你的处理方式可能会不一样。信用分配是机器学习领域的关键问题。反向传播算法实质上执行了信用分配机制。尽管在功能上等同于反向传播的信用分配机制已经取得了一些进展(Lee et al., 2014; Scellier & Bengio, 2016; Whittington & Bogacz, 2017),但对于大脑如何实现与用于训练循环神经网络(RNN)的反向传播相类似的机制,人们尚不清楚。在本文中,我们对以下假设进行了探究:相关联的提醒过程可以在长时间跨度上的信用传播中发挥重要作用。这也就是在 RNN 中学习长期依赖的问题,即学会利用在时间上跨度很大的事件和变量之间的统计依赖关系。

论文:Sparse Attentive Backtracking: Temporal Credit Assignment Through Reminding 

论文地址:https://arxiv.org/pdf/1809.03702v1.pdf

摘要:在扩展的时间序列中学习长期依赖需要对过去很久的事件进行信用分配。训练循环神经网络最常见的做法是基于时间的反向传播算法(BPTT),它要求信用信息在前向计算的每一步中能够被反向传播,这可能需要花费数千甚至数百万个时间步。当 BPTT 被用于处理长序列时,这个过程的计算开销会变得十分高昂,甚至根本不可行。重要的是,生物大脑并不太可能在很长的内部状态序列(比如几天、几个月、甚至好几年)中执行如此详细具体的反向回放过程。然而,人类经常被提醒想起过去的记忆或与当前精神状态相关的精神状态。我们假设过去和现在之间的这种记忆关联可以通过任意长的序列被用于信用分配,并将分配给当前状态的信用传播给相关的过去的状态。基于这一原理,我们研究出了一种新的算法,它只通过少数几个时序跳跃链接进行反向传播,通过一种学习到的注意力机制实现,该注意力机制将当前状态与相关的过去状态关联起来。我们通过实验证明,该方法在涉及长期依赖关系的任务中与常规的 BPTT 和截断的 BPTT 性能相当甚至更优,但我们的方法并不需要对整个状态历史进行生物学上不太可能的反向回放过程。此外,我们还证明该方法对于较长序列的迁移明显优于使用 BPTT 训练的 LSTM 和使用完全自注意力机制训练的 LSTM

稀疏注意力回溯

请注意,人类使用的是过去信用分配经验中一个非常稀疏的子集,它可以直接随机利用过去的经验及其与当前状态的相关性,我们提出了稀疏注意力回溯(SAB)机制:它是针对神经网络模型(如 RNN)中信用分配问题相关过去状态的学习、动态、稀疏的访问方式及回放原理。

在稀疏性限制最大的条件下(不利用过去的经验),SAB 将退化为使用常规的静态神经网络。在稀疏性限制最小的条件下(利用过去所有的经验),SAB 将退化为完全使用自注意力机制。在本文中,为了达到目的,我们通过特定种类的增强 LSTM 模型探究前面二者之间的差距。但是 SAB 机制并不局限于任何特定的架构,在这里介绍的增强 LSTM 纯粹被用来探究和验证我们在第 1 节中作出的假设。

一般来说,一个 SAB 神经网络需要做到以下两件事:

  • 在前馈传播过程中,管理一个内存单元,并在每个时间步中最多选择过去记忆中的一个稀疏子集。我们将这个过程称之为稀疏检索。

  • 在反向传播过程中,将梯度仅仅传播到记忆的稀疏子集及其局部环境中。我们称之为稀疏回放。

图 1: 此图展示了在 ktop = 3, katt = 2, ktrunc = 2 的情况下 SAB 中的前馈传播过程。该过程将稀疏检索(第 3.1 节)和对记忆的总结引入了下一个 RNN 隐藏状态。灰色箭头显示了注意力权重 a(t)是如何被估计出来的,首先通过广播和连接所有记忆的集合 M 当前的临时隐藏状态 hˆ(t),并且通过多层感知机计算出原始注意力权重。稀疏处理器会选择出最大的 ktop 个原始注意力权重,并进行归一化处理,而其它的注意力权值则表示为 0。红色箭头显示了对应非零稀疏化注意力权值被加权求和的过程,然后将其添加到临时隐藏状态 hˆ(t) 中去计算最终的隐藏状态 h (t)。

实验设置和实验结果

图 2: 此图展示了在 ktop = 3, katt = 2, ktrunc = 2 的情况下 SAB 中的反向传播过程。梯度被传递给从前向传播选择出来的微观状态,同时在这些微观状态周围执行一个局部被截断的反向传播过程。蓝色的箭头表示反向传播中的提督传播流。红色叉叉表示 TBPTT(时间截断的反向传播)的截断点,梯度在这些点停止被反向传播。

表 1: 在序列长度为 T=100,200,300 的任务中的测试准确率交叉熵(CE)的损失性能。最后 10 个字符的准确率用以百分比表示。CE10 对应于最后 10 个字符的交叉熵损失。这些结果与心理状态的更新有关,而表 3 则是与其无关的结果。

表 5:在 T=100 的复制记忆任务中训练的模型的迁移性能(最后 10 位数的准确率)。该表将使用基于时间的反向传播算法(BPTT)训练的 LSTM 以及带完全的自注意力机制LSTM 结果相对比。

表 4: 置换 MNIST 和 CIFAR 10 分类任务的测试准确率

理论CIFARMILA循环神经网络自注意力注意力机制Yoshua Bengio
2
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

回溯法技术

回溯法是暴力搜寻法中的一种。对于某些计算问题而言,回溯法是一种可以找出所有(或一部分)解的一般性算法,尤其适用于约束满足问题(在解决约束满足问题时,我们逐步构造更多的候选解,并且在确定某一部分候选解不可能补全成正确解之后放弃继续搜索这个部分候选解本身及其可以拓展出的子候选解,转而测试其他的部分候选解)。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

推荐文章
暂无评论
暂无评论~