Transformer详解,中文版架构图

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

Transformer详解,中文版架构图

 文章来源地址https://www.toymoban.com/news/detail-486352.html

2.2.1 “编码器-解码器”架构
Seq2Seq 思想就是将网络的输入输出分别看作不同的序列,然后实现序列到序列
的映射,其经典实现结构就是“编码器-解码器”框架。编码器-解码器框架如图 2.7 所
示。

Transformer详解,中文版架构图
图2.7 编码器-解码器的基本框架


在 Seq2Seq 思想应用于自然语言处理之初,编码器解码器主要使用的是 RNN 及
其变体。针对输入,编码器会先遍历输入序列,根据循环神经网络的特性,每一层的
输入都包含了当前层的输入前一层的隐藏状态,而新的隐藏状态则会被用作下一层
的输入编码器一般只保留最后一层的隐藏状态,作为整个输入的语义向量,送入解

码器中,而这个语义向量输入解码器后会被看作是解码器初始的隐藏状态。
但由于循环神经网络本身的结构特性,如果输入序列过长,模型性能就会明显的
降低。这是因为使用循环神经网络只会将最后一层的隐藏状态作为表征整个输入文本
的语义向量,而句子中靠前的序列就会产生信息丢失问题。同时,在输出序列中,因
为输入的是已经损失了的语义向量,某些词对应的原始文本词已经在编码时丢失了。
Transformer详解,中文版架构图
图2.8 注意力机制原理示意图
为了解决这个问题,后续的相关工作中引入了注意力机制。注意力机制本质上借
鉴了人眼视觉处理信息的能力,可以概述为两个阶段:判断需要特别注意输入的哪个
部分;然后把资源优先分配给重要的部分。放在神经网络中,注意力机制就可以理解
为:在预测结果的时候把注意力侧重放在不同的特征上。
从数学上来讲,注意力机制[25]的计算可以被描述为一个查询(Query)到一系列
键值对(Key-Value)的映射。注意力机制计算的原理如图 2.8 所示:
其计算方式也可以归纳为两个步骤:
(1)先使用查询 Query 和键 Key 计算权重系数 ,求相似性的方法有点乘、权
重、余弦相似性等等,再用 SoftMax 操作对权重归一化,得到( ( , ))softmax f Q K
Transformer详解,中文版架构图
Transformer详解,中文版架构图 

(2)第二个阶段再对 Value 进行加权求和,计算得到注意力的输出:
Transformer详解,中文版架构图
“编码器-解码器”框架引入注意力机制后,使用编码器对输入序列进行编码,首
先得到语义向量Transformer详解,中文版架构图,然后可以得到一个所有语义向量的加权和,称之为语境
向量Transformer详解,中文版架构图 ,使用Transformer详解,中文版架构图代表注意力的权重参数,则语境向量可以表示为:

Transformer详解,中文版架构图
解码过程中,每一个输出词的概率可以由语境向量、前一层的隐状态共同确定:

Transformer详解,中文版架构图
其中,f 和g 分别代表非线性变换,一般指的是多层神经网络;Transformer详解,中文版架构图 代表输出序列
中的一个词,Transformer详解,中文版架构图 代表对应的隐状态;此外,注意力的权重参数Transformer详解,中文版架构图可以使用另外的神经
网络计算得到的:
Transformer详解,中文版架构图 

2.2.2 Transformer 网络


注意力机制在 Seq2Seq 中的应用在各项自然语言生成任务中都有提升。之后
Google 在 2017 年提出了 Transformer[13]模型,使用注意力机制、全连接前馈层、残差
连接组成的网络结构替代了 RNN,在多个自然语言处理任务乃至视觉任务上都有了
很大的提升。
Transformer 的整体结构如图 2.9 所示,也遵循“编码器-解码器”架构,编码器模
块主要由两个子层组成,分别是多头注意力机制(Multi-Head Self-attention Mechanism,
MHSM)和全连接前馈层(Fully Connected Feed-Forward Network),每个子层之后都
添加了层归一化(Layer Normalization,LN)和残差连接(Residual Connection)。

解码器块由三个子层组成,第一层是具有掩蔽功能的多头注意力层,可以防止信息泄露
第二层是整合编码器输出上一层解码器输出的多头注意力层;

第三层是全连接前置反馈层,同样每个子层后都添加了层归一化和残差连接

Transformer详解,中文版架构图
 

 模型中的点积注意力机制可以由以下公式表示:( , , ) ( )
Transformer详解,中文版架构图
而多头注意力就是通过h 个不一样的线性变换一起对输入的, ,Q K V 进行投影,并
进行点积注意力计算,最后再把不同的结果拼接起来。多头注意力的公式表示如
Transformer详解,中文版架构图

Transformer详解,中文版架构图

其中,d 为模型的维度,并且Transformer详解,中文版架构图 为最后的线性投影层的权重矩阵
点积注意力机制与多头注意力机制的对比如图 2.10 所示。

 

Transformer详解,中文版架构图
图2.10 点积注意力与多头注意力机制示意图
全连接前馈层的作用是为模型提供非线性变化,由两个线性层和一个激活函数组
成,可以由下式表示:1 1 2 2( ) max(0, )FFN x xW b W b= + +
(2-18)
此外,对于文本而言,单词出现位置与顺序也很重要,Transformer 为了能保留文
本中的序列顺序及位置信息,提出了利用正余弦函数来保留序列中标记的相对或绝对
位置的方法。具体做法是利用正余弦函数对序列进行编码,并与输入嵌入语句向量进
行求和。2
( ,2 ) ( 10000 )modeli d
pos iPE sin pos=
(2-19)2
( ,2 1) ( 10000 )modeli d
pos iPE cos pos+ =
(2-20)
2.2.3 复制机制和指针机制
Seq2Seq 模型用于文本摘要有三个问题,即:倾向于生成重复文本、无法处理未
登录词问题(Out-of-Vocabulary,OOV)和无法准确复制真实细节。于是,指针生成
 

 

 

 

 

 

到了这里,关于Transformer详解,中文版架构图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • idea中文版插件

    首先点击左上角的File-Settings 进入设置 进入Settings后点击Plugins,在搜索框输入Chinese language pack,点击install安装插件 下载成功后,点击installed,找到下载的汉化插件,点击Restart IDE,重启应用此插件。 重启后的页面 如果需要回到英文状态,只需要来到Plugins,找到已经安装的插

    2024年02月16日
    浏览(51)
  • Windows Postman中文版

    下载安装Postman 安装中文包 下载Postman 最新版本下载 官方下载页面 下载链接:Win64 Win32 历史版本下载 请把下面链接的\\\"版本号\\\"替换为指定的版本号,例如:9.12.2 Windows64位 https://dl.pstmn.io/download/version/版本号/win64 Windows32位 https://dl.pstmn.io/download/version/版本号/win32 下载对应版本

    2024年02月14日
    浏览(52)
  • BeeWare官方教程中文版

    BeeWare官方教程 中文文档下载地址 以下内容为按照教程在windows平台测试。 如果你使用Windows系统,可以从python官网获取官方安装包。可以使用3.7之后的任何稳定版本的Python。建议避免使用阿尔法,贝塔和其他已经发布的候选版本。 在Windows系统上构建BeeWare 需要: Git,一种分

    2024年02月05日
    浏览(51)
  • Jmeter如何设置中文版

    第一步:找到 apache-jmeter-5.4.3bin目录下的 jmeter.properties  第二步:打开 三,ctr+f 输入language=en,注释掉,增加以行修改如下 四,ctr+s 保存修改内容,重新打开jmeter就可以了

    2024年02月10日
    浏览(46)
  • RFC4861 中文版下

    路由器常量: 主机常量: 节点常量: 在第 4 节的消息格式中定义了其他协议常量。 所有协议常量可能会在未来版本中进行更改。 本规范中的常量可以被描述 IPv6 在不同链路层上运行的特定文档所覆盖。 此规则允许邻居发现在性能特性差异很大的各种链路上运行。 邻居发现受到

    2024年02月03日
    浏览(46)
  • ChatGPT 插件清单(中文版)

    整理了一份插件清单,部分插件可能已下线,也可能不在列表中。除了这份清单外,还整理了一份:超级牛逼的学习指南 欢迎大家转发、收藏、点赞支持!谨防失联! 插件名称 功能 基本提示 高级提示 KeyMate.AI搜索 使用AI驱动的自定义搜索引擎查找网页 “搜索关于可再生能

    2024年02月06日
    浏览(56)
  • chatgpt 中文版免费访问

    最近 chatgpt 太火了,用起来十分方便。 chatgpt 是一种基于人工智能技术的语言模型,可以通过分析用户输入的自然语言文本或语音,理解用户的意图并作出相应的回应。它被设计用于各种应用场景,例如智能客服、语音助手、智能家居控制、智能医疗、智能金融等领域。它可

    2024年02月01日
    浏览(63)
  • ChatGPT指令大全(中文版)

    我想让你扮演讲故事的角色。您将想出引人入胜、富有想象力和吸引观众的有趣故事。它可以是童话故事、教育故事或任何其他类型的故事,有可能吸引人们的注意力和想象力。根据目标受众,您可以为讲故事环节选择特定的主题或主题,例如,如果是儿童,则可以谈论动物

    2023年04月11日
    浏览(53)
  • Postman -中文版-安装教程

    一.下载、安装  Postman 下面是历史版本的下载链接地址    请把链接中的\\\"版本号\\\"替换为指定的版本号(根据自己的需求变更) Windows64位 : https://dl.pstmn.io/download/version/版本号/win64 Windows32位: https://dl.pstmn.io/download/version/版本号/win32 Mac : https://dl.pstmn.io/download/version/版本号

    2024年02月03日
    浏览(61)
  • OpenAI 接口文档-(中文版)-(一)

    您可以通过来自任何语言的 HTTP 请求、我们的官方 Python 绑定、我们的官方 Node.js 库或社区维护的库与 API 进行交互。 若要安装官方 Python 绑定,请运行以下命令: 要安装官方的 Node.js 库,请在 Node.js 项目目录中运行以下命令: OpenAI API 使用 API 密钥进行身份验证。访问您的

    2023年04月26日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包