openAI课程--自监督学习

看到一个openai团队发布的自监督的综述的视频,学习了一下,做了一下总结,地址如下:

https://www.youtube.com/watch?v=7l6fttRJzeU

ps:被翁丽莲圈粉了,真的是又有颜又厉害,膜拜大佬。 找到了她的blog地址,和twitter地址,嘻嘻。

Lil'Log

https://twitter.com/lilianweng

自监督学习(self-supervised learning)是一种机器学习方法,旨在利用无需人工标注的数据进行模型训练。与传统的监督学习不同,自监督学习从输入数据中自动生成标签或任务,然后使用这些生成的标签或任务来训练模型。

在自监督学习中,模型的训练数据通常是未标记的原始数据。例如,在计算机视觉领域,可以使用图像作为训练数据。而传统的监督学习需要对每个图像进行人工标注,例如指定每个图像中的物体类别或位置。相反,自监督学习利用图像本身的信息来生成标签或任务。比如MAE算法。

自监督学习的一种常见方法是通过对输入数据进行数据增强(data augmentation)来生成辅助任务。例如,在图像领域,可以将原始图像进行旋转、裁剪、翻转等操作,然后将变换后的图像作为输入,而变换前的图像作为生成的标签。通过这种方式,模型可以学习到图像的旋转不变性或其他特征。

另一种常见的自监督学习方法是通过预测输入数据的一部分来生成辅助任务。例如,在自然语言处理领域,可以使用掩码语言建模(masked language modeling)任务。在该任务中,模型从句子中选择一些单词进行掩码,然后预测这些被掩码的单词。通过这种方式,模型可以学习到单词的上下文信息。如bert。

自监督学习的一个关键优势是可以利用大量的未标记数据进行训练,而无需昂贵的人工标注过程。这在很多领域中是非常有价值的,因为标注数据往往很难获取或成本很高。自监督学习的另一个优势是可以通过预训练模型来提供初始化参数,然后通过有监督学习进行微调,从而改善模型的性能。

自监督学习已经在计算机视觉、自然语言处理和语音识别等领域取得了显著的进展。通过利用自监督学习,研究人员已经在图像分类、目标检测、语义分割、机器翻译等任务上取得了与传统监督学习方法相媲美甚至超越的性能。

自监督学习是一个非常重要的领域,基本上像GPT和bert这样的预训练大模型,主要都是采用自监督的方式训练,因为不需要标注,从而可以从网络上获取大量的数据进行训练,从而大数据--大模型最后导致的就是chatgpt的大火。

主流的方向主要是3个:基于 Generative 的方法和基于 Contrative 的方法和self-prediction。

1.基于生成式Generative

在基于生成式的自监督学习中,模型被要求生成与输入数据相关的输出。这个过程类似于生成模型,模型试图从输入数据中学习到数据的分布,然后通过生成样本来评估模型的性能。生成的样本可以用作模型的标签或辅助任务。

例如,在图像领域,可以使用自编码器(autoencoder)作为生成模型。自编码器包含一个编码器和一个解码器,编码器将图像压缩到低维潜在空间中,解码器则将潜在表示重构为原始图像。在自监督学习中,模型可以通过自编码器的解码器生成重构图像,并将原始图像作为生成的标签。latent stable diffusion也利用了类似这种技术把图像从pixel空间encoder到latent空间,降低维度,提高速度。本质上就是使用encoder把输入mapping到一个特征维度,然后decoder再从这个特征空间中还原,还原的结果越接近输入就越好。图像压缩也可以使用这种方式。基于生成式的自监督学习还包括一些其他方法,如生成对抗网络(GANs)、变分自编码器(VAEs)等,这些方法可以通过生成样本来进行训练和评估。

Word2Vec的基本思想是通过训练神经网络模型来学习单词的分布式表示。它基于一个假设,即具有相似语境的单词在语义上也是相似的。换句话说,如果两个单词经常在相似的上下文中出现,那么它们的词向量在向量空间中也应该是接近的。

基于GANs的方式本质上就是生成器接收一个随机噪声向量作为输入,并将其映射到数据空间中。它的目标是生成与训练数据样本相似的新样本。生成器通常由一个或多个隐藏层组成的神经网络构成,输出与训练数据具有相同维度的样本。判别器接收生成器生成的样本和真实数据样本作为输入,并尝试区分它们。判别器是一个二分类器,其目标是正确地将生成器生成的样本与真实样本区分开来。判别器也是由一个或多个隐藏层组成的神经网络构成,输出样本的真假概率。最后生成器和判别器通过对抗训练相互博弈。生成器试图生成逼真的样本,以欺骗判别器,使其将生成的样本错误地分类为真实样本。而判别器则尝试区分生成的样本和真实样本,并尽可能准确地分类它们。通过反复迭代训练,生成器和判别器相互竞争并逐渐提高自己的性能。所以不需要打标签,但可能存在收敛很慢的情况。

基于diffusion的方法,他对输入的图像加入多次噪声,然后让神经网络去学习如何去噪,每一次神经网络预测的都是那一次的加的噪声,所以标签是从0-1的高斯分布中随机采样的噪声,不需要人工标注,最后反向传播学习如何去噪,最后神经网络就可以从一个输入全书噪声的矩阵中输出一张图。

2.基于对比学习Contrative 

基于对比学习的自监督学习是一种无监督学习方法,它通过最大化同一样本的不同视图之间的相似性,来学习有用的表示。这种方法通常用于预训练模型,以提供在无标签数据上学习有用特征的能力。

在对比学习的自监督学习中,一个样本会被构建为多个视图或转换。这些视图可以是通过对样本进行随机的变换、裁剪、旋转、遮挡等方式得到的,如moco。然后,模型的目标是将同一样本的不同视图映射到相近的表示,而将不同样本的表示映射到相距较远的表示。

1911.05722.pdf (arxiv.org)

为了实现这个目标,通常会使用对比损失函数,如对比预测任务(Contrastive Predictive Coding, CPC)或同质性损失(Homogeneity Loss)。这些损失函数鼓励模型将同一样本的不同视图的表示拉近,而将不同样本的表示推开。

clip就是一个多模态对比学习的案例。

对比学习的自监督学习方法的一个关键优势是,它可以通过使用大量无标签数据来预训练模型。预训练的模型可以在下游任务上进行微调,以提高性能。

3. self-prediction

Self-prediction(自我预测)是一种自监督学习方法,在自然语言处理(Natural Language Processing, NLP)领域中被广泛应用。该方法通过对无标签的文本进行预测任务,从而学习到有用的语言表示。

self-prediction主要有自回归生成,masked生成,内部关系预测和混合自我预测。

在训练阶段,模型输入一个已知的文本序列,并通过最大似然估计等方法来学习条件概率分布。模型根据先前生成的部分序列来预测下一个符号的概率分布,并根据真实的下一个符号调整模型参数。这样,模型逐渐学习到生成符合训练数据分布的新文本序列。

在生成阶段,模型可以根据给定的初始符号或上下文,通过逐步生成的方式生成新的文本序列。每次生成一个符号后,该符号又被用作生成下一个符号的条件。

在掩码生成中,输入的文本序列中的一些词语或标记会被随机掩码或遮蔽。然后,模型的任务是根据上下文和已知的部分文本预测被掩码的词语或标记。通过这种方式,模型需要利用上下文信息和语言规律进行推断,从而生成可能的替代词语或标记。

内在关系预测(Innate Relationship Prediction)是指在给定的上下文中预测实体或元素之间固有或内在关系的任务。它涉及理解系统或数据集中各个组成部分之间的潜在关联或联系。

“内在”一词意味着被预测的关系在数据中并没有明确提供或标记。相反,模型需要基于输入中存在的模式和依赖关系来学习和推断内在关系。

内在关系预测可以应用于各个领域和任务,例如:

  1. 知识图谱:在知识图谱中预测实体之间的关系,任务涉及根据实体的属性、特征或上下文信息推断实体之间的连接。

  2. 文档理解:识别文档中不同组成部分之间的关系,例如检测主语-谓语-宾语关系或确定句子或段落之间的语义连接。

  3. 图像分析:推断图像中对象或区域之间的关系,例如在图像中检测对象之间的层次结构、相对位置或关联性。

  4. 社交网络分析:预测社交网络中用户之间的关系,例如朋友关系、共同兴趣或社交影响力。

混合自预测(Hybrid Self-Prediction)是一种结合了自监督学习和自我预测的方法,用于训练神经网络模型。在这种方法中,模型通过自我预测任务和其他监督任务的结合来进行训练,以提高模型的性能和表示能力。

混合自预测方法通常包括以下步骤:

  1. 自我预测:模型根据输入的数据进行自我预测任务。这可以是利用掩码语言模型(Masked Language Modeling, MLM)的方式,其中一些输入元素被掩码,模型需要预测这些掩码位置的值。或者可以是利用自编码器(Autoencoder)的方式,模型尝试重构输入数据。

  2. 监督任务:除了自我预测任务,模型还进行其他监督任务的训练。这些监督任务可以是文本分类、命名实体识别、关系抽取等,根据具体应用领域和任务而定。

  3. 混合训练:模型通过混合自我预测和监督任务的训练来提高自身的表征能力。自我预测任务可以帮助模型学习到数据中的潜在结构和语义关系,而监督任务可以提供更具指导性的信号,帮助模型学习特定任务的相关特征和知识。

混合自预测方法的优势在于通过结合不同类型的任务来训练模型,从而使模型能够学习到更丰富、更有用的表示。自我预测任务可以通过无监督学习从大规模未标记数据中学习表示,而监督任务则通过有监督学习从标记数据中学习特定任务的相关特征。通过混合这两种训练方式,模型可以更好地适应不同的任务和应用场景,提高模型的泛化能力和性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值