圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

 2018-02-26 16:33:44.0

編者按:本文來自微信公衆號「量子位」(ID:QbitAI),林鱗 編譯自 KDnuggets

什麼是機器學習即服務?

雲技術「三巨頭」亞馬遜、微軟Azure和谷歌雲的機器學習即服務各自有哪些特點?

這是一次公正客觀的對比。不吹不黑,讀完即知。

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

對於大多數公司來說,機器學習是一項複雜而傷神的工作,花銷大、對人才要求高。

機器學習即服務針對這個痛點應運而生。

什麼是「機器學習即服務」

機器學習即服務(Machine learning as a service,MLaaS)是一類自動化和半自動化雲平臺的統稱,用來解決數據預處理、模型訓練、模型評估、未來預測等一系列基礎設施問題。

亞馬遜機器學習服務、微軟Azure機器學習和谷歌雲AI是目前雲機器學習即服務的領導者,可以幫助沒有數據科學經驗的用戶快速訓練並部署模型。

在這篇文章中,我們首先概覽這三個主要的機器學習即服務平臺的性能,之後對比這些供應商支持的機器學習API。

準備好了嘛,來次夠!

自定義預測分析任務對比

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

亞馬遜Amazon ML和SageMaker

亞馬遜機器學習服務:包含進行預測性分析的Amazon ML,和數據科學家專屬的整套加速機器學習流程的託管服務SageMaker工具。

用Amazon ML進行預測性分析是目前市場上自動解決方案之一,特別適合時間緊的操作。這項服務可以從衆多來源中加載數據,包括Amazon RDS、Amazon Redshift、CSV文件等。

所有數據預處理操作都是自動執行的:它能幫你識別哪些字段是分類的、哪些是數值的,並且不要求用戶選擇方法或進一步的數據預處理。

Amazon ML的預測能力限制在以下三個類別之中:二值分類、多值分類和迴歸。也就是說,這種Amazon ML服務不支持任何無監督學習方法,用戶必須選擇一個目標變量在訓練集中進行標記。

此外,用戶無需瞭解任何機器學習的方法,因爲亞馬遜在查看提供的數據後會自動選擇。

這種高度自動化的操作對Amazon ML來說是優勢也是劣勢。如果你需要全自動但限制性強的解決方案,這項服務應該正中你下懷。如果不是,你可以選擇SageMaker。

SageMaker是一個機器學習環境,它提供快速構建和部署模型的工具,爲數據科學家簡化工作。

比如通過提供的程序編寫筆記本Jupyter,簡化數據探索和分析過程,並且避免了管理服務器這等麻煩事。

亞馬遜還內置了爲大數據集和分佈式系統計算而優化的算法。這包括:

  • Linear learner,一種用於分類和迴歸的監督學習方法

  • 爲稀疏數據集設計的分類和迴歸的Factorization machines

  • XGBoost,一種監督式增強樹算法,它通過結合簡單算法的預測來提高分類、迴歸和排序的預測精度

  • 基於ResNet的圖像分類,也可用於遷移學習

  • Seq2seq,一種預測序列的監督學習算法,可以用於語句翻譯、把字符串轉化成簡短的句子等

  • K-means,一種無監督學習方法,可用於聚類任務

  • 主成分分析(PCA),可用於降維

  • 隱式狄利克雷分佈(LDA),一種用於返現文件類別的無監督學習法

  • 神經網絡機器翻譯(NTM),也是一種無監督學習法,可以用來探索文件、定義主題。用戶無需預定義主題,但是它們可以設置期望的數量

內置的SageMaker方法與亞馬遜推薦的ML API關聯較大,但是SageMaker允許數據科學家用自己的數據集進行操作。

如果你不知道如何使用,你可以利用SageMaker的部署特徵添加自己的方法後運行模型,也可以將SageMaker和TensorFlow和MXNet等深度學習庫結合起來。

無論是對有經驗的數據科學家和新手來說,亞馬遜機器學習服務的自由度很高。對於已經使用亞馬遜環境的公司來說這是一個可靠的選擇,無需考慮轉到其他雲提供商了。

微軟Azure機器學習工作室

微軟Azure旨在爲新手和有經驗的數據科學家提供施展的場地,和亞馬遜的服務相比,Azure在到手即用的算法上更靈活。

Azure的服務主要有兩大類:Azure Machine Learning Studio和Bot Service。我們接下來主要分析ML Studio,一會兒再說Bot Service。

幾乎所有Azure ML Studio的操作都需手動完成,包括數據挖掘、預處理、選擇方法和驗證建模結果。

用Azure做機器學習要經歷一個學習曲線,但最終會幫助用戶更深入理解這個領域中的主要技巧。換個角度說,Azure ML支持的圖形界面可以將整個工作流的每一步可視化。此外,使用Azure的優勢還在於其中可用的多樣算法,它支持100多種方法,涉及分類、異常檢測、迴歸、推薦和文本分析等方法。值得一提的是,這個平臺還支持一個聚類算法(K-means)。

Azure ML中另一個主要部分是Cortana Intelligence Gallery。這是一個由社區提供的機器學習解決方案的集合,數據科學家探索和複用。

谷歌預測API

谷歌提供兩種級別的AI服務:一種是爲老練的數據科學家提供的機器學習引擎,另一種是高度自動化的谷歌預測API(Google Prediction API)。不幸的是,Google Prediction API將在2018年4月30日停止服務。

Google Prediction API有點像Amazon ML,它的能將解兩類問題:分類和迴歸。訓練過的模型可通過REST API部署。

谷歌沒有公佈具體哪些算法可用於繪製預測,也不允許工程師定製模型。不過,它非常適合用來在時間緊迫的時候構建初步的機器學習應用。但是該產品似乎不像谷歌預計的那樣受歡迎,因爲使用預測API的用戶還需要用其他的平臺重建現有的模型。

預測API的高自動化是以靈活性爲代價的,機器學習引擎(Google Cloud Machine Learning Engine)與之不同。

它非常適合有經驗的數據科學家,非常靈活,建議用雲端的基礎設施,搭配TensorFlow來驅動機器學習。所以,ML Engine大體上和SageMaker相像。

縱覽三家,似乎Azure是目前MLaaS市場上最通用的工具集。它涵蓋了大多數與機器學習相關的任務,爲構建自定義模型提供了可視化界面,並且爲那些不想自己動手掌握數據科學的人提供了一套API。同時,它也缺乏自動化能力。

亞馬遜、微軟和谷歌的機器學習API對比

除了成熟的平臺之外,你還可以選擇高級API。這些服務都提供訓練好的模型,輸入數據就可以獲得結果。使用這些API不需要機器學習專業知識。目前,這三家公司的API可以大致分爲三組:

1)文本識別、翻譯和文本分析

2)圖像+視頻識別和相關分析

3)其他,包括特定的未分類服務

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

亞馬遜的語音和文本處理API

亞馬遜提供了多個針對文本分析中流行任務的API,它們在機器學習方面也是高度自動化的,並且只需適當的集成便可使用。

Amazon Lex:Lex API是在應用程序中嵌入的聊天機器人,基於深度學習模型,它具備自動語音識別(ASR)和自然語言處理(NLP)的能力。

這些API可以識別書面和口頭文本,Lex接口將識別的輸入與各種後端解決方案掛鉤。除了獨立的應用程序,Lex還支持爲Facebook Messenger、Slack和Twilio部署聊天機器人。

Amazon Transcribe:Lex僅能用於識別語音文本,但Transcribe工具可以在低質量的電話音頻中識別多個講話人。它是編輯音頻文檔的首選解決方案。

Amazon Polly:Polly服務和Lex剛好相反,它能夠將文本轉換成語音,讓聊天機器人能說話。

Amazon Comprehend: Comprehend是另一組NLP的API。和Lex和Transcribe不同,它專注於不同的文本分析任務。這項服務將幫助用戶分析社交媒體的反應、評論和其他不適合手動分析的文本數據。

Amazon Translate:亞馬遜聲稱它使用神經網絡來做機器翻譯,比與基於規則的翻譯質量更好。目前的版本支持六種語言的互譯,包括阿拉伯語、漢語、法語、德語、葡萄牙語和西班牙語。

微軟Azure認知服務的語音和文本處理API

和亞馬遜一樣,微軟提供的高級API Cognitive Services,可以與基礎設施結合,不需要任何數據科學專業知識就能完成任務。

語音:語音部分包括四種API:用於翻譯的語音API、用於Bing搜索的、識別說話人的API、在自己的數據和模型上使用Azure NLP能力的定製化Custom Speech Service。

語言:和亞馬遜的Comprehend的文本分析類似:

  • 語言理解智能服務,分析文本意圖,識別出命令的API

  • 用於情感分析和定義主題的文本分析API

  • Bing拼寫檢查

  • 翻譯文本API

  • 網頁語言模型API,預測單詞組合的概率,並且支持單詞自動完成

  • 語言分析API,用於句子的分離、詞性標註、標記語言,將文本劃分爲帶標記的短語

谷歌雲服務的語音和文本處理API

這組API基本上和亞馬遜、微軟Azure的那些是重疊的,但有一些有趣且獨特的東西值得關注。

對話流:聊天機器人的對話流由NLP技術驅動,目的是在文本中定義意圖,並解釋一個人想要什麼。我們可以通過Java、Node.js和Python來調整和定製API。

雲自然語言API:它的核心功能幾乎與亞馬遜理解功能和微軟的語言功能完全相同。

  • 定義文本中的實體

  • 識別情感

  • 分析語法結構

  • 話題分類

雲語音API:這個功能可以識別自然語言,而與類似API相比,最大優勢在於是谷歌支持的豐富的語言,全球110種全球語言和它們的變體都能駕馭。此外,它還具備:

  • 能夠對特定的上下文和可以使用的單詞進行自定義識別的單詞提示

  • 過濾不合適的內容

  • 處理噪聲音頻

雲翻譯API:大多數情況下,你可以用這個API在產品中使用谷歌翻譯,支持100多種語言和自動語言檢測。除了文本和語音,亞馬遜、微軟和谷歌提供了相當多的用於圖像和視頻分析的API。

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

雖然圖像分析與視頻API密切相關,但許多用於視頻分析的工具仍在開發或測試中。例如,谷歌爲各種圖像處理任務提供了較多支持,但是比亞馬遜和微軟的同類產品少了很多視頻分析功能。

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

Amazon Rekognition圖像與視頻處理API

不,單詞沒有拼錯。Rekognition API是用來分析圖像的,最近還增加了視頻識別功能。它能處理的任務有:

  • 物體檢測和分類

  • 在視頻中檢測行爲,比如跳舞、滅火等

  • 人臉識別

  • 檢測不當視頻

  • 識別圖片和視頻中的名人

微軟Azure認知服務的圖像和視頻處理API

微軟的視覺程序包結合了六個API,專注於不同類型的圖像、視頻和文本分析:

  • 識別物體和動作的計算機視覺,還可以找出圖像的主色調

  • 檢測圖像、文本和視頻中的不當內容

  • Face API,檢測人臉並分組,同時檢測年齡、性別、肢體動作、表情和髮色等

  • Emotion API,另一個面部識別工具,來識別面部表情

  • 定製視覺服務(Custom Vision Service),支持用你自己的數據構建圖像識別模型

  • Video indexer,可以在視頻中找到人,定義語言的感情,並標記關鍵字

圖像和視頻處理API:谷歌雲服務

Cloud vision API:這個工具是爲圖像識別任務構建的,對查找特定的圖像屬性非常有用。它包括:

  • 標識對象

  • 檢測面部並分析情感

  • 尋找標記並描述場景

  • 尋找圖像中的文本並定義語言

  • 主色調

Cloud Video Intelligence:谷歌的視頻識別API仍在開發早期,所以和亞馬遜Rekognition、微軟識別服務相比,缺少很多功能。

目前,這個API提供下列工具:

  • 標記對象並定義動作

  • 鑑定具體內容

  • 語音轉錄

雖然在功能列表上谷歌的人工智能服務可能缺乏一些功能,但是谷歌API的強大之處在於可以訪問的大量數據集。

特殊的API和工具

除了上述文本和視覺相關的產品外,微軟和谷歌還提供一些特殊的API和工具。因爲亞馬遜的API幾乎都能歸於文本和視覺分析上,這裏就不再單獨提它了。

Azure服務機器人框架:微軟努力爲用戶提供靈活的機器人開發工具集。大體來說,這項服務包括構建、測試和部署機器人所需的成熟環境,並且是用不同編程語言完成的。

有趣的是,這項機器人服務並不完全需要機器學習的方法。因爲微軟提供了機器人的五種模式(基礎、形態、語言理解、能動性和Q&A),只有語言理解模式需要先進的AI技術。

你可以藉助.Net和Node.js技術用Azure構建機器人並用以下平臺和服務部署它們:

  • 必應

  • Cortana

  • Skype

  • Web Chat

  • Office 365 email

  • GroupMe

  • Facebook Messenger

  • Slack

  • Kik

  • Telegram

  • Twilio

微軟的必應搜索:提供了鏈接到必應搜索核心特徵的7種API,包括自動建議、新聞、圖像和視頻搜索。

微軟Knowledge API:這個API羣組涉及了很多文本分析的特殊任務:

  • 你可以用推薦API構建個性化購買推薦系統

  • 也可以用Knowledge Exploration Service用自然語言查詢指令從數據庫中檢索數據、將數據可視化,並且可以自動完成查詢

  • Entity Linking Intelligence API是爲強調名字和語句設計的,爲了表示合適的entity並且確保消除了模棱兩可的情況

  • Academic Knowledge API負責詞語的自動完成、尋找文檔中相似的詞語和概念以及圖表模式

  • QnA Maker API可以用來匹配各種問題及其答案,方便構建客服機器人等應用

  • Custom Decision Service是一個強化學習工具,可用於基於用戶參考的個性化設置和排列不同類型的內容(如鏈接、廣告等)

谷歌雲工作搜索:目前,這個API依然處於早期構建階段,但很快它可能重新定義今天我們用到的工作搜索。和依賴精確關鍵詞匹配的傳統工作搜索引擎不同,谷歌採用機器學習方法尋找變化多樣的職位描述之間的關係。例如,它嘗試減少不相關或太寬泛的反饋,搜索關鍵詞「助理」不會出現「銷售助理」這樣的職位。

這個API的主要特徵是什麼呢?

  • 在工作搜索查詢中修正拼寫錯誤

  • 匹配期望的資歷水平

  • 尋找職位描述和包含業界術語的相關工作

  • 處理首字母縮寫詞語

  • 匹配多種地點描述

圖表對比詳解:亞馬遜、微軟和谷歌雲的機器學習即服務哪家強

IBM Watson和其他平臺

上面我們已經詳細介紹了三種主要機器學習平臺功能的詳盡對比情況,除了微軟、亞馬遜和谷歌,還有一些其他公司提供的機器學習即服務的解決方案,受到很多數據科學家的青睞,比如PredicSis和BigML,還有IBM的大數據分析工具Watson Analytics。

IBM Watson Analytics目前還不是一個商業預測的成熟平臺。它的優勢在於可視化數據,並描述其相互作用的不同效果。

它還擁有谷歌提供的視覺識別服務,以及一套其他的認知服務API。目前,Watson的系統執行的任務相對簡單,對非專業人員來說很容易操作。

對於機器學習和數據科學從業者來說,瞭解機器學習雲技術提供商放出的工具,是緩解部署機器學習解決方案之痛的「特效藥」。至於最終選擇哪家,還得對症下藥。

畢竟機器學習即服務這事,沒有最好的,只有最適合當前任務的。

文章來源:36kr