背景
半监督学习结合迁移学习是一个研究热点,预训练表征与多种形式的半监督学习是互补的。
这篇论文(具有交叉视训练的半监督序列建模(Semi-Supervised Sequence Modeling with Cross-View Training)),思想是确保对不同输入视图预测与主模型的预测一致,这和word dropout类似,允许利用未标注数据来加强模型的鲁棒性。与mean teacher等self-ensemble模型相比,是专门为nlp设计的。
1 介绍
无监督的表示学习算法,如word2vec和ELMo,提高了许多有监督的NLP模型的准确性,主要是因为它们有利于大量未标记的文本,而有监督的模型仅在主要训练阶段期间从有标记数据中学习。因此,我们提出了跨视图训练(CVT),这是一种半监督学习算法,使用标记和未标记数据的混合来改进Bi-LSTM句子编码器的表示。在标记的示例中,使用标准监督学习。在未标记的示例中,CVT教导了辅助预测模块,其看到输入的受限视图(例如,仅一部分句子)以匹配看到整个输入的完整模型的预测。由于辅助模块和完整模型共享中间表示,这反过来改进了完整模型。
现在利用无标签数据的主要方法是预训练+微调。预训练过程中,只利用无标签数据。更早的半监督学习方法,自我训练模型,是连续从混合的有标签、无标签数据中,学习。这篇论文使用交叉可视训练来进行序列建模(这种模型也是自我训练)。
自我训练中,模型在标记的样本正常学习,并且作为未标记样本的teacher Model,对这些样本进行预测,并且预测获得样本作为训练样本再次训练获得一个student model。
但是,这样存在过拟合的情况,就是,模型的训练样本已经得到他的预测结果。通过加入噪声,对student model可以产生较好的效果(对图像数据而言),但是对文本这种离散输入,加入噪声有点困难。
这篇论文解决思路是引入多视图学习,使用不同视图的输入,尽量让模型获得一致的输出。这种CVT方法,引入辅助预测模块——吧词向量表示作为预测目标,这样就引入了student model。每个student model的输入时模型中间层表示的子集。
其中,student model连接到共享的bi-lstm编码器。基于此,提出使用序列标记器的辅助预测模块,并且应用于英语到越南语机器翻译方面。
CVT方法可以有效与多任务学习相结合,只需在共享的Bi-lstm编码器为不同任务添加额外的预测模块。
2 cross-view training
2.1 方法
表示有标签数据集,
表示无标签数据集。使用
代表
输出的类别.
模型对有标签样本输入,容易学到Washington是一个“位置”,对于无标签样本,辅助预测模块是通过训练得到相同的预测。
CVT方法中,模型交替学习一小部分的有标签样本和一小部分的无标签样本。对于有标签样本,CVT使用标准的交叉熵:
CVT k个辅助预测模块学习无标签样本时,预测模块通常是一个小型神经网络(比如,一个隐层结一个softmax层)。并且输入时 的一小部分,记为 ,实际中,可以将LSTMs的输出结果作为输入。
对未标记样本,模型首先通过推理产生软标签
。CVT训练辅助预测模块来保证与主预测模块的一致性,预测目标为最小化loss:
D为KL散度。
为主模型预测值,训练过程中,这个值固定,也就是辅助模块,可以学会初始化主要模块。CVT通过增强模型的表示学习来工作。随着辅助模块的学习,输入的表示质量提升,预测效果也提升,主预测模型性能也提升。
总的损失函数为:
. 使用随机梯度下降来减少损失。特别的是,交替使用有标签样本减少
和无标签样本减少
.
3 训练模型
3.1 依赖性解析
reference: