Global average pooling 的合理性在于,经过了一个多层的复杂的网络之后,每一个filter代表的都是high-level的信息,而不是low-level的像一些曲线或者纹理之类的信息。对于这种high-level的信息,对整个feature map做pooling相当于检测这个map中有没有这个filter要检测的concept,这个pooling的结果已经可以很好地用来做分类或者检测之类的工作,不需要fully connected之后再训练分类器。
总结起来,Network in Network 模型相当于一个更多层的cnn,通过多个1*1的卷积,将单个的卷积变得表示能力更强。再结合最后将fully connected替换为average pooling,使得模型的参数大大下降,也避免了overfitting的问题。一个层次更深,但或许参数更少的模型(因为fully connected的参数实在是太多了)