自监督学习 (SSL) 损失函数是一种数学工具,用于训练模型,而无需依赖手动标记的数据。相反,损失函数衡量模型预测或重建有意修改或隐藏的输入数据的各个部分的效果。 例如,在诸如预测句子中缺失的单词或恢复损坏的图像补丁之类的任务中,模型会从原始数据中生成自己的“标签”。 损失量化了模型预测与这些派生目标之间的差异,从而指导模型学习数据的有意义的表示。 与标签显式的监督学习不同,SSL 损失函数旨在利用数据本身中固有的结构或关系。
常见的 SSL 损失函数因任务而异。 例如,在对比学习中,损失鼓励模型为同一数据的不同视图(例如,裁剪或旋转的图像)生成相似的嵌入,同时将来自不相关数据的嵌入分开。 一个具体的例子是 SimCLR 等框架中使用的 NT-Xent 损失,它应用了一种温度缩放的余弦相似度指标。 在自然语言处理中,掩码语言建模(在 BERT 中使用)采用交叉熵损失来根据周围上下文预测掩码的 token。 另一个例子是自编码器中的重建损失,其中均方误差 (MSE) 衡量模型从压缩表示中重建输入数据的准确程度。 这些损失函数旨在迫使模型学习捕获底层模式的特征,例如图像中的对象形状或文本中的语义关系。
在设计或选择 SSL 损失函数时,开发人员必须考虑数据的性质和所需的表示。 例如,当可以扩充数据以创建语义一致的变体时,对比损失效果很好,但它们需要仔细调整负采样策略以避免琐碎的解决方案。 基于重建的损失(如 MSE)很简单,但可能会优先考虑像素级精度而不是高级特征。 此外,一些 SSL 方法结合了多个损失:视觉转换器可能会同时使用对比损失和重建损失来平衡局部和全局特征学习。 损失的选择直接影响模型学习的内容,因此实验是关键。 挑战包括避免捷径(例如,模型利用低级线索而不是学习鲁棒的特征)并确保计算效率,尤其是在处理大型数据集时。 最终,损失函数充当一个关键信号,影响模型如何解释和概括来自未标记的数据。