复杂CNN
高级CNN
普通的简单卷积神经网络都是简单的一层式结构,但是对于复杂处理来讲,我们更加偏向于高级CNN

以googlenet为例,网络中会有很多的分支,具体核心结构如下,我们可以看出它既使用了3 * 3 ,也使用了5 * 5 ,1 * 1
等多种网络结构,目的是在我不知道哪种结构最优的情况下,我都进行使用,这样让机器自己学习选择最快下降的结构

1 x 1 conv
这里发现它用了一个东西 1 x 1的卷积核,我们认知的卷积核是用来提取特征的,那么这个1 * 1的卷积核有什么作用呢?

卷积操作的末尾会进行加权求和,1 * 1卷积核的作用首先对原数据进行了一次加权求和处理也就是把rgb - >映射为灰度图像
原因:
如下图所示,我们把192 * 28 * 28的张量转换为32 * 28 * 28的张量时
- 第一种:
卷积前后大小都是28 * 28 所以一定会进行padding=2的操作,对于一张28 * 28 的图片来说,每一个元素都是由
卷积得来的,所以会进行5 * 5 次运算,一张图有28 * 28 个元素,有192张这样的图像,需要得到32张图像(32组卷积核,每组都是192个单个卷积方块,对应192个channel)
总共需要运算 5* 5 * 28 * 28 * 192 * 32次运算
- 第二种
同理得 第一步进行 1 * 1 * 28 * 28 * 192 * 16次运算,第二次进行 5 * 5 * 28 * 28 * 16 * 32次运算
1 * 1的卷积用小批量的运算压缩了channel的数量,大大降低了运算次数(十分之一),降低成本显著
个人理解:将192通道的原数据分为16种加权求和的方式 , 本质也是特征提取(压缩),再进行特征的放大,这样中间肯定会丢掉少量特征,但是大大降低了成本(类似一张图片先下采样再上采样复原,最后结果稍微会变的模糊)


浙公网安备 33010602011771号