Theano:哪個最適合學人工智慧?

所以在過去的幾個月裡,我一直花費大量時間與TensorFlow和Keras(在Keras下使用TensorFlow)合作,而且我一直在討論何時應該使用哪個工具集。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

對於那些還沒有使用Keras的人來說,它是一個Python庫,專為簡單的神經網絡組裝而設計,帶有大量預先打包的網絡類型,從二維和三維風格的卷積網絡到長期 - 和短期網絡,更普遍的經常性網絡。使用Keras構建網絡是直截了當的 - 雖然確切地確定要構建的網絡不是。 Keras在其API設計中使用的語義非常面向層,使得網絡組裝相對直觀。

另一方面,TensorFlow可以說更強大 - 但並沒有所有預先打包的網絡。它也沒有包含Keras所做的許多數據集或操作實用程序。但是,它確實可以構建任意複雜的神經架構。

請記住:Keras非常注重層次。並非所有網絡都使用嚴格的分層。如果我們對某些元素跳過某個給定層以便在後面的層中使用的設計感興趣,那麼在Keras中實現它會變得有點複雜。在TensorFlow中,您可以更好地控制網絡,這種實現更容易實現。如果您正在使用已知的網絡設計並以新的方式組合它們,或將它們應用於新數據,那麼Keras就無法被擊敗。但如果您正在設計新型網絡,TensorFlow似乎是最佳選擇。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

但事實上,一旦你實現了新的網絡架構,能夠重用該架構真的可以讓你的生活更輕鬆。實際上,您可以實現將數據傳遞到更高層的自定義圖層,或者執行更復雜的事務。

那麼,你最好的選擇?兩者兼用。在實施新數據時使用Keras,在實施新模型時使用TensorFlow。完成TensorFlow模型後,移植到Keras並添加到您的個人庫(甚至更好的Keras項目)。這樣,您可以專注於構建這些類型系統時需要處理的其他事項:格式化輸入數據,評估結果,調整超參數,這類事情。這種方法也適用於Theano,以及您喜歡的任何其他深度學習框架。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

這就是我所做的事情:我使用TensorFlow進行原型設計,然後使用Keras和Keras原語構建最終模型以實現可移植性。這樣,我得到了兩全其美。這樣做,你也會這樣做。

拓展閱讀:谷歌AI芯片新品,運算速度快、還省電?

AIY Project 新產品: AIY Edeg TPU Dev Board 及 AIY Edge TPU Accelerator

在2017 年上半年,谷歌宣佈了一個新的開源計劃--AIY Projects(AIY計劃),其目標是讓每個Maker(創客)都能DIY自己的 AI 人工智能產品,讓更多人能學習、探索並體驗人工智能。AIY 全稱是 Artificial Intelligence Yourself,顧名思義就是利用 AI 來進行的 DIY 功能套件。藉助 AIY 項目,創客可以利用人工智能來實現更像人與人交流的人機交互。谷歌目前為 AIY Projects 推出了兩款硬件產品--AIY Voice Kit 和 AIY Vision Kit。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

AIY Voice Kit(語音套件) 作為一款語音開發工具,可以連接雲服務,如 Google 的 Assistant SDK 或者 Cloud Speech API。用戶可在此基礎上創建虛擬語音助手、為自己的項目添加語音交互功能。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

AIY Vision Kit(視覺套件)是一套簡單的計算機視覺系統,可運行 3 種基於 TensorFlow 的類神經網路模型應用程序。Vision Kit 谷歌首個在設備上提供神經網絡加速的項目,能在不連接到雲的情況下提供計算機視覺支持,也就說,用戶可以離線使用。

TensorFlow / Keras / Theano:哪個最適合學人工智能?

這次 AIY 計劃推出兩款新品,首先是 Edge TPU 。Edge TPU 是谷歌專用的 ASIC 芯片,專為在 Edge 運行 TensorFlow Lite ML 模型而設計, 用來處理 AI 預測部分。它的特點是比訓練模型的計算強度要小。而且 Edge TPU 還可以自己運行計算,不需要與多臺強大計算機相連,因此應用程序可以更快、更可靠地工作。它們可以在傳感器或網關設備中與標準芯片或微控制器共同處理 AI 工作。


分享到:


相關文章: