热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

90.94%准确率!谷歌刷新ImageNet新纪录!Modelsoups:提高模型的准确性和稳健性

点击下方卡片,关注“CVer”公众号AICV重磅干货,第一时间送达丰色发自凹非寺转载自:量子位(QbitAI)如何最大限度地提升模型精度?最近,谷歌等机构发现:性能不好

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

丰色 发自 凹非寺
转载自:量子位(QbitAI)

如何最大限度地提升模型精度

最近,谷歌等机构发现:

性能不好的微调模型先不要扔,求一下平均权重!

就能在不增加推理时间以及内存开销的情况下,提高模型的准确性和稳健性。

比如,研究人员就使用该方法创造了ImageNet1K的新纪录:90.94%。

a58e6dc1fb45ed914f0d2364085ce4fb.png

将它扩展到多个图像分类以及自然语言处理任务中,也能提高模型的分布外性能,并改善新下游任务的零样本性能。

63d94f4b99986f546a3a58bfd77df437.png

而这个方法还有一个有趣的名字,叫Module soup——

是不是让人一下子就让人联想到了斐波那契汤的笑话(昨天的汤+前天的汤=今天的新汤)

bdcb7230740dd7e3a6b910058766cc28.png

 知乎网友@hzwer,已授权

一共三种配方

回想一下在此之前,大家是如何给模型涨点的呢?

是不是先用各种超参数训练出多个微调模型,然后再挑出验证集上表现最好的那一个留下,其余丢掉

由于神经网络是非线性的,在不同的loss basin中可能有许多解,因此Module soup这一采用保留所有微调模型的权重,对其进行平均的方法就可以提高性能,还是让人有点惊讶的。

不过,最近就已有研究发现,从相同的初始化配置中中独立优化的微调模型,位于相同的误差范围内 (lie in the same basin of the error landscape)。

之前也有研究证明,沿单个训练轨迹进行权重平均,可以提高随机初始化训练模型的性能。

作者正是从这些结论中受到启发。

Module soup一共有三种“配方”(实现):统一汤(uniform soup)、贪婪汤(greedy soup)和学习汤(learned soup)。

其中greedy soup是最主要采用的实现,因为它的性能比直接均匀地平均所有权重更高。

具体来说,Greedy soup通过顺序添加每个模型作为“汤”中的潜在成分构建而成,并且只有在保持验证集上的性能有所提高时才将相应模型保留在“汤”中。

排序按验证集精度的降序排列。

d8a8b176ba4a78f3642284a59478f76b.png

性能超越单个最佳微调模型

作者进行了全面的微调实验来确定Module soup的有效性。

首先是微调CLIP和ALIGN,这两个模型在图像-文本对上进行了对比损失预训练。

结果经过module soup操作后,两者在分布内和自然分布转移(distribution shifts)测试集上的表现都比最佳的单个微调模型性能更佳。

7322441195951dcf418190ddd789f4f5.png

 左为CLIP,右为ALIGN

然后是在JFT数据集上预训练的ViT-G模型。

也就是它在ImageNet1K数据集实现了90.94%的精度,打破了此前CoAtNet保持的90.88%,同时在推理阶段还减少了25%的FLOPs。

c2d797d53308abf40b66cada7c4184d8.png

在图像分类任务以外,作者在NLP领域也对module soup进行了验证。

下表是BERT和T5模型在GLUE benchmark的四个文本分类任务上的结果:

d91be47d7a5a413a29316352f3a9d1d9.png

可以发现,虽然改进不如图像分类中的效果明显,但在多数任务下,greedy soup都可以相较最好的单个模型提高性能。

当然,作者也指出,module soup在适用性等方面存在局限,比如现在测试的都是在大型异构数据集上预先训练的模型,在这些模型之外,效果并不是非常明显。

最后,知乎网友@宫酱手艺人表示,其实这样的模型参数平均是一个经典trick,transformer原始论文就用了。

abcad7e115ba47c5f5c3215d41ce0c09.png

你发现了吗?

论文地址:
https://arxiv.org/abs/2203.0548

知乎@宫酱手艺人、@hzwer回答(已授权):https://www.zhihu.com/question/521497951

ICCV和CVPR 2021论文和代码下载 后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集 后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集 后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF CVer-Transformer交流群成立 扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。 一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群 ▲长按加小助手微信,进交流群 CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人! ▲扫码进群 ▲点击上方卡片,关注CVer公众号 整理不易,请点赞和在看


推荐阅读
author-avatar
巢i仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有