1991年沙河一中毕业证:变形卷积核,可分离卷积?卷积神经网络十大拍案惊艳。

摘要:

本文概述了卷积神经网络(CNN)的发展历程和一些创新性的工作,包括变形卷积核、可分离卷积等。文章讨论了CNN的十大拍案惊艳,并介绍了具有影响力的模型如AlexNet、VGG、GoogleNet、ResNet和Xception等。文章还探讨了卷积核的发展,包括大卷积核被小卷积核替代、单尺寸卷积核被多尺寸卷积核替代等趋势。同时,文章讨论了降低参数的方法,如使用depthwise卷积、分组卷积、channel shuffle、通道加权计算等。最后,文章探讨了卷积层连接的方法,如skip connection和dense connection,并提出了关于未来CNN发展方向的设想。本文旨在为读者提供一个关于CNN发展历程和创新点的概览,并激发更多关于CNN未来发展的思考和讨论。

变形卷积核,可分离卷积?卷积神经网络十大拍案惊艳。

CNN从2012年的AlexNet科学家们发明了各种各样的发展CNN模型,一个比一个深,一个比一个准确,一个比一个轻。我将简要盘点近年来一些变革性的工作,并从这些创新性的工作中讨论未来CNN变革方向。

1991年沙河一中毕业证:变形卷积核,可分离卷积?卷积神经网络十大拍案惊艳。

注:沙河一中毕业证1991年

由于水平有限,以下观点可能有偏差。我希望牛能纠正它。此外,我们只介绍具有代表性的模型。一些著名的模型将不会因为相同的原理而被介绍。如有遗漏,请指出。

Groupconvolution最早在分组卷积AlexNet由于当时硬件资源有限,训练AlexNet卷积操作不能全部放在同一个位置GPU处理,所以作者把featuremaps分给多个GPU分别处理,最后多个GPU整合结果。

分组卷积的思想影响深远,目前有一些轻量级SOTA(StateOfTheArt)为了节省计算量,网络采用了分组卷积的操作。但问题是,如果分组卷积是不同的GPU上,每一个GPU计算量减少到1/groups,但如果还是一样的话GPU最终整体计算量是否不变?pytorch希望读者能回答我关于组卷积操作的问题。

pytrochgithub

AlexNet一些非常大的卷积核,如11×11、5×5卷积核,以前人们的卷积核越大,receptivefield(感受野)越大,看到的图片信息越多,因此获得的特征越好。虽说如此,但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在VGG(最早使用),Inception使用两个网络3×3卷积核的组合比为15×5卷积核效果更好,参数量更大(3×3×2 1VS5×5×1 1)减少了,所以后来3×3卷积核广泛应用于各种模型。

传统的层叠网络基本上是一层一层的堆叠,每层只有一个尺寸的卷积核,比如VGG大量的结构使用3×3卷积层。事实上,同一层featuremap可分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,然后结合这些特征,通常比使用单卷积核更好,谷歌GoogleNet,或者说Inception该系列网络采用多卷积核结构:1991年沙河一中毕业证

最初版本的Inception结构

如上图所示,输入featuremap同时经过1×1、3×3、5×5卷积核的处理,结合得出的特点,得到更好的特征。但这种结构会有一个严重的问题:1991年沙河一中毕业证

参数比单卷积核多得多,如此庞大的计算量会使模型效率低下。这导致了一个新的结构:

发明GoogleNet该团队发现,如果只引入多个尺寸的卷积核,就会带来大量的额外参数NetworkInNetwork中1×1为了解决这个问题,他们经常受到卷积核的启发Inception添加了一些结构1×1如图所示:

加入1×1卷积核的Inception结构

假设输入根据上图进行比较计算featuremap维度为256维,输出维度为256维。有两种操作:

256维度输入直接通过一个维度输入3×3×256的卷积层,输出一个256维的featuremap,参数为:256×3×3×256=589,824256维输入先通过一个1×1×64卷积层,再经过一个卷积层3×3×64卷积层,最后经过一个1×1×256参数为:256×1×1×64 64×3×3×64 64×1×1×256=69,632。将第一次操作的参数量减少到九分之一!1×1卷积核也被认为是一种影响深远运行的大型网络,未来将应用于降低参数1×1卷积核。

ResNetskipconnection

传统的卷积层叠网会遇到问题。当层数加深时,网络的性能越来越差。很大程度上是因为当层数加深时,梯度消散得越来越严重,因此很难将反向传输训练到浅层网络。为了解决这个问题,何凯明大神想出了一个残余网络,使梯度更容易流入浅层网络,这种skipconnection可以带来更多的好处,这里可以参考一个PPT:,以及我的一篇文章:,你可以结合下面的评论来思考。

标准的卷积过程可以看上图,一个2×2卷积核同时考虑相应图像区域中的所有通道。问题是,为什么要同时考虑图像区域和通道?为什么我们不能单独考虑通道和空间区域?

Xception网络是基于上述问题发明的。首先,我们对每个通道进行自己的卷积操作,有多少通道和过滤器。获得新的通道featuremaps之后,这批新通道将在这个时候进行featuremaps进行标准的1×1跨通道卷积操作。这种操作被称为DepthWiseconvolution”,缩写“DW”。

这种操作非常有效imagenet1000分类任务已经超过了。InceptionV3假设输入通道数为3,要求输出通道数为256,两种做法:

1.直接接一个3×3×256参数为:3×3×3×256=6,912

2.DW操作,分两步完成,参数量为:3×3×3 3×1×1×256=795,将参数降低到九分之一!

因此,一个depthwise与标准卷积操作相比,该操作减少了大量的参数,并在论文中指出,该模型具有更好的分类效果。

EDIT:2017.08.25

在AlexNet的GroupConvolution其中,特征通道平均分为不同组,最后通过两个全连接层整合特征。这样,不同组之间的特征只能在最后时刻整合,这对模型的泛化非常不利。为了解决这个问题,ShuffleNet每次层叠这种Groupconv层前一次channelshuffle,shuffle通道分配到不同的组。进行完一次groupconv之后,再一次channelshuffle,然后分成下一层卷积进行循环。

来自ShuffleNet论文

经过channelshuffle之后,Groupconv考虑到更多的通道,输出的特征自然具有更高的代表性。AlexNet分组卷积实际上是标准卷积操作ShuffleNet里面的分组卷积操作是depthwise卷积结合了通道洗牌和分组depthwise卷积的ShuffleNet,超过少量参数和超过mobilenet、媲美AlexNet的准确率!

此外,值得一提的是,微软亚洲研究所MSRA最近也有类似的工作,他们提出了一个IGC单元(InterleavedGroupConvolution),即通用卷积神经网络交错组卷积,形式上类似于两组卷积,Xception模块可视为交错组卷积的特例,特别推荐阅读本文:

需要注意的是,Groupconv是一种channel分组,Depthwise Pointwise只是ShuffleNet两者应用在里面。Groupconv和Depthwise Pointwise不能划等号。

无论是在Inception、DenseNet或者ShuffleNet其中,我们直接将所有通道的特征与权重相结合,不分权重。为什么我们认为所有通道的特征的作用是相等的?这是个好问题,所以,ImageNet2017冠军SEnet就出来了。

一组特征在上层输出,此时分为两条路线,第一条直接通过,第二条先通过Squeeze操作(GlobalAveragePooling),将每个通道的2维特征压缩成1维,以获得特征通道向量(每个数字代表相应通道的特征)。Excitation操作时,将该列特征通道向量输入两个全连接层sigmoid,建模出特征通道间的相关性,得到的输出其实就是每个通道对应的权重,把这些权重通过Scale乘法通道加权到原始特征(第一条路),从而完成特征通道的权重分配。作者可以详细解释这篇文章:

标准的3×3只能看到相应区域的卷积核3×3但是为了让卷积核看到更大的范围,dilatedconv使它成为可能。dilatedconv如图所示:

上图b卷积核的大小仍然可以理解3×3,但是每个卷积点之间间有一个空洞,即绿色7×7在该区域内,只有9个红点进行卷积处理,其余点的权重为0。这样,即使卷积核的大小保持不变,它看到的区域也会变大。详细解释可以看到这个答案:

传统的卷积核一般是长方形或正方形,但是MSRA卷积核的形状可以改变,变形的卷积核只能看到感兴趣的图像区域,从而更好地识别特征。

现在越来越多了CNN模型从巨型网络逐步演变为轻型网络,模型的准确性越来越高。现在工业追求的焦点不是提高准确性(因为它们已经很高了),而是关注速度和准确性tradeoff,都希望模型快速准确。所以从原来开始AlexNet、VGGnet,小一点的Inception、Resnet到目前为止,该系列可以移植到移动终端mobilenet、ShuffleNet(体积可以降低到0.5mb!),我们可以看到一些趋势:

大卷积核用多个小卷积核代替;单尺寸卷积核用多尺寸卷积核代替;可变形卷积核倾向于固定形状卷积核;使用1×1卷积核(bottleneck结构)。卷积层通道:

标准卷积用depthwise更换卷积;使用分组卷积;分组卷积前使用;channelshuffle;通道加权计算。卷积层连接:

使用skipconnection,使模型更深;denselyconnection,每一层都与其他层的特征输出相结合(DenseNet)启发

与通道加权操作相比,卷积层跨层连接也能加权吗?bottleneck Groupconv channelshuffle depthwise组合会成为未来降低参数的标准配置吗?

如果您有更多的想法或意见,请评论并留言。idea值得交流传播。

推荐我的Live,在本次Live您将对计算机硬件对数据传输效率的影响因素有更深入的了解,并学习提高软件层面算法效率的技能。

本文已收录在我的个人网站上,欢迎浏览收藏:

毕业证样本网创作《1991年沙河一中毕业证:变形卷积核,可分离卷积?卷积神经网络十大拍案惊艳。》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/195352.html

(0)
上一篇 2022年5月4日 下午1:23
下一篇 2022年5月4日 下午1:24

相关推荐

  • 1991年沙河一中毕业证:变形卷积核,可分离卷积?卷积神经网络十大拍案惊艳。

    摘要:

    本文概述了卷积神经网络(CNN)的发展历程和一些创新性的工作,包括变形卷积核、可分离卷积等。文章讨论了CNN的十大拍案惊艳,并介绍了具有影响力的模型如AlexNet、VGG、GoogleNet、ResNet和Xception等。文章还探讨了卷积核的发展,包括大卷积核被小卷积核替代、单尺寸卷积核被多尺寸卷积核替代等趋势。同时,文章讨论了降低参数的方法,如使用depthwise卷积、分组卷积、channel shuffle、通道加权计算等。最后,文章探讨了卷积层连接的方法,如skip connection和dense connection,并提出了关于未来CNN发展方向的设想。本文旨在为读者提供一个关于CNN发展历程和创新点的概览,并激发更多关于CNN未来发展的思考和讨论。

    2022年5月4日 下午1:23
    310
微信
微信
返回顶部