OpenAI发布新神经网络模型 将可预测序列长度提高30倍
导读:近日,OpenAI发布了Sparse Transformer,这是一种深度神经网络,它在预测长序列内容方面创造了新的记录——无论是预测文本、图像还是声音。
近日,OpenAI发布了Sparse Transformer,这是一种深度神经网络,它在预测长序列内容方面创造了新的记录——无论是预测文本、图像还是声音。
它使用了一种注意力机制的改进算法,可以从长度可能是之前30倍的序列中提取模式。
人工智能研究的一个现有挑战是对复杂数据(如图像,视频或声音)进行长序列、精细的相互依赖建模。Sparse Transformer O(N^2)Transformer 自注意力机制的 O(N√N) 重组,以及其他几项改进,可以直接应用于这些丰富的数据类型。
以前,在这些数据上使用的模型是针对一个域专门设计的,或者难以扩展到超过几千个元素的序列。相比之下,这个模型可以使用数百个层对包含数万个元素的序列进行建模,从而在多个域中实现最先进的性能。在OpenAI,研究人员正在使用它来帮助构建具有更强的理解世界能力的AI系统。
Deep Attention(深度注意力)
在Transformer中,每个输出元素都会与每个输入元素相连接,它们之间的权重是根据环境动态计算的,这个过程称为注意力机制。
虽然这会允许Transformer比具有固定连接模式的模型更灵活,但在实践中它需要为每层和注意力头创建一个N×N 的注意力矩阵,当应用于具有许多元素的数据类型(如图像或原始音频)时,会占用大量内存。
当矩阵存储在内存中或在后向传递过程中进行再计算时,深度 Transformer(64 层和 4 个头)的注意力内存使用情况。作为参考,用于深度学习的标准GPU通常具有12-32GB的存储器。
减少这种情况的一种方法是在反向传播过程中从检查点重新计算注意力矩阵,这是深度学习中的一种成熟技术,用于以更多的计算为代价来减少内存使用。
当完成Transformer中的注意力矩阵时,这意味着最大的内存成本与层数无关,这使研究人员能够以比以前更大的深度训练网络。在实践中,研究人员发现深度达128层的Transformer在基准任务(如CIFAR-10)上的表现优于较浅的网络。
为了更深入地训练这些模型,研究人员对Transformer中的操作顺序进行了几次调整,并修改了初始化方案。详见论文。
Sparse Attention(稀疏注意力)
然而,即使计算单个注意力矩阵,对于非常大的输入也会变得不切实际。因此OpenAI改为使用稀疏注意力模式,其中每个输出位置仅计算来自输入位置子集的权重。当子集相对于整个输入集较小时(例如,元素数量是√N 而不是 N),即使对于非常长的序列,由此产生的注意力计算也变得易于处理,算法复杂度为O (N√N)而不是O (N^2)。
为了评估该方法的可行性,首先可视化并学习了图像上深度 Transformer 的注意力模式,发现许多模式表现出可解释的和结构化的稀疏模式。哪个输入像素(白色高亮标出)由一个给定的注意力头处理,以预测图像中的下一个值。当输入部分聚焦在小的子集上并显示出高度的规则性时,该层易于稀疏化。对于CIFAR-10图像上的128层模型,此处显示了它们的样本:
让128层CIFAR-10网络的多个层学习注意模式(白色高亮显示)。这些层学会了将注意力分散在两个维度上。第19层总结了每一行的信息,第20层按列聚合这些摘要,从而有效分解了全注意力运算。
一些层学会了获取位置记忆,无论输入数据或时间步长如何,通常都会访问类似的位置(第6层)。 其他层学习了高度依赖数据的访问模式(第36层)。
虽然许多图层显示出稀疏的结构,但某些图层清晰地显示出在整个图像上延伸的动态注意力。为了保持网络学习这些模式的能力,研究人员实施了注意力矩阵的二维分解,其中网络可以通过两步稀疏注意力关注到所有位置。
第一个版本是strided attention,大致相当于每个位置处理它的行和列,与上面网络学习的注意力模式类似。(注意,列注意力可以等效地表示为注意力转置矩阵的行)。第二个版本是fixed attention,它关注固定列和最新列元素之后的元素,研究者认为这个模式对于数据无法拟合二维结构(如文本)的情况很有用。
实验结果
Sparse Transformers在CIFAR-10,Enwik8和Imagenet 64数据集上刷新了当前最优密度估计分数。
在 CIFAR-10、Enwik8 和 Imagenet 64 数据集上的密度估计性能(单位为 bits per byte/dim)。M 表示网络中使用的参数(单位为百万),W 表示网络宽度,L 表示层数,H 表示头数。
研究人员还发现,除了明显速度更快之外,稀疏注意力的损失低于完全注意力(参见论文)。这可能表明稀疏模式存在有用的归纳偏置,或者是密集注意力的底层优化问题。
生成图像
使用稀疏注意力的Transformer似乎有一个全局结构的概念,可以通过查看图像的完整性来定性地评估全局结构。在这里,研究人员将一个64×64 ImageNet上训练的模型可视化:
损坏原图
修复图像
真实图像
研究人员还生成了完全无条件的样品,未调整的softmax温度为1.0。这些模型使用最大似然目标进行训练,众所周知,最大似然目标覆盖数据的所有模式(包括可能不存在的模式),而不是增加一小部分数据的保真度。从这些模型中抽取未调整温度的样本,可以让我们看到模型认为存在于世界上的图像的完整分布。因此,一些样本可能看起来很奇怪。
生成原始音频波形
Sparse Transformers也可以通过简单地改变位置嵌入来适应生成原始音频而不是图像。随着深度学习扩展到新的数据类型,使用这类网络轻松指定归纳偏置也很容易。
该模型在原始古典音乐片段上进行训练,并使用稀疏注意力生成长度为65,000的序列。这相当于大约5秒的原始音频,我们已经在下面的每个剪辑中连接了几个示例。
代码:
https://github.com/openai/sparse_attention
论文链接:
https://d4mucfpksywv.cloudfront.net/Sparse_Transformer/sparse_transformers.pdf