如何使用无标签数据进行训练?

这篇具有很好参考价值的文章主要介绍了如何使用无标签数据进行训练?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、直观解释

简单来说就是“造目标”。也即人为地去构造一些子任务(论文里的protext task),或者利用一些最基本的公理性常识,去设计“类似监督”的任务。所不同的是,我们引入的“类似监督”的任务通常是用来完成表征学习,具体的下游任务仍需要额外想办法实现。

通俗来说,所谓的监督学习就是有明确的监督信号(比如分类任务中的 label,检测任务中的 cls等)去驱动网络不断地学习更好的特征表示,并完成相应的任务。所以对于无监督学习,我们很容易想到,能不能用什么方法,去构造某些监督信号?可能这些构造出来的信号不及监督学习中的label、bbox那样明确,但在无监督大样本的加持下,总算也能让模型慢慢变好。理解这几句话对于了解无监督学习、自监督学习非常重要

二、常用造目标的方法

1.伪标签

该方法的主旨思想其实很简单。首先,在标签数据上训练模型,然后使用经过训练的模型来预测无标签数据的标签,从而创建伪标签。此外,将标签数据和新生成的伪标签数据结合起来作为新的训练数据。

如何使用无标签数据进行训练?

2.用数据本身作为标签

例如BERT模型的预训练,其包含两种模式:mask words prediction和 next sentence prediction

mask words prediction

首先,第一个预训练模型是让BERT做“完形填空”。具体来说是在输入的一段文本中随机将某一个单词盖住(mask),然后让BERT预测这个单词是什么的概率。最后一层用softmax输出所有单词出现在这个位置的概率,概率最大的即是BERT的预测。将这个预测的结果与真值进行对比,使预测值和真实值之间的交叉熵最小,这就是第一个预训练。

next sentence prediction

第二种预训练做的是两句话间是否是连续的逻辑判断。一共有四个输入:sentence1, sentence2, CLS判断符号和SEP分隔符号。但我们主要关注的是CLS的输出,这是个二分类输出,只有YES/NO两种情况。

如何使用无标签数据进行训练?

3.数据增强

论文: ​​​​​​Unsupervised Representation Learning by Predicting Image Rotations (ICLR18),如图,文章提出,通过训练ConvNets来识别输入图像的2D旋转来学习图像特征。其输入为原图像,使用的标签为人为旋转图片后得到的数据。

如何使用无标签数据进行训练?

论文:Context encoders: Feature learning by inpainting。我们可以通过随机去掉图像中的某个部分来生成训练数据,原数据作为训练标签来进行预训练。

 如何使用无标签数据进行训练?

这些用人为设计监督任务的所训练出来的模型是有效的。因为你可以反过来设想,如果这个网络啥也没学到,它怎么可能把丢失的像素无缝补齐呢?

三、总结

综上,利用无标签数据进行预训练的关键在于构造监督信号。利用伪标签、用数据本身作为标签及数据增强三种方式都是较为常用的利用无标签数据的方法。当然还包括无监督学习中的聚类等方法,这里不在详述。文章来源地址https://www.toymoban.com/news/detail-457462.html

到了这里,关于如何使用无标签数据进行训练?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包