作者: 大白鯨團(tuán)隊 機(jī)器學(xué)習(xí)毫無疑問是當(dāng)今最熱的話題,它已經(jīng)滲透到生活的方方面面,在移動互聯(lián)網(wǎng)中混不懂點(diǎn)機(jī)器學(xué)習(xí)都不好意思,說幾個能看的到的,經(jīng)常用郵箱吧,是不是感覺垃圾郵件比N年前變少了,無聊了和siri聊過天不,想坐一下無人駕駛汽車嗎,手累了用臉解個鎖,智能化產(chǎn)品推薦是不是讓你更懶了。看不到的就更多了:信用卡欺詐監(jiān)測保證你的交易安全,股票交易/量化投資(知道你的高收益理財怎么來的嗎?),手勢識別(用過海豚瀏覽器的手勢嗎),還有醫(yī)學(xué)分析等等,巨頭們?yōu)榱嗽谖磥碚碱I(lǐng)先機(jī),前仆后繼的開源他們的機(jī)器學(xué)習(xí)框架,加速了人類進(jìn)入智能時代的步伐(說什么,機(jī)器人?) Facebook:用于Torch的模塊庫fbcunn (2015-01-17 開源)fbcunn可以替代Torch的默認(rèn)模塊,它們構(gòu)建在Nvidia的cuFFT庫(一個基于CUDA的庫,用于深度神經(jīng)網(wǎng)絡(luò))之上,可以在更短的時間內(nèi)訓(xùn)練更大規(guī)模的神經(jīng)網(wǎng)絡(luò)模型,它對NVIDIA的GPU進(jìn)行了優(yōu)化。一部分可以用來訓(xùn)練大型計算機(jī)視覺系統(tǒng)。部分模塊也可以用來訓(xùn)練處理不同類型數(shù)據(jù)的模型。既可以進(jìn)行文本識別、圖像識別,也能用于語言模型的訓(xùn)練。部分模塊將大型卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度提升了23.5倍。 fbcunn基于Fast Training of Convolutional Networks through FFTs這篇論文中的想法構(gòu)建了這些模塊,F(xiàn)AIR(Facebook人工智能實(shí)驗室)的主任Yann LeCun是論文的合著者之一。與cuDNN相比,在卷積核較小的情況下(3×3),fbcunn的速度提升可達(dá)1.84倍;而在卷積核較大的情況下(5×5),速度提升可達(dá)23.5倍。 Torch和fbcunn的最早的用途之一:圖片分類,它分類過ImageNet的120萬張圖片,可以參考這個地址:https://github.com/soumith/imagenet-multiGPU.torch 參考: > https://github.com/facebook/fbcunn https://research./blog/879898285375829/fair-open-sources-deep-learning-modules-for-torch/ 微軟:DMTK(2015-11-16 開源)DMTK由參數(shù)服務(wù)器和客戶端SDK兩部分構(gòu)成。參數(shù)服務(wù)器支持存儲混合數(shù)據(jù)結(jié)構(gòu)模型、接受并聚合工作節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)模型更新、控制模型同步邏輯;客戶端SDK負(fù)責(zé)維護(hù)節(jié)點(diǎn)模型緩存(與全局模型服務(wù)器同步)、本地訓(xùn)練和模型通訊之間的流水線控制以及片狀調(diào)度大模型訓(xùn)練。它包含DMTK框架、LightLDA和分布式詞向量(Word Embedding)三個組件。 DMTK采用了傳統(tǒng)的客戶端/服務(wù)器架構(gòu),有多個服務(wù)器實(shí)例運(yùn)行在多臺機(jī)器上負(fù)責(zé)維護(hù)全局模型參數(shù),而訓(xùn)練例程(routines)則使用客戶端API訪問并更新這些參數(shù)。為了適應(yīng)不同的集群環(huán)境,DMTK框架支持兩種進(jìn)程間的通信機(jī)制:MPI和ZMQ。應(yīng)用程序端不需要修改任何代碼就能夠在這兩種方式之間切換。DMTK支持Windows和Linux兩種操作系統(tǒng)。 DMTK則是使用C++編寫的,提供了一個客戶端API和SDK。 DMTK的官網(wǎng) 對DMTK框架、LightLDA、分布式詞向量的應(yīng)用場景、下載、安裝、配置、運(yùn)行以及性能等方面都做了詳盡的介紹(見參考部分)。 DMTK主要用于自然語言處理方面,比如:文本分類與聚類、話題識別以及情感分析等 參考: https://github.com/Microsoft/DMTK Google:TensorFlow(2015-11-10 開源)TensorFlow 是一個用來編寫和執(zhí)行機(jī)器學(xué)習(xí)算法的工具。計算在數(shù)據(jù)流圖中完成,圖中的節(jié)點(diǎn)進(jìn)行數(shù)學(xué)運(yùn)算,邊界是在各個節(jié)點(diǎn)中交換的張量(Tensors–多維數(shù)組)。TensorFlow負(fù)責(zé)在不同的設(shè)備、內(nèi)核以及線程上異步地執(zhí)行代碼,目前支持CNN、RNN和LSTM等圖像、語音和自然語言處理(NLP)領(lǐng)域最流行的深度神經(jīng)網(wǎng)絡(luò)模型。 Google已將TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、圖片(生成圖像分類模型–Inception Image Classification Model)、翻譯器(字符識別)等產(chǎn)品。 TensorFlow能夠在臺式機(jī)、服務(wù)器或者移動設(shè)備的CPU和GPU上運(yùn)行,也可以使用Docker容器部署到云環(huán)境中。在處理圖像識別、語音識別和語言翻譯等任務(wù)時,TensorFlow依賴于配備圖像處理單元(GPU)的機(jī)器和被用于渲染游戲圖像的芯片,它對這些芯片依賴度比想象中的高。當(dāng)前開源的版本能夠運(yùn)行在單機(jī)上,暫不支持集群。操作系統(tǒng)方面,TensorFlow能夠運(yùn)行在Linux和MacOS上。 TensorFlow的核心是使用C++編寫的,有完整的Python API和C++接口,同時還有一個基于C的客戶端API。 參考: https://github.com/tensorflow/tensorflow IBM:SystemML (2015-06 開源)SystemML是靈活的,可伸縮機(jī)器學(xué)習(xí)(ML) 語言,使用Java編寫??蓪?shí)現(xiàn) 可定制算法(述性分析、分類、聚類、回歸、矩陣分解及生存分析等), 多個執(zhí)行模式(單獨(dú)運(yùn)行、Hadoop 和 Spark ), 自動優(yōu)化。它由 IBM 的 Almaden 實(shí)驗室花了近 10年開發(fā)而成的機(jī)器學(xué)習(xí)技術(shù)。 SystemML語言,聲明式機(jī)器學(xué)習(xí) (DML)。SystemML 包含線性代數(shù)原語,統(tǒng)計功能和 ML 指定結(jié)構(gòu),可以更容易也更原生的表達(dá) ML 算法。算法通過 R 類型或者 Python 類型的語法進(jìn)行表達(dá)。DML 通過提供靈活的定制分析表達(dá)和獨(dú)立于底層輸入格式和物理數(shù)據(jù)表示的數(shù)據(jù)顯著提升數(shù)據(jù)科學(xué)的生產(chǎn)力。 SystemML 運(yùn)行環(huán)境支持 Windows、Linux 及 MacOS,可支持單機(jī)和分布式部署。單機(jī)部署顯然有利于本地開發(fā)的工作,而分布式部署則可以真正發(fā)揮機(jī)器學(xué)習(xí)的威力,支持的框架包括 Hadoop 和 Spark 眾所周知的IBM AIWaston融入了不少SystemML技術(shù)(不了解的同學(xué)可以看下《Jeopardy!》節(jié)目,來領(lǐng)教到沃森的威力) 參考: https://github.com/apache/incubator-systemml 三星:VELESVELES 是分布式深度學(xué)習(xí)應(yīng)用系統(tǒng),號稱:用戶只需要提供參數(shù),剩下的我來搞,VELES使用 Python 編寫,使用OpenCL 或者 CUDA,利用基于Flow 的編程方式。 參考: https://github.com/Samsung/veles 百度:期待ING。。。巨頭之所以開源自己耗時多年打造的機(jī)器學(xué)習(xí)框架,是希望能夠加速在人工智能方面的部署,在人工智能日益重要的未來搶占更多的主導(dǎo)權(quán)。而對于機(jī)器人創(chuàng)業(yè)公司來說,當(dāng)這么多巨頭將機(jī)器學(xué)習(xí)平臺開源后,還有什么理由做不好機(jī)器人。 End.
轉(zhuǎn)載請注明來自36大數(shù)據(jù)():36大數(shù)據(jù) ? 最牛逼的開源機(jī)器學(xué)習(xí)框架,你知道幾個 |
|