15款開源機器學習軟件

15款開源機器學習軟件

機器學習是目前最熱門的科研領域之一。諸如IBM、谷歌、微軟、臉書和亞馬遜這類大型公司不只加大了對旗下發展研究部門的資金投入,同時也開始併購一些在機器學習、神經網絡、天然語言與圖像處理領域小有所成的初創公司。鑑於目前人工智能研究領域的火爆程度,斯坦福大學的教授們不久前做出了這樣一份報告:「人工智能軟件的做用愈來愈強大,而對人類社會、經濟有強大影響力的人工智能軟件將於2030年前面世」。算法

國外網站Datamation整理了目前熱門的15款開源人工智能軟件,介紹以下。Amazon也推出了面向【機器學習的雲服務平臺】,能夠登陸、購買,直接使用。對於機器學習的小白來講,仍是【Keras+Jupyter+Docker黃金組合】上手快,資源多【參見Keras教程】。數據庫

1.Caffe

Caffe軟件由加州大學伯克利分校的一名博士生開發,是一個基於表達構架與可擴展編碼的深度學習框架。因其出色的處理速度而廣受研究人員與企業的喜好。根據其主頁的介紹,只使用一顆NVIDIA K40 GPU,該軟件一天就可處理超過6000萬張圖片。Caffe軟件項目由BVLC運做,由NVIDIA和亞馬遜等公司資助其發展研究。編程

# 2.CNTKapi

CNTK是Computational Network Toolkit(計算網絡工具包)的縮寫,是微軟旗下開源人工智能軟件之一。它的過人之處在於:不管是隻有CPU工做,仍是單科GPU,或是或多顆GPU,亦或是多臺機器配備多顆GPU工做,它的性能都十分優秀。雖然微軟主要用它進行語音識別的研究,但它還能夠進行機器翻譯、圖像識別、圖像抓取、文本處理、語言識別與語言建模等工做。網絡

# 3. Deeplearning4j框架

Deeplearning4j是一款JVM開源深度學習庫軟件。它能在分佈式環境中運行,並整合Hadoop與Apache Spark。而這使得它能夠配置深度神經網絡,還可運行Java、Scala等其餘JVM語言。 Deeplearning4j軟件項目由Skymind商業公司運做,由Skymind負責項目的資金支持、人員培訓與產品推廣。機器學習

# 4.DMTK分佈式

與CNTK同樣,DMTK是Distributed Machine Learning Toolkit的縮寫(分佈式機器學習工具),是微軟旗下的另外一款開源人工智能軟件。爲大數據研究而設計,旨在縮短人工智能系統的訓練時間。DMTK包括三大主要部分:DMTK框架、LightLDA模型算法與分佈式(多感)字嵌入算法。爲了說明DMTK的處理速度,微軟聲稱其可經過一臺8節點計算機集羣,在有着超過1000億個標記的文檔合集中處理出一個包含100萬主題與1000萬文字(總計10萬億個參數)的主題模型,而這是同類軟件沒法匹敵的。工具

# 5. H2Ooop

更專一於企業使用體驗而不是科學研究的H2O收穫瞭如Capital One、思科、Nielsen Catalina、PayPal和Transamerica等大型企業的訂單。Oxdata稱全部人均可使用H2O機器學習與預測分析能力解決商業問題。H2O還可用於預測建模、欺詐與風險分析、保險分析、廣告工藝、醫療保健與客戶智能等方面。 H2O有兩個開源版本:標準版H2O和Sparkling Water版H2O,兩個版本都整合在Apache Spark中,Oxdata將爲付費企業提供技術支持。

6. Mahout 

Mahout 是 ASF(Apache軟件基金會)旗下的一個開源項目,提供開源機器學習框架。據其官方主頁描述,Mahout有三大主要特色:可擴展算法編程環境、事先寫有如Spark和H2O等工具的算法、內置名爲「Samsara」的矢量運算環境。Mahout用戶的包括Adobe、Accenture、Foursquare、英特爾、領英、Twitter和雅虎等公司。

# 7. MLlib

以處理速度而聞名的Apache Spark已成爲大數據處理中最經常使用的軟件之一。MLlib算法是一個Spark的可擴展機器學習庫。它與Hadoop融爲一體,可與NumPy和NumPy.R跨平臺操做。它囊括了大量機器學習算法類型,包括:分類、迴歸、決策樹、建議、彙集、主題建模、特色轉換、模型評價、ML pipeline構建、ML持久性、生存分析、頻繁集、序列模式挖掘、離散線性代數和數據統計分析。

# 8. NuPIC

NuPIC由Numenta公司運做,是一個基於HTM(分層時間記憶)理論的開源人工智能項目。實際上,HTM理論是想根據人大腦新皮質結構設計一個電腦系統,旨在打造一臺「在處理認知型任務上,接近或超過人類能力的電腦。」 Numenta不只擁有NuPic的開放源代碼許可,還有其商業受權與專利證書。

# 9. OpenNN

OpenNN是一款爲研究人員和開發者打造的高級人工智能軟件,提供可運行神經網絡的C++編程庫。其主要特色在於深度框架與高效的性能。OpenNN官網有關於神經網絡運做的詳細介紹。爲OpenNN客戶提供技術支持是來自西班牙的Artelnics公司(主攻預測分析研究)。

# 10. OpenCyc

由Cycorp公司開發的OpenCyc軟件內置Cyc知識庫與常識推理引擎,含括了23.9萬條術語,約209.3萬條三元組,約6.9萬條網絡本體語言,就比如外接了一個語義數據庫。它在富領域建模、語義數據融合、文本理解、特定領域專家系統和遊戲人工智能等方面十分有效。OpenCyc一共有兩個版本:一個是對研究員免費不開源版本,另外一個是對企業收費的版本。

# 11. Oryx 2

Oryx 2基於Apache Spark和Kafka構建,是一款專攻大型機器學習的發展框架軟件。它使用的是獨特的三層λ構架。開發者可以使用Oryx 2開發新軟件,其內置了一些通用大型數據任務的程序,如協同過濾、分類、歸化和集羣等。大數據工具提供商Cloudera開發了初代Oryx 1項目,現仍在繼續研究發展。

# 12. PredictionIO

早在今年二月份,Salesforce公司買下了PredictionIO軟件項目。PredictionIO軟件項目做爲一個孵化項目爲ASF提供了新的平臺和商標。雖然Salesforce公司經過PredictionIO軟件項目來發展本身的機器學習技術,但其還是開源。它能夠利用機器學習來部署相關網絡服務,經過對頁面動態請求實時迴應幫助用戶創建一個預測引擎。

# 13. SystemML

SystemML最初由IBM開發,後被ASF收購,成爲其大數據項目。SystemML是一個可高度擴展的平臺,可進行高級數學運算,執行R或類Python語句。SystemML基於Spark或Hadoop運行,可用於4S店車輛維護的客戶回訪、機場領空管制以及銀行客戶社交媒體數據的收集。

# 14.TensorFlow

TensorFlow是谷歌旗下的開源人工智能軟件之一,提供一個使用數據流圖的數值計算庫,可在單/多顆CPU或GPU系統甚至移動設備上運行。谷歌稱TensorFlow十分靈活、真正的可移植,擁有自動鑑別能力且支持Python和C++平臺。

# 15.Torch

Torch這樣描述本身:「擁有科學的計算框架,支持可優先使用GPU的機器學習算法」。Torch的特色在於其出色的靈活性與傑出的處理速度,在處理機器學習、計算機視覺、信號處理、並行處理、圖像、視頻、音頻和計算機網絡等方面十分駕輕就熟。它採用的是LuaJIT語言編寫,一種基於Lua語言的腳本語言。

相關文章
相關標籤/搜索