前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌大脑提出DropBlock卷积正则化方法,显著改进CNN精度

谷歌大脑提出DropBlock卷积正则化方法,显著改进CNN精度

作者头像
CV君
发布2019-12-27 14:31:36
7090
发布2019-12-27 14:31:36
举报

昨天arXiv新上一篇被NIPS2018会议接收的论文《DropBlock: A regularization method for convolutional networks》,作者为来自谷歌大脑的研究人员,提出了一种专门针对卷积层正则化的方法,方法非常简单,有效改进了CNN的各种任务,非常值得一读!

作者信息:

文中指出,在目前的神经网络训练的广泛实践中,全连接网络加DropOut是一种有效的正则化方法,但将DropOut加到卷积层却往往难以奏效。

为什么会这样呢?

作者认为这是因为卷积层的特征图中相邻位置元素在空间上共享语义信息,DropOut方法在整幅特征图随机丢弃元素,但与其相邻的元素依然可以保有该位置的语义信息。

为了更加有效丢弃局部语义信息,激励网络学到更加鲁棒有效的特征,应该按块(block)丢弃(drop),这就是DropBlock的由来。

请看下面示意图:

上图中绿色区域代表卷积层后的激活层特征图中带有语义信息的区域。

(b)为使用DropOut的示意图,即在整幅特征图中随机丢弃一些元素的结果,虽然绿色区域有元素被丢弃,但因为特征元素之间空间上的语义信息相关性,这种操作并不能有效激励网络学习剩下的区域的语义特征。

(c)图为DropBlock方法,语义信息区域被空间连续的丢弃,使得网络不得不专注于剩余含有语义信息区域中特征的学习。

算法思想

那如何按块(block)丢弃(drop)呢?

我想大部分人第一直觉是在特征图中随机生成种子点,在种子点周围按照一定的宽高将元素置0。

嗯,论文中就是这样做的(^ ^)

算法描述和示意图如下:

上图中绿框以内是按照block_size计算得来的可以生成种子点的区域(为了保证block不出特征图),红色X标出的元素即为种子点,黑色X标出的元素即为置0的区域。

其中有几个参数,论文中唯一的一个数学公式就是关于其中一个参数的计算。(唯一的公式看起来也不是特别得重要)

实验结果

为了验证该方法的有效性,作者在ImageNet图像分类、COCO目标检测、PASCAL VOC 2012语义分割等三个大型真实世界数据库上的不同任务中做了实验。

都有显著的性能提升。

ResNet-50网络+DropBlock在ImageNet验证集的结果,显著提升了分类精度。

下图是在state-of-the-art分类网络AmoebaNet上加DropBlock的结果,top1和top5都取得了稳健提升。

下图是使用RetinaNet检测网络加DropBlock在COCO目标检测任务上的结果,依然表现优异。

下图为RetinaNet语义分割网络从随机初始化开始加DropBlock,在VOC2012语义分割任务中的提升结果。

总结

该文想法非常有道理,方法也非常简单,实验结果很有说服力。也许会成为未来CNN的标配。

论文地址:

https://arxiv.org/abs/1810.12890v1

关于代码:

该文目前并无代码,但个人实现起来也不难,考虑到三位作者来自TensorFlow的大本营谷歌大脑,所以未来也许会直接加到TensorFlow中去。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档