位置: 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使用百度地图三方标准地图清空后卡死)

  • 快手公会如何申请(快手公会入驻申请)

    快手公会如何申请(快手公会入驻申请)

  • 手机如何绑定银行卡(手机如何绑定银行卡的步骤)

    手机如何绑定银行卡(手机如何绑定银行卡的步骤)

  • 支付宝关联账号如何解除(支付宝关联账号在哪里)

    支付宝关联账号如何解除(支付宝关联账号在哪里)

  • 微信出现请注意核实对方身份(微信聊天上面显示请注意核实)

    微信出现请注意核实对方身份(微信聊天上面显示请注意核实)

  • 淘宝清关上传身份证安全吗(淘宝清关上传身份证号码必须要传吗)

    淘宝清关上传身份证安全吗(淘宝清关上传身份证号码必须要传吗)

  • microsoft edge是ie浏览器吗

    microsoft edge是ie浏览器吗

  • 电脑怎么分享软件(电脑怎么分享软件到另外一个电脑上)

    电脑怎么分享软件(电脑怎么分享软件到另外一个电脑上)

  • 计算机的内存是指(计算机的内存是什么)

    计算机的内存是指(计算机的内存是什么)

  • 微视为什么不转圈了(微视为什么不转了)

    微视为什么不转圈了(微视为什么不转了)

  • 闲鱼竞拍成功卖家还可以取消吗(闲鱼竞拍成功卖家下架)

    闲鱼竞拍成功卖家还可以取消吗(闲鱼竞拍成功卖家下架)

  • 手机ppt可以在电脑上用吗(手机ppt可以在电脑上做吗)

    手机ppt可以在电脑上用吗(手机ppt可以在电脑上做吗)

  • 手机上的OTG是什么意思

    手机上的OTG是什么意思

  • ps怎么给图片描边(ps怎么给图片描虚线边外轮廓)

    ps怎么给图片描边(ps怎么给图片描虚线边外轮廓)

  • 删了的短信可以找回来吗(删掉的短信还能看到吗?)

    删了的短信可以找回来吗(删掉的短信还能看到吗?)

  • 华为nova6se的指示灯在哪(nova6指纹键在哪)

    华为nova6se的指示灯在哪(nova6指纹键在哪)

  • x30与x30pro区别(x3和x30pro的区别)

    x30与x30pro区别(x3和x30pro的区别)

  • 快手小管家怎么打开(快手小管家下载2020)

    快手小管家怎么打开(快手小管家下载2020)

  • oppo手机自动开机关机(oppo手机自动开启了飞行模式怎么办)

    oppo手机自动开机关机(oppo手机自动开启了飞行模式怎么办)

  • nova5超广角在哪里(华为nova5i超广角在哪里)

    nova5超广角在哪里(华为nova5i超广角在哪里)

  • oppoa5怎么设置桌面挂件(oppoa5怎么设置桌面滑动方式)

    oppoa5怎么设置桌面挂件(oppoa5怎么设置桌面滑动方式)

  • 滴滴出行特惠拼车是什么(滴滴出行特惠拼车如果拼不上)

    滴滴出行特惠拼车是什么(滴滴出行特惠拼车如果拼不上)

  • 华为p30pro与苹果xr对比(华为p30pro与苹果11pro max参数对比)

    华为p30pro与苹果xr对比(华为p30pro与苹果11pro max参数对比)

  • 互相保可以保多少大病(互相保好吗)

    互相保可以保多少大病(互相保好吗)

  • airpods可以录歌吗(airpods可以录音唱歌吗)

    airpods可以录歌吗(airpods可以录音唱歌吗)

  • 换手机怎么把手机所有东西导出(换手机怎么把手机的资料搞到另一个手机上)

    换手机怎么把手机所有东西导出(换手机怎么把手机的资料搞到另一个手机上)

  • 苹果电脑快捷键有哪些?mac系统快捷键大全详细介绍(全部)(苹果电脑快捷键删除)

    苹果电脑快捷键有哪些?mac系统快捷键大全详细介绍(全部)(苹果电脑快捷键删除)

  • Github ChatGPT-Web:了解最新AI技术的前沿应用!

    Github ChatGPT-Web:了解最新AI技术的前沿应用!

  • 进料加工为什么要差额确认收入呢
  • 餐补如何入账
  • 企业所得税季度申报时间
  • 利息按月计提分录
  • 现金流量表抵消分录
  • 已经认证不能抵扣怎么办
  • 赠送客户的商品怎么入账
  • 现金流量表上的期末现金余额等于___
  • 公司无收入费用如何做账务处理核算?
  • 怎么认证财付通
  • 员工借款会计科目
  • 企业接受基金投资的规定
  • 设备服务费是什么
  • 年底员工聚餐
  • 开具红字发票后发现购买方已做抵扣怎么办
  • 工会发放慰问品总金额超过多少需要比价
  • 企业注销增值税进项核销账务处理流程
  • 收到收入怎么做分录
  • 收据和发票有什么区别图片
  • 固定资产报废未折旧完会计处理
  • 电子承兑没接收多久失效
  • 个体工商户网上报税流程
  • 计提应收利息怎么做分录
  • win10壁纸图片怎么删除
  • 进项票与实际支出金额不符
  • 往来账乱如何处理
  • 收到人才引进补助会计分录
  • mysqld-nt.exe - mysqld-nt是什么进程 有什么用
  • win10预览版21337
  • 微软推出windows11系
  • 金融商品转让的增值税怎么计算
  • w10电脑节能模式
  • css flaot
  • wordpress调试模式
  • 净资产现金回收率说明什么
  • 扣缴义务人应扣未扣如何处罚
  • 增值税缓息是什么意思
  • bat开源项目
  • 发票过账和不过账是什么意思
  • 总公司不是小微企业,分公司独立核算的
  • 公司认缴的钱可以动吗
  • 农机免税发票能抵扣吗
  • mysql delete limit 使用方法详解
  • 小规模免征增值税的会计处理办法
  • 企业所得税免税和减半征收
  • 开具发票涉及到哪些会计科目?
  • 出售抵债资产账务处理
  • 如何在个人所得税app上修改扣缴义务人
  • 预计负债转回对所得税费用的影响
  • 什么情况下说免贵
  • 应付职工薪酬的工资是实发工资还是应发工资
  • 企业年度财务报告的保管期限为
  • 工程招标费用由谁支付
  • 增值税购进扣税法
  • 完全成本法损益表
  • 设置共享时可使用的权限
  • kvm虚拟机性能调优
  • xp系统里的打印机怎么设置的和新7
  • win7电脑怎么设置自动锁屏
  • win10开始菜单什么样子
  • windows7中彻底删除文件的操作
  • [置顶] clauvio,Twitter小老鼠
  • gitlab管理员账号 审批
  • linux基本命令的使用方法
  • awk中RS、ORS、FS、OFS的区别和联系小结
  • perl命令行参数内建数组
  • linux cz命令
  • 讲解JavaScript中for...in语句的使用方法
  • jQuery获取checkbox选中的值
  • android activity finish
  • twist python
  • jquery trigger 传参数
  • 内蒙古税务局电子发票查询
  • 税票上的开票员是谁
  • 回购房 安置房
  • 国税地税征管体制改革方案全文
  • 国税局巡察整改方案
  • 发票号码的8位是什么
  • 美国纽约购物
  • 西安市个税证明去哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设