目標檢測經典論文——訓練過程總結

最近又一次複習下經典論文,在此記錄下前人的論文上的訓練過程。

YOLO v1

        我們在ImageNet 1000類數據集上預訓練我們的卷積層。預訓練時我們使用圖3中的前20爲向量、一個平均池化層、一個全連接層。我們訓練這個網絡一週時間, 在ImageNet 2012數據集中獲得了88%準確率排名位於前5名,與 Caffe上訓練的模型中的GoogLeNet模型相當。我們使用 Darknet框架進行所有的訓練和預測。
  然後我們轉化網絡執行檢測。Ren等人提出在預訓練模型中加入卷積層和全連接層可以提高性能[29]。根據他們的想法,我們添加了隨機初始化參數的4個卷積層和2個全連接層。檢測任務需要細粒度的視覺信息,所以我們將網絡輸入的分辨率從224×224增加到448×448【這裏存在着不匹配的問題,yolo v2改進了】。

  我們在PASCAL VOC 2007和2012的訓練和驗證數據集上對網絡進行了大約135個epochs的訓練。當在VOC 2012上測試的時候,我們也包含了VOC 2007的測試數據用來訓練。訓練中我們的batch size爲64,momentum爲0.9,decay爲0.0005
  我們的learning rate(學習率)計劃如下:在第一個epoch中我們將learning rate慢慢的從0.001提高到0.01【就是warm up】,如果我們從較高的學習率開始訓練,由於不穩定的梯度會導致網絡發散。我們以0.01訓練75個epoch,再以0.001訓練30個epoch,以0.0001訓練30個epoch。
  爲了避免過擬合我們使用了dropout (神經元隨機失效)層和數據增強的辦法。在第一個連接層之後,速率爲0.5的dropout層防止了層之間的聯合性(dropout強迫一個神經單元,和隨機挑選出來的其他神經單元共同工作,達到好的效果。消除減弱了神經元節點間的聯合適應性,增強了泛化能力。)[18]。對於數據增強,我們引入達到原始圖像大小20%的隨機縮放和平移。我們還在HSV色彩空間中隨機調整圖像的曝光和飽和度達1.5倍。

Inception v2

我們在TensorFlow[1]分佈式機器學習系統上使用隨機梯度方法訓練了我們的網絡,使用了5050個副本,每個副本在一個NVidia Kepler GPU上運行,batch size爲32,100 個epoch。我們之前的實驗使用動量方法[19],衰減值爲0.90.,而我們最好的模型是用RMSProp [21]實現的,衰減值爲0.90.,ϵ=1.0。我們使用0.045的學習率,每兩個epoch以0.94的指數速率衰減。此外,閾值爲2.0的梯度裁剪[14]被發現對於穩定訓練是有用的。使用隨時間計算的運行參數的平均值來執行模型評估。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章