在自监督学习 (SSL) 模型中衡量泛化能力,需要评估模型在未明确训练的任务或数据上的表现。与监督学习不同,监督学习使用带标签的测试集提供直接的性能指标,而 SSL 模型从无标签数据中学习表征,因此泛化能力是通过这些表征如何有效地转移到下游任务来评估的。核心思想是在一个大型、多样化的无标签数据集上预训练模型,然后通过在特定的、带标签的任务上微调或探测其特征来测试其适应性。这种方法反映了真实世界的场景,即带标签的数据稀缺,模型必须有效地利用预训练的知识。
衡量泛化能力的常用方法是线性探测,即在线性分类器之上,使用冻结的 SSL 模型特征进行训练。例如,在视觉任务中,像 SimCLR 或 MoCo 这样的模型在没有标签的 ImageNet 上进行预训练。预训练之后,添加一个线性层,并在带标签的数据(例如,CIFAR-10)上进行训练,而基础模型保持不变。这里的高精度表明 SSL 模型学习了可泛化的特征。另一种方法是微调,即在下游任务中重新训练整个模型(或部分模型)。例如,NLP 中的 BERT 在掩码语言建模上进行预训练,然后在情感分析或问答上进行微调。微调和监督基线之间的性能差距表明了泛化质量。此外,跨数据集评估——在与预训练数据无关的数据集上进行测试(例如,在文本语料库上进行预训练,并在医学文本上进行评估)——突出了稳健性。
挑战包括选择具有代表性的下游任务,并避免评估中的偏差。例如,如果 SSL 模型在网络抓取的图像上进行预训练,但仅在像 ImageNet 这样的经过整理的基准上进行测试,结果可能无法反映真实世界的泛化能力。开发人员应该使用多样化的基准(例如,用于多域视觉任务的 DomainNet),并衡量跨任务的一致性。像 scikit-learn 这样的用于指标(准确率、F1-score)的工具,或者像 Hugging Face 的 Transformers 这样的用于 NLP 评估的框架,简化了测试。最终,SSL 中的泛化不是一个单一的指标,而是适应性、跨领域的稳健性以及相对于监督方法的性能的组合。