【原文+译文】
The goal of reducing sequential computation also forms the foundation of the Extended Neural GPU, ByteNet and , all of which use convolutional neural networks as basic building block, computing hidden representations in parallel for all input and output positions.
减少序列计算的目标也构成了扩展神经 GPU(Extended Neural GPU)、ByteNet 和 WaveNet 的基础,这些模型都使用卷积神经网络作为基本构建模块,并为所有输入和输出位置并行计算隐藏表示。
In these models, the number of operations required to relate signals from two arbitrary input or output positions grows in the distance between positions, linearly for ConvS2S and logarithmically for ByteNet
在这些模型中,将两个任意输入或输出位置的信号关联起来所需的操作数量会随着位置之间的距离增加而增长,其中 ConvS2S 模型是线性增长,而 ByteNet 模型是对数增长。
This makes it more difficult to learn dependencies between distant positions.
这使得学习远离位置之间的依赖关系变得更加困难。
In the Transformer this is reduced to a constant number of operations, albeit at the cost of reduced effective resolution due to averaging attention-weighted positions, an effect we counteract with Multi-Head Attention as described in section 3.2.
在 Transformer 中,这被减少为一个恒定的操作数量,尽管这会因为对注意力加权位置的平均而降低有效分辨率。我们通过在第 3.2 节中描述的多头注意力机制来抵消这一效果。
Self-attention, sometimes called intra-attention is an attention mechanism relating different positions of a single sequence in order to compute a representation of the sequence.
自注意力(Self-attention),有时也称为内注意力(intra-attention),是一种将单个序列中不同位置相关联的注意力机制,用于计算序列的表示。
Self-attention has been used successfully in a variety of tasks including reading comprehension, abstractive summarization, textual entailment and learning task-independent sentence representations.
自注意力在多种任务中取得了成功,包括阅读理解、抽象摘要、文本蕴涵以及学习任务无关的句子表示。
End-to-end memory networks are based on a recurrent attention mechanism instead of sequence aligned recurrence and have been shown to perform well on simple-language question answering
and language modeling tasks.
端到端记忆网络基于递归注意力机制,而不是序列对齐的递归,并且已被证明在简单语言的问答和语言建模任务中表现良好。
To the best of our knowledge, however, the Transformer is the first transduction model relying entirely on self-attention to compute representations of its input and output without using sequence aligned RNNs or convolution.
然而,据我们所知,Transformer 是第一个完全依赖自注意力机制来计算输入和输出表示的转导模型,而不使用序列对齐的递归神经网络(RNN)或卷积。
In the following sections, we will describe the Transformer, motivate self-attention and discuss its advantages over models such as [17, 18] and [9].
在接下来的章节中,我们将描述 Transformer,阐述自注意力机制的动机,并讨论其相对于模型 [17, 18] 和 [9] 的优点。
【专业词汇】
- parallel :并行
- block:块
- linearly:线性的
- logarithmically :对数的
- constant:常数的,固定的
- effective resolution:有效分辨率
- counteract:抵消,对抗
- Multi-Head Attention:多头注意力
- task-independent:任务无关的
- Sequence aligned:序列对齐
- Recurrent attention mechanism:递归注意力机制
【扩展知识】
扩展神经 GPU
扩展神经 GPU(Extended Neural GPU, ENGPU) 是一种基于卷积神经网络的神经网络模型,专门设计用于高效地处理长序列的任务。它旨在减少传统循环神经网络在处理长序列时的计算开销,通过并行化计算来加速训练和推理过程。
"GPU" 表示模型的设计灵感来源于 GPU 的并行计算能力,但它并不指代实际的硬件。模型本身仍然是一种神经网络模型。
传统的循环神经网络,需要依次处理序列数据的每个元素,因此随着序列长度的增加,计算时间也会线性增长。而扩展神经 GPU 通过使用卷积神经网络(CNN)替代循环机制,能够并行处理整个序列。
和CNN的区别:传统的 CNN 处理图像,ENGPU 主要处理的是序列数据,比如文本或时间序列。
ByteNet
ByteNet 是一种用于序列建模的神经网络架构,主要用于自然语言处理(NLP)任务。它是基于卷积神经网络(CNN)设计的,用于处理文本序列中的长距离依赖关系。
ByteNet 结合了卷积操作和残差连接,以实现对长序列的建模。它使用卷积层来处理序列数据,并且通过残差连接帮助在训练时保持梯度稳定,从而捕捉长距离的依赖。
WaveNet
WaveNet 是一种生成模型,主要用于生成高质量的语音波形。它由 DeepMind 提出的,能够生成自然流畅的音频信号。主要用于语音合成、音乐生成以及其他音频生成任务。
WaveNet 使用了深度卷积神经网络(CNN)结构,特别是因果卷积(causal convolution)和残差连接,以逐步生成音频信号。它通过对每个音频样本进行建模,生成高质量的音频波形。
有效分辨率
有效分辨率(Effective resolution”),指的是在某个系统或模型中,捕捉和处理信息的能力。
在原文中,是指,由于平均化注意力加权位置,模型在捕捉细节或处理复杂信息时的能力有所下降。
注意力头
每个注意力头对输入数据进行独立的线性变换,将其映射到查询(Query)、键(Key)和值(Value)空间,并计算注意力分数和上下文表示。
这些头部可以专注于输入数据的不同方面,并行地工作,捕捉输入数据中的不同特征或关系。
多注意力头
多注意力头(Multi-Head Attention) 是一种在 Transformer 模型中使用的机制,用于提升注意力机制的表达能力。通过并行地应用多个注意力头,来捕捉输入数据中的不同信息子空间(从不同的角度理解输入),从而增强模型对信息的综合处理能力。
计算过程:
- 输入数据,会被线性变换成多个不同的表示(通常是不同的子空间),然后每个表示都通过一个注意力机制处理。
- 然后,将所有头的输出结果拼接在一起,经过另一个线性变换得到最终的输出。
任务无关的
任务无关的(Task-independent)指不依赖于特定任务的,可以在不同的任务中使用或适用,而不需要针对每个任务进行特定的调整或优化。
序列对齐
序列对齐(Sequence aligned)在模型处理输入或输出序列时,模型依赖于序列中元素的固定顺序,进行对齐的方式。这种方式常见于递归神经网络(RNN)等传统模型中,因为它们通过逐步处理每个输入元素,依赖于元素之间的时间顺序来捕捉上下文。也就是说,必须按顺序处理每个元素,才能理解整段文字的意义。
然而,这种对齐方式也带来了限制,难以捕捉长距离依赖关系,比如处理长序列时容易丢失信息,或者在处理并行任务时效率不高。这正是 Transformer 模型的突破所在。
递归注意力机制
递归注意力机制(Recurrent attention mechanism),结合了递归神经网络(RNN)和注意力机制的模型设计,用于处理和生成序列数据。RNN负责处理序列数据的时间依赖关系。注意力机制在处理序列时,动态地关注输入序列的不同部分。
自注意力机制
自注意力机制(Self-Attention Mechanism)主要作用是使模型能够在处理序列的每个元素时,考虑到序列中所有其他元素的信息,从而捕捉长距离依赖关系和上下文信息。
与其他注意力机制不同的是,自注意力机制关注的是同一个序列内部的元素之间的依赖关系,并计算每个位置对其他所有位置的注意力权重。
计算过程:
- 计算注意力权重:计算序列中每个位置,对其他所有位置的注意力权重(与序列中所有其他元素的相似度,以确定关注的程度),这通常通过点积计算来实现。
- 生成加权表示:使用计算得到的注意力权重,对序列中所有元素进行加权平均,生成一个新的表示。这个表示结合了序列中所有其他元素的信息,使得每个元素都能反映整个序列的上下文。
- 处理序列的每个元素:序列中的每个元素都可以对其他所有元素进行注意,从而在生成表示时充分考虑上下文信息。
自注意力的优点:
- 并行化处理:自注意力机制可以并行处理整个序列
- 长距离依赖:能够有效捕捉长距离依赖关系,因为每个元素可以直接关注到序列中的所有其他元素。
- 动态上下文:根据具体任务和输入,动态调整每个元素的注意力权重,使得表示更加灵活和准确。