当前位置: 首页 > news >正文

机器学习(李宏毅)——self-Attention

一、前言

本文章作为学习2023年《李宏毅机器学习课程》的笔记,感谢台湾大学李宏毅教授的课程,respect!!!

二、大纲

  • 何为self-Attention?
  • 原理剖析
  • self-Attention VS CNN、RNN、GNN

三、何为self-Attention?

2014年就提出,但发扬光大是在2017年的Transformer 论文《Attention Is All You Need》。广泛应用在seq2seq模型中,这里就不得不举几个seq2seq的应用场景。

  • seq2seq(sequence to sequence)
    顾名思义就是输入是序列,输出也是序列,简言之输入是一排向量,输出是另外一排向量,例如:

在这里插入图片描述

四、原理剖析

  • 划重点:self-attention的精髓就是考虑上下文语义信息。

那如何考虑上下文语义信息呢? 对,就是计算相关性。
在这里插入图片描述
例如输入是一个句子,那就不单单考虑一个词了,而是和句子中不同位置的词语计算相关性,对应输出得分。

那如何计算相关性呢?
那就有百百中做法,现在举两种常见方法:
在这里插入图片描述
1、Dot-product
设有两个矩阵Wq和Wk,输入经过它们得到输出,再做点乘能够计算成输入的相关性a,具体这两个矩阵长啥样就是我们要训练出来的。

2、Additive
设有两个矩阵Wq和Wk,输入经过它们得到输出,然后相加并送入激活函数tanh,再经过W得到输出a。

感觉抽象的话,就只需要记住这步操作就是要把计算相关性的矩阵参数学出来,这是目的。

知道怎么计算了,那就实做一下。
在这里插入图片描述
说明: 要计算a1和a2、a3、a4的相关性,那就采用上述的dot-product方法两两计算,再送入softmax。q常称为query,k称为key。

接下来,再找一个v矩阵,可以理解v这个矩阵是输入的资讯,根据q和k内积的相关性得分来抽取资讯。
在这里插入图片描述
位置咨询(Positional Encoding)
在这里插入图片描述
位置资讯就是在输入时候加入e,是人为设置的。

以上就是self-attention的原理了。

小结
self-attention就是找三个矩阵q、k、v,前两个用于计算相关性,后一个的资讯信息。一言以蔽之就是根据相关性把资讯抽出来。优点是平行计算,加快速度。

变种(Multi-head Self-attention)

  • multi-head Self-attention
    就是q,k,v可以分成多个,相互独立进行运算
    在这里插入图片描述

五、self-Attention 对比

self-Attention VS CNN
self-attention 应用在目标检测、CNN上,CNN的感受野考虑的是周围8个像素的资讯,self-attention则计算整图并动态生成感受野,其实就是挑选与当前像素相关的像素。
在这里插入图片描述

self-Attention VS RNN
RNN一步步往下,并不是并行化,而self-attention并行给出输出,一次到位速度取胜。
在这里插入图片描述

self-Attention VS GNN
因为图有边相接,所以self-attention与哪个节点有关可以直接表达出来。
在这里插入图片描述

六、小结

至此,self-attention的技术介绍完毕,整体理解运算过程,记住q,k,v三个主要的矩阵,重点应用于seq2seq模型,尤其是现在爆红的chatGPT也是用的Transformer,而transformer的核心就是self-attention。

相关文章:

  • 常见的排序算法:插入排序、选择排序、冒泡排序、快速排序
  • 利用Java爬虫按图搜索1688商品(拍立淘):实战案例指南
  • 集成学习(一):从理论到实战(附代码)
  • sqli-lab靶场学习(六)——Less18-22(User-Agent、Referer、Cookie注入)
  • 网络工程师 (35)以太网通道
  • iptables网络安全服务详细使用
  • ES节点配置的最佳实践
  • 开发指南098-logback-spring.xml说明
  • 六西格玛设计培训如何破解风电设备制造质量与成本困局
  • 错误报告:WebSocket 设备连接断开处理问题
  • qt的QSizePolicy的使用
  • 游戏引擎学习第99天
  • 【STM32】H743的以太网MAC控制器的一个特殊功能
  • DeepSeek在FPGA/IC开发中的创新应用与未来潜力
  • Java IO流详解
  • Web3 开发者周刊 36 | 构建自主未来:Agent、可扩展性与赏金
  • Android ndk兼容 64bit so报错
  • 【Elasticsearch】simple_query_string
  • AI 工具相关的临床研究或是不久将来主要的临床研究内容之一
  • Git 建立远端仓库并push
  • 国际足联女子世界杯再次扩军,2031年起增至48支球队
  • 工程院院士葛世荣获聘任为江西理工大学校长
  • 马上评丨行人转身相撞案:走路该保持“安全距离”吗
  • 七大交响乐团在沪“神仙斗法”,时代交响奏出何等时代新声
  • 顾家家居:拟定增募资近20亿元,用于家居产品生产线的改造和扩建等
  • 国家发改委副主任谈民营经济促进法:以法治的稳定性增强发展的确定性