【论文解读】Dual Contrastive Learning:Text Classification via Label-Aware Data Augmentation

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 北航出了一篇比较有意思的文章,使用标签感知的数据增强方式,将对比学习放置在有监督的环境中 ,下游任务为多类文本分类,在低资源环境中进行实验取得了不错的效果

 🍥关键词:对比学习、有监督学习、文本多分类、数据增强

 

🍥发表期刊:arXiv 2022

🍥原始论文:[2201.08702] Dual Contrastive Learning

🍥代码链接:hiyouga/Dual-Contrastive-Learning

北航出了一篇比较有意思的文章,使用标签感知的数据增强方式,将对比学习放置在有监督的环境中 ,并将其运用到多类文本分类中,在低资源的环境中取得不错的效果。让我们来看看这篇论文

Abstract

对比学习在无监督环境下通过自我监督在表征学习中取得了显著的成功。然而,将对比学习有效地应用于监督学习任务仍然是实践中的一个挑战。在这项工作中,我们引入了一个双重对比学习(DualCL)框架,它同时学习输入样本的特征和分类器的参数。具体而言,DualCL将分类器的参数视为与不同标签相关联的增强样本,然后利用输入样本和增强样本之间的对比学习。对五个基准文本分类数据集及其低资源版本的实证研究表明,分类精度有所提高,并证实了学习DualCL的区分表示的能力

一、Introduction

传统的对比学习一直使用在无监督的环境中,具体来说,无监督的对比学习主要使用了一个损失函数,这可以使得同一个例子的的不同观点表示相近,而不同例子的表示不同。最近,对比学习被证明可以有效的同时实现alignment和uniformity

在有监督的环境中,虽然已经有人进行了研究,但是成果颇微,已有的成果其分类器和特征是分开学习。因此本篇论文希望在有监督的环境中开发一种更加自然的对比学习方法,每获得一个样本x后,它可以同时学到该样本的特征表示和分类器(本文设计了一种one example分类)

θ设计的比较有意思,它不仅仅是分类器,也是标签感知的数据增强样本集,随后作者对表征和分类器对比学习,直观的描述如图所示

image.gif编辑

可以明显的看到标准对比学习不能利用标签信息,而DualCL可以有效利用标签信息对文本进行分类

总体来说,文本的主要内容如下

    • 提出了Dual Contrastive Learning(DualCL),更自然的运用在有监督环境中
    • 引入了标签感知的数据增强方式来获得样本的多个视图
    • 在5个全资源和低资源版本的的文本分类数据集上验证了DualCL的有效性

    二、Preliminaries

    考虑一个具有K类的文本分类任务,假设给定的数据集包含了N个样本,是由L个单词组成的输入句子,对应的标签为的标准化表示,为第i个样本的增强样本,A为负样本集合。标准的对比学习任务正负样本的的构造方式为每个样本只有一个增强样本,其余的N-2项都是负样本,其对比损失函数如下

    image.gif编辑

    从损失函数角度看,要使Loss最小化,即最大化log后面的项,即最大化分子和最小化分母,直观的讲,分子分母项分别为样本与正、负样本之间的相似性,即拉进正样本,推远负样本。

    随后有改进版的对比学习,其构造正负样本的方式为将同一类别的样本视为正样本,不同类的样本视为负样本,P为正样本集合,其损失函数如下

    image.gif编辑

    三、Dual Contrastive Learning

    image.gif编辑

    3.1 Label-Aware Data Augmention

    本论文使用了标签感知的数据增强方式来获取训练样本的不同视图,具体做法是将标签与文本整合输入到Bert Encoder中(将标签输入到Bert中2021年有一篇论文也有这样的做法Fusing label Embedding into BERT An Efficient Improvement for Text Classification),随后会获得整个文本的特征表示即[CLS]和每个标签输出的token,假设输入有K个标签,那么输出的标签集合即分类器,对于包含多个单词的标签,采用token特征特征的平均池化方法。因为每个标签token都融合了文本信息,所以的每一列都是增强样本,每个样本都获得了K+1个视图

    3.2 Dual Learning Loss

    在获得了样本的多个视图之后,就可以使用这些视图来进行对比学习。对偶对比学习主要设计了两个对比损失函数,两个对比为下图中的两个橙色框。eCLS为该样本的特征表示,ePOS和eNEG为该样本的标签token。该对比学习的正负样本设计思想为,确定一个样本的文本序列,若其真实标签为POS,则所有其他样本的ePOS为正样本,而非ePOS为负样本。此外,确定一个样本真实标签ePOS,所有POS样本的CLS为正样本,非POS样本的CLS为负样本

    image.gif编辑

    表示的ground-truth对应的标签,A为除去当前样本的所有其他样本集合,P为正样本集合,为样本表征。

    以上图中上位置的橙色框为例,固定标签,定义以下的对比损失

    image.gif编辑

    以上图中下位置的橙色框为例,固定表征,定义以下的对比损失

    image.gif编辑

    Dual的损失为将二者组合

    image.gif编辑

    3.3 Joint Training & Prediction

    在训练上,作者使用了一个改进版的交叉熵

    image.gif编辑

    最终的损失函数为交叉熵加上与超参数λ调节的对比损失函数

    image.gif编辑

    直观的表示如下图所示

    image.gif编辑

    在分类方面,作者想更好的利用监督信息,因此设计了one-example分类器,对每一个样本,它都会生成标签token集合,而这token集合就是分类器,将表征与每一个标签token进行相似度计算,哪个值最高,它就属于哪一类

    image.gif编辑

    3.4 Theoretical Justification of DualCL

    这里给出理论证明,来证明为最小化DualCL Loss等价于最大化输入和标签之间的户信息

    image.gif编辑

    四、Experiments

    使用了5个文本数据集,包括了多分类文本数据集

    image.gif编辑

    模型选了经典的BERT和RoBERTa,方式中CE为交叉熵,SCL为标准对比损失,CL为自监督对比损失,Dual w/o 为不使用损失函数image.gif编辑

    实验结果上

      • 除了RoBERTa +(CE+CL)的组合在TREC数据集上效果较好之外,其他的Bert+DualCL组合在所有数据集上的表现效果最好。
      • 具体来说DualCL在BERT和RoBERTa上的平均改善率分别为0.46%和0.39%
      • 眼前一亮的是DualCL在低资源环境中取得了不错的效果,具体来说在BERT和RoBERTa上的平均改善率分别为0.74%和0.51%

      tSNE图可视化

      image.gif编辑

      由于在低资源中的表现较为突出,作者专门去做了低资源环境下的实验,选取每个类的5、10、30等样本,测试其准确率,结果发现相比于单一的交叉熵损失函数,DualCL的效果都比较好,而其中DualCL w/o为不适用DualCL损失函数的DualCL,其效果也比交叉熵好,这其实从一个侧面角度反映了标签感知的数据增强方式的有效性

      image.gif编辑

      为了验证DualCL能否有效的捕获句子关键信息的能力,作者计算了[CLS]的中的表征于每个单词之间的注意力得分。

      image.gif编辑

      五、Conclusion

      对比学习一般用于无监督的环境中,若用在有监督的环境中那必须使用标签信息,随后使用标签感知的数据增强方式来有效的利用标签信息。最终在低资源的文本分类任务中取得了不错的效果。因此在低资源、多类文本分类、有监督环境中具有一定的借鉴意义。

      此外,关于文中构造的对比模型对象是文本和标签,博主也尝试了文本和文本、标签与标签、文本和标签+文本与文本、文本与标签+标签与标签,其效果也不逊于原论文的方法

      目录
      相关文章
      |
      机器学习/深度学习 人工智能 负载均衡
      基于 NVIDIA Megatron-Core 的 MoE LLM 实现和训练优化
      本文将分享阿里云人工智能平台 PAI 团队与 NVIDIA Megatron-Core 团队在 MoE (Mixture of Experts) 大型语言模型(LLM)实现与训练优化上的创新工作。
      |
      机器学习/深度学习 数据采集 算法
      时间序列结构变化分析:Python实现时间序列变化点检测
      在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
      1462 1
      |
      11月前
      |
      SQL 存储 关系型数据库
      Mysql并发控制和日志
      通过深入理解和应用 MySQL 的并发控制和日志管理技术,您可以显著提升数据库系统的效率和稳定性。
      391 10
      |
      Ubuntu 网络安全 数据安全/隐私保护
      ubuntu server连接wifi教程
      本文提供了一个简化Ubuntu Server在Raspberry Pi系统上配置过程的脚本"config_ubuntu_server",包括自动和手动两种方法来设置root权限、SSH配置,并连接WiFi,同时支持无密码SSH访问,适合初学者和高级用户。
      531 3
      |
      存储 安全 开发工具
      掌握这5个Git高级命令,让你的开发效率飞速提升!
      掌握这5个Git高级命令,让你的开发效率飞速提升!
      |
      存储 NoSQL 关系型数据库
      MongoDB非关系型数据库实战
      【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
      |
      存储 人工智能 自然语言处理
      阿里云大降价后,再谈“降本增效”
      2024年2月29日,阿里云宣布史上最大力度降价,引发行业对用云成本的热议。
      2956 4
      阿里云大降价后,再谈“降本增效”
      |
      机器学习/深度学习 存储 传感器
      Unsupervised Learning | 对比学习——13篇论文综述
      Unsupervised Learning | 对比学习——13篇论文综述
      3042 0
      Unsupervised Learning | 对比学习——13篇论文综述
      |
      JavaScript 安全 数据安全/隐私保护
      JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程
      JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程
      545 1
      |
      并行计算 PyTorch Linux
      pytorch安装GPU版本 (Cuda12.1)教程: Windows、Mac和Linux系统快速安装指南
      pytorch安装GPU版本 (Cuda12.1)教程: Windows、Mac和Linux系统快速安装指南
      5441 0