徐煒鵬 黃宏成 解仁浩
(上海交通大學(xué)機(jī)械與動力工程學(xué)院 上海 200240)
隨著自動駕駛研究的不斷發(fā)展,利用仿真平臺開發(fā)驗證自動駕駛算法,已經(jīng)成為大多數(shù)企業(yè)研發(fā)自動駕駛系統(tǒng)不可或缺的一部分。而得益于深度學(xué)習(xí)模型的強(qiáng)大性能,深度學(xué)習(xí)也越來越多和自動駕駛的相關(guān)任務(wù)相結(jié)合,比如利用深度學(xué)習(xí)去進(jìn)行目標(biāo)檢測、跟蹤,進(jìn)行道路可行駛區(qū)域的語義分割等等。但這些強(qiáng)大、復(fù)雜的深度學(xué)習(xí)模型要想真正在自動駕駛領(lǐng)域落地還存在巨大的挑戰(zhàn)。阻礙深度學(xué)習(xí)落地的問題主要有兩個,一個是成本,導(dǎo)致了計算資源的限制,深度學(xué)習(xí)模型往往很復(fù)雜,參數(shù)很多,在進(jìn)行訓(xùn)練或推理時需要大量的計算資源。另一個原因是深度神經(jīng)網(wǎng)絡(luò)的脆弱性[1],神經(jīng)網(wǎng)絡(luò)容易受到攻擊是一個普遍的現(xiàn)象,比如在圖像領(lǐng)域里,當(dāng)給神經(jīng)網(wǎng)絡(luò)輸入的圖片增加一個人為的微小擾動,模型在增加擾動前后的預(yù)測結(jié)果卻可能截然不同,因此模型的安全性難以得到保證。針對上述的第一個問題,為了減少大模型占用的高額存儲空間以及消耗的計算資源,模型壓縮[2]是現(xiàn)在學(xué)術(shù)界和工業(yè)界的一個研究熱點(diǎn)。上述的第二個問題截止目前還是一個開放性的問題,這幾年不斷有研究人員提出新的攻擊方法和防御方法。
本文主要是針對自動駕駛中常見的目標(biāo)檢測任務(wù),從模型壓縮和對抗魯棒性的角度去優(yōu)化目標(biāo)檢測器,并將優(yōu)化后的模型在開源的自動駕駛仿真平臺Carla[3]上進(jìn)行驗證。
在問題建模上,本文部分借鑒了文獻(xiàn)[4]的方法,區(qū)別在于本文是針對目標(biāo)檢測任務(wù)進(jìn)行聯(lián)合優(yōu)化,另外本文是通過正則歸一化層的尺度因子實現(xiàn)模型的稀疏化訓(xùn)練,這也是和文獻(xiàn)[4]不同的地方。最終我們將獲取速度-對抗魯棒性權(quán)衡的目標(biāo)檢測器問題抽象為這樣一個優(yōu)化問題。
(1)
L(fθ(x),{yi,bi})=losscls(fθ(x),yi)+
λ·lossloc(fθ(x),bi)
(2)
其中f表示目標(biāo)檢測器,θ為模型的全部參數(shù),θs為進(jìn)行稀疏化訓(xùn)練的那部分參數(shù),θs為θ的子集,L是目標(biāo)檢測器的損失函數(shù),x是無擾動的干凈圖片,δ是對抗擾動,yi是真實標(biāo)簽的類別,bi是真實標(biāo)簽的位置信息,‖θs‖0表示參數(shù)非零個數(shù),losscls為分類的損失,lossloc為定位的損失,λ為定位任務(wù)的權(quán)重。
把上述優(yōu)化函數(shù)表示為增廣拉格朗日函數(shù),如下所示。
G(θ,z,u)=Ladv+g(z)+ρ〈u,θs-z〉+
(3)
其中g(shù)(z)為一個指示函數(shù)。
(4)
我們的目標(biāo)是最小化上述的增廣拉格朗日函數(shù),這是我們的優(yōu)化問題,使用交替方向乘子法(ADMM)[5]將原問題分解為2個子問題。
(5)
(6)
(7)
第一個子問題:
(8)
采用隨機(jī)梯度下降來解決第一個子問題,因為Ladv是非凸的,所以這是一個非凸優(yōu)化問題,我們沒辦法保證獲得全局最優(yōu)解,但是合理選擇ρ的取值,ADMM可以使第一個子問題獲得一個還不錯的局部最優(yōu)解。
第二個子問題:
(9)
最終,我們利用交替方向乘子法迭代地求解兩個子問題來獲取速度-對抗魯棒性權(quán)衡的目標(biāo)檢測器。
為了驗證針對目標(biāo)檢測器提出的聯(lián)合優(yōu)化算法,并將優(yōu)化后的模型在開源的自動駕駛仿真平臺Carla上進(jìn)行驗證。將進(jìn)行如下的實驗,先是在開源數(shù)據(jù)集開發(fā)驗證聯(lián)合優(yōu)化算法,再在Carla平臺中驗證優(yōu)化好的目標(biāo)檢測模型。
為了開發(fā)、研究、驗證我們針對速度-對抗魯棒性平衡的目標(biāo)檢測器的聯(lián)合優(yōu)化算法,我們采用經(jīng)典的一階段目標(biāo)檢測器Yolov3[6]作為基礎(chǔ)模型進(jìn)行后續(xù)的實驗。Yolov3是一個兼顧檢測精度和實時性的一階段目標(biāo)檢測網(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ù)測,對小物體的檢測效果明顯提升。本文選取它作為實驗的基礎(chǔ)網(wǎng)絡(luò)架構(gòu),來開發(fā)、驗證我們針對模型壓縮和對抗魯棒性的聯(lián)合優(yōu)化算法。
在開源數(shù)據(jù)集Oxford Hand[11]進(jìn)行聯(lián)合優(yōu)化算法的開發(fā)。
Oxford Hand是牛津大學(xué)開源的一個手部檢測數(shù)據(jù)集,這是一個比較小型的數(shù)據(jù)集,適合用來開發(fā)、研究、驗證算法。數(shù)據(jù)集包括訓(xùn)練集、驗證集和測試集三部分,其中訓(xùn)練集有4,069張圖片,包含9,163個手部實例;驗證集有738張圖片,包含1,856個手部實例;測試集有821張圖片,包含2,031個手部實例。
3.1.1 超參數(shù)設(shè)置
所有的訓(xùn)練都是使用帶有動量的隨機(jī)梯度下降,初始學(xué)習(xí)率設(shè)置為0.001,動量系數(shù)設(shè)置為0.9,權(quán)重衰減設(shè)置為0.0005,batch size設(shè)置為32。測試集對抗攻擊使用PGD[12]的變種形式,對抗設(shè)置為擾動步長0.01的迭代攻擊,訓(xùn)練時每個Epoch后再驗證集上進(jìn)行性能檢驗,為了節(jié)約計算資源,驗證集對抗攻擊使用擾動步長為0.03的單步攻擊。
3.1.2 對抗稀疏化訓(xùn)練
本文通過一系列的對比實驗來選取聯(lián)合優(yōu)化算法中訓(xùn)練時對抗攻擊的擾動步長、稀疏因子的稀疏化策略和訓(xùn)練的損失函數(shù)。確定好參數(shù)后,最終的訓(xùn)練結(jié)果如圖1-圖4所示。
圖1 訓(xùn)練集對抗樣本損失的變化曲線
圖2 驗證集上的mAP變化曲線
圖3 驗證集上的mAP_adv變化曲線
圖4 模型0.5壓縮率閾值的變化曲線
從圖中可以看到訓(xùn)練過程對抗樣本損失基本上是比較平穩(wěn)的下降的,解決了訓(xùn)練不穩(wěn)定的問題。驗證集上的mAP和mAP_adv在第一階段雖然存在些許震蕩現(xiàn)象,但是通過第二階段的退火策略可以使最終的結(jié)果穩(wěn)定下來。
最終通過使用交替方向乘子法實現(xiàn)了速度和對抗魯棒性平衡的目標(biāo)檢測器,最好的模型在測試集上對于攻擊得到的對抗樣本mAP_adv為0.371,對于干凈樣本mAP為0.761,推理時間相比壓縮前提升18.62%,模型參數(shù)減少62.61%。
在Carla平臺中進(jìn)一步驗證聯(lián)合優(yōu)化算法,超參數(shù)設(shè)置和在Oxford Hand數(shù)據(jù)集通過對比實驗得到的超參數(shù)設(shè)置一致。由于Carla平臺中數(shù)據(jù)集沒有標(biāo)簽,我們在Pascal Voc訓(xùn)練集上進(jìn)行訓(xùn)練,然后給出在Carla平臺中的樣本檢測結(jié)果。
優(yōu)化前的目標(biāo)檢測器檢測對抗樣本結(jié)果如圖5所示,聯(lián)合優(yōu)化后的目標(biāo)檢測器檢測對抗樣本結(jié)果如圖6所示。此時可以正常檢測出車輛的位置,說明聯(lián)合優(yōu)化后的檢測器是有效的。
圖5 優(yōu)化前
圖6 優(yōu)化后
本文針對自動駕駛中常見的目標(biāo)檢測任務(wù),從模型壓縮和對抗魯棒性的角度對目標(biāo)檢測模型進(jìn)行聯(lián)合優(yōu)化。通過使用交替方向乘子法在牛津大學(xué)開源的手部檢測數(shù)據(jù)集對Yolov3進(jìn)行了優(yōu)化,實現(xiàn)了速度和對抗魯棒性平衡的目標(biāo)檢測器。最好的模型在測試集上對于攻擊得到的對抗樣本mAP_adv為0.371,對于干凈樣本mAP為0.761,推理時間相比壓縮前提升18.62%,模型參數(shù)減少62.61%。通過在Oxford Hand進(jìn)行對比試驗確定的聯(lián)合優(yōu)化參數(shù),在開源的自動駕駛仿真平臺Carla進(jìn)一步驗證了聯(lián)合優(yōu)化算法的有效性。這有助于將優(yōu)化后的模型直接整合進(jìn)自動駕駛仿真工具鏈中,加速自動駕駛算法在仿真平臺上的開發(fā)與驗證。