AlexNet小簡介(2) — 論文翻譯(下)

Martin Huang
4 min readSep 3, 2020

--

上一篇,繼續探討論文的下半部分。

學習細節

梯度下降的方法選用SGD(stochastic gradient descend,隨機梯度下降),批次量為128,動量(momentum)為0.9,weight decay為0.0005。這個小量的weight decay是學習的關鍵,換句話說,這有助於神經網路降低損失,而非僅僅當作一個調節運算子(regularizer,避免overfitting使用)。權重的初始設定則用平均值為0的高斯分布,標準差為0.01,隨機取樣。在第二、四、五層的卷積網路,以及全連結層,我們設初始偏差為1;這樣可以在早期的學習階段加速這些層,因為可以用正值啟動ReLu函數。其他層的誤差則設為0。

每一層的學習速率都設為相同,但在學習過程中以手動調整。如果驗證的錯誤值在目前的學習速率下已無法再進步時,就將其學習速率降低至原本的1/10。初始學習速率為0.01,而在終止之前學習速率總計被調整三次。整個學習過程是訓練120萬張圖片,用了約90回,總計時間約5~6天。

結果

用ILSVRC-2010的資料集測試的結果如下。順帶一提,上一篇有些截圖的畫質不好,之後會更新。

Table 1. ILSVRT-2010測試集結果

可以看到在前一/前五的錯誤率都是最低的,分別是37.5%/17.0%。表格中的另兩種方法不屬於深度學習方式,不在這邊詳述,但是是該資料集之前的最佳紀錄。除此之外,作者群也用ILSVRC-2012的資料做測試:

Table . ILSVRC-2012測試集結果。打*的

這個資料集的標籤並未完全公開,所以本文無法將所有拿來測試過的模型之結果全部公布。表格中第一個(1 CNN)是本文提出的模型訓練的結果,第二個是訓練5個CNN模型平均的結果。第三個則是將本文模型在最後一層pooling layer之後再加上一層CNN,並先於ImageNet fall 2011的資料集中訓練,再「調整」(fine-tuning)到ILSVRC-2012資料集。最後一個是用兩個CNN模型訓練ImageNet資料集後,再訓練ILSVRC-2012資料集,並與前面五個CNN模型(即第二個)平均。

最後則是用ImageNet 2009 fall的資料集做測試,top-1和top-5的錯誤率分別為67.4%和40.9%。過往最佳紀錄為78.1%和60.9%。

品質評估(Qualitiative Evaluation)

回到這張圖。96個11*11*3的卷積核分成兩組,各48個,分別於兩個GPU上面運算。其中一個GPU較著重於線條、形狀、方向等特徵,而另一個則著重於顏色。這樣的分類不是刻意為之,而是每次執行訓練自然形成的結果。此外,與權重的設定也無關。

從上圖可以知道,模型的top-5預測基本上都還在「可想像」的範疇。即使是辨認目標不在圖片中央,仍可被辨識。有些則是圖片中有超過一個的可辨認目標,例如右下的cherry。

另外一個方法是去探查圖片在最後一個隱藏層(4096維)所啟動的特徵向量。如果兩個圖片在最後一層啟動的特徵向量,其歐式距離不遠,則我們可以說在深層的神經網路理認為這兩張圖片是類似的。

上圖中提供了五張從測試組(第一行)和各六張從訓練組找到,與這五張圖片的特徵向量,其歐式距離較短的圖片。值得注意的是,在畫素層級上,這幾張圖片的特徵未必類似。例如狗和大象,可以看到其姿勢和位置各有不同。

文章最後建議可以考慮建立encoder訓練其轉換歐式距離為binary code。這樣會比一張張圖片比較歐式距離更有效率,而且其判斷的依據將會是圖片中目標的邊緣型態,而非單純形狀。

結論

在監督式學習中為深層神經網路攻下一城。其關鍵性不言而喻,為深度學習的將來開啟一扇窗。

本文亦禁止分享,感謝。

--

--

Martin Huang
Martin Huang

Written by Martin Huang

崎嶇的發展 目前主攻CV,但正在往NLP的路上。 歡迎合作或聯絡:martin12345m@gmail.com

No responses yet