幾行代碼就寫一個神經網絡的TensorFlow框架到底是啥?

很多讀者對深度學習框架沒有直觀的瞭解,所以我們挑了一個比較常用的框架TensorFlow,用通俗的語言為讀者介紹。

很多年前有一個模型叫“神經網絡”,是通過模擬人腦的學習過程構建的,科學家希望用它進行一些計算和識別,總的來說是一種看起來比較完美的算法,但卻由於當時計算資源很匱乏被打入“冷宮”。

幾行代碼就寫一個神經網絡的TensorFlow框架到底是啥?

雖然很多科學家紛紛轉入了新的領域進行研究,但還是有幾個科學家堅守這個陣地。

功夫不負有心人,最近幾年由於計算能力的大幅度提升(主要是GPU的發展,看看英偉達的股票一路飄紅,你就知道這個領域多火了),神經網絡算法被這幾名科學家和工業界再次“臨床”應用,解決了語音識別和圖像分類等基礎問題。因為神經網絡是分層的,理論上層數越多,識別效果越好,所以層數更多的神經網絡,就有了新名字“深度學習”。

幾行代碼就寫一個神經網絡的TensorFlow框架到底是啥?


針對不同的領域,所用的深度學習算法也是有差異的,就像北方的豆腐腦放鹽,南方的豆腐腦放糖一樣。

一旦一個領域火了,大企業自然都想成為這個領域的龍頭,建立和培養自己的“朋友圈”,所以各家公司都在開發一些深度學習框架(框架就像一幢蓋著綠布的大樓,結構已經搭建好了,至於每層裝什麼玻璃,用什麼裝飾,得由開發者自己決定)。

TensorFlow 是谷歌的框架。還是以蓋樓為例,你對 TensorFlow 說“給我來個5層的混凝土結構的樓”,TensorFlow就能直接產生這樣一個基礎設施,不用你從0到1地去挖沙、買磚。

TensorFlow只是給了開發者一個殼,內部結構還是要根據甲方的需求,也就是你老闆交給你的具體AI任務,選用合適的機器學習算法來完成。

如果你的任務是智能識別類的,比如讓機器識花、識汽車、識鳥類,就用CNN模型;如果你的任務是做推薦系統,那你要去了解NLP算法

;如果你要做一個類似Siri的語音助手,就要去學RNN和LSTM的知識。總而言之,TensorFlow已經把CNN、RNN、NLP這些經典算法的通用能力提取出來封裝好了,用到的時候直接調用接口就行。

幾行代碼就寫一個神經網絡的TensorFlow框架到底是啥?

TensorFlow是一個深度學習框架,它主要用來構建模型、訓練數據,還在移動端做了很多優化,在學術界和工業界都有廣泛應用,未來會有很大的發展。如果讀者想入門人工智能,建議從寫一個TensorFlow Demo做起。


分享到:


相關文章: