Inception-v1
在这篇论文之前,卷积神经网络的性能高都是依赖于提高网络的深度和宽度,而这篇论文是从网络结构上入手,改变了网络结构
为什么提出Inception?
提高网络最简单粗暴的方法就是提高网络的深度和宽度,即增加隐层以及各层神经元数目。但这种简单粗暴的方法存在一些问题:
- 会导致更大的参数空间,更容易过拟合
- 需要更多的计算资源
- 网络越深,梯度容易消失,优化困难(这时还没有提出BN,网络优化极其困难)
基于此,我们的目标就是,提高网络计算资源的利用率,在计算率不变的情况下,提高网络的宽度和深度
作者认为,解决这种困难的方法就是,把全连接改成稀疏连接,卷积层也是稀疏连接,但是不对称稀疏数据数值计算效率低下,因为硬件全是针对密集矩阵优化的,所以,我们要找到卷积网络可以近似优化的最优局部稀疏结构,并且该结构下可以用现有的密度矩阵计算硬件实现,产生的结果就是Inception
Inception结构
首先看第一个结构,有四个通道,有1 * 1、3 * 3、5 * 5卷积核,该结构有几个特点:
- 使用这些大小卷积核,没有什么特殊含义,主要方便对齐,只要padding = 0、1、2,就可以得到相同大小的特征图,可以顺利concat
- 采用大小不同的卷积核,以为着感受野的大小不同,就可以得到不同尺度的特征
- 采用比较大的卷积核,即5 * 5,意味着有些相关性可能隔得比较远,用大的卷积核才能学到此特征
当时,这个结构有个缺点,5 * 5的卷积核的计算量太大。那么作者想到的第二个结构,用1 * 1的卷积核进行降维。
这个1 * 1的卷积核,它的作用就是:
- 降低维度,减少计算瓶颈
- 增加网络层数,提高网络的表达能力。