网站制作公司排名,邵阳经开区网站,怎样自己做网站推广,网站用html做的怎么弄后台文 | 花小花Posy大家好#xff0c;我是小花。对比学习的大火???? 越来越旺了#xff0c;已然从CV蔓延到NLP了。今天给大家介绍的正是一篇将对比学习应用到文本聚类上的工作#xff0c;NAACL21新鲜出炉的paper——《Supporting Clustering with Contrastive Learning》。… 文 | 花小花Posy大家好我是小花。对比学习的大火???? 越来越旺了已然从CV蔓延到NLP了。今天给大家介绍的正是一篇将对比学习应用到文本聚类上的工作NAACL21新鲜出炉的paper——《Supporting Clustering with Contrastive Learning》。该工作在8个短文本聚类数据集上取得了显著提升(比如正确率提升3%~11%)。所谓对比学习重点在于对比那对比的对象是谁答曰增强的数据。假设如果两个增强句子的原句子一样那么拉近它们否则推远它们。在CV领域对比学习是和携数据增强一起出道的。给定一张图片生成不同的变体去增强它然后用对比思想去学习。NLP领域也如法炮制。给一个句子使用数据增强去生成和原句子语义相似的句子。比如下面的例子[1]如果两个增强句子来自同一个原句子那么它们是同源的否则是不同源的。本文发现利用对比学习的特性即拉近同源句子、拉远不同源句子可以解决短文本聚类问题中一个令人头疼的问题——如果学习过程开始时不同类别在表示空间中就彼此重叠那么不管怎么学习都很难将各个类别区分开。下图是原文中对比的原始数据的分布(Original) 和使用聚类Clustering模型学习后的分布。可以看到Clustering整体效果还不错但相邻类别黏在一起、无法区分的现象仍然是存在。而本文发现使用对比学习Instance-CL)可以很好地解决该问题。对比学习可以将各个重叠的类别分散开。更进一步本文发现将对Instance-CL和Clustering结合SCCL不仅可以可以更好地区分不同类别而且通过显示地拉近同一类的数据的距离可以促使类内分布更加紧凑从而达到更优质的聚类效果。简单讲本文提出了一个训练框架SCCL它结合了bottom-up的实例对比学习和top-down的聚类学习收获了更好的类内距离和类间距离。论文题目: Supporting Clustering with Contrastive Learning论文链接: https://arxiv.org/pdf/2103.12953.pdfArxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0422】 下载论文PDF~对比学习扫盲对比学习的目标是区分两个实例是否是由同一个源数据采样/增强得来如果是让它们在表示空间中越接近如果不是让它们在表示空间中远离。 早在2006年Hadsell等人[2]就提出了通过对比正负例来学习表示的思想但其真正火起来是始于谷歌在19年提出的SimCLR[3]框架。下图展示了SimCLR中对比学习思想的示例图可以更加直观理解整个流程。具体来说对于一个源数据, 使用某种数据增强的方式给它生成一对增强数据和然后对它们哥俩进行编码、映射接着最大化它们的相似度。对比学习的一个关键点是如何生成增强数据。在CV中数据增强依赖图片的空间不变性通过旋转、缩放、裁剪等方式去给图片增强。在NLP领域中数据增强主要依靠的是语义不变性常用方法有词汇替换、回译、字面转换、随机噪声注入等等[3]。本文尝试了3种不同的替换方式分别是WordNet Augmenter使用WordNet中的同义词对输入进行替换。Paraphrase via back translation使用回译的方式生成输入的复述。Contextual Augmenter对于输入, 利用预训练Transformer找到其中N个候选位置对其进行插入或替换。说完了对比学习接下来我们聊一聊本文是如何使用对比学习及它的效果如何。SCCL的训练框架上图展示了SCCL的训练框架相比以前的聚类方法蓝色部分SCCL使用了数据增强并利用了对比学习去优化增强的数据。相对应的模型针对Clustering有一个损失函数对源数据进行优化Instance-CL有一个损失函数对增强数据进行优化。模型概念了解起来相对简单就不放公式了。想看公式加深理解的朋友们可以去看原论文。下面看看实验结果如何。简单的模型大大的提升文中使用 ACCAccuracy和 NMINormalized Mutual Information两个评价指标来衡量聚类性能。下图展示了SCCL在8个短文本聚类的数据集上的实验结果几乎完爆所有数据集除了大规模的SOTA外文中还总结了SCCL相比其它模型的优点训练更简单SCCL只需要端到端的训练有的模型STCC却需要分多步训练或者使用了垂直领域的特征进行增强比如HAC-SD。对数据噪声更鲁棒SCCL不需要任何的数据预处理其它大部分模型都对数据进行了预处理比如移除停用词、标点符号、小写化处理。对比学习加在什么阶段SCCL模型包含了两个损失函数一个负责Clustering的优化一个负责Instance-CL的优化。那么对于有多个损失函数时是选择pipeline的方式去一个一个训练呢还是使用jointly训练的方式更好呢本文对比了两种方式的区别并与单独使用其中一个进行对比。下图显示了使用Accuracy作为指标时各个模型的表现可以看出相比单独使用Instance-CL或者Clustering结合两者使用的两个模型在各个数据集上都取得了提升而且jointly训练SCCL取得的提升一致优于pipeline训练SCCL-Seq先训练Instance-CL在训练Clustering。数据增强哪家好上文提到本文使用了三种数据增强的方法那么哪一种最优 下图展示了三种方法在各个数据集上的实验结果整体来讲Ctxt在各个数据集上的性能都是最好的也就是说利用预训练Transformer作为增强器是最好的。同时也可看到有一部分数据集在不同增强方法下表现差别很大比如SearchSnippers和GooglenewsS而有一部分的敏感度则较低比如AgNews、Biomedical和GooglenewsTS。说明在我们实际使用过程中到底使用哪种增强方式有效还是需要做做对比实验才晓得。这里我们接着问一个问题。要是我们使用多个增强器呢效果会变得更好吗文中对比了使用1个增强器和2个增强器的区别以及当选择替换不同比例的源句子时的区别。上图中蓝色表示使用1个增强器和橘色表示使用2个增强器。可以看出2个增强器在GoogleNewTS上有轻微的提升并且没有随着增强数据中被替换词的比例上升而下降stackoverflow上的表现却截然不同随着替换比例的增高使用两个增强器反而导致性能大幅度下降。为了探究原因文中对比了在不同替换比例和不同增强器下1个或2个原始文本和增强文本在训练之初时的cosine相似度可以看出当使用2个增强器橘色时增强文本与原始文本之间的相似度逐渐降低从而解释了为什么使用2个增强器并不一定能使模型性能变好。小结一下本文提出了一种简单、有效的无监督聚类的模型SCCL在基于距离的聚类方法上使用逐例对比学习区分不同类别。通过联合优化逐例对比学习的损失和聚类的损失使得模型在拉开距离的同时保证类内距离更近。SCCL在8个短文本聚类数据集上进行测试大部分实验结果都取得了SOTAAccuracy提升了3% ~ 11%NMI提升了4%~15%证明了模型的有效性。最后的最后大家不妨思考下为什么聚类对比学习可以带来如此大的提升呢小花的理解是聚类关注高层级的语义概念而实例对比的研究对象往下渗透了一层它的目标是让相似的实例距离更近不同的实例距离更远。将它们结合起来可以增加细粒度的对比。数据增强带来了更多的数据将更多先验知识告诉了模型。顶层抽象和底层细节的结合就像我们人学习的时候既需要具体案例的学习又需要抽象理解。二者搭配效果更佳。有趣的是在CV中对比学习是为了让模型不关注像素细节,学习高级特征来区分不同对象。但是在NLP中却是反过来了希望模型学习实例级别的特征。寻求报道、约稿、文案投放添加微信xixiaoyao-1备注“商务合作”萌屋作者花小花Posy目前在墨尔本大学NLP组读Ph.D.主要感兴趣方向包括常识问答知识图谱低资源知识迁移。期待有生之年可见证机器真正理解常识的时刻! 知乎ID花小花Posy作品推荐1.我拿乐谱训了个语言模型2.一句话超短摘要速览752篇EMNLP论文3.Facebook提出生成式实体链接、文档检索大幅刷新SOTA后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1].A Visual Survey of Data Augmentation in NLP https://amitness.com/2020/05/data-augmentation-for-nlp/[2].Dimensionality Reduction by Learning an Invariant Mapping https://cs.nyu.edu/~sumit/research/assets/cvpr06.pdf[3].A Simple Framework for Contrastive Learning of Visual Representations. https://arxiv.org/pdf/2002.05709.pdf