更多幹貨內容請關注微信公眾號“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