资讯专栏INFORMATION COLUMN

attention is all you need 的预测过程

zhouzhou / 1539人阅读

摘要:一预测流程及输入内容我们的的是输入测试集编码也就是和训练阶段输入一样,但的是向量维度和训练时的输入相同。在预测时,的会传递到这边的个作为其,随机向量在第一步的时候作为传入。

好,闲话少说。关于self-attention的训练阶段http://jalammar.github.io/ill...,这篇文章写的已经很清楚,而且确实验证有效。那么今天扯一下该模型的预测是怎么做的。
一.预测流程及输入内容
1.我们的encode的input是输入测试集编码(也就是和训练阶段输入一样),但decode的input是0向量(维度和训练时的输入相同)。
2.在预测时,encode的output会传递到decode这边的6个layer作为其k,v,随机0向量在第一步的时候作为q传入。(只在第一步作为input传入,然后开心训练)
二.但为什么传入的q为0矩阵,模型却能进行很好的预测呢。
以我是中国人对应i am a chinese举例。
1.当encode训练好后,相对来说我是中国人对应的矩阵也就确定了,然后经过encode编码得到最终输入想decode的output,也就是k,v,而在论文中decode这边一共有6层网络层(每层3个sub-layer),这里的kv会输入到这6层的每一层,好,关键来了。模型怎么能够预测出我对应i,这是最重要的一步也是最难理解的一步。在decode层,我们要弄清训练的什么,当我们训练好后的这些参数,其作用又是什么,实际上就是当我们传过来kv时,因为kv已知,是全局变量,我们能够看到,所以在decode中,i的向量可以理解为当指定kv后,又知道训练好的参数矩阵,经过一系列编号,我们第一个的输出很大概率就是对应的i的向量,当输出为i向量时,即预测对了,然后预测am,会把第一次i向量作为额外的input加到q上,继续进行预测。直到遇到结束向量。
三.问题思考
1.论文里的multi-head为什么要这么做,事实上论文提出说因为发现多头效果更好,笔者认为因为每个头的参数是随机初始化,所以其学到的关于一句话关注的点就会不同,这样会加深对原句的学习能力,同时,8头并行减少了训练时间。
2.为什么position embedding是cos和sin,论文解释可以学到更长的序列关系,这点我还没弄懂。
3.mask是做什么用,使decode只考虑前面的,不考虑后面的,这点随意百度一下就可以了。
该文不保证完全正确,只做参考。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43063.html

相关文章

  • 如何使用注意力模型生成图像描述?

    摘要:本教程中用到了基于注意力的模型,它使我们很直观地看到当文字生成时模型会关注哪些部分。运行的时候,它会自动下载数据集,使用模型训练一个编码解码器,然后用模型对新图像进行文字描述。 图像描述类任务就是给图像生成一个标题。 给定一个图像:图片出处, 许可证:公共领域我们的目标是用一句话来描述图片, 比如「一个冲浪者正在冲浪」。 本教程中用到了基于注意力的模型,它使我们很直观地看到当文字生成时模型会...

    zhouzhou 评论0 收藏0
  • 深度学习实现自动生成图片字幕

    摘要:介绍本次项目使用深度学习自动生成图像字幕。本次,我们利用迁移学习使用模型实现此功能。使用对损失修正。至于文本预测部分与使用注意力机制实现机器翻译大体一致。 介绍 showImg(https://segmentfault.com/img/bVbkSso?w=2048&h=1358); 本次项目使用深度学习自动生成图像字幕。如上图,模型自动生成The person is riding a ...

    Eastboat 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<