作為L(zhǎng)4級(jí)自動(dòng)駕駛的優(yōu)秀代表Robotaxi,部分人可能已經(jīng)在自己的城市欣賞過他們不羈的造型,好奇心強(qiáng)烈的可能都已經(jīng)體驗(yàn)過他們的無人“推背”服務(wù)。作為一個(gè)占有天時(shí)地利優(yōu)勢(shì)的從業(yè)人員,我時(shí)常在周末選一個(gè)人和的時(shí)間,叫個(gè)免費(fèi)Robotaxi去超市買個(gè)菜。
剛開始幾次乘坐,我的注意力全都放在安全員的雙手,觀察其是否在接管;過了一段時(shí)間,我的注意力轉(zhuǎn)移到中控大屏,觀察其夢(mèng)幻般的交互方式;而現(xiàn)在,我的注意力轉(zhuǎn)移到了智能上,觀察其在道路上的行為決策是否足夠聰明。
而這一觀察,竟真總結(jié)出不少共性問題。比如十字路口左轉(zhuǎn),各家Robotaxi總是表現(xiàn)的十分小心謹(jǐn)慎,人類司機(jī)一腳油門過去的場(chǎng)景,Robotaxi總是再等等、再看看。且不同十字路口同一廠家的Robotaxi左轉(zhuǎn)的策略基本一致,完全沒有人類司機(jī)面對(duì)不同十字路口、不同交通流、不同天氣環(huán)境時(shí)的“隨機(jī)應(yīng)變”。
面對(duì)復(fù)雜多變場(chǎng)景時(shí)自動(dòng)駕駛行為決策表現(xiàn)出來的小心謹(jǐn)慎,像極了人類進(jìn)入一個(gè)新環(huán)境時(shí)采取的猥瑣發(fā)育策略。但在自動(dòng)駕駛終局到來的那天,自動(dòng)駕駛的決策規(guī)劃能否像人類一樣,在洞悉了人情社會(huì)的生活法則之后,做到“見人說人話”、“見人下飯”呢?
在讓自動(dòng)駕駛車輛的行為決策變得越來越像老司機(jī)的努力過程中,主要誕生了基于規(guī)則和基于學(xué)習(xí)的兩大類行為決策方法。
基于規(guī)則的方法 在基于規(guī)則的方法中,通過對(duì)自動(dòng)駕駛車輛的駕駛行為進(jìn)行劃分,并基于感知環(huán)境、交通規(guī)則等信息建立駕駛行為規(guī)則庫(kù)。自動(dòng)駕駛車輛在行駛過程中,實(shí)時(shí)獲取交通環(huán)境、交通規(guī)則等信息,并與駕駛行為規(guī)則庫(kù)中的經(jīng)驗(yàn)知識(shí)進(jìn)行匹配,進(jìn)而推理決策出下一時(shí)刻的合理自動(dòng)駕駛行為。
正如全局路徑規(guī)劃的前提是地圖一樣,自動(dòng)駕駛行為分析也成為基于規(guī)則的行為決策的前提。不同應(yīng)用場(chǎng)景下的自動(dòng)駕駛行為不完全相同,以高速主干路上的L4自動(dòng)駕駛卡車為例,其自動(dòng)駕駛行為可簡(jiǎn)單分解為單車道巡航、自主變道、自主避障三個(gè)典型行為。
單車道巡航是卡車L4自動(dòng)駕駛系統(tǒng)激活后的默認(rèn)狀態(tài),車道保持的同時(shí)進(jìn)行自適應(yīng)巡航。此駕駛行為還可以細(xì)分定速巡航、跟車巡航等子行為,而跟車巡航子行為還可以細(xì)分為加速、加速等子子行為,真是子子孫孫無窮盡也。
自主變道是在變道場(chǎng)景(避障變道場(chǎng)景、主干路變窄變道場(chǎng)景等)發(fā)生及變道空間(與前車和后車的距離、時(shí)間)滿足后進(jìn)行左/右變道。自主避障是在前方出現(xiàn)緊急危險(xiǎn)情況且不具備自主變道條件時(shí),采取的緊急制動(dòng)行為,避免與前方障礙物或車輛發(fā)生碰撞。其均可以繼續(xù)細(xì)分,此處不再展開。
上面列舉的駕駛行為之間不是獨(dú)立的,而是相互關(guān)聯(lián)的,在一定條件滿足后可以進(jìn)行實(shí)時(shí)切換,從而支撐起L4自動(dòng)駕駛卡車在高速主干路上的自由自在?,F(xiàn)將例子中的三種駕駛行為之間的切換條件簡(jiǎn)單匯總?cè)绫?,真實(shí)情況比這嚴(yán)謹(jǐn)、復(fù)雜的多,此處僅為后文解釋基于規(guī)則的算法所用。
表2 狀態(tài)間的跳轉(zhuǎn)事件
在基于規(guī)則的方法中,有限狀態(tài)機(jī)(FiniteStateMaechine,F(xiàn)SM)成為最具有代表性的方法。2007年斯坦福大學(xué)參加DARPA城市挑戰(zhàn)賽時(shí)的無人車“Junior”,其行為決策采用的就是有限狀態(tài)機(jī)方法。
有限狀態(tài)機(jī)是一種離散的數(shù)學(xué)模型,也正好符合自動(dòng)駕駛行為決策的非連續(xù)特點(diǎn),主要用來描述對(duì)象生命周期內(nèi)的各種狀態(tài)以及如何響應(yīng)來自外界的各種事件。有限狀態(tài)機(jī)包含四大要素:狀態(tài)、事件、動(dòng)作和轉(zhuǎn)移。事件發(fā)生后,對(duì)象產(chǎn)生相應(yīng)的動(dòng)作,從而引起狀態(tài)的轉(zhuǎn)移,轉(zhuǎn)移到新狀態(tài)或維持當(dāng)前狀態(tài)。
我們將上述駕駛行為定義為有限狀態(tài)機(jī)的狀態(tài),每個(gè)狀態(tài)之間在滿足一定的事件(或條件)后,自動(dòng)駕駛車輛執(zhí)行一定的動(dòng)作后,就可以轉(zhuǎn)移到新的狀態(tài)。比如單車道巡航狀態(tài)下,前方車輛低速行駛,自車在判斷旁邊車道滿足變道條件要求后,切換到自主變道狀態(tài)。自主變道完成后,系統(tǒng)再次回到單車道巡航狀態(tài)。
結(jié)合表2中的切換條件,各個(gè)狀態(tài)在滿足一定事件(或條件)后的狀態(tài)跳轉(zhuǎn)示意圖如圖25所示。
圖25 狀態(tài)跳轉(zhuǎn)示意圖
基于有限狀態(tài)機(jī)理論構(gòu)建的智能車輛自動(dòng)駕駛行為決策系統(tǒng),可將復(fù)雜的自動(dòng)駕駛過程分解為有限個(gè)自動(dòng)駕駛駕駛行為,邏輯推理清晰、應(yīng)用簡(jiǎn)單、實(shí)用性好等特點(diǎn),使其成為當(dāng)前自動(dòng)駕駛領(lǐng)域目前最廣泛使用的行為決策方法。
但該方法沒有考慮環(huán)境的動(dòng)態(tài)性、不確定性以及車輛運(yùn)動(dòng)學(xué)以及動(dòng)力學(xué)特性對(duì)駕駛行為決策的影響,因此多適用于簡(jiǎn)單場(chǎng)景下,很難勝任具有豐富結(jié)構(gòu)化特征的城區(qū)道路環(huán)境下的行為決策任務(wù)。
基于學(xué)習(xí)的方法
行為決策水平直接決定了車輛的智能化水平,同時(shí)伴隨著自動(dòng)駕駛等級(jí)的提高,人們不僅要求其在復(fù)雜場(chǎng)景下做出正確的決策,還要求在無法預(yù)測(cè)的突發(fā)情況下做出正確的決策,更過分的是還要求在無法完全感知周圍交通環(huán)境的情況下,進(jìn)行合理的決策。
上文介紹的基于規(guī)則的行為決策方法依靠專家經(jīng)驗(yàn)搭建的駕駛行為規(guī)則庫(kù),但是由于人類經(jīng)驗(yàn)的有限性,智能性不足成為基于規(guī)則的行為決策方法的最大制約,復(fù)雜交通工況的事故率約為人類駕駛員的百倍以上。鑒于此,科研工作者開始探索基于學(xué)習(xí)的方法,并在此基礎(chǔ)上了誕生了數(shù)據(jù)驅(qū)動(dòng)型學(xué)習(xí)方法和強(qiáng)化學(xué)習(xí)方法。
數(shù)據(jù)驅(qū)動(dòng)型學(xué)習(xí)是一種依靠自然駕駛數(shù)據(jù)直接擬合神經(jīng)網(wǎng)絡(luò)模型的方法,首先用提前采集到的老司機(jī)開車時(shí)的自然駕駛數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,訓(xùn)練的目標(biāo)是讓自動(dòng)駕駛行為決策水平接近老司機(jī)。而后將訓(xùn)練好的算法模型部署到車上,此時(shí)車輛的行為決策就像老司機(jī)一樣,穿行在大街小巷。讀者可參見端到端自動(dòng)駕駛章節(jié)中介紹的NVIDIA demo案例。
強(qiáng)化學(xué)習(xí)方法通過讓智能體(行為決策主體)在交互環(huán)境中以試錯(cuò)方式運(yùn)行,并基于每一步行動(dòng)后環(huán)境給予的反饋(獎(jiǎng)勵(lì)或懲罰),來不斷調(diào)整智能體行為,從而實(shí)現(xiàn)特定目的或使得整體行動(dòng)收益最大。通過這種試錯(cuò)式學(xué)習(xí),智能體能夠在動(dòng)態(tài)環(huán)境中自己作出一系列行為決策,既不需要人為干預(yù),也不需要借助顯式編程來執(zhí)行任務(wù)。
強(qiáng)化學(xué)習(xí)可能不是每個(gè)人都聽過,但DeepMind開發(fā)的圍棋智能AlphaGo(阿爾法狗),2016年3月戰(zhàn)勝世界圍棋冠軍李世石,2017年5月后又戰(zhàn)勝圍棋世界排名第一柯潔的事,大家應(yīng)該都有所耳聞。更過分的是,半年后DeepMind在發(fā)布的新一代圍棋智能AlphaZero(阿爾法狗蛋),通過21天的閉關(guān)修煉,就戰(zhàn)勝了家族出現(xiàn)的各種狗子們,成功當(dāng)選狗蛋之王。
而賦予AlphaGo及AlphaZero戰(zhàn)勝人類棋手的魔法正是強(qiáng)化學(xué)習(xí),機(jī)器學(xué)習(xí)的一種。機(jī)器學(xué)習(xí)目前有三大派別:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。監(jiān)督學(xué)習(xí)算法基于歸納推理,通過使用有標(biāo)記的數(shù)據(jù)進(jìn)行訓(xùn)練,以執(zhí)行分類或回歸;無監(jiān)督學(xué)習(xí)一般應(yīng)用于未標(biāo)記數(shù)據(jù)的密度估計(jì)或聚類;
強(qiáng)化學(xué)習(xí)自成一派,通過讓智能體在交互環(huán)境中以試錯(cuò)方式運(yùn)行,并基于每一步行動(dòng)后環(huán)境給予的反饋(獎(jiǎng)勵(lì)或懲罰),來不斷調(diào)整智能體行為,從而實(shí)現(xiàn)特定目的或使得整體行動(dòng)收益最大。通過這種試錯(cuò)式學(xué)習(xí),智能體能夠在動(dòng)態(tài)環(huán)境中自己作出一系列決策,既不需要人為干預(yù),也不需要借助顯式編程來執(zhí)行任務(wù)。
這像極了馬戲團(tuán)訓(xùn)練各種動(dòng)物的過程,馴獸師一個(gè)抬手動(dòng)作(環(huán)境),動(dòng)物(智能體)若完成相應(yīng)動(dòng)作,則會(huì)獲得美味的食物(正反饋),若沒有完成相應(yīng)動(dòng)作,食物可能換成了皮鞭(負(fù)反饋)。時(shí)間一久,動(dòng)物就學(xué)會(huì)基于馴獸師不同的手勢(shì)完成不同動(dòng)作,來使自己獲得最多數(shù)量的美食。
大道至簡(jiǎn),強(qiáng)化學(xué)習(xí)亦如此。一個(gè)戰(zhàn)勝人類圍棋冠軍的“智能”也僅由五部分組成:智能體(Agent)、環(huán)境(Environment)、狀態(tài)(State)、行動(dòng)(Action)和獎(jiǎng)勵(lì)(Reward)。強(qiáng)化學(xué)習(xí)系統(tǒng)架構(gòu)如圖26所示,結(jié)合自動(dòng)駕駛代客泊車中的泊入功能,我們介紹一下各組成的定義及作用。
圖26 強(qiáng)化學(xué)習(xí)系統(tǒng)架構(gòu)
代客泊車泊入功能的追求非常清晰,就是在不發(fā)生碰撞的前提下,實(shí)現(xiàn)空閑停車位的快速泊入功能。這個(gè)過程中,承載強(qiáng)化學(xué)習(xí)算法的控制器(域控制器/中央計(jì)算單元)就是智能體,也是強(qiáng)化學(xué)習(xí)訓(xùn)練的主體。智能體之外的整個(gè)泊車場(chǎng)景都是環(huán)境,包括停車場(chǎng)中的立柱、車輛、行人、光照等。
訓(xùn)練開始后,智能體實(shí)時(shí)從車載傳感器(激光雷達(dá)、相機(jī)、IMU、超聲波雷達(dá)等)讀取環(huán)境狀態(tài),并基于當(dāng)前的環(huán)境狀態(tài),采取相應(yīng)的轉(zhuǎn)向、制動(dòng)和加速行動(dòng)。如果基于當(dāng)前環(huán)境狀態(tài)采用的行動(dòng),是有利于車輛快速泊入,則智能體會(huì)得到一個(gè)獎(jiǎng)勵(lì),反之則會(huì)得到一個(gè)懲罰。
在獎(jiǎng)勵(lì)和懲罰的不斷刺激下,智能體學(xué)會(huì)了適應(yīng)環(huán)境,學(xué)會(huì)了下次看到空閑車位時(shí)可以一把倒入,學(xué)會(huì)了面對(duì)不同車位類型時(shí)采取不同的風(fēng)騷走位。
從上述例子,我們也可以總結(jié)出訓(xùn)練出一個(gè)優(yōu)秀的“智能”,大概有如下幾個(gè)步驟:
(1)創(chuàng)建環(huán)境。定義智能體可以學(xué)習(xí)的環(huán)境,包括智能體和環(huán)境之間的接口。環(huán)境可以是仿真模型,也可以是真實(shí)的物理系統(tǒng)。仿真環(huán)境通常是不錯(cuò)的起點(diǎn),一是安全,二是可以試驗(yàn)。
(2)定義獎(jiǎng)勵(lì)。指定智能體用于根據(jù)任務(wù)目標(biāo)衡量其性能的獎(jiǎng)勵(lì)信號(hào),以及如何根據(jù)環(huán)境計(jì)算該信號(hào)。可能需要經(jīng)過數(shù)次迭代才能實(shí)現(xiàn)正確的獎(jiǎng)勵(lì)塑造。
(3)創(chuàng)建智能體。智能體由策略和訓(xùn)練算法組成,因此您需要:
(a)選擇一種表示策略的方式(例如,使用神經(jīng)網(wǎng)絡(luò)或查找表)。思考如何構(gòu)造參數(shù)和邏輯,由此構(gòu)成智能體的決策部分。
(b)選擇合適的訓(xùn)練算法。大多數(shù)現(xiàn)代強(qiáng)化學(xué)習(xí)算法依賴于神經(jīng)網(wǎng)絡(luò),因?yàn)楹笳叻浅_m合處理大型狀態(tài)/動(dòng)作空間和復(fù)雜問題。
(4)訓(xùn)練和驗(yàn)證智能體。設(shè)置訓(xùn)練選項(xiàng)(如停止條件)并訓(xùn)練智能體以調(diào)整策略。要驗(yàn)證經(jīng)過訓(xùn)練的策略,最簡(jiǎn)單的方法是仿真。
(5)部署策略。使用生成的 C/C++ 或 CUDA 代碼等部署經(jīng)過訓(xùn)練的策略表示。此時(shí)無需擔(dān)心智能體和訓(xùn)練算法;策略是獨(dú)立的決策系統(tǒng)。
強(qiáng)化學(xué)習(xí)方法除了具有提高行為決策智能水平的能力,還具備合并決策和控制兩個(gè)任務(wù)到一個(gè)整體、進(jìn)行統(tǒng)一求解的能力。將決策與控制進(jìn)行合并,這樣既發(fā)揮了強(qiáng)化學(xué)習(xí)的求解優(yōu)勢(shì),又能進(jìn)一步提高自動(dòng)駕駛系統(tǒng)的智能性。實(shí)際上,人類駕駛員也是具有很強(qiáng)的整體性的,我們很難區(qū)分人類的行為中哪一部分是自主決策,哪一部分是運(yùn)動(dòng)控制。
現(xiàn)階段強(qiáng)化學(xué)習(xí)方法的應(yīng)用還處在摸索階段,應(yīng)用在自動(dòng)駕駛的潛力還沒有被完全發(fā)掘出來,這讓我想起了母校的一句校歌:“能不奮勉乎吾曹?”
審核編輯 :李倩
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100420 -
算法
+關(guān)注
關(guān)注
23文章
4587瀏覽量
92503 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
782文章
13621瀏覽量
165952
原文標(biāo)題:決策規(guī)劃:行為決策常用算法
文章出處:【微信號(hào):3D視覺工坊,微信公眾號(hào):3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論