2016AI巨頭開源IP盤點 50個最常用的深度學習庫
Data Science Central 網站主編、有多年數據科學和商業分析模型從業經驗的 Bill Vorhies 曾撰文指出,過去一年人工智能和深度學習最重要的發展不在技術,而是商業模式的轉變——所有巨頭紛紛將其深度學習 IP 開源。 毋庸置疑,“開源浪潮”是 2016 年人工智能領域不可忽視的一大趨勢,而其中最受歡迎的項目則是谷歌的深度學習平臺 TensorFlow。下文就從 TensorFlow 說起,盤點 2016 年 AI 開源項目,最后統計了 Github 最常用深度學習開源項目 Top 50。
谷歌開源:圍繞 TensorFlow 打造深度學習生態圈
1. Google 第二代深度學習引擎 TensorFlow 開源
2015 年 11 月,谷歌開源深度學習平臺 TensorFlow。2016 年 4 月,谷歌推出了分布式 TensorFlow。現在,TensorFlow 已經成為業內最受歡迎的深度學習平臺之一。
2. 谷歌開源全球最精準語言解析器 SnytaxNet
2016 年 5 月 13 日,Google Research 宣布,世界準確度最高的自然語言解析器 SyntaxNet 開源。谷歌開源再進一步。據介紹,谷歌在該平臺上訓練的模型的語言理解準確率超過 90%。SyntaxNet 是一個在 TensoFlow 中運行的開源神經網絡框架,提供自然語言理解系統基礎。谷歌公開了所有用用戶自己的數據訓練新 SyntaxNet 模型所需要的代碼,以及谷歌已經訓練好的,可用于分析英語文本的模型 Paesey McParseface。
Paesey McParseface 建立于強大的機器學習算法,可以學會分析句子的語言結構,能解釋特定句子中每一個詞的功能。此類模型中,Paesey McParseface 是世界上最精確的,谷歌希望它能幫助對自動提取信息、翻譯和其他自然語言理解(NLU)中的應用感興趣的研究者和開發者。
3. 谷歌推出 Deep&Wide Learning,開源深度學習 API
2016 年 6 月 29 日,谷歌推出 Wide & Deep Learning,并將 TensorFlow API 開源,歡迎開發者使用這款最新的工具。同時開源的還有對 Wide & Deep Learning 的實現,作為 TF.Learn 應用程序接口的一部分,讓開發者也能自己訓練模型。
4. 谷歌開源 TensorFlow 自動文本摘要生成模型
2016 年 8 月 25 日,谷歌開源了 TensorFlow 中用于文本信息提取并自動生成摘要的模型,尤其擅長長文本處理,這對自動處理海量信息十分有用。自動文本摘要最典型的例子便是新聞報道的標題自動生成,為了做好摘要,機器學習模型需要能夠理解文檔、提取重要信息,這些任務對于計算機來說都是極具挑戰的,特別是在文檔長度增加的情況下。
5. 谷歌開源圖像分類工具 TF-Slim,定義 TensorFlow 復雜模型
2016 年 8 月 31 日,谷歌宣布開源 TensorFlow 高級軟件包 TF-Slim,能使用戶快速準確地定義復雜模型,尤其是圖像分類任務。自發布以來,TF-Slim 已經得到長足發展,無論是網絡層、代價函數,還是評估標準,都增加了很多類型,訓練和評估模型也有了很多便利的常規操作手段。這些手段使你在并行讀取數據或者在多臺機器上部署模型等大規模運行時,不必為細節操心。此外,谷歌研究員還制作了 TF-Slim 圖像模型庫,為很多廣泛使用的圖像分類模型提供了定義以及訓練腳本,這些都是使用標準的數據庫寫就的。TF-Slim 及其組成部分都已經在谷歌內部得到廣泛的使用,很多升級也都整合進了 tf.contrib.slim。
6. 谷歌開源大規模數據庫,10 億+數據,探索 RNN 極限
2016 年 9 月 13 日,谷歌宣布開源大規模語言建模模型庫,這項名為“探索 RNN 極限”的研究今年 2 月發表時就引發激論,如今姍姍來遲的開源更加引人矚目。研究測試取得了極好的成績,另外開源的數據庫含有大約 10 億英語單詞,詞匯有 80 萬,大部分是新聞數據。這是典型的產業研究,只有在谷歌這樣的大公司才做得出來。這次開源也應該會像作者希望的那樣,在機器翻譯、語音識別等領域起到推進作用。
7. 谷歌開源 TensorFlow 圖說生成模型,可真正理解圖像
2016 年 9 月 23 日,谷歌宣布開源圖說生成系統 Show and Tell 最新版在 TensorFlow 上的模型。該系統采用編碼器-解碼器神經網絡架構,分類準確率達 93.9%,在遇到全新的場景時能夠生成準確的新圖說。谷歌表示,這說明該系統能夠真正理解圖像。
8. 谷歌開源超大數據庫,含 800 萬+視頻
2016 年 9 月 28 日,谷歌在官方博客上宣布,將含有 800 萬個 油Tube 視頻 URL 的視頻數據庫開源,視頻總時長達到了 50 萬個小時。一并發布的還有從包含了 4800 個知識圖譜分類數據集中提取的視頻級別標簽。這一數據庫在規模和覆蓋的種類上都比現有的視頻數據庫有顯著提升。例如,較為著名的 Sports-1M 數據庫,就只由 100 萬個 油Tube 視頻和 500 個運動類目。谷歌官方博客上說,在視頻的數量和種類上,油Tube-8M 代表的是幾乎指數級的增長。
9. 谷歌發布 Open Images 圖片數據集,包含 900 萬標注圖片
2016 年 10 月 1 日,繼前天發布 800 萬視頻數據集之后,谷歌又發布了圖片數據庫 Open Images,包含了 900 萬標注數據,標簽種類超過 6000 種。谷歌在官方博客中寫到,這比只擁有 1000 個分類的 ImageNet 更加貼近實際生活。對于想要從零開始訓練計算機視覺模型的人來說,這些數據遠遠足夠了。就在 12 月,谷歌還開源了 Open Images 并行下載工具的腳本,5 天速度最高超過 200 M。
10. DeepMind 開源 AI 核心平臺 DeepMind Lab(附論文)
2016 年 12 月 5 日,DeepMind 宣布將其 AI 核心平臺 DeepMind Lab 開源。DeepMind 實驗室把全部代碼上傳至 Github,供研究人員和開發者進行實驗和研究。DeepMind Lab 這一平臺將幾個不同的 AI 研究領域整合至一個環境下,方便研究人員測試 AI 智能體導航、記憶和 3D 成像等能力。值得一提的是,這些代碼也包括 AlphaGO 的代碼,谷歌希望以此增加 AI 能力的開放性,讓更多開發者參與 AI 研究,觀察其他開發者是否能夠挑戰并打破 DeepMind 現在的紀錄。
非死book 開源:貫徹理念
1. 非死book 開源圍棋引擎 DarkForest
6 個月前,非死book 將其圍棋引擎 DarkForest 開源。現在訓練代碼已經全部發布。Github 鏈接:https://github.com/非死bookresearch/darkforestGo。
2. 非死book 開源文本分類工具 fastText,不用深度學習也可以又快又準
2016 年 8 月 19 日,非死book AI 實驗室(FAIR)宣布開源文本分析工具 fastText。fastText 既可以用于文本分類,又能用于學習詞匯向量表征。在文本分類的準確率上與一些常用的深度學習工具不相上下,但是在時間上卻快很多——模型訓練時間從幾天減少到幾秒。除了文本分類,fastText 也能被用于學習詞語的向量表征,非死book 稱 fastText 比常用的 Word2vec 等最先進的詞態表征工具表現都要好得多。
3. 非死book 開源計算機視覺系統 deepmask,從像素水平理解圖像(附論文及代碼)
2016 年 8 月 26 日,非死book 宣布開源計算機視覺系統 deepmask,稱該系統能“從像素水平理解物體”,非死book 希望開源能加速計算機視覺的發展。不過,非死book 并沒有在自家產品中使用這些工具,像這樣落實到具體應用前就開源,跟通常所說的“開源”有些不同。對此,非死book 人工智能團隊 FAIR 的負責人 Yann LeCun 曾表示,正是因為 FAIR 做基礎的、不受制于公司短期效益的研究,才能真正推進人工智能技術發展。
4. 非死book 開源 AI 訓練和測試環境 CommAI-env
2016 年 9 月 27 日,非死book 宣布開放 AI 訓練和測試環境 CommAI-env,可以用任何編程語言設置智能體。據介紹,CommAI-env 這個平臺用于訓練和評估 AI 系統,尤其是注重溝通和學習的 AI 系統。與用強化學習從玩游戲到下圍棋都能做的 OpenAI Gym 不同,非死book 的 CommAI-env 側重基于溝通的訓練和測試,這也是為了鼓勵開發人員更好地打造能夠溝通和學習的人工智能,呼應該公司的十年規劃。非死book 還表示,CommAI-env 會持續更新,并在成熟后舉辦競賽推進 AI 的開發。
在 AI 測試環境方面,非死book 還開源了 CommNet,這是一個讓基于神經網絡的代理更好交互、實現合作而研發的模型,與 CommAI-env 配套。12 月,非死book 還開源了 TorchCraft,在深度學習環境 Torch 與星際爭霸之間搭起了橋梁,方便研究人員使用控制器,編寫能夠玩星際爭霸游戲的智能代理。
5. 非死book 賈揚清發文介紹 Caffe2go,手機就能運行神經網絡
2016 年 11 月 8 日,Caffe 作者、非死book 研究員賈揚清在官方網站上發文介紹了新的機器學習框架 Caffe2go,并表示在接下來的幾個月將其部分開源。Caffe2go 規模更小,訓練速度更快,對計算性能要求較低,在手機上就行運行,已經成為 非死book 機器學習的核心技術。
OpenAI
1. OpenAI 推出代理訓練環境 OpenAI Gym
創立于 2015 年底的非盈利機構 OpenAI 的成立打破了谷歌、非死book 等巨頭霸占 AI 領域的格局,但其創始人、特斯拉 CEO 馬斯克多次發表人工智能威脅論。馬斯克創立 OpenAI 目的何在?2016 年 5 月 4 日,OpenAI 發布了人工智能研究工具集 OpenAI Gym,用于研發和比較強化學習算法,分析 OpenAI Gym 或可找出馬斯克的真正動機。
2. 另一種開源:OpenAI 介紹深度學習基礎框架
2016 年 8 月 30 日,OpenAI 研究員在博客發文,結合實例介紹了 OpenAI 進行深度學習研究時采用的基礎設施配置,并且提供了相關開源代碼。文章激起了很多反響,相對于軟硬件開源,OpenAI 從另一個側面,對深度學習模型的實際部署提供了幫助。
3. OpenAI 重磅發布 AGI 測試訓練平臺 Universe
2016 年 12 月 4 日,在今年 NIPS 大會召開的前一晚,OpenAI 發布了 Universe,用于訓練解決通用問題 AI 的基礎架構。據悉,這是一個能在幾乎所有環境中衡量和訓練 AI 通用智能水平的開源平臺,目標是讓智能體能像人一樣使用計算機。目前,Universe 已經有 1000 種訓練環境,由微軟、英偉達等公司參與建設。有了 Universe,任何程序都能被接入到 OpenAI Gym 的環境中。很快,OpenAI 還推出了 Mini World of Bits(MiniWoB),這個與 OpenAI Universe 配套的環境基準可以測試代理與常見網頁瀏覽器元素的交互能力,比如按鈕、文本框、滑塊。
微軟開源:CNTK 升級版
根據 Github 2016 年度的《Octoverse 觀察報告》,微軟不僅是擁有開源項目最多的公司,也是貢獻人數最多的公司。
在人工智能方面,微軟的開源項目有很多,包括 CNTK 計算網絡工具包、DMTK 分布式機器學習工具包,Send2vec 語義相似映射器, 以及 CodaLab 研究平臺(基于 Web 的開源平臺,旨在通過其在線社區幫助解決數據導向的許多常見問題,從而促進機器學習和高性能計算的研究領域的發展)。
2016 年 10 月 27 日,微軟開源深度學習認知工具包 CNTK 升級版,其中最矚目的功能是增加了 Python 綁定,支持增強學習。新版的 CNTK 性能大幅提升,尤其是在多臺機器上處理較大數據集的情況下能高速運行,這種類型的大規模部署對于多 GPU 上的深度學習是不可或缺的,也是開發消費產品和專業產品的必需。
微軟研究人員表示,在多服務器間運行的能力是一大進步。CNTK 升級版還包含了一些算法,用于將大規模數據處理的計算消耗降到最低。
百度
1. 百度開源深度學習代碼 Warp-CTC 詳解
2016 年 1 月 15 日,百度公布了代碼 Warp-CTC,能夠讓 AI 軟件運行得更高效。說 Warp-CTC 知道的人可能還少,百度語音識別系統 Deep Speech 2 就是用它搭建的。百度位于硅谷的 AI 實驗室主管 Adam Coates 在接受 Re-Work 采訪時表示,他們在構建深度語音端對端系統的過程中發明了 Warp-CTC 方法,進而使用 CTC 提高模型的可伸縮性。“由于沒有相似的工具,我們決定將其分享給人們。它是一款很實用的工具,可以用到現有的 AI 框架中。現在有很多深度學習的開源軟件,但是之前用于訓練序列數據的端對端網絡一直很慢。我們在 Warp-CTC 上的投入是對“我們堅信深度學習與高性能計算技術(HPC)的結合會有巨大潛力”的一種證明。”
2. 百度開源分布式深度學習平臺,挑戰 TensorFlow(附教程)
2016 年 8 月 31 日,百度宣布開源深度學習平臺 PaddlePaddle。實際上,百度深度學習實驗室在幾年前就投入 PaddlePaddle 的開發,業內對這個云端托管的分布式深度學習平臺贊譽有加:代碼簡潔、設計干凈,沒有太多抽象……PaddlePaddle 對于序列輸入、稀疏輸入和大規模數據的模型訓練有著良好的支持,支持 GPU 運算,支持數據并行和模型并行,僅需少量代碼就能訓練深度學習模型,大大降低了用戶使用深度學習技術的成本。
3. 百度公開硬件基準 DeepBench,推動深度學習專用芯片研發競爭
2016 年 9 月,百度發表論文,開源 DeepBench 基準測試,AI 研究者和芯片制造商可以用它測試不同的芯片運行軟件時的性能,尤其是哪款硬件加速深度學習性能最好。目前 DeepBench 只能測試深度學習的訓練模型,能提供在三種 Nvidia GPU 和一種 Intel Xeon Phi 處理器的基準化測試結果,未來還可能測試用于圖像和語音識別之類任務的“推理”模型。百度希望 DeepBench 能促進特定任務深度學習加速器的研發,“GPU 顯然不是終點,我們希望這能鼓勵競爭”。
GitHub 最受歡迎的深度學習項目
名稱 | 星數 | 簡介 |
---|---|---|
TensorFlow | 29622 |
使用數據流圖計算可擴展機器學習問題 |
Caffe |
11799 | 一個高效的開源深度學習框架 |
Neural Style |
10148 |
由 Torch 實現的神經網絡算法 |
Deep Dream |
9042 |
一款圖像識別工具 |
Keras |
7502 |
一款由 Python 實現的深度學習庫,包括卷積神經網絡、遞歸神經網絡等。運行在 Theano 和 TensorFlow 之上 |
Roc AlphaGo |
7170 |
由學生主導的一個獨立項目,重新實現了 DeepMind 在 2016 發表于 Nature 論文"Mastering the game of Go with deep neural networks and tree search(用深度神經網絡和樹搜索學習圍棋)" (Nature 529, 484-489, 28 Jan 2016) |
TensorFlow Models |
6671 |
基于 TensorFlow 開發的模型 |
Neural Doodle |
6275 |
運用深度神經網絡將涂鴉變為優雅的藝術品,從照片生成無縫紋理,轉變圖片風格,進行基于實例的提升,等等。(語義風格傳遞的實現) |
CNTK |
5957 |
微軟的計算網絡工具(Computational Network Toolkit,CNTK) |
TensorFlow Examples |
5872 |
面向初學者的 TensorFlow 教程和代碼示例 |
ConvNet JS |
5231 |
基于 Java 的深度學習庫。在瀏覽器中訓練卷積神經網絡模型(或者普通模型) |
Torch |
5133 |
Torch7,深度學習庫 |
OpenFace |
4855 |
基于深度學習網絡的面部識別 |
MXNet |
4685 |
輕巧、便攜、靈活的分布式/移動深度學習框架,支持 Python, R, Julia, Scala, Go, Java 等等語言 |
Nupic |
4364 |
智能計算的 Numenta 平臺(Numenta Platform for Intelligent Computing,Nupic):一個腦啟發式的計算智能和機器智能平臺,基于皮層學習算法的生物精確神經網絡模型 |
Theano |
4286 |
一個 Python 庫,用來定義、優化和模擬數學表達式計算,用于高效解決多維數組的計算問題 |
Leaf |
4281 |
面向黑客的開源機器智能框架 |
Char RNN |
3820 |
基于 Torch 開發的多層遞歸神經網絡的字符級別語言模型 |
Neural Talk |
3694 |
一個 Python+numpy 項目,用多模式遞歸神經網絡描述圖像 |
deeplearning4j |
3673 |
基于 Hadoop 和 Spark 的 Java, Scala & Clojure 深度學習工具 |
TFLearn |
3368 |
深度學習庫,包括高層次的 TensorFlow 接口 |
TensorFlow Playground |
3352 |
神經網絡模型示例 |
OpenAI Gym |
3020 |
一種用于開發和比較強化學習算法的工具包 |
Magenta |
2914 |
用機器智能生成音樂和藝術 |
Colornet |
2798 |
用神經網絡模型給灰度圖上色 |
Synaptic |
2666 |
基于 node.js 和瀏覽器的免架構神經網絡庫 |
Neural Talk 2 |
2550 |
Torch 開發的圖像簡介生成 GPU 運行代碼 |
Image Analogies |
2540 |
使用神經匹配和融合生成相似圖形 |
TensorFlow Tutorials |
2413 |
Tensorflow 的基礎原理到應用 |
Lasagne |
2355 |
基于 Theano 訓練和構建神經網絡的輕型函數庫 |
PyLearn2 |
2153 |
基于 Theano 的機器學習庫 |
LISA-lab Deep Learning Tutorials |
2134 |
深度學習教程筆記和代碼 |
Neon |
2121 |
Nervana 開發的一款快速、可擴展、易使用的 Python 深度學習框架 |
Matlab Deep Learning Toolbox |
2032 |
Matlab/Octave 的深度學習工具箱。包括深度信念網絡、自動編碼機、卷積神經網絡、卷積自動編碼機和 vanilla 神經網絡等。每種方法都有入門示例 |
Deep Learning Flappy Bird |
1721 |
使用深度強化學習破解 Flappy Bird 游戲 |
Chainer |
1573 |
一款靈活的深度學習神經網絡框架 |
Neural Story Teller |
1514 |
一種根據圖片生成故事的遞歸神經網絡模型 |
DIGITS |
1353 |
深度學習 GPU 訓練系統 |
Deep Jazz |
1229 |
基于 Keras 和 Theano 生成 jazz 的深度學習模型 |
Brainstorm |
1143 |
快速、靈活、有趣的神經網絡 |
Darknet |
937 |
C語言版本的開源神經網絡 |
Theano Tutorials |
904 |
基于 Theano 的機器學習入門教程,從線性回歸到卷積神經網絡 |
RNN Music Composition |
904 |
一款生成古典音樂的遞歸神經網絡工具 |
Blocks |
866 |
一種用于構建和訓練神經網絡模型的 Theano 框架 |
TDB |
860 |
TensorFlow 的交互式、節點調試和可視化的工具 |
Scikit Neural Net |
849 |
深度神經網絡入門工具,類似 scikit-learn 的分類器和回歸模型。 |
Veles |
760 |
分布式機器學習平臺(Python, CUDA, OpenCL) |
Deep Detect |
759 |
基于C++11 的深度學習接口和服務器,與 Python 綁定并支持 Caffe |
TensorFlow DeepQ |
759 |
基于 Google Tensorflow 的 deep Q learning 演示 |
Caffe on Spark |
724 |
基于 Spark 的 Caffe |
Nolearn |
702 |
神經網絡庫的抽象,著名的 Lasagne |
DCGAN TensorFlow |
568 |
基于 tensorflow 實現的深度卷積生成對抗網絡 |
MatConvNet |
479 |
MATLAB 卷積神經網絡工具箱,用于計算機視覺應用 |
DeepCL |
413 |
用于訓練深度卷積神經網絡模型的 OpenCL 庫 |
Visual Search Server |
304 |
用 Tensorflow Inception 模型和近似最近鄰的視覺搜索 |
來自: 新智元