首先,需要知道一些事实
1、计算机软硬件不擅长计算非对称稀疏矩阵,相对的,擅长计算密集矩阵。
2、Hebbian准则: fire together, wire together. 解释:如果两个神经元常常同时产生动作电位,或者说同时激动(fire),这两个神经元之间的连接就会变强,反之则变弱。
GooLeNet 要解决的问题:网络可以通过增加深度和宽度提升性能,但同时参数也越来越庞大,过多的参数会导致网络过拟合。
那么怎么减少参数量呢?GooLeNet 作者认为稀疏连接才是根本方法,并且最优的网络结构应该是稀疏连接的。全连接完全没有必要,之前Alexnet引入全连接也是为了计算机计算方便,因为全连接是对称的,计算机容易算。因为根据Hebbian准则,如果两个神经元不是常常同时被激活,那么两者之间的连接就变得没有什么存在的意义。另一个事实:生物神经系统也是稀疏连接的。
那么怎么做到稀疏连接呢?可以直接连吗?当然在理论上是可以的,但是我们回到事实1,计算机表示对不起,这个活我做不了。所以GooLeNet作者想出了一个办法用不同的子密集矩阵来近似稀疏连接矩阵。
1、卷积 <=> 稀疏连接 (<=>表示等价符号),那么:
2、不同大小的卷积核 <=> 不同的稀疏连接方式
3、不同大小卷积核的组合 <=> 近似随机的稀疏连接
我们通过将不同大小卷积核组合在一起来近似随机的稀疏连接,想一想卷积核是密集矩阵吧,好,到这里,我们实现了用不同的子密集矩阵来近似稀疏连接矩阵。
这个时候计算机大叫一声:放开那个矩阵,让我来!
最后,贴一贴论文的图吧:
直观的讲:网络需要什么样的特征,那你就自己选吧,备选池里有上图的这几种,这样就避免了人工的选择卷积核。
这个时候网络说:我可以多选吗?答:当然可以,这样子多种卷积组合形成不同尺度上的特征融合,效果肯定更好。
回到最初的动机,多种卷积的组合意味着更加逼近理想中的稀疏连接!
加入1x1的卷积主要是为了减少参数量。关于这个,其他很多blog有写,这里就不废话了。
最后的最后,一切都是博主的yy,不登大雅之堂。