简单易懂的Transformer学习笔记

这篇具有很好参考价值的文章主要介绍了简单易懂的Transformer学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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由编码器与解码器两部分组成。    

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        其中,Encoder与Decoder是可以堆叠N(论文中N=6)层的,这些层结构相同,参数独立。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        论文中的Transformer架构如下,下文将针对各个环节进行解释。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

2. Encoder

       分为三个部分,输入部分、注意力机制与前馈神经网络。将输入送入(词嵌入层),与位置编码对位相加。之后进行多头注意力机制处理,进入残差网络并将结果进行。之后进入双层全连接网络,并对结果进行残差和正则化处理。

        论文中的有6层堆叠网络,其中每层有2层子层网络。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

2.1 Embedding

       可以看作是一个查找表,用来获取每个单词的学习向量表示。神经网络通过数字进行学习,所以将每个单词映射到一个连续值的向量来表示该单词。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

2.2 位置编码

        2.2.1 为什么需要位置编码

        不同于RNN的按时间线串行处理,Transformer是并行处理的。为了保存序列顺序,引入位置编码。

        2.2.2 位置编码公式

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         将Embedding与位置编码相加得到的值作为下面环节的输入。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         2.2.3 为什么位置编码可行

           对于一个特定位置的维的位置向量,借助三角函数的性质​​

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

           我们可以得到:

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

           可以看出,简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能位置的位置向量的某一维或简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能,可以由位置与位置的位置向量的与简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能为的线性组合表示。这意味着向量中蕴含了相对位置信息(但该相对位置信息会在注意力机制处消失)。 

2.3 注意力机制

        2.3.1 基本注意力机制

        注意力即关注点。比如给你一张包含婴儿的图片,并提问婴儿在干嘛,此时你对图片中各部分的关注度是不同的,可能对婴儿的脸与手的部分关注度更高,而对图片边缘部分则关注度较低。

        论文中给出的注意力公式如下:

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         下面以输入“我不爱你”为例解释公式。如图,阶段1中向量Q与向量K点乘,点乘得到的值可以反映两个向量之间的相似程度。阶段2对阶段1中得到的值做了类softmax的归一化处理。除以可以防止值向两端偏导致梯度消失。阶段3中将阶段2得到的值分别与对应的value值相乘,最后将这些结果相加得到了Attention Value。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         以上是nlp的举例,cv中也类似,图像的分割可类比词的分割。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        2.3.2 在Trm中是如何操作的

        首先,我们需要由单词向量获取的值。对于词向量,将其分别与相乘(注意这里与所有的词向量相乘的都是同一套参数),可以得到。接着,计算的相似度,得到的值。   在实际代码中,通常使用矩阵表示,方便并行。 

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         2.3.3 多头注意力机制

        将词向量与不同的参数相乘,可以得到多组值。亦即将投影到低维次,做j次注意力函数,合并每个输出得到最终输出。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

      类似于里的多通道输出,使得Trm有可学习的参数。   

          

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

2.4 残差网络

        残差网络将原先的输出与输入对位相加。要求输入与输出维度相同,论文中设置维度为512。        

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        将上图简化如下:

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         根据后向传播的链式法则:,

        而简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        所以简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        连乘容易导致梯度消失,又因为连乘前有“1”在,所以偏导不易为0。因此,使用残差可以得到有效防止梯度消失,从而得到更深的网络。

2.5 Batch Normal & Layer Narmal

        2.5.1 Batch Normal

        针对不同样本的同一维度(特征)进行标准化处理,使得均值为0,方差为1。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         缺点:

        1.当较小时,效果差(此时每个里的样本的均值和方差无法替代整体)。

        2.在中效果比较差,因为会出现词向量长度不一样的情况。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

        2.5.2 Layer Normal

         针对同一样本的不同维度(特征)进行标准化处理,使得均值为0,方差为1。

        简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

3. Decoder

       与的组成模块大体相似,主要的不同在于与交互层。

        论文中的具有6层堆叠网络,其中每层网络有2个子层,多插入了第三个子层。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         3.1 Mask

        需要Mask的原因:若与Encoder一样没有Mask,则会导致预测结果偏差。因为那样子训练模型的时候后续单词是可见的,但实际预测时,未来的单词是不可知的。因此将后续的单词计入影响是不合适的。

        实现Mask的方法:计算权重时,t时刻之后的值替换为很大的负数,指数变换后为0。

        3.2 交互层

        每个Encoder与所有的Decoder进行交互。k,v来自于Encoder本身,q来自于Decoder。这里相当于Decoder中的每个q去询问每个Encoder输出的量,并与之结合。

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

         但是在实际代码训练中,一般Encoder生成q,k矩阵,Decoder生成v矩阵加权。   

简单易懂的Transformer学习笔记,科研学习笔记,transformer,学习,笔记,深度学习,机器学习,人工智能

参考资料:

Vaswani, Ashish, et al. “Attention is All You Need.” Advances in Neural Information Processing Systems (NIPS), 2017.

Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili
Transformer从零详细解读(可能是你见过最通俗易懂的讲解)_哔哩哔哩_bilibili
超强动画,一步一步深入浅出解释Transformer原理!_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-633643.html

到了这里,关于简单易懂的Transformer学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习11:Transformer

    目录 什么是 Transformer? Encoder Decoder Attention Self-Attention Context-Attention 什么是 Transformer(微软研究院笨笨) RNN和Transformer区别 Universal Transformer和Transformer 区别   ​ 和经典的 seq2seq 模型一样,Transformer 模型中也采用了 encoer-decoder  架构。上图的左半边用 NX 框出来的,就代表

    2024年02月11日
    浏览(42)
  • 深度学习——Transformer的理解整理

    transformer刚被提出的时候就是被用于处理机器翻译的。在transformer架构中的不同位置Q,K,V指代的变量是不一样的。 假设现在处理的是英文-德文的翻译任务。 在encoder的输入端,这里执行的是 self-attention , Q、K、V 都是指代英 文的embedding 。 在decoder的输入端,这里执行的是

    2024年04月28日
    浏览(39)
  • 【深度学习 | Transformer】Transformers 教程:pipeline一键预测

    Transformers 是用于自然语言处理 (NLP)、计算机视觉以及音频和语音处理任务的预训练最先进模型库。该库不仅包含 Transformer 模型,还包含非 Transformer 模型,例如用于计算机视觉任务的现代卷积网络。 pipeline() 可以加载多个模型让进行推理变得简单,即使没有使用特定模态的经

    2024年02月05日
    浏览(38)
  • 深度学习从入门到精通—Transformer

    1.1 传统的RNN网络 传统的RNN(递归神经网络)主要存在以下几个问题: 梯度消失和梯度爆炸 :这是RNN最主要的问题。由于序列的长距离依赖,当错误通过层传播时,梯度可以变得非常小(消失)或非常大(爆炸),这使得网络难以学习。 计算效率低 :RNN由于其递归性质,必

    2024年04月26日
    浏览(45)
  • 深度学习实战24-人工智能(Pytorch)搭建transformer模型,真正跑通transformer模型,深刻了解transformer的架构

    大家好,我是微学AI,今天给大家讲述一下人工智能(Pytorch)搭建transformer模型,手动搭建transformer模型,我们知道transformer模型是相对复杂的模型,它是一种利用自注意力机制进行序列建模的深度学习模型。相较于 RNN 和 CNN,transformer 模型更高效、更容易并行化,广泛应用于神

    2023年04月22日
    浏览(63)
  • 《动手学深度学习 Pytorch版》 10.7 Transformer

    自注意力同时具有并行计算和最短的最大路径长度这两个优势。Transformer 模型完全基于注意力机制,没有任何卷积层或循环神经网络层。尽管 Transformer 最初是应用于在文本数据上的序列到序列学习,但现在已经推广到各种现代的深度学习中,例如语言、视觉、语音和强化学习

    2024年02月08日
    浏览(49)
  • 深入理解深度学习——Transformer:解码器(Decoder)部分

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(Attention Mechanism):注意力评分函数(Attention Scoring Function) ·注意力机制(Attention Mechanism):

    2024年02月10日
    浏览(49)
  • 深入理解深度学习——Transformer:编码器(Encoder)部分

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(AttentionMechanism):基础知识 ·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction) ·注意力机制(AttentionMechanism):Bahda

    2024年02月08日
    浏览(62)
  • 机器学习&&深度学习——BERT(来自transformer的双向编码器表示)

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习——transformer(机器翻译的再实现) 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 我们首先理解一下相关的一些概念,首先我们知道在自然语言系统中,词是意义的基

    2024年02月12日
    浏览(45)
  • Transformer模型简介:一种革命性的深度学习模型

    Transformer模型是一种革命性的深度学习模型,最初用于自然语言处理任务,如机器翻译和语言建模。与传统的序列模型相比,如循环神经网络(RNN)和卷积神经网络(CNN),Transformer模型采用一种全新的方式来处理序列数据,即通过注意力机制来学习序列中的关系。 在传统的序列模

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包