【51cto.com快譯】在本篇文章中,我們將著力**如何利用深度學習演算法建立一套資料模型。在這裡,我們不會涉及人腦或者人類智慧型方面的議題,而是嘗試解讀深度學習技術如何幫助我們解決電腦科學與早期人工智慧領域的那些重大難題。我們還將談到深度學習的優勢與應用範疇,並解答建立深度學習模型中遇到的部分問題。我們將提供參考、建議與技巧,並以此為起點開展其它後續議題。
作為一名資料科學專家,深度學習技術最吸引我的地方在於其能夠延伸至多個領域並解決大量實際問題。深度學習如今已經成為一種趨勢,且擁有巨大的潛在應用空間。真正有趣的是,深度學習能夠從資料當中提取出隱藏的特性,從而幫助裝置在無需明確程式設計(基於規則的系統)或者人工調整(其它一些機器學習演算法會藉此改進自身學習能力)的前提下學習如何完成任務。
深度學習方法通過大規模資料量訓練自身建立非線性關聯能力,而正是這種能力使其在家族眾多前輩當中脫穎而出。
要了解標準深度學習演算法的基本原理,我們首先需要了解其前代方案,即神經網路。神經網路包含三個層級,分別為輸入層、隱藏層與輸出層。
• 輸入層由神經構成,其負責接收輸入值。這些神經的輸出結果與輸入**相同。
• 輸出層為神經網路的最終層,負責向使用者環境返回結果。根據神經網路的具體設計,其還能夠告知之前各層其如何了解資訊內容並據此改進之前各層的實際功能。
• 隱藏層位於輸入與輸出層之間。從傳統角度講,隱藏層的數量區間由一到多,其屬於將輸入與節點輸出結果相對映的**計算層。
為何由神經網路過渡至深度學習?
「深度」架構的引入能夠支援多個隱藏層。這意味著其可實現早期神經網路所無法實現的多表示層或者學習更為複雜的特性結構。
改進並變更以支援多種架構(dbn、rbm、cnn乃至rnn),從而適應各類不同問題。
能夠優化演算法以處理大規模資料計算任務。
引入優化與正則化引數,例如通過取捨降低訓練資料規模。
具備開源深度學習軟體包並面向多種主流程式語言,從而為特定領域帶來創新成果。
單純增加隱藏層數量並不足以提公升生產力。那麼,我們該如何將深度學習真正轉化為實踐工具?
說到這裡,我們又面臨著新的問題,複雜的深度神經網路需要大量計算效能用於訓練。這項難題已經被**合理的高效能gpu所解決,這要歸功於英偉達及英特爾等廠商的不斷推進。可以看到,利用gpu的深層學習模型能夠實現遠高於cpu的訓練速度。英偉達公司在其部落格中指出,根據基準測試結果顯示,gpu加速型神經網路訓練在速度上能夠達到cpu的10到20倍。這意味著原本需要數週甚至數天的訓練如今只需要數小時即可完成。
wangxueyan tel:(010)68476606】
您可能感興趣的文章:
visual studio 2012完美的擁抱github
c語言程式設計師必讀的5本書
react 還是 vue:你該如何選擇?
C 學習筆記 深度剖析list
1 容器list 當你對某個type實施operator 而該type並非built in ptr時,編譯器會做一件很有趣的事,在找出user defined operator 並將它施行於該type後,編譯器會對執行結果再次施行operator 編譯器不斷執行這些動作直至觸及a pointer t...
用深度學習快速人臉建模
本篇 發表於 siggraph 2017,並入選 technical s preview trailer。為便於非專業人士閱讀,以下介紹盡量不夾帶英文和公式,也盡量精簡扼要。臉部建模一直是計算機影象和視覺領域的熱門話題,包括 人物建模 人臉藝術設計 人臉實時重構等等,尤其是互動式人臉建模。我們構建了...
深度學習與深層神經網路等概念
線性模型的侷限性 線性模型可以解決線性問題,然而,現實中遇到的問題幾乎都是 複雜問題 即非線性問題,線性模型不能解決非線性問題,這就是線性模型的侷限。深層神經網路 深層神經網路是解決 多層非線性變換 最常用的一種方法,其可等同於深度學習。即深度學習和深層神經網路需要解決的問題是非線性問題 複雜問題。...