1. 对比学习
对比学习(Contrastive Learning)是一种自监督学习的方法,旨在通过比较数据表示空间中的不同样本来学习有用的特征表示。其核心思想是通过最大化同类样本之间的相似性(或降低它们之间的距离),同时最小化异类样本之间的相似性(或增加它们之间的距离),来学习数据的有意义表示。
2. SimCLR
SimCLR(Simple Contrastive Learning of Representations)是一种用于自监督学习的框架,旨在学习数据表示的高效表示,通过比较同一图像的不同视图来学习图像表示。
- 数据增强(Data Augmentation):simCLR首先对每个输入样本应用多种数据增强操作,这些操作包括裁剪、颜色、变换等。通过应用多种不同的增强,可以生成多个视角或变体的同一样本。越离谱需要学的越多。
- 特征提取和编码器(Feature Extraction and Encoder):每个增强后的样本经过一个共享的卷积神经网络(如ResNet),这个网络通常包含多个卷积层和池化层,用来提取输入数据的特征。Encoder的输出是一个高维特征向量,这些向量捕捉了输入数据在不同视角下的表示。
为了加强学习,SimCLR网络通常包含一个投影头(Projection Head),用于将从特征提取器中提取的特征映射到一个更高维度的表示空间。这有助于提高对比学习的性能和有效性。
- 对比损失计算(Contrastive Loss Calculation):核心是使用对比余弦相似性(Contrastive Cosine Similarity),它衡量了两个数据表示之间的相似性。对于每个输入样本,在编码器输出的特征向量上进行正则化(Normalization),然后计算它们的余弦相似度。具体步骤:将每个特征向量归一化为单位长度,这有助于捕捉特征向量的方向信息而不是其幅度;使用余弦相似度度量来比较每对增强样本的相似性;对于每个样本,选择同类样本(即同一原始样本的其他增强版本)作为正样本,选择其他所有样本作为负样本(即所有其他原始样本的增强版本)。
- 损失函数最小化:simCLR的目标是最大化同类样本的相似性(即余弦相似度),同时最小化异类样本的相似性。因此,它的损失函数通常定义为最小化负对数似然(Negative Log-Likelihood)或最大化交叉熵损失函数,这些损失函数都是用来度量对比损失的效果。
- 训练与特征评估:模型通过随机梯度下降(SGD)或其变种进行训练,优化损失函数。一旦模型训练完成,可以使用编码器(Encoder)提取的特征向量来表示新的未见数据,并在其上执行各种监督或非监督任务,例如分类、聚类或检索等。
3. 多模态任务
多模态任务(multimodal tasks)涉及处理和理解多种不同类型数据的任务,这些数据可以来自于不同的传感器、来源或数据源。这些任务通常需要综合利用来自多个模态(如文本、图像、音频等)的信息来完成。
4. BYOL
BYOL(Bootstrap Your Own Latent)是一种自监督学习方法,特别适用于视觉任务中的表示学习。它由DeepMind提出,旨在通过自动化的方式学习高质量的特征表示,无需人工标注的大规模数据集。
BYOL利用自监督学习的方法,通过最大化两个不同视角下同一图像的相似性来学习视觉特征。这种方法避免了依赖于大量标注数据的训练,使得模型可以在资源有限的情况下进行有效学习。
5. SimCSE
SimCSE(Simple Contrastive Learning of Sentence Embeddings)是一种用于学习句子嵌入(sentence embeddings)的简单对比学习方法。它的核心思想是通过对比学习的方式,将语义相似的句子映射到接近的空间位置,从而学习到句子的语义表示。