更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)
機器學習為人類帶來了無限可能性。TensorFlow 已經被應用到眾多領域,並取得了可喜的成果。
-
天體物理學家使用 TensorFlow 分析大量來自 NASA 的資料,發現了新的行星。
-
醫學研究人員使用 TensorFlow 來評估病人罹患心血管疾病的風險。
-
空中交通指揮中心使用 TensorFlow 來預測飛機的飛行路徑,讓飛行更安全、著陸更高效。
-
工程師使用 TensorFlow 分析熱帶雨林的監測資料,用以檢測伐木車和其他非法活動。
-
非洲的科學家使用 TensorFlow 檢測木薯植物的患病情況,幫助農民增加收成。
在大會上,TensorFlow 團隊宣佈了 TensorFlow 的最新特性,這些特性將給開發者帶來更好的開發體驗。
開發者希望 TensorFlow 能夠進一步提升易用性,於是 TensorFlow 團隊為 Python 開發提供了一個直觀的程式設計模型,叫作“eager execution”(https://www.tensorflow.org/programmers_guide/eager )。開發者可以基於該模型開發程式碼,然後使用相同的程式碼生成用於訓練的計算圖。TensorFlow 團隊還提供了一種在單臺機器的多個 GPU 上執行評估模型的方法,開發者可以在只改動少量程式碼的情況下快速地擴充套件模型。
機器學習模型變得越來越複雜,為了幫助開發者更好地分享和重用模型,TensorFlow 團隊推出了 TensoFlow Hub(http://tensorflow.org/hub ),用於釋出和查詢可重用的模組(TensorFlow 圖的獨立片段)。這些模組已經包含了權重資訊,而且可能已經在大資料集上預訓練過,可以直接用在開發者的應用程式中。通過重用這些模組,開發者只需要在更小的資料集上訓練模型,從而加快了訓練速度。他們還發布了一個互動式的除錯外掛(https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/debugger/README.md ),作為 TensorBoard 視覺化工具的一部分,開發者可用它實時地跟蹤計算圖的內部節點。
模型訓練只是機器學習過程的步驟之一,開發者需要一種端到端的解決方案來構建真實的機器學習系統。為此,TensorFlow 團隊釋出了 TensorFlow Extended(TFX)路線圖,同時推出了 TensorFlow Model Analysis,一個組合了 TensorFlow 和 Apache Beam 強大計算能力的開源庫。現在,開發者已經能夠基於已釋出的 TFX 元件(包括 TensorFlow Model Analysis、TensorFlow Transform、Estimators 和 TensorFlow Serving)進行資料準備、資料訓練、資料驗證,以及將模型部署到生產環境。
現在,開發者可以在更多的程式語言中使用 TensorFlow。TensorFlow.js(https://js.tensorflow.org )是最新推出的一個 JavaScript 機器學習框架。使用 TensorFlow.js 在瀏覽器上進行機器學習為我們帶來了新的可能性,包括互動式的機器學習和基於客戶端資料的機器學習。開發者可以使用該框架在瀏覽器上訓練模型,或者匯入離線訓練的 TensorFlow 和 Keras 模型,然後使用 WebGL 加速進行推理。這個遊戲(https://emojiscavengerhunt.withgoogle.com )就是使用 TensorFlow.js 開發的。
用於 Swift 的 TensorFlow(https://www.tensorflow.org/community/swift )將於 4 月份開源,這對於 Swift 開發者來說無疑是個激動人心的好訊息。它整合了原生的編譯器和語言支援,基於 eager execution 模型提供了強大的圖計算能力。該專案還在開發當中,後續會有更多進展。
TensorFlow Lite 也迎來了更新。除了 Android 和 iOS,現在還支援 Raspberry Pi。TensorFlow Lite 的核心解析器只有 75KB 大小(TensorFlow 的為 1.1MB),執行量化圖形分類模型的速度最快可以達到 TensorFlow 的 3 倍。
在硬體方面,TensorFlow 整合了 NVIDIA 的 TensorRT。TensorRT 是一個機器學習庫,用於優化深度學習模型以及建立執行時以便在 GPU 上部署模型。這給 TensorFlow 帶來了多方面的優化,可以自動選擇特定的平臺核心,在 GPU 上進行推理時最大化吞吐量和最小化延遲。
對於那些在 CPU 上執行 TensorFlow 的使用者來說,TensorFlow 的合作伙伴英特爾釋出了用於深度學習的 MKL-DNN 開源庫。據觀察,在任意英特爾 CPU 平臺上執行推理時,速度有了 3 倍的提升。
執行 TensorFlow 的平臺在增多,包括 Cloud TPU 在內。谷歌 Cloud TPU 團隊已經將執行 ResNet-50 的速度提升了 1.6 倍,這些改進將會在 1.8 版本中開放給 TensorFlow 使用者。
很多資料分析問題是通過統計和概率的方法來解決的。除了深度學習和神經網路模型,TensorFlow 還提供了 TensorFlow Probability API(https://github.com/tensorflow/probability ),用於進行貝葉斯分析。這套 API 提供了一些構建塊,如概率分佈、取樣方法和最新的度量指標和損失。
機器學習和 TensorFlow 已經在很多領域幫助人類解決了關鍵性挑戰。下一個 TensorFlow 可能進入的領域是基因學,這也就是為什麼 TensorFlow 團隊釋出了 Nucleus 庫(https://www.github.com/google/nucleus ),用於讀取、寫入和過濾公共基因檔案格式,以便在 TensorFlow 中使用。同時釋出的還有 DeepVariant(https://github.com/google/deepvariant/blob/r0.5/README.md ),一個基於 TensorFlow 的工具,用於發現基因變異,這將給基因研究帶來重大幫助。
TensorFlow 的這些更新是獻給社群使用者和貢獻者的厚禮,數千名社群貢獻者讓 TensorFlow 成為流行的機器學習框架之一。為了加強社群的參與度和密切關注 TensorFlow 的進展,TensorFlow 團隊開通了 TensorFlow 部落格(http://blog.tensorflow.org )和 TensorFlow YouTube 頻道(http://youtube.com/tensorflow )。
他們還啟動了新的郵件組(http://tensorflow.org/community/lists )和特別興趣使用者組(https://tensorflow.org/community/contributing#special_interest_groups ),如果向加入社群,可以訪問 TensorFlow 社群主頁(https://tensorflow.org/community ),或者關注 TensorFlow 的 Twitter(http://twitter.com/tensorflow )獲得最新的訊息。
原文連結:
https://medium.com/tensorflow/highlights-from-tensorflow-developer-summit-2018-cd86615714b2