最近谷歌正式宣佈TensorFlow 0.8 已經徹底實現並行計算並原生態支持與kubernetes相結合,使得谷歌機器學習開源項目TensorFlow在支持集羣化、並行化和分佈式訓練方面都實現了質的飛躍。html
在上週谷歌的官方博客中,谷歌公佈了谷歌實驗TensorFlow 0.8 不一樣數目的GPU可以帶來的加速效果:算法
圖中顯示100個GPU能夠帶來接近56倍的加速效果,並在65小時內將圖片分類器訓練到接近78%的精確度。網絡
咱們先回顧一下TensorFlow的歷史,早在去年年末,谷歌就已經將其深度學習系統TensorFlow開源。並且根據Github的統計,TensorFlow已經成爲去年最受關注的開源項目之一。在它開源之初便引來無數試用者。然而剛剛開源的TensorFlow並無引來多少好評,更有人戲稱爲TensorSlow,究其緣由就在於單機的環境沒法知足海量數據的需求。機器學習
反觀谷歌內部,早在2011年穀歌就已經開始了對於深度學習的研究,現在已成功將其應用在搜索、廣告、地圖、翻譯和YouTube等衆多產品之中。經過深度學習,谷歌成功將語音識別的錯誤率下降了25%。並且谷歌大腦(Google Brain,谷歌內部版的TensorFlow)早就實現了和borg(谷歌內部版的kubernetes)的結合,能夠輕鬆跑在上萬臺機器上。分佈式
上個月TensorFlow邁出了集羣化的第一步(原文連接)經過Kubernetes實現了並行化。
現在谷歌正式宣佈TensorFlow 0.8已經能夠支持分佈式訓練,在提供多GPU測試結果的同時也提供了Kubernetes的測試腳本。隨着TensorFlow和kubernetes兩大技術的結合,這將對機器學習技術的實踐產生深遠影響。學習
咱們再來了解一下「深度學習」,深度學習這個詞已經成爲了不少人耳熟能詳的概念,這個概念在AlphaGo打敗李世石以後更是變得世人皆知。那究竟什麼是深度學習?測試
深度學習的本質就是經過複雜的模型結構或者多層非線性變化的組合來挖掘複雜數據中隱含的規律。理論上任何複雜的機器學習方法均可以做爲深度學習的基礎,但大部分紅熟的應用以及研究都是以神經網絡爲基礎。spa
受人類大腦神經元結構的影響,神經網絡但願模擬人類感知。一個最直接的例子就是圖像識別,這也是深度學習最先的應用之一。人的眼睛在收到光的刺激以後,腦部不一樣的神經元會被激活,最後咱們能分辨出眼前的東西是狗仍是貓。翻譯
在神經網絡中,neurons被用來模擬人類神經元的功能。上圖給出了一個neurons的模型:將多個輸入進行一系列變換後產生一個(或多個)輸出。下圖展現瞭如何將多個neurons有效的組織起來成爲了一個神經網絡。紅色的輸入層模擬人類接受刺激的器官(好比眼睛),藍色的隱藏層(隱藏層能夠有多個)模擬人類大腦的處理過程,最後綠色的輸出層給出結論(好比是貓仍是狗)。3d
神經網絡算法早在上世紀70年代就被提出,但在很長一段時間沒都沒有受到重視,直到最近才經過深度學習成爲新寵。那麼深度學習到底和傳統的神經網絡有什麼區別呢?
他們最大的區別就在「深度」上。傳統的神經網絡的隱藏層通常比較少(通常在1-2層),而深度學習的隱藏層都比較深,微軟研究院曾經嘗試過上千層的神經網絡。
理論上越深的神經網絡的表達能力更強,這樣就更有可能從複雜的問題中找到隱含的規律。但越深的神經網絡對於數據和計算量的要求也越高,這也是爲何TensorFlow須要和kubernetes相結合才能帶來更深遠的影響。
(若是須要轉載,請聯繫咱們哦,尊重知識產權人人有責;)