作者 | 京枚编辑 | 贾伟
DeepMind最近提出一种新的长程记忆模型——Compressive Transformer(压缩Transformer),这种模型基于Transformer模型做了调整,通过增添压缩记忆模块,有效增加了模型的记忆长度。
而另一方面,为了提升对基于长程记忆的推理问题的研究,DeepMind的研究人员也开发了一个书籍级别的语言数据集PG-19。这个新的基准是目前已有的长时记忆基准的两倍还多,包含的上下文文本是长程语言模型基准测试WikiText-103的10倍以上。
论文链接:https://arxiv.org/pdf/1911.05507.pdf
PG-19开源链接:https://github.com/deepmind/pg19
在过去二十年的时间里,人工神经网络在记忆这一方面有了长足的进展。
被称为长短时记忆(Long Short-Term-Memory,LSTM)的递归神经网络(RNN)是目前最早、应用最为广泛的记忆结构之一。LSTM以数字向量的形式维护一个紧凑的内存,通过门控读、写和遗忘操作来访问和修改这个内存。它最初是在一套综合任务上开发的,包括学习一串bit的逻辑操作。不过现在它已经被广泛应用在所有的序列数据模型当中了。
LSTM,以及许多现在所使用的RNNs,存在一个巨大的缺点,就是容量问题。最初设计这些结构的目的是为了,使每个单元的内存都可以影响其他单元,并且具有科学系的权重。但这导致系统的计算效率非常低下,模型中可学习参数的数量会随内存大小的增加呈平方地增加,例如内存64KB的LSTM,会产生8GB的参数。
如何绕过这一记忆容量瓶颈,成为一个严峻的问题。
DeepMind的研究人员曾提出过一种新的架构,可微分神经计算机(DNC),它用更大的内存矩阵来扩充LSTM,以此来解决这些缺陷。
在我们看东西时,我们的眼睛会聚焦于视觉场景中的相关物体。例如,你可能会花更多的时间注意朋友的面部表情,而不是注意他们的鞋子。
DNC采用了类似的方法,使用一个「注意力操作」从这个内存矩阵中读取数据。
在DNC中,内存模型可以处理过去的特定事件/数据。这种注意力操作需要固定数量的参数,而与内存大小无关,因此可以显著提高模型的内存容量。
随着 DNC的开发,带有附加注意力机制的递归神经网络在翻译和问题回答领域显示出了巨大的潜力。这些模型能够使用两种内存结构进行推理,一种是小型且紧凑的LSTM内存,一种是大型的外部内存。
不过,最近谷歌Google Brain 的研究人员提出了一种Transformer模型,它可以去除掉 LSTM,只利用注意力来传输信息。
Transformer 最初是应用在机器翻译任务上,性能明显优于递归神经网络。
随后Transformer被广泛应用到NLP的的其他任务当中,例如问答、文本摘要、情感分析等。过去一年,因为Transformer,这些方面取得了巨大的进步。
但这些模型仍然存在一个缺点,即它们会把所有的信息都存储起来,这样在每一个时间步上所消耗的计算成本和存储成本都非常大。
我们的大脑显然不是这样做的,我们不会像摄像机那样,把我们一生当中接收到的所有信息存储起来。而是会根据相关性、惊喜度、危险性、重复次数等因素来选择、过滤、整合所有的输入刺激。换句话说,我们会把一生的经历压缩成一组亮点记忆,帮助我们来理解过去,以及更好地预测未来。
这就是如何压缩的问题。
之前有一些工作通过稀疏访问机制来尝试压缩注意力中的计算消耗。但稀疏注意力方法并不能解决存储问题,而且通常需要定制的稀疏核才能有效地实现。
1、压缩TransformerDeepMind为此提出了 Compressive Transformer模型(压缩 Transformer)。
简单来说,这是Transformer的一个简单变种,将过去隐藏激活(past hidden activations ,记忆)映射到一个更小的压缩表示集(压缩记忆)中。在记忆和压缩记忆上,压缩Transformer会使用相同的注意力机制,来学习查询它的短期颗粒记忆和长期粗记忆。
压缩Transformer保持对过去激活的细粒度记忆,然后将其压缩为更粗的压缩记忆。上面的模型有三层,一个序列长度ns = 3,记忆大小nm = 6,压缩记忆大小ncm = 6。高亮显示的记忆被压缩,每层使用压缩函数fc将其压缩到单个压缩记忆中,而不是在下一个序列中丢弃。在本例中,压缩率c = 3。
据作者 Jack Rae介绍,这个模型的灵感来源是,睡眠能够巩固我们的情景记忆。众所周知,睡眠有助于记忆,原因是人们在睡觉过程中能够将醒时的记忆进行压缩和巩固,从而提高记忆力。
我们知道谷歌提出的TransformerXL模型,为了进行长时推理,会对过去激活记忆进行保持。但是当过去激活足够“老”(由内存大小决定)时,TranformerXL就会将这些记忆给丢弃掉。
与之不同的是压缩Transformer并不将它们丢弃,而是通过一个压缩函数进行压缩,并存储在一个额外的压缩记忆(压缩内存)中。这个压缩函数能够学习并过滤掉不相关的记忆,使一些较为重要的信息保留更长一段时间。这种方式,相比于TransformerXL模型,显然能够保留更长时间的记忆,对长时推理任务将大有裨益。
据作者介绍,这个模型具有较大的普适性,不仅可以用于语言序列,还能够用于建模高频语音波形,也可以充当增强学习agent、IMPALA等的记忆组件(显然可以压缩和利用过去的观察加过)。
2、PG-19为了进一步验证压缩Transformer在长时推理方面的强大功能,作者基于从古腾堡计划的文本,提出了一个新的书籍级语言建模基准PG-19,来进一步促进长上下文序列建模(long-context sequence modelling)的研究。值得一提的是,这个新的基准是目前已有的长时记忆基准的两倍还多,包含的上下文文本是长程语言模型基准测试WikiText-103的10倍以上。
书籍为长期记忆模型的发展提供了丰富的背景。作者从大约28,000本古腾堡计划中1919年以前(也即100年前,避免版权问题)出版的书中选择了一个子集。与以前的语言建模数据集不同,作者很少对文本应用预处理。举例来说,他们不会限制数据的词汇量或审查数字,以避免过滤有用的信息。
数据集包含了28752本书,共约 11GB。
其中,28602本用作训练集,50本作为有效集,100本作为测试集:
DeepMind随后将压缩Transformer与TransformerXL在最新的PG-19书籍数据集上进行了基准测试,具体设置可以参看论文原文。结果如下图所示:
可以看到,压缩Transformer的测试困惑度为33.6,TransformerXL的为36.3。尽管数据集很大,但显然这仍然是一个具有挑战性的领域,而这个测试结果可以作为这个长程语言建模基准的第一个基线。
3、最后如果想要创建一个操作时间超过几天、几周甚至几年的agent,在每个步骤中对所有原始输入数据都进行计算显然是不切实际的。
即使在当前计算能力持续增长的情况下,我们仍然需要开发压缩和稀疏的记忆架构来构建操作的表示和推理。
可以期待的是,能够捕捉到以日、月、年为单位的相关性的模型,即将问世。而这需要我们有相应的任务和数据集来评判长时任务。PG-19显然是朝向这个方向迈进的一步,因为「一整本书」已经是人类通常使用的最长文本形式。
而选择性注意力,和其他更有效的压缩机制,显然也将极大地促进更加强大的推理研究。