IT评测·应用市场-qidao123.com技术社区

标题: 【深度学习—李宏毅教程条记】Self-attention [打印本页]

作者: 愛在花開的季節    时间: 7 天前
标题: 【深度学习—李宏毅教程条记】Self-attention
目次
一、Self-attention 的引入
1、多样化的输入情势
2、典型的下游任务下游任务
3、传统“全连接 + 窗口”方法的局限
4、Self‑Attention 的引入
二、Self-attention 的架构
1、Self-attention层的框图表示
2、Self-attention 层的矩阵运算过程
三、Multi-head Self-attention
四、位置编码
五、Self-attention 的应用
1、在自然语言处置惩罚(NLP)中的典型应用
2、在语音信号处置惩罚中的应用
3、在计算机视觉中的应用
4、Self‑Attention 与卷积神经网络(CNN)的对比
5、Self‑Attention 与循环神经网络(RNN)的对比
6、在图结构数据(GNN)中的应用
7、高效 Transformer 与将来方向
8、总结


一、Self-attention 的引入

1、多样化的输入情势

对于常见的机器学习任务,输入情势是多样的:

2、典型的下游任务下游任务

根据输入向量集合,模型的输出情势主要有以下几类:
3、传统“全连接 + 窗口”方法的局限


4、Self‑Attention 的引入

为了办理上述方法无法建模全局依靠的问题,在此处引入 Self‑Attention 概念:
                


二、Self-attention 的架构

1、Self-attention层的框图表示

Self-attention 的架构大体就上面的图片上的样子,有时在应用时可叠多层,如下图:
        ​​​​​​​        ​​​​​​​        

其中的每一个输出不仅仅只与对应的一个输入有关,其余的说有输入都影响到这个输出,比如 
 不仅仅与
 有关,还受
 的影响,如下图:
        ​​​​​​​          

在计算 
 时,可先建立  
 与 
 的联系,用 
 表示,如下图:
        ​​​​​​​        

每一个输入都有一个自己的 Query、Key、Value,(Value后续用到)。Query、Key、Value都由相应的输入和一个参数矩阵 
 相乘得到,对于每一个输入,用的参数矩阵  
  都是相同的。
得到了 各个输入之间的关系 
 ,后将他们送到softmax层进行归一化,再与各个输入的 Value 相乘后加一起,就得到了 
,如下图:
        ​​​​​​​        ​​​​​​​        

        ​​​​​​​        ​​​​​​​       

这就是 Self-attention 层从输入到输出的过程。所有的输出都是并行的
2、Self-attention 层的矩阵运算过程

步骤一:
一个 Self-attention 层的参数就只有三个矩阵: 
  ,它们三个的任务是与输入分别相乘得到每个输入对应的 Query、Key、Value ,详细如下:​​​​​​​

步骤二:
接着由矩阵  
 和矩阵 
 相乘得到矩阵 
 ,再经过softmax得到 
  

步骤三:
然后再由矩阵 
和矩阵 
 相乘得到 输出矩阵 



可更清楚得表示为
步骤一:
                 ​​​​​​​        

        ​​​​​​​      

步骤二:
      

步骤三:
        ​​​​​​​        



即全流程为:


三、Multi-head Self-attention

再平常 Self-attention 的底子上 添加多个注意力矩阵的运算,通过多头注意力找到输入之间的多种差别的相关性,即:
        ​​​​​​​        ​​​​​​​        

        ​​​​​​​        ​​​​​​​        

得到 
 和 
 ,再将它两个乘上一个矩阵变成一个,即  


四、位置编码

        对于上面的 Self-attention ,其中忽略了输入之间的位置信息,但这并不能说位置信息就丢失了,在学习过程中,位置信息会被学到,但如果提前加入位置信息,那么对于位置信息,模型就能更轻易的得到,相当于帮助了模型对位置信息的学习,也可以说对位置信息提前加入了先验,效果更好。所以说就有了位置编码。
位置编码的方式:
给输入 
 加上一个向量 
 ,即:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​  

向量 
 长什么样子呢?最早的论文中的向量 
 如下图:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

        每个列都代表一个向量,从左到右依次是 
 ,玄色框里的是 
 .
        在论文 《All attention is you need》中它的位置向量是通过一个固定的规则所产生的,这个规则是一个很神奇的 sin cos 的函数所产生的。
        更多的位置编码:
  

        第一个图的位置向量是横着看的,是用 sin 函数产生的,第二个图是学出来的,即位置向量通过学习得到的,

五、Self-attention 的应用

1、在自然语言处置惩罚(NLP)中的典型应用



2、在语音信号处置惩罚中的应用



3、在计算机视觉中的应用



4、Self‑Attention 与卷积神经网络(CNN)的对比



5、Self‑Attention 与循环神经网络(RNN)的对比



6、在图结构数据(GNN)中的应用



7、高效 Transformer 与将来方向



8、总结

        Self‑Attention 作为一种通用的关系建模机制,已广泛渗出到 NLP、语音、视觉、图神经网络等领域。其核心优势在于并行化训练、长距离依靠捕获与可学习的全局感受野;同时,面对序列长度过大时,也催生了各类高效变体(如截断、稀疏、分层注意力)来平衡性能与计算资源。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4