
卷積神經網路(CNN)
|
329
我們通常會把池化層中負責降採樣操作的最大池化形狀(也就是空間維度:寬度和高
度)設為 [2 × 2],如下面的程式碼片段所示:
.layer(1, new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX)
.kernelSize(2,2)
.stride(2,2)
.build())
要留意的是,如果池化空間維度增加得太快,我們就會面臨失去太多訊息的風險。
在實務上,池化層中的最大池化有兩種常見的設定方式:
• 感受域大小:3,步幅:2(池化部分重疊)
• 感受域大小:2,步幅:2(較常見的做法)
如果我們把池化感受域增加至超出以上這些設定值,往往就會失去太多的
訊息。
相較於其他像是平均池化或 L2 範數池化的做法,最大池化做法最近似乎變得比較流
行。實務上來說,最大池化確實可以表現出比其他做法更好的效果。
轉移學習
由於考慮到任務所需的處理能力 / 時間量,因此我們很少看到以隨機初始化參數從頭開
始進行訓練的 CNN 模型。我們在第 4 章就曾經提到,推動深度學習流行的其中一個因
素,就是如今已可輕易取得高品質的大規模資料集(例如 ImageNet 就有 120 萬張已標
記的訓練圖片)。雖然 ImageNet 這類可做為比較基準的訓練組資料本身越來越完善,
但實際上我們很少有機會能取得其他如此大量已標記的訓練組資料,用來對 CNN 進行
大規模的圖片訓練。解決這個問題的其中一種方法,就是先以一個訓練過的 ...