『NLG学习』(二)教你搭建自己的Transformer
时间:2025-07-25 | 作者: | 阅读:0本文围绕Transformer展开,先介绍其相较CNN与RNN的优势,如并行计算、自注意力机制等。接着讲解构建Transformer的五个零件及算法,包括嵌入、位置编码、掩码等。还给出了数据预处理、各组件实现及组装训练的代码,展示了结果,提及进步与不足,指出位置编码处理欠佳。
Abstract(摘要)
在transformer出现之前,主要的序列转导模型是基于复杂的递归或卷积神经网络,其中包括一个编码器和一个解码器。性能最好的模型也通过一个注意力机制来连接编码器和解码器。然而,好景不长,谷歌的大佬们提出了transformer,一来可以进行并行计算,提高训练推理速度;二来可以加入了自注意力机制,可以更好的关注序列间的时间维度上的关系。transformer同时兼备了CNN与RNN的优点,既实现了参数局部共享,降低了参数量(CNN最大的特点),同时又可以关注序列中的任意两个单词间的依赖关系,彻底解决了RNN对于长期依赖关系的无力感,真可谓万物皆可联。但很遗憾的是,谷歌大佬们的这篇attention is all you need写的太过晦涩,很难读懂,因此笔者查阅了各种资料,才将transformer略微搞懂。下面让我们开始transformer的学习吧~
Introduction(介绍)
transformer摒弃了原先的CNN与RNN的架构,仅仅使用了全连接层与自注意力机制,因此训练速度很快。同时在encoder部分,我们对src进行并行计算,与使用RNN相比,速度也有了大大的提升。那么,要搭建一个我们自己的transformer,需要五个零件,分别是
- Embedding the inputs
- The Positional Encodings
- Creating Masks
- The Multi-Head Attention layer
- The Feed-Forward layer
下面让我们一步步地开始学习吧
Algorithm(算法)
1)Embedding
嵌入单词目前已成为主流的做法,嵌入向量蕴含的信息量远比one-hot向量大的多。而且实作也很简单,直接调用API即可。当每个单词输入网络时,此代码将执行查找并检索其嵌入向量。 然后,这些向量将被模型作为参数学习,并随梯度下降的每次迭代进行调整。
2)position-encoding
刚才的embedding是为了让机器理解单词的意思,这一步是为了让机器理解各个单词的位置。当然,其实这一步本论文处理得不是很好,只是使用了三角函数进行了映射,当然这只是权宜之计,下面让我们看看作者的做法。
这是该trick的示意图,行为pos,列为i
? ? ? ?福利游戏
相关文章
更多-
- AAA认证是什么?一文带你了解AAA认证及协议_用户身份认证3a认证
- 时间:2025-07-27
-
- 一亩地是多少平方米 一亩地等于多少平方米
- 时间:2025-07-27
-
- 一亩地是几米x几米 一亩地具体大小介绍
- 时间:2025-07-27
-
- A1、A2、A3、A4纸都是多大尺寸_a1a2a3a4纸尺寸
- 时间:2025-07-27
-
- 三角洲行动长弓溪谷钥匙房怎么刷 长弓溪谷钥匙房速刷方法
- 时间:2025-07-25
-
- 豆包AI怎样生成Markdown文档?技术文章排版自动化
- 时间:2025-07-25
-
- 王化晒入职小米10周年纪念:雷军亲自感谢
- 时间:2025-07-25
-
- 逸剑风云决秘籍怎么获取 秘籍获取方式详细介绍
- 时间:2025-07-25
大家都在玩
大家都在看
更多-
- 明日方舟官方回应内容被泄露:严肃追究相关责任!
- 时间:2025-07-27
-
- 特斯拉是赢了 但不是真相的全部
- 时间:2025-07-27
-
- 历史性突破!国内单套规模最大乙醇脱水制乙烯装置投产
- 时间:2025-07-27
-
- IE浏览器升级攻略:安全防护新选择
- 时间:2025-07-27
-
- 艾达币是什么?艾达币是数字货币吗?艾达币来源及意思详解
- 时间:2025-07-27
-
- BitfinexAPP怎么查看行情
- 时间:2025-07-27
-
- 加密货币购买时机?Web3 AI或成黑马
- 时间:2025-07-27
-
- KOMA币投资指南:小众币的暴富机会?
- 时间:2025-07-27