薛怡然,吳 銳,劉家鋒
(模式識別與智能系統(tǒng)研究中心(哈爾濱工業(yè)大學),哈爾濱 150001)
大型商場、寫字樓等多功能建筑在滿足人們多種需求的同時,建筑復雜程度逐漸提高。在發(fā)生地震、火災等災害時,建筑內復雜的結構對人群疏散逃生形成阻礙,對生命安全形成新的威脅。災害發(fā)生時,人群由于對建筑物環(huán)境不了解、視野受限、心理恐慌等因素,難以準確找到最優(yōu)逃生路線[1]。在從眾心理的影響下,逃生者容易形成擁堵甚至踩踏,造成更大損失[2]。如何引導人群以最有效的路徑疏散,對災害中保護生命安全,減少人員財產(chǎn)損失具有重要意義。
為了在災害發(fā)生時引導人群有效疏散,研究者開發(fā)了多種基于動態(tài)引導標志的人群疏散引導系統(tǒng)[3-6]。此類系統(tǒng)可以對建筑場景建模,收集災害位置和人群分布等實時信息,用路徑規(guī)劃算法找出最優(yōu)逃生路徑,通過動態(tài)引導標志誘導人群的運動狀態(tài),有效地提高了緊急情況下人群逃生效率。但是,現(xiàn)有的人群疏散引導系統(tǒng)都離不開人工設計基于拓撲圖或者網(wǎng)格形式的場景模型、根據(jù)場景特征手動輸入模型參數(shù)等工作,人工工作量較大并且容易引入人為因素造成的誤差,對后續(xù)路徑規(guī)劃等計算步驟造成干擾。
針對此問題,本文提出了基于深度強化學習算法的端對端的人群疏散引導方法。即訓練一種僅以建筑平面圖為輸入,在與環(huán)境的交互和反饋中自動探索學習場景模型和路徑規(guī)劃方法,發(fā)現(xiàn)最優(yōu)動作策略,直接輸出動態(tài)引導標志信息的疏散引導智能體。為實現(xiàn)此方法,設計了基于社會力模型人群動力學仿真的強化學習智能體仿真交互環(huán)境,并針對深度強化學習中典型深度Q網(wǎng)絡(DQN)[7]方法應用于人群疏散引導時出現(xiàn)的“維度災難”問題,提出了組合動作空間的DQN方法,降低了網(wǎng)絡結構復雜度,提高了算法在復雜建筑場景中的實用性。
人群運動仿真是人群疏散研究中分析人群行為特征、自組織等現(xiàn)象的重要基礎。人群仿真研究可分為宏觀模型與微觀模型。宏觀模型主要考察人群整體的運動狀態(tài),一般采用元胞自動機等柵格模型[8]。例如用流體力學方法計算速度場,再作用于個體的高密度人群仿真方法[9],和基于格子玻爾茲曼模型的人群異常檢測方法等[10]。微觀模型用動力學方法仿真每個個體的運動特征,典型方法有引入人的主觀因素的社會力模型[11-12]。
在仿真研究中,研究者希望提高疏散效率,使人群運動更貼近現(xiàn)實,因此人群疏散中的路徑規(guī)劃問題受到研究者的關注。有研究者分別利用群體智能的布谷鳥算法[13]和結合心理因素的A*算法[14]改進路徑搜索方法。也有研究者結合多種傳感器信息,例如構建威脅態(tài)勢信息場的路徑優(yōu)化方法[15]、感知災害位置的路徑選擇方法[16]、根據(jù)路徑和出口容量優(yōu)化的路徑選擇模型[17]等。仿真環(huán)境的路徑規(guī)劃方法可以綜合環(huán)境信息,計算使全局疏散效率最高的逃生路徑。在實際場景中,逃生者由于視野和經(jīng)驗受限,只能掌握自身周邊信息,建筑物監(jiān)測系統(tǒng)即使可以掌握優(yōu)化的逃生路徑,也需要專門途徑告知逃生者。
為了指示逃生路線,大型建筑內一般設置有應急逃生標志。應急標志可分為靜態(tài)引導標志和動態(tài)引導標志兩類[18]。在真實場景實驗[19]和基于社會力模型的仿真實驗[20]中,靜態(tài)引導標志都對疏散效率起到了重要的正面作用。不同于靜態(tài)引導標志僅能指示一種預設的疏散路線,動態(tài)引導標志可根據(jù)災害場景中人群分布等實時條件顯示不同的引導信息。研究表明在某個出口不可用時,動態(tài)引導標志可以有效誘導人群從其他出口疏散[21],在路徑中發(fā)生危險時,動態(tài)標志也能引導人群避開不安全的路線[22]。
將上述人群仿真環(huán)境、路徑規(guī)劃算法和動態(tài)引導標志相結合,研究者開發(fā)出了多種人群疏散引導系統(tǒng)。此類系統(tǒng)以建筑物環(huán)境模型為基礎,實現(xiàn)了從場景信息感知、疏散路徑規(guī)劃到人群運動誘導的閉環(huán)反饋,具備一定的實用價值[3]。例如在拓撲圖模型上基于網(wǎng)絡流路徑規(guī)劃的動態(tài)引導方法[4]、使用仿真攝像機采集人群密度信息,應用實時最短路算法的動態(tài)疏散系統(tǒng)[5]。還有研究與現(xiàn)實建筑系統(tǒng)相結合,建立平行應急疏散系統(tǒng)框架,取得了更大現(xiàn)實意義[6]。
此類系統(tǒng)基本流程包含輸入場景平面圖、人工構建拓撲圖或網(wǎng)格模型、根據(jù)通道容量等因素輸入模型參數(shù)、應用路徑規(guī)劃算法和設置動態(tài)引導標志信息等幾個步驟。其中構建模型和填寫參數(shù)幾個步驟的人工參與度高,工作量大,容易由于人為失誤造成誤差并在后續(xù)步驟中放大,使系統(tǒng)疏散效率受到影響。針對此問題,本文利用深度強化學習方法,提出端到端的動態(tài)人群疏散引導系統(tǒng)。
近年來,強化學習方法在人群疏散研究中得到了一些應用。研究者開發(fā)了數(shù)據(jù)驅動的強化學習人群仿真方法,用智能體模擬和預測個體的運動[23]。在路徑選擇問題上,有研究利用逆向強化學習方法使機器人模仿人類行動軌跡[24]。這些仿真研究目標是接近真實場景,而非優(yōu)化疏散效率。對于疏散引導問題,一些研究者開發(fā)出多種使用強化學習智能體輸出機器人運動方向,控制機器人在人群中運動,從而干涉人群運動狀態(tài),提高疏散效率的方法[25-27]。此類方法在單個路口的仿真實驗中取得了一定效果,但在實際應用中存在加劇人群擁擠、引發(fā)踩踏事故等隱患?,F(xiàn)有基于強化學習的研究將逃生者個體或機器人個體定義為智能體。與此不同的是,本文將疏散引導系統(tǒng)定義為強化學習智能體,其以場景圖像為觀測輸入,輸出遍布場景的多組動態(tài)引導標志信號,從而誘導人群運動,提高疏散效率。
強化學習[28]是人工智能領域的重要組成部分之一,是一種通過與環(huán)境的交互和試錯,學習從環(huán)境狀態(tài)到動作的映射,發(fā)現(xiàn)最優(yōu)行為策略,以使從環(huán)境獲得的積累獎賞最大的學習方法。結合深度神經(jīng)網(wǎng)絡,深度強化學習智能體能直接以圖像作為輸入,將特征提取和值函數(shù)估計等過程內化在網(wǎng)絡結構中,顯著拓展了智能體的感知和決策能力。深度強化學習的標志性成果包括在Atari視頻游戲中超越人類玩家水平的DQN方法[7]、在圍棋中戰(zhàn)勝人類頂級選手的AlphaGo[29]和在星際爭霸2游戲在線對戰(zhàn)中打入大師級排行的AlphaStar[30]等。
強化學習模型[28]基于馬爾可夫決策過程(MDP),可描述為四元組(S,A,Pa,Ra),其中S為所有狀態(tài)的集合,即狀態(tài)空間,A為動作空間,狀態(tài)轉移函數(shù)Pa(s,s′)=P(st+1=s′|st=s,at=a)表示在狀態(tài)s時智能體執(zhí)行動作a,環(huán)境進入狀態(tài)s′的概率,獎勵函數(shù)Ra(s,s′)表示在狀態(tài)s執(zhí)行動作a進入狀態(tài)s′時所獲得的即時獎勵。智能體在每個離散的時間步t,觀測環(huán)境狀態(tài)st,根據(jù)策略π∶S→A選擇動作at=π(st)作用于環(huán)境,環(huán)境反饋給智能體獎勵rt,并轉移到下一個狀態(tài)st+1。智能體與環(huán)境的交互過程見圖1。
圖1 強化學習模型示意Fig.1 Schematic of reinforcement learning model
在強化學習的MDP模型基礎上,定義狀態(tài)-動作值函數(shù),也可稱作動作值函數(shù)
Qπ(st,at)=Eπ[rt+γrt+1+γ2rt+2+…]
(1)
表示按策略π,在狀態(tài)st時執(zhí)行動作at之后獲得的期望累積獎勵,其中γ為獎勵衰減系數(shù)。谷歌DeepMind團隊開發(fā)的DQN方法[7]用深度神經(jīng)網(wǎng)絡表示動作值函數(shù),且分為參數(shù)為θ的當前Q網(wǎng)絡和參數(shù)為θ-的目標Q網(wǎng)絡,每隔一定時間將當前Q網(wǎng)絡參數(shù)復制到目標Q網(wǎng)絡中。DQN的策略π為貪婪策略,總是選擇當前狀態(tài)下Q值最大的動作,訓練時加入一定概率選擇隨機動作作為探索過程。DQN使用經(jīng)驗池存儲和管理樣本,對于一個時間步的樣本et=(st,at,rt,st+1),計算時序差分(temporal difference,TD)誤差
(2)
DQN在以圖像為輸入的Atari視頻游戲等任務上取得突破。研究者在DQN的基礎上,提出了用當前Q網(wǎng)絡進行目標動作選取的Double DQN(DDQN)方法[31]、用TD誤差區(qū)分經(jīng)驗池中樣本優(yōu)先級的優(yōu)先經(jīng)驗回放[32]等改進方法。
然而,DQN輸出的動作空間是離散的,并且對每一種可能的動作組合使用一個輸出層節(jié)點進行評價,因此當動作維數(shù)增加時,網(wǎng)絡復雜度將以指數(shù)方式增長。在人群疏散引導問題中,智能體以動態(tài)引導標志的顯示狀態(tài)作為輸出動作,每個標志的離散動作形成獨立的動作維度。在復雜建筑場景中動態(tài)引導標志數(shù)目較多時,DQN的輸出層規(guī)模將變得過于龐大而使算法無法實現(xiàn)。
人群疏散引導問題涉及3類對象,包括建筑場景、逃生者和智能疏散引導系統(tǒng)?,F(xiàn)有研究常將每個逃生者個體定義為一個智能體,研究個體的行動策略和運動狀態(tài),或添加可動機器人個體作為智能體。與此不同的是,本文將疏散引導系統(tǒng)看作一個智能體,如圖2所示,則智能體所處的環(huán)境包括實際建筑場景和其中運動的人群。建筑場景由平面圖表示,攝像機等多種傳感器收集人群運動狀態(tài),繪制進場景平面圖,此圖像即包含了當前環(huán)境中所需的信息,連續(xù)多幀圖像的灰度位圖組合成(width×height×depth)三維張量,定義為MDP的環(huán)境狀態(tài)st∈S。對于多層建筑,可以將不同樓層平面圖拼接成整體場景圖像輸入系統(tǒng),從而實現(xiàn)多層建筑中的疏散引導。疏散引導系統(tǒng)通過動態(tài)引導標志顯示信號,誘導、干涉人群運動,因此智能體動作at∈A對應引導標志信號,at是離散向量,每個維度對應一個引導標志,取值為此標志顯示狀態(tài)(向左、向右等)之一。由于環(huán)境和人群運動較為復雜,狀態(tài)轉移函數(shù)Pa(s,s′)是未知的,需要智能體在交互過程中學習和適應。獎勵函數(shù)的設計決定了智能體的優(yōu)化方向和學習目的,在人群疏散問題中,應根據(jù)成功撤離的人數(shù)或疏散所用時間等因素設計獎勵函數(shù)。本文定義Ra(s,s′)=-1,即每個時間步固定給予懲罰,智能體的學習目標是使累積懲罰最小,即全體人群疏散時間最短。
圖2 人群疏散引導的強化學習模型Fig.2 Reinforcement learning model for evacuation guidance
強化學習智能體的訓練過程需要與環(huán)境不斷交互,在探索和試錯中學習。其所需的交互規(guī)模十分龐大,一般在數(shù)萬個周期、百萬個時間步以上。并且訓練初期智能體知識不足,可能造成更多潛在危險。
因此用于智能疏散引導系統(tǒng)的強化學習智能體必須在仿真環(huán)境中進行訓練,訓練完成后再部署到實際建筑內。
疏散引導系統(tǒng)智能體通過與仿真環(huán)境的大量交互進行探索與學習,最終得到神經(jīng)網(wǎng)絡形式的優(yōu)化策略π(s)。學習過程中不需要人工設計建筑通道拓撲圖或網(wǎng)格模型,智能體能自主發(fā)現(xiàn)和優(yōu)化引導策略,不需要另外設計路徑規(guī)劃等中間算法。實際應用中,每個時刻t傳感器收集人群運動信息,將人群位置分布、當前引導標志顯示狀態(tài)等信息繪制進場景平面圖。利用卷積神經(jīng)網(wǎng)絡對圖像的感知能力,多幀場景灰度位圖組成三維張量傳入神經(jīng)網(wǎng)絡,作為智能體輸入的觀測狀態(tài)st,智能體根據(jù)訓練完成后包含優(yōu)化策略的神經(jīng)網(wǎng)絡計算動作向量at=π(st),由動態(tài)引導標志顯示對應信號,實現(xiàn)對人群疏散的有效引導。
在網(wǎng)絡結構上,DQN采用多層卷積神經(jīng)網(wǎng)絡處理圖像輸入,然后連接多層全連接神經(jīng)網(wǎng)絡,輸出層每一個神經(jīng)元對應一種可能的離散動作組合。對于動作中相互獨立的成分,總的動作空間是各個獨立動作空間的笛卡爾積。當動作空間有n個相互獨立的維度,每個維度有m個離散動作時,DQN網(wǎng)絡需要mn個輸出層節(jié)點,以對應輸入狀態(tài)s時不同動作Q(s,a)的值。因此,隨著獨立動作數(shù)目的增長,DQN的網(wǎng)絡結構復雜度以指數(shù)速度增長,從而使算法不可實現(xiàn)。同時輸出層過多也會導致樣本利用率降低和網(wǎng)絡參數(shù)更新困難。這個現(xiàn)象被稱為DQN的“維度災難”問題。
在人群疏散引導的應用當中,智能體動作定義為引導標志的顯示狀態(tài)。即使每個引導標志只有向左和向右兩個狀態(tài),對于n個引導標志,總的動作空間容量也會達到2n之多,引發(fā)“維度災難”。本文針對此問題,提出組合動作空間的DQN方法(CA-DQN)。如圖3所示,對于相互獨立的動作維度,每個維度對應Q函數(shù)網(wǎng)絡輸出層一組節(jié)點,每組包含這個維度上的所有離散動作。這個改變可看作對每個動作維度d設置了各自的值函數(shù)Qd(s,a(d);θ),并且共用一套網(wǎng)絡參數(shù)。此時網(wǎng)絡輸出層節(jié)點數(shù)目是各個維度上離散動作數(shù)之和,隨獨立動作數(shù)目的增長速度從指數(shù)增長降為線性增長,例如n個引導標志所需輸出層節(jié)點為2n。
圖3 CA-DQN神經(jīng)網(wǎng)絡結構Fig.3 Network structure of CA-DQN
(3)
對于一個樣本et=(st,at,rt,st+1)定義每個維度上的TD誤差
(4)
結合研究者提出用當前Q網(wǎng)絡選擇t+1時間動作,以避免過高估計的DDQN算法[31],TD誤差進一步定義為
(5)
則從經(jīng)驗池中采樣所得一組樣本B={e1,…,et},神經(jīng)網(wǎng)絡的損失函數(shù)定義為平方誤差損失的算術平均值
(6)
神經(jīng)網(wǎng)絡按式(6)定義的損失函數(shù)用誤差反向傳播算法進行訓練。此時,對于每個樣本,動作的每個維度都有一個輸出層節(jié)點被選擇并參與TD誤差的計算和網(wǎng)絡誤差的反向傳播,則共有D個輸出層節(jié)點可以得到更新。相比DQN中每個樣本只能更新一個輸出層節(jié)點,CA-DQN方法提高了樣本的利用效率。
DQN以隨機方式從經(jīng)驗池中采樣,不考慮樣本差異,樣本利用效率較低。采用優(yōu)先經(jīng)驗回放方法[32],用式(2)定義的樣本TD誤差,將樣本采樣優(yōu)先級定義為pt=(|δt|+ε)α,其中ε和α為常數(shù)。TD誤差絕對值越大的樣本意味著所包含的有效信息越多,對其賦予更高采樣優(yōu)先級,可提高樣本利用率和訓練效率。
(7)
樣本優(yōu)先級定義為平均值可能使樣本重要性被其他動作維度稀釋,但有助于保持訓練過程的穩(wěn)定性。
結合以上優(yōu)先經(jīng)驗回放方法,CA-DQN的訓練過程如下:
算法1:智能體訓練過程
輸入:仿真環(huán)境 env
輸出:神經(jīng)網(wǎng)絡參數(shù)θ*
1隨機初始化神經(jīng)網(wǎng)絡參數(shù)θ,θ-
2初始化經(jīng)驗池 pool
3whilesteps 4state,reward,terminate ← env.RandomInit()//隨機初始化仿真環(huán)境 5whilenot terminatethen 6action ← AgentPolicy(state,θ)//按式(3)選擇動作 7state_new,reward,terminate ← env.Step(action) 8td_error ← CalcTDError(state,action,reward,state_new,θ,θ-)//按式(5)計算TD誤差 9priority ← CalcPriority(td_error)//按式(7)計算樣本優(yōu)先級 10pool.Append(state,action,reward,state_new,priority) 11state ← state_new 12steps ← steps + 1 13s,a,r,s' ← pool.RandomSample(batch_size)//按優(yōu)先級隨機采樣 14td_error ← CalcTDError(s,a,r,s',θ,θ-)//按式(5)計算TD誤差 15loss ← CalcLoss(td_error)//按式(6)計算損失函數(shù) 16θ← BackPropagation(θ,loss)//更新網(wǎng)絡參數(shù) 17每隔一定步數(shù)θ-←θ 18end 19每隔一定周期數(shù)計算平均周期回報,若性能提升θ*←θ 20end 本文采用基于社會力模型的人群動力學仿真系統(tǒng)[5]作為智能體交互環(huán)境,構造了典型的多房間、雙出口室內場景,以下稱為“場景1”。多層建筑場景可通過拼接各層平面圖輸入疏散引導系統(tǒng),本文為直觀起見,采用單層仿真場景。仿真系統(tǒng)計算每個個體的運動狀態(tài),并加入個體心理因素對運動造成的影響。仿真系統(tǒng)基于C++語言和Qt庫編寫。 如圖4所示,仿真場景大小為29.2 m×19.7 m,平面圖像素為499×337,場景內包含左右2個出口和6個房間,上下2個通道連接房間和出口,每個通道設置5個動態(tài)引導標志,標志可顯示相對兩個方向之一。人群數(shù)量為200人,初始位置以圓形范圍隨機分布,分布中心和半徑取值范圍為x∈(100,140),y∈(60,280),r∈(100,200)。場景圖像中,藍色直線表示墻壁,綠色矩形表示出口位置,綠色箭頭表示動態(tài)引導標志,每個標志有相反兩個方向的顯示狀態(tài),藍色圓點表示逃生者個體,灰色部分為不可到達區(qū)域。個體最大運動速度為5 m/s。仿真?zhèn)€體在沒有看到疏散引導標志時,選擇距離最近的出口,按照靜態(tài)最短路線逃生,看到疏散引導標志時,按照引導標志指示的方向逃生。仿真系統(tǒng)動力學計算的每個時間步為40 ms,仿真時間上限為100 s。 圖4 仿真場景1Fig.4 Simulation scene 1 同時,本文也采用原交互環(huán)境中基于實際建筑平面圖的仿真場景[5]進行實驗,如圖5所示,以下稱為“場景2”。場景圖像中符號含義與場景1相同。場景大小為47.0 m×28.8 m,圖像像素為805×494,人群數(shù)量為200人,分布中心和半徑取值范圍為x∈(100,700),y∈(60,440),r∈(300,500),場景內共有2個出口和6個動態(tài)引導標志。不同仿真場景的強化學習智能體由于輸入輸出定義不同,疏散策略不同,需要分別進行訓練。 圖5 仿真場景2Fig.5 Simulation scene 2 CA-DQN方法基于Python語言、TensorFlow平臺和OpenAI/baseline庫實現(xiàn)。實現(xiàn)過程與超參數(shù)的選擇參考了baseline庫中用于Atari視頻游戲的DQN方法,并針對本文方法進行適當調整。強化學習智能體的每個時間步中,首先由仿真系統(tǒng)進行5步計算,即仿真200 ms內人群的運動狀態(tài),將獲得的最后4幀圖像下采樣為1/2大小的灰度圖,以場景1為例,組合成像素為249×168的4通道圖像,作為智能體的狀態(tài)st輸入值函數(shù)Q網(wǎng)絡。Q網(wǎng)絡結構如圖3所示,由三層卷積神經(jīng)網(wǎng)絡和三層全連接神經(jīng)網(wǎng)絡組成。第一層由32組8×8卷積核組成,輸入為249×168×4的三維張量,第二層由64組4×4卷積核組成,第三層由64組3×3卷積核組成。卷積神經(jīng)網(wǎng)絡的激活函數(shù)為ReLU。三層全連接層神經(jīng)元數(shù)目分別為128、64、32,激活函數(shù)為ReLU。輸出層激活函數(shù)為恒等函數(shù),20個神經(jīng)元分為10組,每組2個中取輸出值較大的作為一個動態(tài)引導標志的顯示信號,共同組成10維離散輸出向量作為智能體動作at。at作用于仿真系統(tǒng),改變10個引導標志顯示的方向,從而指引人群運動方向,此時智能體與仿真環(huán)境的交互完成一個循環(huán)。智能體每步的獎勵固定為-1,即每秒獲得-5的獎勵,智能體訓練目標為減少總體疏散時間。 訓練超參數(shù)中,批量大小為64,學習率為10-5,總時間步為107,經(jīng)驗池樣本容量為105,每2×104步將當前Q網(wǎng)絡參數(shù)復制到目標Q網(wǎng)絡。實驗硬件平臺為AMD Threadripper 2990WX CPU、NVIDIA RTX 2080Ti GPU、128 GB內存。 由于原DQN方法用于本文實驗時,以場景1為例,需設置210=1 024個輸出層節(jié)點,相比CA-DQN的20個節(jié)點,DQN網(wǎng)絡規(guī)模過大,在現(xiàn)有條件下難以實現(xiàn)。因此本文選擇基于靜態(tài)引導標志的方法和基于拓撲圖建模和動態(tài)Dijkstra最短路方法的疏散引導算法[5]作為對比。靜態(tài)引導標志方法中,用自動或人工的最短路方法計算,每個標志指向距離最近的出口,每個場景僅計算一次,不考慮人群實時分布,模擬過程中標志不發(fā)生變化。動態(tài)Dijkstra最短路方法需要專家人員根據(jù)地圖內通道結構人工建立拓撲圖模型,并且設置多個虛擬攝像頭節(jié)點,統(tǒng)計通道不同位置的人群密度,實時調整拓撲圖各邊權值,用Dijkstra算法進行路徑規(guī)劃,實現(xiàn)人群的有效疏散。實驗結果中,每1 s疏散時間對應-5的周期獎勵。 由圖6的訓練曲線看出,對于場景1,智能體在約3×104個訓練周期后達到最優(yōu)策略,此時智能體與仿真環(huán)境交互次數(shù)約為6.4×106個時間步。圖7中,對于場景2,智能體在約4.5×104個訓練周期后達到最優(yōu)策略。如表1所示,對不同疏散方法使用新的隨機人群分布參數(shù)進行100個周期的疏散仿真,場景1中智能體訓練所得最優(yōu)策略的平均周期獎勵為-158.25,即平均疏散時間為31.65 s,優(yōu)于使用靜態(tài)引導標志的41.35 s和動態(tài)Dijkstra最短路方法的32.18 s。場景2中智能體訓練所得最優(yōu)策略平均疏散時間為27.33 s,優(yōu)于靜態(tài)引導標志和動態(tài)最短路方法。說明本文基于CA-DQN的智能疏散引導智能體可以有效引導人群疏散。 圖6 場景1智能體訓練曲線Fig.6 Training curve of agent in scene 1 圖7 場景2智能體訓練曲線Fig.7 Training curve of agent in scene 2 表1 不同方法疏散時間Tab.1 Evacuation time under different methods s 圖8展示了場景1中一個典型的疏散過程(圖中符號含義請參考3.1節(jié)):圖8(a)是人群的初始分布,人群主要分布于左側4個房間,若沒有動態(tài)指引,人群按到出口距離最短的靜態(tài)標志疏散策略,將造成左側出口擁堵,右側出口得不到有效利用。在圖8(b)到圖8(d)時刻,智能體感知到人群分布,將左上方房間人群引向左側出口,其余人群引向右側出口。圖8(e)時刻,左側出口擁堵已得到緩解,右側出口預期撤離人數(shù)較多,因此智能體將左下區(qū)域剩余人群引向左側出口。最終在圖8(f)時刻,人群基本同時從兩側出口完成疏散,表明人群疏散引導智能體實現(xiàn)了人群疏散效率的最大化。 圖8 場景1一個周期的疏散過程Fig.8 Typical evacuation process in scene 1 類似地,圖9展示了場景2中典型的一個疏散過程。圖9(a)中,人群初始化分布主要集中在場景上方。圖9(b)時刻,智能體感知人群分布,將左上方房間以外的大部分區(qū)域人群向右下方出口誘導。圖9(c)到圖9(d)時刻,一部分人群有效地轉移至右側通道,避免了左上方出口進一步擁堵。最終,在圖9(e)到圖9(f)時刻,人群基本同時從兩個出口完成疏散,說明智能體的引導實現(xiàn)了人群疏散效率最大化。 圖9 場景2一個周期的疏散過程Fig.9 Typical evacuation process in scene 2 改變仿真場景初始化人數(shù),分別進行100個周期的疏散仿真,不同方法的疏散效果對比見圖10。場景1中,在人數(shù)較少時,各個通道都能保持通暢,靜態(tài)引導方法效果較好。人群數(shù)量增加時,靜態(tài)引導方法受影響較大,CA-DQN和動態(tài)最短路方法可以避免人群擁堵。人群數(shù)量增加到80人以上時,兩種動態(tài)方法疏散效果優(yōu)于靜態(tài)方法,其中本文CA-DQN方法實現(xiàn)了最優(yōu)疏散引導效率。場景2的實驗也顯示出類似結果,由圖11看出,本文方法在不同人群數(shù)量下均能取得較好效果。 圖10 場景1中不同人數(shù)的周期獎勵Fig.10 Period reward with varying number of persons in scene 1 圖11 場景2中不同人數(shù)的周期獎勵Fig.11 Period reward with varying number of persons in scene 2 實驗結果顯示,相比靜態(tài)標志不能感知人群分布信息,本文基于CA-DQN的強化學習人群疏散引導方法能動態(tài)地調整引導標志的顯示信號,有效提高人群疏散效率。與基于拓撲圖建模的動態(tài)Dijkstra最短路方法相比,本文方法取得了更好的疏散引導效率,同時避免人工構造拓撲圖的工作量和潛在的人工誤差。 本文分析了使用動態(tài)引導標志的人群疏散引導問題,針對現(xiàn)有方法需要人工設計拓撲圖模型或網(wǎng)格模型,配合獨立的路徑規(guī)劃算法,導致人工工作量大、容易引入人為誤差等不足之處,提出了基于組合動作空間深度強化學習的人群疏散引導方法。通過端對端的深度學習,由智能體在訓練過程中自行探索學習建筑結構和路徑規(guī)劃方法,通過環(huán)境反饋自動修正認知誤差,從而找到最優(yōu)的疏散引導策略。 針對深度強化學習中典型的DQN方法應用于人群疏散問題時因輸出的動態(tài)引導標志數(shù)量較多而出現(xiàn)的“維度災難”問題,本文提出CA-DQN網(wǎng)絡結構,將關于輸出動作維度的網(wǎng)絡結構復雜度從指數(shù)級增長降低為線性增長,提高了強化學習方法在復雜場景和大規(guī)模人群疏散問題中的可用性。在基于社會力模型的人群動力學仿真系統(tǒng)中的實驗表明,本文方法相對靜態(tài)引導標志有效提升了人群疏散效率,減少疏散時間,達到與基于人工建模的動態(tài)最短路方法相同水平。 未來工作將進一步提升強化學習智能體在復雜場景中的訓練效率,對輸出信號變更頻率等加以更多限制,使其在真實場景中更易理解。3 實驗與分析
3.1 實驗設計與實現(xiàn)
3.2 實驗結果與分析
4 結 論