天天看點

15款頂級的開源人工智能工具推薦

15款頂級的開源人工智能工具推薦

考慮到人工智能如此受關注,斯坦福大學的專家最近撰寫的一份智能研究報告得出結論:“現在到2030年人工智能可能會出現越來越有用的應用,有可能給我們的社會和經濟帶來深遠的積極影響,”也就不足為奇了。此文着重介紹15個知名度最大的開源人工智能項目。

1.caffe

caffe是加州大學伯克利分校攻讀博士學位者的傑作,這是一種深度學習架構,基于表達式架構和可擴充代碼。速度快是它賴以成名的特點,因而在研究人員和企業使用者當中都備受歡迎。據官方網站聲稱,僅僅使用一個英偉達k40 gpu,它在短短一天内就能夠處理6000多萬個圖像。它由伯克利視覺和學習中心(bvlc)管理,英偉達和亞馬遜等公司提供了撥款,支援它的發展。

2.cntk

cntk的全稱是計算網絡工具包,它是微軟的開源人工智能工具之一。它聲稱擁有出衆的性能,無論在隻有一個cpu的系統上運作,還是在擁有多個gpu的多台機器上運作,都是如此。微軟主要用它來研究語音識别,但是它同樣适用于其他應用領域,比如機器翻譯、圖像識别、圖像字幕、文本處理、語言了解和語言模組化。

3.deeplearning4j

deeplearning4j是一種面向java虛拟機(jvm)的開源深度學習庫。它在分布式環境中運作,可與hadoop和apache spark整合起來。它讓使用者可以配置深度神經網絡,與java、scala及其他jvm語言相容。

該項目由一家名為skymind的商業公司管理,該公司提供收費的支援、教育訓練和deeplearning4j的企業發行版。

4.分布式機器學習工具包

與cntk一樣,分布式機器學習工具包(dmtk)是微軟的開源人工智能工具之一。它是為大資料應用領域設計,旨在更快地訓練人工智能系統。它包括三大部分:dmtk架構、lightlda主題模型算法以及分布式(multisense)單詞嵌入算法。微軟聲稱,在8個叢集機器上,它能夠“針對擁有1000多億個權标的文檔集合,訓練擁有100萬個主題和1000萬個單詞詞彙表(共有10萬億個參數)的主題模型,”這個成績是其他工具無法比拟的,這也證明了dmtk的速度有多快。

5.h2o

h2o更加專注于人工智能在企業領域的應用,而不是在研究領域的應用,它的使用者包括諸多大公司:第一資本、思科、尼爾森catalina、貝寶及transamerica。它聲稱讓任何人都可以使用機器學習和預測分析的強大功能,解決業務問題。它可用于預測模組化、風險及欺詐分析、保險分析、廣告技術、醫療保健和客戶情報。

它有兩種開源版本:标準的h2o和sparkling water,後者與apache spark內建起來。它還提供收費的企業支援。

mahout

mahout是apache基金會下面的一個項目,是一種開源機器學習架構。據官方網站聲稱,它提供三種主要的特性:用于建構可擴充算法的程式設計環境、面向spark和h2o等工具的預制算法,以及名為samsara的向量數學試驗環境。使用mahout的公司包括:adobe、埃森哲、foursquare、英特爾、領英、推特、雅虎及其他許多公司。可通過官方網站上所列的第三方獲得專業支援。

7.mllib

apache spark以速度快著稱,它已成為最流行的大資料處理工具之一。mllib是spark的可擴充機器學習庫。它與hadoop整合起來,可與numpy和r協同操作。它包括一大批機器學習算法,可用于分類、回歸、決策樹、推薦、聚類、主題模組化、特性轉換、模型評估、機器學習管道建構、機器學習持久性、生存分析、頻繁項集、順序模式挖掘、分布式線性代數和統計。

8.nupic

nupic由一家名為numenta的公司管理,這是一種開源人工智能項目,基于一種名為分層式即時記憶(即htm)的理論。實際上,htm試圖建立一種模仿人類大腦新皮層而建的計算機系統。目的在于制造“處理許多認知任務時接近或勝過人類表現”的機器。

除了開源許可證外,numenta還提供采用商業許可證的nupic,它還提供作為它技術底層的專利方面的許可證。

9.opennn

opennn為深入了解人工智能的研究人員和開發人員而設計,這是一種用于實作神經網絡的c++程式設計庫。主要特性包括:深度架構和卓越性能。官方網站上有全面的說明文檔,包括解釋神經網絡基礎知識的入門教程。可通過artelnics獲得opennn的收費支援,總部位于西班牙的這家公司主攻預測分析。

10.opencyc

opencyc由一家名為cycorp的公司開發,它讓使用者可以通路cyc知識庫和常識推理引擎。它包括239000多個術語、約2093000個三元組以及大約69000個owl:sameas連結(指向外部語義資料命名空間)。它用于豐富域名模組化、語義資料整合、文本了解、特定領域專家系統和遊戲人工智能。這家公司還提供cyc的另外兩個版本:一個是非開源免費版本,面向研究人員;另一個面向企業使用者,需要收費。

11.oryx 2

oryx 2建立在apache spark和kafka上,這是一種專門的應用開發架構,面向大規模的機器學習。它使用了一種獨特的lambda架構,有三個層次。開發人員可使用oryx 2來建構新的應用程式,它還包括一些預制應用程式,處理常見的大資料任務,比如協作過濾、分類、回歸和聚類。大資料工具廠商cloudera建立了最初的oryx 1項目,一直大力參與持續開發工作。

12.predictionio

今年2月份,salesforce收購了predictionio,後來在7月份, 它把該平台連同商标一起捐獻給了apache基金會,該基金會将它列為孵化器項目。是以,雖然salesforce使用predictionio技術來完善自己的機器學習功能,但是開源版本方面的工作也會繼續下去。它可以幫助使用者建構擁有機器學習功能的預測引擎,這些功能可用來部署實時響應動态查詢的web服務。

13.systemml

systemml最初由ibm開發,現在它是apache旗下的一個大資料項目。它提供了一種高度可擴充的平台,可以實施用r或類似python的文法編寫的進階運算和算法。企業已經在用它來跟蹤汽車維修方面的客戶服務,引導機場客流量,或者将社交媒體資料與銀行客戶聯系起來。它可以在spark或hadoop上運作。

14.tensorflow

tensorflow是谷歌的開源人工智能工具之一。它提供了用于數字計算的庫,使用資料流圖。它可以在衆多不同的搭載單一或多個cpu和gpu的系統上運作,甚至可以在移動裝置上運作。它擁有深度靈活性、真正的可移植性、自動差分功能,并支援python和c++。官方網站上列有非常豐富的教程和實用文章,可供有興趣使用或擴充其功能的開發人員或研究人員使用。

15.torch

torch自稱是“一種科學計算架構,廣泛支援把gpu放在首位的機器學習算法。”這裡的重點在于靈活性和速度。此外,很容易與衆多方面的軟體包結合使用:機器學習、計算機視覺、信号處理、并行處理、圖像、視訊、音頻和網絡。它依賴一種名為luajit的腳本語言,這種語言基于lua。