Tags: #tutorial #machine-leanring #self-supervised
目录:
-
- The Importance of Self-Supervised Learning
-
- Popular Learning Methods
-
- Introduction to Self-Supervised Learning
1. The Inportance of Self-Supervised Learning
监督学习(supervised learning)是过去几年深度学习(或者说机器学习)发展的热门方向,但是监督学习如果想取得很好的效果需要:
- 大量带标签的数据;
- 而且给数据打标签是非常耗时,且昂贵的。
因此,想要构建能够处理复杂任务模型或者在没有标签的情况下学习新技能的模型,监督学习成为了其发展的瓶颈(“Supervised learning is a bottleneck for building more intelligent generalist models that can do multiple tasks and acquire new skills without massive amounts of labeled data.” Yann LeCun.)。因为给世界上的所有任务都打上标签是不现实的,并且还有一些任务没有足够的带标签数据去训练模型。监督学习在这种情况下就不能发挥出自己的最好性能。
人类可以根据自己对世界的观测到的一些常识建立起一个广义的预测模型,例如物体的连续性和重力等。常识可以帮助人们学习新技能,而无需为每项任务都进行大量的教学。例如,我们给小孩仅展示几张奶牛的图片,他们就能够认出看到的任何奶牛。相比之下,监督学习需要大量带有标签的奶牛图片进行训练,并且还不一定能准确对奶牛进行分类。再比如,人类可以在有少量监督的情况下练习大约20个小时的开车就可以实现驾驶,而AI模型即使经过数千小时训练也无法训练最佳的自动驾驶系统。简而言之,人类依赖于他们先前获得的关于世界如何运作的知识帮助他们快速学习。
我们相信self-supervised learning(自监督学习)是在AI系统中构建此类常识最有前景的一种方法。
自监督学习是一种能够从无标签数据中学习dark matter of intelligence的一种方法。
2. Popular Learning Methods
监督学习(supervised learing)需要大量带标签的数据来训练模型以解决特定的训练任务。
无监督学习(unsupervised learning)无须训练数据带有标签,通过发现数据内部潜在特征来解决各类模式识别任务,例如聚类。
半监督学习(semi-supervised learning)允许数据带有少量的标签,它是监督学习和无监督学习的一种结合方法。
强化学习(reinforcement learning)用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
自监督学习(self-supervised learning)从数据本身获得监督信号,不需要任何的手动提取标签和弱标签,通常使用了数据的底层结构。典型的自监督学习技术是从任意可观测的或输入的隐藏部分来预测任意不可观测的或隐藏的部分。例如在NLP中,我们可以隐藏部分单词,让模型从剩下的句子中预测被隐藏的单词。在CV中,我们可以遮挡部分像素,让模型根据可以观测到的像素预测出被遮挡的部分。在视频处理中,我们可以预测过去或未来的视频片段根据现有的视频。此外,自监督学习可以从大量无标注数据中学习可迁移知识,然后用于提高下游任务上的表现。
Source: https://www.youtube.com/watch?v=7I0Qt7GALVk
自监督学习VS无监督学习
虽然自监督学习和无监督学习都不需要标签,但是两者有着很大不同。无监督学习不需要任何反馈回路(feedback loops)。相反,自监督学习在训练过程中需要大量监督信号作为反馈。
3. Introduction to Self-Supervised Learning
Self-Supervised Learning (SSL) 可以分为两类: generative learning和contrastive learning。维基百科中把它分成了contrastive和non-constrative两类,不过意思是一样的。
Generative Learning: 利用数据表示重构完整数据,例如GAN, AE, VAE, BERT等;
Contrastive Learning: [[Contrastive learning 对比学习]]包含正例和负例,对比学习目的是为了减小正例样本间的距离,增大负例间样本的距离,例如mutual information maximization, instance discrimination等。
SSL在NLP和CV领域近年来取得了不错的成果,SSL允许我们使用大量无标签的数据训练模型,例如BERT,然后用于解决下游任务。该过程可以分为两个步骤:pre-train和fine-tune。在自监督预训练阶段,常见的pretext task是遮挡住部分的输入,然后让模型还原出输出。这样,模型可以学习到文本或图像的含义,所以才会对空白区域做出正确预测。
参考文献
CS229 Self-supervised Learning - Stanford University
Yann LeCun, Ishan Misra. Self-supervised learning: The dark matter of intelligence. Meta AI.