可扩展易配置,快来揭秘新一代自监督学习开源框架

MMSelfSup

MMSelfSup 是 OpenMMLab 生态的面向自监督学习的开源算法库,主要涵盖了计算机视觉的自监督学习。与监督学习不同,自监督学习无需人为的数据标注,能够有效利用海量的无标注数据来提升模型性能。

2020 年 6 月,OpenMMLab 联合社区发布了 OpenSelfSup,是业界的首个自监督学习算法库,集成了一系列主流的自监督学习算法。

2021 年 12 月,我们升级 OpenSelfSup 成为MMSelfSup,正式加入 OpenMMLab 开源体系,发布了 v0.5.0 版本。

2022 年 9 月,我们发布了MMSelfSup v1.0.0rc,全面升级了架构设计,适配全新的 OpenMMLab 2.0 体系。我们接下来将从升级架构设计,算法库新特性两个方面,对全新升级的 MMSelfSup 1.0 进行介绍。

升级架构设计

MMSelfSup 1.0 主要基于 MMEngine,MMCV 2.0.0rc0,和 MMClassification 1.0.0rc0 进行开发。我们对整个算法库的架构进行了全新设计,整体框架图如下所示。我们对算法库的代码结构进行了重构,新的架构包括了 Datasets、Engine、Structures、Visualization 等模块,同时我们也系统性地对 Benchmarks 进行了升级,支持了一系列下游任务。

在这里插入图片描述

算法库新特性

数据读取与使用

我们在 MMSelfSup 中,基于 MMEngine 引入了更强大的 Data Pipeline,它具有统一的数据结构,提高了可存储信息的丰富性,同时也易于扩展,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O91rdlsY-1666173910566)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bf92155a546b4ceda7ce0647a1c1ea8a~tplv-k3u1fbpfcp-zoom-1.image)]

同时,我们也新设计了 SelfSupDataSample,提供了统一的数据接口,方便在训练过程中进行各类信息的存储和传输(如标签,掩码,索引),如下图所示。

在这里插入图片描述

丰富的可视化工具

我们在 MMSelfSup 中也引入了丰富的可视化工具,可以针对性地对图片,特征,掩码等进行可视化,如下图所示:

在这里插入图片描述

我们也像 MMClassification 一样,支持多种可视化后端,如下图所示:

在这里插入图片描述

更灵活的下游任务支持

借助以 OpenMMLab 的全新架构,我们利用 MMEngine 的跨库调用机制,可以方便地进行跨库调用,方便用户在 MMSelfSup 中快速验证模型在下游任务中的效果。

相比旧版需要显式地复制下游任务中的配置文件,我们直接通过简单的跨库调用即可实现下游任务的支持,如下图所示:

在这里插入图片描述

同时,我们提供了一键进行训练测试的命令行工具,支持分布式版本与 SLURM 集群版本,如下图所示:

在这里插入图片描述

基于方便的跨库调用机制,我们也可以灵活地使用 MMClassification 中的基础模型。我们使用 库名::文件路径 即可实现跨库调用,如下图所示:

在这里插入图片描述

更全面的用户文档

在 MMSelfSup 中,我们更新了用户文档,结合 MMSelfSup 的项目特点,设计了基础文档和进阶文档,以期帮助用户更好地使用算法库,如下图所示:

在这里插入图片描述

更丰富的算法模型支持

在 MMSelfSup 2.0 中,我们全面升级了算法模型的支持,提高了算法库在掩码学习方法领域的能力,截止目前,我们在手工设计任务,基于聚类的任务,对比学习任务,掩码学习任务以及混合任务等方向上提供了完善的支持,如下图所示。

在这里插入图片描述

我们对于部分前沿模型提供了全量模型的支持,方便用户基于 MMSelfSup 快速地进行各个尺寸模型,各个训练时长的实验。例如对于 MAE,我们提供了 ViT-B/L/H 各个尺寸的支持,以及提供了 300/400/800/1600 不同 epoch 训练长度的实验结果,也同时支持了 Linear Probling 和 Fine-tuning,如下所示:

BackboneEpochLinear probFine-tuning
ViT-B30060.883.1
ViT-B40062.583.3
ViT-B80065.183.3
ViT-B160067.183.5
ViT-L40070.785.2
ViT-L80073.785.4
ViT-L160075.585.7
ViT-H-FT-2241600/86.9
ViT-H-FT-4481600/87.3

除此之外,我们也支持了 SimMIM 和 MoCo v3 的训练,如下:

SimMIM 实验结果

BackboneEpochFine-tuning
Swin-B-FT-19210082.7
Swin-B-FT-22410083.5
Swin-B-FT-22480083.8
Swin-L-FT-22480084.8

MoCo V3 实验结果

BackboneEpochLinear probFine-tuning
ResNet-5010069.4/
ResNet-5030072.8/
ResNet-5080074.4
ViT-S30073.6/
ViT-B30076.983
ViT-L300/83.7

小结

我们对 MMSelfSup 1.0 进行一个简单的总结,作为 OpenMMLab 2.0 的自监督学习算法库,目前我们已经在整个开源社区获得广泛使用。基于全新的架构和生态,我们可以轻松支持多个下游任务,具有可扩展易配置的特性。同时,我们也提供丰富的算法模型,方便的研究工具,以及便捷的模型推理。

在这里插入图片描述

后续规划

未来,我们也将不断地迭代更新,计划在未来支持更多自监督学习算法,不断提高模型的易用性,提供一键式的下游任务训练工具,以及提供统一的Benchmark标准。欢迎社区用户参与公测,并向我们提出宝贵的意见,我们将倾听大家的意见,不断迭代完善 MMSelfSup。

维护时间线

我们将在2023年1月1号正式发布 MMSelfSup 1.0 版本到主分支,对新版本感兴趣的同学,可以使用1.x分支来体验我们的全新版本。我们将在未来保持双分支的同时维护,主要的维护时间线如下所示:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值