1. 程式人生 > >深度學習之模型finetuning

深度學習之模型finetuning

1.先說明finetuning在什麼情況下使用

-- 借用cs231n課程的圖,當資料量較小時,運用深度學習這一神器很可能會出現過擬合的現象,但是又想運用訓練的灰常好的如VGGNet、GoogleNet等預訓練模型時,可以只對於網路最後面的幾層進行重新訓練,對於神經網路的底層,因為它充分的在大資料集上進行了基礎特徵的提取如:顏色、邊框等,依舊可以在我們的資料集合上進行運用。當然在進行fine-tuning時,不要盲目的選擇預訓練模型,可以根據你的資料量、圖片資料的特徵等(如下表格所示)選擇合適的、接近你資料的預訓練模型,並且選擇合適的需要進行較大重新訓練的層和基本不用動的層。

2.具體的fine-tuning流程參加下面的連結,寫得非常好。

http://www.cnblogs.com/xuanyuyt/p/6062204.html

補充說明:在網路檔案中還可以具體修改 lr_mult: 2  實現對於不同層的學習率設定,在solver檔案中是對於整個網路基礎學習率的設定。

3.batch_size的設定

http://blog.csdn.net/ycheng_sjtu/article/details/49804041

4. 預訓練模型zoo

https://github.com/BVLC/caffe/wiki/Model-Zoo

歡迎一起討論學習!:)