channel-wise卷积--学习笔记

  1. 背景:

    1. 分组卷积的分组思想会导致channel间的信息阻隔,为了增加分组间的channel信息交流,一般需要添加一个融合层。

    2. 一般网络最后都使用全局池化和全连接层进行最后的分类,但参数量巨大,可转化为深度可分离卷积,使用固定权重的深度卷积代替全局池化,pointwise卷积代替全连接层。

    3. alexnet使用完全独立的组卷积,两个组之间没有信息交互

    4. mobilenet使用深度可分离卷积,使用1X1 point-wise 卷积全连接使各个通道交换信息。(1X1标准卷积是一种全连接结构,从m个特征到n个特征的映射,需要使用n个1X1*m的卷积核)

    5. shuffleNet虽然使用完全独立的组卷积,但每次组卷积之前都重新打乱各通道的顺序,实现通道间顺序的交互

  2. channel-wise卷积:

    1. 在channel维度上进行滑动,能够更好地保留channel间的信息交流

    2. 改变输入到输出的稠密连接方式:将输入输出的维度连接进行稀疏化而非全连接(每个输出仅与部分输入相连,以一定的stride去采样多个相关输入进行输出,能够减低参数量以及保证channel间一定程度的信息流),区别于分组卷积的严格分组。

    3. channel-wise卷积使用1个共享的1维卷积核(1个d_c维的卷积核),相当于对原始输入在通道维度上做采样。

    4. 一般网络最后是全局池化+全连接层,但是全连接层的参数量十分巨大,将全连接层修改为channel-wise convolution。全局池化相当于DfXDfX1的3D卷积,而channel-wise convolution相当于是1X1XDc的3D卷积,因此两者可以组合成DfXDfXDc的3D卷积,其中  ,是为了保证最后得到n个映射(stride=1 padding=0)。

    5. 核心:通过1维卷积,在channel维度上卷积(采样),实现了分组卷积各通道的稀疏通信,在channel维度上滑动采样,一个组的特征来自多个通道采样,一个通道可以被多个组采样,使得各组的通道信息充分相融

    6. channel-wise卷积可视化:channel-wise卷积--学习笔记_第1张图片

  3. 深度可分离卷积:

    1. 能够减少网络的计算量和参数量

    2.  全连接分类层的权重实际非常稀疏(很多是为0或接近0的值(论文ChannelNets: Compact and Efficient Convolutional Neural Networks via Channel-Wise Convolutions对全连接分类层进行了可视化)) 

  4. point-wise和channel-wise对比:channel-wise卷积--学习笔记_第2张图片

你可能感兴趣的:(deeplearning,深度学习,人工智能)