GoogleNet : Going Deeper with Convolutions
Googlenet 的出现,跟之前的network structure 进行比较,在提高网络的深度和广度的同时,保持计算量的不变。
GoogleNet 是一个22 有参数的layer,一共27 layers的深度网络。
Inception 结构的主要作用是如何将 sparse的Convolutional network可以被dense components近似或者说超越。
Navie version:
为了防止patch-alignment的问题,Inception采用 1x1,3x3 和 5x5的filters,此外pooling操作是ConvNet的非常基础的operator,所以在inception中添加了3x3的max pooling layer。
Dimensionality Reduction Version
降维是因为基于embedding的作用,来自被证明的认识:低维度的embedding可以像一个大的image patch (filter) 那样包含很多的信息。
整个network structure 是:
Rethinking the Inception Architecture for Computer Vision
Some Design Principles about CNN
1, Avoid representational bottlenecks
2, Higher dimensional representations are easier to process locally within a network
3, Spatial aggregation can be done over lower dimensional embeddings without much or any loss in representational power.
4, Balance the width and depth of the network.
对于大的filter,可以采用多个小的filter代替,起到 factorization convolutions的作用。
Spatial Factorization into Asymmetric Convolutions
承接上面的话题,是否可以将conv的filter做的更小,能否采用2X2的filter,然后实验证明:使用非对称的filter,可以取得更好的效果。
实验发现,这种非对称的filter放置在 early layer的效果并不好,放置于 medium filter会取得很好的效果。
Auxiliary Classifier的作用:
Auxiliary Classifier 可以保证更稳定的learning和更好的收敛。Near the end of training, the network with the auxiliary branches 可以帮助更好的学习。
Inception module:
Model Regularization via Label Smoothing
最后一层的softmax layer,loss公式的目的是让 target值越大而非target值越小。
如果不对target值进行限制,让其无限大,而非target值无限小的话,容易导致两个问题:一个是overfitting问题,如果model对每一个样本都充分学习的话,会让model失去generalization能力,另一个是随着the differences between largest logit and all others to become large,梯度的导数会消弱model的adapt能力。
这种方法是: label-smoothing regularization (LSR)。