佛山免费建站模板,网站源码是用什么做的,网站建设的实验总结,手机wap文字游戏1. 整体概述
2. Encoder 2.1 Embedding 2.2 位置编码 2.2.1 为什么需要位置编码 2.2.2 位置编码公式 2.2.3 为什么位置编码可行 2.3 注意力机制 2.3.1 基本注意力机制 2.3.2 在Trm中是如何操作的 2.3.3 多头注意力机制
2.4 残差网络
2.5 Batch Normal Layer Narmal 2.…1. 整体概述
2. Encoder 2.1 Embedding 2.2 位置编码 2.2.1 为什么需要位置编码 2.2.2 位置编码公式 2.2.3 为什么位置编码可行 2.3 注意力机制 2.3.1 基本注意力机制 2.3.2 在Trm中是如何操作的 2.3.3 多头注意力机制
2.4 残差网络
2.5 Batch Normal Layer Narmal 2.5.1 Batch Normal 2.5.2 Layer Normal
3. Decoder 3.1 Mask 3.2 交互层 1. 整体概述 Transformer模型首次提出是在论文Attention is All You Need中。在论文中Transformer被用来实现机器翻译的工作。相较于RNN难以并行处理信息与CNN窗口短难以处理长序列的缺点Transformer具有更高的效率与更加优秀的性能。 总体来看Transformer由编码器与解码器两部分组成。 其中Encoder与Decoder是可以堆叠N论文中N6层的这些层结构相同参数独立。 论文中的Transformer架构如下下文将针对各个环节进行解释。 2. Encoder 分为三个部分输入部分、注意力机制与前馈神经网络。将输入送入(词嵌入层)与位置编码对位相加。之后进行多头注意力机制处理进入残差网络并将结果进行。之后进入双层全连接网络并对结果进行残差和正则化处理。 论文中的有6层堆叠网络其中每层有2层子层网络。 2.1 Embedding 可以看作是一个查找表用来获取每个单词的学习向量表示。神经网络通过数字进行学习所以将每个单词映射到一个连续值的向量来表示该单词。 2.2 位置编码 2.2.1 为什么需要位置编码 不同于RNN的按时间线串行处理Transformer是并行处理的。为了保存序列顺序引入位置编码。 2.2.2 位置编码公式 将Embedding与位置编码相加得到的值作为下面环节的输入。 2.2.3 为什么位置编码可行 对于一个特定位置的维的位置向量借助三角函数的性质 我们可以得到 可以看出位置的位置向量的某一维或可以由位置与位置的位置向量的与为的线性组合表示。这意味着向量中蕴含了相对位置信息但该相对位置信息会在注意力机制处消失。
2.3 注意力机制 2.3.1 基本注意力机制 注意力即关注点。比如给你一张包含婴儿的图片并提问婴儿在干嘛此时你对图片中各部分的关注度是不同的可能对婴儿的脸与手的部分关注度更高而对图片边缘部分则关注度较低。 论文中给出的注意力公式如下 下面以输入“我不爱你”为例解释公式。如图阶段1中向量Q与向量K点乘点乘得到的值可以反映两个向量之间的相似程度。阶段2对阶段1中得到的值做了类softmax的归一化处理。除以可以防止值向两端偏导致梯度消失。阶段3中将阶段2得到的值分别与对应的value值相乘最后将这些结果相加得到了Attention Value。 以上是nlp的举例cv中也类似图像的分割可类比词的分割。 2.3.2 在Trm中是如何操作的 首先我们需要由单词向量获取的值。对于词向量将其分别与相乘注意这里与所有的词向量相乘的都是同一套参数可以得到。接着计算的相似度得到的值。 在实际代码中通常使用矩阵表示方便并行。 2.3.3 多头注意力机制 将词向量与不同的参数相乘可以得到多组值。亦即将投影到低维次做j次注意力函数合并每个输出得到最终输出。 类似于里的多通道输出使得Trm有可学习的参数。 2.4 残差网络 残差网络将原先的输出与输入对位相加。要求输入与输出维度相同论文中设置维度为512。 将上图简化如下 根据后向传播的链式法则 而 所以。 连乘容易导致梯度消失又因为连乘前有“1”在所以偏导不易为0。因此使用残差可以得到有效防止梯度消失从而得到更深的网络。
2.5 Batch Normal Layer Narmal 2.5.1 Batch Normal 针对不同样本的同一维度特征进行标准化处理使得均值为0方差为1。 缺点 1.当较小时效果差此时每个里的样本的均值和方差无法替代整体。 2.在中效果比较差因为会出现词向量长度不一样的情况。 2.5.2 Layer Normal 针对同一样本的不同维度特征进行标准化处理使得均值为0方差为1。 3. Decoder 与的组成模块大体相似主要的不同在于与交互层。 论文中的具有6层堆叠网络其中每层网络有2个子层多插入了第三个子层。 3.1 Mask 需要Mask的原因若与Encoder一样没有Mask则会导致预测结果偏差。因为那样子训练模型的时候后续单词是可见的但实际预测时未来的单词是不可知的。因此将后续的单词计入影响是不合适的。 实现Mask的方法计算权重时t时刻之后的值替换为很大的负数指数变换后为0。 3.2 交互层 每个Encoder与所有的Decoder进行交互。kv来自于Encoder本身q来自于Decoder。这里相当于Decoder中的每个q去询问每个Encoder输出的量并与之结合。 但是在实际代码训练中一般Encoder生成qk矩阵Decoder生成v矩阵加权。 参考资料
Vaswani, Ashish, et al. “Attention is All You Need.” Advances in Neural Information Processing Systems (NIPS), 2017.
Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibiliTransformer从零详细解读(可能是你见过最通俗易懂的讲解)_哔哩哔哩_bilibili超强动画一步一步深入浅出解释Transformer原理_哔哩哔哩_bilibili