Tensor Flow 的主要特征有:①靈活性與可移植性。在設備層,Tensor Flow 能夠運行在不同類型和大小的機器上,如臺式機、服務器、手機移動設備等并可以方便地進行移植。在前端,Tensor Flow 支持 C++、Python、Go、JavaLua、Javascript、R 等主流語言。Tensor Flow 核心庫對 CPU/GPU 是透明的,其布式架構使得在大規模數據集上的模型訓練可以在合理的時間內完成。②易用性與高效性。Tensor Flow 工作流易于理解,能夠方便地構建和實現已有的復雜機器學習架構。 同時,目前已有多種高層接口構建在 Tensor Flow 之上,如 Keras、Sk Flow 等。Tensor Flow庫的高性能、高效率特征,還可以將硬件的計算潛能全部發揮出來。③促進科學研究進程。以往研究者在科研中的算法需要大量的編碼工作才能轉化為產品,而使用 Tensor Flow 可以幫助研究者直接嘗試新的算法,通過訓練和使用模型,更便捷地將研究成果轉化為實際產品,故有效地提高了科研產出率。④良好的技術支持與完善的社區。Google 投入了巨大的資源為 Tensor Flow提供支持和引導并且鼓勵社區參與,使用者通過廣泛的社區支持可以方便地獲取幫助。
主要開源框架的比較
當前,Google Microsoft、Facebook 等科技公司和多家研究機構都推出了開源的人工智能與機器學習框架,其中主要開源框架的比較如表 1 所示。結果顯示,較之 Caffe、MXNet、CNTK、Theano、Torch、Paddle Paddle 等主要開源框架,Tensor Flow 在架構設計、性能、應用等方面的表現均更為出色。
Tensor Flow 的應用原則
Tensor Flow 為人工智能的研究與開發提供了良好的基礎和支持。例如在應用開源系統進行教育人工智能系統的設計與實現時,需要遵循以下原則:
設計方面:從需求出發,圍繞用戶、目標、問題和場景展開
在人工智能研究中,要注意“人工智能教育不同于娛樂游戲產品,無論是應還是市場開發,都必須充分尊重教育自身規律。”設計教育人工智能產品是在設計一個具有主動學習、成長、預測能力的系統,用戶、目標、問題和場景是進行教育人工智能系統設計時需特別注意考慮的要素。從教育需求出發,用戶群分析和目標分析是進行系統設計的前提,而明確應用場景和要解決的問題是進行系統設計的關鍵。在此基礎上,通過教師、教學設計者、教學軟件開發者的共同參與,完成系統的模型構建和功能模塊設計。
實現方面:從教學模型到教育產品,發揮開源系統優勢
在具體的實現方面,應充分發揮 Tensor Flow 開源系統的優勢,選擇合適的 Tensor Flow 技術和相關技術,將系統模型從教學研究變成教育產品,具體可以下方面著手:①在應用中可以使用 Tensor Flow Serving 導出和應用模型——Tensor Flow Serving 是一個高性能的服務系統,用于運行通過機器學習得到的模型,使模型能夠更迅速、更便捷地進入產品開發過程;②可以通過 Tensor Flow Ecosystem 與多種開源框架融合,實現不同開發環境和系統的互通;③在基于Tensor Flow 教育人工智能系統的應用中,注意充分發揮其分布式、可擴展性、跨平臺性等優勢。