NLP中的自监督表示学习,全是动图,很过瘾的
作者:amitness
编译:ronghuaiyang
原文链接:
NLP中的自监督表示学习,全是动图,很过瘾的mp.weixin.qq.com
其实在自监督学习的概念提出之前,NLP中就已经运用到了这一思想。NLP中的自监督表示学习,全是动图,很过瘾的其实在自监督学习的概念提出之前,NLP中就已经运用到了这一思想。
虽然计算机视觉在自监督学习方面取得了惊人的进展,但在很长一段时间内,自监督学习一直是NLP研究领域的一等公民。语言模型早在90年代就已经存在,甚至在“自我监督学习”这个术语出现之前。2013年的Word2Vec论文推广了这一模式,在许多问题上应用这些自监督的方法,这个领域得到了迅速的发展。
这些自监督的方法的核心是一个叫做 “pretext task” 的框架,它允许我们使用数据本身来生成标签,并使用监督的方法来解决非监督的问题。这些也被称为“auxiliary task”或“pre-training task“。通过执行此任务获得的表示可以用作我们的下游监督任务的起点。
在这篇文章中,我将概述研究人员在没有明确的数据标注的情况下从文本语料库中学习表示的各种pretext tasks。本文的重点是任务的制定,而不是实现它们的架构。
自监督的方案
1. 预测中心词
在这个公式中,我们取一定窗口大小的一小块文本,我们的目标是根据周围的单词预测中心单词。
例如,在下面的图中,我们有一个大小为1的窗口,因此我们在中间单词的两边各有一个单词。使用这些相邻的词,我们需要预测中心词。
这个方案已经在著名的Word2Vec论文的“Continuous Bag of Words”方法中使用过。
2. 预测邻居词
在这个公式中,我们取一定窗口大小的文本张成的空间,我们的目标是在给定中心词的情况下预测周围的词。
这个方案已经在著名的Word2Vec论文的“skip-gram”方法中实现。
3. 相邻句子的预测
在这个公式中,我们取三个连续的句子,设计一个任务,其中给定中心句,我们需要生成前一个句子和下一个句子。它类似于之前的skip-gram方法,但适用于句子而不是单词。
这个方案已经在Skip-Thought Vectors的论文中使用过。
4. 自回归语言建模
在这个公式中,我们取大量未标注的文本,并设置一个任务,根据前面的单词预测下一个单词。因为我们已经知道下一个来自语料库的单词是什么,所以我们不需要手工标注的标签。
例如,我们可以通过预测给定前一个单词的下一个单词来将任务设置为从左到右的语言建模。
我们也可以用这个方案来通给定未来的单词预测之前的单词,方向是从右到左。
这个方案已经使用在许多论文中,从n-gram模型到神经网络模型比如神经概率语言模型 (GPT) 。
5. 掩码语言建模
在这个方案中,文本中的单词是随机掩码的,任务是预测它们。与自回归公式相比,我们在预测掩码单词时可以同时使用前一个词和下一个词的上下文。
这个方案已经在BERT、RoBERTa和ALBERT的论文中使用过。与自回归相比,在这个任务中,我们只预测了一小部分掩码词,因此从每句话中学到的东西更少。
6. 下一个句子预测
在这个方案中,我们取文件中出现的两个连续的句子,以及同一文件或不同文件中随机出现的另一个句子。
然后,任务是区分两个句子是否是连贯的。
在BERT的论文中,它被用于提高下游任务的性能,这些任务需要理解句子之间的关系,比如自然语言推理(NLI)和问题回答。然而,后来的研究对其有效性提出了质疑。
7. 句子顺序的预测
在这个方案中,我们从文档中提取成对的连续句子。然后互换这两个句子的位置,创建出另外一对句子。
我们的目标是对一对句子进行分类,看它们的顺序是否正确。
在ALBERT的论文中,它被用来取代“下一个句子预测”任务。
8. 句子重排
在这个方案中,我们从语料库中取出一个连续的文本,并破开的句子。然后,对句子的位置进行随机打乱,任务是恢复句子的原始顺序。
它已经在BART的论文中被用作预训练的任务之一。
9. 文档旋转
在这个方案中,文档中的一个随机token被选择为旋转点。然后,对文档进行旋转,使得这个token成为开始词。任务是从这个旋转的版本中恢复原来的句子。
它已经在BART的论文中被用作预训练的任务之一。直觉上,这将训练模型开始识别文档。
10. 表情符号预测
这个方案被用在了DeepMoji的论文中,并利用了我们使用表情符号来表达我们所发推文的情感这一想法。如下所示,我们可以使用推特上的表情符号作为标签,并制定一个监督任务,在给出文本时预测表情符号。
DeepMoji的作者们使用这个概念对一个模型进行了12亿条推文的预训练,然后在情绪分析、仇恨语言检测和侮辱检测等与情绪相关的下游任务上对其进行微调。
—END—
英文原文:https://amitness.com/2020/05/self-supervised-learning-nlp/
编辑于 05-28
NLP中的自监督表示学习,全是动图,很过瘾的相关推荐
- 太强了!用动图演示NLP中的自监督表示学习
作者:amitness 编译:ronghuaiyang 导读 其实在自监督学习的概念提出之前,NLP中就已经运用到了这一思想. 虽然计算机视觉在自监督学习方面取得了惊人的进展,但在很长一段时间 ...
- CV和NLP中的无监督预训练(生成式BERT/iGPT和判别式SimCLR/SimCSE)
文 | Smarter 在之前的文章中讲过unsupervised learning主要分为生成式和判别式,那么unsupervised pretrain自然也分为生成式和判别式.目前CV和NLP都出 ...
- CIKM'21 | 谷歌:推荐中的自监督对比学习
作者 | Chilia 哥伦比亚大学 nlp搜索推荐 整理 | NewBeeNLP 1.对比学习到底是啥 对于最近很火的"对比学习",许多人把它和我们之前经常用的向量化召回混为一谈 ...
- 计算机视觉中的自监督表示学习近期进展
©PaperWeekly 原创 · 作者|燕皖 单位|渊亭科技 研究方向|计算机视觉.CNN 回顾过去一年左右的自监督学习领域的最重要发展,那么会发现很多优秀的作品:MoCo v1 和 v2,SimC ...
- 无监督学习中的无监督特征学习、聚类和密度估计
无监督学习概述 无监督学习(Unsupervised Learning)是指从无标签的数据中学习出一些有用的模式,无监督学习一般直接从原始数据进行学习,不借助人工标签和反馈等信息.典型的无监督学习问题 ...
- 二叉树广度优先搜索、深度优先搜索(前序、中序、后序)遍历,动图详解-Java/Kotlin双版本代码
自古逢秋悲寂寥,我言秋日胜春朝 二叉树结构说明 本博客使用树节点结构,如下所示: Kotlin 版本 class TreeNode(var value: String, var leftNode: T ...
- python(NLP)-朴素贝叶斯(监督型学习)
分类算法-朴素贝叶斯(监督学习) 贝叶斯方法是一个历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效,很多高级自然语言处理模型也可以从它演化而来.因此,学习贝叶斯方法,是研究自然语言处 ...
- jsp中给div加背景_html中给元素添加背景图片或者gif动图
添加背景图片有四种常用的方式,分别是: repeat 完全平铺 repeat-x 横向平铺 repeat-y 纵向平铺 no-repeat 不平铺 使用示例: Document ...
- 如何将视频中的某一段截取制作gif动图
我们有时看到一些好玩的视频片段,会选择将其转换成GIF,制作成好玩搞笑的GIF动态图片,那么如何将视频转换成GIF呢,视频转换成GIF又有哪些方法呢?其实视频转GIF还是比较简单的,下面小编便来教大家 ...
最新文章
- Warning in install.packages : package ‘RGtk2’ is not available for this version of R
- quartz (一) 基于 Quartz 开发企业级任务调度应用
- python莫比乌斯环_有哪些完美或接近完美的构造(机械,生物,数学公式,文章,软件等等)?为什么完美?又能有什么领悟?...
- 使用NAS动态存储卷创建有状态应用
- Linux服务器集群系统(二)——LVS集群的体系结构
- java -为什么重写equals(),还需要重写hashCode()?
- mysql_ init数据类型_mysql数据类型
- java处理excel的读写
- Vitamix和Blendtec破壁料理机哪个更高端?
- Redis教程(全面实战教程)
- CDlinux万能无线破解系统iSO中文版 U盘启动版
- 如何理性的调整「rwnd」和「cwnd」的大小
- 【STM32_hal库驱动NRF24L01】
- win10更新后任务栏卡死解决方法
- 游戏服务器为什么老被攻击?被攻击了的一些常见的处理方法
- C语言中如何定义全局变量
- 苹果5完美越狱_A12A13全新越狱工具发布,不需要电脑引导的半完美越狱
- 如何查看.mdf文件数据库版本信息
- 汽车融资租赁借助君子签,实现业务合同电子化,风控智能化
- matlab鸢尾花的数据可视化,matplotlib可视化练习 -- 鸢尾花数据集
热门文章
- Python解决NameError: name ‘reload‘ is not defined的问题
- 数据分析 同比是消除季节影响与去年同段时间比,环比是连续两个时间段比
- tensorflow2.0 RNN文本预测
- ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
- ORACLE空值漫谈2
- SQL SERVER语法
- Manning、Ostendorf、Povey、何晓冬、周明共话多模态NLP的机遇和挑战(附视频)
- 码农书架——图灵三月书讯
- 图灵2010.01书讯——看你错过了哪一本
- 超硬核的 Python 数据可视化教程