AlexNet 是一個在電腦視覺領域具有劃時代意義的深度卷積神經網路 (CNN) 架構,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 共同設計,並在 2012 年的 ImageNet 大型視覺識別挑戰賽 (ILSVRC) 中以巨大的優勢贏得了冠軍。它的出現標誌著深度學習在電腦視覺領域的復興,並開啟了現代 CNN 的時代。
以下是 AlexNet 的主要特點和架構:
- 八層網路: AlexNet 包含五個卷積層和三個全連接層。
- ReLU 激活函數 (Rectified Linear Unit): AlexNet 是最早大規模採用 ReLU 作為激活函數的網路之一。ReLU 相較於之前的 Sigmoid 或 Tanh 函數,能夠有效地緩解梯度消失問題,加速模型訓練。
- 多 GPU 訓練: 為了處理 ImageNet 龐大的數據量和複雜的模型,AlexNet 巧妙地將模型分佈在兩個 NVIDIA GTX 580 GPU 上進行並行訓練。這大大縮短了訓練時間。
- 局部響應歸一化 (Local Response Normalization, LRN): LRN 是一種在相鄰的卷積核輸出的局部區域進行歸一化的技術,據稱有助於增強模型的泛化能力,但後來的研究表明其作用可能有限。
- 重疊池化 (Overlapping Pooling): AlexNet 使用了步長小於池化視窗大小的重疊池化操作。作者認為這樣做可以減少過擬合。
- Dropout: 在全連接層中使用了 Dropout 技術,隨機將一部分神經元的輸出設置為零,以防止過擬合。
- 大規模數據集: AlexNet 在包含超過 120 萬張圖像和 1000 個類別的 ImageNet 數據集上進行了訓練。
- 第一卷積層: 輸入為 227x227x3 的 RGB 圖像,使用 96 個大小為 11x11,步長為 4 的卷積核。接著進行 ReLU 激活和 3x3 的最大池化,步長為 2。
- 第二卷積層: 使用 256 個大小為 5x5 的卷積核。接著進行 ReLU 激活和 3x3 的最大池化,步長為 2。
- 第三卷積層: 使用 384 個大小為 3x3 的卷積核。進行 ReLU 激活。
- 第四卷積層: 使用 384 個大小為 3x3 的卷積核。進行 ReLU 激活。
- 第五卷積層: 使用 256 個大小為 3x3 的卷積核。接著進行 ReLU 激活和 3x3 的最大池化,步長為 2。
- 第一全連接層: 包含 4096 個神經元,並使用 ReLU 激活和 Dropout。
- 第二全連接層: 包含 4096 個神經元,並使用 ReLU 激活和 Dropout。
- 輸出層: 包含 1000 個神經元 (對應 ImageNet 的 1000 個類別),並使用 Softmax 激活函數輸出每個類別的機率。
AlexNet 的重要性:
- 證明了深度學習在圖像識別上的巨大潛力: 在 ILSVRC 2012 比賽中,AlexNet 的錯誤率遠遠低於第二名,這讓學術界和工業界重新認識到深度學習的力量。
- 推動了 CNN 的發展: AlexNet 的成功激發了大量的後續研究,催生了更深、更強大的 CNN 架構,例如 VGG、GoogLeNet、ResNet 等。
- 加速了電腦視覺的進步: AlexNet 的突破性表現使得電腦視覺技術在各個領域取得了巨大的進展,例如圖像分類、物件偵測、圖像分割等。
總之,AlexNet 是電腦視覺領域的一個里程碑,它的成功標誌著深度學習在圖像識別領域的崛起,並為後續的發展奠定了堅實的基礎。它引入了許多重要的技術和設計理念,至今仍然對電腦視覺的研究和應用產生著深遠的影響。