位置: IT常识 - 正文

Transformer中解码器decoder的详细讲解(图文解释)(transformer的解码器)

编辑:rootadmin
Transformer中解码器decoder的详细讲解(图文解释)

推荐整理分享Transformer中解码器decoder的详细讲解(图文解释)(transformer的解码器),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:transformer解析,transformer编码器和解码器,transformer 解码过程,transformer encoder mask,transformer中解码器的输入output来自哪里,transformer中解码器的输入output来自哪里,transformer中解码器的输入output来自哪里,transformer 解码过程,内容如对您有帮助,希望把文章链接给更多的朋友!

假设我们想把英语句子i am good翻译成法语句子 Je Vais bein,首先将原句送入编码器,使编码器学习原句,并计算特征值,在上一篇博客中已经讲解了编码器是如何计算原句的特征值的,然后我们把从编码器求得的特征值送入解码器,解码器将特征值作为输入,并生成目标据,流程如下

 在编码器部分,我们了解到可以叠加N个解码器,同理,解码器也可以有N个叠加在一起,编码器将原句的所有特征值作为输入传给所有解码器,而非只给第一个解码器,因此一个解码器将有两个输入,一个是来自前一个解码器的输出,另一个是编码器输出的特征值

接下来我们学习解码器是如何生成目标句子的,当t=1时(t表示时间步)解码器开始工作,生成目标为句子中的第一个词,当t=2时,解码器使用当前的输入和在上一步生成的单词,来预测句子中的下一个单词,以此类推,在每一步中解码器都将上一步生成的单词与输入的词结合起来,并预测下一个单词

一个解码器模块及其所有的组件如下图所示

 从上图中可以看到,解码器内部有三个子层,分别是

1:带掩码的多头注意力层

2:多头注意力层

3:前馈网络层

与编码器模块相似,解码器模块也有多头注意力层和前馈网络层,但多了带掩码的多头注意力层,下面对它们一一进行讲解

一、带掩码的多头注意力层

 以英法翻译任务为例,假设训练数据集样本如下

解码器将输入的<sos>作为第一个标记,并在每一步中将下一个预测词与输入结合起来,以预测目标句子,直到遇到<eos>为止 

带掩码的多头注意力层就是预测与<sos>相邻的单词时,模型应该只看到<sos>,所有我们掩盖<sos>后边的所有词,因此在使用softmax函数进行归一化之前,我们需要对数值进行掩码转换,可以用负无穷去掩盖

二、多头注意力层Transformer中解码器decoder的详细讲解(图文解释)(transformer的解码器)

由下图可以看出,每个解码器中的多头注意力层都有两个输入:一个来自带掩码的多头注意力层,另一个是编码器输出的特征值 

多头注意力机制的第一步是创建三个矩阵,我们使用从上一个子层获得的注意力矩阵M创建查询矩阵Q,使用编码器输出的特征值R创建键矩阵和值矩阵,因为查询矩阵是从M求得的,所以本质上包含了目标句子的特征,键矩阵和值矩阵则含有原句的特征,因为它们是用R计算的

三、前馈网络层

 解码器的下一个子层是前馈网络层,它的工作原理与我们在编码器中用到的完全相同,此处不再赘述

四、叠加和归一组件

和在编码器部分讲到的一样,叠加和归一组件连接子层的输入和输出

五、线性层和softmax层

一旦解码器学习了目标句子的特征,我们就将顶层解码器的输出送入线性层和softmax层

线性层将生成一个logit向量,其大小等于原句中的词汇量,接下来使用softmax函数将logit向量转换成概率,然后解码器将输出具有高概率值的词的索引值

六、解码器总览

通过上图,我们可以总结出以下几点

1:首先,我们将解码器的输入转换为嵌入矩阵,然后将位置编码加入其中,并将其作为输入送入底层的解码器

2:解码器收到输入,并将其发送给带掩码的多头注意力层,生成注意力矩阵M

3:然后将注意力矩阵M和编码器输出的特征值R作为多头注意力层的输入,并再次输出新的注意力矩阵

4:把从多头注意力层得到的注意力矩阵作为输入,送入前馈网络层,前馈网络层将注意力矩阵作为输入,并将解码后的特征作为输出

5:最后我们把从解码器1得到的输出作为输入,将其送入解码器2

6:解码器2进行同样的处理,并输出目标句子的特征 

七、训练Transformer 

我们可以退哦那个过最小化损失函数来训练Transformer网络,但是应该如何选择损失函数呢,我们已经知道,解码器预测的是词汇的概率分布,并选择概率最高的词作为输出,所有我们需要让预测的概率分布和实际的概率分布之间的差异最小化,要做到这一点,可以将损失函数定义为交叉熵定义函数,我们通过最小化损失函数来训练网络,并使用Adam算法来优化训练过程

另外需要注意,为了防止过拟合,我们可以将dropout方法应用于每个子层的输入以及嵌入和位置编码的总和

创作不易 觉得有帮助请点赞关注收藏~~~

本文链接地址:https://www.jiuchutong.com/zhishi/297286.html 转载请保留说明!

上一篇:DOM(操作)(jQuery dom操作)

下一篇:vue中使用百度地图(vue使用百度地图三方标准地图清空后卡死)

  • dll文件是什么(dll文件是什么编码)

    dll文件是什么(dll文件是什么编码)

  • 苹果se2有3dtouch功能的吗(苹果SE2有没有NFC)

    苹果se2有3dtouch功能的吗(苹果SE2有没有NFC)

  • 抖音支持哪些视频格式(抖音支持哪些视频剪辑)

    抖音支持哪些视频格式(抖音支持哪些视频剪辑)

  • 华为荣耀10青春版系统是多少(华为荣耀10青春版屏幕多大)

    华为荣耀10青春版系统是多少(华为荣耀10青春版屏幕多大)

  • 步步高s5和s5c是一样的吗(步步高s5和s5c价格)

    步步高s5和s5c是一样的吗(步步高s5和s5c价格)

  • 手机自动发短信10086(手机自动发短信查流量怎么取消)

    手机自动发短信10086(手机自动发短信查流量怎么取消)

  • 为什么抖音收藏的音乐用不了(为什么抖音收藏的视频看不到了)

    为什么抖音收藏的音乐用不了(为什么抖音收藏的视频看不到了)

  • 华为nova7返回键怎么设置(华为nova7返回键怎么隐藏)

    华为nova7返回键怎么设置(华为nova7返回键怎么隐藏)

  • 手机应用自启动是什么意思(华为手机应用自启动)

    手机应用自启动是什么意思(华为手机应用自启动)

  • 注册微信需要什么(注册微信需要什么信息)

    注册微信需要什么(注册微信需要什么信息)

  • oppo指纹解锁老是识别不了怎么办(op手机指纹解锁无响应)

    oppo指纹解锁老是识别不了怎么办(op手机指纹解锁无响应)

  • 长城宽带已连接不可上网(长城宽带连接不上)

    长城宽带已连接不可上网(长城宽带连接不上)

  • 华为mate30掉水里还能用吗(华为mate305g掉水里)

    华为mate30掉水里还能用吗(华为mate305g掉水里)

  • qq号双封是什么意思啊(qq双封是什么意思)

    qq号双封是什么意思啊(qq双封是什么意思)

  • 荣耀hryal00ta是什么型号(荣耀hry-al00a是什么型号的手机)

    荣耀hryal00ta是什么型号(荣耀hry-al00a是什么型号的手机)

  • word文档和ppt区别(word和ppt区别)

    word文档和ppt区别(word和ppt区别)

  • dram存储器的中文含义是(dram存储器的中文含义是动态随机存储器)

    dram存储器的中文含义是(dram存储器的中文含义是动态随机存储器)

  • word文档如何单页显示(word文档如何单独修改页眉)

    word文档如何单页显示(word文档如何单独修改页眉)

  • 华为mate30pro5g可以用4g卡吗(华为mate30Pro5G可以卖多少钱)

    华为mate30pro5g可以用4g卡吗(华为mate30Pro5G可以卖多少钱)

  • 苹果13暗黑模式怎么设置(苹果13暗黑模式在哪里)

    苹果13暗黑模式怎么设置(苹果13暗黑模式在哪里)

  • 微信隐私密码怎么解除(微信隐私密码怎么设置)

    微信隐私密码怎么解除(微信隐私密码怎么设置)

  • 华为荣耀畅玩8c隐藏功能在哪(华为荣耀畅玩8C玩原神)

    华为荣耀畅玩8c隐藏功能在哪(华为荣耀畅玩8C玩原神)

  • Vue3 —— 使用Vite配置环境变量(vue3 + ts)

    Vue3 —— 使用Vite配置环境变量(vue3 + ts)

  • 无云服务器,Linux本地快速搭建web网站,并内网穿透发布上线(云服务器 chia)

    无云服务器,Linux本地快速搭建web网站,并内网穿透发布上线(云服务器 chia)

  • 汇算清缴补交所得税后报表需要调整吗
  • 总账会计和全盘会计的区别
  • 金蝶报账怎么报销
  • 补报以前年度收入后当年所得税怎么处理
  • 租赁厂房电费
  • 低值易耗可以直接入管理费用吗
  • 工业企业总产值的计算是以什么为主体
  • 电子商票贴现具备的条件
  • 结转本月收入类账户到本年利润会计分录
  • 股息红利纳税地点
  • 营改增后装修材料如何抵扣?
  • 投入的资金计入什么科目
  • 收到微信公众号退款怎么做账
  • 车间管理人员工资总额占车间工资总额的10%
  • 销售货物并运输增值税
  • 发票打印机分专票和普票的吗?
  • 基金公司管理费收入怎么入账
  • 所得减免优惠明细表减免项目包括几项
  • 异地交纳的五险一金可以在个人所得税扣除吗?
  • 用于集体福利的进项税额转出
  • 购买方申请的红字信息表编号如何查询
  • 旧货销售的增值税税率
  • u盘加载缓慢
  • 建筑业产值填哪个数据
  • 局域网游戏电脑
  • 一般纳税人怎么交税
  • 违约金要计入应纳税所得额吗
  • 异地银行结算账户的特点
  • win7系统文件在哪
  • php使用memcache
  • vue打包注意事项
  • php开发实战权威指南
  • yolov3简介
  • 关联方的四种认证方式
  • yii2带搜索功能的下拉框实例详解
  • php -r
  • php同时使用session和cookie来保存用户登录信息的实现代码
  • 魔改apk
  • 如何修改php网页内容
  • 出纳造工资表吗
  • mysql执行时间太长
  • 主营业务税金及附加包括增值税吗
  • 收到退回的企业所得税,资产负债表如何填
  • 企业会计准则无形资产土地摊销
  • 税控盘的作用是什么
  • odbc api
  • 税务登记后要马上报税吗
  • 土地使用税计入管理费用还是税金及附加
  • 无形资产分期付款会计分录?
  • 销售商品的运费的税费计入进项税额
  • 汇算清缴补交所得税的分录
  • 代扣个税返还需要交增值税吗
  • 新成立的公司开什么银行账户
  • 设计服务成本和信息中心的测试成本
  • 新公司季初资产总额填什么
  • 固定资产清理是资产吗
  • sql server使用教程(图文)
  • mysql模糊查询like多个条件
  • windows server 2003 r2 序列号
  • 苹果手机价格
  • openssl安装教程
  • xp内置语音输入没反应
  • 硬盘安装xp系统安装教程
  • dllhost应用程序异常
  • win8 网络连接
  • win7系统找不到蓝牙设备
  • Cocos2dx------从json文件读取数据
  • 小地图的主要作用是观察队友的大概位置
  • opengl缓冲区
  • android中数据存储
  • webrtc介绍
  • shell脚本实现自动部署
  • shell sed 空格
  • js实现的功能
  • jquery给输入框赋值
  • 税控盘登陆失败
  • 车辆购置税已缴款未入库可以上牌吗
  • 遵从和尊重
  • 增值税按次纳税的规定
  • 3%增值税专用发票成本多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设