论文名称《Going Deeper with Convolution》
论文链接:https://arxiv.org/abs/1409.4842
在2014年ILSVRC比赛上,GoogleNet 用了仅仅是AlexNet的12%的参数量,却拿到了分类top-5的第一名。在之前的深度学习网络的设计中,会存在两个重要缺陷:
1) 更深更宽的网络模型会产生巨量参数
2) 网络规模的加大会极大的增加计算量
解决这个两个缺陷的根本方法是将全连接甚至一般的卷积转换成稀疏连接。在现实中,生物的神经系统则是稀疏的,因此研究者认为大型神经网络的合理连接方式也应该是稀疏的。受生物学上的Hebbian定理的启发,《Provable Bounds for Learning Some Deep Representations》文章指出:如果数据集的概率分布可以被一个很大很稀疏的神经网络的神经网络所表达,那么构筑这个网络的最佳方法是逐层构筑网络:将上一层高度相关的结点聚类,并将聚类出来的每一个小簇连接到一起。
然而文章指出:今天的计算架构在计算非均匀稀疏数据的时候效率很低。尽管使用稀疏矩阵,并且将算术操作降低100倍,但是在计算的时候可能并不能得到pay off。原因是目前的CPU和GPU所使用的底层计算库更偏向于密集矩阵的高性能计算。
这样就提出了一个问题:是否有一种方法,既能保持网络结构的稀疏性质,又能利用密集矩阵的高计算性能。在这个问题上,google提出了Inception结构。
那么在介绍GoogLeNet之前,我们将上述描述总结一下,也就是GooLeNet结构的主要思想是如何找出最优的局部稀疏结构并将其覆盖为近似的稠密组件。以我的理解是:就是通过计算dense矩阵来approach最优的稀疏结构。(说句题外话