在事实世界中开发机器学习(ML)模型的次要瓶颈之一是须要大量手动标记的训练数据。例如,Imagenet 数据集由超过 1400 万手动标记的各种事实的图像组成。
尽管迁徙学习的呈现极大地缓解了这一要求然而依然须要数百个标记的示例来进行微调。然而取得此类手动正文通常是耗时的和劳动力密集的,并且容易产生人类的谬误和偏见。
那么,该怎么做能力改善这种状况呢?
最近的弱监督(WS)框架能够通过利用多样化来缩小手动标记的工作,并且能够利用畛域主题专家(SME)的宽泛常识来进步模型的体现。
这篇文章将介绍 Edelman DxI 数据迷信团队在应用弱监督解决 NLP 问题的一些最新进展!
弱监督学习
数据编程是指应用启发式标记函数联合标签模型以编程形式创立标记数据集。弱监督应用标签模型创立的标签数据集来训练上游模型,上游模型的次要工作是在标签模型的输入之外进行泛化。如 Snorkel 论文所述,在数据集上实现弱监督有三个步骤。
- 编写标记函数(LFS):标记函数是任何能够将数据作为输出的 python 函数,函数通过应用一些规定来输入该行的标签。例如,如果咱们的工作是“电子邮件垃圾邮件检测”,则能够构建一个如下所示的标签函数。每个标签函数都独立运行以标记每行数据。在二元分类问题的状况下,标签为 0(不存在标签)或 1(标签的存在)或 -1(信息有余,不标记)。
- 将弱标签与标签模型(LM)联合在一起:如果咱们有 M 行数据和 N 个 LFS,如果运行所有 LFS 将导致总共 M x n 标签,所以须要汇总 n 个单个 LFS 的输入,以使每行只有一个标记的后果。投票模型是将多个 LF 汇总到单个标签的最简略办法。然而还有更好的办法能够通过从整个 M 行的各个 LF 之间的雷同后果和不同后果中学习的聚合办法。例如,Data Programming Paper,MeTaL Pape,Flying Squid paper 这三篇论文中提到的一些办法。
- 训练上游模型(EM):应用标签模型的输入用作训练数据微调上游模型,例如 BERT。因为 LFS 是程序化标签源,因而咱们能够在整个未标记的语料库上运行步骤 1 和 2,生成许多标签并在步骤 3 中训练的模型能够受害于步骤 1 和 2 中创立的更宽泛的训练数据集。
上图中的 Snorkel 是应用数据编程的弱监督学习的 python 库。它提供了易于应用的 API 来实现和评估步骤 1 和 2。咱们能够应用高级 ML API,例如 HuggingFace 的 transformers 或 Sklearn 来实现步骤 3。
在某些办法中,还能够将步骤 2 和 3 联合到一个步骤中。然而个别状况下两阶段的办法优于单阶段办法,因为这样能够抉择任何 LM 和 EM 组合,通过不同的组合能够找到最佳的性能。因而本文还是应用将步骤 1 和步骤 2 离开进行。
弱监督框架
在弱监督基准测试中,作者基准了各种弱监督框架,并将它们与齐全监督的基准进行比拟,如下所示。
对于 NLP 工作,Cosine Roberta(RC)始终优于其余模型(EM),包含 Vanilla Roberta(R),因而咱们能够平安地抉择 RC 作为两阶段办法的最终模型!从上图也可能看到没有单标签模型(LM)框架始终优于其余框架,这表明咱们必须在数据集中尝试不同的 LMS 能力抉择最佳的 LMS。
COSINE (RC, BC)
COSINE 是 COntrastive Self-training for fINE-Tuning 的缩写,它是近年来弱监督畛域最有前途的研究进展之一。该算法有五个步骤。
1、初始化:应用从标签模型的弱标签来微调语言模型,例如在初始化步骤中应用穿插熵损失。而后将微调后的 BERT 模型在整个数据集上的概率预测作为软伪标签。而后应用这些软伪标签来迭代应用复合损失持续 BERT 模型的微调,如下公式所示。
2、样本加权:依据其预测概率从新加权,使预测概率高的样本具备较高的权重,预测概率低的样本具备相应的较低的权重。
3、高置信度样本上的分类损失:因为应用了软伪标签。所以应用高于预约义的权重阈值 ξ 的样本来计算基于 Kullback-Leibler Divergence 的加权分类损失。
4、高置信度样本上的比照损失:应用上述步骤中雷同的样本来计算比照损失,这样能够使具备类似伪标签的样品靠的更近,而具备不同伪标签的样品在矢量空间间隔更远。这里的正样品和负样品之间的边缘差值是一个超参数。
5、所有样本上的置信度正则化:: 上述整个办法只有在置信度 (预测概率) 是正确的,而谬误标记的样本置信度很低的状况下才无效。因而最终的 Loss 是一个基于置信度的正则化器,它阻止谬误标记的样本取得过高的置信度(适度相信)。超参数 λ 能够调整正则化强度。
通过下面的步骤 COSINE 的办法对弱标签中的噪声是十分强壮的。这也是基准测试中针对于小标签数据执行初始化步骤的最佳的办法之一。
Snorkel
Snorkel 能够说是所有弱监督标签模型办法的创始者,能够说是弱监督标签模型办法之母!斯坦福大学的同一位钻研人员发明了“数据编程”一词,也创造了 Snorkel。Snorkel 的前提很简略:给定启发式标签函数(LFS)的汇合,将每个函数中的弱标签组合为每个样本的单个标签。Snorkel 提供了一个易于应用的框架,能够汇总多个不同的弱的 LFS。
组合多个弱标签的一种办法是仅应用少数投票算法(majority vote),在基准测试中 MV 的确也是一些数据集的最佳 LM。然而 LF 中的办法可能是相干的,所以导致特定特色在 MV 模型中适度体现。所以 Snorkel 实现了更简单的 LM,以应用一些数学矩阵逆向导组合单个 LF 的输入。
启发式 LF 抉择
Snorkel 易于应用,然而在 Snorkel 取得的标签上训练的最终模型(EM)的准确性可能会因 LFS 的品质而变化很大。因而启发式 LF 抉择被提出进去,该过程只使在一个小的手工标记验证集上具备最好的准确性的 LF 汇合的 LF 子集。
启发式 LF 抉择能够让咱们开始时只应用大量的 LFS,并随着工夫的推移对他们进行减少和欠缺。通过剖析每次 LFS 在每次迭代的体现,咱们能够确定 LFS 中的问题,并在下一轮中对 LF 进行更新或者减少新的条件。这个剖析还能够暴露出对问题域了解的差距!
总结
这篇文章中介绍了弱监督的概念,以及如何应用它来将专家的畛域常识编码到机器学习模型中。我还探讨了一些标记模型。在两步弱监督办法中联合这些框架,能够在不收集大量手动标记训练数据集的状况下实现与全监督 ML 模型相媲美的准确性!
援用:
- Want To Reduce Labeling Cost? GPT-3 Can Help
- X-Class: Text Classification with Extremely Weak Supervision
- OptimSeed: Seed Word Selection for Weakly-Supervised Text Classification with Unsupervised Error Estimation
- ASTRA: Self-Training with Weak Supervision
- SPEAR: Semi-Supervised Data Programming with Subset Selectio
- Revisiting Unreasonable Effectiveness of Data in Deep Learning Era
- Data Programming: Creating Large Training Sets, Quickly
- Snorkel: Rapid Training Data Creation with Weak Supervision
- Fine-Tuning Pre-trained Language Model with Weak Supervision: A Contrastive-Regularized Self-Training Approach
- Training Complex Models with Multi-Task Weak Supervision
- Fast and Three-rious: Speeding Up Weak Supervision with Triplet Methods
https://avoid.overfit.cn/post/82ca4ceb918d41ba95bfc53db3ebd14e
作者:Marie Stephen Leo