首页 > 编程知识 正文

深度卷积网络出现时间,深度学习中的filter就是卷积层吗

时间:2023-05-04 01:24:16 阅读:194822 作者:3471

一、标准卷积流程:

一次性完成,输入为, 过滤器为(个数为N),输出为

计算量为:

 

图1.1 卷积示意 图1.2 计算量

 

    二、深度可分离卷积(Depthwise Seperable Convolution)流程:

分两步完成,分别为Depthwise Conv 和 Pointwise Conv

1. Depthwise Conv:filtering stage

    输入为, 过滤器为(个数为M),输出为

    计算量为: 

图2.1 Depthwise Conv

 

 

2. Pointwise Conv:combination stage

               输入为, 过滤器为(个数为N),输出为

               计算量为:

图2.2 Pointwise Conv

 

 

总计算量为:

图2.3 计算量

 

    三、Depthwise Seperable Conv  和 Std.Conv 对比

1. 计算量对比

图3.1 计算量对比

 

 

2. Depthwise Seperable Conv 比Std.Conv 的参数、计算时间少;同时对同一个模型架构,精度略低一点;

3. Depthwise Seperable Conv 分两步完成卷积: Depthwise Conv 和 Pointwise Conv

    四、两个参数再次缩小模型

相对于基准模型,mobilenet可以提供两个参数:width multiplier 和 resolution multiplier。

1. width multiplier(宽度乘子):更薄的模型,按比例减少通道数,即深度,该参数记为  ,其取值范围为(0,1]。那么输入与输出通道数将变成 和,计算量变为:; 结果是参数量减少,计算量也减少。

2. resolution multiplier(分辨率乘子):分辨率更低的模型,按比例降低图的大小,记为 ;例如输入特征图是224x224,可以减少为192x192;计算量为:;结果是参数量不变,计算量减少。

 

 

五、Mobilenet

采用深度可分离卷积,主要目的是降低模型参数量和计算量。

1. MobilenetV1特点:

    (1)采用深度可分离卷积,并且可调宽度乘子和分辨率乘子

    (2)采用Batch Normalization

    (3)采用Relu6激活函数

 

2. MobilenetV1的问题:

    (1)没有利用残差块

    (2)Relu6激活函数的存在,导致效果不好

 

 

3. MobilenetV2特点:

   (1)增加Inverted residuals:通常的residuals block是先1*1的Conv layer,减少通道数下来,再3*3 Conv layer,最后经过一个1*1 的Conv layer,将通道数再“扩张”回去。即先“压缩”,最后“扩张”回去。

           而 inverted residuals就是 先“扩张”,最后“压缩”,Depth-wise convolution之前多了一个1*1的“扩张”层,目的是为了提升通道数,获得更多特征;

    (2)Linear bottlenecks:为了避免Relu对特征的破坏,在residual block的Eltwise sum之前的那个 1*1 Conv 不再采用Relu,而采用Linear,目的是防止Relu破坏特征。

 

(完)

 

参考:https://www.youtube.com/watch?v=T7o3xvJLuHk&t=639s

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。