谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

 2016-12-31 10:19:00.0

在人工智能行業,2015-2016 出現了一個不同尋常的趨勢:許多重量級機器學習項目紛紛走向開源,與全世界的開發者共享。加入這開源大潮的,不僅有學界師生,更有國內外的互聯網巨頭們:國內有百度和騰訊,國外的有谷歌、微軟、IBM、Facebook、OpenAI 等等。本文總結了國外各家互聯網巨頭的七大開源機器學習項目:

Google:TensorFlow

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

TensorFlow 發佈於 2015 年 11 月,是谷歌基於 DistBelief 研發的第二代機器學習系統。它是一個能處理多種語言理解和認知任務的開源軟件庫。它最初由谷歌大腦(Google Brain)的研究人員開發出來,用於機器學習和深度神經網絡方面的研究。但它的通用性使其也可廣泛用於其他計算領域。在谷歌,TensorFlow 已用來支持 Gmail、谷歌相冊、語音識別、搜索等旗下多款商業化應用。許多開發者把它看作是 Theano 的替代品:這兩者都採用了計算圖( computational graph)。

現在, TensorFlow 發佈已超過一週年,它已成爲 GitHub 上最受歡迎的機器學習開源項目。並且,谷歌已爲它加入了官方 Windows 支持。

優點:

  • 谷歌表示,TensorFlow 的優點在於:通用,靈活,可移動,容易上手並且完全開源。對於部分任務,它的運行速度能達到上代 DistBelief 的兩倍。

  • TensorFlow 不僅僅是深度學習工具,它還支持強化學習以及其他算法。

  • 它既可用來做研究,又適用於產品開發。

  • 但 TensorFlow 最大的優點,應該是用的人多——它是 AI 開發者社區參與度和普及程度最高的開源項目之一。Cambrio 的 CEO Daniel Kuster 表示:「寫出能讓機器編譯、執行的代碼或許不難,但讓同行們接受就十分不容易了。越多人用,越多的人分擔(難題)。」

缺點:

計算資源分配機制使系統更復雜:爲使用戶精確控制 GPU 節點的使用情況,TensorFlow 犧牲了簡潔。另外,啓動時它會試圖佔用全部的可用顯存。

評價:

微軟機器學習研究員彭河森表示, TensorFlow 是非常優秀的跨界平臺:它吸取了已有平臺的長處,既能讓用戶觸碰底層數據,又具有現成的神經網絡模塊,可以讓用戶非常快速的實現建模。

更多請參考,雷鋒網整理的真正從零開始,TensorFlow詳細安裝入門圖文教程!以及谷歌 TensorFlow 一歲啦,它是最受歡迎的機器學習開源項目

Google:DeepMind Lab

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

這家精通 AI 訓練的公司,以在圍棋上五局四勝擊敗李世石的 ALphaGo 揚名於世。這成爲 2016 年的 AI 里程碑事件。被谷歌收購後,更使後者的江湖地位得到鞏固。

本月初,DeepMind 宣佈把 AI 訓練平臺 Labyrinth 開源,並改名爲 DeepMind Lab。

沒錯,這就是之前的那個「迷宮遊戲」:

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

它是針對基於代理的 AI 研究而開發的 3D 訓練平臺。DeepMind 表示,它爲學習代理提供了一系列頗具挑戰的三維探索和解謎任務。該項目旨在爲 AI 研究、尤其是深度強化學習提供試驗田。

所有場景使用科幻劇風格進行渲染。它採用了第一人稱視察方式:通過代理的視角。代理的軀體是一個漂浮的圓球,通過啓動背後的推進器前進。「遊戲」中,代理可以在 3D 空間中移動,轉動「頭部」觀察周圍環境。

DeepMind Lab 具有高度可定製、可擴展性。新的等級可以通過現成的編輯工具製作。另外,DeepMind Lab 包括了綱領性等級創建的交互界面。不同等級可以從多方面來定製:遊戲邏輯、撿落物品、旁觀、等級重啓,獎勵機制,遊戲內信息等等。

DeepMind 聯合創始人 Shane Legg 表示,DeepMind Lab 比其他的 AI 訓練環境要出色,因爲其遊戲環境非常複雜。此前,通過改良傳統深度增強學習方法,Deepmind 使代理以高於 A3C(DeepMind 另一個現役代理) 十倍的速度學習,並平均在每個迷宮層達到人類專家水平的 87% 。

DeepMind Lab 的源代碼公佈於 GitHub,它目前需要依賴於外部軟件庫。由於發佈時間尚短,開發者社區對於 DeepMind Lab 的反饋很少。

關於 DeepMind Lab 的詳細信息,請參考繼 OpenAI 之後,DeepMind 開源深度學習訓練平臺 DeepMind LabDeepMind 黑科技!顛覆傳統強化學習方法,代理學習速度提高十倍(附視頻)

OpenAI:Universe

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

本月,正是這家馬斯克投資的初創公司一週歲生日。在月初的 NIPS 大會上,它宣佈對旗下 AI 訓練平臺 「Universe」(宇宙)開源。這是一個與 DeepMind Lab 十分類似的平臺,兩者宣佈開源的時間點也十分接近,這引發了公衆對兩者間競爭關係的猜想。

與 DeepMind Lab 相似,Universe 的目標也是給開發者們訓練、測試 AI 代理提供平臺。但對於它們之間的不同點,官方給出瞭解釋:

  • Universe 是一個在全世界的遊戲、網頁和其他應用中,評估、訓練智能代理的軟件平臺。

  • 代理使用了和人類一樣地感官輸入和控制方式:看到的是像素,控制的是鼠標鍵盤。這使得任何需要電腦來完成的任務,都可以訓練 AI 去做,並且與人類玩家較量。

這十分有野心。對於第一點,OpenAI 給出了進一步說明:Universe 包含上千種不同訓練環境,包括 Flash 遊戲,網頁任務,蛇蛇大作戰和俠盜獵車手5 這樣的遊戲。開發團隊在博客中說:「我們的目標是開發出一個單個 AI 代理,能靈活地把它過去的經驗應用於 Universe 場景中,來迅速掌握陌生、困難的環境。這會是走向通用智能的關鍵一步。

OpenAI 認爲深度學習系統過於專業化:「AlphaGo 能在圍棋上輕鬆贏你,但是你無法教會它其他棋牌遊戲,然後讓它跟你玩。」於是,Universe 使得 AI 能夠處理多種類型的任務,讓它發展出「關於世界的知識和解決問題的戰術,並能有效應用於新任務。」

雷鋒網消息,OpenAI 已經拿到了 EA,微軟工作室,Valve 和其他公司的許可,以使用銀河飛將3,傳送門和環世界 (Rimworld) 等遊戲。OpenAI 還在積極聯繫其他公司、開發者和用戶,尋找更多遊戲的許可,用不同 Universe 任務訓練代理,並把新遊戲整合入系統。

雷鋒網(公衆號:雷鋒網)此前對 OpenAI 和 Universe 做了深度報道,請參考 OpenAI發佈「宇宙」平臺,用1000+訓練環境賦予AI「類人智力」與終結者對抗,鋼鐵俠馬斯克10億美金打造的Open AI究竟是什麼?以及強強聯合,微軟與 OpenAI 合力佈局人工智能

對於爲什麼 OpenAI 和 DeepMind 會一前一後選擇開源,外媒 Engadget 認爲,目前 AI 已經發展到新階段——需要更多的學習數據,所以通常情況下「較封閉」的科技公司會選擇對外合作。當然,2015-2016 的這波開源大潮中,AI 行業各成員展示出的與公衆分享研究成果的精神,也值得肯定。

Facebook:FastText

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

與上面兩者不同,今年八月 Facebook 推出的 FastText 是一個文本分析工具,旨在爲「文本表示和分類」創建可擴展的解決方案。它專爲超大型數據庫的文本處理而設計,而該領域的另一個主要解決方案——深度神經網絡,處理海量數據時容易出現許多問題。Facebook AI 研究部門 「FAIR」 指出,深度神經網絡通常訓練、測試起來速度很慢。

FastText 能夠在幾秒鐘、或是幾分鐘之內完成大型數據庫的訓練。而基於深度學習的方法可能會花費幾小時甚至幾天。 FastText 已經能夠用於垃圾郵件過濾器等重要應用,但是,在將來它還可能爲 Siri 和 Google Now 這樣的 AI 提供幫助,使它們更快地處理自然語言。

Facebook 宣稱,這項新技術「對於超過 10 億個詞彙的訓練不超過十分鐘」,而這隻需要「普通」的多核 CPU。另外,它還能在五分鐘內對 30 萬個目錄下的 50 萬個句子進行分類。

詳情請參考 比深度學習快幾個數量級,詳解Facebook最新開源工具——fastText

Microsoft:CNTK

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

CNTK  的全稱是 Computational Network Toolkit,意爲「計算網絡工具箱」,它是一個讓開發者們把分佈式深度學習應用於他們各自項目的工具。微軟在今年一月將它對外發布,在十月份又進行了重大升級,使其有更快的速度和更好的擴展性。

微軟表示,CNTK 是一個「統一的深度學習工具箱,它把神經網絡描述爲通過有向圖進行的(directed graph)一系列計算步驟」。對於部分業內人士,它是其他深度學習框架、資料庫和工具箱(例如TensorFlow, Theano 和 Torch)的替代物。但其實,CNTK 最開始的用途是語音識別。雖然現在它已成爲通用的、獨立於平臺的深度學習系統,但相比通用深度學習社區,它在語音識別社區的知名度更高。

CNTK 支持對常用深度神經網絡架構的結構性執行,比如卷積神經網絡 (CNNs),循環神經網絡 (RNNs )和長短期記憶網絡 (LSTMs)。因此,它應用了隨機梯度下降 (SGD) 、反向傳播(SGD)和自動區分(auto differentiation)。CNTK 的一大優點是:它支持多個計算設備以及多個 GPU 的計算。相比之下, TensorFlow 最近纔開始加入對橫跨不同計算設備的運算支持。

在內部測試中微軟首席語音科學家黃學東表示,在開發者們爲語音、圖像識別任務創建深度學習模型方面, CNTK 被證明比其他四種主流工具箱都要快。他說:

「與任何已知的方法相比,CNTK 難以置信得快。」

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

CNTK、Theano、TensorFlow、Torch 7、Caffe 之間的 GPU 運算速度對比。豎軸是幀/每秒,藍色柱代表單個 GPU,橙柱代表一組四個 GPU,綠柱代表兩組四個 GPU。測試時,其他工具箱尚不支持多計算設備,Theano 不支持多 GPU。

以下是微軟官方宣傳中 CNTK 的三大優點:

  • 速度和擴展性

CNTK 訓練和評估深度學習算法比其他工具箱都要快,在一系列情況下的可擴展性都非常好——不管是一個 CPU、多個 GPU、還是多個計算機,與此同時保持效率

  • 商用級別的質量

CNTK 的複雜算法使它能在海量數據庫中穩定運行。Skype、微軟小冰、必應搜索、Xbox 和業內頂級的數據科學家已經在使用 CNTK 來開發商用 AI。

  • 兼容性

CNTK 提供了最有表達力、最容易使用的架構。它允許你使用所有內置訓練算法,或者使用你自己的。

關於 CNTK 的技術細節,請參考雷鋒網此前的深度分析:微軟爲什麼要用英偉達的GPU來支持CNTK? | GTC China 2016

Amazon:MXNet

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

MXNet 誕生於學界,並不是亞馬遜開發的開源平臺,但已成爲它的御用系統。

它是一個多語言的機器學習資料庫,旨在降低開發機器學習算法的門檻,尤其是對於深度神經網絡而言。它支持卷積神經網絡(CNN)以及 LSTMs( long short-term memory networks)。它通過把符號式編程(symbolic programming)和命令式編程(imperative programming)組合起來,以最大化效率和生產力。它的核心是一個 dependency scheduler,能同時進行符號式和命令式任務。這之上的圖優化層(graph optimization layer)使得符號式程序執行快速、高效。MXNet 具有輕便和可移動的特點,在設計之初就考慮到了對多 GPU 、多個計算機以及不同計算平臺的支持。從移動設備到分佈式 GPU 集羣,都可用於 MXNet。

國內的圖森互聯和地平臺機器人是 MXNet 的使用者之一。但真正使它聲名大噪的,是 11 月亞馬遜宣佈把 MXNet 選其爲官方深度學習平臺,用於亞馬遜網路服務系統 AWS,並將在未來成爲 MXNet 的主要貢獻者。亞馬遜表示,選擇 MXNet 有以下三點原因:

  1. 擴展到多 GPU 系統的潛力。這使得亞馬遜能充分利用計算性能。

  2. 開發速度和可編程性。亞馬遜希望選擇一個開發者能快速上手的平臺。

  3. 移動能力。限制在大型服務器運行的機器學習應用,價值有限。亞馬遜希望能在多種計算設備運行機器學習工具。

MXNet 創始者之一的解浚源表示:「MXNet的速度,節省內存,接口靈活性,和分佈式效率都是可圈可點。」

更多請見 預告:MXNet火了,AI從業者該如何選擇深度學習開源框架丨硬創公開課,以及 如何評價 MXNet 被亞馬遜AWS 選爲官方深度學習平臺

IBM:SystemML

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

SystemML 始於 2010 年,它的技術來自於 IBM 開發 Watson 的過程,最初是 IBM 爲 BigInsights 數據分析平臺而開發。2015 年,IBM 把它捐贈給 Apache Spark 開源社區,從此 SystemML 又被稱爲 Apache SystemML。它與 Apache 的另一個項目「Spark」 有着高度的整合

SystemML 爲使用大數據的機器學習提供了一個理想的環境。它可運行於 Apache Spark 之上,自動給一行行的數據標量(scale data),來決定你的代碼是否運行在驅動或是 Apache Spark 集羣之上。

SystemML 是一個機器學習算法的解碼器,幫助開發者創建用於不同工業領域預測分析的機器學習模型。開源版本的  SystemML,即 Apache SystemML,旨在幫助數據科學家把算法轉化到生產環境,而不需要重新編寫底層代碼。因次,IBM 號稱能把數據分析從筆記本電腦擴展到大數據中心。

IBM Analytics 副主席 Rob Thomas 表示:「這使專業領域或專門行業的機器學習成爲可能,給開發者帶來一系列的幫助,從底層代碼到定製應用。」

它有兩個優點:

  1.  表達定製邏輯分析有完全的靈活性。

  2. 數據獨立於輸入格式和物理數據表達。

更多請見雷鋒網此前報道:這下齊了,IBM也要開源機器學習平臺了

【兼職召集令!】

如果你對未來充滿憧憬,喜歡探索改變世界的科技進展,look no further!

我們需要這樣的你:

精通英語,對技術與產品感興趣,關注人工智能學術動態的蘿莉&萌妹子&技術宅;

文字不求妙筆生花,但希望通俗易懂;

在這裏,你會收穫:

一羣來自天南地北、志同道合的小夥伴;

前沿學術科技動態,每天爲自己充充電;

更高的生活品質,翻翻文章就能掙到零花錢;

有意向的小夥伴們把個人介紹/簡歷發至 guoyixin@leiphone.com,如有作品,歡迎一併附上。

相關文章:

AI 從業者該如何選擇深度學習開源框架丨硬創公開課

機器學習年度 20 大開源項目花落誰家?(Python 版)

Comma.ai 開源惹煩惱,代碼開發者該爲自動駕駛事故負責嗎?

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

文章來源:雷鋒網