【李宏毅机器学习2022】Task06 self-attention算法

【李宏毅机器学习2021】本系列是针对datawhale《李宏毅机器学习-2022 10月》的学习笔记。本次是对深度学习中self-attention算法的学习总结。本来这节课是讲cnn,上节课cnn学过了笔记也做过了,就快进到self-attention吧~本节课主要讲解NLP中self-attention算法的生成原理,针对序列向量的预测思路及优势特点。同时在基本的self-attention介绍相关升级算法。最后对self-attention在声音信息、cv、图数据中的引用。这节课也是datawhale的最后一节课,但是虽然组队学习结束但是对这门课的学习还没完,打算接着更下去。频率保证在两天一冲。还要学习中的作业部分也打算更一下,练练手。加油吧~

目录

序列输入的神经网络介绍

输入部分

 输出部分

 self-attention

self-attention解决问题

 self-attention模型介绍

  self-attention升级及相关应用


序列输入的神经网络介绍

self-attention的引入是从序列输入数据的神经网络入手,首先介绍一下相关网络框架和解决问题。

输入部分

可以是一段话、一段语音、一个图、一个分子这样的序列向量。

 

 输出部分

1.输出输出数目一样的标签。

2.只输出类别,如对一句话的情感判断。

3.输入和输出数目不一样的标签,如翻译。

 self-attention

self-attention解决问题

全连接网络对 输出输出数目一样的标签的序列向量预测情况不会考虑序列间元素的关系,容易丢失信息,如何将序列间的信息快速有效的提取保存出来呢?

 

 self-attention模型介绍

运用所有输入元素,进行两两计算关联性(关联性评分得出的值为a 这里采用下图中Dot-product方法通过两个矩阵,用自身向量和一个矩阵wq计算后得到q,用另一个矩阵wk和其他向量计算后得到k,然后用kq相乘得到a的值),得到相应评分。可以有效使用整个序列的元素,同时可以随机去选择,不用刻意控制顺序。 将序列内每个元素做重组后输出的向量考虑整体数据的情况,有了全局特征,这样做FC预测时会更准确。

 

 得到所有a后对所有a做softmax或者relu,(方法不唯一)处理后得到a‘。然后将每个a’和第三个矩阵相乘求和,得到b。就是处理后得到的向量。

整个self-attention的计算步骤可以简化成矩阵批量计算,大大提升了计算的速度。整体矩阵计算图如下。

  self-attention升级

Multi-head Self-attention

这个算法对selfattention改良,将计算出的b带有更多特征信息,几个head意味着扩展几组参数。对于声音信号及数据量较大的训练序列效果更好。

Positional Encoding

在模型上引入位置信息e,加入位置信息后增强与前后数据的关联性。可以让网络有更多的序列信息,增强序列对网络影响的权重。可以像他的兄弟们lstm、rnn这样对邻近的节点对预测有更大的影响。

 

Truncated  Self-attention

针对过长的序列,采取较短的部分序列做self-attention。

 

Self-attention用于图像

将像素点看作一个元素,由像素点组成的图像看成序列。

 

 

 和cnn对比后发现,cnn是简化版的vit。其实vit的使用过程就是网络自己训练fliter处理图像。

由于 self-attention网络参数较多,网络弹性大。使用更多数据时预测效果优于cnn。后面会专门写vit的笔记~

Self-attention与RNN对比

相比于sa,rnn网络对全局的信息考虑的并不完全,只对先前的数据信息保存较好,即使使用双向rnn也没有sa对序列数据整体的处理效果好,同时rnn不具备全局计算的优势,处理速度会慢很多。

self-attention可以用在图网络

self-attention也有很多变形,由于self-attention对全序列运算的特性导致会产生很多参数。如何让网络更轻巧训练速度更快,同时有更好的效果也是sa算法在不断优化的地方。 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值