1. 可以处理多分辨问题
2. 池化会导致空间信息的损失,但是在深度不必担心
3. 1x1的滤波器。 融合不同channel之间的信息。降维,为了减少Weight Filter的厚度, 水平扩展网络,减少计算量,并可以让网络无限变深。
4. 直接平铺的大深度网络因为有很多的参数而容易过拟合
5. 直接串联的卷积层,如果增加滤波器会计算量的平方增加。
6. 如果没有设计好网络结构,会导致参数都基本为0,导致计算浪费。
7. 一种好的解决方法使用稀疏连接,通过分析上一层的激活的相关统计将高度相关的神经员聚类在一起输出。文章:rovable bounds for learning some deep representations。
8. 然而,非均匀稀疏数据会产生一些额外的查表和miss缓存, 而不是dense computing. 因此有人通过将稀疏矩阵聚类到稠密子矩阵来提高计算效率。
9. 解决方法是通过一些稠密的组建来逼近一个复杂网络。
10. 前几层网络的相关单元通过滤波器聚集成一个单元,可以用1x1的卷积来覆盖。在文章Network in network中,提出对输入一个patch进行卷积到一个输出,从原来的线性变成一个小网络,这种小网络可以对局部做更好的抽象(local abstraction)。而这种小网络可以用1x1的卷积来等价。
11. inception的基本结构是由1x1, 3x3,5x5的卷积,和pool,通过1个聚集器聚集输出一个向量作为下层的输入。如下图
12. 越网高层,3x3和5x5的占比越多,用于高级抽象。
13. 然而这种inception结构导致输入的滤波器和输出的滤波器的个数相同,几层以后计算爆炸。
14. 通过降维和投影。用1x1的结构放在3x3和5x5之前来计算减少量。1x1的reducion避免上一层滤波器的数量,在用大滤波器前减少维数。如下图
15. 这种inception结构,可以hold相对较多的单元,并能增大结构的个数,而不必考虑计算爆炸的问题。
16. 首先在不同尺度下处理然后再汇总,使得下一层可以抽象不同的尺度的特征。
17. Inception的结构设计能平衡计算资源,相对相似表现的非inception的网络提速2-3倍。
18. googlenet有2个辅助的分类器。网络结构中间层特征应该有较强的区分度。两个辅助层的损失以0.3的权重加入到总损失中。