linear protocol(线性协议)
在看 自监督学习(Self-supervised learning) 或 对比学习(Contrastive learning) 的论文(比如 SimCLR、MoCo、BYOL),
linear protocol(线性协议) 一般指:
一种 评估自监督学习模型表示能力 的方法,也叫 linear evaluation protocol(线性评估协议)。
含义
自监督模型训练后,我们得到了一个 encoder(编码器),例如:
z = encoder(x)
为了验证 encoder 学到的特征是否“有用”,我们:
冻结 encoder 的参数(不再训练它);
在它的输出特征上面,只训练一个线性分类器(linear layer)。
这就叫 linear evaluation protocol。
举个例子
假设我们训练了一个自监督的图像模型:
encoder = ResNet50()
线性协议评估步骤:
# 冻结特征提取器
for param in encoder.parameters():
param.requires_grad = False
# 添加一个线性分类层
classifier = nn.Linear(2048, num_classes)
训练时:
只更新
classifier
的参数;encoder 输出的特征保持不变。
为什么这样做?
👉 因为我们想知道:
模型学到的特征是不是“通用”的、可分的(linearly separable)。
如果一个冻结的 encoder + 线性分类器在下游任务(如分类)上表现很好,
说明 encoder 学到的特征具有良好的语义表达能力。
论文例子
在 SimCLR 论文中:
“We evaluate the quality of learned representations using a linear protocol on ImageNet.”
意思就是:
他们在 ImageNet 上,用线性分类器来评估 encoder 学到的特征效果。