机器学习(李宏毅)——Transformer

一、前言

本文章作为学习2023年《李宏毅机器学习课程》的笔记,感谢台湾大学李宏毅教授的课程,respect!!!

读这篇文章必须先了解self-attention,可参阅我上一篇。

二、大纲

  • Transformer问世
  • 原理剖析
  • 模型训练

三、Transformer问世

2017 年在文章《Attention Is All You Need》被提出的。应用于seq2seq模型,当时直接轰动。

四、原理剖析

两部分组成:Encoder 和 Decoder

  • Encoder 结构
    接下来从大到小一层层剥开:

剥一下:

输入一排向量,输出一排向量

剥两下:

Encoder 由多个Block组成,串联起来

剥三下:

Block装的是啥?原来是Self-attention!

剥四下:

Self-attention原来加入了residual和Layer Normal,至此剥完了。

说明:

上图自底向上看,关键点:

1、residual结构,输入接到输出送入下一层,残差结构;

2、Layer Normal,具体如下图:

算出标准差和均值后,套用公式计算即可。

以上就是Encoder的全部了!

论文中是这么画图表达的:

注:Positional Encoding是self-attention的位置资讯。

  • Decoder 结构
    有两种方法生成输出:Auto Regressive 和 Non Auto Regressive。

Auto Regressive

给个START符号,把本次输出当做是下一次的输入,依序进行下去。

Non Auto Regressive

输入是一排的START符号,一下子梭哈突出一排输出。

Encoder结构长啥样?

接下来看下结构长啥样,先遮住不一样的部分,其他部分结构基本一致,只不过这里用上了Masked Multi-Head Attention

Masked Multi-Head Attention

啥是Masked Multi-Head Attention?Masked有啥含义?

可以直接理解为单向的Multi-Head Attention,而且是从左边开始:

说明:这也很好理解,右边的字符都还没输出出来怎么做运算,因此只能是已经吐出来的左边的内容做self-attention,这就是masked的含义。

遮住的部分是啥?(cross attention)

最后这边遮住的部分到底是啥玩意?

别想太复杂,就还是self-attention。

corss的意思就是v,k来自Encoder,q来自Decoder,仅此而已。

其实也好理解,Decoder是去还原结果的,那可不得抽下Encoder编码时候的资讯和上下文语义信息才能还原,缺一不可。

比喻下,前者让输出紧扣题意,后者让其说人话。

小结

至此,Transformer的结构就阐述完了,无非就是Encoder + Decoder,建议自己在草稿纸上画画能够加深印象。

五、模型训练

transformer的模型训练用的还是cross entropy。

实战过程中的tips

  • copy mechanism
    例如:
    Machine Translation(机器翻译),可能使用原文复制这个技能对于模型而言比较容易,毕竟它不需要创造新词汇了嘛,这就是copy mechanism。
  • Guided Attention

意思就是不要乱Attention,有的放矢地让模型做attention。

  • Beam Search

    基本思想就是不要步步好,有可能短期不好但是长期更好。说的和人生似的。
    如果模型需要有点创造力,不适合用此方法,这是实做后的结论。

训练过程记得让模型看些负样本,不至于模型一步错步步错,(schedule sampling方法)。

五、小结

最基本的掌握好Encoder和Decoder就很可以了,其他的在实做过程中遇到问题再问问AI工具。

相关推荐
Gyoku Mint3 小时前
NLP×第六卷:她给记忆加了筛子——LSTM与GRU的贴靠机制
人工智能·深度学习·神经网络·语言模型·自然语言处理·gru·lstm
悠哉悠哉愿意3 小时前
【数学建模学习笔记】机器学习分类:随机森林分类
学习·机器学习·数学建模
玉木子3 小时前
机器学习(七)决策树-分类
决策树·机器学习·分类
YF云飞4 小时前
数据仓库进化:Agent驱动数智化新范式
数据仓库·人工智能·ai
悠哉悠哉愿意4 小时前
【数学建模学习笔记】机器学习分类:KNN分类
学习·机器学习·数学建模
ningmengjing_4 小时前
理解损失函数:机器学习的指南针与裁判
人工智能·深度学习·机器学习
程序猿炎义4 小时前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd4 小时前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
居然JuRan4 小时前
阿里云多模态大模型岗三面面经
人工智能
THMAIL5 小时前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert