IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 浅浅懂了一些transformer中的self-attation -> 正文阅读

[人工智能]浅浅懂了一些transformer中的self-attation

?参考:Transformer模型详解(图解最完整版) - 知乎

如何理解attention中的Q,K,V? - 知乎

注意力机制到底在做什么,Q/K/V怎么来的?一文读懂Attention注意力机制 - 知乎

正如很多人说,其中灵魂就是下面这个公式:

?简单说,就是。输入的词汇会变成嵌入。就是高维数据!这称为矩阵X!

Self-Attention 接收的是输入(单词的表示向量x组成的矩阵X) 或者上一个 Encoder block 的输出。

之后,经过三个可训练的参数矩阵生成Q、K、V这三个都是维度相同的!

第一波,Q矩阵乘以K的转置矩阵。这个核心思想,就是两个向量点乘就是计算二者的相似性程度大小。

向量点乘的几何意义是:
向量在向量方向上的投影再与向量的乘积,能够反应两个向量的相似度。
向量点乘结果大,两个向量越相似。

自注意力机制,也就是包含着本身的一些字符串。

【换句话说,如果K、V矩阵不是由上面的X矩阵生成的话,那么就叫做注意力机制啦。

因为这样的点乘也是计算相似性程度的!】

Q、K这两个矩阵点乘之后,除以的那个分母,是为了缩小方差,使得梯度更加稳定(就是数值之间的差值比较小的意思呗!)。

也是为了更好的进行softmax操作。

对啦,softmax就是进行归一化操作。使得最终生成的数值的和是1

最终,经过这些操作(也就是与矩阵V点乘之前的操作。)是得到了一个注意力权重矩阵。

与V矩阵的点乘,就是将注意力权重值与V矩阵中的特征进行加权求和!

最终,得到的输出维数大小,是与输入数据维数大小相同!

多头注意力

为了增强拟合性能,Transformer对Attention继续扩展,提出了多头注意力(Multiple Head Attention)。刚才我们已经理解了,Q、K、V是输入X与WQ、WK和WV分别相乘得到的,WQ、WK和WV是可训练的参数矩阵。现在,对于同样的输入X,我们定义多组不同的WQ、WK、WV,比如W0Q、W0K、W0V,W1Q、W1K和W1V,每组分别计算生成不同的Q、K、V,最后学习到不同的参数。

疑惑

其实,我不太懂为什么这样安排Q、K、V;

下面这个看法,仅供启发思维。

其实,跟人家唠嗑可以说下面的东西。但是,如果写论文的话,还是需要借鉴行业内大佬的文章中的说法!

Q就是词的查询向量,K是“被查”向量,V是内容向量。

简单来说一句话:Q是最适合查找目标的,K是最适合接收查找的,V就是内容,这三者不一定要一致,所以网络这么设置了三个向量,然后学习出最适合的Q, K, V,以此增强网络的能力。

主要要理解Q,K的意义,可以类比搜索的过程:

假设我们想查一篇文章,我们不会直接把文章的内容打上去,而是会在搜索框输入该文章的关键字,如果我们搜不到,我们往往会再换一个关键字,直到搜到为止,那么可以让我们搜到的关键字就是最适合查找目标文章的关键字。这个最适合查找目标文章的关键字就是Q。

那么搜索引擎拿到我们输入的关键字Q之后,就会把Q和库里面的文章对比,当然搜索引擎为了节省资源加快对比速度,提前把库里面的文章进行了处理提取了关键信息,关键信息有很多,那么那个关键信息能够使得搜索命中率高,那个就是最适合接收查找的关键信息,这个最适合接收查找的关键信息就是K

使用Q和K计算了相似度之后得到score,这就是相似度评分,之后有了相似度评分,就可以把内容V加权回去了。

由于计算Q、K、V的矩阵是可以学习的,因此网络可以自己学习出要怎么样安排Q、K、V。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:29:07  更:2022-09-21 00:31:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 17:58:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计