SqueezeNext

SqueezeNext:Hardware-AwareNeuralNetworkDesign

这是squeezenet 的升级版,俗称squeezenet V2版本

在论文中作者指出SqueezeNext参数量是比VGG16少了112倍的参数但有与之匹配的准确率,而对于VGG19来说 可以实现4.4M参数即可实现相同的准确率,同时文章也与squeezeNet进行比较,发现其baseline模型是有2.59倍快,

block分析:

SqueezeNext_第1张图片

这是原文中的图,左边为Resnet block,而中间为squeezeNet block,最右边为SqueezeNext block,三个模型中的insight都是不同的

贡献:

​ 在原文中,论文给出了自己的4个贡献:

  1. ​ 通过两个1*1卷积作为squeeze module来进一步削减参数量,就是下面标红的区域

SqueezeNext_第2张图片

  • ​ 通过1x3卷积与3x1卷积进一步减少模型的参数量,并且移除了额外的1*1卷积。即相比于原来的squzzenet没有了分支结构

  • ​ 使用skip-connection and element-wise addition skip connection ,除此之外,文章还提到避免使用DenseNet连接因为其过大参数量的正常

  • ​ 我们对SqeezeNext的结构通过优化物理结构实现了多操作系统的使用

    2.SqueezeNext 设计

    因为观察到网络中的许多filters含有多余的参数,在这个意义上而言压缩他们不会损失准确性,based on this observation, 出现了许多用来压缩网络的尝试

    网络图

    SqueezeNext_第3张图片

    Low Rank Filters(解释为何将3*3卷积替换为1x3与3x1卷积更加高效)

    ​ 如果使用KxK卷积,假设输入通道数为Ci,输出通道数为Co,参数量将是kxkxCixCo,但是如果使用1×K and K×1卷积,将会从kxkxCixCo减少为2 * k* Ci * Co.

    Bottleneck Module

    ​ 不同于上一个设计,这个设计主要专注于两者的通道数,Ci与Co同时影响了参数量,于是减少输入通道数可以减少参数量,作者没有从深度可分离卷积入手,因为这个卷积在很多设备上不能很好的运行,于是作者沿用了SqueezeNet 的1 *1卷积,但是换成了two stage squeez elayer(两个压缩卷积)

    Fully Connected Layers

    ​ 即在最后一层使用了一个squzzenet进行压缩之后再介入全连接层,绿色模块为全局池化层,而介入了一个128维的1*1卷积进行压缩

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AF1Far8t-1611642732959)(C:\Users\90930\AppData\Roaming\Typora\typora-user-images\image-20210126141759825.png)]

    Hardware Performance Simulation

    ​ 这是关于硬件结构的描述,因为没有太多涉及,于是还没有详细看,这个部分可以看原文获得

    result

    SqueezeNext_第4张图片

    SqueezeNext_第5张图片

你可能感兴趣的:(深度学习,学习)