{
"cells": [
{
"cell_type": "markdown",
"id": "1268b965-e029-4998-a20b-b11249cd1f02",
"metadata": {},
"source": [
"## 1.1 注意力机制的本质"
]
},
{
"cell_type": "markdown",
"id": "505368a2-2eee-4f61-8170-4b4deeddfcac",
"metadata": {},
"source": [
"注意力机制是一个帮助算法辨别信息重要性的计算流程,它通过计算样本与样本之间相关性来判断**每个样本之于一个序列的重要程度**,并**给这些样本赋予能代表其重要性的权重**。很显然,注意力机制能够为样本赋予权重的属性与序列模型研究领域的追求完美匹配,Transformer正是利用了注意力机制的这一特点,从而想到利用注意力机制来进行权重的计算。\n",
"\n",
"> **面试考点**
\n",
"作为一种权重计算机制、注意力机制有多种实现形式。经典的注意力机制(Attention)进行的是跨序列的样本相关性计算,这是说,经典注意力机制考虑的是序列A的样本之于序列B的重要程度。这种形式常常用于经典的序列到序列的任务(Seq2Seq),比如机器翻译;在机器翻译场景中,我们会考虑原始语言系列中的样本对于新生成的序列有多大的影响,因此计算的是原始序列的样本之于新序列的重要程度。\n",
"
不过在Transformer当中我们使用的是“自注意力机制”(Self-Attention),这是在一个序列内部对样本进行相关性计算的方式,核心考虑的是序列A的样本之于序列A本身的重要程度。\n",
"\n",
"在Transformer架构中我们所使用的是自注意力机制,因此我们将重点围绕自注意力机制来展开讨论,我们将一步步揭开自注意力机制对于Transformer和序列算法的意义——"
]
},
{
"cell_type": "markdown",
"id": "1b1915f6-6acb-47b9-8fff-3d68b8a6c5c7",
"metadata": {},
"source": [
"- 首先,**为什么要判断序列中样本的重要性?计算重要性对于序列理解来说有什么意义?**\n",
"\n",
"在序列数据当中,每个样本对于“理解序列”所做出的贡献是不相同的,能够帮助我们理解序列数据含义的样本更为重要,而对序列数据的本质逻辑/含义影响不大的样本则不那么重要。以文字数据为例——\n",
"\n",
"**