請問CNN 中的 maxpool 到底是什麼原理,為什麼要取最大值,取最大值的原理是什麼?謝謝。

時間 2021-05-05 14:16:26

1樓:阿力阿哩哩

之前寫過一篇文章,正好回答一波。

阿力阿哩哩:一文掌握CNN卷積神經網路一般來說,卷積層後面都會加乙個池化層,這時候大家又可以往上看看圖 4.9的CNN網路結構了,並且可以將它理解為對卷積層進一步特徵抽樣,池化層主要分為兩種,這時候筆者認為前面說了這麼多,現在給大家上一張圖,大家應該就明白池化層是何用處。

池化層運算如圖 4.14所示。

圖 4.14 Pooling運算示意圖

是的,max就是將對應方塊中最大值一一對映到最大池化層(max pooling layer),mean就是將對應方塊的平均值一一對映到平均池化層(mean pooling layer)。

2樓:天雨粟

maxpool的目的在於關注每個patch裡面的重要資訊,同時減少資料量,對於計算來說是非常有效的。同時也在一定程度上避免整個模型過擬合。

3樓:Cheng Rong

既然是人工智慧,一定要加入一些人的思想,去掉就叫機器智慧型。沒有它其實不影響結果的。降噪和降維都不是它的主要目的。主要是讓初者看不懂。

maxpool 這種操作機器是學不出來的,這讓我們反思現在的網路結構是否合理,反之如果有人說能學出來,也證明這個是人為的設定,沒有必要性。

減少人為設定不是我們採用深度學習的初衷嗎,這個其實可以沒有的。

4樓:劉俊是

5樓:doddle

其實這和卷積操作有關,卷積核本質上可以看做是乙個濾波器,或者說是乙個小二分類神經網路用來判斷是否是某乙個特徵的概率。因為每個卷積核只對乙個特徵敏感,過濾出來的map只是表示乙個特徵的概率分布狀況,所以取相鄰區域的最大值並不會對其他特徵的資訊構成影響,即使是本卷積核的特徵損失也是微乎其微的

6樓:

個人理解,MaxPooling有以下幾點作用:1. 減少運算量;2.

乙個卷積核可以認為是一種特徵提取器,遇到符合的特徵會得到較大的值,通過取max可以避免其他不相關特徵的干擾; 3. 同樣的特徵,會存在強弱、位置等方面的差異,但都是相同的特徵,通過取max可以避免位置帶來的干擾。

7樓:wangyang

pooling的初衷是平移(位置)不變,也就是位置不敏感,有無很重要。目標只要存在特徵就能被模板檢測到。max pooling就是把檢測到的對應訊號放出來。

8樓:未雨

pooling的理論解釋是比較蒼白的,更多的是乙個實驗結果,能很好的減少計算量和限制網路規模,讓模型更容易訓練。就mean和max兩種方式而言,mean是線性運算,max是非線性。前者網路自己是比較容易學到的,後者相對而言則更難學。

這也是後者更為流行的乙個原因。

為什麼CNN中的卷積核一般都是奇數 奇數,沒有偶數 偶數的?

rucinier 設輸入特徵圖尺寸為 輸出尺寸為,卷積核大小K,步長S,padding為p,那麼輸入和輸出之間滿足 在一般情形下,S 1,O i,那麼上式可以化為 可以直觀地看出K是奇數。 使用奇數尺寸的濾波器的原因 數字影象處理 第三版 阮秋琦翻譯 p89 也可以使用偶數尺寸的濾波器,或使用混合有...

在訓練cnn的過程中,訓練集準確率逐漸公升高,loss平穩下降,但是測試集動盪劇烈是什麼原因?

暴走的夢想 我覺得首先要看你的訓練集和測試集是否是同乙個資料集,同乙個資料集的話分布應該是大致相同的,當然要確保劃分資料集合理,比如訓練集是否包含了所有種類,是否對資料集進行了隨機劃分 這樣出現測試集acc和loss不穩定的情況就是過擬合了。還有一種情況就是訓練集和測試集沒有來自同乙個資料集,那這時...

為什麼CNN中的卷積核一般都是正方形,沒有長方形?

韓公升 我首先想到的是,數學上方陣要比任意矩陣容易操作。但是我沒寫過CNN底層,學的一些皮毛也告訴我反相傳播可以不需要求逆,所以僅僅是沒啥根據的懷疑,希望拋磚引到玉。 武俠超人 NLP領域中的很多都不是正方形啊。舉個最簡單的例子,最基礎經典的CNN做文字分類,卷積核長度是embedding的長度,寬...