团队模型、论文、博文、直播合集,点击此处浏览
论文链接: Unsupervised Visual Representation Learning by Online Constrained K-Means
代码链接:https://github.com/idstcv/CoKe
虽然基于instance的自监督学习方法在ImageNet上取得了成功,这些方法往往需要在同一个iteration中优化一个样本的double view,并要求大的batch size/memory bank(e.g., SimCLR, MoCo)或者额外的momentum encoder (e.g., BYOL, MoCo) 来辅助训练, 导致比较大的计算开销.而在有监督学习中,往往比较小的batch size和single view就可以进行有效的训练. 因此,我们设计基于聚类的自监督学习框架CoKe,参考有监督学习,以极简的框架进行高效的训练.同时,为了避免聚类自监督学习中常遇到的collapse问题,我们提出一个新的聚类size下限的限制并开发online算法进行相应的优化. CoKe的示意图如下,利用前一个epoch得到的pseudo label和cluster center,在每个iteration中我们可以利用样本的single view进行训练.
首先有监督情况下的representation learning可以认为是一个distance metric learning的问题. 给定triplet,优化目标函数为
其中x是样本的feature,c是不同类别proxy的feature. 在无监督学习中,缺少类别信息y,因此,相应的优化目标可以改写为
相比有监督学习,新增了一个变量u来表示cluster assignment. 当u固定时,可以发现这个目标就变为了有监督学习. 但是直接优化该目标会导致trivial solution,也就是所有样本collapse到一个类中.不同于现有的balanced assignment约束 (e.g., SwAV), 我们考虑只约束每个cluster的下限,以更好的匹配数据分布. 新的约束可以写为
现在我们来讨论优化提出的目标函数.首先,如果固定c和u,那子问题就是一个标准的有监督学习问题. 考虑到triplet约束和cross entropy的关系 (见 SoftTriple ICCV’19),该问题可以用标准的cross entropy loss优化.
其中聚类中心c和one-hot标签y来自上一个epoch. 当考虑double-view优化时,当前模型产出的soft label也可以加入优化,具体可见论文.
如果固定x,优化c和u可以写为一个标准的带约束的k-means问题
K-means问题也可以迭代求解. 如果固定cluster assignment,聚类中心可以有closed-form solution
如果固定c,每个mini-batch的assignment问题为
通过为每个cluster的constraint提供一个dual variable rho,assignment的更新为
所有rho也会在每个mini-batch后进行相应的更新.
至此,目标函数的每组变量都可以在SGD的框架下进行优化.
CoKe展示了一个没有memory bank,momentum encoder等复杂结构的自监督学习框架,并可以利用小batch size, i.e., 1024,在单机8卡v100服务器上进行训练. 下面我们展示CoKe在不同任务上的效果.
首先,我们在标准的ImageNet linear probing任务上比较single/double/multi-view的CoKe的性能. 可以发现每个iteration只利用每个样本single view的CoKe已经取得了超过72%的Acc. 当配置为double/multi-view时,单机训练的CoKe都可以取得对应SoTA的结果.
CoKe也可以被看作一个single-stage的深度聚类算法,因为我们在CIFAR-10/100上比较了聚类的结果.相比two-stage的SCAN,CoKe也取得了明显的提升. 目前CoKe已开源,期待CoKe在更多不同任务上的表现.
另外给大家介绍下CV域上的开源免费模型,欢迎大家体验、下载(大部分手机端即可体验):
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet50_face-detection_retinaface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_tinymog/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_ulfd/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_mtcnn/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-liveness_flir/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-liveness_flrgb/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_facial-landmark-confidence_flcm/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_vgg19_facial-expression-recognition_fer/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface/summary