NeurIPS 2018
Latent Alignment and Variational Attention
将对齐建模为隐变量,并通过变分注意力学习近似后验推断。
对注意力建立概率分布的一般框架,超越单个确定性注意力向量。
概率注意力与隐变量推断
Yuntian Deng、Yoon Kim、Justin Chiu、Demi Guo 和 Alexander M. Rush 的 Latent Alignment and Variational Attention(NeurIPS 2018)将注意力建模为显式隐变量,并使用变分推断进行学习。其一般思路是对网络关注的位置建立概率分布,并对这一分布进行推断,而不是把一个确定性的加权平均向量传入预测网络。
原始研究
Latent Alignment and Variational Attention
Yuntian Deng, Yoon Kim, Justin Chiu, Demi Guo, Alexander M. Rush · NeurIPS 2018
动手理解一个例子
调整潜变量的概率,比较 sigmoid 预测函数下的 f(E[z]) 与 E[f(z)]。
潜变量有两个可能取值: z = 0 和 z = 4。非线性预测函数为 f(z) = sigmoid(z)。
差值:0.140
注意力向量由非负且和为一的权重组成。但这一数值性质并没有规定不确定性如何参与预测。确定性机制用这些权重构造一个上下文向量,然后执行一次下游网络。隐变量机制定义不同的注意力状态,在这些状态下分别预测,再综合它们的贡献。
用 z 表示注意力状态,用 f 表示下游计算。一般情况下,f(E[z]) ≠ E[f(z)]。例如,z 以相同概率取 0 或 2,且 f(z) = z²。先求均值再计算 f,结果为 1;分别计算两个输出再求平均,结果为 2。神经网络的预测包含非线性操作,因此把期望移到网络的另一侧会改变模型。这正是“对表示求平均”和“对预测求平均”的区别。
来源: Latent Alignment and Variational AttentionStructured Attention Networks
2018 年的论文把对齐作为生成模型中的显式变量。论文研究了选取一个源元素的类别对齐,以及把注意力分配到多个元素混合上的狄利克雷(Dirichlet)对齐。摊销变分推断学习以观测输入和输出为条件的后验分布。方差缩减方法使隐变量推断能用于实际训练,实验涵盖机器翻译和视觉问答。
先验注意力回答“在知道答案之前应关注哪里”,后验注意力回答“哪些对齐能够解释已经观测到的答案”。这是两个不同的条件分布。论文的推断网络在训练时使用目标信息;这与生成阶段把未来目标词提供给从左到右的预测器是不同的操作。
设想一张图片里有两个人,问题是“谁拿着杯子”。在看到答案之前,模型为两个人都分配注意力概率。观测到答案后,后验推断把概率重新分配给能够解释这个答案的对齐。
当注意力与另一个概率模块组合时,这一区别同样重要。显式变量说明了哪些量是条件、哪些备选状态被积分消去,以及近似方法替换了哪一步。采样得到的注意力向量、它的期望和最大概率取值回答不同的问题;明确分布后,这些选择就能被逐项检查。
首先确定随机对象:选中的位置、位置上的概率分布、上下文向量,还是完整的结构化选择。其次规定先验,以及后验能使用哪些信息。然后辨明预测时综合的是中间表示,还是输出似然。最后说明训练与预测是枚举状态、采样、使用期望,还是优化变分近似。
Latent Alignment and Variational Attention 使用类别值或单纯形上的对齐;Variational Attention for Sequence-to-Sequence Models 使用高斯上下文向量。这两种模型的隐变量和推断问题不同。
| 方法 | 随机对象或结构化对象 | 推断的作用 |
|---|---|---|
| Latent Alignment and Variational Attention | 类别或狄利克雷对齐 | 学习对齐后验,近似边缘似然 |
| Structured Attention Networks | 子序列或树的选择 | 计算期望表示 |
| Variational Attention for Seq2Seq | 高斯上下文向量 | 保留经过编码器—解码器的随机路径 |
| Bayesian Attention Modules | 归一化注意力权重的分布 | 重参数化变分训练 |
来源: Latent Alignment and Variational AttentionStructured Attention NetworksVariational Attention for Sequence-to-Sequence ModelsBayesian Attention Modules
下载可独立运行的注意力笔记本或 Python 脚本。示例比较两种计算:先对源特征取平均再送入非线性预测器;在不同类别注意力状态下分别预测,再对输出概率取平均。
示例计算一个观测标签对应的后验,并优化类别变分分布。精确对数似然与证据下界(ELBO)之差,等于该变分分布到精确后验的 KL 散度。示例针对一个观测使用固定的生成参数;原论文则跨样本学习摊销推断网络,并研究了狄利克雷注意力。
代码使用 Python 3.9+ 及其标准库运行,无需模型权重、API 密钥或 GPU。下载全部三个示例及数值检查。
NeurIPS 2018
将对齐建模为隐变量,并通过变分注意力学习近似后验推断。
对注意力建立概率分布的一般框架,超越单个确定性注意力向量。
ICML 2015
为图像描述生成引入确定性软视觉注意力和随机硬视觉注意力。
随机注意力的早期参考工作,用于理解期望特征与采样选择之间的区别。
ICLR 2017
使用可微图模型推断,对子序列和句法树进行注意力计算。
建模结构化选择并计算期望表示;对完整预测进行边缘化是不同的操作。
COLING 2018
在变分编码器—解码器中,把注意力上下文向量视为高斯隐变量。
说明“变分注意力”这一名称也用于另一个随机对象:上下文向量。
NeurIPS 2020
由归一化的可重参数化随机变量构造注意力权重分布,并使用贝叶斯正则化学习。
把概率注意力发展为带有数据依赖先验的模块化随机权重。