日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GAP(全局平均池化层)操作

發布時間:2023/12/1 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GAP(全局平均池化层)操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載的文章鏈接:
為什么使用全局平均池化層?
關于 global average pooling
https://blog.csdn.net/qq_23304241/article/details/80292859

在卷積神經網絡的初期,卷積層通過池化層(一般是 最大池化)后總是要一個或n個全連接層,最后在softmax分類。其特征就是全連接層的參數超多,使模型本身變得非常臃腫。
之后,有大牛在NIN(Network in Network)論文中提到了使用全局平局池化層代替全連接層的思路,以下是摘錄的一部分資料:

global average poolilng。既然全連接網絡可以使feature map的維度減少,進而輸入到softmax,但是又會造成過擬合,是不是可以用pooling來代替全連接。
答案是肯定的,Network in Network工作使用GAP來取代了最后的全連接層,直接實現了降維,更重要的是極大地減少了網絡的參數(CNN網絡中占比最大的參數其實后面的全連接層)。Global average pooling的結構如下圖所示:


由此就可以比較直觀地說明了。這兩者合二為一的過程我們可以探索到GAP的真正意義是:對整個網路在結構上做正則化防止過擬合。其直接剔除了全連接層中黑箱的特征,直接賦予了每個channel實際的內別意義。
實踐證明其效果還是比較可觀的,同時GAP可以實現任意圖像大小的輸入。但是值得我們注意的是,使用gap可能會造成收斂速度減慢。
但是,全局平均池化層比較全連接層,為什么會收斂速度變慢,它們對模型的訓練有什么差異呢?我沒有找到相關的文章的介紹。以下是發揮我自己的想象(很有可能是錯誤的)來理解的幾個點:
1.全連接層結構的模型,對于訓練學習的過程,可能壓力更多的在全連接層。就是說,卷積的特征學習的低級一些,沒有關系,全連接不斷學習調整參數,一樣能很好的分類。
此處是完全猜測,沒有道理。
2.全局平均池化層代替全連接層的模型,學習訓練的壓力全部前導到卷積層。卷積的特征學習相較來說要更為"高級"一些。(因此收斂速度變慢?)
為什么這么想呢?我的理解是,全局平均池化較全連接層,應該會淡化不同特征間的相對位置的組合關系(“全局”的概念即如此)。因此,卷積訓練出來的特征應該更加“高級”。
3. 以上的兩個觀點聯合起來,可以推導出,全局平均池化層代替全連接層雖然有好處,但是不利于遷移學習。因為參數較為“固化”在卷積的諸層網絡中。增加新的分類,那就意味著相當數量的卷積特征要做調整。而全連接層模型則可以更好的遷移學習,因為它的參數很大一部分調整在全連接層,遷移的時候卷積層可能也會調整,但是相對來講要小的多了。
這3點完全是我個人的理解,希望有大牛留言批評指正。

global average pooling 與 average pooling 的差別就在 “global” 這一個字眼上。global與 local 在字面上都是用來形容 pooling 窗口區域的。 local 是取 feature map 的一個子區域求平均值,然后滑動這個子區域; global 顯然就是對整個 feature map 求平均值了。
因此,global average pooling 的最后輸出結果仍然是 10 個 feature map,而不是一個,只不過每個feature map 只剩下一個像素罷了。這個像素就是求得的平均值。 官方 prototxt 文件 里寫了。網絡進行到最后一個average pooling 層的時候,feature map 就剩下了 10 個,每個大小是 8 * 8。順其自然地作者就把pooling 窗口設成了 8 個像素,意會為 global average pooling ??梢?#xff0c;global averagepooling 就是窗口放大到整個 feature map 的 average pooling 。

每個講到全局池化的都會說GAP就是把avg pooling的窗口大小設置成feature map的大小,這雖然是正確的,但這并不是GAP內涵的全部。GAP的意義是對整個網絡從結構上做正則化防止過擬合。既要參數少避免全連接帶來的過擬合風險,又要能達到全連接一樣的轉換功能,怎么做呢?直接從feature map的通道上下手,如果我們最終有1000類,那么最后一層卷積輸出的feature map就只有1000個channel,然后對這個feature map應用全局池化,輸出長度為1000的向量,這就相當于剔除了全連接層黑箱子操作的特征,直接賦予了每個channel實際的類別意義。

總結

以上是生活随笔為你收集整理的GAP(全局平均池化层)操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。