人工智能之卷積神經網絡(CNN)
CNN訓練過程:
1)向前傳播階段:
a)從樣本集中取一個樣本(X,Yp),將X輸入網絡;
b)計算相應的實際輸出Op。
在本階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時執(zhí)行的過程。在此過程中,網絡執(zhí)行的是計算,實際上就是輸入與每層的權值矩陣相點乘,得到最后的輸出結果:
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))
2)向后傳播階段:
a)計算實際輸出Op與相應的理想輸出Yp的差;
b)按極小化誤差的方法反向傳播調整權矩陣。
CNN優(yōu)點:
1) 輸入圖像和網絡的拓撲結構能很好的吻合;
2) 盡管使用較少參數(shù),仍然有出色性能;
3) 避免了顯式的特征抽取,而隱式地從訓練數(shù)據(jù)中進行學習;
4) 特征提取和模式分類同時進行,并同時在訓練中產生,網絡可以并行學習;
5) 權值共享減少網絡的訓練參數(shù),降低了網絡結構的復雜性,適用性更強;
6) 無需手動選取特征,訓練好權重,即得特征,分類效果好;
7) 可以直接輸入網絡,避免了特征提取和分類過程中數(shù)據(jù)重建的復雜度。
CNN缺點:
1) 需要調整參數(shù);
2) 需要大樣本量,訓練最好要GPU;
3) 物理含義不明確,神經網絡本身就是一種難以解釋的 “黑箱模型”。
CNN常用框架:
1) Caffe:源于Berkeley的主流CV工具包,支持C++,python,matlab; Model Zoo中有大量預訓練好的模型供使用;
2) Torch: Facebook用的卷積神經網絡工具包,通過時域卷積的本地接口,使用非常直觀; 定義新網絡層簡單;
3) TensorFlow:Google的深度學習框架;TensorBoard可視化很方便;數(shù)據(jù)和模型并行化好,速度快。
CNN應用場景:
應用場景包括機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域。
特別強調的是:CNN在圖像處理和圖像識別領域取得了很大的成功,在國際標準的ImageNet數(shù)據(jù)集上,許多成功的模型都是基于CNN的。CNN相較于傳統(tǒng)的圖像處理算法的好處之一在于:避免了對圖像復雜的前期預處理過程,可以直接輸入原始圖像。
結語:
卷積神經網絡CNN是近年發(fā)展起來,并引起廣泛重視的一種高效識別方法。卷積神經網絡以其局部權值共享的特殊結構在模式識別方面有著獨特的優(yōu)越性,其布局更接近于實際的生物神經網絡,權值共享降低了網絡的復雜性,特別是多維輸入向量的圖像可以直接輸入網絡這一特點避免了特征提取和分類過程中數(shù)據(jù)重建的復雜度。CNN算法在人工智能之機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域等領域有著廣泛應用。

請輸入評論內容...
請輸入評論/評論長度6~500個字