鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
Nature Machine Intelligence 2020
Abstract
人工智能在高風險決策應用中的主要目標是設計一種算法,該算法通過學習其世界的相關表征及其動態的可解釋性解釋,來同時表達可概括性。在此,我們結合了大腦啟發的神經計算原理和可擴展的深度學習結構,設計出了緊湊的神經控制器,用於全棧自動駕駛汽車控制系統的任務特定部分。我們發現,具有19個控制神經元的單個算法通過253個突觸將32個封裝的輸入特征連接到輸出,可以學習將高維輸入映射為操縱命令。與數量級較大的黑盒學習系統相比,該系統顯示出卓越的通用性,可解釋性和魯棒性。 獲得的神經智能體可以為復雜的自治系統中任務特定的部分實現高保真自治。
我們着手設計一種受大腦啟發的智能體,該智能體可以直接從其攝像頭輸入中學習控制自動駕駛汽車(端到端學習控制1,2)。該智能體必須從多維感官信息中學習其世界的連貫表征,並利用它在看不見的情況下很好地進行泛化。令人驚訝的是,通過其近乎最佳的神經系統結構6,7以及和諧的神經信息處理機制,像秀麗線蟲一樣小的動物已經掌握了這樣一個能力,用於執行運動3,運動控制4和導航5的能力。在復雜的現實世界場景中,例如,自動駕駛,這種神經計算的靈感9,10可以引出具有准確且可解釋的模型的更具表現力的人工智能體11。
盡管深度學習算法在各種高維任務中取得了顯著的成就2,12-16,但是仍然存在着重要的表征學習挑戰17-19。例如,端到端控制的領域對安全至關重要。這要求智能控制器具有可解釋的動態特性,這是研究其安全問題的第一步。此外,雖然學到的車輛控制智能體通常在離線測試和模擬中表現出出色的性能,但在實時駕駛中這會大大降低。另外,期望智能體在觀察到的駕駛場景與其相應的最佳轉向命令(智能體的特定任務)之間學習真正的因果結構21,22。理想情況下,對於保持車道的任務,我們希望智能體在做出當前的轉向決策時隱式地學習遵守道路的地平線,同時在短期轉向時保持出色的表現。然而,在實踐中,性能模型已被證明可以學習各種不公平23和次優22的投入產出因果結構24,25。最后,在高維數據流輸入的處理流水線中,智能體必須合並捕獲時間依賴性的短期存儲機制。
成功的端到端自主控制方法2,26–28(圖1)僅依賴於深度卷積神經網絡結構29,基於最新的攝像頭幀在時間 t 轉向車輛30(2a)。盡管在輸入數據理想的情況下,這種前饋模型可以正確地驅動車輛,但如果數據嘈雜,它們通常會失敗。這是因為它們沒有利用任務的時間性質,從而使它們能夠濾除瞬態干擾。作為結果,輸入流的暫時損壞(即如圖2a所示的突然的陽光照射)導致不穩定的預測。相反,循環神經網絡(RNN)31,32是一類人工神經網絡,通過反饋機制考慮了當前輸出決策時的過去觀察。因此,原則上,它們應導致更強大的端到端控制器(圖2b)。RNN通過應用於其展開前饋表示32的反向傳播算法33在有限長度的標記訓練序列上進行訓練(圖2c,d)。從歷史上看,由於在學習階段梯度RNN升高或消失,訓練RNN一直具有挑戰性31,32。由於先進的門控RNN的發展,例如長短期記憶(LSTM)34,通過將循環權重固定為1並消除反饋路徑中的非線性,強制執行恆定的誤差流來解決這一挑戰31。
從時間序列建模的角度來看,具有恆定的誤差流是理想的屬性,因為任意數據序列可能具有長期關系(圖2d,右)。但是,在端到端自動駕駛的情況下,由於基礎任務的短期因果關系,學習長期依賴關系可能是有害的。當駕駛車輛沿着車道行駛時,人們不會回想起幾秒鍾前操作方向盤的道路圖像35。因此,LSTM網絡可能會捕獲訓練數據中可能存在的虛假長期依賴關系,從而學習不足的因果模型21。相反,梯度消失使RNN無法學習具有長期依賴性的事件的相關性36-38。該屬性反直觀地提高了學到的RNN智能體的真實世界的控制性能,因為它優先考慮網絡的時間注意力范圍,而不是最近的觀察結果。
普遍滿足上述表示學習挑戰的單個任務特定算法的開發一直是人工智能的主要目標9,10。為了朝着這個目標前進,我們從已知在生物大腦中發生的神經計算中汲取靈感6,7,39,40,並實現了顯著程度的可控制性3–5,8。我們開發了稱為神經回路策略(NCP)的緊湊表征,與現代深度模型相比,其中每個神經元都具有增強的計算能力41。我們表明,NCP導致稀疏網絡更易於解釋,並在自動駕駛的背景下證明了這一點。我們發現,對於上述車道保持任務,結合緊湊型卷積神經網絡(CNN)29,可以實現非常小的大腦啟發性神經模型網絡(即具有僅由19個神經元組成的控制室的網絡)。與最新模型相比,在學習如何直接從高維度輸入中引導車輛方面具有卓越的性能。在此,我們使用表示學習的挑戰作為評估自主控制智能體性能的主要標准。
Designing and learning NCPs
為了解決表示學習的挑戰和自動車道保持的復雜性,我們設計了一個端到端的學習系統,該系統通過一組卷積層42感知輸入,提取圖像特征並通過被稱為NCP的RNN結構執行控制。
NCP的網絡結構受到線蟲43接線圖的啟發。線蟲神經系統中的許多神經回路是由獨特的四層分層網絡拓撲結構構成的。它們通過感覺神經元接受環境觀察。這些將傳遞給神經元間和命令神經元,從而產生輸出決策。最后,該決定被傳遞給運動神經元以激活其肌肉。秀麗線蟲的接線圖實現了大約90%的稀疏度(參考6),主要是從傳感器到中間神經元的前饋連接,在中間神經元和命令神經元之間的高重復性連接以及從命令神經元到運動神經元的前饋連接。這種特定的拓撲結構顯示出具有吸引人的計算優勢,例如高效的分布式控制,需要少量的神經元6,分層的時間動態8,機器人學習能力44和稀疏流網絡中最大信息傳播45。
NCP的神經動態由連續時間的常微分方程(ODE)給出,該方程最初是為捕獲秀麗線蟲41等小物種的神經系統的動態而開發的(圖3a)。NCP的核心是非線性時變突觸傳遞機制,與深度學習的NCP相比,NCP改善了在時間序列建模中的表達能力。NCP的基本神經構建模塊稱為液體時間常數(LTC)網絡41。有關LTC的更多詳細信息,請參見"方法"。
NCP網絡的架構由規則1-4中引入的設計原則確定,與圖3c中呈現的步驟相對應,如下所示:
(1)插入四個神經層——Ns感覺神經元,Ni中間神經元,Nc指令神經元和Nm運動神經元(圖3c中的(1))。
(2)在每兩個連續層之間——∀源神經元,插入nso-t個突觸(nso-t≤Nt)(突觸極性為〜Bernoulli(p2)到nso-t個目標神經元(隨機選自〜Binomial(nso-t, p1))(圖3c中的(2))。nso-t是從源到目標的突觸數量。p1和p2是與其分布相對應的概率。
(3)在每兩個連續層之間——∀沒有突觸的目標神經元 j,插入mso-t個突觸(),其中
是到目標神經元 i 的突觸數量,來自mso-t個源神經元的突觸極性(興奮性或抑制性)〜Bernoulli(p2),隨機選自〜Binomial(mso-t, p3)(圖3c中的(3))。mso-t是沒有突觸連接的從源到目標神經元的突觸數量。
(4)命令神經元的循環連接——∀命令神經元,插入lso-t個突觸(lso-t≤Nc),其突觸極性為〜Bernoulli(p2),到lso-t個目標命令神經元,隨機選自〜Binomial(lso -t, p4)(圖3c中的(4))。lso-t是從一個中間神經元到目標神經元的突觸數量。
應用上面的NCP設計原理會導致LTC神經元的網絡非常緊湊和稀疏(請參閱"方法"中的NCP設計算法)。與車道保持任務相對應的學習系統由與NCP網絡堆疊的卷積前端組成(圖3b)。該系統以端對端的監督學習方式進行訓練。給定已設計的NCP網絡,我們使用半隱式ODE求解器來獲得系統的數值精確且穩定的解決方案41。然后,我們將ODE求解程序調用循環地折疊到RNN單元中,並准備系統的訓練流水線。"方法"中提供了有關訓練設置的更多詳細信息。從梯度傳播的角度來看,我們的方法引起了梯度消失現象,如圖2d所示,這是學習現實世界中自動駕駛汽車控制的首選設置(請參見"方法"中的證明)。
通過記錄人類駕駛員的觀察和動作來收集大量選擇的帶標簽的訓練數據(有關更多詳細信息,請參見"方法")。端到端驅動是一個反饋控制問題,其中,由智能體驅動的控制會自覺地影響未來的觀察結果。但是,在監督訓練階段,這種反饋機制將被完全忽略。
我們觀察到,這種訓練-測試差異導致了這樣一種情況:在離線測試環境中,訓練有素的神經網絡模型在標記序列上表現異常出色(表1),在實際測試案例中無法安全駕駛汽車。現代RNN尤其容易受到這些情況的影響,因為它們的決策過程在很大程度上取決於過去的觀察結果。因此,為了適當地評估性能,我們選擇了在離線測試期間運行良好的架構,並積極地在真實汽車上對其進行了評估。我們對在波士頓市區記錄的94分鍾的標記序列進行了十倍的交叉測試46(有關更多詳細信息,請參見"方法")。
為了進行公平的比較,我們為所有RNN模型配備了相同的卷積頭,該卷積頭將輸入圖像的維數降低為更緊湊的隱表征,以饋入RNN部分。我們用以下架構訓練和評估了網絡:64個神經元的LSTM,64個神經元的連續時間(CT)-RNN和19個神經元的NCP。此外,我們將這些循環智能體與Bokarski等2中開發的前饋CNN模型進行了比較。
Learning a compact neural representation. 全棧式NCP網絡比建立了最新的端到端駕駛的CNN網絡2小63倍。它的控制網絡比LSTM稀疏970倍,比CT-RNN稀疏241倍。NCP的RNN部分的可訓練參數空間比LSTM小233倍,比CT-RNN小59倍。有趣的是,在理想的自主移動機器人控制器的多個方面,通過這種緊湊的神經表征實現的性能優於其他模型,如下所述。
Avoiding crashes under increasing input perturbations. 與所有測試中的學習系統相比,NCP在避免因提高像素級輸入擾動而引起的崩潰(需要干預)方面具有更強的魯棒性(圖4a)。它們具有抗噪聲能力的原因在於其CT模型可以用作濾波器(等式(1))。請注意,該實驗的主要目的是確定每種模型在進行預測時依賴於其記憶的差異程度。如圖2所示,理想模型應包含時間信息,以過濾任何形式的擾動。為了證明這一點,我們使用了加法零均值高斯噪聲,因為在用於訓練過程的數據中不存在此類噪聲,並且它需要對擾動信號的形式,形狀和嚴重性進行最小假設。盡管如此,我們已經在訓練過程中模擬了鏡頭眩光。因此,我們可以預期所有模型都會在一定程度上容忍鏡頭眩光。
Robustness of the output decisions in the presence of input noise. 圖4d,e描繪了當地圖的輸入受到輸入噪聲的嚴重干擾時,在地圖上所示位置發生的崩潰事件的示例。這些面板還說明了輸入噪聲如何破壞每個完整網絡的注意力,並導致LSTM和CNN網絡將車輛開出道路(請參見"方法-顯著圖計算")。我們通過計算輸入擾動的結構相似性指數(SSIM)來量化輸入擾動對注意力圖的影響,如圖4b所示。SSIM表示當輸入受到干擾時注意力圖的結構會失真多少。SSIM越接近1,注意力的失真就越小。因此,網絡可以更強大地處理輸入噪聲。SSIM指數越接近0,則網絡的注意力越失真,這導致在做出正確的駕駛決策時網絡的不確定性增加。與其他模型相比,在不同水平的輸入擾動下,NCP始終保持較高的SSIM,從而降低了其輸出決策的不確定性(請參見"方法-結構相似性指數")。
Driving with smooth neural activity. 我們定量測量了所有神經元的神經動態導數的最大陡度(最大局部Lipschitz常數),並在圖4c中報告了結果。我們觀察到,NCP中的本地決策過程比其他網絡類型的決策過程更加順暢。"方法-Lipschitz連續性計算"中提供了更多詳細信息。
NCPs enhance interpretability
可解釋性是向人類提供解釋的過程。盡管尚無可解釋性的正式定義47,但如果人類更容易理解其在輸入觀測值和輸出決策之間的因果映射以及直至細胞水平的全局隱含狀態動態,則我們將其定義為更具可解釋性的模型48。
可擴展性的可解釋性方法涉及算法的開發,該算法設置了用於解釋學習系統動態的質量度量(代理)。特別是對於神經網絡模型,許多工作為此目的探索了訓練后的定性特征可視化技術49-55。此外,計算輸入-特征歸因量度(如顯著圖)可有效地用於解釋性56-59。除了特征可視化之外,為訓練后的解釋選擇適當的度量方法可能是任意的,並且具有挑戰性60。
實現可解釋性的更系統的方法是設計神經結構,通過其學習過程或語義,可以提高透明度25,61。然而,盡管這些方法對於神經網絡有效,但是隨着模型維數的增加,解釋的質量也急劇下降。 當模型結構配備了反饋機制(例如RNN)時,這一挑戰就變得更加明顯。
當NCP實現由表達性神經表征(LTC模型41)構建的緊湊且稀疏的網絡時,它們通過顯著圖計算62,降維63和細胞貢獻分析52等已知方法簡化了解釋過程。
我們通過解釋卷積層的注意力圖,並通過計算模型的循環網絡部分的全局網絡動態,來進行定量的可解釋性分析。然后,我們通過可視化技術解釋細胞水平的貢獻。對於駕駛任務,我們發現環境的幾何形狀,特定的駕駛任務和負責所需行為的網絡節點之間存在密切的關系。這是通過微分方程定義每個神經元的功能的結果。因此,我們對學習的車道保持網絡進行了試驗,以三種不同的方式測量其可解釋性。
(1)解釋並可視化卷積層的注意力在哪里。圖5b-e顯示了實時測試期間網絡卷積部分的示例注意力圖(請參見"方法-顯着性圖計算")。我們已經注意到,注意模式是網絡結構(CNN, LSTM, CT-RNN, NCP)選擇所獨有的,並且解釋對於選擇超參數(例如,網絡大小)是不變的。
例如,NCP網絡中的卷積層主要關注道路的視線以做出駕駛決策。這在車道保持任務中非常理想(圖5e)。相比之下,CNN網絡會在路邊做出駕駛決策,而忽略道路本身(圖5d)。在大多數情況下,LSTM迫使其感知網絡學習如何參加路邊活動。但是,光照條件以及道路輪廓會明顯改變網絡的注意力范圍(圖5b)。CT-RNN的注意力前后不一致,並且受到道路照明條件變化的很大影響(圖5c)。在補充信息中,我們提供了在實時測試期間收集的整個顯著圖集合。這些地圖直觀地洞察了全棧自動駕駛系統中特定任務網絡的決策過程。這種見識可以幫助進一步進行安全性和魯棒性分析。
(2)全局網絡動態。為了衡量網絡如何簡潔地學習駕駛的基本知識(直行道路,彎道和道路抖動),我們進行了主成分分析(PCA),並在圖5f–i中報告了其變化。PCA是通過在實時測試期間收集的駕駛網絡RNN部分的隱含神經元(不包括輸出信號)的激活進行的。分析表明,如圖5j所示,NCP神經動態的第一個主成分(PC1)簡潔地學習了全局駕駛特征(解釋了92%),而PC2則學習了細粒度的決策。在具有LSTM和CT-RNN循環部分的網絡中,簡潔性不太明顯,因此,將其行為與直觀的解釋聯系起來更具挑戰性。
為了進一步激發這種現象,我們在圖5k–n的駕駛軌跡上繪制了PC1和PC2得分。在其他模型中,NCP是唯一將主要駕駛原語分配不同的PC1激活方式的模型,而PC2在很大程度上捕獲了細粒度的控制決策。其他基准網絡至少需要兩到三台PC才能捕獲高達90%的行駛曲線,如圖5f–i所示。"方法"中提供了補充實驗,以進一步詳細說明此分析。因此,這些結果對於更復雜的自主控制系統的附加價值在於,可以解釋學到的智能體的全局動態並將其用於特定任務網絡上的進一步改進(請參閱"方法和擴展數據圖1"中的其他支持實驗)。
(3)通過可視化實現單元級別的可審核性。包含NCP網絡的LTC細胞的神經狀態(神經元輸出的振幅)和耦合靈敏度(神經元與環境互動時如何調整其反應速度)(圖6a)可以幫助理解LTC網絡如何進行決策。圖6b-d說明了從NCP駕駛智能體中選擇的五個神經元的活動,這些神經元投射在駕駛軌跡上。運動神經元的活動說明了推斷的運動原語如何與各種駕駛情況相對應(圖6b, 左)。它的耦合靈敏度表明,在直線運動期間,神經元傾向於設置更平滑的動態,同時將其反應速度保持在相對恆定的速率。中間神經元1學會了在左轉(圖6c, 左上)激活,同時調整其動力學以在左轉事件(圖6c, 右上)更快地做出反應。相反,中間神經元2學會了在右轉時迅速活躍(圖6c, 底部)。命令神經元1在直線行駛期間始終以敏感的反應速度被激活,而在左轉彎時被關閉(圖6d, 頂部)。當車輛沿直線行駛時,命令神經元2偏向於較低的膜電位,並調整至道路抖動(圖6d, 底部)。這種對動態的即時解釋程度可推廣到NCP中的每個單獨細胞。
由於NCP系統的計算元素數量大大少於最新的神經網絡,因此對每個細胞動態的訪問程度對於設計故障測試和極端情況分析可能有好處,用於提高部署的自治系統的安全性。
NCPs and autonomy
NCP是高度緊湊的特定任務神經網絡智能體,可以熟練地控制未見過的道路上的車輛,同時對輸入的偽像具有魯棒性,可以學習短期因果關系並實現可解釋的動態。NCP可以在圖7c所示的全棧自動駕駛汽車框架中使用。它們旨在提高此類復雜的全棧自動駕駛汽車系統的黑盒特定任務部分的性能和透明度。基於視覺的全棧自動駕駛儀必須為傳入的圖像流合並許多不同的任務,如圖7a所示。
最先進的功能性自動駕駛汽車系統64通常共享卷積骨干網絡,其中包括許多上游,特定任務的網絡65(圖7b)。盡管與多任務端到端駕駛相比,我們測試NCP的車道保持任務的復雜性相對較低,但我們通過啟用端到端駕駛,確保NCP在全棧自動駕駛汽車內保持組合性。可以通過NCP向基於CNN的靜態主干反向傳播誤差的端到端訓練流水線。由此產生的特定任務的NCP(例如,用於車道保持任務)改善了當前使用的神經控制模塊的許多方面。
現實應用領域,例如自動駕駛,航空電子設備,服務機器人,健康和醫學,被環境偽影和不確定性所包圍,並要求可靠的實時決策。此外,類似於自動駕駛任務,許多應用程序都處理復雜的高維輸入-輸出空間,這些空間在實際環境中部署時對安全至關重要。NCP在特定任務的自動駕駛汽車中的成功表明,解決現實問題的復雜性並不一定需要學習很難理解的非常大的神經網絡。
Methods
NCP's neural model. 當通過輸入突觸連接到神經元 j 時,由一組LTC神經元構建NCP,每個LTC神經元具有狀態動力學xi(t),如下所示(參考41):
其中是具有泄漏電導
的神經元 i 的時間常數,wij是從神經元 i 到 j 的突觸權重,
是膜電容,
,
是靜息電位,Eij是逆轉突觸電位,這定義了突觸的極性。LTC神經元的整體耦合靈敏度(時間常數)由41定義:
這個可變的時間常數確定了決策過程中神經元對駕駛NCP中的幾個神經元的反應速度,如圖6所示。模型中描述的所有參數都是可訓練的。
Numerical implementation of the NCP networks. 為了學習NCP電路的參數,我們將其轉換為可微表示形式。在將電路建模為LTC神經元的常微分方程系統后,我們采用數值ODE求解器來獲得其可計算形式。適合我們目的的求解方法必須符合以下三個約束。首先,將求解器應用於實時系統,該系統對最壞情況的執行時間設置了嚴格的限制。 因此,求解器使用固定的步長66。其次,NCP的ODE模型是僵硬的41,66。因此,為避免數值不穩定性,我們采用半隱式方法66。最后,在訓練階段,我們通過在求解器中進行反向傳播來計算偏導數。類似於前向路徑中的穩定性參數,我們需要監視后向階段的誤差幅度。特別地,合適的求解方法必須不會導致梯度爆炸或迅速消失。為了遵守這些約束,我們采用了一種簡單的歐拉方法。作為結果,總而言之,對於每個神經元,我們采用半隱式歐拉方法,其步長固定為以下形式(在查看源代碼並咨詢作者后,發現原本的等式(3)中右式分子的后項中與
之間存在一個加號,參見https://github.com/mlech26l/keras-ncp/issues/17#issuecomment-809932878):
集合Iin代表神經元 i 突觸前的神經元集合。此等式是從基本的Euler公式得出的66:
通過為所有在非線性 f 中呈線性的x(t+τ)設置τ=Δ,並為所有其他情況設置τ=0 (u是細胞輸入的集合)。注意,通過設置τ = 0,可以從等式(4)獲得眾所周知的顯式(前向)歐拉方法。同樣,如果設置τ=Δ並求解該方程,則隱式(反向)歐拉方法可以由等式(4)實現,並得出x(t+Δ)的非線性方程。RNN通常以固定的采樣頻率(例如,在描述的端到端駕駛任務中為30 Hz)處理其輸入流。為了達到可觀的精度和計算復雜度的折衷,我們以比輸入采樣率高六倍的頻率對ODE進行了仿真。我們將六個ODE求解器步驟打包為一個RNN步驟。在訓練和測試階段,我們都將ODE/RNN的狀態初始化為零。
NCPs express vanishing gradient.
Vehicle setup. 用於訓練網絡的所有數據均在配備感知傳感器(前向Leopard Imaging LI-AR0231-GMSL攝像頭),慣性測量單元(Xsens MTi 100系列IMU),GPS和線控轉向自動駕駛系統的豐田Prius 2015 V上收集67。所有數據記錄均直接在NVIDIA Drive PX2(車載高性能計算平台)上完成。IMU用於記錄車輛剛體框架的旋轉,從而計算車輛橫越路徑的曲率。具體來說,給定橫擺率γt (rads s-1)和車輛速度vt (m s-1),我們將路徑的曲率計算為:
其中rt是運行圓的半徑。最終,對於本文學習的網絡,我們考慮了直接從人行道路彎度(yt)而不是方向盤角度(αt)學習控制命令的問題。這是因為αt是yt和vt的非線性函數,並且取決於輪胎滑移角,路面,天氣狀況和車輛動力學。因此,僅學習方向盤角度(即人類所命令的角度)不足以實現自主導航。取而代之的是,我們需要了解橫過的道路曲率(也就是人類開車經過的地方)的知識。我們可以通過使用自行車模型近似值在推理時間控制汽車來在線計算方向盤角度。
其中,K是轉向比(即轉向角與輪胎角度之比),VL是車輛長度。
Passive test dataset. 為了進行被動評估,我們在高速公路、當地和住宅道路上的干燥、潮濕和下雪天氣條件下,收集了波士頓市區各個地區大約五個小時的駕駛數據68。我們通過從記錄中刪除歧義片段(例如,車道切換,交叉路口和擁堵)來處理數據。我們將數據分為十個大小相同的非重疊數據集,以進行交叉測試。我們在每十組中剩余的九組的並集上訓練了一個模型,然后在保留測試集上評估了模型的性能。訓練epoch的數量基於驗證集進行了優化,我們在訓練之前將其與9個集合的並集分開。在表1中,我們報告了這十次測試迭代的均值和標准差。
Active test setup. 我們在私人道路系統上進行了主動駕駛實驗。為了准備模型,我們通過在測試軌道上操縱車輛收集了大約94分鍾的數據。我們將數據分為比例為3:1的訓練和驗證集。根據訓練期間獲得的驗證集上的最低誤差選擇訓練epoch的數量(請參見圖2的擴展數據)。請參閱擴展數據圖7中的完整訓練參數列表。我們在測試軌道上對每個訓練的模型進行了五次測試,沒有輸入擾動,而在輸入被零均值高斯分布(方差為0.1, 0.2和0.3)擾亂的情況下,進行了兩次測試。每次評估都包括在逆時針方向上圍繞軌道最外側路徑的一個周期駕駛汽車。我們通過將車輛放置在指定的初始位置,將汽車加速至恆定速度4.47 m s-1並將轉向系統的控制委托給神經網絡來進行評估。每次在路外側操縱車輛時,我們都將車輛手動轉向正軌並報告了撞車事故(圖4a)。
我們將隨機數生成器連接到輸入流,以在噪聲下測試模型,該模型將零均值高斯噪聲添加到了相機圖像中。 高斯分布的方差由噪聲強度級別(0.1, 0.2和0.3)確定。在添加噪聲之前,將輸入圖像縮放到[0, 1]范圍。為了給所有模型引入相同的噪聲模式,我們將隨機數生成器的初始種子固定為一個恆定值。
Models and the training procedure. 每個模型的卷積層的結構在擴展數據圖5和6中給出。接下來,我們描述模型的訓練過程。除非另有說明,否則此描述適用於被動和主動測試方案。我們將端到端的自動駕駛制定為回歸任務。因此,我們采用平方誤差作為訓練損失函數。由於訓練數據中曲線和轉彎的記錄不足,我們將加權因子乘以每個樣本的損失值。這個加權因子指數地取決於目標曲率y,因此給包含道路彎道和轉彎的樣本分配了更高的優先級。由於測試軌道位於森林區域,樹木在道路上投射陰影,陰影具有可變的輪廓,因此我們在訓練期間實施了陰影增強數據技術。本質上,我們在每個訓練圖像上繪制一條半透明的黑色或白色線條。從均勻分布中隨機采樣線的位置,方向和寬度。我們在16個時間步驟的子序列上訓練了除前饋CNN之外的所有模型,這對應於0.53實時秒。神經標准狀態的CT-RNN和LSTM實現不受限制,這可能會導致閉環測試過程中的不穩定,因為它們僅在有限序列上進行訓練。為避免控制器的內部狀態無限期增長,也就是說,我們對CT-RNN和LSTM的狀態應用了裁剪操作,以將值保持在[-5, 5]范圍內。我們使用Adam69作為優化算法,其參數在擴展數據圖7中顯示。模型的性能及其終止條件在擴展數據圖8中給出。
拓展數據圖5列出了所有RNN模型的卷積層的結構。在最后一個卷積層之后,我們應用了四個每通道線性層,以獲得8×4 = 32個隱特征,作為RNN部分的感覺輸入。我們根據經驗調整了學習率和卷積層的超參數,並在被動數據集中對其進行了評估。我們觀察到,NCP對卷積層利用了較低的學習率,而對RNN部分則利用了較高的學習率。在將圖像饋送到網絡之前,我們對圖像應用每個圖像的白化濾鏡。
NCP design algorithm. 通過程序調用算法2給出的連接子例程來設計NCP的結構。
Comparing network sizes. 表2說明了NCP網絡與其他深度學習同行相比的緊湊性。
Computing saliency maps of convolutional layers. 顯著圖是一種解釋方法,可通過突出顯示輸入圖像中對網絡決策貢獻最大的部分來可視化受過訓練的神經網絡的內部工作。我們使用顯著圖來分析我們的網絡已定性學習的內容。特別是,我們對所有經過測試的結構中的通用層在訓練期間如何不同發展感興趣。因此,我們在網絡開始時將分析范圍縮小到卷積層。我們采用了一種名為VisualBackProp62的技術,該技術是專為自動駕駛研究開發的,用於計算顯示的顯著圖。此方法利用了ReLU激活的特性,即特征圖中每個神經元的值可以為正或為零。
在算法7中,⊙表示逐元素乘法,並且反卷積至大小的函數通過應用反卷積運算將第一自變量縮放為第二自變量的維數。
Structural similarity index. SSIM是一種比較給定圖像質量的方法70。 它是給定圖像x和y的三個比較標准(亮度l,對比度c和結構s)的乘積,計算如下:70:
其中:
在此,C1,C2和C3是正則化常數,μx和μy是x和y的均值,σx和σy是標准差,而σxy是x和y的協方差。在圖4b中提供的分析中,我們計算了每個時間幀(總共200幀)的成對顯著圖的SSIM,介於無噪聲版本作為參考與輸入噪聲注入導致的擾動版本之間。我們設置指數α=β=γ=1,正則化分量C1=(0.01L)2,C2=(0.03L)2和C3=C2/2,其中L=255對應於輸入圖像值的動態范圍。
Lipschitz continuity computation.
Principal component analysis. 對於圖5f–n中提供的分析,我們計算了每個RNN網絡中各個神經元活動的PC,這些PC是從主動駕駛測試的回合中收集的。輸出軌跡(轉向命令)未包含在PCA分析中,該調查旨在研究網絡神經元的主要PC如何表達網絡的全局目標(獨立)。
Complementary experiment elaborating on the results of the PCA analysis. 擴展數據圖1a表示了64個LSTM單元的動態,它是轉向控制輸出軌跡的函數。這些圖是單個隱含神經元動態和輸出之間的互相關的定性表征。這些圖中的正斜率表示正相關,而負斜率表示負相關。垂直或水平形狀是獨立的標志。擴展數據圖1b表示NCP網絡的19個隱含神經元的相同空間。
LSTM細胞的行為更加隨意和分散,而NCP神經元實現了與其輸出一致的相關模式。圖5所示的PCA結果很好地解釋了這種行為(簡潔)。此外,通過額外的計算實驗,我們證實了與LSTM相比,NCP網絡動態的簡潔表征。從將網絡輸出包括在實驗中時獲得的PCA結果,到僅考慮隱含狀態PC的設置,我們觀察到LSTM網絡的簡明表征已被粉碎(擴展數據圖1c,d)。在NCP網絡的情況下,這種情況不太明顯,在該網絡中,我們觀察到隱含狀態沒有任何有關輸出的信息,可以僅由兩台PC簡要地解釋駕駛的動態(擴展數據圖1e,f)。
Data availability
有關如何獲取用於此手稿的數據和代碼的說明,可在手稿的GitHub存儲庫中找到:https://github.com/mlech26l/keras-ncp/ (https://doi.org/10.5281/zenodo.3999484)。活動測試運行生成的數據可從存儲庫下載,而193 GB的完整數據集可應M.L的要求提供。
Code availability
由作者維護的Apache-2.0許可參考實現可在GitHub存儲庫中找到:https://github.com/mlech26l/keras-ncp/ (https://doi.org/10.5281/zenodo.3999484)。對代碼的分析參見https://www.cnblogs.com/lucifer1997/p/14610052.html。
Additional information
可在以下位置獲得本論文的擴展數據: https://doi.org/10.1038/s42256-020-00237-3.
有關補充信息,請訪問以下網址:https://doi.org/10.1038/s42256-020-00237-3.