deep learning實踐經驗總結
近期拿caffe來做圖片分類。遇到不少問題,同一時候也吸取不少教訓和獲得不少經驗。
先看樣例再總結經驗。
這是一個2類分類器。分的是條紋衣服和純色衣服。
先看幾張圖片。
條紋衣服:
純色衣服:
肉眼也非常easy辨認出來。
訓練出來的模型眼下的準確率是0.75。
為了可視化特征抽取。我把某一層的特征圖和權重圖也畫出來了,這層是當中一個全連接層。
條紋衣服的特征圖:
純色衣服的特征圖:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2VybGFubGFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
看條紋衣服的特征圖比較有意思,把“條紋”特征給抽取出來了。
或許這就是神經網絡奇妙的地方,在沒有人的幹擾的情況下,居然能學習出來“條紋”特征。
當中一個channel的權重圖:
這個就看不出來什麽了。以前有一個數據集,訓練的是裙子的模型。當我看到權重圖是一個裙子輪廓的圖。
好了。說了這麽多。總結一下經驗吧。
1 數據集要保證質量。以前玩過一字領和polo領的分類,剛開始效果非常差,後來發現有一些“錯誤”的標簽。於是把那些樣本給去掉。效果好了非常多。
2 learning rate要調整。
有一次訓練了非常久。準確率差點兒不變,於是我降低了lr,發現好了非常多。
3 均值化圖片。實踐證明,均值化後再訓練收斂速度更快。準確率更高。
對於深度學習的困惑:感覺準確率是個大問題啊,事實上這也是全部機器學習算法的通病。
對於別人研究提供的數據集,比方imagenet,cifa10,lenet,效果非常好。
可是自己收集的數據集,效果就不是非常理想了。
也就是說,算法不是萬能的,僅僅是對於某些數據集有效。
我們能做的。是什麽?
1 對於哪些數據集。深度學習比較適合?
2 對於效果差的數據集。怎樣能提高準確率?
以前腦海裏閃過一個念頭。是由上面提到的權重圖想到的。
當時看到權重圖是一個裙子輪廓的圖,心裏就想。
這是神經網絡自己主動調整出來的權重圖,
假設人為加上幹預,是否能實現優化呢?
本文作者:linger
本文鏈接:http://blog.csdn.net/lingerlanlan/article/details/31773811
deep learning實踐經驗總結