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