Categories
程式開發

微軟研究團隊使用遷移學習,訓練現實世界中的無人機


感知-行動循環是我們日常生活活動的核心。潛意識裡,我們的大腦使用感官輸入來實時觸發特定的運動動作,這變成了一種持續的活動,從體育運動到看電視的各種活動都是如此。在人工智能中,感知-動作循環是自動駕駛車輛等自動系統的基石。雖然模仿學習或強化學習等學科在這一領域確實取得了進展,但目前的自主系統在直接根據視覺數據做出決定方面仍遠遠不能與人類技能相提並論。最近,微軟的人工智能研究人員發表了一篇論文,提出了一種遷移學習方法,從模擬環境中學習感知-行動策略,並將這些知識應用到自主無人機的飛行中。

微軟研究團隊使用遷移學習,訓練現實世界中的無人機 1

學習根據感官輸入來判斷採取哪種行動的主要挑戰來自實踐操作,而非理論。近年來,強化學習和模仿學習等方法在這一領域顯示出了巨大的潛力,但它們面對著真實世界中大量難以收集的數據時仍然無計可施。另一方面,模擬數據很容易生成,但通常無法在多樣化的真實場景中提供安全行為。能夠在模擬環境中學習策略並將知識外推到真實世界環境中,仍然是自主系統的主要挑戰之一。為了推進這一領域的研究,人工智能社區為現實世界的自主系統創建了許多基準。其中最具挑戰性的是第一人稱視角的無人機比賽。

微軟研究團隊使用遷移學習,訓練現實世界中的無人機 2

FPV挑戰

在第一人稱視角(FPV)完成的比賽中,專業的飛行員能夠在不影響安全的情況下,使用可能有噪聲的單目攝像機輸入,以高度敏捷的方式規劃和控制四旋翼。微軟的研究團隊試圖建立一個自主代理,可以控制FPV比賽中的無人機。

從深度學習的角度來看,導航任務最大的挑戰之一是輸入圖像數據的高維性和劇烈變化。要成功地解決這一任務需要一種不受視覺表象影響、對模擬和現實之間的差異具有魯棒性的表現形式。從這個角度來看,可以在FPV比賽等環境中運行的自主代理,需要在模擬數據中進行訓練,這些模擬數據能夠學習可以在現實環境中使用的策略。

很多研究試圖解決類似FPV比賽這樣的挑戰,都主要是在無人機上增加各種傳感器,幫助模擬周圍環境。相反,受人類大腦功能的啟發,微軟研究團隊的目標是創造一種計算結構,將視覺信息直接映射到正確的控制動作。為了證明這一點,微軟研究團隊使用了一個非常基礎的四旋翼,帶有一個前置攝像頭。所有的處理都完全是藉助Nvidia TX2計算機在板上完成的,該計算機有6個CPU內核和一個集成GPU。一個現成的Intel T265跟踪攝像機提供里程測量,圖像處理使用Tensorflow框架。圖像傳感器是一個具有830水平FOV的USB相機,我們將原始圖像縮小到128 x 72的尺寸。

微軟研究團隊使用遷移學習,訓練現實世界中的無人機 3

代理

微軟研究團隊的目標是在模擬環境中訓練一個自主代理,並將學習到的策略應用到現實世界的FPV比賽中。對於模擬數據,微軟研究團隊依賴於AirSim,這是一款針對無人機、汽車和其他交通工具的高保真模擬器。在訓練階段使用AirSim生成的數據,然後在真實世界中不做任何修改地部署所學習的策略。

為了彌補模擬與現實之間的差距,微軟研究團隊採用了跨模式學習,既使用帶標籤的和不帶標籤的模擬數據,同時還使用真實世界的數據集。其思想是在高維模擬數據中進行訓練,並學習在真實場景中可以有效使用的低維策略表示。為了實現這一目標,微軟研究團隊利用了跨模態變分自動編碼器(CM-VAE)框架,該框架為每個數據模態使用一個編碼-解碼器對,同時將所有輸入和輸出限制在一個隱空間內。該方法能將標記的和未標記的數據模態合併到潛變量的訓練過程中。

將此技術應用於FPV環境需要不同的數據模態。第一種數據模態考慮了原始未標記的傳感器輸入(FPV圖像),而第二種數據模態描述了與當前任務直接相關的狀態信息。在無人機競賽中,
第二模態與無人機坐標系中的下一個門的相對位姿相對應,每個數據模態由一個編碼器-解碼器對通過使用能夠學習低維策略的CM-VAE框架進行處理。

自主FPV比賽代理的架構由兩個主要步驟組成。第一步的目標是學習一個潛在態表示,而第二步的目標是學習一個控制策略操作這個潛在表示。第一個組件或控制系統體系結構接收單眼攝像機圖像作為輸入,並將下一可見門的相對位姿連同背景特徵編碼為低維潛在表示。然後,這個潛在表示被送入一個控製網絡,後者會輸出一個速度命令,稍後被無人機的飛行控制器轉換成Actuator命令。

微軟研究團隊使用遷移學習,訓練現實世界中的無人機 4

降維是微軟研究方法的一個重要組成部分。在FPV比賽中,有效的降維技術應該是平滑的、連續的、一致的,並且對模擬圖像和真實圖像中視覺信息的差異具有魯棒性。為了實現這一目標,該架構採用了CM-VAE方法,將每個數據樣本編碼到單個隱空間中,這些隱空間可以被解碼成圖像,或者轉換成另一種數據形式,例如門相對於無人機的位姿。

結果架構能夠將基於27468個變量的高維表示簡化為最基本的10個變量。儘管只使用了10個變量來編碼圖像,解碼後的圖像仍然提供了豐富的描述,無人機可以看到前方,包括所有可能的門的大小和位置,以及不同的背景信息。

微軟研究團隊使用遷移學習,訓練現實世界中的無人機 5

微軟研究團隊在各種FPV比賽環境中測試了這款自動駕駛無人機,包括一些具有極端視覺挑戰條件的環境:室內(藍色地板上的紅色條紋與門上的相同)以及大雪天。

結語

儘管微軟研究團隊的工作是專門針對FPV比賽場景的,但這些原則也可以應用於許多其他感知-動作場景。這種類型的技術可以幫助加速自主代理的開發,這些代理可以在模擬環境中進行訓練。為了激勵這項研究,微軟在GitHub上開源了FPV代理的代碼。

項目地址:
https://github.com/microsoft/AirSim-Drone-Racing-VAE-Imitation

原文鏈接:
https://towardsdatascience.com/microsoft-research-uses-transfer-learning-to-train-real-world-autonomous-drones-53b3f941768f