-1. Caffe
-2. CNTK
-3. Deeplearning4j
-4. DMTK
-5. H20
-6. Mahout
-7. MLlib
-8. NuPIC
-9. OpenNN
-10. OpenCyc
-11. Oryx 2
-12. PredictionIO
-13. SystemML
-14. TensorFlow
-15. Torch
人工智能artificial intelligence,AI是科技研究中最熱門的方向之一。像 IBM、谷歌、微軟、Facebook 和亞馬遜等公司都在研發(fā)上投入大量的資金、或者收購那些在機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、自然語言和圖像處理等領(lǐng)域取得了進(jìn)展的初創(chuàng)公司。考慮到人們對此感興趣的程度,我們將不會驚訝于斯坦福的專家在人工智能報(bào)告[1]中得出的結(jié)論:“越來越強(qiáng)大的人工智能應(yīng)用,可能會對我們的社會和經(jīng)濟(jì)產(chǎn)生深遠(yuǎn)的積極影響,這將出現(xiàn)在從現(xiàn)在到 2030 年的時(shí)間段里。”
在最近的一篇文章[2]中,我們概述了 45 個十分有趣或有前途的人工智能項(xiàng)目。在本文中,我們將聚焦于開源的人工智能工具,詳細(xì)的了解下最著名的 15 個開源人工智能項(xiàng)目。
開源人工智能
以下這些開源人工智能應(yīng)用都處于人工智能研究的最前沿。
1. Caffe
它是由賈揚(yáng)清[3]在加州大學(xué)伯克利分校的讀博時(shí)創(chuàng)造的,Caffe[4] 是一個基于表達(dá)體系結(jié)構(gòu)和可擴(kuò)展代碼的深度學(xué)習(xí)框架。使它聲名鵲起的是它的速度,這讓它受到研究人員和企業(yè)用戶的歡迎。根據(jù)其網(wǎng)站所言,它可以在一天之內(nèi)只用一個 NVIDIA K40 GPU 處理 6000 萬多個圖像。它是由伯克利視野和學(xué)習(xí)中心(BVLC)管理的,并且由 NVIDIA 和亞馬遜等公司資助來支持它的發(fā)展。
2. CNTK
它是計(jì)算網(wǎng)絡(luò)工具包Computational Network Toolkit的縮寫,CNTK[5] 是一個微軟的開源人工智能工具。不論是在單個 CPU、單個 GPU、多個 GPU 或是擁有多個 GPU 的多臺機(jī)器上它都有優(yōu)異的表現(xiàn)。微軟主要用它做語音識別的研究,但是它在機(jī)器翻譯、圖像識別、圖像字幕、文本處理、語言理解和語言建模方面都有著良好的應(yīng)用。
3. Deeplearning4j
Deeplearning4j[6] 是一個 java 虛擬機(jī)(JVM)的開源深度學(xué)習(xí)庫。它運(yùn)行在分布式環(huán)境并且集成在 Hadoop 和 Apache Spark 中。這使它可以配置深度神經(jīng)網(wǎng)絡(luò),并且它與 Java、Scala 和 其他 JVM 語言兼容。
這個項(xiàng)目是由一個叫做 Skymind 的商業(yè)公司管理的,它為這個項(xiàng)目提供支持、培訓(xùn)和一個企業(yè)的發(fā)行版。
4. DMTK
DMTK[7] 是分布式機(jī)器學(xué)習(xí)工具Distributed Machine Learning Toolkit的縮寫,和 CNTK 一樣,是微軟的開源人工智能工具。作為設(shè)計(jì)用于大數(shù)據(jù)的應(yīng)用程序,它的目標(biāo)是更快的訓(xùn)練人工智能系統(tǒng)。它包括三個主要組件:DMTK 框架、LightLDA 主題模型算法和分布式(多義)字嵌入算法。為了證明它的速度,微軟聲稱在一個八集群的機(jī)器上,它能夠“用 100 萬個主題和 1000 萬個單詞的詞匯表(總共 10 萬億參數(shù))訓(xùn)練一個主題模型,在一個文檔中收集 1000 億個符號,”。這一成績是別的工具無法比擬的。
5. H20
相比起科研,H2O[8] 更注重將 AI 服務(wù)于企業(yè)用戶,因此 H2O 有著大量的公司客戶,比如第一資本金融公司、思科、Nielsen Catalina、PayPal 和泛美都是它的用戶。它聲稱任何人都可以利用機(jī)器學(xué)習(xí)和預(yù)測分析的力量來解決業(yè)務(wù)難題。它可以用于預(yù)測建模、風(fēng)險(xiǎn)和欺詐分析、保險(xiǎn)分析、廣告技術(shù)、醫(yī)療保健和客戶情報(bào)。
它有兩種開源版本:標(biāo)準(zhǔn)版 H2O 和 Sparking Water 版,它被集成在 Apache Spark 中。也有付費(fèi)的企業(yè)用戶支持。
6. Mahout
它是 Apache 基金會項(xiàng)目,Mahout[9] 是一個開源機(jī)器學(xué)習(xí)框架。根據(jù)它的網(wǎng)站所言,它有著三個主要的特性:一個構(gòu)建可擴(kuò)展算法的編程環(huán)境、像 Spark 和 H2O 一樣的預(yù)制算法工具和一個叫 Samsara 的矢量數(shù)學(xué)實(shí)驗(yàn)環(huán)境。使用 Mahout 的公司有 Adobe、埃森哲咨詢公司、Foursquare、英特爾、領(lǐng)英、Twitter、雅虎和其他許多公司。其網(wǎng)站列了出第三方的專業(yè)支持。
7. MLlib
由于其速度,Apache Spark 成為一個最流行的大數(shù)據(jù)處理工具。MLlib[10] 是 Spark 的可擴(kuò)展機(jī)器學(xué)習(xí)庫。它集成了 Hadoop 并可以與 NumPy 和 R 進(jìn)行交互操作。它包括了許多機(jī)器學(xué)習(xí)算法如分類、回歸、決策樹、推薦、集群、主題建模、功能轉(zhuǎn)換、模型評價(jià)、ML 管道架構(gòu)、ML 持久、生存分析、頻繁項(xiàng)集和序列模式挖掘、分布式線性代數(shù)和統(tǒng)計(jì)。
8. NuPIC
由 Numenta[11] 公司管理的NuPIC[12] 是一個基于分層暫時(shí)記憶Hierarchical Temporal Memory,HTM理論的開源人工智能項(xiàng)目。從本質(zhì)上講,HTM 試圖創(chuàng)建一個計(jì)算機(jī)系統(tǒng)來模仿人類大腦皮層。他們的目標(biāo)是創(chuàng)造一個 “在許多認(rèn)知任務(wù)上接近或者超越人類認(rèn)知能力” 的機(jī)器。
除了開源許可,Numenta 還提供 NuPic 的商業(yè)許可協(xié)議,并且它還提供技術(shù)專利的許可證。
9. OpenNN
作為一個為開發(fā)者和科研人員設(shè)計(jì)的具有高級理解力的人工智能,OpenNN[13] 是一個實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)算法的 c++ 編程庫。它的關(guān)鍵特性包括深度的架構(gòu)和快速的性能。其網(wǎng)站上可以查到豐富的文檔,包括一個解釋了神經(jīng)網(wǎng)絡(luò)的基本知識的入門教程。OpenNN 的付費(fèi)支持由一家從事預(yù)測分析的西班牙公司Artelnics[14] 提供。
10. OpenCyc
由 Cycorp 公司開發(fā)的 OpenCyc[15] 提供了對 Cyc 知識庫的訪問和常識推理引擎。它擁有超過 239,000 個條目,大約 2,093,000 個三元組和大約 69,000 owl:這是一種類似于鏈接到外部語義庫的命名空間。它在富領(lǐng)域模型、語義數(shù)據(jù)集成、文本理解、特殊領(lǐng)域的專家系統(tǒng)和游戲 AI 中有著良好的應(yīng)用。該公司還提供另外兩個版本的 Cyc:一個可免費(fèi)的用于科研但是不開源,和一個提供給企業(yè)的但是需要付費(fèi)。
11. Oryx 2
構(gòu)建在 Apache Spark 和 Kafka 之上的 Oryx 2[16] 是一個專門針對大規(guī)模機(jī)器學(xué)習(xí)的應(yīng)用程序開發(fā)框架。它采用一個獨(dú)特的三層 λ 架構(gòu)。開發(fā)者可以使用 Orys 2 創(chuàng)建新的應(yīng)用程序,另外它還擁有一些預(yù)先構(gòu)建的應(yīng)用程序可以用于常見的大數(shù)據(jù)任務(wù)比如協(xié)同過濾、分類、回歸和聚類。大數(shù)據(jù)工具供應(yīng)商 Cloudera 創(chuàng)造了最初的 Oryx 1 項(xiàng)目并且一直積極參與持續(xù)發(fā)展。
12. PredictionIO
今年的二月,Salesforce 收購了 PredictionIO[17],接著在七月,它將該平臺和商標(biāo)貢獻(xiàn)給 Apache 基金會,Apache 基金會將其列為孵育計(jì)劃。所以當(dāng) Salesforce 利用 PredictionIO 技術(shù)來提升它的機(jī)器學(xué)習(xí)能力時(shí),成效將會同步出現(xiàn)在開源版本中。它可以幫助用戶創(chuàng)建帶有機(jī)器學(xué)習(xí)功能的預(yù)測引擎,這可用于部署能夠?qū)崟r(shí)動態(tài)查詢的 Web 服務(wù)。
13. SystemML
最初由 IBM 開發(fā), SystemML[18] 現(xiàn)在是一個 Apache 大數(shù)據(jù)項(xiàng)目。它提供了一個高度可伸縮的平臺,可以實(shí)現(xiàn)高等數(shù)學(xué)運(yùn)算,并且它的算法用 R 或一種類似 python 的語法寫成。企業(yè)已經(jīng)在使用它來跟蹤汽車維修客戶服務(wù)、規(guī)劃機(jī)場交通和連接社會媒體數(shù)據(jù)與銀行客戶。它可以在 Spark 或 Hadoop 上運(yùn)行。
14. TensorFlow
TensorFlow[19] 是一個谷歌的開源人工智能工具。它提供了一個使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算的庫。它可以運(yùn)行在多種不同的有著單或多 CPU 和 GPU 的系統(tǒng),甚至可以在移動設(shè)備上運(yùn)行。它擁有深厚的靈活性、真正的可移植性、自動微分功能,并且支持 Python 和 c++。它的網(wǎng)站擁有十分詳細(xì)的教程列表來幫助開發(fā)者和研究人員沉浸于使用或擴(kuò)展他的功能。
15. Torch
Torch[20] 將自己描述為:“一個優(yōu)先使用 GPU 的擁有機(jī)器學(xué)習(xí)算法廣泛支持的科學(xué)計(jì)算框架”,它的特點(diǎn)是靈活性和速度。此外,它可以很容易的通過軟件包用于機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺、信號處理、并行處理、圖像、視頻、音頻和網(wǎng)絡(luò)等方面。它依賴一個叫做 LuaJIT 的腳本語言,而 LuaJIT 是基于 Lua 的。