AutoML:自動設計自動駕駛機器學習模型
說明
- 原文連結
- 翻譯:@AdolphLWQ
- 專案地址
- tt :自動生成翻譯模板
- 用時: 2.5h(人機混合)
- 2019翻譯任務:3/52
-
譯者說
本人介紹了谷歌自動駕駛子公司Waymo在AutoML領域的研究成果。自動駕駛對神經網路模型的準確性和延遲要求,這要求工程師手動調優不同的神經網路架構,這不僅花費了大量的時間,而且能夠調優的數量是有限的。因此,Waymo和Google AI的研究員合作,自動生成神經網路架構並訓練評估,即AutoML,以便節約時間並尋找最佳模型。本文介紹了他們的初步研究成果,從取得的進展來看,未來可期。
正文
By: Shuyang Cheng and Gabriel Bender
在Waymo,機器學習幾乎在我們自動駕駛系統的每個模組都起著關鍵作用。它可以幫助我們的汽車看清周圍的環境、感知世界、預測其他人的行為,並決定自己下一步最佳移動。
採取感知:我們的系統組合多個神經網路,使車輛能夠解釋感測器資料以識別物體,並隨著時間的推移跟蹤它們,以便車輛能夠深入理解周圍的世界。建立這些神經網路通常是一項耗時的任務; 我們要優化神經網路架構,以使網路的質量和速度滿足在自動駕駛汽車上執行,這是一個複雜的微調過程,一項新任務的調優通常花費工程師數月時間。
現在,我們與Brain團隊的Google AI研究員合作,將前沿研究付諸實踐來自動生成神經網路。更重要的是,這些自動生成的神經網路比工程師手動調優的網路具有更高的質量和更快的速度。
為了把我們的自動駕駛技術帶到不同的城市和環境,我們需要以極快的速度優化我們的模型以適應不同的場景。AutoML讓我們做到這一點,它提供了大量的有效且持續的ML解決方案。
遷移學習:使用現有的AutoML架構
我們的合作始於一個簡單的問題: AutoML能否為汽車生成高質量和低延遲的神經網路 ?
質量衡量神經網路的準確性。延遲衡量神經網路的速度,它也稱為推理時間。由於駕駛是一項需要車輛實時反饋、系統足夠安全的關鍵活動,因此我們的神經網路需要低延遲執行。我們大部分直接執行在車輛上的神經網路提供結果的延遲小於10ms,這比在資料中心數千臺伺服器上執行的許多神經網路快。
在他們的 初版AutoML論文 中,我們的Google AI同事能夠自動探索超過12000種架構來解決經典的CIFAR-10影象識別任務:將小影象識別為十個類別中的一個,例如汽車、飛機、狗等。在一篇 後續文章 中,他們發現了一組神經網路構建模組,稱之為NAS單元,對於CIFAR-10和類似的任務,NAS單元自動構建的神經網路比手工調優的要好。通過這次合作,我們的研究人員決定使用這些單元自動構建針對自動駕駛任務的新模型,從而將在CIFAR-10上學到的知識遷移到自動駕駛領域。我們的第一個實驗是語義分割任務:將LiDAR點雲中的每個點標識為汽車、行人、樹等。
One example of a NAS cell. This cell processes inputs from the two previous layers in a neural net.
為此,我們的研究員編寫了一個自動搜尋演算法,在卷積網路架構(CNN)中探索數百種不同的NAS單元組合,訓練和評估我們的LiDAR分割任務模型。當我們的工程師手工微調這些神經網路時,他們只能探索有限數量的架構,但通過這種方法,我們自動探索了數百個架構。我們發現新的模型在以下兩方面優於以前手工調優的模型:
- 質量相似,但延遲顯著降低。
- 延遲相似,但質量更高。
鑑於初步嘗試取得的成功,我們將相同的搜尋演算法應用於兩個與交通車道的檢測和定位相關的附加任務。遷移學習技術也適用於這些任務,並且我們能夠在汽車上部署三個新訓練和改進的神經網路。
端到端搜尋:從頭開始的新搜尋架構
我們受到這些初步結果的鼓舞,因此決定尋找可以提供更好結果和更廣泛應用的全新架構。通過無限制組合已發現的NAS單元,我們可以更直接地尋找滿足嚴格的延遲要求的架構。
進行端到端搜尋通常需要手動探索數千種架構,會帶來大量的計算成本。探索單一架構需要在具有多個GPU的資料中心計算機上進行數天的訓練,這意味著單個任務找到理想的架構需要數千天的計算。因此我們設計了一個代理任務:縮小的LiDAR分割任務,可以在幾小時內完成訓練。
團隊必須克服的一個挑戰是找到一個類似於我們原始分割任務的代理任務。在我們能夠確定新任務架構的質量與原始任務中架構的質量之間的關聯之前,我們嘗試設計了幾個代理任務。然後,我們啟動了類似於 初版AutoML論文 中的搜尋演算法,但現在用在代理任務上進行搜尋:代理端到端搜尋。這是該概念首次應用於LiDAR資料。
Proxy end-to-end search: Explore thousands of architecture on a scaled-down proxy task, apply the 100 best ones to the original task, validate and deploy the best of the best architectures on the car.
我們使用了幾種搜尋演算法來優化質量和延遲,因為這對車輛至關重要。我們檢視不同型別的CNN架構並使用不同的搜尋策略,例如隨機搜尋和強化學習,我們為代理任務探索10000多種不同的架構。通過使用代理任務,原來在Google TPU叢集上需要一年多計算時間的任務現在只需要兩週時間。我們剛開始遷移NAS單元時就發現了比以前更好的神經網路:
- 延遲降低20-30%,質量相同。
- 質量更高,錯誤率降低8-10%,與之前的架構具有相同的延遲。
- The first graph shows about 4,000 architectures discovered with a random search on a simple set of architectures. Each point is an architecture that was trained and evaluated. The solid line marks the best architectures at different inference time constraints. The red dot shows the latency and performance of the net built with transfer learning. In this random search, the nets were not as good as the one from transfer learning.
- In the second graph, the yellow and blue points show the results of two other search algorithms. The yellow one was a random search on a refined set of architectures. The blue one used reinforcement learning as in [1] and explored more than 6,000 architectures. It yielded the best results. These two additional searches found nets that were significantly better than the net from transfer learning.
搜尋中發現的一些網路架構顯示了卷積、池化和反捲積操作的創造性組合,如下圖所示。這些架構最終適用於我們最初的LiDAR分割任務,並將部署在Waymo的自動駕駛車輛上。
One of the neural net architectures discovered by the proxy end-to-end search.
下一步呢?
我們的AutoML實驗只是一個開始。對於我們的LiDAR分割任務,遷移學習和代理端到端搜尋都提供了比手工調優更好的神經網路。我們現在有機會將這些機制應用於新型別的任務,這可以改善許多神經網路。
這一發展為我們未來的ML工作開闢了新的令人興奮的途徑,並將改善我們自動駕駛技術的效能和能力。我們期待與Google AI進一步工作,敬請期待!
致謝
Waymo和Google之間的合作由Waymo的Matthieu Devin和Google的Quoc Le發起和贊助。這項工作由Waymo的Shuyang Cheng和Google的Gabriel Bender以及Pieter-jan Kindermans執行。特別感謝Vishy Tirumalashetty的支援。
Members of the Waymo and Google teams (from left): Gabriel Bender, Shuyang Cheng, Matthieu Devin, and Quoc Le
參考文獻
- Barret Zoph and Quoc V. Le. Neural architecture search with reinforcement learning. ICLR, 2017.
- Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le, Learning Transferable Architectures for Scalable Image Recognition. CVPR, 2018.