Transformer论文逻辑通俗解释

(时间飞逝啊,好久没点开CSDN写博客了,机缘巧合需要看一篇语音识别论文,点开论文阅读依然有一种战战兢兢、谨慎认真的感觉,哈哈)

在看Whisper论文,里面网络结构用的是Transformer,在没有时间仔细研究代码的情况下,只看论文似乎还是看不太明白(之前上学似乎看过,但是忘得差不多了。。),网上介绍文章良莠不齐,这里记录一下看到的比较好的文章,便于理解。(讲得可能不对,欢迎指正~)

1.首先是整个Transformer结构和输入输出逻辑,如果是直接上手的同学没有对NLP任务有相关基础了解,可能会比较难理解,论文对一些内容是简写的。网上很多博客没有对整个结构说明白,直接就讲attention之类的模块,无法对整个结构有个清晰的认识。所以我花了一些时间搞清楚它在做什么。
Transformer是一个非常棒的模型结构,被应用在许多领域方向。主要是由编码器encoder和解码器decoder组成。下面以语音识别为例,也是序列-序列的任务。
编码器:输入为一段音频序列,输出为经过编码之后的高维特征;
解码器:整个解码器的输入有两个部分,一个是编码器输出的高维特征作为输入,另一个是解码器自己在上一时刻的输出。(这里比较绕,是我花比较多时间搞懂的),输出就是我们想要的音频识别出来的文字。
2.解码器
(1)举个最简单的例子,音频输入为“吃了吗”的一段音频(如果是机器翻译任务,可以是“Have you eaten”,反正是个序列),经过编码器,我们得到一个高维特征,记作Z。
(2)来到解码器部分,我们先看最基础的inference是怎么做的,即正常使用test情况下,待会儿再说训练条件下的trick。
我们都知道,模型输出是需要定义一个“开始”和一个“结束”标志位的,表示整个模型输出的开始和结束。那么,在第一个位置,我们先给解码器输入开始标志位“开始”(这里我简单用中文表述下整个逻辑,实际实现起来肯定要用程序语言,比如使用one-hot编码,“开始”可以是[1,0,0]),经过一些网络操作得到特征x1。
此时,来到解码器的中间位置,我们用到了编码器的输出Z,把它也送到解码器里,与x1进行一些网络操作,得到网络的输出X。对X进行softmax等操作,把它转换为预测词典中单词的概率,比如词典有3000个词,输出就是3000维的向量,每个值表示预测这个单词的概率,取得分最高的就是本次解码器的输出单词。假设输出“吃”。
(3)又回到解码器开始的地方,这次给解码器输入的是开始标志位+上次的预测输出,即“开始 吃”,经过同样的网络操作,得到“了”
(4)同样,这次输入“开始 吃 了”……;直到最后得到整个完整的句子“开始 吃 了 吗 结束”。
(5)这样就是整个编码-解码运行的逻辑了,包括输入和输出是啥。
3.理解上述整体输入和输出逻辑之后,我们就可以对黑盒子里的结构进行进一步的剖析了,比如self-attention, cross-attention都是怎么做的,还有位置编码,训练时候的mask操作使得整个解码可以并行训练等等,这些在网上都有比较详细的解释,这里不再赘述。

4.比较棒的文章,便于理解:
李宏毅 Transformer(Decoder部分):
https://blog.csdn.net/missgrass/article/details/123343740?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-4-123343740-blog-127739867.235v38pc_relevant_default_base&spm=1001.2101.3001.4242.3&utm_relevant_index=7

https://zhuanlan.zhihu.com/p/502249065

https://blog.csdn.net/qq_52302919/article/details/122207924

5.whisper论文详解:
https://zhuanlan.zhihu.com/p/618742000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值