加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

发布时间:2019-06-10 08:20:13 所属栏目:移动互联 来源:佚名
导读:卷积神经网络通常是再有限的资源下进行开发,然后在条件允许的情况下将其扩展到更大的计算资源上以获得更好的准确率。谷歌 AI 的科学家们在论文《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》中系统地研究了模型扩展的问
副标题[/!--empirenews.page--]

卷积神经网络通常是再有限的资源下进行开发,然后在条件允许的情况下将其扩展到更大的计算资源上以获得更好的准确率。谷歌 AI 的科学家们在论文《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》中系统地研究了模型扩展的问题,并提出了新的复合扩展法以及一个更高性能的 EfficientNet,EfficientNet 模型的相关代码和 TPU 训练数据也已经在 GitHub 上开源。该论文已被 ICML2019 接收,AI 前线对其进行了简单地梳理总结,本文是 AI 前线第 81 篇论文导读。

介绍

模型扩展被广泛地用于提高卷积网络的准确性。例如,ResNet 系列可以通过增加层数从 ResNet-18 扩展到 ResNet-200。谷歌的开源神经网络训练库 GPipe 通过对基线网络的四倍扩展可以在 ImageNet 数据库上达到 84.3% 的 top-1 精度。然而,虽然有很多途径对卷积网络进行扩展,却鲜有工作对其进行深入的理解。许多先前的工作都是针对神经网络三个维度——深度、宽度和图像大小中的一个因素进行调整。虽然对其中任意两个或三个因素进行调整看起来是可行的,但实际上这需要大量的人工调参来达到勉强说的过去的提升。对于 EfficientNet 的效果,我们先来看张图:

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

图中横坐标表示参数量,纵坐标表示 ImageNet 数据库上的 Top1 准确率。可以看出 EfficientNet 系列完胜了其他所有的卷积网络。其中,Efficient-B7 取得了新的最高准确率,达到了 84.4%。但是它的参数量相比 GPipe 减少了 8.4 倍,并且推理速度达到了 GPipe 的 6.1 倍。更加细节的数据可以参考后面的实验部分。

研究动机

这篇文章的作者对神经网路的扩展过程进行了研究与反思。特别的是,作者提出了一个思考:能否找到一个规范化的神经网络扩展方法可以同时提高网络的准确率和效率。要实现这点,一个很关键的步骤便是如何平衡宽度、深度和分辨率这三个维度。作者通过一些经验性的研究发现,可以使用一种固定比例的放缩操作简单地实现对三者的平衡。最终,作者提出了一种简单却有效的复合扩展方法(compound scaling method)。例如,对于一个标准的模型,如果想使用 2^N 倍的计算资源,作者认为只需要对网络宽度增加α^N,深度增加β^N,以及增加γ^N 倍的图像大小。其中α、β、γ是一组恒定系数,他们的值通过在原始的标准模型中使用小范围的网格搜索(grid search)得到。为了直观地说明本文提出的复合扩展方法与传统方法的区别,作者提供了下图作为参考:

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

其中,(a)是一个基线网络,(b)到(d)是三种不同的传统方法,分别对宽度、深度和图像分辨率进行了扩展,(e)是本文提出的复合扩展方法,使用固定比率同时对三个维度进行了扩展。直观地讲,复合扩展法是说得通的。因为对于更大的输入图像,网络需要更多的层来增加感受野,同时需要更多的通道来获取细粒度的信息。总的来说这篇论文的核心工作主要分为两个方面:

提出了一种复合扩展方法,这是首次尝试同时对卷积网络的三种维度进行扩展的方法。该方法可以有效地提升现有的网络结构在大规模计算资源上的训练效果。

设计了一种新的性能卓越的网络结构——EfficientNet。该网络不仅性能远超其他网络结构,网络参数还更少,推理速度更快。

复合模型扩展方法

这一部分将为大家详细介绍什幺是网络扩展问题,并对不同的方法进行了研究,从而引出我们的主角:复合扩展法。

问题建模

卷积网络的本质是一个映射函数,这个函数可以写为下面这个形式:

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

其中 Fi 表示第 i 层进行的运算,Xi 是输入的张量,我们假设这个张量的大小为:

<Hi,Wi,Ci>。为了方便推理,省去了张量的批大小信息。

通常,我们会使用多个叠加的子模块来组成完整的卷积网络。例如 ResNet 由 5 个子模块构成,也被称为五个阶段。除了第一个阶段进行了降采样外,每个阶段中的所有层的卷积操作都是一样的。因此,神经网络也可以被定义为下面这个形式(公式(1)):

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

其中, 表示的是层 Fi 在第 i 阶段被重复了 Li 次。<Hi,Wi,Ci> 表示的是第 i 层的输入张量 X 的形状。当一个输入的张量流经整个卷积网络,它的空间维度通常会缩减,并伴随着通道位数的增加,例如一个输入为 <224,224,3> 的张量经过一个特定的卷积网络后它的形状最终会变为 <7,7,512>。

对于一个神经网络,作者假定所有的层都必须通过相同的常数比例进行统一的扩展。因此,模型扩展问题的可以表示为(公式(2)):

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

其中 w,d,r 分别是扩展网络的宽度、深度和分辨率。

谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

是基线网络中预定义的网络参数。

单维度扩展

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读