AAAI19 - Hybrid attention-based prototypical networks for noisy few-shot relation classification

Gao T, Han X, Liu Z, et al. Hybrid attention-based prototypical networks for noisy few-shot relation classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33(01): 6407-6414.MLA

摘要

针对关系抽取任务,本文提出一种混合的 attention 原型网络。本文提出的方法能够在更快的时间内收敛,效果更好、

介绍

本文混合的 attention 原型网络包括两部分:

  1. Instance-level Attention:可以选择更富含信息的实例,并在训练过程中去噪
  2. Feature-level Attention:强调特征维度的重要性,为不同关系制定距离函数,并缓解特征稀疏问题

混合的 attention 原型网络优点:更有效和鲁棒,训练限制少,运行快

方法

请添加图片描述
混合的 attention 原型网络框架包含三个部分

  • Instance Encoder
  • Prototypical Networks
  • Hybrid Attention
Instance Encoder
  • 使用 GloVe 词向量,参考 PCNN,每个词的 embedding 是词向量 + 位置编码
  • 使用 CNN 做编码器。以为卷积,最大池化,得到句向量
  • Query 的句子也是同样编码方法
  • 作者用 CNN 是综合了变现与计算效率的考量
Prototypical Networks
  • 计算 support set 中每个关系的原型
  • 对每个关系,输入是 K 个编码的句向量,输出一个 prototype 向量
  • 原本的方式是简单平均: c i = 1 n i ∑ j = 1 n i x i j \mathbf{c}_{i}=\frac{1}{n_{i}} \sum_{j=1}^{n_{i}} \mathbf{x}_{i}^{j} ci=ni1j=1nixij【关系 i 的 原型向量】
  • 然后就是计算 query 编码与每个原型的距离,做一个 softmax,得到预测类别。
    p ϕ ( y = r i ∣ x ) = exp ⁡ ( − d ( f ϕ ( x ) , c i ) ) ∑ j = 1 ∣ R ∣ exp ⁡ ( − d ( f ϕ ( x ) , c j ) ) p_{\phi}\left(y=r_{i} \mid x\right)=\frac{\exp \left(-d\left(f_{\phi}(x), \mathbf{c}_{i}\right)\right)}{\sum_{j=1}^{|\mathcal{R}|} \exp \left(-d\left(f_{\phi}(x), \mathbf{c}_{j}\right)\right)} pϕ(y=rix)=j=1Rexp(d(fϕ(x),cj))exp(d(fϕ(x),ci))
Hybrid Attention

本文混合的 attention 原型网络包括两部分:

  1. Instance-level Attention:可以选择更富含信息的实例,并在训练过程中去噪
  2. Feature-level Attention:强调特征维度的重要性,为不同关系制定距离函数,并缓解特征稀疏问题

Instance-level Attention

  • 这一 attention 用于计算原型
  • 将原来计算原型取平均的方式改成 attention: c i = ∑ j = 1 n i α j x i j \mathbf{c}_{i}=\sum_{j=1}^{n_{i}} \alpha_{j} {x}_{i}^{j} ci=j=1niαjxij
  • 其中 α j α_j αj 是权重,定义如下:
    • g():线性层
    • ⊙ \odot :向量点击
    • σ():sigmoid 激活函数
      α j = exp ⁡ ( e j ) ∑ k = 1 n i exp ⁡ ( e k ) e j = sum ⁡ { σ ( g ( x i j ) ⊙ g ( x ) ) } \begin{aligned} \alpha_{j} &=\frac{\exp \left(e_{j}\right)}{\sum_{k=1}^{n_{i}} \exp \left(e_{k}\right)} \\ e_{j} &=\operatorname{sum}\left\{\sigma\left(g\left(\mathbf{x}_{i}^{j}\right) \odot g(\mathbf{x})\right)\right\} \end{aligned} αjej=k=1niexp(ek)exp(ej)=sum{σ(g(xij)g(x))}
  • 目的:缓解数据集噪声的情况。就是说,在这个关系的实例中,与查询向量更类似的,会有更高的注意力权重。所以那些被错误标注的,往往会有更低的权重。总之就是比平均好。

Feature-level Attention

  • 这一 attention 用于 query 归类
  • 出发点:先前研究论证了距离函数的选择会影响这个网络的能力。小样本数据集意味着特征是稀疏的,简单的欧式距离能力不足。虽然特征空间是稀疏的,但总会有些维度有更强的区分能力,所以需要特征层面的注意力机制。
  • 修改距离计算: d ( s 1 , s 2 ) = z i ⋅ ( s 1 − s 2 ) 2 d\left({s}_{1}, {s}_{2}\right)={z}_{i} \cdot\left({s}_{1}-{s}_{2}\right)^{2} d(s1,s2)=zi(s1s2)2
  • 这里的关系 i 的注意力得分就不是一个标量了,而是一个得分向量 z i z_i zi
  • 就是将该关系下的K个实例的编码向量 ( x 1 , x 2 , . . . , x K ) (x_1, x_2, ..., x_K) (x1,x2,...,xK) 进行多次卷积得到的,具体操作如图
    请添加图片描述

实验

实验操作
  • 考虑到训练集有64类关系,更多的关系会使模型在训练集得到更好地结果,因此,对每个Batch随机采样20个关系做N-K。
  • 其他所有超参数在验证集上调参。用grid search。特别提到了初始学习率和权重衰减值。优化策略主要体现在学习率方面。按步数衰减学习率,做了非常多的尝试。【到时复现再说】
实验结果
  • 【笔记中不全,感兴趣可阅读原文】
  • 全文没有做N-way 1-Shot 因为这样没法算注意力
  • 在数据集中按照一定比例替换标签(制造错误标注),进行对比
    请添加图片描述
  • 没有噪声时与其他baseline的对比
    请添加图片描述
  • 特征级别的attention得分对比:对隐藏层embedding的230特征进行排序,最高的20个与最低的20个做PCA
    请添加图片描述

个人想法

  • 对于N-way 1 Shot 问题,是否有类似的办法?
  • 作者也提到,今后尝试混合注意力机制与其他模型的适用性。
  • 在FewRel 2.0数据集的两个任务上,基于这个模型应该也有一定的发挥空间。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值