我是用caffe做6分類問題,做一種工業產品的檢測。經過反覆實驗。總結的經驗以下幾條,供新手參考,也歡迎老手批評指正。大家交流。
本文把神經網路的神秘面紗扯下來,新手看了之後,就有了乙個完整的認識,知道怎麼操作了。當然更基礎的東西,要自己學習,掌握。本文僅**使用心得,理論方面不包括。
1. 解析度,用多大的解析度。這個取決於目標的特徵,如果目標是很大的,例如汽車,房子,在中佔據很大的比重,那麼使用100*100甚至50*50的解析度就可以了。但是如果目標很小,例如是螞蟻,這類的。那不能太小,否則,圖形特徵太小,網路將無法提取形態特徵。造成訓練失敗。我用150*200兼顧了特徵的儲存以及最小的影象體積,保證了計算量最小。
另外,目標就是目標,不要包含太多背景,否則也是浪費計算量。
2. 網路的選型。使用lenet還是alexnet還是googlenet.看你的問題的規模,如果你的類別不是很多,形態也非常簡單,類似於手寫數字識別,那麼用lenet作為基礎,進行調整就可以。如果形態,紋理,都比較複雜,那麼lenet受限於特徵提取能力,就不合適了,強行使用可能造成網路不收斂。
3. 網路精簡。一般的典型網路,如上述網路,都比較龐大,例如alexnet有5層卷積,2個中間層,能分1000類,googlenet就更多了,有十幾個卷積層,交叉組合,也是分1000類。而我們的分類任務可能只要分幾類,或者十幾類。用人家的網路就會顯得殺雞用牛刀,浪費了計算能力,可能i3 cpu足夠的,你得用i7, 也就增加了成本。
因此要精簡網路,說說自己的經驗,alexnet5層卷積的輸出節點數,96-256-384-384-256,隱含層409614096節點。
我精簡到96-128-128.隱含層只一層,100個節點。分類效果跟精簡之前沒什麼區別。而網路從200多mb降到1mb多,準確度98%, 找到了網路的極限,因為再小的網路,訓練無法收斂。可能以後,再增加類別時,需要擴大一下網路。
4. 樣本準備。隨機一些,不同方向,不同亮度的,甚至目標的尺寸,大一點小一點,都有。要有足夠的代表性。
5. 視覺化,一定要使用matlab把卷積層的中間結果輸出出來,看看那些結果圖是有用的,因為同一層很多特徵圖事重複的,那麼就可以減少輸出點數,再訓練時,網路就不會提取那些沒有用或者重複的特徵了。
訓練時,學習率0.001. 再縮小也沒有什麼效果了。
6. 網路越簡單,收斂速度越快,比如我用5層卷積時,要訓練到4000輪才開始收斂,而3層時,從1000輪就開始收斂。
總之在機器學習,多層卷機網路的統一理論的指導下,多多實驗吧,你會發現更多的特點,這就是一門實驗的學問。
neural networks:tricks of the trade 網路使用技巧,老外寫的。
另外,讀一讀lecun跟hinton的原始**也幫助很大。
神經網路學習心得
人工智慧 ai 從誕生以來,理論和技術日益成熟,應用領域也不斷擴大。目前人工智慧 ai 已經以雷霆萬鈞之勢從學術界潛入產業界的每乙個角落,其價值之大,可想而知。人工智慧是一門極富挑戰性的科學,從事這項工作的人必須懂得計算機知識,心理學和哲學。機器學習中的神經網路是研究人工智慧最熱門的方向,而多層複雜...
人工神經網路心得體會 人工神經網路
內容介紹 原文件由會員 天緣 發布 人工神經網路 頁數 44 字數 22434 摘要人工神經網路是由一些類似人腦神經元的簡單處理單元相互連線而成的複雜網路。已湧現出許多不同型別的ann及相應的學習演算法,其中bp 或ebp error back propagation 網路及學習演算法得到了廣泛關注...
神經網路 卷積神經網路
這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...