汤晓鸥为CNN搓了一颗大力丸

简介: 香港中文大学-商汤联合实验室的潘新钢、罗平、汤晓鸥和商汤的石建萍,给出了一个新选项。他们设计了一种新的卷积架构,既能让CNN提升它在原本领域的能力,又能帮它更好地泛化到新领域。

大把时间、大把GPU喂进去,训练好了神经网络。

接下来,你可能会迎来伤心一刻:

同学,测试数据和训练数据,色调、亮度不太一样。

同学,你还要去搞定一个新的数据集。

是重新搭一个模型呢,还是拿来新数据重新调参,在这个已经训练好的模型上搞迁移学习呢?

香港中文大学-商汤联合实验室的潘新钢、罗平、汤晓鸥和商汤的石建萍,给出了一个新选项。

他们设计了一种新的卷积架构,既能让CNN提升它在原本领域的能力,又能帮它更好地泛化到新领域。

这个新架构叫做IBN-Net。

它在伯克利主办的WAD 2018 Challenge中获得了Drivable Area(可行驶区域)赛道的冠军。相关的论文Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net发表在即将召开的计算机视觉顶会ECCV 2018上。

image

给神经网络加个buff

IBN-Net并不是一个像ResNet那样独立的神经网络架构,它可以和其他深度学习模型结合起来使用,提升它们的性能,但不会增加计算成本。经典的DenseNet、ResNet、ResneXt、SENet等等,都能用它来助攻。

这就相当于给深度学习模型加了个buff,或者说,喂下了一颗大力丸。

image

同时,它还是迁移学习的替代品。

在一个数据集上训练好了模型,如果测试数据和训练集风格、颜色上有点不一样,或者换个数据集来测试,模型的性能就会大打折扣。

这时候,按套路就该迁移学习出场了,用新数据给训练好的模型调参。

数据集这么多,现实世界更是丰富多彩,一个一个地去重新搭模型或者调参数,要多少工程师才够用?

而IBN-Net就不需要新数据来调参,能自动让模型更好地适应新的领域。

不怕加滤镜,跨越次元壁

在图像识别和语义分割任务上,IBN-Net都能帮深度学习模型提分。

image

比如在ImageNet上,加了IBN-Net(的各种变体),就能在同样的参数设置,同样的计算成本下,让ResNet50的错误率下降0.5-1.5个百分点。

如果测试数据在原始ImageNet的基础上再做一些变化,调整一下颜色亮度对比度,甚至用Cycle-GAN改改风格,基本款ResNet50错误率就会大幅上升。而加了IBN-Net的版本,错误率就能少上升一些,如上图括号中的数据所示。

语义分割任务上也是一样。

image

IBN-Net加持的ResNet50,能在现实世界的城市街道图像数据集Cityscapes、虚拟世界的GTA5数据集上都取得比原版更好的成绩。

想让模型跨越虚拟与现实之间的次元壁,既能适应Cityscapes,也能用在GTA5上,IBN-Net也很擅长。

论文中说,将模型从Cityscapes迁移到GTA5,用IBN-Net能让迁移后的性能少下降8.5%;从GTA5迁移到Cityscapes,则能少下降7.5%。

这种跨越次元壁的迁移可大有用处。比如说在自动驾驶领域,用游戏来初步训练无人车是个常见的操作,可是把这样训练出来的算法搬到现实环境中,显然要经过大量调整。

让模型更快更好地适应不同环境的IBN-Net,简直就是效率提升利器。

“IBN”究竟是什么?

要理解这个IBN-Net的架构,要先从两种标准化方法IN(Instance Normalization,实例标准化)和BN(Batch Normalization,批标准化)。

它们都能让神经网络调参更简单,用上更高的学习速率,收敛更快。如果你搭过图像分类模型,batchnorm(BN)大概很熟悉了,而IN更多出现在风格迁移等任务上。与BN相比,IN有两个主要的特点:第一,它不是用训练批次来将图像特征标准化,而是用单个样本的统计信息;第二,IN能将同样的标准化步骤既用于训练,又用于推断。

潘新钢等发现,IN和BN的核心区别在于,IN学习到的是不随着颜色、风格、虚拟性/现实性等外观变化而改变的特征,而要保留与内容相关的信息,就要用到BN。

二者结合,就成了IBN-Net。

image


image

还可以根据需求,来调整IN和BN在模型中的搭配。

各种变体的具体情况,论文中有更清晰的描述。

论文:https://arxiv.org/pdf/1807.09441.pdf

(暂时还没有的)代码:https://github.com/XingangPan/IBN-Net

嗯……开源代码确实还没放出,但repo已经搭好了。

愿此repo早日填上~

原文发布时间为:2018-07-27
本文来自云栖社区合作伙伴“量子位”,了解相关信息可以关注“量子位”。

相关文章
|
存储 算法 数据库
一起聊聊图像质量和美学评估的数据集
图像质量和美学评估是计算机视觉领域中热点的研究问题,并且极具应用前景,可与众多实际应用深度结合。评价一张图片,主要从两个方向,一个是图像的质量,如像素、清晰度、有无噪声等,一个是图像的感觉,也就是美学,如构图、颜色、内容主体等。通过这两个方面就可以评价一张图片的好坏,通过计算机视觉算法,可以为图片自动评分,得分高的图片被认为较好,可以用于推荐和搜索等应用场景。本文主要聊聊一些关于图像质量和美学评估
14162 1
|
机器学习/深度学习 Kubernetes 网络协议
K8s单机架构部署
这是我做了很多遍,参考很多文章得到的,为了便于大家参考和学习,我已经把每一步都整理出来了,步骤和提示都很清晰。 后续文档有什么问题那个地方写错了,大家都可以提出来。
2060 1
K8s单机架构部署
|
1月前
|
SQL Java 测试技术
告别 CRUD 泥沼!DDD 领域驱动设计:从底层原理到生产级全链路落地实战
DDD是应对复杂业务的架构思想,核心是“领域优先、边界隔离”:通过战略设计(统一语言、限界上下文、上下文映射)划清业务边界;通过战术设计(实体/值对象、聚合根、领域服务等)落地高内聚、低耦合的代码。非银弹,适用于规则多、迭代快、协作难的场景。
799 1
|
数据采集 资源调度 监控
数字化转型的关键工具:甘特图的应用与优势
在数字化转型浪潮中,企业面临复杂的项目规划、资源分配不均、进度监控困难等挑战。甘特图作为一种经典项目管理工具,通过任务可视化、资源优化、实时监控和跨部门协作等功能,助力企业高效应对这些难题,推动智能化、数据化变革。本文深入探讨甘特图的应用价值及其在制造业、零售业和金融业的实际案例,帮助企业顺利完成数字化转型。
468 12
数字化转型的关键工具:甘特图的应用与优势
|
人工智能 安全 程序员
通义灵码发布繁星计划,面向校园开发者永久免费
通义灵码发布繁星计划,面向校园开发者永久免费
|
机器学习/深度学习 搜索推荐 数据挖掘
Pandas数据应用:广告效果评估
在数字化营销中,广告效果评估至关重要。Pandas作为Python的强大数据分析库,在处理广告数据时表现出色。本文介绍如何使用Pandas进行广告效果评估,涵盖数据读取、预览、缺失值处理、数据类型转换及常见报错解决方法,并通过代码案例详细解释。掌握这些技能,可为深入分析广告效果打下坚实基础。
286 17
|
Python API 监控
将Python CLI工具发布为pip模块的完整指南
注册PyPI账户 访问PyPI官网注册账户 推荐使用双因素认证增强安全性 生成API令牌 访问PyPI账户管理 生成具有"Upload packages"权限的令牌,妥善保存 确保模块名唯一性 在PyPI搜索页面验证模块名未被使用 建议使用小写字母和连字符的组合(如my-cli-tool)
335 9
|
算法 网络协议 物联网
有线通信网络技术及常用场景(一)
有线通信网络技术及常用场景(一)
853 1
|
消息中间件 存储 监控
AMQP 与其他消息协议的对比分析
【8月更文第28天】高级消息队列协议 (AMQP) 是一种开放标准的应用层协议,主要用于消息中间件。本文将对比分析 AMQP 与其他流行的协议如 MQTT 和 RMQ(通常指的是 RabbitMQ),探讨它们的特点以及适合的应用场景。
552 0
|
存储 缓存 Java
《优化接口设计的思路》系列:第四篇—接口的权限控制
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
404 0
《优化接口设计的思路》系列:第四篇—接口的权限控制