BYOL 教程:使用 Pytorch 中的代码对 CIFAR 图像进行自监督学习

实现和理解 byol,一种没有负样本的自监督计算机视觉方法。了解 BYOL 如何学习用于图像分类的稳健表示。

来源:AI夏令营

在介绍了对比自监督学习框架 SimCLR 之后,我决定演示另一种臭名昭著的方法,称为 BYOL。Bootstrap Your Own Latent (BYOL) 是一种用于图像表示自监督学习的新算法。BYOL 有两个主要优点:

SimCLR 对比 自监督学习
    它没有明确使用负样本。相反,它直接最小化不同增强视图(正对)下同一图像的表示的相似性。负样本是来自批次而不是正对的图像。因此,BYOL 据称需要较小的批次大小,这使其成为一个有吸引力的选择。
  • 它没有明确使用负样本。相反,它直接最小化不同增强视图(正对)下同一图像的表示的相似性。负样本是来自批次而不是正对的图像。
  • 它没有明确使用负样本。相反,它直接最小化不同增强视图(正对)下同一图像的表示的相似性。负样本是来自批次而不是正对的图像。

  • 因此,BYOL 据称需要较小的批次大小,这使其成为一个有吸引力的选择。
  • 因此,BYOL 据称需要较小的批次大小,这使其成为一个有吸引力的选择。

    BYOL

    下面,您可以检查该方法。与原始论文不同,我称在线网络为学生,称目标网络为老师。

    BYOL 方法概述。来源:BYOL 论文

    BYOL 方法概述。来源:BYOL 论文 BYOL 方法概述。来源:BYOL 论文

    在线网络又名学生:与 SimCLR 相比,有第二个 MLP,称为预测器,这使得整个方法不对称。与什么相比不对称?嗯,与教师模型(目标网络)相比。 ​​

    预测器

    为什么这很重要?

    梯度仅流经学生网络

    class EMA():

    class EMA ( ) :

    def __init__(self, alpha):

    def __init__ ( self , alpha ) :

    super().__init__()

    super (