1. 程式人生 > >谷歌Cloud AutoML自動機器學習平臺初步研究

谷歌Cloud AutoML自動機器學習平臺初步研究

一、AutoML背景

機器學習(Machine Learning, ML)技術近年來已取得較大成功,越來越多行業領域依賴它。但目前成功的關鍵還需依賴人類機器學習工程師完成以下工作:

  • 預處理資料
  • 選擇適當的功能
  • 選擇適當的模型系列
  • 優化模型超引數
  • 後處理機器學習模型
  • 嚴格分析所得的結果

以上工作的複雜性通常超過了非機器學習專家的能力,隨著機器學習應用的快速增長對自動機器學習方法產生了需求。目前,世界上只有小部分企業擁有足夠的人力財力資源充分發揮AI和機器學習的潛能,也只有小部分人有能力開發出先進的機器學習模型。但即使這樣一小部分擁有AI專家的企業,也仍需大量時間且反覆過程才能構建出自定義的機器學習系統。

基於此現狀,

2017年5月,谷歌正式宣佈AutoML研究專案成立;2017年10月,已實現部分超越研究人員成果的機器學習AI模型;2018年1月,谷歌已釋出第一個產品,並將它作為雲服務開放出來。服務地址如下:

二、AutoML定位

AutoML官方宣稱適用物件有想法有資料,但不知怎麼用的企業或個人使用者,使用AutoML就不需要再去招募大量的機器學習人才,也不需要花大量的時間去標註訓練資料,就直接可以得到自己定製的東西。簡而言之,AutoML能降低使用機器學習的門檻,讓更多對機器學習瞭解有限的人,把Google級的AI技術運用到產品打磨中。更多懂行業、懂產品的人可以發揮自己已有的特長,就能讓AI技術實現其行業和產品價值。

三、關於Cloud AutoML

產品介紹

2018年1月18日,Google Cloud AI首席科學家李飛飛連發三條Twitter,通過一篇部落格文章釋出了谷歌最新AI產品—AutoML,該產品可以自動設計機器學習模型,通過Google最先進的傳輸學習和神經架構搜尋技術,幫助機器學習專業知識薄弱的企業或個人使用者構建自己的高質量自定義模型;另一方面,Cloud AutoML能使AI專家們更加高效,幫助其構建更強大AI系統的同時,幫助其拓展新的領域。

使用AutoML時,就像使用一個工具,只需將訓練資料集傳入AutoML,AutoML將自動訓練資料並形成自定義模型。

當前,Google釋出了第一個產品AutoML Vision,並已將它作為雲服務開放出來,提供了一種簡單,安全和靈活的ML服務,可讓使用者為自己的資料訓練自定義視覺模型。同時,谷歌也表示稍後會支援其他標準機器學習模型,包括語音、翻譯、視訊、自然語言處理等。

產品特點

作為谷歌產品,AutoMLVision具有以下三個特點:

更精準Cloud AutoML Vision基於谷歌領先的影象識別方法,包括傳輸學習和神經架構搜尋技術。這意味著即使企業不具備足夠的機器學習專業知識,也可以獲得更準確的模型。

更快使用Cloud AutoML可以在幾分鐘內建立一個簡單的模型,用以除錯你想用AI支援的應用程式,可以在一天內構建能用於生產的完整模型。

操作簡單AutoML Vision提供了一個簡單的圖形使用者介面,可讓你指定資料,然後將資料轉換為一個針對特定需求的高質量模型。

產品使用

Cloud AutoML Vision可以更快、更輕鬆地建立用於影象識別的自定義機器學習模型。憑藉其拖放式介面可輕鬆上傳影象,訓練和管理模型,然後直接在GoogleCloud上部署這些訓練的模型。使用者只需要將圖片上傳並點選訓練,便能選擇想要建立的定製化模型或是谷歌提供的模型。如果希望定製化模型,谷歌建議理想的情況是,每個標籤至少要有100張訓練圖片。如果選擇通過Vision API使用谷歌提供的模型,則只能標識一些常見的物件,像是臉部、標誌、地標等。

谷歌Cloud AutoML Vision系統基於監督式學習,所以需要提供一系列帶有標籤的資料。具體來說,開發者只需要上傳一組圖片,然後匯入標籤或者通過App建立,隨後谷歌的系統就會自動生成一個定製化的機器學習模型。整個過程,從匯入資料到打標籤到訓練模型,所有的操作都是通過拖拽完成。在這個模型生成以及訓練的過程中,除了訓練樣本時需要人工打標籤外,其他的步驟就不需要人為的干預。據說,模型會在一天之內訓練完成。

AutoML Vision提供了一個簡單的圖形使用者介面(GUI),供使用者根據自己的資料來訓練,評估,改進和部署模型,只需花費幾分鐘時間。如下展示了一個對走廊,餐廳,客廳,廚房,臥室以及浴室共7類標籤2880個圖片的圖片識別模型評估介面。

模型評估介面

下圖是展示新圖片在訓練好的模型上做預測屬於哪類標籤,結果顯示最大可能是75.85%屬於廚房,具體如下:

 

模型預測介面

使用者在訓練模型時,如果不想自己打圖片標籤,可以使用Google提供的公共資料集的標籤服務來標註,以確保使用者的模型接受高質量資料訓練。

費用說明

官方宣稱免費試用,但從瞭解的資訊來看,是根據模型訓練時間多少來決定收費標準:

1、  1小時內免費;

2、  超過1小時到24小時最多收費$550;

四、AutoML技術原理介紹

使用技術

從技術層面來看,基於兩個技術:

1.谷歌通過遷移學習(Transfer Learning)將已訓練完成的模型,轉移到新的模型訓練過程。這樣,能夠用較少量資料訓練出機器學習模型。遷移學習目標是將從一個環境中學到的知識用來幫助新環境中的學習任務,強調的是在不同但是相似的領域、任務、分佈之間進行知識的遷移。雖然只擁有很少的資料,但谷歌用友很多類似的AI模型,所以通過遷移學習,谷歌可以將這兩者結合起來,生成一個滿足需求的AI模型。此外,谷歌還通過learning2learn功能自動挑選適合的模型,搭配超引數調整技術(Hyperparametertuning technologies)自動調整引數。

2.神經架構搜尋(Neural Architecture Search),AutoML用的是增強學習(迭代)+RNN生成的方法,實際上針對的是CNN的網路結構,用深度學習調參來訓練確定網路構架。增強學習中,不用告訴機器引數怎麼設定,等它隨機調整了一個引數後,如果結果是好的,那麼給它獎勵,如果結果不好,那麼給它懲罰,但是不告訴它哪一步做錯了,久而久之機器會自己摸索出一套最佳方案來。增強學習極大減少了資料的依賴,尤其是在規則明確的遊戲當中,則更加適合增強學習發揮其強大的威力。

核心原理

AutoML由控制器(Controller)和子網路(Child)兩個神經網路組成,控制器生成子模型架構,子模型架構執行特定的任務訓練並評估模型的優劣反饋給控制器,控制器將會將此結果作為下一個迴圈修改的參考。重複執行數千次“設計新架構、評估、回饋、學習”的迴圈後,控制器能設計出最準確的模型架構,如圖:

在這一過程中,搭建訓練模型、調參等種種老大難題都能被自動解決,這也將GoogleCloud這一新服務與微軟Azure ML的機器學習平臺區分開。

未來發展

當前AutoML的簡易架構如下圖所示:

當前架構圖

目前Cloud AutoML的核心模組在於AutoML Box,使用者上傳樣本資料後,AutoML Box將適配適合的演算法模型來訓練使用者資料,最終形成高精度的訓練模型供使用者使用。未來,AutoML通過新增的Crowd Intelligence模組,使得AutoML更加智慧,行為更加類似人類大腦。未來架構如下圖所示:

未來架構圖

五、AutoML應用領域瞭解

截至目前,已有包括迪士尼、倫敦動物學會ZSL、服飾品牌Urban Outfitter在內的多家公司和組織試用了該服務,取得了業務突破。比如倫敦動物學學會用AutoML來識別野生動物,在垃圾檢測方面,通過AutoML Vision識別所料瓶等花式使用,谷歌目前在醫療、教育等這樣集中關切卻又缺乏很好解決方案的領域做AI探究。

對於個人來說,你可以開發一個針對某一類物體識別的App,比如恐龍、蜘蛛等,你只需要事先使用AutoML Vision訓練好模型,使用者在你的App裡上傳恐龍圖片將得到這是一隻什麼龍的答案:霸王龍還是什麼龍。

下面分享一個毒蜘蛛分類使用案例,連結如下

六、AutoML與其他同類技術產品對比

谷歌此次聲稱AutoML是市面上唯一提供類似服務的產品,但諸如Clarif.ai這樣的服務也已打出過類似的旗號,而微軟的認知服務也能讓你定製預先訓練好的視覺、語音識別和決策模型(不過所有這些服務都還未被正式釋出)。

通過使用機器學習雲服務,你可以開始構建你的第一個工作模型,從相對較小的團隊預測中來產出有價值的見解。市場上最好的機器學習平臺:亞馬遜機器學習服務、微軟Azure機器學習和谷歌雲AI這三個領先的雲MLaaS服務(服務型導向的機器學習)。

在文字識別、翻譯和文字分析方面的API比較:

微軟提供了最豐富的功能列表,但是所有供應商都提供最重要的功能。

關於影象分析的比較如下圖:

雖然影象分析與視訊分析介面有許多交叉之處,但是許多視訊工具仍在發展或處於良好的版本中。例如,谷歌對多種影象處理任務可提供許多支援,但是明顯缺乏一些微軟和亞馬遜已能實現的視訊分析特徵功能。

微軟看似是贏家,雖然我們仍認為亞馬遜有最高效的視訊分析介面,如亞馬遜可支援流媒體處理。這個特徵功能顯然拓寬了視訊分析技術的應用面。

影象和視訊處理應用程式介面:亞馬遜 Rekognition

我們絕對沒有拼錯單詞。Rekognition應用程式介面是用於影象識別以及最近的視訊識別任務。包括:

  • 影象目標檢測以及分類(發現並檢測影象中的不同目標物件並且進行定位)
  • 在視訊中,該介面能檢測一般活動(比如“跳舞”)或者複雜活動(如“撲火”)
  • 面部識別 (用於檢測面部並進行匹配) 以及面部分析(這個介面有些非常有意思的功能比如檢測笑臉、分析眼睛,甚至看可以定義視訊中的情感情緒
  • 檢測不合適的視訊
  • 識別影象和視訊中的名人 (無論出於何種目的)

影象與視訊處理應用程式介面: 微軟 Azure 認知服務

微軟的影象包結合了針對不同種類影象、視訊和文字分析的六個應用程式介面

  • 可識別目標物件、行為(如走路)以及定義影象主顏色特徵的計算機視覺
  • 可檢測影象、文字、視訊中不合適內容的內容評分機制
  • 面部應用程式介面用於檢測面部並集中檢測結果,進行年齡、情緒、姿勢、笑容和麵部毛髮的識別定義
  • 情緒應用程式介面是可描繪面部表情的另一個面部識別工具
  • 定製視覺服務支援用自己的資料構建定製影象識別模型
  • 視訊索引器是一個可在視訊中尋找人物、定義語音情感以及圈出關鍵詞的工具

影象和視訊處理應用程式介面: 谷歌雲服務

雲視覺應用程式介面。該工具被用於影象識別任務,並非常擅長查詢特定的影象屬性:

  • 標記物件
  • 檢測臉部並分析表情
  • 發現地標並描繪場景(如度假,婚禮等)
  • 發現影象中的文字並辨識文字語言
  • 主顏色特徵

雲視訊智慧。該谷歌的視訊識別應用程式介面處於發展的早期,因此它缺少許多亞馬遜Rekognition和微軟認知服務的特徵功能。現在該介面提供以下工具箱:

  • 標記物件並定義行為
  • 精確識別內容
  • 轉錄語音

雖然從特徵表級別上來說,谷歌人工智慧服務也許缺少一些功能,但是谷歌應用程式介面的優勢力量在於谷歌握有的大資料集。