开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情
Attention注意力机制的概念
- 注意力机制的核心思想是:从大量信息中筛选出少量重要信息,使聚焦到这些重要信息上,同时忽略不重要的信息
- 注意力模型的任务就是:从大量信息V中筛选出相对另一个信息Q来说的重要信息简单的说就是计算Q跟V中的每个信息的相关程度。
- 注意力机制能更好的解决序列长距离依赖问题,并且具有并行计算的能力
- 根据Q、K、V不同,有不同类型的注意力机制
Attention计算流程
-
第一步:计算V的权重,即计算Q和V的相似度
-
第二步:对上一步得到的相似度进行操作,进行归一化,得到权重
-
第三步:针对上一步得到的权重,对V中所有的values进行加权求和,最后得到Attention向量
-
通过注意力机制计算后得到的词向量,就是一个考虑过周围词的词向量
Self-Attention 自注意力机制
- 自注意力机制中,Q、K、V同源
- 对于Self-Attention,三个输入Q、K、V来自句子X的词向量的线性转换,即对于词向量 x,给定三个可学习的矩阵参数 ,,,x 分别右乘上述矩阵得到 Q、K、V。
Masked-Head Self-Attention 掩码自注意力机制
- 除添加了Mask模块,其他内容和Self-Attention一样
- 在生成任务中,通过前面的词预测后面的词时,不应该看到后面的信息,Mask模块就是用于解决这个问题
- 为了不让模型看到未来的信息,Mask模块的任务就是将后面的词用0覆盖
Multi-Head Slef-Attention 多头自注意力机制
- Multi-Head(多头)相当于把原始信息放到了多个子空间中,让attention可以看到多个不同空间的信息,从而让模型学习到更加丰富的特征
Cross-Attention 交叉注意力机制
- 交叉注意力机制中,K、V同源,Q与它们不同源