本文主要是介绍CNN中各结构的闪光点(巧妙构思!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 前言
我们知道传统神经网络模型,是由经典的逻辑回归(可以解释为神经元)+其它的非线性的激活函数构成的。
引用多个逻辑回归(神经元)以及激活函数(例如:relu)的原因是——》添加非线性,可以有效的拟合数据(这里也是往往神经网络容易过拟合的原因)。
如果上面不理解的话,可以看这里!
理解完上面之后,我们来看看CNN中的一些闪观点!
2 CNN中各结构的闪光点(巧妙构思!)
2.1 卷积(主要是卷积核)
- 标准卷积结构
- 反卷积(使用在图像分割中)
- 空洞卷积(使用空洞——扩大感受野)
- 深度分离卷积(使用1*1的结构,极大减少了参数,使用模型可以训练的更快,有效嵌入!)
我主要讲下深度分离卷积,深度分离卷积主要分为Depthwise卷积,Pointwise卷积两部分。
- Depthwise卷积
Depthwise卷积不同于常规的操作,Depthwise convolution的一个卷积核只负责一个通道,即一个通道只被一个卷积核卷积。 - Pointwise卷积
Pointwise 卷积运算则是常规的运算,它的卷积核的尺寸为1x1xM,M为需要得到的最终feature map数量,所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的feature map,总共为M维度,操作方法就是concate,然后再用1x1的卷积形成1维的map(也可以用1x1先卷积,然后将不同feature map进行add)。
2.2 池化
平均池化,最大池化——》可以凸显有效特征的重要性,同时减少了参数
2.3 全连接
引用了大大的权重矩阵,以及非线性的激活函数结构,可以有效拟合数据
3 CNN中的1×1 卷积
作用(例如深度分离卷积中也是使用了这个结构)
- 实现跨通道的交互和信息整合
- 进行卷积核通道数的降维和升维
- 对于单通道feature map 用单核卷积即为乘以一个参数,而一般情况都是多核卷积多通道,实现多个feature map的线性组合
- 可以实现与全连接层等价的效果。如在faster-rcnn中用1x1xm的卷积核卷积n(如512)个特征图的每一个位置(像素点),其实对于每一个位置的1x1卷积本质上都是对该位置上n个通道组成的n维vector的全连接操作。
这篇关于CNN中各结构的闪光点(巧妙构思!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!