引言
進入文章正題之前,我們需要先簡單講清楚本文中所提到的“規控”究竟是什么。
相信凡是自動駕駛行業的人,一定都知道感知、定位、決策、規劃、控制這幾大模塊——盡管大家日常溝通時如此區分,但具體工作中如果還這么分類就有點問題了。
這里的問題出在決策上,廣義地說,決策包含預測,而預測的劃分非常尷——預測本身與感知高度相關,但預測又是決策的前置階段,只有先預測之后才能進行決策。
所有已經發生的既定事實我們可以稱之為T0+,感知就是已經發生過的既定事實。例如車輛未來應該怎么走、別人可能會怎么等都屬于未來將要發生的事情,我們可以稱之為T0-。
以T0為分水嶺劃分會有一個好處:感知環節只需關心路面上已經發生的既定事實即可,此后基于這個既定事實的任何推斷都可以直接放到決策部分。
如此分類可以將預測的結果與決策部分更加緊密地結合,從而人為“弱化”預測與感知的關系,“增強”預測與決策的關系。反映到實際工作中,這么劃分就可以更好地確定到底該預測哪些內容、如何更好地用預測的結果服務于決策。(以上內容是筆者在跟領駿科技CEO楊文利博士交流后總結的)
基于以上邏輯,自動駕駛公司內部通常都會有一個PNC組,PNC組的主要任務就是負責規控方面的工作。大家在PNC組干時間長了就會把預測、決策、規劃、控制統一稱呼為“規控”。
那么此“規控”,即為本文中所稱的“規控”。
接下來,我們再將“數據驅動”與“規控”結合起來講。
盡管“數據驅動”早成為自動駕駛產業的基本共識,但事實上,直到現在,數據驅動的深度學習算法仍主要應用在感知模塊,而在規控中應用的卻很少——目前,行業內的規控相關算法主要還是基于規則驅動。
雖然目前公開的自動駕駛規控算法相關資料大都是針對基于規則的算法的,但筆者打開招聘軟件卻經常能看到自動駕駛企業招聘規控算法工程師時會要求候選人懂深度學習算法,這在某種程度上也說明了目前很多企業也正在向混合決策算法“進軍”。
(圖片來源于某自動駕駛公司的招聘要求)
目前還鮮有文章完整細致地闡述過深度學習算法在自動駕駛規控中的應用情況。因此,本文將從規則的局限性與深度學習算法的潛在優勢、為什么現階段深度學習算法尚不能被大規模應用于規控算法、未來的規控算法以規則為主還是以深度學習為主這三個方面來詳述。
一.規則的局限性與深度學習算法的潛在優勢
1.基于規則的算法有局限性
目前,規控相關算法主要還是基于規則,但隨著自動駕駛等級的提升及應用場景的不斷拓展,基于規則的規控算法在實際測試中就會暴露出它的局限性。
使基于規則的規控算法暴露出短板的,主要是非確定性場景、強交互場景、強主觀場景這三個大類的corner case:
(1)非確定性場景
非確定性場景是相對于確定性場景而言的,最簡單的確定性場景就是紅燈停綠燈行、可以在白色虛線變道、不能在白色實線變道,除此類的場景則都可視為“非確定性場景”。
例如,大部分情況下車都在有車道線的道路開,但有一種情況是當前的道路是三條干道加一條輔路,而輔路與干道間只有車道線沒有綠化帶,這也就意味著輔路的車輛在任何情況下都有可能并線進入主路,這就是一個典型的非確定性場景。因為大多數司機根本不會管實線虛線,你根本不知道周邊什么時候會突然出現一輛車,它有多大的概率會直接變道。
因為道路中其他車輛的軌跡帶有概率,基于規則的算法很難處理。
(2)強交互場景
最典型的場景就是十字路口,多個物體在一個場景下的路線會發生交互而互相影響,所以交互的時候是有一定博弈在里面。
在非常復雜的一個道路場景里,不斷地對周圍車做預測,然后基于交互的結果去調規劃,這不是能夠用人的規則描述清楚的。
(3)強主觀場景
簡單說就是在不同路況下,人會無意識地根據環境去調節自車跟前車的距離。因為人腦中可能有一套規則在驅動,但這些規則又很抽象、不能明確,只可意會不可言傳的,例如變道的時機、在路口對其他車輛的反應等等。
有的場景下,雖然可以用規則算法來模仿車主的一些行為和駕駛風格,但人的主觀習慣很難用規則解決,即使能解決也需要大量的人力。
用基于規則的算法應對corner case,最難的是預測環節。因為,除了要預測自車軌跡外,自動駕駛車輛還需要預測“其他道路使用者”的軌跡,而道路中往往不只有一個“其他道路使用者”,他們彼此間會產生交互,所以預測他們的軌跡很難。
人類駕駛員在做預測時會通過觀察車的歷史軌跡、駕駛員的駕駛風格,根據“經驗”和“直覺”來做決策,即可以根據其他車輛是否保守來選擇自車的策略,然而,基于規則的算法很難達到和人類類似的預測效果。
此外,當車輛遇到一些corner case需要制動時,基于規則的規控系統很難保證曲線時刻平滑。
舉個例子,如果前方有輛車正以很低的速度行駛,此時自動駕駛系統下達“向右變道超車”的指令,但剛變道至一半時突然旁邊有一輛車正在向右側車道飛速超車,決策系統隨即取消變道決策,并重新生成一條平滑曲線讓車輛返回原來的車道中。
這里的難點在于,如何平衡好舒適性、安全、效率、動力模型的可實現性等元素,并保證此時生成的軌跡規劃路徑是光滑的?
依舊以上文為例,如果無法保證此時生成的路徑是平滑的,那么車輛開起來會很“硬”,行駛途中會變得很不舒適。如果駕駛員/乘客此時能看到周圍出現緊急情況,而系統及時幫他避免了事故,他就會認為系統很靠譜,哪怕是急剎車乘客也會認為自動駕駛系統“幫我避免了一次事故”。
但現實情況卻是,多數情況下,系統早就發現了問題并做出了決策,直接“防患于未然”。可問題在于,大多數駕駛員/乘客不會知道一次“看起來很普通”的變道在剛剛“差點釀成事故”,甚至可能都沒發現后方有來車。所以,如果此時規控系統無法生成一條光滑的曲線,駕駛員/乘客不會非但不會認為系統“幫我避免了一次事故”,反而會怪系統“太生硬”,變道“甩來甩去”的。
這類問題雖然也可以用基于規則的算法解決,但解決的過程卻非常麻煩。
除此之外,盡管從理論上講,有一些長尾場景也可以用基于規則的算法來解決,但在實際工作中,工程師很難保證這些復雜的代碼在解決問題的同時還能不占用太多計算資源。這些代碼放在離線系統上可以很輕松地跑起來,但上車后,車載芯片是否能支撐起這么龐大的算力消耗?解決這些問題非常考驗工程師的代碼水平和工程能力。
而且,可能有的工程師寫了幾千行代碼,他自己都忘記自己寫過什么了。規則越來越多、邏輯越來越亂,當“未來”某個時刻又新加了一個需求的時候,系統也將會變得難以維護。
2.深度學習算法可以在合適的場景提升系統的擬人性
上文說了很多規則算法的局限性,但實際上規則算法的局限性不止于此。如果把所有問題綜合來看,我們可以統稱為規則算法的“擬人性低”。
所謂擬人性,就是系統在行駛過程中像不像一個“老司機”。毫末智行的一位規控算法專家說:
“擬人化老司機的核心能力是隨機應變,而用基于規則的系統就得設定一大堆規則來區分場景,設定大量的環境參數和代價函數,不停地尋找最優解,從數學上很難做到實時。”
目前,能夠上路測試的自動駕駛車輛在多數情況下更像一個“新手司機”,而“老司機”與“新手司機”最大的差別是:“老司機”的預測能力更強,并且對長尾場景隨機應變的能力更強。
兩相比較,多數“新手司機”雖然也很安全,但“新手司機”在路上開車會很“傻”,而“老司機”則可以在保證安全的前提下各種操作都會更加順滑、效率更高。這個差別叫做“假釋經驗”。
本質上,“新手司機”在路上更多依靠的是“基于駕校的教材”,決策規劃方式更像if else(規則算法),而“老司機”決策時依靠的是經驗和主觀判斷,決策規劃的方式相對抽象,更像是“深度學習算法”。
綜上,在規控環節引入深度學習算法,盡可能多地學習人類司機的經驗,自動提煉特征找規律,就可以提升規控算法的“擬人性”。
特斯拉在本屆 AI Day 上提到的數據引擎,就是將通過將數據輸入到神經網絡,提高確定性,以更好地去解決現實世界的預測問題。
輕舟智航規控算法負責人認為,預測(判斷其他車輛的未來軌跡)是最適合也是率先大規模應用深度學習算法的環節。他說:“輕舟智航的預測算法就使用了深度學習。”
具體到場景方面,他認為,那些高度依賴人的主觀判斷的場景,更需要用深度學習算法做指導。
小馬智行的規控算法專家稱,小馬已將AI模型可以應用在多個層次。
“比如可以用傳統分類AI模型(可以是深度學習,也可以是傳統的機器學習分類模型)來做decision making,用深度學習做軌跡生成來指導path planning,用端到端強化學習給出當前應該執行的action來指導motion planning(最終軌跡的規劃)。”
這位專家還認為,結構化的高速場景可能更容易由傳統算法解決,而非結構化的城區場景則可能有更大空間發揮AI模型的優勢。
而摯途則是高速匝道口場景的決策環節用到了強化學習算法。
領駿科技CEO楊文利博士認為,在自動駕駛的不同模塊上,深度學習算法的重要性及適用性不完全相同。
“從感知-融合-預測-決策-規劃-控制,這個流程來看,越靠前的部分,深度學習算法的效果越好。”
楊文利博士說:
“感知系統數據處理量大,但允許出錯,對準確率和召回率有一定容忍度(因為后續的融合和決策可以對感知糾錯),所以,深度學習方法比較合適。
“決策這部分,規則和學習各有所長,所以我們用的混合架構,用深度學習方法提升性能,用規則方法保證安全。
“控制系統數據量小,對可靠性要求強,絕對不允許出錯,而使用深度學習算法非但不能提升性能,還有可能引入不確定性和不可靠因素,因此不適合采用深度學習算法。并且,控制這種底層技術,已經有200年歷史了,數學證明上很完美了,也沒必要再用深度學習。”
況且,在規劃算法出錯的情況下,控制算法還需要為安全兜底。在經典控制算法的PID中,控制層為了保證安全,就可以拒絕執行規劃層發出的“錯誤指令”。例如,規劃下達指令讓車輛開到120公里/小時,但車輛本身的硬件并不能支持120公里/小時的車速,這個時候,控制算法就可以做一個校驗,直接拒絕執行指令,保證車輛能正常行駛,不會開翻。
而控制算法要想為一切失誤兜底,就必須要用基于規則的算法來保證可靠性。
據此看,通常在提到“深度學習算法應用于規控”時,大家所說的“規控”,其實主要指預測、決策和規劃,而不包括控制。
除去解決實際技術難題外,深度學習算法還有一個不可忽視的巨大優勢,即充分利用GPU或神經網絡專用處理器,降低CPU算力消耗。
為了實現某些功能,自動駕駛發展初期使用的復雜規則代碼會消耗大量CPU算力,但車載芯片的設計一般傾向于提高深度學習算力,而CPU部分的算力有限,工程師必須想方設法節省。而通過深度學習算法替換大量復雜的基于規則的算法,便可以節省不少CPU算力。
輕舟智航規控算法專家認為,城區NOA量產車上一般使用嵌入式芯片,CPU都是基于ARM架構,CPU算力資源沒法跟基于X86架構的L4 Demo車比,因此,如果要實現接近于L4的駕乘體驗,供應商們有必要嘗試在規控環節引入深度學習算法,把計算負載放到深度學習專用處理器上去。
二.現階段,深度學習算法還不能大規模應用于規控算法
既然深度學習算法聽上去這么“牛”,那為什么實踐中的規控算法仍以規則為主,而不是深度學習算法呢?
這是因為,深度學習算法同樣有不少短板,正是這些短板導致,在短期內,深度學習算法的效果還不如規則。
1.很難斷定人類司機的駕駛行為是否“值得學習”
在理想的情況下,用于訓練的數據越多,深度學習算法的效果就越好,但在某些情況下,隨著數據量的增加,算法的效果卻可能下降。這是為何?
深度學習算法首先要學習大量人類司機的駕駛行為,然后才有可能被應用于規控算法,但問題在于,不同司機的駕駛風格不一樣,同一個司機在不同情況下的駕駛風格也不完全一致,那如何確保人類司機的駕駛行為就是值得學習的良好數據?
比如說在路口里面的一些變道行為,我們在正常行駛的時候不能壓實線變道,但經常很多司機特別喜歡壓實線去變。
小馬智行的規控算法專家說:
“人類司機駕駛也有很多壞習慣,如果只是盲目追求擬人性而忽視了安全、舒適和高效這三個自動駕駛系統的主要優化目標,那就本末倒置了。實際上,即便用AI模型來彌補傳統算法方面的不足,也應該是圍繞著這3個維度來改進的。”
因此,在許多情況下,只有預先對數據做個“清洗”,深度學習算法的效果才會好。然而,大規模的即時數據清洗,效率和質量如何保證?這是個問題。
針對這一問題,有一些公司的做法是,人為地去設定一些規則,評價司機開得好還是不好,然后把看起來不好都得過濾掉,但這便是用規則來“約束”深度學習了;并且,這種做法過于簡單粗暴,有可能是“倒洗澡水的時候連孩子一起倒掉”,把一些有用的駕駛行為數據給誤刪。
2.深度學習算法比規則更難應對需求變更
某家自動駕駛企業的算法規定,在路上行駛時與前車的安全距離應不小于五米。某一天,產品經理提出了一個新需求:在路上正常行駛時與前車的安全距離從不小于五米更改到不小于十米。
這種情況就會暴露深度學習算法的一個問題:工程師如果想根據需求更改模型,則需要對模型重新訓練,成本很高。但如果用的是基于規則的算法,此時就非常簡單,幾行代碼即可解決問題。
并且,如果出現事故,深度學習算法很難像規則算法那樣在最短的時間里快速排查出問題究竟出在哪兒。
3.深度學習算法的效果可能不如規則
輕舟智航規控算法專家說:
如果在各項數據基礎設施不完善的情況下就引入AI模型,AI模型的表現很難達到預期。
比如,通過簡單的測試標定就可以確定的ACC跟車距離,通過AI模型卻可能很難達到相同效果。其主要原因是,許多公司的數據基礎設施不完善,沒有辦法找到不同跟車場景下的多樣的數據,導致很難訓練出一個達到或者超過規則表現的模型。
毫末智行的規控算法專家也說:
“現在AI模型效果還沒有完全打敗規則,試圖擬人但效果還不夠好,因為這類認知網絡的模型架構、輸入輸出定義、,數據準備都還沒有完全做好,并沒有達到感知模型的程度,大家還在探索(但我覺得一年之內就會有重大突破)。”
4.深度學習算法仍需要規則來兜底
在車輛上路行駛的過程中,決策算法出錯其實是無法徹底避免的。因為哪怕是人在開車,再厲害的老司機也不可能保證自己的決策永遠完全正確,基于深度學習模型的決策算法也一樣。
因此,在系統設計時,開發者們應當考慮到“決策算法會出錯”這一可能性,并做好“接受”決策出錯這一潛在事實的“心理準備”。
對此,領駿科技采用了混合決策架構,該公司CEO楊文利博士的說法是“深度學習算法由于善于學習人類的駕駛經驗,因此主要用于提升性能,而由程序員設計的規則已進行過充分測試論證的,用來保證安全,擁有更高的優先級。”
再往下層看,規劃層也能拒絕來自決策的“錯誤指令”。例如,輸入的障礙物速度及尺寸應該在某一個范圍之內(比如不能出現時速100m/s如同“起飛”的小轎車);再比如,決策層給出指令“向左換道”,但此時左邊都是車,因為此時變道則空間規劃無完全解,此時,規劃就可以直接“拒絕執行指令”。
這里提到的拒絕來自上一環的“錯誤指令”的規劃算法,只能是基于規則的。
根據以上,我們可以看到,在那些可以使用深度學習算法的場景中,扮演“兜底”角色的規則依舊是必不可少的。
5.引入深度學習算法,意味著大量代碼需要被替換
還有一個非常考驗自動駕駛公司的問題:如果要用混合式規控算法,就必然面臨大量代碼需要被替換的問題,而這么做又必然需要“堆人”。
輕舟規控算法專家說,傳統基于規則的系統在設計的時候沒有考慮加入與深度學習相關接口,而且代碼庫經過多年發展已經相對固化,為引入深度學習而對代碼進行重構成本很高,
“但輕舟智航在2019年開始構建決策規劃算法棧時就考慮到了AI的廣泛使用,并在各個接口層面都事先考慮到了模型引入后的情況,針對性地做了架構調整”。
據一位曾在某頭部Robotaxi公司擔任規控算法負責人的資深專家說,在規控中引入深度學習后,代碼重寫的工作量非常大,因為涉及在線、離線、仿真等多個系統的改造。
筆者曾經在互聯網行業多次聽過用戶抱怨,為什么某某軟件的程序員面對臃腫的系統一直選擇打補丁而不是重構。這個例子在某種程度上與用混合式規控算法替代基于規則的規控算法時所面臨的問題相同——重構的效益很低。
你重寫了,系統運行水平的改進是有限的,但你卻要為此付出巨大的成本,這種“吃力不一定討好”的事情對任何一家企業都是“無法承受之重”。這一顧慮也讓自動駕駛公司對混合式規控算法內心產生“只想遠觀,不愿褻玩”的心理。
事實上,筆者在跟多家自動駕駛公司的規控算法負責人/工程師交流后發現,不同于2014—2015年深度學習神經網絡被應用于感知時的“場面”,目前,大家普遍對深度學習算法在規控環節的應用“不著急”。
可以說,大家更多地還是以一種“可有可無”的心態來開展預研和實際應用。
更具體一點說,自動駕駛公司知道在采用規則+深度學習算法的“混合式規控算法”是未來,但目前能用到混合式規控算法的場景也不多,那干脆招幾個人“讓他們自己慢慢預研去”。
所以,現階段,多數自動駕駛公司對混合式規控算法的態度是:只在應對匝道、十字路口等極少數場景時采用混合式規控算法;而過去用基于規則的算法已經解決的corner case,只要沒發現“令人無法容忍”的問題就“不動”。
還有規控算法專家很直白地說,具體用不用混合式規控算法還得看需求,這是個工程性的問題。
根據以上邏輯,目前自動駕駛公司對混合式規控算法的態度是“可有可無”,而未來混合式規控算法的應用范圍也需要“打一個問號”。
三、規則為主or 深度學習算法為主?
我們接著上一節的邏輯繼續探討。
有不少專家都認為,無論深度學習算法、混合框架發展的多么成熟,規控算法永遠是規則代碼占多數,深度學習算法僅扮演輔助角色。
他們給出的關鍵理由是:深度學習算法具有“不可解釋性”的特點,用深度學習算法去做預測和決策,遵循的是概率,而不是嚴格意義上的因果關系,因此,讓它去承擔規控的“第一責任人”,難免讓人“不放心”。
如領駿科技CEO楊文利博士說:
“深度學習是黑箱,人理解的‘場景’和深度學習理解的‘場景’可能不一樣。之前有個diss人工智能的例子,在圖像上改幾個像素,人工智能就認錯了;在交通標記上貼幾個黑膠布,特斯拉就認不出來了。除非是像素級的‘一致’,否則人們認為的‘同一場景’,在深度學習看來,極有可能是‘不同場景’。
“深度學習算法是基于輸入輸出的擬合,從輸入輸出特性上可以獲得更好的擬人性,但其實它很難理解駕駛的內部邏輯關系。“針對用深度學習算法做決策出錯的可能性,我們采用了混合決策架構。”
某商用車無人駕駛公司CTO和某造車新勢力規控算法專家也持類似觀點。
在9月底的一場技術交流活動上,地平線CTO黃暢博士也談到了這個問題,但黃暢認為,在混合式規控算法中,深度學習將是主流,而規則僅作為“必要的輔助”——以免出現明顯的、在語義上都可以解釋的錯誤。”
黃暢解釋說,根據他的經驗,對于一個已經雕琢了很多年、調得很好的一套基于規則的系統,僅在某一個局部模塊引入深度學習,改善是非常有限的,甚至沒有改善。“因為其他的模塊還是基于規則去設計,在這種大框架下,你用深度學習算法替換一個模塊,那其他模塊跟這邊個新模塊適配的成本很高。整個驗證的周期很長,長到你沒有耐心去完成。”
某Robotaxi公司規控算法負責人和輕舟規控算法專家同樣認為,未來的規控算法是以深度學習為主,規則為輔。
輕舟規控算法專家說,在輕舟智航,目前在預測環節,深度學習算法相關運算(包括前處理,模型推理和后處理)占整體模塊運行時間的比例已接近95%,在決策和規劃環節,深度學習算法運算占比也已達到了30%左右。
“不太容易量化,但總的算下來,在規控算法中,深度學習算法占比應該有50%-60%。”
他認為,最終,規控算法80%-90%的運算時間會花在深度學習算法上。并且,不同于楊文利博士在前面提到的“底層控制算法中沒必要用到AI”,他認為,控制算法是以規則為主,但也可以使用深度學習模型優化控制的參數,增加算法的適應性。
他指出:
“如果說之前產業里對‘AI為主’還是‘規則為主’存在爭議,是可以理解的,但特斯拉最近一次AI DAY上公布出的信息已經顯示,特斯拉大量使用深度學習的規控算法表現非常亮眼,這從側面反映了馬斯克的‘第一性原理’在某種意義上也可以適用于基于深度學習的規控算法:如果人類的大腦作為一個復雜的神經網絡,能夠通過大量的經驗學會駕駛,那規控算法也可以利用深度學習去獲得更好的性能和表現。”
深度學習算法存在一個很大的爭議即它的“不可解釋性”,那么,如果某個場景從“未知”變成“已知”了,我們是否需要再在算法里面加一個規則把它“確定下來”?
對筆者的這一問題,某Robotaxi公司規控算法專家認為,通過規則將AI對場景辯識的不確定性確定化,“具有可行性”;但黃暢和輕舟規控算法專家則認為“不可行”“也沒必要”。
黃暢說:
“我們不能強求這個系統一定要‘可解釋’——因為,所謂‘可解釋’就是拿規則去約束它,甚至完全依賴規則,像專家系統一樣,結果就是,在A城市跑得很溜的系統,到B城市去跑時還需要大量的工程師做調試才行;并且,它會讓那些復雜的、無法用人為規則描述的corner case‘無解’了。”
可見,強求系統一定要“可解釋”,這就又回到了本文第一節所提到的“規則的局限性”上了。
黃暢認為,在將深度學習算法引入規控時,我們不必過分糾結于系統是否“可解釋”。
“我跟你交流,我們之間,我能夠充分理解你,并能推理你的整套邏輯,但對你底層的一些直覺、一些隱藏的特質,我卻是不知道的(甚至你自己也未必知道),但這并不影響我們能建立起信任感、能順暢地交流。同理,我們也不必用是否‘可解釋’去限制去探索深度學習算法的應用邊界。
“我前段時間看了一篇帖子,說深度學習和經典的統計學之間的區別在于經典統計學依然嘗試用規則模型的方式讓整個系統變得‘可解釋’,但深度學習突破了這一點,它甚至非常極端去優化最終的目標。
“人會犯錯,規則系統會犯錯,數據系統也會犯錯,但是如果在廣泛統計學意義上,當數據規模足夠大的時候,深度學習算法會比規則系統強一個數量級,因此,我們可以放心地使用它。
“在這個基礎上,把環境模型這樣的東西可視化,讓人可以理解,再在規劃的最后一個階段引入少量的必要的規則去約束深度學習算法,這樣就足夠了。”
黃暢認為,在算法2.0時代,AI有能力去完成自適應,因此,自動駕駛公司可能要設計一些“在算法之上的算法”,使得它能夠幫助基礎的算法更好地在應用場景中去迭代、去適應。
輕舟規控算法專家認為,筆者提到的“當一個場景從未知變成已知的時候,就用規則把應對方案給‘確定’下來”的設想在實踐中很難行得通,因為,現實中的場景往往是動態調整的——起初可能是清晰的,但變著變著,就“模糊不清”了,因而很難用規則將其描述清楚。
關于深度學習算法的“不可解釋性”,他的回應是:“有好多人會說深度學習‘不可解釋’,但其實如果你仔細地去設計你的深度學習算法,它可也以實現‘可解釋性’的效果,甚至,這種可解釋性可能會比規則還強。”
他舉了這樣一個例子:自動駕駛車輛在十字路口右轉彎,需要避讓直行而來的車,這個時候,很難用規則窮舉在直行車輛的車速是多少、兩車之間的距離是多少時自動駕駛系統應該采取什么措施,但如果是用深度學習算法,只要給出自車和潛在障礙物(直行車輛)的位置和狀態,以及一些相關的環境和歷史信息,經過訓練的神經網絡能夠就能夠算出“你讓我”或“我讓你”的概率分別是多少,這跟人開車做決策的思路是一樣的。“概率,比規則更容易解釋。”
說到這里,筆者想到一個看似跟本文主題不直接相關、但又有很深的關聯的話題——什么是人的“直覺”?
之前經常看到一些做企業管理研究的人說,企業家們在重大事項決策的關鍵時刻,依賴的往往不是調研,而是直覺。很少有人能解釋清楚這個直覺究竟是什么,但筆者覺得,這個“直覺”,其實就是數據驅動的“深度學習算法”。
所謂的“直覺準”,并不是什么天分,其背后都是日積月累的信息及在此基礎上形成的認知。類似于大數據分析,結論和信息之間有相關性,但沒有因果關系,或者是因果關系不夠直接、不夠明顯,人很難用邏輯解釋清楚,便說這是“直覺”。
從這個意義上說,我們確實不必強求深度學習算法一定要“可解釋”。
不過,毫末智行的規控算法專家認為,即使上了大量AI模型做認知,那也一定是場景化的,必須有顯式的、可解釋的“意圖和意義”,“這是我們的原則”。
這位專家說:
“深度學習的強項在于可以隨機應變,各種復雜環境都能快速給出一個解,但它的黑盒特質導致有時候給的解會出錯,而基于規則的算法其實都是‘我知道我知道’以及‘我知道我不知道’,它對‘未知’的復雜場景給出一個正確解的可能性比深度學習方法要低,但‘我做不出正確答案并不影響我在看到答案之后評判它是對是錯啊’。因此,AI為做題主力,規則負責校驗是我們使用的方式。”
小馬智行的規控算法專家認為,現階段,深度學習算法很難保證安全,所以在,未來很長時間內都一定是傳統算法和深度學習相結合。
這位規控算法專家說:
“我們認為,L2很可能可以達到AI為主的狀態,因為AI無需應對好所有的corner case——畢竟還有司機可以做最后的安全保證,特斯拉在AI Day上的分享也說明了這一點。
“但L4的算法在未來很長一段時間內都不太可能做到以AI為主,主要原因還是它的可解釋性和對有安全風險的corner case處理能力的問題;不過,隨著技術的進步,我們相信算法中AI的部分會越來越多。
“事實上,傳統規控算法絕不是規則的堆砌,好的傳統規控算法更多是對場景歸納總結后抽象出來的數學模型——借助不同的數學工具對規劃問題建模并通過優化方式求解,它有能力刻畫問題的本質,從根本上保證理論范圍內的安全性。
“因此,所以引入深度學習,并不會涉及到大量的代碼重寫,更多應該是如何結合好傳統算法和深度學習,用傳統算法保證行車的安全性。可以說,傳統規控算法和AI模型并不是一個簡單的替代關系,算法研發也是逐步迭代的,不存在要花很大成本一下子把規則代碼替換成AI模型的需求,而是循序漸進的。”
而一位主機廠的架構師則提出這樣一個建議:在主系統里跑基于規則的算法,在影子模式里跑深度學習算法,等深度學習算法的訓練效果超過規則的時候,再將深度學習算法部署到主系統中去。
附. 兩個關于深度學習算法應用于自動駕駛規控中的案例
7月底,九章智駕在蘇州高鐵新城舉辦過一場主題為“數據驅動的規控算法”的技術沙龍,在這次沙龍上,輕舟智航和智加的專家通過簡單的例子給與會者們分享了一下深度學習算法如何應用于自動駕駛規控。我們在經過專家當事人同意后將這兩個案例分享如下——
1.智加:通過深度學習算法降低油耗
智加對數據驅動的決策的應用,也經歷了以規則為主過度到規則+數據混合決策的過程。智加科技首席科學家崔迪瀟曾說,他們認為換道時機很適合用深度學習算法來做輔助做決策。
因為干線物流對時效和油耗要求非常高,一方面不合適的換道時機會導致司機使用自動換道功能比例降低,另一方面以規則為主的換道算法偏保守,如果僅僅在前車車速過低時才觸發“換道”指令,會導致更多的后續剎車,進而帶來整個時效和油耗的損耗。為了降低油耗,自動駕駛系統通過收集數據來觀察司機如何做決策,再去研究更類人的換道決策。
這一方案經歷過兩個階段。
第一階段為換道決策由司機“自觸發”形式變為“系統建議”。在這個階段,工程師會不斷去研究為什么司機在某個點會做出換道決策,進而形成換道建議的規則。在系統給出換道建議后,如果司機允許換道,則系統認為此時的決策是合適的,如果司機認為此時不應該換道,則司機可不采納換道建議。
第二階段是,工程師還會在不同場景采集人工換道的數據,并結合第一階段收集的系統換道決策和司機換道決策不一致場景的數據(如司機觸發換道,系統未觸發;或系統觸發換道,但司機未采納)進行標注和模型訓練,得到換道決策模型,改進系統原本的規控算法,進一步提高節油性能。
2.輕舟智航:用深度學習算法提升系統的“擬人性”
據輕舟智航預測和規控專家還介紹,現階段,輕舟規控算法給深度學習預留了大量的接口,并積極研發深度學習規控算法。輕舟智航的整體規控算法架構的最終目標是實現AI First(深度學習算法優先),讓模型做大部分行為的輸出,然后再用規則去做互補(規則主要處理安全相關的問題)。
輕舟智航認為,規控能力將是城市NOA功能差異化的重要體現。目前,輕舟智航已開始嘗試在城市NOA方案的規控環節盡可能多運用AI來處理,讓系統在多數情況下的決策“接近人”、在極端情況下的決策“超越人”。
例如,對變道時機選擇、匝道merge時機選擇、路口博弈等在使用城市NOA會遇到的某些規劃關鍵場景,輕舟已經有專門的深度學習算法來進行處理。
為保證深度學習算法的可預見性和可控性,輕舟智航會通過對輸入和輸出設置校驗的方式,來確保輸入數據是否符合當前設計的需求。在輸入層面會使用規則的方式來選擇深度學習算法適用的場景,確保模型的輸入的合理性,限定模型運行在設計的問題范圍之內,在輸出層面也會使用規則進行輸出的校驗,保證輸出達到預設的效果。同時,如果遇到模型處理不好的場景,也可以自動記錄時間點和場景相關信息,后續通過數據閉環來更新模型,讓模型泛化能力更強,適應更多場景。
目前,在輕舟智航,通過深度學習(比如模仿學習或者強化學習)來生成自車“未來可能的軌跡”這一技術已經比較成熟,通過收集大量專家駕駛的軌跡來訓練模型,現在模型生成的軌跡在90%情況下都無需做后續的修飾;但在10%的情況下,深度學習生成的軌跡效果可能不好,甚至有安全風險,這時候就需要一個框架能夠去修正/修改它。輕舟使用其國內在首創的時空聯合算法(一種基于數值優化的算法)對深度學習生成的軌跡進行微調。
輕舟規控算法專家說,時空聯合規劃算法相比傳統的橫向縱向分離更適合與深度學習算法協同使用。因為,用深度學習算法生成的軌跡本身其實就是一個時空聯合的軌跡,這個軌跡上面不僅有位置、速度、方向信息,還有時間信息。因此,時空聯合規劃算法就能較好地跟模型出來的結果結合到一起,進而能夠無縫地給深度學習算法加上安全防護。
審核編輯 :李倩
-
算法
+關注
關注
23文章
4626瀏覽量
93151 -
自動駕駛
+關注
關注
784文章
13910瀏覽量
166758 -
深度學習
+關注
關注
73文章
5511瀏覽量
121374
原文標題:萬字長文解讀深度學習算法在自動駕駛規控中的應用
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論