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

量子位發表於2018-02-26
林鱗 編譯自 KDnuggets
量子位 出品 | 公眾號 QbitAI

什麼是機器學習即服務?

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

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

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

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

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

什麼是“機器學習即服務”

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

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

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

準備好了嘛,來次夠!

自定義預測分析任務對比

640?wx_fmt=png

亞馬遜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 StudioBot 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)其他,包括特定的未分類服務

640?wx_fmt=png

亞馬遜的語音和文字處理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。

640?wx_fmt=png

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

640?wx_fmt=png

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的主要特徵是什麼呢?

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

  • 匹配期望的資歷水平

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

  • 處理首字母縮寫詞語

  • 匹配多種地點描述

    640?wx_fmt=png

IBM Watson和其他平臺

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

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

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

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

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

加入社群

量子位AI社群13群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot5入群;


此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。


進群請加小助手微訊號qbitbot5,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態


相關文章