本文要介绍的这三个朋友是:
Attention(注意力)Self-Attention(自我注意力)Multi-Head Attention(多头注意力)比喻故事:现在要求班级里的小朋友做阅读理解题。要求班里的小朋友,每人读一句话,然后要回答一个问题。句子是:“我喜欢吃苹果和香蕉。”
1️⃣ Attention 是什么?
这好像是一个小朋友在看整句话,然后想知道哪些词是最重要的可以帮助他理解问题。 比如老师问:“他喜欢吃什么?”,小朋友读到了“我喜欢吃苹果和香蕉”。此时他就注意到了:
“喜欢” ✅(这是动词)“苹果” ✅(是吃的)“香蕉” ✅(也是吃的)这就叫 Attention!就是关注重要的词。总结来说,Attention 就是关注对自己理解有帮助的词。
2️⃣ Self-Attention 又是什么呢?
这里就是每个词也就是词自己在看整句话,思考“我和谁最有联系最有关系”?就像班里每个同学都在读句子:
“我” 会想:“我和喜欢、吃有关”“吃” 会想:“我吃的是苹果和香蕉”“香蕉” 会想:“我是被吃的对象”每个词都在想:“我理解自己的时候,要注意谁?” 这就是 Self-Attention —— 自己关注自己句子里的其他词。总结来说,Self-Attention 是一种特殊的 Attention:每个词都在自己观察整句话。(专业的来说:这部分就是在 Transformer 模型里提到的 QKV 关联的理论)
3️⃣ Multi-Head Attention 又是个啥呢?
其实就是有很多小朋友很多小脑袋在思考问题!,每人从不同角度来理解这句话。
比如:
第一个脑袋专门看“谁做了什么”第二个脑袋专门看“哪些是动词”第三个脑袋专门看“吃的是哪些水果”小明关注“谁吃了什么”小红关注“这句话讲的是情绪还是行为”小刚关注“语法关系”他们每人都在做自己的 self-attention,同时工作、分别分析,然后合在一起,变得超级聪明!
这就是 Multi-Head Attention —— 有很多个“小脑袋”在同时做不同方向的 self-attention,最后合起来让句子理解得更全面。总结下,Multi-head Attention = 多个 self-attention 并行,每个从不同角度理解。
4️⃣ Attention,Self-Attention,Multi-head Attention 它们又是在 BERT 和 ERNIE 中是怎么用的?
模型
是否使用 Attention?
使用哪种 Attention?
作用
BERT
✅ 用
✅ Multi-head Self-Attention
理解句子中所有词的关系
ERNIE
✅ 用
✅ Multi-head Self-Attention + 加知识点
更聪明地理解词、实体之间的关系
5️⃣ 总结:以家庭关系的方式展示三者的关系
Attention(爸爸) │ ├── Self-Attention((大儿子,专注自己家里人) ) │ └── Multi-head Attention(像是二儿子,有很多头脑同时想问题同时做 Self-Attention)它们之间是什么样的包含关系呢?:
Self-Attention 是一种特殊的 AttentionMulti-head Attention 是多组 Self-Attention 的组合BERT 和 ERNIE 都是用的 Multi-head Self-Attention!