注意力机制(二)(自注意力机制)

简介: 看一个物体的时候,我们倾向于一些重点,把我们的焦点放到更重要的信息上

回顾

注意力机制

看一个物体的时候,我们倾向于一些重点,把我们的焦点放到更重要的信息上

所以,现在要求我们的深度学习模型也要能够为其学习的信息提供不同的注意力分配,从而让模型能够学习到更高价值的信息并且释放更多的算力资源

机制流程

1、QK 相乘:求爱好偏向和具体内容块的相似度

2、Scale变化:未来做 softmax 的时候避免出现极端情况,公式如下图

3、softmax求注意力概率分配:利用softmax函数让相似度转化为注意力的分配值(在0-1之间,总和为1)

4、MatMul生成新的查询对象:将原查询对象V乘上注意力分配值得到新的查询对象V’,此时新查询对象就带上了注意力的信息

问题思考

注意力机制能够正常执行关键的点在于给模型提供爱好偏向。如果爱好偏向是人为外部提供的,那么对于每一个模型、每一种应用情况,我们都必须要提供不同的爱好偏向。所以,注意力机制这个模型的泛化性是很差的,这也导致这个模型并不完全智能。

所以Q必须能够让模型通过训练自我学习,调整。

于是,我们必须要思考Q学习初始值的来源,这个Q的来源也将决定不同的注意力机制模型

总之,思考流程为:

注意力机制对外界信息依赖度过高——》要让模型自我学习爱好偏向Q——》Q初始值来源确定

我们的设想:

给注意力机制模型一个信息(待查询对象),模型能够自己学习待查询对象哪里重要,然后分配注意力并给出带有注意力信息的全新查询对象

自-注意力机制 (Self-Attention)

概述

自注意力机制最关键的点在于:K、Q、V来源于同一个X,这三者是同源的

现在外界只提供一个待查询对象X,我们需要从这个对象中提炼出板块分配K, 爱好信息Q,以及实际查询对象V

提炼的方式:

1、分配三个参数 给Q、K、V

2、通过监督学习提供的大量数据,来学习 的值

3、实现通过内部数据学习得到三个信息

详细流程

一、Q、K、V的获取

假如,通过随机梯度等模型参数训练方法以及监督学习模型提供的参数,我们已经训练好了一个模型,有了模型的参数


此时提供Thinking、Machine两个词,让模型学习单词内部的信息。首先,通过word2dev我们先将两个词变为向量的形式X1,X2。然后再分别乘上三个参数便可以得到对应的q、k、v

二、计算各单词注意力

关键点:


1、 每一个单词都有:自己的被查询对象(v),关键判断(k),在本模型中对该单词的爱好偏向特征

2、爱好偏向特征指的是:对单词特征抽象化提取后的喜欢程度。也就是说Thinking的爱好偏向特征,在其他单词中也可能存在(高维度特征,不是具象化表明的特征)。所以q1*k2也要考虑,因为Machine单词也可能有和Thinking一样被爱好的特征

3、每一个单词最后得到的注意力得分值的含义是:该单词(内部特征)在全体数据中(句子)所应该分配的注意力值

4、一个单词将融入其他单词的信息,增加了语言处理中对上下文关联信息提取的能力

三、缩放、Softmax处理

关键点:

1、这里的处理和注意力机制是完全相同的

2、 指的是第k个单词转为词向量后的词向量维度

四、计算最终待查询量

关键点:

1、sum=softmax*value

2、本质就是:原本的信息*注意力分配值=最终融入注意力的待查询信息

举例

不做注意力,its 的词向量就是单纯的 its,没有任何附加信息。但是显然从英语语法的角度来看,its后面的那个单词远远比its本身重要,并且its本身就是为了后面的名词做准备的,所以其提供的作用本身就是上下文关联


不加入注意力机制的模型对这个上下文关联的信息无法提取,这会导致模型没有办法很好的对文本进行学习


而通过自注意力机制得到新的 its 的词向量,则会包含一定的 laws 和 application 的信息,成功联系了文本的上下文信息

一些图解

下图的内容在上文均有涉及,仅仅为加深大家的印象,所以在此不再赘述

相关文章
|
5天前
|
机器学习/深度学习 Ruby
YOLOv5改进 | 2023注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制)
YOLOv5改进 | 2023注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制)
141 0
|
5天前
|
机器学习/深度学习 Ruby
YOLOv8改进 | 2023注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制)
YOLOv8改进 | 2023注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制)
225 0
|
5天前
|
机器学习/深度学习
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
174 0
|
5天前
|
机器学习/深度学习
YOLOv8改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
YOLOv8改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
139 1
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
视觉 注意力机制——通道注意力、空间注意力、自注意力
本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。
1006 0
|
5天前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 2023注意力篇 | EMAttention注意力机制(附多个可添加位置)
YOLOv8改进 | 2023注意力篇 | EMAttention注意力机制(附多个可添加位置)
329 0
|
5天前
|
机器学习/深度学习
注意力机制(三)(不同注意力机制对比)
主要介绍了注意力机制的基本思想,以及注意力机制中一个常见的类型——自注意力机制。前面两篇文章为了帮助大家理解注意力机制的思想用了非常多的类比,以及联系生活实际。 然而,不管类比和联系多么恰当,这些做法多多少少都会让事物本身的特性被类比、联系后的事物所掩盖。
|
5天前
|
机器学习/深度学习 自然语言处理 算法
注意力机制(四)(多头注意力机制)
在上一篇注意力机制(三)(不同注意力机制对比)-CSDN博客,重点讲了针对QKV来源不同制造的注意力机制的一些变体,包括交叉注意力、自注意力等。这里再对注意力机制理解中的核心要点进行归纳整理
|
5天前
|
机器学习/深度学习 自然语言处理 并行计算
一文搞懂Transformer架构的三种注意力机制
一文搞懂Transformer架构的三种注意力机制
39 1
|
5天前
|
机器学习/深度学习 存储 算法
注意力机制(一)(基本思想)
在注意力机制论文 Attention Is All You Need 中最苦恼大家的肯定是K、Q、V三个变量的含义 翻阅了CSDN、知乎大量文章后,我发现没有文章能够带大家对注意力机制建立直观的认识 大部分文章要么没有从初学者的角度出发介绍的是注意力机制上层应用,要么其作者自己也并没有真正理解注意力机制所以讲的不清不楚 所以在看完《动手学深度学习(pytorch版)》、Attention Is All You Need 论文、以及大量文章后,我开始动手写这篇专门为初学者的介绍注意力机制的文章 权