SimSiam分析
SimSiamSimple Siamese Representation Learning1. 核心思想与定位SimSiam是FAIR陈鑫磊、何恺明团队于2020年提出的自监督学习框架。它的核心贡献是用极致的简洁性揭示了自监督学习的本质仅通过孪生网络 预测器Predictor 停止梯度Stop-Gradient三者结合无需负样本、无需大批量Large Batch、无需动量编码器即可有效防止“表征崩溃”学习到高质量的视觉表征。2. 为什么要防止“表征崩溃”表征崩溃Representation Collapse是指模型对所有输入图片输出相同的特征向量如全零或常数。在自监督学习中由于没有标签监督模型极易找到这种“捷径”使损失最小化。一旦发生崩溃模型提取的特征就失去了区分能力下游任务分类、检测、分割完全失效。因此防止崩溃是自监督学习的生存底线。3. 网络模块与结构拆解SimSiam的网络结构包含以下核心模块模块具体构成作用数据增强 (Augmentation)随机裁剪、水平翻转、色彩抖动、高斯模糊等同SimCLR策略为同一张图片x生成两个不同的视图x1和x2作为正样本对。编码器 (Encoder)fResNet骨干网络 投影MLP头Projection MLP将输入图像映射到特征空间输出投影向量z。两个分支的编码器权重完全共享。预测器 (Predictor)h仅挂在一个分支上的MLP通常为2层隐藏层维度较小将其中一个分支的投影z转换成p用于匹配另一个分支的特征。它是产生“不对称性”的核心模块。4. 优化过程与损失函数前向与反向传播4.1 前向传播输入图片x生成增强视图x1,x2。通过共享编码器f得到投影z1 f(x1),z2 f(x2)。仅对z1应用预测器p1 h(z1)z2不接预测器。4.2 对称损失函数Symmetric Loss使用负余弦相似度并采用对称形式L12D(p1,sg(z2))12D(p2,sg(z1))L \frac{1}{2} D(p_1, \text{sg}(z_2)) \frac{1}{2} D(p_2, \text{sg}(z_1))L21D(p1,sg(z2))21D(p2,sg(z1))其中$ D(p, z) -\frac{p}{|p|_2} \cdot \frac{z}{|z|_2}$即L2归一化后点积的相反数。sg()代表stop_gradient停止梯度。4.3 反向传播与“停止梯度”的精确定义重点澄清这里需要精确理解停止梯度操作作用在特征向量z上即z1.detach()和z2.detach()而不是作用于“预测器的梯度”。当计算第一项损失$ D(p_1, \text{sg}(z_2))$ 时z2的梯度被完全切断。梯度流路径为Loss→p1→Predictor→z1→Encoder更新权重。此时z2所在的编码器不接收任何梯度。但是由于两个分支的编码器是权重共享的分支1更新后的编码器权重会同步给分支2。因此虽然在当前半轮迭代中分支2没被更新但它通过共享机制间接获得了更新。这种“一方固定锚定、另一方更新”的机制在数学上等价于求解一个期望最大化EM问题隐式地防止了特征坍缩。5.预测器为什么不会“失效”并导致崩溃**如果预测器不发挥作用输出恒等映射或零向量两个分支岂不是很容易输出相同特征并导致崩溃SimSiam的设计恰恰堵死了这条路若预测器试图“偷懒”变恒等映射论文中的消融实验证实去掉预测器令其为恒等后模型立即崩溃。这说明正是可训练的非线性MLP打破了对称性迫使编码器不能走捷径。若预测器输出无效值零或噪声损失函数采用负余弦相似度要达到最小损失-1p和z的方向必须完全一致。零向量或随机噪声会导致损失极大反向传播的梯度会强制预测器学习正确的映射关系。停止梯度的“锚定效应”由于目标端z2被永久钉死无梯度所有优化压力都集中在带预测器的分支上。为了降低损失预测器必须拼命提取z1中的有效语义来猜测z2这反过来倒逼编码器f学习具有不变性的高质量表征。6. 三大主流方法防崩溃机制对比SimCLR vs BYOL vs SimSiam方法防止崩溃的核心手段所需资源通俗理解SimCLR对比学习负样本极大Batch Size如4096或内存银行“周围全是坏人”。不仅要拉近正样本对还要强行推开所有其他不同图片负样本。若坍缩成常数负样本损失会爆炸模型不敢坍缩。BYOL动量编码器Momentum Encoder较小的Batch Size如256“跟随慢动作的榜样”。目标网络教师不接收梯度而是由在线网络学生的权重做滑动平均动量系数0.996缓慢更新。目标不断漂移学生永远追不上从而保持特征多样性。SimSiam预测器 停止梯度极小的Batch Size如64甚至更低“左右手互搏但出拳时另一只手不许动”。无需负样本无需动量仅靠梯度截断强行让网络解决一个“交替猜测”的游戏打破对称性。7. 总结SimSiam的出现刷新了人们对自监督学习的认知简洁有效它证明“停止梯度”这一简单操作可能比复杂的负样本或动量机制更为本质。启示自监督学习的核心或许不在于“大量的负样本”或“复杂的教师网络”而在于如何巧妙地在网络结构中引入不对称性以打破平凡解崩溃解。局限性SimSiam虽然简洁但对模型容量和训练技巧如SGD优化器的选择、学习率调度仍较为敏感且主要设计用于CNN架构如ResNet。总而言之SimSiam通过“共享权重 预测器 停止梯度”的三位一体设计成功地让网络在无监督条件下实现了“左右互搏以猜促学”在无标签数据上挖掘出了极具泛化能力的视觉表征。