徐煒鵬 黃宏成 解仁浩
(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院 上海 200240)
隨著自動(dòng)駕駛研究的不斷發(fā)展,利用仿真平臺(tái)開發(fā)驗(yàn)證自動(dòng)駕駛算法,已經(jīng)成為大多數(shù)企業(yè)研發(fā)自動(dòng)駕駛系統(tǒng)不可或缺的一部分。而得益于深度學(xué)習(xí)模型的強(qiáng)大性能,深度學(xué)習(xí)也越來(lái)越多和自動(dòng)駕駛的相關(guān)任務(wù)相結(jié)合,比如利用深度學(xué)習(xí)去進(jìn)行目標(biāo)檢測(cè)、跟蹤,進(jìn)行道路可行駛區(qū)域的語(yǔ)義分割等等。但這些強(qiáng)大、復(fù)雜的深度學(xué)習(xí)模型要想真正在自動(dòng)駕駛領(lǐng)域落地還存在巨大的挑戰(zhàn)。阻礙深度學(xué)習(xí)落地的問(wèn)題主要有兩個(gè),一個(gè)是成本,導(dǎo)致了計(jì)算資源的限制,深度學(xué)習(xí)模型往往很復(fù)雜,參數(shù)很多,在進(jìn)行訓(xùn)練或推理時(shí)需要大量的計(jì)算資源。另一個(gè)原因是深度神經(jīng)網(wǎng)絡(luò)的脆弱性[1],神經(jīng)網(wǎng)絡(luò)容易受到攻擊是一個(gè)普遍的現(xiàn)象,比如在圖像領(lǐng)域里,當(dāng)給神經(jīng)網(wǎng)絡(luò)輸入的圖片增加一個(gè)人為的微小擾動(dòng),模型在增加擾動(dòng)前后的預(yù)測(cè)結(jié)果卻可能截然不同,因此模型的安全性難以得到保證。針對(duì)上述的第一個(gè)問(wèn)題,為了減少大模型占用的高額存儲(chǔ)空間以及消耗的計(jì)算資源,模型壓縮[2]是現(xiàn)在學(xué)術(shù)界和工業(yè)界的一個(gè)研究熱點(diǎn)。上述的第二個(gè)問(wèn)題截止目前還是一個(gè)開放性的問(wèn)題,這幾年不斷有研究人員提出新的攻擊方法和防御方法。
本文主要是針對(duì)自動(dòng)駕駛中常見(jiàn)的目標(biāo)檢測(cè)任務(wù),從模型壓縮和對(duì)抗魯棒性的角度去優(yōu)化目標(biāo)檢測(cè)器,并將優(yōu)化后的模型在開源的自動(dòng)駕駛仿真平臺(tái)Carla[3]上進(jìn)行驗(yàn)證。
在問(wèn)題建模上,本文部分借鑒了文獻(xiàn)[4]的方法,區(qū)別在于本文是針對(duì)目標(biāo)檢測(cè)任務(wù)進(jìn)行聯(lián)合優(yōu)化,另外本文是通過(guò)正則歸一化層的尺度因子實(shí)現(xiàn)模型的稀疏化訓(xùn)練,這也是和文獻(xiàn)[4]不同的地方。最終我們將獲取速度-對(duì)抗魯棒性權(quán)衡的目標(biāo)檢測(cè)器問(wèn)題抽象為這樣一個(gè)優(yōu)化問(wèn)題。
(1)
L(fθ(x),{yi,bi})=losscls(fθ(x),yi)+
λ·lossloc(fθ(x),bi)
(2)
其中f表示目標(biāo)檢測(cè)器,θ為模型的全部參數(shù),θs為進(jìn)行稀疏化訓(xùn)練的那部分參數(shù),θs為θ的子集,L是目標(biāo)檢測(cè)器的損失函數(shù),x是無(wú)擾動(dòng)的干凈圖片,δ是對(duì)抗擾動(dòng),yi是真實(shí)標(biāo)簽的類別,bi是真實(shí)標(biāo)簽的位置信息,‖θs‖0表示參數(shù)非零個(gè)數(shù),losscls為分類的損失,lossloc為定位的損失,λ為定位任務(wù)的權(quán)重。

把上述優(yōu)化函數(shù)表示為增廣拉格朗日函數(shù),如下所示。
G(θ,z,u)=Ladv+g(z)+ρ〈u,θs-z〉+
(3)
其中g(shù)(z)為一個(gè)指示函數(shù)。
(4)
我們的目標(biāo)是最小化上述的增廣拉格朗日函數(shù),這是我們的優(yōu)化問(wèn)題,使用交替方向乘子法(ADMM)[5]將原問(wèn)題分解為2個(gè)子問(wèn)題。
(5)
(6)
(7)
第一個(gè)子問(wèn)題:
(8)
采用隨機(jī)梯度下降來(lái)解決第一個(gè)子問(wèn)題,因?yàn)長(zhǎng)adv是非凸的,所以這是一個(gè)非凸優(yōu)化問(wèn)題,我們沒(méi)辦法保證獲得全局最優(yōu)解,但是合理選擇ρ的取值,ADMM可以使第一個(gè)子問(wèn)題獲得一個(gè)還不錯(cuò)的局部最優(yōu)解。
第二個(gè)子問(wèn)題:
(9)
最終,我們利用交替方向乘子法迭代地求解兩個(gè)子問(wèn)題來(lái)獲取速度-對(duì)抗魯棒性權(quán)衡的目標(biāo)檢測(cè)器。
為了驗(yàn)證針對(duì)目標(biāo)檢測(cè)器提出的聯(lián)合優(yōu)化算法,并將優(yōu)化后的模型在開源的自動(dòng)駕駛仿真平臺(tái)Carla上進(jìn)行驗(yàn)證。將進(jìn)行如下的實(shí)驗(yàn),先是在開源數(shù)據(jù)集開發(fā)驗(yàn)證聯(lián)合優(yōu)化算法,再在Carla平臺(tái)中驗(yàn)證優(yōu)化好的目標(biāo)檢測(cè)模型。
為了開發(fā)、研究、驗(yàn)證我們針對(duì)速度-對(duì)抗魯棒性平衡的目標(biāo)檢測(cè)器的聯(lián)合優(yōu)化算法,我們采用經(jīng)典的一階段目標(biāo)檢測(cè)器Yolov3[6]作為基礎(chǔ)模型進(jìn)行后續(xù)的實(shí)驗(yàn)。Yolov3是一個(gè)兼顧檢測(cè)精度和實(shí)時(shí)性的一階段目標(biāo)檢測(cè)網(wǎng)絡(luò),在一塊Pascal Titan X能達(dá)到30幀每秒的速度,在COCO[7]test-dev能達(dá)到57.9%的mAP。YOLOv3的基礎(chǔ)網(wǎng)絡(luò)用的是darknet-53,分類精度和resnet-152[8]相當(dāng),速度比其快2倍左右。相比YOLOv1[9]和YOLOv2[10], YOLOv3采用了類似特征金字塔的多尺度預(yù)測(cè),對(duì)小物體的檢測(cè)效果明顯提升。本文選取它作為實(shí)驗(yàn)的基礎(chǔ)網(wǎng)絡(luò)架構(gòu),來(lái)開發(fā)、驗(yàn)證我們針對(duì)模型壓縮和對(duì)抗魯棒性的聯(lián)合優(yōu)化算法。
在開源數(shù)據(jù)集Oxford Hand[11]進(jìn)行聯(lián)合優(yōu)化算法的開發(fā)。
Oxford Hand是牛津大學(xué)開源的一個(gè)手部檢測(cè)數(shù)據(jù)集,這是一個(gè)比較小型的數(shù)據(jù)集,適合用來(lái)開發(fā)、研究、驗(yàn)證算法。數(shù)據(jù)集包括訓(xùn)練集、驗(yàn)證集和測(cè)試集三部分,其中訓(xùn)練集有4,069張圖片,包含9,163個(gè)手部實(shí)例;驗(yàn)證集有738張圖片,包含1,856個(gè)手部實(shí)例;測(cè)試集有821張圖片,包含2,031個(gè)手部實(shí)例。
3.1.1 超參數(shù)設(shè)置
所有的訓(xùn)練都是使用帶有動(dòng)量的隨機(jī)梯度下降,初始學(xué)習(xí)率設(shè)置為0.001,動(dòng)量系數(shù)設(shè)置為0.9,權(quán)重衰減設(shè)置為0.0005,batch size設(shè)置為32。測(cè)試集對(duì)抗攻擊使用PGD[12]的變種形式,對(duì)抗設(shè)置為擾動(dòng)步長(zhǎng)0.01的迭代攻擊,訓(xùn)練時(shí)每個(gè)Epoch后再驗(yàn)證集上進(jìn)行性能檢驗(yàn),為了節(jié)約計(jì)算資源,驗(yàn)證集對(duì)抗攻擊使用擾動(dòng)步長(zhǎng)為0.03的單步攻擊。
3.1.2 對(duì)抗稀疏化訓(xùn)練
本文通過(guò)一系列的對(duì)比實(shí)驗(yàn)來(lái)選取聯(lián)合優(yōu)化算法中訓(xùn)練時(shí)對(duì)抗攻擊的擾動(dòng)步長(zhǎng)、稀疏因子的稀疏化策略和訓(xùn)練的損失函數(shù)。確定好參數(shù)后,最終的訓(xùn)練結(jié)果如圖1-圖4所示。

圖1 訓(xùn)練集對(duì)抗樣本損失的變化曲線

圖2 驗(yàn)證集上的mAP變化曲線

圖3 驗(yàn)證集上的mAP_adv變化曲線

圖4 模型0.5壓縮率閾值的變化曲線
從圖中可以看到訓(xùn)練過(guò)程對(duì)抗樣本損失基本上是比較平穩(wěn)的下降的,解決了訓(xùn)練不穩(wěn)定的問(wèn)題。驗(yàn)證集上的mAP和mAP_adv在第一階段雖然存在些許震蕩現(xiàn)象,但是通過(guò)第二階段的退火策略可以使最終的結(jié)果穩(wěn)定下來(lái)。
最終通過(guò)使用交替方向乘子法實(shí)現(xiàn)了速度和對(duì)抗魯棒性平衡的目標(biāo)檢測(cè)器,最好的模型在測(cè)試集上對(duì)于攻擊得到的對(duì)抗樣本mAP_adv為0.371,對(duì)于干凈樣本mAP為0.761,推理時(shí)間相比壓縮前提升18.62%,模型參數(shù)減少62.61%。
在Carla平臺(tái)中進(jìn)一步驗(yàn)證聯(lián)合優(yōu)化算法,超參數(shù)設(shè)置和在Oxford Hand數(shù)據(jù)集通過(guò)對(duì)比實(shí)驗(yàn)得到的超參數(shù)設(shè)置一致。由于Carla平臺(tái)中數(shù)據(jù)集沒(méi)有標(biāo)簽,我們?cè)赑ascal Voc訓(xùn)練集上進(jìn)行訓(xùn)練,然后給出在Carla平臺(tái)中的樣本檢測(cè)結(jié)果。
優(yōu)化前的目標(biāo)檢測(cè)器檢測(cè)對(duì)抗樣本結(jié)果如圖5所示,聯(lián)合優(yōu)化后的目標(biāo)檢測(cè)器檢測(cè)對(duì)抗樣本結(jié)果如圖6所示。此時(shí)可以正常檢測(cè)出車輛的位置,說(shuō)明聯(lián)合優(yōu)化后的檢測(cè)器是有效的。

圖5 優(yōu)化前

圖6 優(yōu)化后
本文針對(duì)自動(dòng)駕駛中常見(jiàn)的目標(biāo)檢測(cè)任務(wù),從模型壓縮和對(duì)抗魯棒性的角度對(duì)目標(biāo)檢測(cè)模型進(jìn)行聯(lián)合優(yōu)化。通過(guò)使用交替方向乘子法在牛津大學(xué)開源的手部檢測(cè)數(shù)據(jù)集對(duì)Yolov3進(jìn)行了優(yōu)化,實(shí)現(xiàn)了速度和對(duì)抗魯棒性平衡的目標(biāo)檢測(cè)器。最好的模型在測(cè)試集上對(duì)于攻擊得到的對(duì)抗樣本mAP_adv為0.371,對(duì)于干凈樣本mAP為0.761,推理時(shí)間相比壓縮前提升18.62%,模型參數(shù)減少62.61%。通過(guò)在Oxford Hand進(jìn)行對(duì)比試驗(yàn)確定的聯(lián)合優(yōu)化參數(shù),在開源的自動(dòng)駕駛仿真平臺(tái)Carla進(jìn)一步驗(yàn)證了聯(lián)合優(yōu)化算法的有效性。這有助于將優(yōu)化后的模型直接整合進(jìn)自動(dòng)駕駛仿真工具鏈中,加速自動(dòng)駕駛算法在仿真平臺(tái)上的開發(fā)與驗(yàn)證。