ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FLiText: A Faster and Lighter Semi-Supervised Text Classification with Convolution Networks

2022-02-01 22:01:59  阅读:201  来源: 互联网

标签:Bert Faster Semi FLiText 模型 网络 激励 标签 蒸馏


在这里插入图片描述
本文发表于EMNLP2020。
本文提出了一个基于卷积模型的蒸馏方法,实现了一个轻量级的、快速的半监督文本分类框架FLiText,相比于Bert等大规模预训练模型,蒸馏模型更具备实际应用价值。
在这里插入图片描述

Method

模型总体的框架如下,大致分为激励网络和目标网络两部分:
在这里插入图片描述
激励器网络(预训练语言模型)利用一致性正则化和数据增强技术,充分挖掘未标记数据和有限标记数据中的信息和特征。然后在输出和隐藏空间两层提供正则化约束,引导轻量级目标网络仅使用少量标记数据实现高效的半监督学习。
本文使用 X = ( x i , y i ) , i ∈ ( 1 , . . , n ) X=(x_i,y_i),i\in (1,..,n) X=(xi​,yi​),i∈(1,..,n)表示有标签数据, U = ( u j ) , j ∈ ( 1 , . . , n ) U=(u_j), j\in (1,..,n) U=(uj​),j∈(1,..,n)表示无标签数据。

Inspirer Network

激励网络,比如Bert使用 [CLS] 表示文本特征:
在这里插入图片描述
h i ∈ R d h_i \in R^d hi​∈Rd。接着使用两层MLP对下游任务进行预测:
在这里插入图片描述
为了对齐BERT和TextCNN的维度,我们将隐藏状态输入到特征投影 I g ( . ) Ig(.) Ig(.)中,输出的特征为 I f i l If_i^l Ifil​, l l l表示Bert的层:
在这里插入图片描述
这一步的目的是让Bert层与Text CNN层对齐并通过增加额外的一致性损失,让teacher(Bert)与student(Text CNN)学习到的中间层特征尽量一致。当然,公式(4)中并没有包含对齐的操作。

Target Network

目标网络是一个简单的带有最大池化的TextCNN,并在最后一层使用MLP进行概率预测:
在这里插入图片描述
在这里插入图片描述
然后使用一个简单的变换进行特征维度对齐,同激励网络类似:
在这里插入图片描述

Two-stage Learning

其实网络的结构很简单,接下来的学习才是重点。FLiText包括两个培训阶段:激励者预培训和目标网络培训。在第一阶段,我们引入各种先进的半监督思想来完成下游任务的激励者培训。在第二阶段,FLiText保持激励器参数不变,通过激励器网络提供的多级规则约束引导下游任务中目标网络的训练,最终实现高效的半监督蒸馏学习。
对于激励网络,需要包含两个损失:一个是有标签的损失,使用交叉熵即可;另一个是无标签的数据 u i u_i ui​损失,通过引入其噪声版本 a i a_i ai​,优化二者之间的差异(散度)从而保证模型的稳定性:
在这里插入图片描述
这里 ( T ) (T) (T)表示激励网络的标识。

Target Network Distillation

蒸馏的过程如框架图展示的那样,分为两部分。
Output-based Distillation。蒸馏的过程采用软硬两种损失。soft损失表示激励网络和目标网络的最终概率输出应该近似:
在这里插入图片描述
hard损失中则把激励网络的预测标签作为真实标签,然后使用交叉熵去估计:
在这里插入图片描述
Feature-based Distillation。基于特征的蒸馏则是关注于模型中间输出的特征,如图所示:
在这里插入图片描述
使用MSE进行评估,让两个网络的中间输出贴近:
在这里插入图片描述
Consistency Regularization。由于目标网络和激励网络的参数空间和网络结构的差异,在学习过程中存在知识丢失的问题。如果只采用KD方法,目标网络将无法学习激励网络的一些功能特征。因此,我们引入一致性正则化来约束目标网络,使其在函数空间中保持足够的平滑。因此,输入数据周围的网络应该是平坦的。即使输入数据发生了轻微的变化,或者它们的形式发生了变化,但语义没有改变,模型的输出也可以保持基本不变。这与对激励者网络的训练是一致的。其实也就是通过加入噪声进行平滑:
在这里插入图片描述
最终,模型的联合损失如下:
在这里插入图片描述

Experiments

数据集:
在这里插入图片描述
结果:
在这里插入图片描述
不同层的选择:
在这里插入图片描述
一致正则化的效果:
在这里插入图片描述
甚至不同的激活函数也进行了探究:
在这里插入图片描述

标签:Bert,Faster,Semi,FLiText,模型,网络,激励,标签,蒸馏
来源: https://blog.csdn.net/qq_36618444/article/details/122765839

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有