【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

全文总结于哔哩大学的视频:(强推)李宏毅2021春机器学习课程

2020版课后作业范例和作业说明在github上:点击此处

本博客持续更新,结合哔哩大学的视频观看效果更佳。

下文加粗字体为内容引导标题。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
Self-attention想解决的问题是什么呢?
一般network input 都是一个向量,输出可能是一个类别或者标量。假设我们遇到一个复杂的问题,输入是一排向量。假设输入为一个句子,每个词作为一个向量,即这个句子是多个向量。
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
例如一段声音也可以当作一排向量,图中将25ms长度的声音信号当作一个向量。一秒声音信号可以分为一百个向量。
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
那么输出都应该是什么呢?
有三种可能:
1、每一个向量都对应一个label,这个叫做Sequence labeling;
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

2、一整个sequence(序列)输出一个标签;
列入一段话会输出是消极句子还是正面的句子,比如公司推出了一个产品,那么可以通过这个应用判断产品下的评论大多是好是坏。语音可以输出是谁在说话。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

3、机器自己决定要输出多少个label。
即输入是n个向量,但是输出了不知道多少个label,机器自己去判断。
以上第三个这种情况就是seq2seq,在transform中有应用.

例如翻译就是seq2seq,因为输入和输出是不同的语言,语音辨识输入语音输出对应文字。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

以下为上面三种情况的详细讲解。

1、Sequence labeling
例如句子:I saw a saw.

因为句子中有两个saw但是要输出的词性是不一样的,所以要联系上下文才能输出正确的词性。但是一句句子很长,不同的句子长度不一样,联系整个句子很麻烦。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
解决方法是:

; Self-attention

通过Self-attention的向量都是考虑一整个sequence后才输出的向量。
怎么办到的呢?
如图,首先通过a1找到和a1相关的其他向量,每一个向量和a1相关联的程度我们都用一个阿尔法来表示。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
那是怎么决定两个向量之间的关联性呢?
这里需要一个计算attention的模组,输入两个向量,输出阿尔法。下图左侧为一个做法Dot-product,是将两个向量分别乘上不同的矩阵,左边乘上Wq矩阵,右边乘上Wk矩阵,分别得到向量q、k,再做qk的神奇运算,就能得到阿尔法。右边是类似的一种方法。
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
用上述方法进行计算整个句子。其中第一个是自己和自己算关联性,后边是a1和其他向量计算关联性。
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)
我们从中就可以选出哪些向量是和a1最有关系的具体操作是每个向量都乘出一个新的向量v1-v4,然后都乘上alpha prime,相加得到b1,类似计算出b2。例如a1和a2的关联性很强,则b1的值就很很接近v2,就可以被抽出。
【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

那么具体是怎么矩阵计算的呢?

具体的矩阵计算方法李宏毅讲的太好了,去看他的视频讲解吧,从视频的开头到十分钟。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

总结如图,从输入的向量I到O就是做了self-attention,而这其中从输入的向量I到最后的O,只有wq、wk、wv是未知的,是需要训练出来的。

【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

Original: https://blog.csdn.net/weixin_45947476/article/details/122250060
Author: running snail szj
Title: 【李宏毅机器学习】Self-attention架构详解 | 全程手码,放心食用(2021p23、24)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531201/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球