Transformer: Attention Is All You Need (2017) 翻译

news2024/12/15 12:23:05

论文:Attention Is All You Need

下载地址如下:

download: Transformer Attention Is All you need

Attention Is All You Need 中文

《Attention Is All You Need》是《Transformer》模型的开创性论文,提出了一种全新的基于注意力机制的架构,完全摆脱了传统的递归神经网络(RNN)和卷积神经网络(CNN)。

文章八位作者及分工

Jakob Uszkoreit∗ Google Research usz@google.com

Ashish Vaswani∗ Google Brain avaswani@google.com

Llion Jones∗ Google Research llion@google.com

Noam Shazeer∗ Google Brain noam@google.com

Niki Parmar∗ Google Research nikip@google.com

Aidan N. Gomez∗ † University of Toronto aidan@cs.toronto.edu

Łukasz Kaiser∗ Google Brain lukaszkaiser@google.com

Illia Polosukhin∗ ‡ illia.polosukhin@gmail.com

八位作者工作分工

1 Jakob proposed replacing RNNs with self-attention and started the effort to evaluate this idea.

Jakob 提出了用自注意力机制替代 RNN,并开始了评估这一想法的工作。

2 Ashish, with Illia, designed and implemented the first Transformer models and has been crucially involved in every aspect of this work.

Ashish 和 Illia 设计并实现了第一个 Transformer 模型,并在这项工作的各个方面发挥了至关重要的作用

3 Noam proposed scaled dot-product attention, multi-head attention and the parameter-free position representation and became the other person involved in nearly every detail.

Noam 提出了缩放点积注意力、多头注意力和无参数的位置表示,并成为几乎每个细节中的另一个重要参与者。

4 Niki designed, implemented, tuned and evaluated countless model variants in our original codebase and tensor2tensor.

Niki 设计、实现、调优并评估了我们原始代码库和 tensor2tensor 中无数的模型变体。

5 Llion also experimented with novel model variants, was responsible for our initial codebase, and efficient inference and visualizations.

Llion 也进行了新型模型变体的实验,负责我们的初始代码库,并优化了推理效率和可视化工作。

6 Lukasz and Aidan spent countless long days designing various parts of and implementing tensor2tensor, replacing our earlier codebase, greatly improving results and massively accelerating our research.

Lukasz 和 Aidan 花费了无数个漫长的日子设计和实现了 tensor2tensor,取代了我们早期的代码库,大大提升了结果并极大加速了我们的研究。

摘要

当前主流的序列转换模型(sequence transduction models)基于复杂的递归神经网络(RNNs: recurrent neural networks)或卷积神经网络(CNNs: convolutional neural networks),这些模型包括编码器(encoder)和解码器(decoder)。表现最好的模型通常通过注意力(attention)机制将编码器和解码器连接起来。我们提出了一种新的简单网络架构——Transformer,完全基于注意力机制,完全舍弃了递归和卷积结构。我们在两个机器翻译任务上的实验表明,这种模型在质量上优于现有模型,同时具有更好的并行化能力,且训练所需的时间大大减少。我们的模型在WMT 2014英德翻译任务中达到了28.4的BLEU分数,比现有的最佳结果(包括集成模型)提高了2分以上。在WMT 2014英法翻译任务中,我们的模型在8个GPU上训练了3.5天,达到了41.8的BLEU分数,成为新的单模型状态最优分数,相比文献中的最佳模型,训练成本仅为其一小部分。我们还展示了Transformer在其他任务上的良好泛化能力,成功应用于英语句法分析任务,且能够在大量和有限的训练数据上都表现出色。

1. 引言

递归神经网络(RNN:Recurrent neural networks)、长短时记忆网络(LSTM:long short-term memory)[13]和门控递归神经网络(GRU:gated recurrent neural networks)[7],特别是在序列建模和转换问题(如语言建模和机器翻译)[35, 2, 5]中,已被稳固地确立为最先进的技术。自那时以来,许多研究持续推动递归语言模型和编码器-解码器架构的边界[38, 24, 15]。

递归模型通常沿着输入和输出序列的符号位置来进行计算。在计算时间的步骤对齐时,它们会生成一系列隐状h_t,其值由先前的隐状态h_{t-1}

和位置 t 的输入共同决定。这种固有的顺序性使得训练示例之间无法并行处理,尤其是在序列长度较长时,这一点变得尤为重要,因为内存限制使得无法在多个示例间进行批处理。近期的研究通过因式分解技巧[21]和条件计算[32]显著提高了计算效率,并且在后者的情况下还提升了模型的性能。然而,顺序计算的根本限制依然存在。

注意力机制已经成为许多任务中有效的序列建模和转换模型的重要组成部分,能够建模输入或输出序列中依赖关系的同时不考虑它们的距离[2, 19]。然而,除少数几种情况[27]外,这些注意力机制通常还是与递归网络一起使用的。

在本文中,我们提出了Transformer,这是一种完全依赖注意力机制而摒弃递归的模型架构,旨在建立输入和输出之间的全局依赖关系。Transformer大大提高了并行化的能力,并且在仅使用8个P100 GPU训练12小时后,便能在翻译质量上达到新的最先进水平。

2. 背景

减少顺序计算的目标也是扩展神经GPU(Extended Neural GPU)[16]、ByteNet [18]和ConvS2S [9]的基础,这些模型都使用卷积神经网络作为基本构建块,能够并行计算所有输入和输出位置的隐藏表示。在这些模型中,关联两个任意输入或输出位置之间信号所需的操作数量随位置之间的距离增长,其中ConvS2S是线性增长,而ByteNet是对数增长。这使得学习远距离位置之间的依赖关系变得更加困难[12]。而在Transformer中,这一操作数量被减少到一个常数,尽管由于对注意力加权位置的平均,导致有效分辨率降低,这一效应我们通过多头注意力(Multi-Head Attention)在第3.2节中进行抵消。

自注意力(Self-attention),有时也称为内部注意力(intra-attention),是一种将单一序列中不同位置之间的关系进行建模的注意力机制,目的是计算该序列的表示。自注意力已经在多种任务中成功应用,包括阅读理解、抽象摘要、文本蕴含以及学习任务无关的句子表示[4, 27, 28, 22]。

端到端记忆网络(End-to-end memory networks)基于一种递归注意力机制,而不是顺序对齐的递归,并且在简单语言的问答和语言建模任务中表现良好[34]。

然而,尽我们所知,Transformer是第一个完全依赖自注意力来计算输入和输出表示的转换模型,它没有使用顺序对齐的RNN或卷积。在接下来的部分中,我们将描述Transformer,阐明自注意力的动机,并讨论它相对于如[17, 18]和[9]等模型的优势。

3. 模型架构

大多数竞争性的神经序列转导模型都具有编码器-解码器结构[5, 2, 35]。在这些模型中,编码器将输入符号表示序列(x1, ..., xn)映射到一个连续表示序列 z = (z1, ..., zn)。给定 z 后,解码器随后逐个生成输出符号序列(y1, ..., ym)。在每个步骤中,模型是自回归的[10],即在生成下一个符号时,它会将之前生成的符号作为额外输入。

Figure1: The Transformer - model architecture

Transformer 模型遵循这种整体架构,使用堆叠的自注意力机制和逐点全连接层构建编码器和解码器,分别展示在图 1 的左半部分和右半部分。

3.1 编码器和解码器堆栈

编码器:编码器由 N = 6 个相同的层堆叠而成。每一层有两个子层。第一个是多头自注意力机制,第二个是一个简单的逐位置全连接前馈网络。我们在每个子层周围使用残差连接 [11],然后进行层归一化 [1]。即,每个子层的输出为 LayerNorm(x + Sublayer(x)),其中 Sublayer(x) 是子层本身实现的函数。为了便于这些残差连接,模型中的所有子层以及嵌入层都产生维度为 dmodel = 512 的输出。

解码器:解码器同样由 N = 6 个相同的层堆叠而成。除了每个编码器层中的两个子层外,解码器还增加了第三个子层,该子层对编码器堆栈的输出执行多头注意力。与编码器类似,我们在每个子层周围使用残差连接,并进行层归一化。我们还修改了解码器堆栈中的自注意力子层,以防止某一位置对后续位置进行注意。这种掩蔽机制,加上输出嵌入的偏移位置,确保位置 i 的预测只能依赖于小于 i 的已知输出。

3.2 注意力机制

注意力函数可以描述为将一个查询和一组键值对映射到一个输出,其中查询、键、值和输出都是向量。输出是通过对值进行加权求和计算得到的,其中每个值的权重是通过查询与对应键的兼容性函数计算出来的。

图2:
(左) 缩放点积注意力 (Scaled Dot-Product Attention)。
(右) 多头注意力 (Multi-Head Attention) 由多个并行运行的注意力层组成。

3.2.1 缩放点积注意力 (Scaled Dot-Product Attention)

我们称我们的注意力机制为“缩放点积注意力”(见图2)。输入包括查询(query)和键(key),它们的维度是d_t ,值(value)的维度是d_v。我们计算查询与所有键的点积,并将每个点积除以
\sqrt{d_k},然后应用 softmax 函数以获得值的权重。

在实际操作中,我们通常会同时对一组查询进行计算,这些查询被打包成一个矩阵 Q。键和值也被打包成矩阵 K 和 V。我们将输出矩阵计算为:

{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V

最常用的两种注意力机制是加性注意力(additive attention)和点积(乘性)注意力(dot-product attention)。点积注意力与我们的算法相同,唯一的区别是存在一个缩放因子√dₖ。加性注意力通过一个前馈神经网络计算兼容性函数,该网络具有一个隐藏层。尽管这两者在理论复杂度上相似,但在实际应用中,点积注意力要快得多且更加节省空间,因为它可以通过高度优化的矩阵乘法代码来实现。

对于较小的 dₖ 值,两个机制的表现相似,但在较大的 dₖ 值时,加性注意力优于没有缩放的点积注意力[3]。我们推测,对于较大的 dₖ 值,点积的值会变得很大,从而使得 softmax 函数进入梯度极小的区域。为了解决这一问题,我们将点积缩放了一个 √dₖ 的因子。

3.2.2 多头注意力 (Multi-Head Attention)

我们发现,与使用 dₘₒdₑₗ 维度的键、值和查询执行单一的注意力函数相比,将查询、键和值分别通过不同的学习型线性投影进行线性映射 h 次到 dₖ、dₖ 和 dᵥ 的维度更为有利。在这些经过投影的查询、键和值的每个版本上,我们并行执行注意力函数,得到 dᵥ 维度的输出值。这些输出值被拼接起来,再次通过线性投影,最终得到结果,如图 2 所示。

多头注意力使得模型能够在不同的位置联合关注来自不同表示子空间的信息。使用单一注意力头时,平均操作会抑制这一点。

MultiHead(Q, K, V) = Concat(head₁, ..., headₕ)Wₒ,

其中 headᵢ = Attention(QWᵢQ, KWᵢK, VWᵢV)

其中,投影是参数矩阵 WᵢQ ∈ ℝⁿdₘₒdₑₗ × dₖ,WᵢK ∈ ℝⁿdₘₒdₑₗ × dₖ,WᵢV ∈ ℝⁿdₘₒdₑₗ × dᵥ,以及 Wₒ ∈ ℝʰdᵥ × dₘₒdₑₗ。

在本研究中,我们使用 h = 8 个并行注意力层(或称头)。对于每个头,我们使用 dk = dv = dmodel/h = 64。由于每个头的维度减少,整体计算成本与使用单一注意力头且维度完整时相似。

3.2.3 注意力在我们模型中的应用

Transformer 使用多头注意力机制的三种不同方式:

  • “编码器-解码器注意力”层:在这种层中,查询来自前一层的解码器,而内存的键(keys)和值(values)来自编码器的输出。这样,解码器中的每个位置都可以对输入序列中的所有位置进行关注。这种机制模拟了序列到序列模型(如[38, 2, 9])中的典型编码器-解码器注意力机制。
  • 编码器中的自注意力层:在自注意力层中,所有的键(keys)、值(values)和查询(queries)都来自同一个地方,这里是前一层的编码器输出。编码器中的每个位置都可以对前一层的所有位置进行关注。
  • 解码器中的自注意力层:类似地,解码器中的自注意力层允许解码器中的每个位置对该位置及之前的所有位置进行关注。为了保持自回归(auto-regressive)特性,我们需要防止解码器中向左的信息流。我们通过在缩放点积注意力中进行掩码(即将所有非法连接的输入值设置为 −∞)来实现这一点。参见图2。

3.3 位置-wise 前馈网络

除了注意力子层,我们的编码器和解码器中的每一层还包含一个完全连接的前馈网络,该网络独立且相同地应用于每个位置。这个前馈网络由两个线性变换组成,中间夹着一个ReLU激活函数。

FFN(x) = max(0, xW₁ + b₁)W₂ + b₂ (公式 2)

虽然不同位置的线性变换是相同的,但它们在每一层中使用不同的参数。另一种描述方式是将其看作是两个卷积,卷积核大小为1。输入和输出的维度为 dmodel = 512,内部层的维度为 dff = 2048。

3.4 嵌入和 Softmax

3.4 嵌入和Softmax

与其他序列转导模型类似,我们使用学习到的嵌入(embeddings)将输入和输出的令牌转换为维度为 dmodeld_{\text{model}}dmodel 的向量。我们还使用常见的学习线性变换和Softmax函数将解码器的输出转换为预测的下一个令牌的概率。在我们的模型中,我们在两个嵌入层和预Softmax线性变换之间共享相同的权重矩阵,类似于 [30] 的做法。在嵌入层中,我们将这些权重乘以 dmodel\sqrt{d_{\text{model}}}dmodel。

表1: 不同层类型的最大路径长度、每层复杂度和最小顺序操作数。n 是序列长度,d 是表示维度,k 是卷积的核大小,r 是限制自注意力中的邻域大小。

3.5 位置信息编码

3.5 位置编码

由于我们的模型不包含递归和卷积,因此,为了使模型能够利用序列的顺序信息,我们必须注入一些关于令牌在序列中相对或绝对位置的信息。为此,我们在编码器和解码器堆栈的输入嵌入底部添加了“位置编码”。位置编码的维度与嵌入的维度 dmodeld_{\text{model}}dmodel 相同,以便这两者可以相加。位置编码有许多选择,包括学习型和固定型 [9]。

在本研究中,我们使用了不同频率的正弦和余弦函数:

其中,pos 是位置,i 是维度。也就是说,位置编码的每个维度对应一个正弦波。波长从 2π 到 10000⋅2π1 形成一个几何级数。我们选择这个函数是因为我们假设它能让模型轻松学会通过相对位置进行注意力计算,因为对于任何固定偏移量 k,PEpos+k 可以表示为 PEpos的线性函数。

我们还尝试使用学习型位置嵌入 [9],并发现这两种版本的结果几乎相同(见表3,第(E)行)。我们选择了正弦波版本,因为它可能使模型能够推断出训练过程中未遇到的更长序列的长度。

4 为什么选择自注意力

在这一部分,我们将自注意力层与常用于将一个变长符号序列(x₁, ..., xₙ)映射到另一个等长序列(z₁, ..., zₙ)的循环层和卷积层进行比较,这些符号表示通常是机器翻译中的隐层表示,且 xi 和 zi 都属于 d 维空间。为了激励我们使用自注意力,我们考虑三个标准。

一个是计算复杂度。自注意力的计算复杂度是每个位置之间进行常数时间的操作,而循环神经网络层需要 O(n) 次顺序操作。在计算复杂度方面,当序列长度较长时,自注意力层比循环层要更快。

另一个是可并行化的计算量。自注意力层的操作可以被完全并行化,而循环层需要逐步执行。因此,自注意力层可以显著加速训练,尤其是在更长序列的情况下。

第三个是长程依赖的路径长度。在许多序列转换任务中,学习长程依赖是一个关键的挑战。影响学习长程依赖能力的一个关键因素是前后信号在网络中需要传递的路径长度。路径越短,学习长程依赖就越容易。因此,我们也比较了不同层类型的网络中,任意输入位置与输出位置之间的最大路径长度。

如表1所示,自注意力层通过常数次数的顺序操作连接所有位置,而循环层则需要 O(n) 次顺序操作。就计算复杂度而言,当序列长度较长时,自注意力层比循环层更为高效。

对于非常长的序列,自注意力可以通过限制只关注序列中的一个邻域(大小为 r)来提高计算性能,这样最大路径长度可以增至 O(n/r)。我们计划在未来的研究中进一步探讨这种方法。

卷积层:一个卷积层(kernel width k < n)并不能连接所有输入和输出位置对。要做到这一点,需要堆叠 O(n/k) 个卷积层(对于连续卷积核)或者 O(logk(n)) 个卷积层(对于膨胀卷积)来增加任意两位置之间的最长路径长度。卷积层的计算复杂度通常比循环层高,增加的因素是 k。然而,

可分离卷积(Separable convolutions)显著降低了复杂度,达到了 O(k · n · d + n · d²),即使 k = n,可分离卷积的复杂度也与我们模型中自注意力层和逐点前馈层的组合相等。

解释性:作为附加好处,自注意力可能会产生更具可解释性的模型。我们检查了模型的注意力分布,并在附录中展示并讨论了一些例子。个别的注意力头显然学会了执行不同的任务,许多注意力头似乎与句子的句法和语义结构相关。

综上所述,我们比较了不同层类型的网络中的总计算复杂度、可并行化的计算量以及长程依赖的路径长度等因素。在这些方面,自注意力层都表现得更好,尤其是在需要长程依赖学习的任务中。

5 训练

本节描述了我们模型的训练策略。

5.1 训练数据与批量处理

我们使用了标准的WMT 2014英语-德语数据集进行训练,数据集包含约450万对句子。句子使用字节对编码(Byte Pair Encoding, BPE)[3]进行编码,源语言和目标语言共享约37,000个词汇。对于英语-法语任务,我们使用了规模更大的WMT 2014英语-法语数据集,包含3,600万句子,并将词汇分割成一个包含32,000个词的WordPiece词汇表[38]。句子对按大致的序列长度进行批量处理,每个训练批次包含大约25,000个源语言标记和25,000个目标语言标记。

5.2 硬件与训练时间

我们在一台配备8个NVIDIA P100 GPU的机器上训练了我们的模型。对于本文中描述的基础模型,每个训练步骤大约需要0.4秒。我们将基础模型训练了100,000步,约为12小时。对于更大的模型(见表3底部行),每步训练时间为1.0秒,训练了300,000步(3.5天)。

5.3 优化器

我们使用了Adam优化器[20],设置为β₁ = 0.9,β₂ = 0.98,ε = 10⁻⁹。我们在训练过程中根据以下公式调整学习率:

该公式表示,在前 warmup_steps 步中,学习率线性增长,之后学习率按照步数的平方根倒数递减。我们设置了 warmup_steps = 4000

5.4 正则化

我们在训练过程中使用了三种类型的正则化:

表2:Transformer在英语-德语和英语-法语的newstest2014测试中,BLEU得分优于之前的最先进模型,并且训练成本大大降低。

残差连接丢弃(Residual Dropout):我们在每个子层的输出上应用了dropout[33],在其加到子层输入并进行归一化之前。此外,我们还在编码器和解码器栈中嵌入和位置编码的和上应用dropout。在基础模型中,我们使用丢弃率 Pdrop=0.1

标签平滑(Label Smoothing):在训练过程中,我们应用了标签平滑,平滑值为 ϵls=0.1\epsilon_{ls} = 0.1ϵls=0.1 [36]。这会增加困惑度,因为模型学会变得不那么确定,但能够提高准确度和BLEU得分。

6 结果

6.1 机器翻译

在WMT 2014英语到德语的翻译任务中,大Transformer模型(表2中的"Transformer (big)")在BLEU得分上超过了此前报告的所有最优模型(包括集成模型),领先超过2.0 BLEU,达到了28.4的最新最优得分。该模型的配置列在表3的最后一行。训练使用了8个P100 GPU,花费了3.5天的时间。即使是我们的基础模型,也超过了所有此前发布的模型和集成模型,且训练成本远低于任何竞争性模型。

在WMT 2014英语到法语的翻译任务中,我们的大模型达到了41.0的BLEU得分,超越了所有此前发布的单一模型,且训练成本不到之前最优模型的四分之一。针对英语到法语的Transformer (big)模型,使用了丢弃率Pdrop=0.1P_{drop} = 0.1Pdrop=0.1,而不是0.3。

对于基础模型,我们使用了一个单独的模型,该模型通过对最后5个检查点的平均获得,这些检查点每10分钟保存一次。对于大模型,我们平均了最后20个检查点。我们采用了束搜索(beam search),束宽为4,长度惩罚 α=0.6\alpha = 0.6α=0.6 [38]。这些超参数是在开发集上实验后选定的。在推理过程中,我们将最大输出长度设置为输入长度+50,但在可能的情况下提前终止 [38]。

表2总结了我们的结果,并将我们的翻译质量与训练成本与文献中的其他模型架构进行了对比。我们通过将训练时间、使用的GPU数量与每个GPU的持续单精度浮点能力估算相乘,来估算训练一个模型所需的浮点运算次数。

6.2 模型变种

为了评估Transformer各个组件的重要性,我们对基础模型进行了不同方式的变动,并衡量了其在英语到德语翻译任务上的性能变化。我们使用了前文提到的束搜索(beam search)方法,但未进行检查点平均(checkpoint averaging)。这些结果见表3。

在表3的(A)行中,我们变动了注意力头的数量和注意力键值的维度,同时保持计算量不变,具体方法参见3.2.2节。尽管单头注意力的BLEU得分比最佳配置低了0.9分,但过多的头数也会导致质量下降。

在表3的(B)行中,我们观察到减少注意力键值维度 dkd_kdk 会降低模型的质量。这表明,确定兼容性并不容易,可能需要比点积(dot product)更为复杂的兼容性函数。

在表3的(C)和(D)行中,我们进一步发现,正如预期的那样,模型越大,性能越好;而且dropout在避免过拟合方面非常有效。

在表3的(E)行中,我们将基于正弦波的位置信息编码(sinusoidal positional encoding)替换为学习的位置信息嵌入(learned positional embeddings),并观察到与基础模型几乎相同的结果。

6.3 英语句法分析

为了评估 Transformer 是否能够推广到其他任务,我们在英语成分句法分析任务上进行了实验。这个任务有其特定的挑战:输出受到强烈的结构约束,并且显著长于输入。此外,RNN 序列到序列模型在小数据集上的表现未能达到最先进的结果 [37]。

我们在 Penn Treebank 的《华尔街日报》(WSJ)部分上训练了一个 4 层的 Transformer,dmodel = 1024,训练数据约为 4 万个句子。我们还在半监督设置下进行训练,使用了更大规模的高置信度和 BerkleyParser 语料库,包含约 1700 万个句子 [37]。对于仅使用 WSJ 的设置,我们使用了 16K 的词汇表;对于半监督设置,词汇表为 32K。

我们只进行了一小部分实验,用于选择在第 22 节开发集上的 dropout(包括注意力和残差 dropout)、学习率和束搜索大小,其他参数与英语到德语的基础翻译模型保持不变。在推理阶段,我们将最大输出长度增加到输入长度 + 300。在 WSJ 仅和半监督设置下,我们都使用了束搜索大小 21 和 α = 0.3。

我们在表 4 中的结果显示,尽管没有进行任务特定的调优,我们的模型表现出乎意料的好,除 Recurrent Neural Network Grammar [8] 外,取得了比所有先前报告的模型更好的结果。

与 RNN 序列到序列模型 [37] 相比,即使仅在 4 万个句子的 WSJ 训练集上训练,Transformer 的表现也优于 BerkeleyParser [29]。

7 结论

在这项工作中,我们提出了 Transformer,这是第一个完全基于注意力机制的序列转换模型,取代了编码器-解码器架构中常用的递归层,采用了多头自注意力机制。

对于翻译任务,Transformer 可以比基于递归或卷积层的架构训练得更快。在 WMT 2014 英语到德语WMT 2014 英语到法语 的翻译任务中,我们取得了新的最优性能。在前者任务中,我们的最佳模型甚至超越了所有之前报告的模型集成(ensemble)。

我们对基于注意力机制的模型的未来感到兴奋,并计划将其应用于其他任务。我们打算将 Transformer 扩展到处理除文本以外的输入输出模态,并探索局部限制注意力机制,以高效处理大规模的输入输出,如图像、音频和视频。使生成过程更少依赖序列化是我们未来的研究目标之一。

我们用于训练和评估模型的代码可在 GitHub 上获取。

旧地址: https://github.com/tensorflow/tensor2tensor

推荐地址: https://github.com/google/trax

致谢
我们感谢 Nal KalchbrennerStephan Gouws 对我们工作提出的宝贵意见、修正和启发。

参考(References)

[1] Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450, 2016.

[2] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. CoRR, abs/1409.0473, 2014.

[3] Denny Britz, Anna Goldie, Minh-Thang Luong, and Quoc V. Le. Massive exploration of neural machine translation architectures. CoRR, abs/1703.03906, 2017.

[4] Jianpeng Cheng, Li Dong, and Mirella Lapata. Long short-term memory-networks for machine reading. arXiv preprint arXiv:1601.06733, 2016.

[5] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. CoRR, abs/1406.1078, 2014.

[6] Francois Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv preprint arXiv:1610.02357, 2016.

[7] Junyoung Chung, Çaglar Gülçehre, Kyunghyun Cho, and Yoshua Bengio. Empirical evaluation of gated recurrent neural networks on sequence modeling. CoRR, abs/1412.3555, 2014.

[8] Chris Dyer, Adhiguna Kuncoro, Miguel Ballesteros, and Noah A. Smith. Recurrent neural network grammars. In Proc. of NAACL, 2016.

[9] Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin. Convolu- tional sequence to sequence learning. arXiv preprint arXiv:1705.03122v2, 2017.

[10] Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013.

[11] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for im- age recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.

[12] Sepp Hochreiter, Yoshua Bengio, Paolo Frasconi, and Jürgen Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies, 2001.

[13] Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.

[14] Zhongqiang Huang and Mary Harper. Self-training PCFG grammars with latent annotations across languages. In Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing, pages 832–841. ACL, August 2009.

[15] Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam Shazeer, and Yonghui Wu. Exploring the limits of language modeling. arXiv preprint arXiv:1602.02410, 2016.

[16] Łukasz Kaiser and Samy Bengio. Can active memory replace attention? In Advances in Neural Information Processing Systems, (NIPS), 2016.

[17] Łukasz Kaiser and Ilya Sutskever. Neural GPUs learn algorithms. In International Conference on Learning Representations (ICLR), 2016.

[18] Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aaron van den Oord, Alex Graves, and Ko- ray Kavukcuoglu. Neural machine translation in linear time. arXiv preprint arXiv:1610.10099v2, 2017.

[19] Yoon Kim, Carl Denton, Luong Hoang, and Alexander M. Rush. Structured attention networks. In International Conference on Learning Representations, 2017.

[20] Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.

[21] Oleksii Kuchaiev and Boris Ginsburg. Factorization tricks for LSTM networks. arXiv preprint

arXiv:1703.10722, 2017.

[22] Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017.

[23] Minh-Thang Luong, Quoc V. Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser. Multi-task sequence to sequence learning. arXiv preprint arXiv:1511.06114, 2015.

[24] Minh-Thang Luong, Hieu Pham, and Christopher D Manning. Effective approaches to attention- based neural machine translation. arXiv preprint arXiv:1508.04025, 2015.

11

[25] MitchellPMarcus,MaryAnnMarcinkiewicz,andBeatriceSantorini.Buildingalargeannotated corpus of english: The penn treebank. Computational linguistics, 19(2):313–330, 1993.

[26] David McClosky, Eugene Charniak, and Mark Johnson. Effective self-training for parsing. In Proceedings of the Human Language Technology Conference of the NAACL, Main Conference, pages 152–159. ACL, June 2006.

[27] Ankur Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. A decomposable attention model. In Empirical Methods in Natural Language Processing, 2016.

[28] Romain Paulus, Caiming Xiong, and Richard Socher. A deep reinforced model for abstractive summarization. arXiv preprint arXiv:1705.04304, 2017.

[29] Slav Petrov, Leon Barrett, Romain Thibaux, and Dan Klein. Learning accurate, compact, and interpretable tree annotation. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the ACL, pages 433–440. ACL, July 2006.

[30] Ofir Press and Lior Wolf. Using the output embedding to improve language models. arXiv preprint arXiv:1608.05859, 2016.

[31] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. arXiv preprint arXiv:1508.07909, 2015.

[32] Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, and Jeff Dean. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv preprint arXiv:1701.06538, 2017.

[33] Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdi- nov. Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(1):1929–1958, 2014.

[34] Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, and Rob Fergus. End-to-end memory networks. In C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett, editors, Advances in Neural Information Processing Systems 28, pages 2440–2448. Curran Associates, Inc., 2015.

[35] Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems, pages 3104–3112, 2014.

[36] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567, 2015.

[37] Vinyals & Kaiser, Koo, Petrov, Sutskever, and Hinton. Grammar as a foreign language. In Advances in Neural Information Processing Systems, 2015.

[38] Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144, 2016.

[39] Jie Zhou, Ying Cao, Xuguang Wang, Peng Li, and Wei Xu. Deep recurrent models with fast-forward connections for neural machine translation. CoRR, abs/1606.04199, 2016.

[40] Muhua Zhu, Yue Zhang, Wenliang Chen, Min Zhang, and Jingbo Zhu. Fast and accurate shift-reduce constituent parsing. In Proceedings of the 51st Annual Meeting of the ACL (Volume 1: Long Papers), pages 434–443. ACL, August 2013.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2259927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git-分支(branch)常用命令

分支 我们在做项目开发的时候&#xff0c;无论是软件项目还是其他机械工程项目&#xff0c;我们为了提高效率以及合理的节省时间等等原因&#xff0c;现在都不再是线性进行&#xff0c;而是将一个项目抽离出诸进行线&#xff0c;每一条线在git中我们就叫做分支&#xff0c;bran…

【AIGC进阶-ChatGPT提示词副业解析】反向心理学在沟通中的运用:激将法的艺术

引言 在日常沟通和管理中&#xff0c;直接的表达方式并不总能达到预期效果。反向心理学&#xff0c;特别是其中的激将法&#xff0c;作为一种独特的沟通技巧&#xff0c;往往能在看似消极的表达中激发出积极的反应。本文将深入探讨反向心理学中激将法的运用技巧、实施策略及其…

360智脑张向征:共建可信可控AI生态 应对大模型安全挑战

发布 | 大力财经 人工智能的加速发展&#xff0c;有力推动了社会的数智化转型&#xff1b;与此同时&#xff0c;带来的相关安全风险也日益凸显。近日&#xff0c;在北京市举办的通明湖人工智能开发与应用大会上&#xff0c;360智脑总裁张向征以“大模型安全研究与实践”为主题&…

lc46全排列——回溯

46. 全排列 - 力扣&#xff08;LeetCode&#xff09; 法1&#xff1a;暴力枚举 总共n!种全排列&#xff0c;一一列举出来放入list就行&#xff0c;关键是怎么去枚举呢&#xff1f;那就每次随机取一个&#xff0c;然后删去这个&#xff0c;再从剩下的数组中继续去随机选一个&a…

在线设计平台:Axure新手的在线设计助手

Axure是一款在产品设计、用户体验和交互设计领域广泛使用的强大原型设计工具。它使设计师和产品经理能够迅速构建高保真原型&#xff0c;验证设计和功能&#xff0c;并进行用户测试。结合在线设计平台的协作特性&#xff0c;团队可以更高效地创建、分享和优化原型&#xff0c;加…

Burp与小程序梦中情缘

前言 在日常渗透工作中&#xff0c;有时需要对微信小程序进行抓包渗透&#xff0c;通过抓包&#xff0c;我们可以捕获小程序与服务器之间的通信数据&#xff0c;分析这些数据可以帮助我们发现潜在的安全漏洞&#xff0c;本文通过讲述三个方法在PC端来对小程序抓包渗透 文章目…

gpu硬件架构

1.简介 NVIDIA在视觉计算和人工智能&#xff08;AI&#xff09;领域处于领先地位&#xff1b;其旗舰GPU已成为解决包括高性能计算和人工智能在内的各个领域复杂计算挑战所不可或缺的。虽然它们的规格经常被讨论&#xff0c;但很难掌握各种组件的清晰完整的图景。 这些GPU的高性…

SpringCloud集成sleuth和zipkin实现微服务链路追踪

文章目录 前言技术积累spring cloud sleuth介绍zipkin介绍Zipkin与Sleuth的协作 SpringCloud多模块搭建Zipkin Server部署docker pull 镜像启动zipkin server SpringCloud 接入 Sleuth 与 Zipkinpom引入依赖 (springboot2.6)appilication.yml配置修改增加测试链路代码 调用微服…

OBS + SRS:打造专业级直播环境的入门指南

OBS SRS&#xff1a;打造专业级直播环境的入门指南 1. OBS简介2. OBS核心功能详解2.1 场景&#xff08;Scenes&#xff09;管理2.2 源&#xff08;Sources&#xff09;控制2.3 混音器功能2.4 滤镜与特效2.5 直播控制面板 3. OBS推流到SRS服务器配置指南3.1 环境准备3.2 OBS推流…

Ubuntu K8s

https://serious-lose.notion.site/Ubuntu-K8s-d8d6a978ad784c1baa2fc8c531fbce68?pvs74 2 核 2G Ubuntu 20.4 IP 172.24.53.10 kubeadmkubeletkubectl版本1.23.01.23.01.23.0 kubeadm、kubelet 和 kubectl 是 Kubernetes 生态系统中的三个重要组件 kubeadm&#xff1a; 主…

前端(六)浮动流

浮动流 文章目录 浮动流一、标准流二、浮动流 一、标准流 所谓网页布局就是网页排版的方式&#xff0c;css中有三种网页布局的方式&#xff1a;标准流、浮动流和定位流。 标准流也称文档流&#xff0c;这是浏览器默认的排版方式。标准流中网页的元素会按从左往右、从上往下的…

双内核架构 Xenomai 4 安装教程

Xenomai 4是一种双内核架构, 继承了Xenomai系列的特点&#xff0c;通过在Linux内核中嵌入一个辅助核心&#xff08;companion core&#xff09;&#xff0c;来提供实时能力。这个辅助核心专门处理那些需要极低且有界响应时间的任务。 本文将在官网教程(https://evlproject.org/…

【安全研究】某黑产网站后台滲透与逆向分析

文章目录 x01. 前言x02. 分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与…

【SH】微信小程序调用EasyDL零门槛AI开发平台的图像分类研发笔记

文章目录 微信小程序字符串字符串模板字符串拼接 上传图片编写JS代码编写wxml代码编写wxss代码 GET请求测试编写测试代码域名不合法问题 GET和POST请求测试编写JS代码编写wxml代码编写wxss代码 效果展示 微信小程序字符串 字符串模板 这是ES6引入的特性&#xff0c;允许你通过…

6.2 Postman接口收发包

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 接口收发包的类比1.1 获取对方地址&#xff08;填写接口URL&#xff09;1.2 选择快递公司&#xff08;设置HTTP方法&#xff09;1.3 填写快递单&#xff08;设置请求头域&#…

数据链路层(Java)(MAC与IP的区别)

以太网协议&#xff1a; "以太⽹" 不是⼀种具体的⽹络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等; 例如以太⽹中的⽹线必须使⽤双绞线; 传输速率有10M, 100M, 1000M等; 以太…

SpringBoot2+Vue2开发工作管理系统

项目介绍 在工作中使用的管理系统&#xff0c;可以随手记录一些笔记、可以汇总一些常用网站的链接、可以管理自己负责的项目、可以记录每日日报和查看历史日报、可以记录加班情况、可以记录报销内容、可以编写文章文档。 系统功能 我的笔记快捷入口项目管理今日日报我的日报…

软考中级-软件设计师通过心路经验分享

执念&#xff0c;第四次终于通过了 没买书&#xff0c;下班后每天2小时&#xff0c;四个2个月终于过了 学习经验&#xff1a; 1.下班后学习真的靠毅力&#xff0c;和上学的时候考证不是一个状态&#xff0c;大家要及时调整&#xff0c;否则过程很痛苦 2.失败三次的经验&#xf…

burp(2)利用java安装burpsuite

BurpSuite安装 burpsuite 2024.10专业版&#xff0c;已经内置java环境&#xff0c;可以直接使用&#xff0c; 支持Windows linux macOS&#xff01;&#xff01;&#xff01; 内置jre环境&#xff0c;无需安装java即可使用&#xff01;&#xff01;&#xff01; bp2024.10下载…

el-table 动态计算合并行

原始表格及代码 <el-table:data"tableData"class"myTable"header-row-class-name"tableHead" ><el-table-column prop"date" label"日期"> </el-table-column><el-table-column prop"name" …