吳哲夫 張令威 劉光宇 劉光燦
(南京信息工程大學江蘇省大數(shù)據(jù)分析技術(shù)重點實驗室 江蘇 南京 210044)
近年來,隨著算法研究的深入和硬件的飛速發(fā)展,深度學習[1]在計算機視覺、自然語言處理、模式識別等諸多領(lǐng)域的應用愈加廣泛。隨著社會數(shù)據(jù)的體量不斷增大,我們能夠利用海量的歷史信息進行預測。視頻預測因其先天的數(shù)據(jù)量優(yōu)勢和無須人工標注的特點,逐漸成為深度學習的一個火熱領(lǐng)域。
視頻預測,即給定初始的若干幀圖像信息,要求深度網(wǎng)絡(luò)模型可以預測并輸出后若干幀的圖像信息。該技術(shù)多用于行為預測、氣象預測、自動駕駛等領(lǐng)域。預測任務的關(guān)鍵在于同時捕捉給定視頻的內(nèi)容和動態(tài)。將卷積神經(jīng)網(wǎng)絡(luò)(CNN)[2]與循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[3]結(jié)合,是近年來視頻預測的主流方法。Lotter等[4]提出了PredNet,將圖像預測誤差在網(wǎng)絡(luò)中前向傳遞,雖然學習視頻表征能力較強,但測試時存在誤差,因此只能實現(xiàn)單幀預測,預測時間短且不清晰;Kim等[5]將CNN嵌入RNN模塊中,提出了卷積LSTM,提高了預測時間長度,但無法保持細節(jié);Villegas等[6]利用卷積LSTM的優(yōu)勢提出了MCNet,將視頻預測任務分為預測內(nèi)容和預測動態(tài)信息兩個子任務,將子任務的輸出整合后進行編碼最后輸出預測視頻,其細節(jié)效果比卷積LSTM略優(yōu),但依然沒有解決復雜時空變化的預測問題。本文旨在解決視頻預測中的復雜變化的預測問題。
本文基于卷積LSTM,在經(jīng)典的卷積操作之前加入空間變換網(wǎng)絡(luò)[7]獲得位置參數(shù),用位置參數(shù)指導卷積位置,提高模型的精準度;提出多分支預測以解決氣象雷達圖預測的強降水預測問題。實驗表明,本文模型能夠更加高效地預測復雜動態(tài),并提高針對強降水的預測性能。
LSTM的內(nèi)部的計算為矩陣乘算,多用于處理時序數(shù)據(jù)如語音、語句,若直接將其用于圖像處理,其覆蓋整幅圖片的全連接操作計算代價過高,且全連接操作忽視了圖像的空間信息,因此無法保留空間特征。文獻[8]提出了卷積LSTM, 將CNN與長短時記憶網(wǎng)絡(luò)(LSTM)結(jié)合,使模型不僅具有時序建模能力,而且能刻畫局部空間特征。
ConvLSTM的結(jié)構(gòu)與FC-LSTM[9]相同,利用三個門限層來控制記憶的存取,內(nèi)部結(jié)構(gòu)如圖1所示,公式如下:
it=σ(Wxi*xt+Whi*Ht-1+Wci°Ct-1+bi)
(1)
ft=σ(Wxf*xt+Whf*Ht-1+Wcf°Ct-1+bf)
(2)
Ct=ft°Ct-1+it°tanh(Wxc*xt+Whc*Ht-1+bc)
(3)
ot=σ(Wxo*xt+Who*Ht-1+Wco°Ct+bo)
(4)
Ht=ot°tanh(Ct)
(5)
式中:σ代表激活函數(shù);W代表各個門限層的權(quán)重;xt代表當前時間步t的輸入圖像;bi代表輸入門對應的偏置;“*”表示卷積操作;“°”表示Hadamard乘積;X、C、H、i、f、o均為三維的張量,分別對應于圖像的通道、空間的行、列信息。ConvLSTM將傳統(tǒng)的FC-LSTM中“input-to-state”和“state-to-state”的前饋神經(jīng)網(wǎng)絡(luò)操作替換成卷積操作,不僅可以使網(wǎng)絡(luò)接收圖像輸入,而且能夠捕捉空間局部特征,更好地針對圖像進行時序預測。
圖1 卷積LSTM結(jié)構(gòu)
ConvLSTM有一些變體,如ConvGRU[10]等,多數(shù)變體通過改變門限層結(jié)構(gòu),使網(wǎng)絡(luò)適應不同任務需要。
在LSTM中加入卷積操作使其可以接受圖像級的輸入,但并沒有觸碰到視頻預測的痛點,單純地利用卷積操作并不能充分表征圖像序列的空間變換信息。卷積網(wǎng)絡(luò)對旋轉(zhuǎn)、縮放等變化的表征能力不強,不能滿足視頻預測的性能需求,普通的CNN由于池化層的加入使之具有一定的平移不變性,并通過數(shù)據(jù)增強使網(wǎng)絡(luò)能夠隱式地獲得一定的旋轉(zhuǎn)、縮放不變性。但文獻[11]提出,與其讓網(wǎng)絡(luò)隱式地學習到某種能力,不如為網(wǎng)絡(luò)設(shè)計一個顯式的處理模塊,專門處理以上的各種變換?;谝陨纤枷?,本文提出空間自適應卷積LSTM網(wǎng)絡(luò)模型。
本文網(wǎng)絡(luò)結(jié)構(gòu)(圖2)與經(jīng)典視頻預測網(wǎng)絡(luò)結(jié)構(gòu)相似,即編碼器-預測器的結(jié)構(gòu),網(wǎng)絡(luò)堆疊了三層隱藏層,即空間自適應卷積LSTM層,隱藏層之間插入降采樣層或上采樣層。本文中的采樣層為一次卷積操作,使網(wǎng)絡(luò)有針對性地分別對低級局部細節(jié)動態(tài)和高級全局動態(tài)信息進行表征。網(wǎng)絡(luò)輸出端置于網(wǎng)絡(luò)底層,因此高級時空特征能夠由上至下指導低級局部時空特征的校準與更新,并利用低層的狀態(tài)信息提升對細節(jié)的預測性能。
圖2 自編碼預測結(jié)構(gòu)
此外,可以根據(jù)預測對象優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu):在本文對氣象雷達回波圖進行預測時,會有針對性地訓練4個模型,4個模型的結(jié)構(gòu)完全相同,根據(jù)各個數(shù)據(jù)的降水類型決定每個數(shù)據(jù)的輸入分支。
2.2.1卷積操作的等價形式
在卷積LSTM中,卷積操作的對象是當前時間步的輸入和上一時間步的狀態(tài)變量,通過多層卷積操作提取輸入和狀態(tài)的空間特征,以決定在每個空間位置上的狀態(tài)變量和輸入信息的取舍。
卷積計算是將輸入圖片的目標位置及其周圍若干固定位置的像素信息映射到輸出圖像的對應位置。以3×3卷積操作為例,其實質(zhì)為輸入到輸出的映射,輸出的每個位置的像素值都與輸入的對應位置周圍的9個點有關(guān),分別找到所有目標位置對應輸入的位置后,再對同一位置的不同通道給予不同的權(quán)重后求和,最后將不同位置的加權(quán)結(jié)果求和,得到輸出(如圖3所示),計算過程如下:
(6)
式中:L代表輸出的每一點與輸入相關(guān)的連接數(shù),對應于傳統(tǒng)卷積操作的卷積核尺寸, 3×3卷積操作中L=9;pl,i,j和ql,i,j表示與輸出位置為(i,j)的第l個連接的位置參數(shù),本例中p1,i,j=i-1,q1,i,j=j-1,p2,i,j=i,q2,i,j=j-1,…,p9,i,j=i+1,q9,i,j=j+1。
圖3 普通3×3卷積
在面對復雜的時空變化時,當前時間步的某類信息所在的位置不一定與上一時間步狀態(tài)變量的對應類信息位置相同,用尺寸固定、參數(shù)固定的卷積核進行卷積操作難以進行精確的空間信息的取舍?;谶@一情況,本文提出不固定卷積核尺寸。改變“input-to-state”的卷積方式,令卷積操作中的每一個卷積空間位置都能夠隨時間自適應改變(見圖4),以提高模型對時空相關(guān)性的捕捉能力。
圖4 兩種卷積操作
2.2.2引入位置參數(shù)
本文受式(6)和空間變換網(wǎng)絡(luò)啟發(fā),引入空間自適應卷積操作。首先確定卷積連接數(shù)L,其含義與式(6)中的L相同,用位置參數(shù)Ut和Vt表示輸入中所有與輸出相關(guān)的位置,根據(jù)位置參數(shù)尋找對應位置的輸入。隨后將輸出圖像中的每個位置都與輸入圖像中若干個位置對應起來,用新的卷積公式實現(xiàn)自適應卷積,具體公式如下:
(7)
(8)
(9)
(10)
(11)
ht=ot°tanh(Ct)
(12)
式中:Ut,l和Vt,l分別表示第l個連接位置的橫、縱坐標;Wfh、Wih、Wch、Woh為各個門限層的權(quán)重,通過訓練學習獲得權(quán)重參數(shù),其尺寸為C×1×1,C為輸入圖像的通道數(shù),文中每個門限層的權(quán)重均有L個,故參數(shù)量為C×L(對應于傳統(tǒng)卷積核的尺寸C×W×H)。
本文的位置參數(shù)不能直接確定,需要通過深度網(wǎng)絡(luò)訓練獲得。位置參數(shù)(i,j)本身是離散的,無法通過反向傳播求導以學習位置參數(shù)。為使位置參數(shù)可導,本文引入雙線性插值法[12]。令輸出特征圖某一位置(i,j)對應到輸入特征圖的卷積位置為(u,v),若u、v為小數(shù),則利用雙線性插值法求得小數(shù)位置的像素值,再將該像素值作為自適應卷積的輸入。像素值的計算方法以warp函數(shù)表示,若Y=warp(X,U,V),則有:
max(o,1-|j+Ui,j-w|)
(13)
2.2.3位置參數(shù)的學習
為學習位置參數(shù),本文為網(wǎng)絡(luò)設(shè)計一個顯式的處理模塊,將當前時間步的輸入和上一時間步的隱狀態(tài)通道聯(lián)結(jié)后對其進行卷積操作,其結(jié)果的尺寸為(2×L)×w×h,公式如下:
Ut,Vt=γ(xt,ht-1)
(14)
式中:xt表示當前時間步的輸入,ht-1表示上一時間步的隱狀態(tài),兩者空間尺寸均為w×h;將xt與ht-1通道級聯(lián)后做一次普通卷積操作,以γ表示,該卷積的輸出尺寸為結(jié)果為(2×L)×w×h,將其沿通道維度拆分,獲得2個尺寸為L×w×h的張量,用Ut和Vt表示,其空間尺寸為w×h,通道數(shù)為L。
空間自適應卷積的輸出特征圖內(nèi)位置(i,j)的結(jié)果來源于輸入特征圖中位置(Vi,j,Ui,j)的權(quán)重求和,若相關(guān)連接數(shù)為L個,則第l個相關(guān)連接的位置為(Vl,i,j,Ul,i,j)。
進一步完善軍民融合發(fā)展的法規(guī)體系。從國家層面應盡快頒布“軍民融合促進法”,并結(jié)合已經(jīng)頒布的《中華人民共和國國防法》《中華人民共和國國防動員法》,制訂完善促進各動員領(lǐng)域軍民融合發(fā)展的專項法規(guī),加快“國防勤務法”“民用資源征用法”“國民經(jīng)濟動員法”“信息動員條例”“裝備動員條例”等立法進程,推進《中華人民共和國國防教育法》《中華人民共和國人民防空法》修訂工作;在企業(yè)法、金融法、基本建設(shè)法、交通法、投資法、物權(quán)法等法律法規(guī)中,補充民營企業(yè)參與國防建設(shè)、經(jīng)濟建設(shè)貫徹國防要求等條款,增強法律法規(guī)的執(zhí)行力和可操作性。
傳統(tǒng)的卷積LSTM中,直接將當前時間步的圖片或上層卷積RNN的輸出作為當前時間步的輸入。而本文空間自適應卷積LSTM結(jié)構(gòu)在輸入圖像之前,通過γ卷積操作獲得自適應卷積層的輸出與輸入之間的拓撲鏈接(即位置參數(shù)),利用拓撲鏈接對當前LSTM的輸入作空間變換,使其與隱狀態(tài)中的信息對齊,以此實現(xiàn)精準的記憶保存和圖像序列預測。
在進行普通視頻預測時,我們的損失函數(shù)采用L2損失函數(shù):
(15)
預測雷達降水回波圖時,為更精準預測高降水區(qū),本文為不同降水等級設(shè)定不同權(quán)重,根據(jù)權(quán)重比決定不同降水程度的誤差對損失的影響。本文將像素值在[0,30)區(qū)間的權(quán)重設(shè)定為0.3,像素值在[30,50)的權(quán)重設(shè)定為0.3,像素值在[50,80]的權(quán)重設(shè)定為0.4。在計算損失時,先根據(jù)GroundTruth判斷當前像素位置的損失權(quán)重,最后按照權(quán)重比計算損失:
(16)
(17)
3.1.1數(shù)據(jù)集
本文手寫體視頻實驗數(shù)據(jù)來源于MNIST手寫體數(shù)據(jù)集[13]。MNIST手寫數(shù)據(jù)集有60 000幅圖片,取其中50 000幅作為訓練素材,另10 000幅圖片作為測試素材。訓練集為50 000幅訓練集素材生成的80 000個長度為20幀的圖像序列;測試集為測試集素材生成的20 000個長度為20幀的圖像序列。由素材生成數(shù)據(jù)集的方式為:從0~9中隨機選取3個數(shù)字,再從MNIST素材中隨機選取對應的3幅數(shù)字圖片,設(shè)定好隨機旋轉(zhuǎn)角度范圍、平移速度、縮放尺寸倍率等超參數(shù),根據(jù)超參數(shù)結(jié)合幀生成算法生成20幀的手寫體視頻,其中前10幀作為輸入,后10幀作為GroundTruth。
3.1.2模型參數(shù)
3.1.3實驗結(jié)果及分析
量化評估如表1和表2所示,訓練迭代4個epoch,即訓練32萬次圖像序列。誤差計算方式為預測的10個圖像序列分別與測試集的后10幅正確圖片的MSE。
表1 預測結(jié)果的誤差對比
表2 MNIST視頻預測逐幀的結(jié)構(gòu)相似性評估
為分析預測序列的差異,本文額外計算結(jié)構(gòu)相似性(SSIM),由表2可知,在用PredNet進行多幀預測時,由于缺少GroundTruth來計算誤差,因此無法在預測時進行誤差前向傳播,具體表現(xiàn)為從預測的第二幀開始迅速模糊,最終的多幀預測效果很差。本文提出的空間自適應卷積LSTM相較于傳統(tǒng)的卷積LSTM和PredNet,預測結(jié)構(gòu)相似度以及長期預測的清晰度都有可觀的提升。
MNIST實驗效果如圖5-圖8所示,由于版面限制,使用泛用性最好的卷積LSTM對比。從上至下分別為Ground Truth、經(jīng)典的卷積LSTM預測序列、空間自適應卷積LSTM(L=9)預測序列,以及空間自適應卷積LSTM(L=17)預測序列(L代表自適應卷積的相關(guān)連接數(shù)),由左到右為從預測的序列中抽出的第2幀、第5幀、第10幀的實驗結(jié)果。可以看出,經(jīng)典的卷積LSTM處理較明顯的旋轉(zhuǎn)、縮放等復雜變換時,圖像開始變得模糊,而9鏈接和17鏈接的自適應卷積LSTM,都能很好地預測到旋轉(zhuǎn)縮放等復雜變換,且17鏈接能夠相對更好地保持清晰度,同時對動態(tài)變化預測得更加精準。推斷其原因是17鏈接的輸出到輸入的映射連接數(shù)更多,因此能夠在不過擬合的情況下用更多的參數(shù)來更加精細地表征視頻序列中的時空變化。實驗過程中,17鏈接的迭代速度也略慢于9鏈接的速度,相對于性能的提升,這種計算代價是可以接受的。
圖5 MNIST實驗結(jié)果對比1
圖6 MNIST實驗結(jié)果對比2
圖7 MNIST 實驗結(jié)果對比3
圖8 MNIST實驗結(jié)果對比4
3.2.1數(shù)據(jù)集
為獲取預測模塊的實際應用中的泛用性,本文額外使用雷達回波圖來進行氣象預測。氣象雷達圖數(shù)據(jù)集來自四川自貢氣象局,共6萬組回波數(shù)據(jù)。每組回波記錄有61幅圖片,雷達回波圖為501×501的單通道灰度圖像,初始缺省值均為255,為方便觀測預測效果,輸入網(wǎng)絡(luò)前將所有雷達回波圖的缺省值更改為0。本文取前31幅圖片作為輸入,后30幅作為Ground-Truth。在針對降水雷達回波圖的預測時,由于硬件性能限制,故先將501×501的灰度圖像降采樣為64×64的單通道灰度圖像,然后針對64×64的圖像序列進行預測。
3.2.2模型框架
針對雷達回波圖進行訓練時,本文將所有雷達回波數(shù)據(jù)分為4部分:當某個雷達回波圖片段中第11幀和第31幀中白點個數(shù)均大于5萬個時,將此片段分至Ⅰ類;第11幀少于5萬,第31幀大于5萬,將此片段分至Ⅱ類;第11幀多于5萬,第31幀小于5萬,分至Ⅲ類,第11幀與第31幀均少于5萬個白點,分至Ⅳ類。在訓練時,向網(wǎng)絡(luò)中輸送數(shù)據(jù)之前首先對圖片序列進行分類,再根據(jù)類別送入4個不同模型中的其中一個模型,不同模型處理不同的氣象變化趨勢,以此提高模型對不同氣象類別的精準預測能力。多分支預測結(jié)構(gòu)如圖9所示。
3.2.3實驗結(jié)果及分析
雷達回波實驗效果如圖10和圖11所示,實驗迭代次數(shù)為8萬次,在預測的30幀視頻中,每6幀中抽出1幀作為實驗結(jié)果對比,共抽出5幀。可以看到,即使是將回波圖壓縮至64×64大小,預測結(jié)果依然有所區(qū)別,傳統(tǒng)的卷積LSTM在預測后期圖像時部分細節(jié)會丟失。與之相比,本文的自適應卷積LSTM和多分支網(wǎng)絡(luò)結(jié)合的方法能夠在一定程度上改善預測結(jié)果,尤其在降水量較高地區(qū)(圖10、圖11中的偏白地區(qū)),采用空間自適應卷積模型能夠更好地預測對應范圍內(nèi)的時空變化,推測其原因是用了帶權(quán)重判定的損失函數(shù)。其他灰色區(qū)域的預測也能夠更好地擬合GroundTruth的輪廓。
圖10 雷達回波實驗結(jié)果1
圖11 雷達回波實驗結(jié)果2
預測降水雷達回波圖主要預測目標是強降水區(qū)域,為清楚地表示實驗結(jié)果,本文對有代表性的強降水序列進行g(shù)ray2RGB處理,如圖12所示??梢钥闯?,本文的自適應LSTM與多分支編碼預測網(wǎng)絡(luò)架構(gòu)在處理強降水序列時有更加精準的結(jié)果。
圖12 雷達回波實驗結(jié)果RGB化
本文對基于深度學習的視頻預測進行研究,基于傳統(tǒng)卷積LSTM改變其“input-to-state”的計算過程,在其中添加空間轉(zhuǎn)換層以顯式學習時空變化特征。通過手寫體視頻片段的預測結(jié)果評測模型性能。實驗證明,在某些情況下,單獨設(shè)計一個模塊讓網(wǎng)絡(luò)顯式地學習某種特征會使網(wǎng)絡(luò)有更好的泛化性能。本文的空間自適應卷積LSTM相較于傳統(tǒng)的卷積LSTM確實有可
觀的性能提升,且捕捉復雜時空變化特征的能力更強,更能勝任像素級視頻預測的任務。若針對任務內(nèi)容對網(wǎng)絡(luò)結(jié)構(gòu)進行改進,會獲得更加可觀的性能提升。
此外,本文提出的網(wǎng)絡(luò)結(jié)構(gòu)依然具有改進的空間,在面對像素級預測任務時,可以加入注意力機制,在每次提取特征時都可以對不同通道加入不同的權(quán)重,以提高預測深度的效果。