机器学习13 -- 无监督学习之自监督 2020年全国数学建模大赛 B题部分代码和模型的建立 jumpserver安装(centos) Redis 知识点总结 通过RabitMQ实现分布式事务 高焕堂《嵌入式UML设计》读书笔记_第一章 2020年中国5G在物联网行业:中国通信运营商5G投资达1.23万亿元(可下载) 面试题精选:数据伪造 繁忙的都市(并查集、Kruskal) BFS 力扣 200.岛屿数量 深度操作系统Deepin V20正式版 2020-09-13 【OS】Bankers Algorithm 用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程 后渗透之各种维持权限的后门原理即利用 MIPS Branch Target Buffer动态分支预测(BTB) Oracle实战优化:INSERT ALL关键字的应用 Linux中MySQL数据库的使用②-----数据的基本操作 理论+实验——MySQL备份与恢复 MySQL常用数据库函数 MySQL 备份与恢复(完全备份恢复--增量备份恢复+案例演示) MySQL之基础总结部分 Oracle实战优化:递归+分析函数+OLAP函数的应用 Linux中MySQL数据库的使用③-----编码和基本数据类型 理论+实验:MySQL备份与恢复(完整备份、增量备份) “数”聚永川 “智”引未来——永川区大数据智能化产业发展强劲 从一款防疫App感受新加坡大数据智能化气息 “数”聚永川“智”引未来——永川区大数据智能化产业发展强劲 从连接量变到数据质变 物联网将二次爆发 重磅发布!猎芯半导体首创全球最小支持5G物联网的多模多频射频PA芯片 从精准授信到助企惠民,江苏银行物联网金融派上大用场 Python Selenium UI自动化_WebDriver元素_8大定位方式+总结(持续更新完善) Python中的继承、抽象基类和接口 Datawhale学习笔记【阿里云天池 金融风控-贷款违约预测】task1 赛题理解 Pytorch - torchvision计算机视觉工具库 linux 重点笔记 Ubuntu18.04安装ROS Melodic(一路到站型) 小甲鱼笔记:数据结构——线性表(一)线性表的顺序存储结构,线性表顺序存储结构的增,删,插入元素操作 实战比特币脚本编程(1) JAVA WEB DAY 01_Tomcat & Servlet Java基础算法之堆排序(Heap Sort) synchronized批量重偏向与批量撤销 终于等到了!阿里P8历时九个月整理,Java面试宝典,核心知识点笔记在此 “数字心脏”动态解析消费密码,国家级消费市场大数据联合实验室在上海先行先试 全世界运行着大约230亿台物联网设备,安全问题如何解? 物联网产业园&thinkplus解决方案中心国学讲座如期而至 都是程序员,凭什么他能站在鄙视链的顶端? 猛男必看!去小红书做程序员是种什么体验 drozer提示[Errno 2] No such file or directory 【STM32】NB-iOT BC35-G模块 AT指令应用设计指导(附代码)
您的位置:首页 >大数据 >

机器学习13 -- 无监督学习之自监督

1 为什么要自监督学习 self-supervised learning

自监督学习是无监督学习的一种特殊方式。我们在无监督学习中讲过了,标注label是十分宝贵的,一般需要人工打标,时间和人力成本都十分高昂。但现实中,获取无标注data确实相对比较easy的事情。我们可以在网络上爬取很多很多的文本、图片、语音、商品信息等。如何利用这些无标注data,一直以来都是无监督学习的一个重要方向。而自监督学习则给出了一种解决方案。

自监督学习通过data的一部分,来predict其他部分,由自身来提供监督信号,从而实现自监督学习。利用自监督学习,可以学到一定的文本或图片的表征,从而有利于下游任务的展开。这就是pretrain-finetune

image.png

 

2 自监督学习实现方案

自监督学习实现方案主要有

利用部分data来重建整个data。这其实就是Denoising Auto-Encoder的一种。NLP方面BERT系列的Mask language model,和CV领域的图像还原In-painting,都是采用了这种方案CV领域的一些任务。比如将图片分割为9块,打乱后,进行拼图。将图片旋转一定角度,然后predict旋转的角度。对比学习。比如word2vec,Contrastive Predictive Coding,SimCLR

 

3 NLP领域的自监督学习

各种NLP预训练模型,就是利用自监督学习实现的。比如Elmo、GPT、BERT、XLNet、Electra、T5等。它们可以看做是一种去噪自编码器denoising Auto-Encoder。

image.png

3.1 Auto-Encoder和Auto-regressive LM

它们又分为两种

自编码器Auto-Encoder。比如BERT所采用的Mask language model。它将sequence中的部分token,进行mask,然后让模型对mask位置进行predict。它的优点是可以充分利用两个方向的语句信息,在分类、QA、NER等任务上表现很好。缺点是sequence中只有mask位置参与了predict,训练效率较低。另外训练时有mask,而下游任务fine-tune时没有mask,导致两阶段不一致。自回归语言模型 Auto-regressive LM。严格来说MLM掩码语言模型不能认为是一种语言模型。GPT等自回归方式的模型才是真正的语言模型。它利用上文来预测下文的token。它在生成任务上表现较好。优点是pretrain和fine-tune两阶段一致,且sequence中每个位置均参与了predict,训练效率很高。缺点是只能看到上文,无法看到下文,也就是单方向,大大影响了对语句的语义理解。

Auto-Encoder示例如下,它可以获取两个方向的上下文,有助于语义理解

image.png

Auto-regressive LM示例如下,不论是从前到后,还是从后到前,均只能单向

image.png

 

3.2 XLNet和PLM

XLNet则结合了二者的优点,它提出了排序语言模型PLM(Permutation LM)。它分为两步

排序,将sequence中的token位置打乱,实操中没有直接对token打乱,而是利用了attention mask自回归语言模型predict。由于token的位置打乱了,所以训练语言模型时,可以获取到下文的信息了,有助于对整个sequence的理解。

image.png

 

4 CV领域的自监督学习

CV任务上,也很容易实现自监督学习

4.1 predict missing pieces

将图片中部分区域挖空,然后让模型进行预测,使输出能尽量还原输入图片。

image.png

 

4.2 Jigsaw Puzzles 拼图游戏

将图片分割为多个区域并打乱,然后让模型将它还原为原始图片。和拼图游戏很像。

image.png

 

4.3 Rotation 旋转

将图片旋转一定角度,让模型预测旋转了多少度。或者将图片旋转0、90、180、270度四种类别,让模型预测旋转的类别。

image.png

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。