因果注意力通过掩码约束,确保序列建模中当前位置仅能关注历史信息,避免未来信息泄露。
核心概念
因果注意力确保位置 $t$ 的输出仅依赖 ${x_1, \dots, x_t}$,适用于自回归生成任务。
掩码机制
在注意力分数矩阵上加下三角掩码:
$$\begin{bmatrix} 0 & -\infty & -\infty & -\infty \ 0 & 0 & -\infty & -\infty \ 0 & 0 & 0 & -\infty \ 0 & 0 & 0 & 0 \ \end{bmatrix}$$
- $-\infty$ 位置经过 softmax 后权重为 0,屏蔽未来信息
- 下三角位置正常计算注意力权重
计算流程
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} + M\right)V$$
其中 $M$ 为因果掩码矩阵。
应用场景
| 场景 | 说明 |
|---|---|
| Transformer 解码器 | 机器翻译、文本生成 |
| 自回归模型 | 语音生成、视频帧预测 |
| 时间序列预测 | 股价预测、信号预测 |
注意力类型对比
| 类型 | 注意力范围 | 适用场景 |
|---|---|---|
| 因果注意力 | 仅过去及自身 | 生成任务 |
| 双向注意力 | 所有位置 | 理解任务(分类、编码器) |
| 局部注意力 | 局部窗口 | 长序列效率优化 |
核心逻辑:过去可追溯,未来不可见。
张芷铭的个人博客
Comments