微軟開源機器學習框架——infer.NET

人工智慧頻道發表於2018-10-09

並不是每天都能看到基於模型的機器學習的頂級跨平臺框架之一對全世界的所有人開放。今天,微軟又開源了一個非常重要的機器學習框架: infer.NET ,採用的是MIT許可證,以便在商業應用中免費使用。

微軟開源機器學習框架——infer.NET


開源Infer.NET代表了漫長而雄心勃勃的旅程的高潮。位於英國劍橋的微軟研究院的團隊早在2004年開始開發這個框架。微軟在製作可擴充套件和可解釋的機器學習解決方案的過程中學到了很多東西。Infer.NET最初被設想為一種研究工具,微軟在2008年將其釋出用於學術用途。因此,已有數百篇論文使用該框架在各個領域釋出,從資訊檢索到醫療保健。2012年,Infer.NET甚至還因其在流行病學、疾病遺傳原因、森林砍伐和哮喘方面的研究而獲得了人類專利獎。

隨著時間的推移,該框架已從研究工具發展成為Office、Xbox和Azure中許多Microsoft產品中的機器學習引擎。最近的一個例子是TrueSkill 2--一個匹配線上影片遊戲中玩家的系統。它在Infer.NET中實現,在最暢銷的Halo 5和Gears of War 4中執行,可以處理數百萬場比賽。

但是在充滿機器學習庫的時代,Infer.NET與競爭對手的區別是什麼?Infer.NET支援基於模型的機器學習方法。這使您可以將領域知識合併到模型中。然後,框架可以直接從該模型構建定製的機器學習演算法。這意味著Infer.NET不是必須將您的問題對映到您已經獲得的預先存在的學習演算法上,而是根據您提供的模型為您構建學習演算法。

基於模型的機器學習的另一個優點是可解釋性。如果您自己設計了模型並且學習演算法遵循該模型,那麼您可以理解系統為何以特定方式執行或進行某些預測。隨著機器學習應用逐漸進入我們的生活,理解和解釋他們的行為變得越來越重要。

基於模型的機器學習自然也適用於某些資料特徵的問題,例如實時資料、異構資料、資料不足、未標記資料、缺少部分的資料和使用已知偏差收集的資料。事實上,如果你已經閱讀了這篇文章,那麼你很有興趣學習更多關於基於模型的機器學習。碰巧的是,Infer.NET團隊已經編寫了一本關於這個主題的精彩線上書籍,並且完全免費。()

微軟開源機器學習框架——infer.NET


在Infer.NET中,使用機率程式描述模型。這可能看似矛盾,但實際上是一個強大的概念,用於描述機器理解的語言中的真實世界過程。Infer.NET將機率程式編譯成高效能程式碼,用於實現隱式稱為確定性近似貝葉斯推理的東西。這種方法允許實質性的可擴充套件性。例如,我們可以在一個自動從數十億網頁中提取知識的系統中使用它,包括PB級的資料。

確定性推理演算法的使用是對大多數其他機率程式設計框架的主要基於取樣的方法的補充。我們方法的一個關鍵功能是支援線上貝葉斯推理- 系統在新資料到來時學習的能力。這對於與使用者實時互動的商業和消費產品至關重要。例如,在前面提到的TrueSkill 2系統中,為了提供有競爭力的比賽,我們需要在每輪之後立即更新球員的技能。我們只需一毫秒即可完成。

總而言之,當您對要解決問題的域有廣泛瞭解,或者解釋系統行為對您來說很重要,或者您有一個生產系統需要在新資料到來時有學習的能力。

Infer.NET團隊期待與開源社群合作,進一步開發和發展框架。Infer.NET將成為ML.NET的一部分- 用於.NET開發人員的機器學習框架。微軟已經採取了幾個步驟來與ML.NET整合,比如在.NET Foundation下設定儲存庫並將包和名稱空間移動到Microsoft.ML.Probabilistic。Infer.NET將擴充套件ML.NET以進行統計建模和線上學習。

對Infer.NET感興趣? 在這裡下載框架()。 透過.NET Core提供對Windows、Linux和MacOS的支援。教程和示例頁面(%20tutorials%20and%20examples.html)介紹了使用Infer.NET可以實現哪些模型。 該文件還包含詳細的使用者指南。

微軟開源機器學習框架——infer.NET


Infer.NET團隊,頂行,從左到右:Martin Kukla,John Guiver,Tom Minka,John Winn,Sam Webster,Dany Fabian。 底行,從左到右:Pavel Myshkov,Yordan Zaykov,Alex Spengler。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2215626/,如需轉載,請註明出處,否則將追究法律責任。

相關文章