VGGNet
VGGNet 出自牛津大學的視覺幾何小組(Visual Geometry Group,Simonyan 與 Zisserman,2014),它回答了一個乾淨的問題:如果你把一切保持得盡可能均勻簡單,只是把網路加深,準確率能改善到什麼程度?它的答案是一個幾乎完全由單一重複母題構築的網路——步幅 1、填補 1 的 3x3 卷積,與用來把解析度減半的 2x2 最大池化交錯,堆疊 16 或 19 個權重層深(即著名的 VGG-16 與 VGG-19)。沒有任何花俏的模組;它的吸引力正在於那種單調的規律性,使它多年來成為預設的特徵萃取器與教學範例。
VGG 的核心技術論點是:一疊小的 3x3 卷積,嚴格優於具有相同感受野的單一大卷積。兩個堆疊的 3x3 層所看到的 5x5 輸入區域,與一個 5x5 層相同;三個堆疊的 3x3 層則涵蓋 7x7 區域,但這一疊使用更少的參數(在相同通道數下,三個 3x3 層耗費 27 個通道對的權重,相對於一個 7x7 的 49 個),並多插入了兩個非線性,使學到的函數更具表達力。這個洞見——小濾鏡的深度勝過大濾鏡的寬度——成為一條永久的設計原則。
VGG 的弱點是它的成本。由於它在末端保留了三個大型全連接層(兩個 4096 單元餵入 1000 路分類器),VGG-16 帶有約 1.38 億個參數,絕大多數都集中在那些最終的稠密層中,而且執行起來計算量沉重。後來的網路如 GoogLeNet 與 ResNet,藉由以全域平均池化(global average pooling)取代全連接堆疊、並使用殘差連接(residual connection),用其一小部分的參數就追平或超越了它的準確率。儘管如此,VGG 至今仍被廣泛用作固定的預訓練骨幹,尤其作為風格轉換與影像相似度損失等任務的感知特徵空間,因為它的特徵乾淨且易於理解。
參數對比:把一個 7x7 卷積(C 個輸入、C 個輸出通道,耗費 49 倍 C 平方的權重)替換成三個堆疊的 3x3 卷積,耗費 3 乘 9 倍 C 平方 = 27 倍 C 平方的權重,少了約 45%,同時多加了兩個 ReLU 非線性,並給出相同的 7x7 感受野。