德洲网站建设,如何在网上推广信用卡,wordpress 采集 json,个人免费推广网站1.Transforme与LSTM的区别 transformer和LSTM最大的区别就是LSTM的训练是迭代的#xff0c;无法并行训练#xff0c;LSTM单元计算完T时刻信息后#xff0c;才会处理T1时刻的信息#xff0c;T 1时刻的计算依赖 T-时刻的隐层计算结果。而transformer的训练是并行了#xff0… 1.Transforme与LSTM的区别 transformer和LSTM最大的区别就是LSTM的训练是迭代的无法并行训练LSTM单元计算完T时刻信息后才会处理T1时刻的信息T 1时刻的计算依赖 T-时刻的隐层计算结果。而transformer的训练是并行了就是所有字是全部同时训练的这样就大大加快了计算效率transformer使用了位置嵌入positional encoding来理解语言的顺序使用自注意力机制和全连接层进行计算。
2.Transforme与CNN的区别 相较于CNN依靠step的卷积Transformer其能直接获取全局信息。
3.Transformer中的Multi-head Attention 从直观讲多头的注意力有助于网络捕捉到更丰富的特征/信息。论文原文如下 Multi-head attention allows the model to jointly attend to information from different representation subspaces at different positions. 举例说明different representation subspaces。如图所示在颜色方面更加关注鲜艳亮丽的文字而在字体方面会去注意大的、粗体的文字。 这里的颜色和字体就是两个不同的表示子空间。同时关注颜色和字体可以有效定位强调的内容。使用多头注意力也就是综合利用各方面的信息/特征。 4.Transformer在训练什么 Transformer在训练时就是不断的在优化自己的多头注意力层不断调整输入与输出之间的隐层特征调整Q、K、V的权重矩阵使其能够学习到复杂映射关系。 5.Q、K矩阵相乘为什么最后要除以√dk 当 √dk 特别小的时候其实除不除无所谓。无论编码器还是解码器Q、K矩阵其实本质是一个相同的矩阵。Q、K相乘其实相等于Q乘以Q的转置这样造成结果会很大或者很小。小了还好说大的话会使得后续做softmax继续被放大造成梯度消失不利于梯度反向传播。
6.Transformer如何实现并行化 Transformer之所以能支持Decoder部分并行化训练是基于以下两个关键点 ①teacher force 对于teacher force是指在每一轮预测时不使用上一轮预测的输出而强制使用正确的单词过这样的方法可以有效的避免因中间预测错误而对后续序列的预测从而加快训练速度而Transformer采用这个方法为并行化训练提供了可能因为每个时刻的输入不再依赖上一时刻的输出而是依赖正确的样本而正确的样本在训练集中已经全量提供了。值得注意的一点是Decoder的并行化仅在训练阶段在测试阶段因为我们没有正确的目标语句t时刻的输入必然依赖t-1时刻的输出这时跟之前的seq2seq就没什么区别了。 ②masked self attention 多头注意力意味着多组KQV进行self-attention运算不同于LSTM中的一步步的按部就班的运算而是KQV的运算可以是同时计算的这是因为每QKV的线性变换不同计算互不影响 注意transformer的运算复杂度乘法运算不一定比LSTM少但因为可以进行同步运算因而可以依靠硬件加速。
7.Transformer在GPT和BERT中的应用 GPT 中训练的是单向语言模型其实就是直接应用 Transformer Decoder Bert 中训练的是双向语言模型应用了 Transformer Encoder 部分不过在 Encoder 基础上还做了 Masked 操作。 BERT Transformer 使用双向 self-attention双向 self-attention的意思就是计算的att是针对整个句子。而 GPT Transformer 使用受限制的 self-attention其中每个 token 只能处理其左侧的上下文。
8.为何Transformer中使用LN而不用BN? BatchNorm是对一个batch-size样本内的每个特征做归一化LayerNorm是对每个样本的所有特征做归一化。 形象点来说假设有一个二维矩阵。列为batch-size行为样本特征。那么BN就是竖着归一化LN就是横着归一化。 它们的出发点都是让该层参数稳定下来避免梯度消失或者梯度爆炸方便后续的学习。但是也有侧重点。如果特征依赖于不同样本间的统计参数那BN更有效。因为它抹杀了不同特征之间的大小关系但是保留了不同样本间的大小关系。CV领域而在NLP领域LN就更加合适。因为它抹杀了不同样本间的大小关系但是保留了一个样本内不同特征之间的大小关系。对于NLP或者序列任务来说一条样本的不同特征其实就是时序上字符取值的变化样本内的特征关系是非常紧密的。
9.Transformer是自回归模型还是自编码模型 自回归模型。 所谓自回归即使用当前自己预测的字符再去预测接下来的信息。Transformer在预测阶段机器翻译任务会先预测第一个字然后在第一个预测的字的基础上接下来再去预测后面的字是典型的自回归模型。Bert中的Mask任务是典型的自编码模型即根据上下文字符来预测当前信息。
10.Transformer中三个 Multi-Head Attention 单元的差异 Transformer中有三个多头自注意力层编码器中有一个解码器中有两个。 A 编码器中的多头自注意力层的作用是将原始文本序列信息做整合转换后的文本序列中每个字符都与整个文本序列的信息相关。Encoder 的 Multi-Head Attention 中KVQ都是输入序列的 embedding 矩阵。 B 解码器的第一个多头自注意力层比较特殊原论文给其起名叫Masked Multi-Head-Attention。其一方面也有上图介绍的作用即对输入文本做整合对与翻译任务来说编码器的输入是翻译前的文本解码器的输入是翻译后的文本。另一个任务是做掩码防止信息泄露。拓展解释一下就是在做信息整合的时候第一个字符其实不应该看到后面的字符第二个字符也只能看到第一个、第二个字符的信息以此类推。Decoder 中提取 Outputs 序列 Multi-Head Attention。他的Q、K、V都是相同的。但是相比于 A 的 Attention他多了 Mask 单元来防止 Outputs 序列发生泄漏。 C 解码器的第二个多头自注意力层与编码器的第一个多头自注意力层功能是完全一样的。不过输入需要额外强调下我们都知道多头自注意力层是通过计算QKV三个矩阵最后完成信息整合的。在这里Q是解码器整合后的信息KV两个矩阵是编码器整合后的信息是两个完全相同的矩阵。QKV矩阵相乘后翻译前与翻译后的文本也做了充分的交互整合。至此最终得到的向量矩阵用来做后续下游工作。Decoder 中将输入序列与 Outputs 序列交叉的部分所以他的上下文矩阵Q来自上一个 Decoder 的 Multi-Head Attention 单元的输出KV来自 encoder 的输出矩阵。
11.Transformer和seq2seq的差异 seq2seq最大的问题在于将Encoder端的所有信息压缩到一个固定长度的向量中并将其作为Decoder端首个隐藏状态的输入来预测Decoder端第一个单词(token)的隐藏状态。在输入序列比较长的时候这样做显然会损失Encoder端的很多信息而且这样一股脑的把该固定向量送入Decoder端Decoder端不能够关注到其想要关注的信息。 Transformer不但对seq2seq模型这两点缺点有了实质性的改进(多头交互式attention模块)而且还引入了self-attention模块让源序列和目标序列首先“自关联”起来这样的话源序列和目标序列自身的embedding表示所蕴含的信息更加丰富而且后续的FFN层也增强了模型的表达能力并且Transformer并行计算的能力远远超过了seq2seq系列模型。