轉載自:https://blog.csdn.net/losteng/article/details/51520555
據說用GAP代替FC可以減少參數數量,瞭解了一下什麼是GAP。
這個概念出自於 network in network
主要是用來解決全連接的問題,其主要是是將最後一層的特徵圖進行整張圖的一個均值池化,形成一個特徵點,將這些特徵點組成最後的特徵向量
進行softmax中進行計算。
舉個例子
假如,最後的一層的數據是10個6*6的特徵圖,global average pooling是將每一張特徵圖計算所有像素點的均值,輸出一個數據值,
這樣10 個特徵圖就會輸出10個數據點,將這些數據點組成一個1*10的向量的話,就成爲一個特徵向量,就可以送入到softmax的分類中計算了
上圖是從PPT中截取的對比全連接與全局均值池化的差異
原文中介紹這樣做主要是進行全連接的替換,減少參數的數量,這樣計算的話,global average pooling層是沒有數據參數的
這也與network in network 有關,其文章中提出了一種非線性的 類似卷積核的mlpconv的感知器的方法,計算圖像的分塊的值
可以得到空間的效果,這樣就取代了pooling的作用,但是會引入一些參數,但是爲了平衡,作者提出了使用global average pooling
下面是network in network 中的摘取
下圖是是一個基於MLP的局部計算,最後使用global average pooling 的network in network 的結構圖