1. GoogleNet由来
一般情况,增加网络性能的方法自然是增加宽度和深度,但是随着宽度和深度的增加,参数和计算量也增加,过拟合和梯度弥散的问题也来了。
根本的解决方法是将全连接层变为稀疏连接层。但对于大规模稀疏连接,同样存在计算效率不高的问题。
inception模块采用多种大小卷积并联,在增加宽度的同时增加网络对尺度的适应性。满足了网络的稀疏性同时保证了计算效率。
2. inception模块结构
3. GoogleNet使用的其他技巧
1. 训练的时候在不同深度处增加了两个loss来保证梯度回传消失的现象,推理的时候这两个loss被剔除,这解决了网络加深的问题。类似于Resnet的效果。
2. 使用非对称卷积。将nxn的卷积分解成1xn和nx1卷积的串联。
相互独立的特征越多,输入的信息就被分解的越彻底,分解的子特征间相关性低,子特征内部相关性高,把相关性强的聚集在了一起会更容易收敛。(相当于加强的网络的稀疏性)
4. 相关知识点
1. 稠密矩阵 稀疏矩阵
稠密矩阵:非0元素占所有元素比例较大的矩阵
稀疏矩阵:非0元素占所有元素比例较小的矩阵
2. Hebbin原理
生物神经科学中认为,两个神经元或者神经元系统,如果总是同时兴奋,就会形成一种‘组合’,其中一个神经元的兴奋会促进另一个的兴奋。
此原理应用在inception中就是把相关性强的特征聚合到一起,加快模型的收敛。