從軌道上的世界學習駕駛

語言: CN / TW / HK

arXiv論文“Learning to drive from a world on rails“,21年10月,德州奧斯丁分校和Intel Labs。

通過基於模型的方法從預記錄的駕駛日誌中學習基於視覺的互動式駕駛策略。世界的一個前向模型監督預測任何潛在駕駛軌跡結果的駕駛策略。為了支援從預記錄的日誌中學習,假設“世界在軌道”,這意味著智體及其操作都不會影響環境。該假設大大簡化了學習問題,將動力學分解為非反應性世界模型和低維-緊湊的自車前向模型。

該方法用Bellman方程的表格式動態規劃評估來計算每個訓練軌跡的動作-價值;這些動作-價值反過來監督最終基於視覺的駕駛策略。儘管有“世界在軌道”的假設,但最終的駕駛策略在動態的、反應性的世界中表現良好。

程式碼: https:// dotchen.github.io/world _on_rails

如圖所示:給定感測器資料、駕駛狀態和動作的離線駕駛軌跡資料集,首先學習自車的前向模型(a)。然後,用離線駕駛軌跡計算預定義獎勵下的動作-價值,並用動態規劃和Bellman方程(b)的後向歸納法學習前向模型。最後,動作-價值通過策略蒸餾(policy distillation)來監督反應式視覺運動(visuomotor)駕駛策略(c)。對於單個影象,對所有車速和動作的策略進行監控,獲得更豐富的監控訊號。

如下是演算法虛擬碼:

在一小部分軌跡上訓練自車前向模型Tego。收集軌跡子集,以跨越自車的整個動作空間:轉向和制動均勻取樣,制動器從伯努利分佈中取樣。前向模型Tego將當前自車狀態2D位置(xt,yt),方向θt,速度vt作為輸入,並預測下一個自車狀態xt+1,yt+1,θt+1,vt+1。用引數化自行車模型作為Tego的結構先驗。特別是,只學習車輛軸距fb、rb、從駕駛轉向s到車輪轉向φ的對映,以及從油門和制動到加速度a的對映。用L1損失和隨機梯度下降(STD)以自迴歸方式訓練Tego。

對每個時間步長t,將價值函式Vt表示為4D張量,離散為NH×NW位置bins、Nv速度bins和Nθ方向bins。NH=NW=96,Nv=4,nθ=5。每個bin的物理尺寸為13×13 m^2,對應於2m/s的速度範圍和38◦ 方向範圍。離散化中,自車狀態Lˆego=(x,y,v,θ)始終為中心,即自車(xt,yt)的位置位於空間離散化的中心。只代表相對於自車範圍內的方向[−95◦, 95◦] 。計算動作-價值函式時,在其24個相鄰bin之間用線性插值對不位於bin中心的任何價值Vt進行插值。一次在所有狀態上計算線性插值,並在自車狀態維度(位置、速度和方向)上分解,因此非常高效。不在離散化範圍內的值為0。將動作離散為Ms×Mt bin,分別用於轉向和油門,以及一個額外的bin用於制動。剎車時不轉向或制動。總共9.3+1=28個離散動作,其中Ms=9和Mt=3。

策略網路使用ResNet34主幹去解析RGB的輸入訊號。用全域性平均池化將ResNet特徵展平,然後將其與自車速連線,並將其饋送到全連線網路。該網路在離散化的動作空間上產生類別分佈。

實驗結果如下:

如圖所示當前幀計算價值函式和動作-價值函式的視覺化:RGB攝像機影象(a)和BEV(b)顯示了自車在世界的位置。價值圖(c)顯示了4個速度bin×5個方向bin的離散化表格價值估計。定向bin為−95◦ 至95◦ (從左到右),速度bin從上到下為0米/秒到8米/秒。每個地圖的解析度為96×96,對應於車輛周圍24m^2的面積。在自車後面裁剪區域進行視覺化。價值圖用5個Bellman更新,並檢視未來1.25秒。(d) 顯示基於當前自車狀態的動作-價值。具有最高價值的操作用紅色框高亮顯示。攝像機RGB影象作為輸入,這些動作-價值監督視覺運動策略。