self-attention - 李宏毅笔记

简介: self-attention - 李宏毅笔记

1.简介


在最常见的深度学习应用中图像识别,语音识别


图像识别


我们通常是输入一张图片,一组向量,加入到模型,模型为我们输出一个类别class或者scalar


164d24162e3147a9b5baba684a1cea34.png


语音识别


我们通常是输入一段语音,一序列的向量,加入到模型,模型为我们输出一个类别class或者scalar

29e883bbbdcf478eace7656d1e77e920.png

1.1 不同输入的向量表示方法


在日常的深度学习中,我们对模型有不同的输入,比如文本,图片,语音,图等等,我们需要对这样的输入转化为能被模型更好处理的向量。


对于图片来说,图片本质就是一个向量集组合而成的,因此不需要做处理


对于文本来说,我们需要对文本的单词,把单词映射到一组向量中,用不同的向量表示来代表一个单词。

713f115d81114e7f90f2fbe32ff081de.png

我们将apple,bag,cat,dog用不同的向量形式表示:

0ee8532ae6f64e86990c44258a5f25dd.png


self-attention就是一种新的向量计算公式,将输入层的输入的向量,通过不同的self-attention公式计算出,新的向量表示方式

74b13849b57b4e6a8869c8da86411bc0.png

1.2 为什么用self-attention


在我们输入的某一段文本时,譬如:this is a cat。


其中这个is,不只是单独一个向量独立的,它其实也是由上下文this和a cat共同去确定的。


在文本也好,语音,图片都是如此,而self-attention计算公式,就是考虑到上下文对当前向量的影响。有点类似于RNN中的LSTM但是效果比LSTM更好。


2.self-attention原理


这里借用一下b站up主“狗中赤兔”说的。


我们可以假设self-attention是一个渣男从备胎中选择一个适合的自己的对象,适合度越高的备胎,渣男投入的时间金钱就会越多(注意力为越多)

e4e799db9d6146bdae8da783ff7bb4f2.png


渣男根据自身条件Q与备胎的条件K,计算其相似度(二个矩阵的相似度,也就是矩阵相关性),最后我们用计算出的相似度给匹配到的备胎V进行加权,就知道,渣男该为那个备胎付出更多的时间金钱了。


2.1 self-attention计算流程


2.1.1 渣男自身条件q与备胎条件k计算相似度


1687253017594.png

e21f22630d684ac0a11563b61776ebd8.png

2.1.2 渣男对每个备胎的相似度整合进行归一化处理


1687253046675.png


fbe9805956254aa89dcafdfa664832e4.png


2.1.3 渣男将不同备胎的相似度对匹配到的备胎进行加权处理

a9a50605d7ec4602a3f5987db757e6bc.png


1687253087218.png



8c88d9e3b52a4f8b869adc4560163d45.png

1687253101968.png

8c88d9e3b52a4f8b869adc4560163d45.png

2.2 Multi-head Self-attention


在self-attention还有一种self-attention的变体叫Multi-head Self-attention(多头)。

步骤 1:

4144d311ac2545049acfa59633c140d8.png


步骤 2:


493ae74995294b1ebca846295b8b5fe3.png


步骤 3:

3daab81bafc943cab375e5c9fbfd24df.png


3.self- attention 与cnn,rnn


3.1 self-attention的应用


沿着self-attention出现了二种结构的变体


  • Transformer
  • BERT

3.1 self-attention vs cnn


在cnn中的卷积计算,其实也是一种注意力的计算,只不过是均匀的注意力乘积,也就是说cnn其实是self-attention的一种

self-attention 与cnn对比,数据集小的情况下,cnn精度更高,数据集更大的情况下,self-attention精度更高

f28ec43a98f74836ad8d7e6e8dfd73a7.png

3.1 self-attention vs rnn



RNN和self-attention的本质区别是,RNN必须把最左边的输入存入Memory里面然后一路带到最右边才能被最后的输出考虑,有这种序列的信息;而对于Self-attention的每一个Vector对于所有的输入都是一视同仁的,产生这种“天涯若比邻“的效果。


对于上下文来说rnn,认为上下文距离越近,影响越大,而self-attention对上下文不考虑距离,每一个词的影响都是一视同仁看待。


相关文章
|
8月前
|
机器学习/深度学习 自然语言处理 数据处理
论文《Attention is All You Need》
论文《Attention is All You Need》
372 1
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
RNN回归!Bengio新作大道至简与Transformer一较高下
研究团队提出了一种名为“minimal LSTMs and GRUs”的新型RNN模型,通过简化传统LSTM和GRU结构,去除了隐藏状态对输入、遗忘和更新门的依赖,实现了无需BPTT的高效并行训练。该模型不仅保持了RNN处理序列数据的优势,还大幅提升了训练速度,在多个任务上的表现与Transformer相当,同时减少了参数量。研究结果发表于论文《minimal LSTMs and GRUs》。
43 9
|
8月前
|
机器学习/深度学习 自然语言处理
Transformer奠基之作《Attention Is All You Need》
Transformer模型,由Google Brain和Google Research在2017年的论文中提出,颠覆了传统NLP依赖RNN和CNN的局面。该模型基于完全的注意力机制,解决了RNN的并行化难题,通过编码器和解码器中的多头自注意力机制捕捉全局依赖。训练策略结合Adam优化器、标签平滑和dropout,使其在机器翻译任务中表现卓越。尽管面临长序列处理的挑战和可能的上下文忽略问题,Transformer仍展示了注意力机制的巨大潜力,对NLP领域产生了深远影响。
140 3
Transformer奠基之作《Attention Is All You Need》
|
机器学习/深度学习 自然语言处理 机器人
Transformer - 李宏毅笔记
Transformer - 李宏毅笔记
295 0
|
机器学习/深度学习 自然语言处理 算法
基于Attention、LSTM的安卓聊天机器人 附代码论文 答辩ppt
基于Attention、LSTM的安卓聊天机器人 附代码论文 答辩ppt
206 0
基于Attention、LSTM的安卓聊天机器人 附代码论文 答辩ppt
【Medical & Transformer】论文阅读(极简版),可忽略该篇(写给自己)
【Medical & Transformer】论文阅读(极简版),可忽略该篇(写给自己)
【Medical & Transformer】论文阅读(极简版),可忽略该篇(写给自己)
|
机器学习/深度学习 编解码 测试技术
论文阅读笔记 | Transformer系列——DeiT
论文阅读笔记 | Transformer系列——DeiT
762 0
论文阅读笔记 | Transformer系列——DeiT
|
编解码 数据挖掘 计算机视觉
论文阅读笔记 | MLP系列——CycleMLP
论文阅读笔记 | MLP系列——CycleMLP
317 0
论文阅读笔记 | MLP系列——CycleMLP
|
机器学习/深度学习
论文阅读笔记 | MLP系列——MLP部分汇总(RaftMLP,DynaMixer)
论文阅读笔记 | MLP系列——MLP部分汇总(RaftMLP,DynaMixer)
394 0
论文阅读笔记 | MLP系列——MLP部分汇总(RaftMLP,DynaMixer)
|
机器学习/深度学习 计算机视觉 容器
论文阅读笔记 | MLP系列——AS-MLP
论文阅读笔记 | MLP系列——AS-MLP
384 0
论文阅读笔记 | MLP系列——AS-MLP