博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
阅读量:5288 次
发布时间:2019-06-14

本文共 1834 字,大约阅读时间需要 6 分钟。

论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks

介绍

在这篇论文中,作者同时使用低秩核和稀疏核(low-rank and sparse kernel)来组成一个密集kernel。基于ICGV2的基础上,作者提出了ICGV3。

近几年,卷积网络在计算机视觉上的有效性已经得到了验证。目前卷积网络的发展主要有两个方向:一是朝着更深的方向发展,在网络各层之间增加skip connection,使得训练更深的网络成为可能;二是简化卷积网络的结构,消除里面的冗余性,增加更多的有效计算,同时减小参数和总计算的数量。

简化网络结构的方法主要有:

采用低精确度的核 

该方法将卷积核内的权重值由浮点型数据,转变为采用更少bit位表示的数据类型,如采用二进制表示权重,使得权重值仅为-1或+1,这样在网络计算时,就减少了存储空间的使用。 
这里写图片描述 
采用稀疏或低秩核 
稀疏核主要是通过采用L1或L2正则化来增加核的稀疏性,稀疏核中只有通过将部分权重值设为0,从而减少计算量。 
这里写图片描述 
低秩卷积核主要是通过将一个大的卷积核分解成小的卷积核相乘的形式,如一个二维卷积核的大小为100*100,可以将其分解为100*10和10*100两个卷积核相乘的形式。 
这里写图片描述

 

Depthwise卷积与Pointwise卷积

版权声明:本文为博主原创文章,遵循版权协议,转载请附上原文出处链接和本声明。
本文链接:

Depthwise(DW)卷积与Pointwise(PW)卷积,合起来被称作Depthwise Separable Convolution(参见Google的),该结构和常规卷积操作类似,可用来提取特征,但相比于常规卷积操作,其参数量和运算成本较低。所以在一些轻量级网络中会碰到这种结构如。

常规卷积操作

对于一张5×5像素、三通道彩色输入图片(shape为5×5×3)。经过3×3卷积核的卷积层(假设输出通道数为4,则卷积核shape为3×3×3×4),最终输出4个Feature Map,如果有same padding则尺寸与输入层相同(5×5),如果没有则为尺寸变为3×3。

这里写图片描述

Depthwise Separable Convolution

Depthwise Separable Convolution是将一个完整的卷积运算分解为两步进行,即Depthwise Convolution与Pointwise Convolution。

Depthwise Convolution

不同于常规卷积操作,Depthwise Convolution的一个卷积核负责一个通道,一个通道只被一个卷积核卷积。上面所提到的常规卷积每个卷积核是同时操作输入图片的每个通道。

同样是对于一张5×5像素、三通道彩色输入图片(shape为5×5×3),Depthwise Convolution首先经过第一次卷积运算,不同于上面的常规卷积,DW完全是在二维平面内进行。卷积核的数量与上一层的通道数相同(通道和卷积核一一对应)。所以一个三通道的图像经过运算后生成了3个Feature map(如果有same padding则尺寸与输入层相同为5×5),如下图所示。
这里写图片描述
Depthwise Convolution完成后的Feature map数量与输入层的通道数相同,无法扩展Feature map。而且这种运算对输入层的每个通道独立进行卷积运算,没有有效的利用不同通道在相同空间位置上的feature信息。因此需要Pointwise Convolution来将这些Feature map进行组合生成新的Feature map。

Pointwise Convolution

Pointwise Convolution的运算与常规卷积运算非常相似,它的卷积核的尺寸为 1×1×M,M为上一层的通道数。所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个卷积核就有几个输出Feature map。如下图所示。

这里写图片描述

本文参考尹国冰的博客—

转载于:https://www.cnblogs.com/think90/p/11499134.html

你可能感兴趣的文章
cxdbImage以及图像显示
查看>>
36、UI contrast and settings
查看>>
HDU 2070 Fibbonacci Number
查看>>
骰子作业
查看>>
C++虚函数与纯虚函数用法与区别(转)
查看>>
jq中的substring(x)和substring(x,y) 字符截取用法
查看>>
BNUOJ-22868-Movie collection(树状数组)
查看>>
C# POST与Get数据
查看>>
扩展django的User的部分方法
查看>>
ISAP算法对 Dinic算法的改进
查看>>
池化层pooling
查看>>
Being a JSP: using JSP(Head First Servlets and JSP)
查看>>
Git学习
查看>>
菜根谭#224
查看>>
菜根谭#318
查看>>
10934 - Dropping water balloons(DP)
查看>>
Cocos2d-x 3.0final 终结者系列教程09-漆节点Node中间Schedule
查看>>
Snmp学习笔记
查看>>
TCP协议中的三次握手和四次挥手(图解)
查看>>
用户向导左右滑动页面实现之ImageSwitcher
查看>>