MEDA: Meta-Learning with Data Augmentation for Few-Shot Text Classification
出发点
对于小样本学习文本分类问题中,限制其性能的主要原因之一是因为对于每一个类别有多种的表示方式。所以本文提出了一种数据增强方式来解决样本不足的问题。
数据增强
- 原文的数据增强:随机替换,删除,调换同义词——容易改变原文意思,产生噪声,影响模型效果。
- 特征空间的增强:通过搜索特征空间,加入噪声进行增强。
存在问题:置信度不高,训练模型效果不高
球合成器
其核心思想是在特征空间进行合成,来减少样本的偏差。
通过使用Bert将文本输入映射到特征空间。
合成模块Synthesis module
将样本空间限制在最小球里,使用随机化方法[welzl,1991]计算最小球 B ( S i ) B(S_i) B(Si),通过以下方法来合成样本
$ C_i是球心,R_i是半径,u从0-1均匀采样,Z是一个N(0,I)的正态分布。$即,这部分把包含给出的样本最小球视为该类的特征空间。
转换模块Transformation module
为了避免合成样本的偏差影响,使用 X ′ ′ = G ( X ′ ; θ ) X''=G(X';\theta) X′′=G(X′;θ)来使 X ′ ′ X'' X′′靠近自己的类的球心,远离其他的球心。 θ 是 转 换 参 数 , G ( . ; θ ) \theta 是转换参数,G(.;\theta) θ是转换参数,G(.;θ)使用三层全连通的MLP算法。
welzl,1991:最小球算法
平 面 有 限 点 集 : P = p 1 , p 2 , . . , p n , R 其 中 P 不 为 空 平面有限点集:P={p_1,p_2,..,p_n},R其中P不为空 平面有限点集:P=p1,p2,..,pn,R其中P不为空;
m d ( P ) 包 含 P 的 最 小 圆 ; b _ m d ( P , R ) 包 含 所 有 P 点 集 的 最 小 圆 md(P)包含P的最小圆;b\_md(P,R)包含所有P点集的最小圆 md(P)包含P的最小圆;b_md(P,R)包含所有P点集的最小圆
三条定理:
- 如果存在一个圆包括P,R点集在其边界,那么这个圆是唯一的
- 如果 p ∉ b _ m d ( P − { p } , R ) , p 位 于 b _ m d ( P , R ) 的 边 界 , 则 b _ m d ( P , R ) = b _ m d ( P − { p } , R ⋃ { p } ) p\notin b\_md(P-\{p\},R),p位于b\_md(P,R)的边界,则b \_md (P,R)=b\_md(P-\{p\},R\bigcup\{p\}) p∈/b_md(P−{p},R),p位于b_md(P,R)的边界,则b_md(P,R)=b_md(P−{p},R⋃{p})
- 如果 b _ m d ( P , R ) 存 在 , 那 么 肯 定 有 一 个 子 集 S , 大 小 为 m a x { 0 , 3 − ∣ R ∣ } 个 点 在 P 上 使 得 b _ m d ( P , R ) = b _ m d ( S , R ) b\_md(P,R)存在,那么肯定有一个子集S,大小为max\{0,3-|R|\}个点在P上使得b\_md(P,R)=b\_md(S,R) b_md(P,R)存在,那么肯定有一个子集S,大小为max{0,3−∣R∣}个点在P上使得b_md(P,R)=b_md(S,R)
使用增量的方法进行计算最小圆盘:
一个一个的将点加入,如果新增的点不在,则它一定在新的圆盘的边界上,通过b_mp来计算新的最小圆盘。
计算包含两个集合的最小圆盘:
通过不断的把P集合的点移到R集合中,根据定理2可以得到结果。
所以最后我们求一个点集的最小圆 m d ( P ) md(P) md(P)就可以写成 b _ m d ( P , ∅ ) b\_md(P,\emptyset) b_md(P,∅)。
损失函数
球生成器部分损失函数
X ′ ′ X'' X′′是增广后的样本, C i , C j C_i,C_j Ci,Cj是第i,j类的球心,d是欧几里得距离,r是一个度量(他可以帮助强行拉开两个距离的差值)。
元学习损失
原型网络:使用的交叉熵损失。
关系网络:使用的均方误差。
训练策略
算法结构图
训练步骤
- 在每一个训练的场景中,先进行N-way-K-shot的随机采样,得到Support set:S和Query set:Q;
- 使用S计算每一个类的最小球,根据公式5进行合成数据得到 X ′ X' X′,再进行输入处理偏置得到 X ′ ′ X'' X′′;
- 将 X ′ ′ X'' X′′加入到支持集中,用公式7计算生成器参数;
- 将合并的支持集输入元学习器使用公式6更新参数 生 成 器 参 数 θ , 元 学 习 器 参 数 ϕ 生成器参数\theta,元学习器参数\phi 生成器参数θ,元学习器参数ϕ。
实验
数据集
- SNIPS:一个语音助手众包,第一次被用于小样本学习任务5:2。
- ARSC:亚马逊评论数据集,意图识别57:12。
基线
- 元学习:
- ROBUSTTC-FSL基于多种度量的元学习
- Induction Networks归纳网络
- 数据增强:
- EXTRA特征空间的数据增强。DATASET AUGMENTATION IN FEATURE SPACE
- RP意图识别中的特征增强。Controlled Text Generation for Data Augmentation in Intelligent Artificial Agents
无论是和元学习器对比还是和数据增强方法对比,我们都可以看到MEDA都是最好的效果。
从这个图可以直观看到,使用MEDA会提高模型的准确率,同时,随着shot的数量增加,效果会达到饱和。
这个图可以看到使用混合损失会提高模型收敛速度,更快训练好。
这个图可以看到在10个增广样本时候,效果提升变得不明显,在10之前模型效果不断提高,证明MEDA的方法是有效的,不是单纯的进行样本复制。
结语
MEDA数据增强的方式,提出了在特征空间结合最小球算法的数据生成方式,有效的提高模型效果。
但是本篇论文没有代码,需要自己进一步实现。