电影网站权重怎么做,全部网站,龙岗网站-建设深圳信科,wordpress移动图标文章目录 前言论文阅读研究现状工作内容模型架构训练过程实验结果模型代码 其他评价 前言
Transformer可以说是深度学习领域最重要的#xff0c;里程碑式的工作之一#xff0c;发表于2017年的NIPS。该模型开创了自MLP#xff08;多层感知机#xff09;、CNN#xff08;卷… 文章目录 前言论文阅读研究现状工作内容模型架构训练过程实验结果模型代码 其他评价 前言
Transformer可以说是深度学习领域最重要的里程碑式的工作之一发表于2017年的NIPS。该模型开创了自MLP多层感知机、CNN卷积神经网络和RNN循环神经网络之后的第四种基础模型。这项工作也成为当前AIGC盛行的最重要的基础是Google公司对人工智能领域的卓越贡献。
Transformer论文中的所有作者都是共同一作这种情况一般是比较少见的。但是这篇文章中也详细介绍了每一名作者对文章所做的贡献是什么而非只是给每个作者的贡献用几个很虚的词进行描述。反观当今学术界的共同一作挂名现象不得不说有些论文的共同一作已经失去了原本的意义可悲可叹。
根据2024年3月份的最新消息实际上Transformer中二作Shazeer贡献最大。
论文阅读
研究现状
目前的主流序列转录模型主流的序列转录模型使用复杂的循环神经网络或卷积神经网络包含一个编码器和一个解码器。性能最好的模型中会在编码器和解码器之间增加一种注意力机制。对于自然语言处理中的主流序列转录任务目前最好的方法都是基于RNN、LSTM和GRU的。循环神经网络存在的问题循环神经网络需要通过上一个时间步的隐藏状态和当前时刻的输入来获取当前时间步的隐藏状态这样就妨碍了模型的并行程度。注意力机制在编解码器中的应用现状注意力机制往往用于循环神经网络编解码器中将编码器的内容高效地传递给解码器但是目前还没有仅仅基于注意力机制的模型架构。
工作内容
研究概述本文提出了一种简单的网络架构Transformer该架构完全基于注意力机制而舍弃了循环神经网络和卷积神经网络。该模型中将循环神经网络中的所有循环层替换为了多头注意力不仅能够取得更好的性能而且受益于很好的并行策略该模型的训练时间也显著更低。与CNN和RNN的联系Transformer中通过多头注意力机制模拟卷积神经网络的多输出通道的优点通过完全并行克服了循环神经网络中需要逐时间步计算隐藏状态的缺点。
模型架构
编解码器架构Transoformer仍然基于编解码器的基本架构即包含一个编码器和一个解码器。 词元嵌入层 将每一个词元转换为一个向量编码器编码器由6个完全相同的神经网络层组成每个层都包含两个子层分别是一个多头注意力子层和一个MLP子层包含两个线性层。这两个子层内部都有残差连接输出都经过了层归一化。编码器的输出作为解码器的输入。出于方便残差连接的简单考虑所有输出向量的维度都控制为512。解码器解码器也由多个相同的块构成。与编码器的块不同解码器的块中包含三个子块其中两个子块与编码器的两个子块相同但是第三个子块是一个带掩码的多头注意力机制子块当然其中也有残差连接和层归一化。之所以需要带掩码的模块是因为按照逻辑解码器在计算某个时间步的输出时不应该看到该时间步及其之后的输入内容因为所有时间步的输入是一次性传入解码器的。层归一化对每一个样本对应的特征向量做一个标准化。注意力机制注意力机制中有三个重要概念分别是Key简称K、Value简称V和Query简称Q。计算注意力机制的过程如下首先需要计算Query和每个Key之间的相似度然后根据Query和每个Key之间的相似度为每个Value分配权重与Query越相似的Key对应Value的权重越大最后对Value进行加权平均求和即获得最终的Output。Transformer中除了解码器中的多头注意力子层对于输入的序列该序列同时作为Q K和V即被称为自注意力机制。两种常见的注意力机制加性注意力机制和点积注意力机制。Transformer中采用的是改进型的点积注意力机制。相似度的计算最简单的相似度计算可以采用余弦相似度即将两个向量进行内积值越大表示两个向量的方向越相近也就是相似度越高。在Transformer中对点积注意力进行了Scale改进也就是除以Key的维度的平方根从而防止传递的梯度过小使得模型难以训练。多头注意力机制Transformer中没有做高维的注意力函数计算相反它将注意力函数中的各个序列都进行了投影降维并基于降维后的序列进行了8次注意力函数计算并将计算的结果拼接在一起。这样的方式模拟了卷积神经网络中的多通道输出从而尽可能地保留了特征识别结果的多样性。位置编码由于注意力机制的计算过程之中并没有蕴含时序信息因此需要显式地向模型中输入时序信息。在Transformer中在输入部分增加了位置编码该位置编码是基于当前词元的位置下标和三角函数进行计算的。最终将位置编码和嵌入后的词元向量直接相加就得到了每个词的完整表示。
训练过程
采用8张NVIDIA P100 GPU进行训练现在Google的工作大部分都是基于更快的TPU进行训练的了而非使用GPU使用Adam优化器。对于学习率采用的是一种先提升后降低的策略模型中采用了大量Dropout技术进行正则化dropout率设置为0.1。另外还使用了Inception V3中的标签平滑化操作来进行另一种正则化。
实验结果
机器翻译任务在两个机器翻译任务上该模型在性能上更加优越并且有更高的并行程度需要显著更少的训练时间。在一项英语到德语的翻译实验中该模型比包括集群算法在内的最好结果高出了两个BLEU在另一项英语到法语的翻译任务中该模型实现在所有单模型中最好的性能并且训练的速度要比其他的架构都快很多。另一项NLP任务另外在另一个NLP任务上Transformer也取得了很好的效果。
模型代码
存放于Github上的tensor2tensor模块中。
其他评价
由于注意力机制对整个模型的归纳偏置更少因此往往需要更多的数据和更大的模型才能达到很好的效果。