NAACL 2021 | 对比学习横扫文本聚类任务

引言

毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红。小伙伴们好,我是卖热干面的小男孩,今天分享给大家的是亚马逊发表于 NAACL 2021上的一篇文章:Supporting Clustering with Contrastive Learning。这篇文章结合当红流量小生「对比学习」提出一种简单且有效的「无监督文本聚类」方法:SCCL。该模型刷爆了7个短文本聚类任务,6到飞起~

「论文地址」

https://arxiv.org/abs/2103.12953

「论文代码」

https://github.com/amazon-research/sccl

简介

这里先以QA方式简要介绍Supporting Clustering with Contrastive Learning这篇论文做了什么。

Q1: 文章想要解决什么问题?

A1: 文章致力于解决「无监督聚类」任务。所谓无监督聚类任务是在表征空间内通过特定的相似度量方法区分不同的「语义簇」。可以看出,这涉及2方面,输入如何表征和表征之间相似度如何度量。现有方案所得到的表示空间在各簇样本上已经「重叠」,这种开局就使得后续的聚类算法难以突破其前置天花板。

Q2: 文章怎么解决上述问题?

A2: 文章结合「对比学习」提出一种名为SCCL(Supporting Clustering with Contrastive Learning)的模型。该模型结合了bottom-up的实例对比学习和top-down的聚类,取得了更好的聚类结果。

Q3: 文章方案解决效果如何?

A3: 文章在短文本聚类任务上对SCCL进行评测。实验结果表明,SCCL在绝大多数benchmark数据集上显著优于之前的SOTA方法。在准确率上以3%-11%的优势碾压前辈方法,在归一化互信息上则更是以高出4%-15%的优势吊打之前的SOTA模型。

SCCL

这里先简要介绍下对比学习的概况,再详细介绍文章提出的SCCL模型。

对比学习

自监督学习出圈于CV领域,在CV领域的自监督可以分为两种类型:「生成式」「判别式」自监督学习。VAE和GAN是生成式自监督学习的典型代表,这类方法要求模型重建图像或者图像的一部分,任务难度相对比较高,要求像素级的重建,中间的图像编码必须包含很多细节信息。对比学习则是典型的「判别式」自监督学习,相对生成式自监督学习,对比学习的任务难度要低一些。然而,目前多个对比学习模型的效果已超过了有监督模型,其结果着实令人振奋,难怪深度学习两巨头 Bengio 和 LeCun 在 ICLR 2020 上点名 Self-Supervised Learning(SSL,自监督学习)是 AI 的未来。

近年来对比学习愈发火热,各路大神如Hinton、Yann LeCun、Kaiming He 等也在该研究方向上频频隔空过招。从CV领域中的MoCo系列、SimCLR系列、BYOL、SwAV再到最近NLP领域中的SimCSE,各种方法相互借鉴,又各有创新,可谓百家争(内)鸣(卷)。对比学习是自监督学习的一种,该类方法不依赖标注数据,而是从无标注数据中学习知识。对比学习的核心思想是通过构造相似实例和不相似实例,从而习得一个表示学习模型,通过这个模型,相似的实例在表示空间中比较接近,而不相似的实例在表示空间中距离较远。

SCCL框架

SCCL框架流程如 Figure 2 所示。

SCCL由3部分组成:神经网络特征抽取层、clustering head 和 Instance-CL head。特征抽取层将输入映射到向量表示空间,SCCL是使用Sentence Transformer 发布的distilbert-base-nli-stsb-mean-tokens预训练模型,该模型下载地址:https://huggingface.co/sentence-transformers/distilbert-base-nli-stsb-mean-tokens/tree/main 。Instance-CL head (记为  )和 clustering head (记为  )中分别使用「contrastive loss 和 clustering loss」。Instance-CL head由「单层MLP」组成,其激活函数使用的是ReLU。输入维度是768,输出维度是128。至于clustering head则是一个「线性映射层」,维度是768*K,其中K是聚类的类别数量。所以,整体网络结构非常简洁明了~

下图是在SearchSnippets数据集上TSNE可视化结果。其中Clustering和 Instance-CL 分别指只使用SCCL中一种head的结果。可以看出结合2种head的SCCL聚类结果更香~即使用对比学习的SCCL可以将各个重叠的类别分散开。

Instance-CL head

Instance-CL(Instance-wise Contrastive Learning)已然是自监督中最耀眼的新星。Instance-CL先用数据扩增方法对样本数据进行增强得到一个辅助数据集,再基于此数据集进行优化。在优化过程使用 contrastive loss 使来自相同实例的增强样本在表示空间上彼此靠近,而来自不同实例的增强样本在表示空间上彼此远离。换一句话说,Instance-CL将不同源的实例驱散开来,而在某种程度上隐式地将近似的实例聚集在一起。这个属性使得打散重叠的类别成为可能。最后再进行聚类,从而能够更好地分离出不同的簇,与此同时簇内更加紧实,即簇内样本之间距离更小。

使用Instance-CL方法,不同实例在学习到的表示空间中得到了很好的分离,且保持了每个实例的局部不变性。虽然Instance-CL可以在表示空间中将来自不同的 原始实例的实例分在同一个组,而无视来自不同原始实例但是语义相似的这些实例。因此,Instance-CL的隐式分组不太稳定,且很依赖于数据量,从而致使其泛化能力不足。

一个batch size为M 的每个实例通过数据扩增方法得到2个扩增的实例(此时扩增数据集有2M个实例)。相同扩增源的实例对视为一对正样本,剩余的2M-2个实例则视为负样本。

对于一对正样本  , 对于  ,尝试将  从全部的负样本中分离开来的损失函数如下:

其中  表示clustering head上正样本对的输出。  是指示函数。sim 函数选用的是doc product,即  。因此,在整个扩增数据集上的「Instance-CL loss」如下:

 

此外,文章中进一步探索了3种数据扩增方法对SCCL的影响,结果表明 contextual augmenter效果最佳。PS: 后文有更详细说明。

Clustering head

与此同时,SCCL在编码类别语义信息时引入了「无监督聚类」。聚类任务与Instance-CL不同,其重点是高级语义概念,并尝试将来自相同语义类别的实例放在一起。假设有K个类别(簇),每个类别用其类心来表示:  。原始实例  在表示空间中的表征如下:  。SCCL使用t分布计算原始实例被分为第k个类别的概率:

 

其中  表示t分布的自由度,这里值设置为1。

SCCL 使用一个线性映射层,即Figure 2中的cluster head 来近似每个类别的中心,并利用一个辅助分布对其进行迭代优化。辅助概率定义如下:

其中  可以视为soft簇频率的一个mini-batch 近似。该目标分布首先通过一项二阶的soft分配概率  使其变得尖锐,然后通过相关类别频率对其归一化。如此可以促使从高置信的类别中进行学习,并同时减缓类别不平衡所造成的偏差。

通过KL散度将类别分布概率( 

 )向目标分布(  )靠近:

 

因此,聚类目标函数定义如下:

 

所以,总体的目标函数如下:

 

需要注意的是:clustering loss只在原始数据集上进行优化,而不涉及扩增数据集;而 Instance-CL loss 是针对扩增数据集。

实验效果

文章使用了8个短文本数据集验证SCCL的有效性,评测指标则使用 ACC(Accuracy)和 NMI(Normalized Mutual Information)。具体的评测结果如 Table 1所示:

从上图的实验结果可以看出,SCCL几乎在所有数据集上吊打之前SOTA方法。SCCL在Biomedical数据集上的失意完全是因为任务数据与预训练数据集之间的相关性过低,其SOTA模型是基于大量生物医学语料学习而得~

消融研究:Instance-CL和Clustering的优化是分开还是联合?

SCCL有两个损失函数:Clustering loss 和 Instance-CL loss 。那么对于这2个损失函数的优化, 是选择pipeline的方式一个一个优化呢,还是使用联合优化的方式呢?文章还进一步对比只使用其中一种的效果,具体实验结果如 Figure 3所示。

从中可以看出:

1)单独使用Instance-CL或者Clustering的效果不如两者一起使用。

2)联合优化(SCCL)的效果优于pipeline方式(即SCCL-Seq,先优化Instance-CL再优化Clustering)优化。

扩增方法哪个好?

文章对比了3种数据扩增方法:

1)Augmenter WordNet (https://github.com/QData/TextAttack)

2)Augmenter Contextual(https://github.com/makcedward/nlpaug)

3)Paraphrase via back translation (https://github.com/pytorch/fairseq/tree/master/examples/paraphraser)

上述3种方法的实验结果如 Table 3 所示。

总的来说,Contexual Augmenter (Ctxt)在所有数据集上的效果都是最好的。补充说明下,Ctxt是利用预训练Transformer(论文选用Bert-base和Roberta)对输入文本找top-n个合适的单词进行插入或替换。此外可以看出,有一部分数据集在不同扩增方法下表现差异很大,比如SearchSnippers,而有一部分的敏感度则较低,比如AgNews、Biomedical和GooglenewsTS。

文章还进一步实验了不同扩增方法混合使用的效果,结果如 Figure 5 所示。

其中蓝色表示只使用Contextual Augmenter 进行数据扩增,橙色表示「先后」使用Contextual Augmenter和CharSwap Augmenter 这2种数据扩增方法。从实验结果可以看出:

  1. 在GoogleNew-TS数据集上混合使用2种扩增方法确实会有提升,且没有随着增强扩增数据中被替换词的比例上升而下降;
  2. 在StackOverflow数据集上却截然不同,随着替换比例的增高,使用2种扩增方法却导致了性能的大幅度下降。

为进一步探究其原因,研究人员还对比了不同替换比例、不同混合扩增方法(1个或2个)下,原始文本和扩增文本的cosine相似度。从上述实验结果可以看出,当混合使用2种扩增方法(橙色)时,扩增文本与原始文本之间的相似度逐渐降低。换句话说,使用第2种扩增方法后,StackOverflow扩增数据集对在表示空间上与原始文本有很大的偏离。从而解释了为什么混合使用2种扩增方法并不一定能提升模型性能。

总结

这篇论文基于Instance-CL提出一种用以无监督聚类任务的模型:SCCL。SCCL 通过联合优化Instance-CL的损失和聚类损失,使得文本语义空间中不同类别距离拉大,类内距离拉近。此外,在8个短文本聚类数据集上对SCCL进行充分评测。实验结果表明,SCCL在多数数据集上都取得了SOTA结果,Accuracy提升了3% ~ 11%,NMI提升了4%~15%。

机器学习/深度学习算法/自然语言处理交流群

已建立机器学习算-自然语言处理微信交流群!想要进交流群进行学习的同学,可以直接加我的微信号:HIT_NLP。加的时候备注一下:知乎+学校+昵称 (不加备注不会接受同意,望谅解),想进pytorch群,备注知乎+学校+昵称+Pytorch即可。然后我们就可以拉你进群了。群里已经有非得多国内外高校同学,交流氛围非常好。

强烈推荐大家关注机器学习算法与自然语言处理账号和机器学习算法与自然语言处理微信公众号,可以快速了解到最新优质的干货资源。

推荐阅读

EMNLP 2021(征稿通知)+交流群

ACL-2021交流群

NAACL2021-交流群

写给新手炼丹师:2021版调参上分手册

知识蒸馏:让LSTM重返巅峰!

最强的Attention函数诞生啦,带给你意想不到的巨大提升!

新分类!全总结!最新Awesome-SLU-Survey资源库开源!

NaturalConv: 一个主题驱动的中文多轮对话数据集

NUS&A* STAR: 一种简单有效的数据增广方法for n-shot任务型对话系统

AAAI 2021 | 机器翻译最新进展解读

全领域涨点 | Transformer携Evolving Attention在CV与NLP领域全面涨点

Facebook AI大一统!使用统一Transfomer的多模态多任务学习

谷歌:提高长文本对话状态跟踪能力

推荐!李宏毅《机器学习》国语课程(2021)上线!

CVPR 2021接收结果出炉!录用1663篇,录取率27%

深度学习中的知识蒸馏技术(上)

大佬云集 AAAI 2021 图深度学习研讨会

【招人】腾讯广告业务线

赛尔笔记 | 篇章级机器翻译简介

GPT“高仿”系列开源了!最大可达GPT-3大小,还能自主训练

ACL 2021投稿避坑指南

我,大学没毕业,在OpenAI搞AI,想教教你如何提升“研究品味”

推荐几本经典AI书籍!

赛尔原创@AAAI 2021 | 纠结于联合学习中的建模方法?快来看看图网络显式建模!

如何提高PyTorch“炼丹”速度?这位小哥总结了17种方法,可直接上手更改的那种

斯坦福CS224W《图机器学习》2021开课!Jure Leskovec大牛主讲,附课程PPT下载

ICLR2021放榜!录取860篇,接受率为28.7%!

计算机视觉中的Transformer

第二十届中国计算语言学大会(CCL 2021)技术评测任务征集

完全图解GPT-2:看完这篇就够了(二)

完全图解GPT-2:看完这篇就够了(一)

IJCAI 2020今日开幕,杰出论文奖、卓越研究奖、约翰·麦卡锡奖等8项大奖公布!

研究品味锻炼!

一份Python线性代数讲义

全面回顾2020年图机器学习进展,12位大神论道、寄望2021年大爆发!

第二十届中国计算语言学大会(CCL 2021) 征稿启事

NTU-Xavier Bresson 图神经网络入门视频

2020年arXiv十大热门论文来了!不止GPT-3、SimCLR、YOLOv4...

每日论文速递:自然语言处理相关(1月7日更新版)

权值衰减和L2正则化傻傻分不清楚?

斯坦福大学——人工智能本科4年课程清单

超过500个附代码的AI/机器学习/深度学习/计算机视觉/NLP项目

Awesome Transformer for Vision Resources List库

2020 Top10计算机视觉论文总结:论文,代码,解读,还有demo视频!

摘要数据整理仓库,6个数据集!

156个参考文献!Visual Transformer 调研survey

NLP生成任务痛点!58页generation评价综述

机器学习画图模板ML Visuals更新

谷歌最新28页高效 Transformer 模型综述

Papers with Code 2020 全年回顾

最新14页《图神经网络可解释性》综述论文

陶大程等人编写!最新41页深度学习理论综述

使用PyTorch时,最常见的4个错误

加拿大蒙特利尔大学助理教授刘邦招收2021/2022年博士生

【EMNLP2020】基于动态图交互网络的多意图口语语言理解框架

一文搞懂 PyTorch 内部机制

忆臻:AAAI 2021论文接收列表放出!!!

机器学习自然语言处理:从头来看关系抽取

机器学习自然语言处理:Transformer的一家!

机器学习自然语言处理:通俗易懂!BiLSTM上的CRF,用命名实体识别任务来解释CRF(一)

机器学习自然语言处理:通俗易懂!BiLSTM上的CRF,用命名实体识别任务来解释CRF(二)

机器学习自然语言处理:赛尔笔记 | 自然语言处理领域的数据增广方法

机器学习自然语言处理:基于小样本学习的图像分类技术综述(中文版),19页pdf

机器学习自然语言处理:【斯坦福NLP-CS224N硬核课】自然语言处理未来与深度学习,81页ppt

机器学习自然语言处理:大道至简:算法工程师炼丹Trick手册

机器学习自然语言处理:Transformer!「预训练变换器文本排序」首篇综述书,155页pdf概述BERT类模型文本检索进展

机器学习自然语言处理:周志华老师《机器学习》手推笔记,214页

机器学习自然语言处理:原来有这个算法,让点评体验如此好!

机器学习自然语言处理:AAAI2020-图神经网络(GNN)过去、现在、应用和未来最新研究进展分享

机器学习自然语言处理:图神经网络(GNN)必读论文及最新进展跟踪

机器学习自然语言处理:5种神经网络常见的求导!

机器学习自然语言处理:一文概览 CVPR2021 最新18篇 Oral 论文

机器学习自然语言处理:CVPR2021最新接收论文合集!22个方向100+篇论文汇总|持续更新

机器学习自然语言处理:Transformer是巧合还是必然?搜索推荐领域的新潮流

机器学习自然语言处理:AAAI 2021最佳论文《Informer》作者:Transformer 最新进展

机器学习自然语言处理:[万字长文] 图神经网络的解释性综述

机器学习自然语言处理:图解Transformer(完整版)!

机器学习自然语言处理:【Transformer】图解OpenAI的秘密武器GPT-2:可视化Transformer语言模型

机器学习自然语言处理:搞懂Transformer结构,看这篇PyTorch实现就够了

机器学习自然语言处理:深度学习中的知识蒸馏技术(上)

机器学习自然语言处理:深度学习中的知识蒸馏技术(下)-知识蒸馏与推荐系统

机器学习自然语言处理:2021年,我终于决定入门GCN

机器学习自然语言处理:排序(rank)后重排(re-rank)?

机器学习自然语言处理:从理论到实践解决文本分类中的样本不均衡问题

机器学习自然语言处理:如何基于多模态识别广告文章

机器学习自然语言处理:总结+paper分享|对话系统中的自然语言生成技术(NLG)

机器学习自然语言处理:百家争鸣|国内外NLP领域学术界和工业界的牛人和团队

机器学习自然语言处理:任务型对话系统公式建模&&实例说明

机器学习自然语言处理:一文"看透"多任务学习

机器学习自然语言处理:总结+paper分享|对话系统中的自然语言生成技术(NLG)

机器学习自然语言处理:百家争鸣|国内外NLP领域学术界和工业界的牛人和团队

机器学习自然语言处理:收藏|2021年浅谈多任务学习

机器学习自然语言处理:CTR模型越来越"深",如何让它变"轻"?

机器学习自然语言处理:排序(rank)后重排(re-rank)?

赛尔笔记 | 对比学习简述 - 知乎 (zhihu.com)

20篇「ICML2021」最新论文抢先看!看机器学习2021在研究什么? - 知乎 (zhihu.com)

“意念打字”速度接近常人手机聊天,专家:这比马斯克的“猴子玩游戏”难多了 | Nature封面 - 知乎 (zhihu.com)

MLP三大工作超详细解读:why do we need? - 知乎 (zhihu.com)

近期必读的5篇顶会CVPR 2021【对比学习(CL)】相关论文和代码 - 知乎 (zhihu.com)

赛尔原创@IJCAI 2021 | 会议摘要有难度?快来引入对话篇章结构信息 - 知乎 (zhihu.com)

ViLT:最简单的多模态Transformer - 知乎 (zhihu.com)

台大最新《深度学习优化问题》硬核课,林智仁教授讲解,附课件下载 - 知乎 (zhihu.com)

Rethinking “Batch” in BatchNorm - 知乎 (zhihu.com)

文本情感对话系统研究综述 - 知乎 (zhihu.com)

写给新手炼丹师:2021版调参上分手册 - 知乎 (zhihu.com)

100+篇论文合集:GNN在NLP中的应用 - 知乎 (zhihu.com)

《自监督学习》概述,117页ppt,李飞飞经典CS231N2021《卷积神经网络视觉识别》课程第十三讲! - 知乎 (zhihu.com)

近期必读的5篇顶会ICML 2021【图神经网络(GNN)】相关论文和代码 - 知乎 (zhihu.com)

成熟的AI应该自己写代码,IBM发布5亿行代码数据集,包含55种语言|开源 - 知乎 (zhihu.com)

2021机器学习研究风向是啥?MLP→CNN→Transformer→MLP! - 知乎 (zhihu.com)

基于会话推荐系统最新长文综述,163篇参考文献,已被ACM Computing Surveys接收 - 知乎 (zhihu.com)

弗吉尼亚理工、滑铁卢大学、威斯康星大学、弗吉尼亚大学AI硕博招生! - 知乎 (zhihu.com)

UC伯克利马毅ICML投稿得到4个评审接收却仍遭AC拒绝!自称论文泄露了深度学习的天机 - 知乎 (zhihu.com)

TransGAN:两个Transformer可以构造一个强大的GAN - 知乎 (zhihu.com)

CHI2021最新「可解释人工智能XAI导论」,86页PPT带你实战XAI系统 - 知乎 (zhihu.com)

吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生! - 知乎 (zhihu.com)

拯救Sci-Hub的「最后行动」:把77TB论文,转化成850个BT种子传播下去 - 知乎 (zhihu.com)

【2021新书】概率图模型:原理与应用,370页pdf概述PGM最新技术 - 知乎 (zhihu.com)

为什么贝叶斯统计如此重要? - 知乎 (zhihu.com)

Github标星1.2K,Visual Transformer 最全最新资源,包含期刊、顶会论文 - 知乎 (zhihu.com)

赛尔笔记 | 可解释的自然语言处理方法简介 - 知乎 (zhihu.com)

深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案) - 知乎 (zhihu.com)

自然语言生成综述 - 知乎 (zhihu.com)

自然语言中事件过程的理解/陈慕浩(USC),40页ppt - 知乎 (zhihu.com)

PyTorch 源码解读之分布式训练了解一下? - 知乎 (zhihu.com)

台大喊你来上课,深度学习优化,免费的哟 - 知乎 (zhihu.com)

ICML2021接受论文列表出炉! - 知乎 (zhihu.com)

21页NLP上的数据增广方法综述 - 知乎 (zhihu.com)

76页最全对话系统方向综述 - 知乎 (zhihu.com)

要学好GNN?看这份《图神经网络导论》176页干货教程,这份Bitdefender小姐姐讲解的教程通俗易懂! - 知乎 (zhihu.com)

Transformer | 详细解读Transformer怎样从零训练并超越ResNet? - 知乎 (zhihu.com)

面向Transformer模型的高效预训练方法 - 知乎 (zhihu.com)

最新!NLP顶会NAACL2021最佳论文出炉!罗切斯特-腾讯获最佳长论文 - 知乎 (zhihu.com)

小目标检测的一些问题,思路和方案 - 知乎 (zhihu.com)

最新综述:对话式检索数据集汇总 - 知乎 (zhihu.com)

首个面向NLP的图深度学习工具包问世! - 知乎 (zhihu.com)

一个小问题:深度学习模型如何处理大小可变的输入 - 知乎 (zhihu.com)

【NAACL2021】深度NLP模型的细粒度解释与因果性分析,附317页ppt与视频 - 知乎

MLP is Best? - 知乎 (zhihu.com)

NAACL2021 tutorial | 239页Deep Learning on Graphs for Natural Language Processing - 知乎 (zhihu.com)

复盘人生第一次科研经历 - 知乎 (zhihu.com)

ICLR2021 | 近期必读图神经网络精选论文 - 知乎 (zhihu.com)

AAAI 近20年最佳论文合集 - 知乎 (zhihu.com)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值