自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

美國當地時間1月16日,全球自動駕駛領頭羊Waymo,發佈了十年週年慶祝短視頻,並且在官方博客上發佈了關於“Auto ML(Auto Machine Learning)”的文章,深度剖析了Auto ML與Google AI大腦,是如何幫助Waymo發展自動駕駛技術的。

在Waymo的官方推特上寫著:十年前的這個星期,“項目司機”正式成立,其使命是改善道路安全,使交通更加便利。從這個“登月”項目,到谷歌自動駕駛汽車項目,現在是Waymo,一起為下一個十年及更遠的將來而努力!

下面是關於Auto ML的文章,在Waymo,機器學習幾乎在自動駕駛系統的每個部分都扮演著關鍵角色。它幫助我們的汽車看清周圍的環境,理解世界,預測他人的行為,並決定他們下一步的最佳行動。

以感知為例,Waymo的系統採用了神經網絡的組合,使Waymo的車輛能夠解讀傳感器數據、識別物體,並隨著時間的推移跟蹤它們,從而對周圍的世界有一個深入的瞭解。

創建這些神經網絡通常是一項耗時的任務:優化神經網絡架構,以達到自動駕駛汽車運行所需的質量和速度,是一個複雜的微調過程,Waymo工程師可能需要數月時間來完成一項新任務。

現在,通過與來自Google AI大腦的研究人員合作,Waymo正在將前沿研究付諸實踐,以自動生成神經網絡。更重要的是,這些最先進的神經網絡比那些由工程師手工調整的神經網絡質量更高、速度更快。

為了將Waymo的自動駕駛技術應用到不同的城市和環境中,需要針對不同的場景快速優化Waymo的模型。Auto ML使Waymo能夠做到這一點,高效和連續地提供大量ML解決方案。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

01 遷移學習:使用現有的自動化架構

Waymo和Google AI大腦的合作始於一個簡單的問題:Auto ML能否為汽車生成高質量、低延遲的神經網絡?

質量衡量的標準是由神經網絡產生的答案的準確性,延遲度量網絡提供答案的速度,也稱為推理時間。由於駕駛是一種活動,它要求車輛使用實時答案,並且考慮到系統的安全性,神經網絡需要在低延遲的情況下運行。大多數網絡直接運行在Waymo的車輛上,結果少於10毫秒,這比部署在數千臺服務器上的數據中心中的許多網絡要快。

在原來的Auto ML論文(Learning Transferable Architectures for Scalable ImageRecognition PDF,獲取方式見文末),谷歌AI的員工能夠自動探索12000多個架構解決CIFAR-10的經典圖像識別任務:確定一個小形象代表十個類別之一,比如買一輛汽車、飛機、一隻狗,等等。

在後續文章(NEURAL ARCHITECTURE SEARCH WITHREINFORCEMENT LEARNING

PDF,獲取方式見文末),他們發現了一個家庭的神經網絡的構建塊,稱為NAS單元,這可能是由自動構建比手工網CIFAR-10和類似的任務。通過這種合作,Waymo的研究人員決定使用這些單元來自動構建針對自動駕駛任務的新模型,從而將CIFAR-10上的知識轉移到汽車領域,第一個實驗是語義分割任務:識別激光雷達點雲中的每個點,如汽車、行人、樹等。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

圖一:一個NAS單元的例子,這個單元在神經網絡中處理前兩層的輸入。

為此,Waymo研究人員建立了一個自動搜索算法,在卷積網絡架構(CNN)中探索數百種不同的NAS單元組合,為Waymo的激光雷達分割任務訓練和評估模型。當Waymo的工程師手工調整這些網絡時,只能探索有限數量的架構,但是使用這種方法,可以自動探索了數百個架構。

相比以前的人工微調優化神經網絡,Auto ML通過下面兩種方式來改進:

一些具有類似質量的延遲顯著降低;

其他的則具有更高的質量和類似的延遲。

初步成功後,Waymo將相同的搜索算法應用於另外兩個與交通車道檢測和定位相關的任務,轉移學習技術也適用於這些任務,最後能夠在汽車上部署三個新訓練和改進的神經網絡。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

十年前的Waymo自動駕駛汽車(普銳斯)

02 端到端搜索:從頭開始搜索新的架構

被最初成功的結果所鼓舞,接著就是更進一步、更廣泛地尋找能夠提供更好結果的全新架構,通過不侷限於組合已經發現的NAS單元,可以更直接地尋找考慮到嚴格的延遲需求的架構。

執行端到端搜索通常需要手動探索數千個架構,這需要大量的計算成本。探索單一架構需要在具有多個GPU卡的數據中心計算機上進行幾天的培訓,這意味著搜索單個任務需要數千天的計算時間。相反,通過設計了一個代理任務:一個縮小的激光雷達分割任務,可以在幾個小時內解決。

Waymo團隊必須克服的一個挑戰,是找到一個與最初的細分任務足夠相似的代理任務。在確定代理任務上的架構質量與原始任務上的架構質量之間的良好相關性之前,對幾個代理任務設計進行了試驗。然後,啟動了一個類似於AutoML論文的搜索,但現在是代理任務:一個端到端代理搜索。這是這個概念第一次應用在激光雷達數據上。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

圖二:代理端到端搜索:在一個縮小的代理任務上探索數千個架構,將100個最佳架構應用於原始任務,驗證和部署car上最好架構中的最好架構。

Waymo使用了幾種搜索算法,對質量和延遲進行優化,因為這對車輛非常重要。觀察不同類型的CNN架構,使用不同的搜索策略,如隨機搜索和強化學習,能夠為代理任務探索超過10,000種不同的架構。通過使用代理任務,在谷歌TPU集群上需要一年以上計算時間的任務只需要兩週時間。

當我們剛剛轉移了NAS單元,結果發現了比以前更好的網絡:

在相同的質量下,神經網絡的延遲降低20-30%;

具有更高質量的神經網絡,錯誤率降低8-10%,與以前的架構具有相同的延遲。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

圖三 :1)第一個圖展示了在一組簡單的架構上隨機搜索發現的大約4000個架構。每個點都是一個經過培訓和評估的架構。實線表示不同推理時間約束下的最佳體系結構,紅點表示用轉移學習構建的網絡的延遲和性能。在這種隨機搜索中,網絡學習效果不如遷移學習。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

圖三:2)在第二張圖中,黃色和藍色的點表示另外兩種搜索算法的結果。黃色的是對一組精緻架構的隨機搜索。藍色的那個使用了強化學習,就像在[1]中一樣,探索了6000多個架構。它產生了最好的結果。這兩個額外的搜索發現,網絡明顯優於遷移學習的網絡。

在搜索中發現的一些架構顯示了卷積、池化和反捲積操作的創造性組合,如下圖所示。這些架構最終非常適合最初的激光雷達分割任務,並將部署在Waymo的自動駕駛汽車上。

自動駕駛領頭羊Waymo十週年奉獻:Auto ML機器學習

圖四:由代理端到端搜索發現的一種神經網絡結構。

03 接下來是什麼

Waymo的Auto ML實驗僅僅是個開始。對於激光雷達分割任務,傳輸學習和代理端到端搜索都提供了比人工製作更好的網絡,現在有機會將這些機制應用到新的任務類型上,這可以改善許多其他的神經網絡。

這一發展為未來的ML工作開闢了新的令人興奮的道路,並將提高Waymo的自動駕駛技術的性能和能力,並繼續與谷歌AI大腦的合作。


分享到:


相關文章: