[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention

  • 做笔记的目的
  • 输出的类型
  • Self-attention
    • 具体实现
    • 应用
    • 与其他模型的比较
      • self-attention vs CNN
      • self-attention vs RNN
      • Self-attention for Graph
      • self-attention运算量

做笔记的目的

1、监督自己把50多个小时的视频看下去,所以每看一部分内容做一下笔记,我认为这是比较有意义的一件事情。
2、路漫漫其修远兮,学习是不断重复和积累的过程。怕自己看完视频不及时做笔记,学习效果不好,因此想着做笔记,提高学习效果。
3、因为刚刚入门深度学习,听课的过程中,理解难免有偏差,也希望各位大佬指正。

输出的类型

  1. Each vector has a label
    [2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第1张图片
  2. whole vector sequence has a label
    [2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第2张图片
  3. Model decides the number of labels itself
    [2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第3张图片Each vector has a label,可以用一个神经网络直接预测出label,但是如果向量间有联系可能就会比较难办。一种方法可以是设置一个窗口把这些向量都输入进来,但是如果window很大时,那么参数就会非常多,容易overfitting,这里可以用self-attention。
    [2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第4张图片

Self-attention

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第5张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第6张图片
可以self-attention加全连接,来实现一些奇妙的功能。

具体实现

因为自己直接就知道self-attention的实现,所以这里就放一些图片,self-attention有很多实现的方法但是这里只讲Dot-product。在这个方法里面有一步归一化,可以用挺多方法的,这里用的是softmax。
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第7张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第8张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第9张图片
从矩阵角度看

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第10张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第11张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第12张图片
最终是这样的
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第13张图片
这里我们可以设置多个头也就是multi,因为相关信息不止一个,可能有很多种相关信息,设置多个头就可以学习到这些信息,具体做法如下:
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第14张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第15张图片
这里可以看到self-attention没有考虑到位置信息,所以在要考虑位置信息的任务里,可以在一开始加上位置编码。[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第16张图片
位置编码可以有很多种,同时位置编码甚至可以学习出来。什么样的位置编码更好,这是一个有待研究的问题。
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第17张图片

应用

语言识别
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第18张图片
语音辨识并不需要看全局信息,同时在语言识别的任务里有很多向量,所以实际中也不可能让其看全局信息,因为矩阵和长度成平方的关系。所以这里可以用局部的attention
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第19张图片
图像
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第20张图片
可以将图片看成一个5*10个3维向量。具体的应用如下:
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第21张图片

与其他模型的比较

self-attention vs CNN

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第22张图片
因为self-attention是可以看到全局信息的,所以CNN可以看成简化版的self attention,self-attention比CNN的弹性更大,所以需要更多的数据来训练模型,下面也证实了
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第23张图片
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第24张图片
当训练数据比较小时,CNN的结果好,但是self-attention在较大的数据集上效果好。

self-attention vs RNN

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第25张图片

从这张图看,感觉RNN不能看到右边的信息。虽然单向RNN不能看到右边的信息,但是双向的RNN却可以看到。同时self-attention经过一定设计是可以取代RNN的,同时RNN有前后依赖,没有办法并行化,但是self-attention可以很好的并行。

Self-attention for Graph

self-attention可以是一种GNN,在计算时,只计算和节点相连的节点。

[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第26张图片

self-attention运算量

self-attention运算量非常大,所以研究什么样的self-attention能又快又准是一个有价值的研究方向,近期也有人在做这一件事情。
[2022]李宏毅深度学习与机器学习第四讲(必修)-self-attention_第27张图片

你可能感兴趣的:(深度学习,李宏毅深度学习笔记,深度学习,人工智能)