【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(上)

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(上)

学习目标

🍀 了解什么是注意力计算规则以及常见的计算规则.

🍀 了解什么是注意力机制及其作用.

🍀 掌握注意力机制的实现步骤.

🍔 注意力机制介绍

1.1 注意力概念

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

1.2 注意力计算规则

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

假如我们有一个问题: 给出一段文本,使用一些关键词对它进行描述!

为了方便统一正确答案,这道题可能预先已经给大家写出了一些关键词作为提示.其中这些给出的提示就可以看作是key, 而整个的文本信息就相当于是query,value的含义则更抽象,可以比作是你看到这段文本信息后,脑子里浮现的答案信息,这里我们又假设大家最开始都不是很聪明,第一次看到这段文本后脑子里基本上浮现的信息就只有提示这些信息,因此key与value基本是相同的,但是随着我们对这个问题的深入理解,通过我们的思考脑子里想起来的东西原来越多,并且能够开始对我们query也就是这段文本,提取关键信息进行表示.  这就是注意力作用的过程, 通过这个过程,我们最终脑子里的value发生了变化,根据提示key生成了query的关键词表示方法,也就是另外一种特征表示方法。

刚刚我们说到key和value一般情况下默认是相同,与query是不同的,这种是我们一般的注意力输入形式,但有一种特殊情况,就是我们query与key和value相同,这种情况我们称为自注意力机制,就如同我们的刚刚的例子, 使用一般注意力机制,是使用不同于给定文本的关键词表示它. 而自注意力机制,需要用给定文本自身来表达自己,也就是说你需要从给定文本中抽取关键词来表述它, 相当于对文本自身的一次特征提取。

1.3 常见的注意力计算规则

  • 将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])

🍔 什么是注意力机制

  • 注意力机制是注意力计算规则能够应用的深度学习网络的载体, 同时包括一些必要的全连接层以及相关张量处理, 使其与应用网络融为一体. 使用自注意力计算规则的注意力机制称为自注意力机制.
  • 说明: NLP领域中, 当前的注意力机制大多数应用于seq2seq架构, 即编码器和解码器模型.

🍔 注意力机制的作用

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

注意力机制在网络中实现的图形表示:

【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(下):https://developer.aliyun.com/article/1622672


相关文章
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的新篇章:从理论到实践的飞跃####
本文深入剖析了深度学习的最新进展,探讨了其背后的理论基础与实际应用之间的桥梁。通过实例展示了深度学习如何革新计算机视觉、自然语言处理等领域,并展望了其未来可能带来的颠覆性变化。文章旨在为读者提供一个清晰的视角,理解深度学习不仅是技术的飞跃,更是推动社会进步的重要力量。 ####
137 61
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的深度学习与自然语言处理前沿
【10月更文挑战第10天】探索人工智能的深度学习与自然语言处理前沿
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
47 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
38 0
|
22天前
|
机器学习/深度学习 存储 人工智能
大数据中自然语言处理 (NLP)
【10月更文挑战第19天】
119 60
|
5天前
|
机器学习/深度学习 自然语言处理 监控
探索深度学习在自然语言处理中的应用与挑战
本文深入分析了深度学习技术在自然语言处理(NLP)领域的应用,并探讨了当前面临的主要挑战。通过案例研究,展示了如何利用神经网络模型解决文本分类、情感分析、机器翻译等任务。同时,文章也指出了数据稀疏性、模型泛化能力以及计算资源消耗等问题,并对未来的发展趋势进行了展望。
|
20天前
|
人工智能 自然语言处理 语音技术
利用Python进行自然语言处理(NLP)
利用Python进行自然语言处理(NLP)
33 1
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在自然语言处理中的突破与未来趋势####
本文深入探讨了深度学习技术在自然语言处理(NLP)领域的最新进展,重点介绍了其在语言理解、生成及翻译等方面的革新应用。通过对比传统方法的局限性,展示了深度学习如何以其强大的特征提取和学习能力重塑NLP领域。文章还分析了当前面临的挑战,如模型泛化能力、解释性问题及资源消耗等,并展望了未来发展趋势,包括多模态学习、持续学习机制以及更加公平和可解释的AI模型设计。本文旨在为读者提供一个全面而深入的视角,理解深度学习在推动NLP发展的核心作用及其未来的无限可能。 ####
|
1月前
|
人工智能 自然语言处理 语音技术
利用Python进行自然语言处理(NLP)
利用Python进行自然语言处理(NLP)
28 3

热门文章

最新文章