原地爆炸:torch.manual seed(3407) is all you need?

共 1683字,需浏览 4分钟

 ·

2021-09-23 08:52

点蓝色字关注“机器学习算法工程师

设为星标,干货直达!

近日,有位法国的小哥研究了(https://arxiv.org/abs/2109.08203)随机种子对模型训练效果的影响,最后发现不同的随机种子选择会带来较大的差异torch.manual seed(3407) is all you need: On the influence of random seeds in deep learning architectures for computer vision

这项研究主要研究三个问题:

  1. 设置不同随机种子下,模型效果的分布是什么样的?
  2. 是否存在黑天鹅:某些随机种子产生差异特别大的效果?
  3. 在大数据集上的预训练模型会不会减少随机中子带来的差异?
对于前两个问题,作者选择了9层的ResNet在CIFAR 10做实验,对于最后一个问题,作者选择了Supervised ResNet50,SSL ResNet50和SSL ViT在ImageNet上做实验。
首先是作者选择500个随机种子在CIFAR 10训练较长时间,从下图1可以看到,不同随机种子是存在差异的,而且训练epoch超过25后,模型基本收敛,但是这种差异依然存在,虽然差异在模型收敛前缩小了。从图2的分布图可以看到,分布呈现单峰分布,大部分acc在90.5%~91.0之间,但是0.5%的效果差异也不小了。


然后作者选择了10^4个随机中心在CIFAR 10训练(较短训练时间),此时模型效果最差是89.01%,最好是90.83%,差距达到了1.82%,这说明某些随机中心确实会带来比较好的结果。

最后作者在ImageNet上进行了实验,不过只用了50个随机种子,最差和最好的差距达到了0.5%,其实这是一个不小的性能差异。

那么作者对这三个问题给出结论:
  1. 不同随机种子下模型效果分布呈现单峰分布;

  2. 存在种子黑天鹅,某些种子效果要比明显更好;

  3. 大数据集上预训练模型虽然会减少随机种子带来的差异,但是不会消除它。


这项研究带来的一个问题,既然随机种子可能带来不小的效果差异,那么一些研究论文中报告的性能提升,会不会是这种随机造成的,这恐怕很难回答?


当然,这项研究存在一些缺陷,那就是受限训练资源,只做了比较少的实验,而且也没采用SOTA模型,以及一些更好的训练策略,这些会不会足以消除这种误差,还有待验证。



推荐阅读

CPVT:一个卷积就可以隐式编码位置信息

EMA在detectron2中的实现

SOTA模型Swin Transformer是如何炼成的!

谷歌AI用30亿数据训练了一个20亿参数Vision Transformer模型,在ImageNet上达到新的SOTA!

BatchNorm的避坑指南(上)

BatchNorm的避坑指南(下)

目标跟踪入门篇-相关滤波

SOTA模型Swin Transformer是如何炼成的!

MoCo V3:我并不是你想的那样!

Transformer在语义分割上的应用

"未来"的经典之作ViT:transformer is all you need!

PVT:可用于密集任务backbone的金字塔视觉transformer!

涨点神器FixRes:两次超越ImageNet数据集上的SOTA

Transformer为何能闯入CV界秒杀CNN?

不妨试试MoCo,来替换ImageNet上pretrain模型!


机器学习算法工程师


                                    一个用心的公众号

浏览 265
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报