位置: IT常识 - 正文

Transformer 中的mask(transformer add norm)

编辑:rootadmin
Transformer 中的mask

简单聊聊transformer里的mask ——转载自链接一

推荐整理分享Transformer 中的mask(transformer add norm),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:transformer add norm,transformer add norm,transforming mars,transformer masked,transformer中的mask,transformer中的mask矩阵,transformer中的mask矩阵,transformer中的mask机制有什么作用,内容如对您有帮助,希望把文章链接给更多的朋友!

1.padding mask

在encoder和decoder两个模块里都有padding mask,位置是在softmax之前,为什么要使用padding mask,是因为由于encoder和decoder两个模块都会有各自相应的输入,但是输入的句子长度是不一样的,计算attention score会出现偏差,为了保证句子的长度一样所以需要进行填充,但是用0填充的位置的信息是完全没有意义的(多余的),经过softmax操作也会有对应的输出,会影响全局概率值,因此我们希望这个位置不参与后期的反向传播过程。以此避免最后影响模型自身的效果,既在训练时将补全的位置给Mask掉,也就是在这些位置上补一些无穷小(负无穷)的值,经过softmax操作,这些值就成了0,就不在影响全局概率的预测。

pytorch nn.Transformer的mask理解 - 知乎 (zhihu.com) //padding mask 讲得比较细

2.Sequence MASK

sequence MASK是只存在decoder的第一个mutil_head_self_attention里,为什么这样做?是因为在测试验证阶段,模型并不知道当前时刻的输入和未来时刻的单词信息。也就是对于一个序列中的第i个token解码的时候只能够依靠i时刻之前(包括i)的的输出,而不能依赖于i时刻之后的输出。因此我们要采取一个遮盖的方法(Mask)使得其在计算self-attention的时候只用i个时刻之前的token进行计算。

举例:“我爱中国共产党”,假如要预测“中”这个词,那么当前时刻的输入就是“我”以及“爱”的输入的叠加,一部分来自"我“的信息输出,一部分来自”爱”的信息输出,如果没有mask将后面的单词信息遮住,那么后面的单词对要预测的这个字“中”也会有相应的信息贡献,在训练的时候整个句子的前后字词的位置是已知的,所以不遮挡模型也是可以运行的,因为本身模型输入时就已经知道了句子的整个信息(也就是ground truth embeding)。 但是在进行模型预测(测试新的输入句子)时,输入的句子是未知的,随机的,模型不知道句子的信息,只能通过上一层的输出和原始的输入知道要预测字的前一个信息,进而依次预测后面的字的信息。这就造成了在训练时模型多训练了“中”后面的词,增加了训练时间,消耗了本没必要的空间及时间。在一开始训练时就mask掉,节省时间的同时也降低了过拟合的风险,提高了模型泛化能力。浅析Transformer训练时并行问题 - 知乎 (zhihu.com)

Transformer 中的mask(transformer add norm)

 //Sequence mask 讲得比较细

【Pytorch】Transformer中的mask ——转载自链接三由于Transformer的模型结构,在应用Transformer的时候需要添加mask来实现一些功能。如Encdoer中需要输入定长序列而padding,可以加入mask剔除padding部分如Decoder中为了实现并行而输入完整序列,需要加上mask剔除不应感知到的部分序列在一些更灵活的应用中,有时候需要设计一些mask形式来调整可利用信息源的范围。因此,本文以官网Transformer做文本翻译为例***官网翻译示例,梳理一下Pytorch实现的Transformer是如何做mask操作的。(164条消息) Transformer的矩阵维度分析和Mask详解_我最怜君中宵舞的博客-CSDN博客_transformer中的mask//讲清楚了训练可以并行,推理和测试的时候不能并行的原因

简单层面讲了TransformerDecoder进行并行

(165条消息) Transformer decoder中masked attention的理解_寺里LZS的博客-CSDN博客 

参考资料

简单聊聊transformer里的mask - 知乎 (zhihu.com)//大白话,讲的很好

(167条消息) Transformer 中的mask_Caleb_L的博客-CSDN博客_transformer中的mask

【Pytorch】Transformer中的mask - 知乎 (zhihu.com) //结合Pytorch代码解释,梳理一下Pytorch实现的Transformer是如何做mask操作的。

这个视频与这篇博客配套使用,讲的很清楚了

全网最详细Transformer中的mask操作及代码详解【推荐】【系列10-4-2】_哔哩哔哩_bilibili

transformer 中的 mask 操作-范仁义-读书编程笔记 (fanrenyi.com)//需要科学上网maybe

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

上一篇:IDEA如何完美配置Servlet(适用于IDEA 2022及以下版本)(idea配置meaven)

下一篇:超参数调优框架optuna(可配合pytorch)(超参数设置)

  • 注册会计师税法真题
  • 个体工商户年报网上申报入口
  • 外贸出口企业如何申报增值税
  • 公司买手表账务处理
  • 内部伙食费购买会计分录
  • 企业会计制度固定资产保险费
  • 建筑业差额纳税怎么算
  • 回单结算卡丢失了严重吗
  • 科技公司增值税率是多少
  • 分期收款开具发票可以吗
  • 资产重组的税务筹划
  • 城建税如何核算成本
  • 营改增后个人所得税计税依据实例
  • 报销业务招待费用主题
  • 电子承兑汇票没开通能接受吗
  • 销售使用固定资产账务怎么处理
  • 公司购买办公用品计入什么科目
  • 生产企业出口退税流程怎么操作
  • 增值税抵扣凭证管理
  • 预缴的附加税还可以扣减吗
  • 公车保险费可以抵扣吗
  • 混营纳税人有什么影响
  • 年薪制与月薪制的优与劣
  • 承兑汇票延期托收证明
  • 研发支出的台账由谁做
  • 销售单价的变动,将促使保本点( )
  • 降低增值税税率对消费者的影响有哪些
  • windows10office更新
  • 本月计提下月冲回
  • 公司流水账是会计做吗
  • 股权转让协议解除返还股权优先权
  • pniopcac.exe是什么进程
  • 开发产品结转到哪个科目
  • 售后租回怎么理解
  • 建筑企业跨区域还需预缴增值税吗
  • 融资租入固定资产是什么意思
  • 调整以前年度损益调整分录费用调增
  • php checkbox使用
  • input输入框非空验证
  • vuexl
  • 语音识别的正确流程
  • 阿里pv
  • yii2框架面试题
  • phpcms 标签
  • mysql默认存储引擎的命令
  • 进项税认证抵扣流程
  • sqlserver 自定义函数 读取数据表
  • 恢复从回收站已经清除的文件
  • 长期股权投资权益法账务处理
  • 纸质专票红冲
  • 小规模纳税人出租不动产免征增值税
  • 企业管理费用科目有哪些
  • 会计账簿怎么填写模式
  • 其他应收款待抵扣借方是什么意思啊
  • 会计 预提
  • sql server存储过程教程
  • 苹果发布会最新消息
  • 键盘设施
  • mac uuid查询
  • Windows任务计划程序服务
  • 如何更改ubuntu下载源
  • win7应用程序没反应
  • android物理按键对应的key
  • cocos2djs
  • javascript有哪些常用的属性和方法
  • jquery常用
  • shell命令tee
  • linux中crontab的用法
  • linux中切换目录命令符
  • 怎么设置网页就用指定浏览器
  • 删除批处理命令
  • 在javascript中逻辑运算符包括
  • jquery easy ui
  • 圣诞树代码html
  • js轮播图视频教程
  • 土地增值税有哪些征收方式
  • 境外付款需要什么手续
  • 我国现行税法体系中采用多次课征的税种是
  • 税控盘怎么看收入
  • 如何进行税务筹划的方法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设