会议:AAAI 2019
论文链接:https://gaotianyu1350.github.io/assets/aaai2019_hatt_paper.pdf
源码链接:https://github.com/thunlp/HATT-Proto
1 介绍
问题现状:使用 DS 可获取大量数据,但其范围比较局限,还存在稀疏数据的问题(例如,long-tail relations);现有的 FSL 模型都在 low-noise 的图像数据集上实验,无法处理多样性和含有较多噪声的文本数据。
(1)噪声数据:支持集中很少的噪声可以引起关系特征向量的巨大偏差(因为传统的原型由样本特征的简单平均算出)
(2)稀疏特征:对于一个关系特征向量,并不是所有的维度都对最终的分类结果具有明显的区分/决定作用。
本文方法:提出了基于混合注意力机制的原型网络(hybrid attention-based prototypical networks),包括 instance-level attention 与 feature-level attention,分别解决上述两个问题;该方法提高了在含有噪声的 FSL 场景下(noisy FSL scenario)关系分类(RC)模型的性能与鲁棒性,并且加快了 RC 模型的收敛。
原文相关描述如下:
Little noise in the support set may cause a huge deviation of relation features, and not all dimensions of relation features in the space are discrimiative enough to support final classification. Our hybrid attentions are specially designed to alleviate the influence of noisy data and sparse features.
- The instance-level attention module is to select more informative instances in the support set and denoise those noisy instances during training.
- The feature-level attention module can highlight important dimensions in the feature space and formulate specific distance functions for different relations, which enables our model to alleviate the problem of feature sparsity.
即 instance-level attention 倾向于选择支持集中包含信息较多的那些实例,同时对训练数据进行降噪处理(降低噪声实例的权重);feature-level attention 则强调了特征空间中比较重要的那些维度,为不同的关系类型制定不同的距离函数,从而缓解了特征稀疏的问题。
2 相关工作
3 方法论
3.1 符号与定义
小样本关系分类任务描述:给定一个关系集 R 和一个支持集 S,预测查询样本(query instance)x 中的实体对 (h, t) 之间的关系 r。S 的定义如下:
在小样本学习的场景下,关系 ri 所包含的样本数量 ni 通常较小(一般小于20)。在术语 N-way K-shot 中,N 表示一个 episode 中支持集有多少个关系,K 表示每个关系包含多少个样本,即:
3.2 框架
3.3 HATT的实现
由于 Instance Encoder 和 Prototypical Networks 的实现比较简单,该笔记暂时略过,下面详细介绍 HATT 的实现步骤。
3.3.1 Instance-level Attention(IATT)
对于关系 i,其样本数量为 ni,其原型的特征向量为 ci,j 表示第 i 个关系中第 j 个样本(1 ≤ j ≤ ni),αj 表示第 j 个样本的权重, xij 表示第 i 个关系中第 j 个样本经过编码后得到的特征向量。公式如下:
αj 由Softmax函数得到(ej 作为相应的参数);x 为 query 样本的特征向量,g(·) 表示对 xij 和 x 进行线性变换,再进行点乘操作(element-wise production),σ(·) 为激活函数,这里选用 tanh,将点乘结果映射到 [-1, 1] 之间,sum{·} 表示对向量里的所有元素求和。详细公式如下:
使用了 IATT 后,与 query 样本具有更多相似特征的 support 样本将会获得更高的权重,最后的原型也会与这些 support 样本更接近。
3.3.2 Feature-level Attention(FATT)
在 Euclidean 距离的基础上,乘以一个值 zi,得到一个新的距离度量,公式如下:
对于关系 ri,对其 K 个样本的特征向量进行 3 次卷积操作,得到 zi,具体计算流程如下图所示:
注意,卷积时采用了 padding 策略,以此来保证最终得到的 zi 大小为 1 * dh * 1
。卷积操作的参数设置代码如下:
4 实验
为了表明混合注意力机制在有噪声数据的情况下能够让网络有较好的鲁棒性,我们采用了 4 个级别的 noise_rate
:0、10%、30%、50%,也就是说,在训练和测试时,support set 中正确的句子有相应噪声率的可能性被替换成其他句子,该其他句子的 label 与原 label 不一样即可。
# 返回一个或一组服从0~1均匀分布的随机样本值
prob = np.random.rand()
if prob < noise_rate:
# 替换操作
4.1 结果
4.2 IATT的影响
4.3 FATT的影响
5 未来工作
将混合注意力机制与其他 FSL 模型结合,并且使用更多的神经网络编码器,来让我们的模型更具有一般性。