您当前的位置:首页 > IT编程 > 医学CAD
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:轻量级网络 MixNet 论文笔记

51自学网 2020-11-14 23:26:32
  医学CAD
这篇教程轻量级网络 MixNet 论文笔记写得很实用,希望能帮到您。

轻量级网络 MixNet 论文笔记

 

以下内容源自 MixNet: Mixed Depthwise Convolutional Kernels,若侵犯版权,请告知本人删帖。

此篇文章是论文 MixNet: Mixed Depthwise Convolutional Kernels 的阅读笔记。

原论文下载地址:

MixConv: Mixed Depthwise Convolutional Kernels
arxiv.org

摘要

深度卷积在现代高效卷积网络中越来越流行,但是其卷积核的尺寸经常被忽略。在此篇论文中,作者系统地研究了不同卷积核尺寸的影响,并且观测到将多个卷积核尺寸的优点结合起来可以达到更高的准确性和效率。基于这一观测结果,作者提出一个新的混合深度卷积(MDConv),该卷积很自然地将多个卷积核尺寸融合在一个单独的卷积中。作为普通深度卷积的一个简单替代,作者提出的MDConv在ImageNet分类和COCO目标检测问题上,提升了现有MobileNets的准确性和效率。

通过将MDConv集成到AutoML搜素空间,作者进一步开发了一系列新的模型,即MixNet,明显优于以前的模型,如MobileNetV2 (ImageNet top-1 accuracy +4.2%),ShuffleNetV2 (+3.5%),MnasNet (+1.3%),ProxylessNAS (+2.2%),以及FBNet (+2.0%)。特别地,作者提出的MixNet-L在典型的移动设置下,ImageNet的top-1准确度可以到最先进的78.9%。作者的代码地址如下。

https://github. com/tensorflow/tpu/tree/master/models/official/mnasnet/mixnet.github

引言

卷积神经网络已经广泛地应用于图像分类、检测、分割、以及许多其他应用。当前卷积神经网络的一个趋势是提高准确度和效率。在此趋势下,深度卷积在当前卷积网络中变得越来越流行,如MobileNets、ShuffleNets、NASNet、AmoebaNet、MnasNet、以及EfficientNet。与常规卷积不同,深度卷积核分别应用于每个单独的通道,因此可以通过因子 [公式] 来降低计算开销,因子 [公式] 是通道数目。设计具有深度卷积核的卷积网络时,卷积核尺寸是一个重要但经常被忽略的因素。尽管传统的做法是简单地使用 [公式] 卷积核,但是当前的研究结果表明,更大的卷积核尺寸,如 [公式][公式] 的卷积核可以潜在地提升模型准确性和效率。

在此篇论文中,作者重新审视了一个基础问题:更大的卷积核通常能够达到更高的准确性么?自从首次在AlexNet中观测到,每个卷积核负责获取一个局部的图像模式已经是总所周知的了,局部图像模式可以是早期阶段的边缘,或者是后期阶段的对象。大的卷积核倾向于捕获具有更多细节的高分辨率模式,其代价是需要更多的参数和计算,但是它们是否始终能提高准确性?为了回答这个问题,作者系统地研究了MobileNets上各个卷积核尺寸的影响。图1是研究结果。如预期的,较大的卷积核尺寸拥有更多的参数,明显地增加了模型大小;然而,模型的准确性先是从 [公式][公式] 递增,然后当卷积核尺寸大于 [公式] 时快速下降,这就表明了非常大的卷积核尺寸会潜在地降低准确性和效率。实际上,这个观察结果与ConvNets的第一直觉相符合:在卷积核尺寸与输入分辨率一致的极端情况下,一个ConvNet将变成一个全连接网络,即一个劣势网络。这个研究表明了单一卷积核尺寸的局限性:需要大卷积核获取高分辨率模式,小卷积核获取低分辨率模式,将二者结合来获取更好的模型准确性和效率。

图 1 各个卷积核尺寸对应的准确度
每个点表示一个MobileNet V1和V2的一个模型变体,模型的大小由点的大小表示。较大的卷积核会有更多的参数,但是当卷积核尺寸大于 [公式] 时,其准确性会下降。

基于该观察结果,作者提出了混合深度卷积(MDConv),将不同的卷积核尺寸融合到一个单独的卷积操作,使其可以易于获取具有多个分辨率的不同模式。图2是MDConv的结构,将通道分成了多个组,对每个通道组应用不同尺寸的卷积核。作者将其MDConv表示为普通深度卷积的一个简单替换,但是可以在ImageNet分类和COCO目标检测上显著地提高MobileNets的准确性和效率。

图 2 混合深度卷积(MDConv)
与对所有通道使用一个单独卷积核的普通深度卷积不同,MDConv对通道进行分组,并对每个组使用不同尺寸的卷积核。

为了进一步证明MDConv的有效性,作者利用神经结构搜索来构建一个名叫MixNets的新的系列模型。实验结果表明MixNet模型显著地优于所有已经提出的mobile ConvNets,如ShuffleNets,MnasNet,FBNet,和 ProxylessNAS。特别地,作者提出的中等大小的MixNet-M达到了同等的77.0%的ImageNet top-1准确性,并且比ResNet-152少了12倍参数、31倍FLOPS。

相关工作

Efficient ConvNets:近几年,在提升卷积效率上花费了大量精力,如从更有效的卷积操作、瓶颈层,到更有效的结构。特别地,深度卷积已经在所有mobile-size ConvNets中变得越来越流行,如MobileNets、ShuffleNets、MnasNet,以及其他网络。近期,EfficientNet通过广泛地使用深度卷积和点卷积,甚至可以达到最优的ImageNet准确性和十倍的效率。与常规卷积不同,深度卷积对每个通道分别执行卷积,因此减少了参数数目和计算开销。【m个卷积核,m个通道共用则参数为m*m个,若每个通道用一个卷积核,则参数为m个。】作者提出的MDConv概括了深度卷积的概念,可以认为是普通深度卷积的一个替换。

多尺度网络和特征:作者的想法和先前的多分支卷积网络有很多相似点,如Inceptions、Inception-ResNet、ResNeXt,和NASNet。通过在每层使用多分支结构,这些卷积网络能够在单独一层中使用不同的操作(如卷积、池化)。类似地,有很多先前工作将来自不同层的多尺度特征图结合在一起,如DenseNet、特征金字塔网络(feature pyramid network)。然而,与先前工作不同的是,大多数工作通过专注于改变神经网络的宏观架构来使用不同的卷积操作,作者的工作致力于设计一个单独深度卷积的替换物,达到在不改变网络结构的前提下,可以容易地利用不同尺寸的卷积核的目的。

神经结构搜索:目前,神经结构搜索通过自动化设计过程和学习更好的设计选择,已经比手工制作的模型达到更好的性能。由于作者的MDConv是一个具有许多可能设计选择的灵活操作,作者利用现有的结构搜索方法,通过将MDConv添加到搜索空间构建了一个新的MixNets系列。

MDConv

MDConv的主要想法是将多个尺寸的卷积核混合至一个单独的深度卷积操作,使该深度卷积操作易于从输入图像中获取不同类型的模式。在这一节,作者将讨论MDConv的特征图和设计选择。

MDConv-MDConv特征图

作者从普通的深度卷积开始讲解。 [公式] 定义了形状为 [公式] 的输入张量, [公式] 是空间高度, [公式] 是空间宽度, [公式] 是通道尺寸。 [公式] 定义了一个深度卷积核, [公式] 是卷积核尺寸, [公式] [公式] 是输入通道尺寸, [公式] 是通道乘数。简便起见,作者假设卷积核的宽和高都为 [公式] ,但是很容易将其推广至宽和高不一致的卷积核。输出张量 [公式] 具有相同的空间形状 [公式] ,乘以通道乘数后的输出通道尺寸是 [公式] ,每个输出特征图的值按如下方式计算:

[公式] ——(1)

与普通深度卷积不同,MDConv将通道进行分组,对每组都使用不同尺寸的卷积核【即一组通道会使用所有不同尺寸的卷积核,每组对应的各个尺寸的卷积核是不通用的,见公式(2)、(3)】,如图2所示。更具体的,输入张量被分为 [公式] 组虚拟张量 [公式] ,所有虚拟张量 [公式] 有同样的空间高度 [公式] 和宽度 [公式] ,其总通道数和原始输入张量的一致: [公式] 。类似的,作者将卷积核分为 [公式] 组虚拟卷积核 [公式] 。第 [公式] 组虚拟输入张量和卷积核,以及对应的虚拟输出计算方式如下:

[公式] ——(2)

最终输入张量是所有虚拟输出张量的拼接结果 [公式][公式] ——(3)

其中, [公式] 是最终的输出通道数。

图 3 Tensorflow 实现的MDConv样例

图3是一个python实现的基于Tensorflow的MDConv简单样例。在特定平台上,MDConv可以实现为一个单独操作,并通过组卷积优化。尽管如此,如图3所示,MDConv可以认为是普通深度卷积的一个简单替换。

MDConv-MDConv设计选择

MDConv是一个灵活的卷积操作,具有多个设计选择:

组大小 [公式]决定了用于一个单独输入张量的不同类型卷积核的个数。在 [公式] 的极端情况,MDConv等同于普通深度卷积。在作者的实验中,发现对于MobileNets, [公式] 一般是一个安全的选择,但是,借助于神经结构搜索,作者发现在1-5的组大小下,MDConv均可以提高模型的准确性和效率。

每个组的卷积核尺寸:理论上,每个组可以有任意尺寸的卷积核。但是,如果两个组有同样尺寸的卷积核,那等同于将两个组合并为一个单独的组,因此作者限制每个组必须拥有不同尺寸的卷积核。进一步,因为小尺寸的卷积核通常拥有更少的参数和FLOPS,作者限制卷积核尺寸通常从 [公式] 开始,每组单调增加2。换言之, [公式] 组的卷积核尺寸通常为 [公式] 。例如,一个4组的MDConv通常使用的卷积核尺寸为 [公式] 。在此限制下,每个组的卷积核尺寸相对于其组大小 [公式] 已经预定义好了,因而简化了设计过程。

每个组的通道大小:在此篇论文中,作者主要考虑两种通道划分方法:(1) 等分:每组通道的数目一致;(2) 指数划分:第 [公式] 组通道数占总通道数的 [公式] 。例如,一个4组MDConv共有32个通道,等分将通道划分为 [公式] ,而指数划分将通道划分为 [公式]

扩张卷积:因为大的卷积核需要更多的参数和计算开销,一个替代方案是使用扩张卷积,该方案可以在不增加额外参数和计算开销的条件下增加感受野。然而,如消融研究小节所示,扩张卷积的精度通常低于大尺寸卷积核。

MDConv-MDConv在MobileNets上的性能

因为MDConv是普通深度卷积的一个简单替换,作者使用现有的MobileNets验证其在分类、检测任务上的性能。

ImageNet分类性能:图4给出了MDConv在ImageNet分类上的性能。基于MobileNet V1、V2,作者使用更大的卷积核或MDConv卷积核替换了所有原始的 [公式] 深度卷积核。值得注意的是,MDConv通常以 [公式] 卷积核起始,然后每组单调增加2,因此图4中MDConv最右边的点有6组卷积核,尺寸为 [公式] 。这图4中可以观察到:(1) MDConv 通常使用较少的参数和FLOPS,但是准确性相似或优于普通深度卷积,由此可以表明混合不同尺寸的卷积核可以提升效率和准确性;(2) 与普通深度卷积不同,MDConv的准确性随着卷积核尺寸增加而降低,如图1所示,MDConv对非常大的卷积核比较不敏感,由此表明混合不同尺寸卷积核可以比大尺寸卷积核获取更稳定的准确性。

图 4 MDConv在ImageNet上的性能
每个点表示一个模型,其对应的卷积核尺寸为 [公式][公式],如图1所示。相对于普通深度卷积,MDConv较小、较快、能达到较高准确性。

COCO检测性能:作者基于MobileNets验证了MDConv在COCO目标检测上的性能。表1给出了性能对比,作者提出的MDConv的效率和准确性始终比普通深度卷积好。特别地,与普通深度卷积 [公式] 相比,作者提出的MDConv357(三组卷积核 [公式] )在MobileNetV1上的mAP提高了0.6%,在MobileNetV2上的mAP提高了1.1%,二者都使用了较少的参数和FLOPS。

表 1 在COCO目标检测上的性能对比

消融研究

为了更好地理解MDConv,作者提供一些消融研究:

MDConv对单层的性能:除了将MDConv应用与整个网络,图5给出了MobileNetV2中每层的性能。作者将15个层中一层替换为(1) 卷积核为 [公式] 的普通深度卷积DepthwiseConv9x9;或(2) 卷积核为 [公式] 的MDConv3579。如图5所示,大尺寸卷积核对不同层有不同的影响:对多数层,准确性变化不大,但是对步长为2的层,较大的卷积核可以明显提升准确性。值得注意的是,尽管MDConv3579仅使用了普通深度卷积DepthwiseConv9x9一半的参数和FLOPS,作者提出的MDConv在多数层都有近似或较优的性能。

图 5 卷积核尺寸对每层的影响 - s2表示步长为2,其它的表示步长为1

通道划分方法:图6比较了两种通道划分方法:等分(MDConv)和指数划分(MDConv+exp)。如预期的,在相同的卷积核尺寸下,通过为较小的卷积核分配更多的通道,指数划分需要更少的参数和FLOPS。作者的实证研究表明了在MobileNetV1上,指数划分的性能仅略微优于等分,但是在同时考虑MobileNet V1、V2时,没有明确的较优者。指数划分的一个限制可能是大卷积核没有足够的通道来获取高分辨率模式。

扩张卷积:图6比较了扩张卷积(MDConv+dilated)的性能。对于卷积核 [公式] ,使用一个 [公式] 的卷积核和 [公式] 的扩张率实现扩张卷积:例如一个 [公式] 的卷积核将被 [公式] 的卷积核和扩张率4代替。值得注意的是,由于Tensorflow的扩张卷积和步长2不兼容,作者仅对步长为1的层使用了扩张卷积。如图6所示,扩张卷积对小卷积核有合理的性能, 但是在大卷积核上准确性快速降低。作者给出的假设是大卷积核的扩张率很大,扩张卷积将跳过很多局部信息,因此降低了准确性。

图 6 指数通道分割(+exp)和扩张卷积核(+dilated)的研究

MixNet

MixNet - 结构搜索

作者的神经结构搜索设置与当前的MnasNet、FBNet、ProxylessNAS相似,使用MobileNetV2作为基础网络结构,寻找最优的卷积核尺寸、扩张率、通道数,以及其他设计选择。然而,与使用普通深度卷积作为基础卷积操作的已有工作不同,作者使用其提出的MDConv作为搜索选项。特别地,作者有五个MDConv候选项,组大小为 [公式]

  • [公式] :使用一组 [公式] 卷积核的MDConv,对应的通道组大小为1( [公式] )。
  • ...
  • [公式] :使用五组 [公式] 卷积核的MDConv,对应的通道组大小为1( [公式] )。每个组的通道数大致相同。

为了简化搜索过程,作者的搜索空间中不包含指数通道划分或扩张卷积,但是在将来的工作中集成它们是很简单的。

与目前的神经结构搜索方法相似,作者直接在ImageNet训练集上搜索,然后从搜索结果中选一些表现最佳的模型在ImageNet验证集和迁移学习数据集上验证其准确性。

MixNet - MixNet在ImageNet上的性能

表2给出了MixNets在ImageNet上的性能。作者从神经结构搜索中得到了MixNet-S和MixNet-M,并通过深度乘数1.3将MixNet-M放大,获得MixNet-L。所有模型使用与MnasNet一样的设置来训练。

一般来说,MixNets明显优于所有最新的mobile ConvNet:与最新的人工设计模型相比,在相同的FLOPS限制下,MixNets比MobileNetV2提升了4.2%的top-1准确性,比ShuffleNetV2提升了3.5%的准确性;与最新的自动化模型相比,MixNets在相似的FLOPS限制下,其性能比MnasNet提升了1.3%,比FBNets提升了2.0%,比ProxylessNAS提升了2.2%。特别地,MixNet-L在典型的mobile FLOPS(<600M)限制下,达到了一个新的最先进的78.9%的top-1准确性。与广泛应用的ResNets相比,MixNet-M达到了相同的77% top-1准确性,但是比ResNet-152少了12倍的参数和31倍的FLOPS。

表 2 MixNet在ImageNet 2012上的性能

图7可视化了ImageNet的性能对比。作者观察到当前的神经结构搜索进展比以前的人工设计的mobile ConvNets的性能有了明显提高。然而,通过引入一个新的efficient MDConv,基于同样的神经结构搜索技术,作者进一步提升了模型的准确性和效率。

图 7 ImageNet 性能对比

MixNet - MixNet 结构

为了明白为什么MixNet能达到更高的准确性和效率,图8给出了表2中MixNet-S和MixNet-M的网络结构。一般来说,在整个网络中,它们都使用了具有不同卷积核尺寸的多个MDConv:通常在早期阶段使用小卷积核来减少计算开销,在后期阶段使用大卷积核来获取更高的准确性。作者同时还发现更大的MixNet-M倾向于使用更大的卷积核和更多的层来取得更高的准确性,很自然,这将需要更多的参数和FLOPS。普通的深度卷积使用较大的卷积核小会导致严重的准确性下降(图1),而作者提出的MixNets能够利用大的卷积核,如 [公式][公式] ,从输入图像中获取高分辨率的模式,而不对模型的准确性和效率造成影响。

图 8 MixNet 结构 - 表2中提到的 MixNet-S 和 MixNet-M。
主要突出了MDConv卷积核尺寸(如 [公式] )和输入输出张量形状。

MixNet - 迁移学习性能

作者在四个广泛使用的迁移学习数据集上验证了MixNets,包括CIFAR-10/100、Oxford-IIIT Pets、Food-101。表3给出了上述数据集的统计值:训练集大小、测试集大小、类的数目。

表 3 迁移学习数据集

图9对MixNet-S/M和从前的一些模型在迁移学习数据集上的准确性和FLOPS进行了对比,作者首先在ImageNet上进行训练,然后采用与[1]相似的设置在目标数据集上调整所有权重。MobileNets、Inception、ResNet、DenseNet的准确性和FLOPS数据均来自[1]。一般来说,MixNets在这些数据集上明显地优于先前的模型,尤其是广泛应用的CIFAR-10和CIFAR-100,这表明MixNets同样可以很好地进行迁移学习。特别地,MixNet-M使用3.49M参数和352M FLOPS达到了97.92%的准确性,与ResNet-50相比,提高了11.4倍效率,提升了1%的准确性。

图 9 迁移学习性能 - 表2中提到的MixNet-S/M

总结

在本片论文中,作者重新审视了卷积核尺寸对深度卷积的影响,并确定了传统深度卷积受单个卷积核尺寸影响。为了说明这个问题,作者提出了MDConv,其混合多个卷积核至一个单独的操作中,以此来利用不同卷积核尺寸的优势。作者阐明其提出的MDConv是普通深度卷积的一个简单替换,并且提升了MobileNets在图像分类和目标检测任务中的准确性和效率。基于作者提出的MDConv,作者使用神经结构搜索技术进一步构建了一系列新的MixNets。实验结果表明,MixNets在ImageNet分类和四个常用的迁移学习数据集上,与所有最新的mobile ConvNets相比,显著地提高了准确性和效率。

参考


基于初始残差循环神经网络的乳腺癌组织病理学图像的分类
深度学习入门之对图像进行简单分类(cifar10数据集)理解卷积计算
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1