項目已開源,微軟研究院用遷移學習訓練自主無人機,可用于真實環境
本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
「感知-動作」回路是我們日常活動的核心。在潛意識中,我們的大腦利用感知輸入,實時觸發特定的運動動作,形成一種持續的活動,如運動、看電視等各種活動都是這樣形成的。
在人工智能的背景下,「感知-動作」回路是諸如自動駕駛汽車等自主系統的基石。雖然強化學習等學科在這個領域已經取得了一定進展,但目前,自主系統在直接根據視覺數據做出決策方面仍遠不及人類。
最近,微軟的人工智能研究人員發表了一篇論文,提出了一種遷移學習方法,用于在模擬環境中學習感知行為策略,并將這些知識應用于無人機。
根據感知輸入采取哪些行動,與其說是一個理論問題,不如說是一個實踐問題。近年來,強化學習和模仿學習等方法在這一領域顯示出巨大的潛力,但它們仍然受到難以大量收集標記真實世界數據的限制。另一方面,模擬數據很容易生成,但在不同的現實場景中通常呈現出不安全的行為。
能夠在模擬環境中學習策略并將知識外推到真實環境中仍然是自主系統的主要挑戰之一。為了推進這一領域的研究,人工智能社區為現實世界的自主系統建立了許多基準。其中最具挑戰性的是第一人稱視角的無人機比賽。
FPV 挑戰
在第一人稱視角(FPV)完成的比賽中,專業飛行員能夠計劃、控制一個四旋翼機,使其具有很高的敏捷性,但卻沒有考慮安全性。微軟的研究團隊試圖建立一個自主代理,可以在 FPV 比賽中控制無人機。
從深度學習的角度來看,導航任務中最大的挑戰之一是輸入圖像數據的高維性和可變性。想要成功地解決這個任務,就需要一個對視覺外觀不變性和對仿真與現實之間差異的魯棒表示。從這個角度來看,能夠在 FPV 比賽等環境中操作的自主代理需要接受模擬數據的訓練,這些模擬數據學習可在真實環境中使用的策略。
許多這類研究,如 FPV 比賽,都集中在增強無人機的各種傳感器,可以幫助建立周圍環境的模型。然而,微軟的研究團隊旨在創造一種以人腦功能為靈感的計算結構,將視覺信息直接映射到正確的控制動作上。
為了證明這一點,微軟研究院使用了一個非常基本的帶有前置攝像頭的四旋翼機。所有的處理都是在 Nvidia TX2 計算機上完成的,它有 6 個 CPU 核和一個集成的 GPU。現成的英特爾 T265 跟蹤相機提供里程計,圖像處理使用 Tensorflow 框架。圖像傳感器是一個 USB 攝像頭,有 830 個水平視場,原始圖像被縮小到 128 x 72 的尺寸。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
代理
微軟研究小組的目標是在模擬環境中訓練一個自主代理,并將所學的策略應用到現實世界的 FPV 比賽中。對于模擬數據,微軟依靠 AirSim 生成,這是一個用于無人機、汽車和其他交通工具的高保真模擬器。AirSim 生成的數據在訓練階段使用,然后在真實世界中部署學習到的策略,而無需任何修改。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
為了彌合模擬現實的差距,微軟的研究依賴于交叉模式學習,即使用有標簽和無標簽的模擬數據以及真實世界的數據集。其思想是在高維模擬數據中進行訓練,并學習一種低維策略表示方法,該方法可以有效地用于實際場景中。為了實現這一目標,微軟研究院利用了跨模態變分自動編碼器(CM-VAE)框架,該框架對每個數據模態使用一個編碼器-解碼器對,同時將所有輸入和輸出壓縮到一個潛在空間。該方法允許將有標記和無標記的數據模式結合到潛在變量的訓練過程中。
將此技術應用于 FPV 環境需要不同的數據模式。第一種數據模式考慮原始的未標記傳感器輸入(FPV 圖像),而第二種特征狀態信息直接與手頭的任務相關。在無人機競賽的情況下,第二模態對應于在無人機的坐標幀中定義的下一個門的相對姿態。每個數據模式都由一個編碼器-解碼器對使用 CM-VAE 框架進行處理,該框架允許學習低維策略。
自主 FPV 比賽代理的體系結構由兩個主要步驟組成。第一步的重點是學習一個潛在的狀態表示,而第二步的目標是學習一個控制策略,以操作這個潛在的表示。第一個組件或控制系統架構接收單眼相機圖像作為輸入,并將下一個可見門的相對姿態以及背景特征編碼為低維潛在表示。這種潛在的表示隨后被輸入到控制網絡中,控制網絡輸出一個速度指令,然后由無人機的飛行控制器轉換成執行器指令。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
降維是微軟研究方法的重要組成部分。在 FPV 比賽中,有效的降維技術應該是平滑、連續、一致的,并且對模擬圖像和真實圖像中的視覺信息差異具有魯棒性。為了實現這一目標,該體系結構采用了一種 CM-VAE 方法,其中每個數據樣本被編碼成一個獨立的潛在空間,該潛在空間可以被解碼回圖像,或者轉換成另一種數據形式,例如門相對于無人機的姿態。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
由此產生的體系結構能夠將基于 27468 個變量的高維表示減少到最基本的 10 個變量。盡管只使用 10 個變量對圖像進行編碼,但解碼后的圖像提供了無人機可以看到的前方物體的豐富描述,包括所有可能的門的尺寸和位置,以及不同的背景信息。
圖片來源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/
微軟研究院在各種 FPV 比賽環境中測試了這種自主無人機,其中包括一些具有極端視覺挑戰性的環境。比如在地板上有與大門色調相同的紅色條紋的室內,或者在大雪環境中。
另外,還有相關視頻重點介紹了自主無人機如何使用低維圖像表示完成所有挑戰。如果你感興趣,可以打開這個視頻:https://youtu.be/AxE7qGKJWaw 。
盡管微軟的研究工作是專門針對 FPV 比賽場景的,但這些原理可以應用到許多其他的感知動作場景中。這類技術有助于加速可在模擬環境中訓練的自主代理的開發。為了激勵這項研究,微軟在 GitHub 中開源了 FPV 代理的代碼。
GitHub 項目網址:https://github.com/microsoft/AirSim-Drone-Racing-VAE-Imitation
via:https://towardsdatascience.com/microsoft-research-uses-transfer-learning-to-train-real-world-autonomous-drones-53b3f941768f