5.5 注意力机制

本文介绍了注意力机制的概念,强调其在快速判断事物中的重要性。详细讲解了注意力计算规则,包括三种常见方法,并指出在NLP中注意力机制常用于seq2seq模型。注意力机制在解码器和编码器中分别起到聚焦编码器输出和特征提取的作用。同时,概述了注意力机制的实现步骤,包括线性变换等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5 注意力机制


  • 学习目标:
    • 了解什么是注意力计算规则以及常见的计算规则.
    • 了解什么是注意力机制及其作用.
    • 掌握注意力机制的实现步骤.

  • 5.1 什么是注意力:
    • 我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果. 正是基于这样的理论,就产生了注意力机制.

  • 5.2 什么是注意力计算规则:
    • 它需要三个指定的输入Q(query), K(key), V(value), 然后通过计算公式得到注意力的结果, 这个结果代表query在key和value作用下的注意力表示. 当输入的Q=K=V时, 称作自注意力计算规则.

  • 5.2.1 常见的注意力计算规则:
  • 将Q,K进行纵轴拼接, 做一次线性变化, 再使用softmax处理获得结果最后与V做张量乘法.

  • 将Q,K进行纵轴拼接, 做一次线性变化后再使用tanh函数激活, 然后再进行内部求和, 最后使用softmax处理获得结果再与V做张量乘法.

  • 将Q与K的转置做点积运算, 然后除以一个缩放系数, 再使用softmax处理获得结果最后与V做张量乘法.


  • 说明:当注意力权重矩阵和V都是三维张量且第一维代表为batch条数时, 则做bmm运算.bmm是一种特殊的张量乘法运算.

  • bmm运算演示:
# 如果参数 1 形状是 ( b × n × m ), 参数 2 形状是 ( b × m × p ), 则输出为 ( b × n × p )
>>> input = torch . randn ( 10 , 3 , 4 )
>>> mat2 = torch . randn ( 10 , 4 , 5 )
>>> res = torch . bmm ( input , mat2 )
>>> res . size ()
torch . Size ([ 10 , 3 , 5 ])

  • 5.3 什么是注意力机制:
    • 注意力机制是注意力计算规则能够应用的深度学习网络的载体, 同时包括一些必要的全连接层以及相关张量处理, 使其与应用网络融为一体. 使用自注意力计算规则的注意力机制称为自注意力机制.

  • 说明: NLP领域中, 当前的注意力机制大多数应用于seq2seq架构, 即编码器和解码器模型.

  • 5.4 注意力机制的作用:
    • 在解码器端的注意力机制: 能够根据模型目标有效的聚焦编码器的输出结果, 当其作为解码器的输入时提升效果. 改善以往编码器输出是单一定长张量, 无法存储过多信息的情况.
    • 在编码器端的注意力机制: 主要解决表征问题, 相当于特征提取过程, 得到输入的注意力表示. 一般使用自注意力(self-attention).

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值