机器学习(李宏毅)——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工具。

相关推荐
小oo呆1 小时前
【自然语言处理与大模型】模型压缩技术之量化
人工智能·自然语言处理
Magnum Lehar1 小时前
ApophisZerg游戏引擎项目目录展示
人工智能·vscode·编辑器·游戏引擎
飞桨PaddlePaddle1 小时前
Wan2.1和HunyuanVideo文生视频模型算法解析与功能体验丨前沿多模态模型开发与应用实战第六期
人工智能·算法·百度·音视频·paddlepaddle·飞桨·deepseek
绿算技术2 小时前
存储新势力:助力DeepSeek一体机
人工智能·科技·缓存·fpga开发
Y1nhl2 小时前
搜广推校招面经八十一
开发语言·人工智能·pytorch·深度学习·机器学习·推荐算法·搜索算法
胡攀峰2 小时前
第12章 微调生成模型
人工智能·大模型·llm·sft·强化学习·rlhf·指令微调
yuanlaile2 小时前
AI大模型自然语言处理能力案例演示
人工智能·ai·自然语言处理
小白白搭建2 小时前
WordPress AI 原创文章自动生成插件 24小时全自动生成SEO原创文章 | 多语言支持 | 智能配图与排版
人工智能
Jamence2 小时前
多模态大语言模型arxiv论文略读(三十九)
人工智能·语言模型·自然语言处理
ai大模型木子3 小时前
嵌入模型(Embedding Models)原理详解:从Word2Vec到BERT的技术演进
人工智能·自然语言处理·bert·embedding·word2vec·ai大模型·大模型资料