Facebook新模型SEER|图像预训练的内卷

前几天FAIR发了一个新的图像预训练模型 SEER,看完论文之后我不禁感叹,不仅我企图往多模态卷,Facebook自己也卷起来了。

为什么说卷呢?因为这篇文章的方法概括来说就是用更好的模型、更多的数据,有点NLP预训练内味儿了。

然后我翻了翻20年几个对比学习SOTA模型的作者,发现Facebook和谷歌各有两拨人在搞,比较激烈的主要是Kaiming和Hinton大佬,然后就是Mathilde Caron这位法国博士妹子和她的同事Priya Goyal(也是位女researcher)。看了下妹子的linkedin,毕业于巴黎综合理工学院,就是法国的Top1,太强了。

回归正题,还是介绍下这个模型的各种改进细节,已经忘了对比学习的同学可以复习这篇文章

论文题目:Self-supervised Pretraining of Visual Features in the Wild
下载地址:https://arxiv.org/pdf/2103.01988.pdf
代码地址:https://github.com/facebookresearch/vissl

训练数据

SEER首先提出了之前模型们的训练数据问题,他们都是在一百万左右的ImageNet上训练,而这些数据都是挑选过的,只能代表开放域中的一部分数据。于是作者就想:**在更大的开放域数据上训练是否能提升效果呢?**如果可行的话,那以后就在更更多的数据上pretrain,然后再迁移到下游任务就可以了。

于是作者收集了10亿的Instagram图片,甚至连去重都没做。

模型结构

整体的结构和SwAV一样,但既然增加了数据,还是得想办法把训练效率优化一下。

作者选用了凯明大神去年推出的RegNet,结合了神经网络搜索NAS的优点,在Imagenet上搜索出特定FLOPs下不错的结构。最后在参数比SimCLRv2少的情况下达到了更好的效果:

训练优化

这里又用了些工程技巧减少占用内存和提升速度。

  1. 减小内存占用,使用了梯度检查点、混合精度这两个策略(这里补课

  2. 提升训练速度,优化了SyncBatchNorm的实现。SyncBatchNorm是Apex框架提供的一个功能,因为在batch很小的时候一个卡上的统计量不准确,这时候就可以借助all-reduce架构(这里补课)把多卡的batch一起统计,提升准确性。而作者觉得每次要等全局同步太耗时,就创建了额外的进程去做,提升了整体吞吐。

优化后在512个V100上训练了8天。

实验结果

精调之后,在相同模型尺寸下,证明了在开放域数据上的预训练确实有效果

不过少样本的情况下还是差些:

但迁移能力确实很好,在Places205数据集上比ImageNet有监督预训练的模型好,说明无监督预训练让模型学到更多通用知识

总结

之前妹子的SwAV好像中了NIPS20,但这篇新文章惊喜不大,去年NLP领域不少论文已经把对比学习用在wiki等数据上了。另外消融实验只尝试了不同的模型尺寸,不清楚训练数据和RegNet分别带来了多大提升。

这次开了增加数据和模型尺寸的先河,我感觉一直致力于用Transformer统治一切的OpenAI马上就要入场了。。。

文末福利

各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。

这个是一份Python代码速查表

下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图

怎样获取呢?可以添加我们的AI派团队的Beyonce小姐姐

一定要备注【高清图】

????????????????????

➕我们的Beyonce小姐姐微信要记得备注【高清图】

来都来了,喜欢的话就请分享点赞在看三连再走吧~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值