热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

descriptivetranslation(berttransformer)

Transformer是一个用于翻译的模型。由N个结构完全相同的encoder和N个结构完全相同的decoder组成。**Encoder**而Encoder部分又可分为3个部分:


Transformer是翻译的模式。 由n个结构完全相同的编码器(训练时n个编码器参数独立训练)和n个结构完全相同的解码器(训练时n个解码器参数独立训练)组成。 其中“n”可以自己设定,论文给出的一个参考值是6。


Transformer模型框架:


将Transformer进一步细分为编码器和解码器部分。


**


编码器* *


编码器部分分为三个部分:输入部分、注意力机制和前馈神经网络。


输入部分有两个:1.embedding 2.位置嵌入


为什么需要位置代码?


在RNN中,输入参数u、隐藏参数w和输出参数v是一组参数,RNN的所有time steps共享一组u、w和v参数。 例如,如下图所示,如果按时间轴展开左图,则可以看到右边对于每个time step U、w和v而不是Ut-1、Ut和Ut 1是相同的。 因此,RNN被称为循环神经网络。


另一方面,Transformer具有并行化,不是像RNN那样一个单词一个单词按顺序处理,而是一个词一个单词一起处理。 这样做虽然加快了速度,但忽略了单词之间的位置信息。 例如,有些单词在前面,有些单词在后面。公式理解:pos是词在文中的位置,2i和2i 1分别表示偶数位置和奇数位置,偶数位置采用sin公式计算,奇数位置采用cos公式计算。 例如,下一个单词“爱”,如果其位置代码向量为512维,则对于每个偶数维使用上图的sin式进行计算,对于每个奇数维使用上图的cos式进行计算。 最终得到了512维的位置代码矢量。


“爱”一词的最终代码向量是位置代码嵌入式(shape相同,根据位置相加)


注意力机制注意力机制的输入需要q、k、v三个矩阵,计算q和k的相似度,除以一个超参数得到相似的概率分布,最后与v矩阵相乘。 在Transformer中如何计算q、k和v?


经过位置代码和嵌入式,我们获得了单词“Thinking”的嵌入式。 你如何获得q、k、v? 如上图所示,只需分别与WQ、WK、WV (首先初始化参数矩阵,训练并更新其中的参数)相乘即可。 单词“Machine”也是同样的操作。 下图显示了计算Attention的过程。


上图中的红框显示上一步中获得的查询、密钥和值向量。 紫框的计算公式如下。


其中,x是一个句子中所有单词的embedding矩阵。


在上图中计算Attention的过程,只需一套WQ、WK、WV即可获得q、k、v。 多头注意机制是指使用多套WQ、WK、WV。 下图:


多个打印头有多个输出,最后连接输出。


如上图所示,残差LayerNorm的过程:单词“Thinking”和单词“Machines”经过嵌入式和定位嵌入式相加,得到黄色的x1、x2 (拼接后为x )


残差网络理解


了解BN和LN


前馈神经网络两层全连接层和残差LN


**


解码器* *


解码器的重点是MAS eked多头保护和多头保护


为什么Maseked Multi-Head Attention需要掩码? 马斯克的是什么? 请参阅下图:


由于在训练中存在接地路径,如果解码器输入中没有掩码,则在某个时间点,当使用“LOVE”生成“YOU”时,解码器将生成后面的单词“YOU”和“NOW”,即“ 因此,在训练中mask必须去掉当前单词和当前单词之后的单词。


“多头部识别解码器”中“多头部”的k和v来自编码器框架中最后一个编码器的输出,q来自解码器中“多头部识别”之前级别的输出如下图所示。


本文参考了本站的bqdjz视频。 原始视频还介绍了有关Transformer的面试主题和答案


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 语义分割系列3SegNet(pytorch实现)
    SegNet手稿最早是在2015年12月投出,和FCN属于同时期作品。稍晚于FCN,既然属于后来者,又是与FCN同属于语义分割网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • LwebandStringTimeLimit:20001000MS(JavaOthers)MemoryLimit:6553665536K(JavaO ... [详细]
author-avatar
业余爱好者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有