微軟在5月釋出由微軟研究院開發、發展了十年的機器學習框架ML.NET,今釋出了ML.NET 0.5,最大的更新便是開始支援TensorFlow,開發者可以在ML.NET中直接使用已經訓練好的TensorFlow模型,進行評分(Scoring)。另外,微軟正在開發新的ML.NET API,屆時將會棄用現行的LearningPipeline API。

適逢.NET Conf 2018,微軟順勢釋出ML.NET 0.5,距離5月釋出的ML.NET 0.1已經距離一段時間,這次帶來巨大的更新,微軟在ML.NET 0.5中,增加了TensorFlow模型評分轉換(TensorFlow Transform)。微軟提到,深度學習是人工智慧和機器學習的子集,能夠透過實例來學習人類自然習得的能力,與傳統機器學習相比,深度學習可以直接從圖像、聲音以及文本中,學習物件偵測或是分類任務,甚至可以提供語音辨識以及語言翻譯等功能,但傳統的機器學習依賴特徵工程以及資料處理。

深度學習模型需要大量標記資料以及多層類神經網路進行訓練,微軟認為,深度學習之所以會開始流行,除了對於電腦視覺任務表現良好外,剛好適用於現今資料爆炸情況。微軟也想讓ML.NET支援深度學習,因此透過新的TensorFlow Transform,在ML.NET中與TensorFlow進行第一階段的整合,開發者可以自己訓練或是從任何地方下載TensorFlow模型,在ML.NET中使用進行結果預測。

微軟表示,這種整合方式,讓開發者不需要具備TensorFlow內部細節知識,另外,從長遠來看,使用ML.NET開發深度學習應用將更加容易。開發者只要增加ML.NET NuGet套件參照,到.NET Core或.NET Framework應用程式中就可以了。在ML.NET底層也是參照了原生TensorFlow函式庫,讓開發者可以撰寫載入TensorFlow模型的程式碼,並且進行評分。

不過,由於現在ML.NET使用TensorFlow仍然有一些限制,微軟正在更新API以提高整體靈活性。目前使用LearningPipeline API時,只能在LearningPipeline中作為數字和向量輸入,給分類器學習器(Classifier Learner)等學習器。但在即將要推出的全新ML.NET API,將能存取TensorFlow模型的分數,開發者可以直接使用TensorFlow模型進行評分,不像現在,還需要增加額外的學習器相關的訓練程序。屆時當新的API釋出時,現行的LearningPipeline API將被棄用。

微軟提到,雖然現在ML.NET框架支援了TensorFlow,未來也不排除整合其他諸如Torch和CNTK深度學習函式庫。


Advertisement

更多 iThome相關內容