張 鵬,王 莉,梅 雪,袁申強
(南京工業(yè)大學(xué) 電氣工程與控制科學(xué)學(xué)院,江蘇 南京 211816)
近年來,許多科研人員將深度學(xué)習(xí)應(yīng)用于動作識別領(lǐng)域的研究中,涌現(xiàn)出一大批高效的網(wǎng)絡(luò)結(jié)構(gòu),如C3D[1]、I3D[2]、P3D[3]、R(2+1)D[4]、ECO[5]、TSN[6]等。雖然這些網(wǎng)絡(luò)模型在結(jié)構(gòu)上互不相同,但是對視頻數(shù)據(jù)均具備較高的建模能力,能有效區(qū)分自然場景下不同的人體行為。理論上,不同網(wǎng)絡(luò)模型所獲的特征描述向量都對類別信息敏感(以分類任務(wù)為例),并在網(wǎng)絡(luò)的輸出層變得線性可分,即便來自不同的建模過程,得到的特征向量應(yīng)該是相似的。不同網(wǎng)絡(luò)結(jié)構(gòu)獲取的知識能否被學(xué)習(xí)和共享是一個值得討論的問題。Chen等[7]增加原始網(wǎng)絡(luò)的寬度和深度,利用原始參數(shù)的分解或單位矩陣初始化權(quán)重參數(shù),實現(xiàn)了跨結(jié)構(gòu)的遷移學(xué)習(xí)。Ali等[8]利用了2D網(wǎng)絡(luò)去監(jiān)督3D網(wǎng)絡(luò)的輸入和輸出,讓3D網(wǎng)絡(luò)擬合2D網(wǎng)絡(luò)的輸出特征分布,間接實現(xiàn)了跨結(jié)構(gòu)學(xué)習(xí)。受此啟發(fā),本文進一步放寬模型結(jié)構(gòu)的限制條件,在結(jié)構(gòu)差異更大的兩個網(wǎng)絡(luò)之間,采用有效度量策略[9,10],實現(xiàn)了更一般意義上的遷移學(xué)習(xí),稱之為軟遷移。
本文基于DenseNet[11]基本模塊設(shè)計了MDN(modified DenseNet)的新型網(wǎng)絡(luò)結(jié)構(gòu),并使用軟遷移技術(shù)學(xué)習(xí)繼承I3D和R(2+1)D網(wǎng)絡(luò)的視頻特征建模能力,其中不同網(wǎng)絡(luò)模型在結(jié)構(gòu)上互不相同。記MDN-I3D為一個半監(jiān)督式的“學(xué)習(xí)者-監(jiān)督者”組合。受到GoogleNet[12]多階段監(jiān)督的啟發(fā),本文提出了三階段的漸進式監(jiān)督策略對學(xué)習(xí)者執(zhí)行有效的監(jiān)督。最后,在UCF101和HMDB51數(shù)據(jù)集上進行實驗,成功地將監(jiān)督者的建模能力遷移到了學(xué)習(xí)者身上,驗證了軟遷移學(xué)習(xí)方法的可行性。
為實現(xiàn)不同結(jié)構(gòu)模型之間的知識遷移,本文提出了軟遷移學(xué)習(xí)方法。本文改進了密集連接網(wǎng)絡(luò)將其輕量化并適應(yīng)視頻數(shù)據(jù),并使用多階段監(jiān)督學(xué)習(xí)的方法來加快網(wǎng)絡(luò)收斂,以此實現(xiàn)跨結(jié)構(gòu)的遷移學(xué)習(xí)。
圖1為MDN網(wǎng)絡(luò)結(jié)構(gòu)示意,圖中 (7,7,7), (2,2,2) 表示3D卷積核的尺度和步長。
圖1 MDN網(wǎng)絡(luò)結(jié)構(gòu)
為體現(xiàn)MDN結(jié)構(gòu)上與監(jiān)督網(wǎng)絡(luò)(I3D和R(2+1)D) 的不同,采用了密集連接的設(shè)計方案。但對比原始的3D DenseNet 121[13]做了一些改進:密集連接層數(shù)縮減,DenseLayer具有的3D卷積核被拆分為(2+1)D,從而使模型輕量化;為了適應(yīng)變長時間序列圖像,采用全卷積和全局池化生成固定維度的視頻描述向量,網(wǎng)絡(luò)模型共計17層。在輸入為25×112×112×3的情況下,計算量為48.54 Gflops,高于I3D(28.9 G),但低于R(2+1)D (76.8 G)。網(wǎng)絡(luò)具體的細節(jié)參數(shù)見表1。
表1 MDN網(wǎng)絡(luò)的詳細結(jié)構(gòu)參數(shù)
MDN網(wǎng)絡(luò)隨機初始化會造成輸出與監(jiān)督網(wǎng)絡(luò)之間的偏差過大,不利于收斂,尤其是在和監(jiān)督網(wǎng)絡(luò)結(jié)構(gòu)上差異十分明顯的情況下,極有可能不收斂。因此僅僅在最后的輸出層進行監(jiān)督是不夠的,需要采用漸進的階梯式監(jiān)督策略,在網(wǎng)絡(luò)底層開始增強網(wǎng)絡(luò)監(jiān)督,以保證MDN網(wǎng)絡(luò)順利找到優(yōu)化方向。在網(wǎng)絡(luò)最終的輸出層位置,限制MDN生成與監(jiān)督網(wǎng)絡(luò)分布相近的特征空間,構(gòu)成第二階段的監(jiān)督,顯式地擬合特征分布,實現(xiàn)監(jiān)督者對學(xué)習(xí)者的知識“傳授”。
前面兩個監(jiān)督步驟并未用到標(biāo)簽信息,嚴格意義上屬于無監(jiān)督學(xué)習(xí)。最后,進行有監(jiān)督訓(xùn)練來利用數(shù)據(jù)的標(biāo)簽信息,讓學(xué)習(xí)者不僅與監(jiān)督者輸出相近的特征,且該特征對于分類有效。由此構(gòu)成三階段監(jiān)督策略,加快網(wǎng)絡(luò)的收斂。
1.2.1 余弦相似度損失
卷積神經(jīng)網(wǎng)絡(luò)中越接近網(wǎng)絡(luò)底層,數(shù)據(jù)特征越一般化,與具體任務(wù)無關(guān)。此時可使用比較嚴格的損失度量函數(shù),使學(xué)習(xí)者與監(jiān)督者至少在淺層特征上保持一致,將網(wǎng)絡(luò)的輸出值鉗制在一定范圍內(nèi)波動。余弦相似度可作為第一階段的損失度量函數(shù)。圖2表示的是在I3D和MDN中間層中設(shè)置的監(jiān)察點,I3D網(wǎng)絡(luò)的“Mixed_3c”層輸出特征為grids∈Rd×h×w×480, MDN網(wǎng)絡(luò)的“Transition1”層輸出特征為gridt∈Rd×h×w×480, 視頻特征由N=d×h×w個規(guī)則排列局部時空胞元g(g∈R1×480) 構(gòu)成,N對胞元 (gsj,gtj) 的余弦相似誤差反映了兩個網(wǎng)絡(luò)特征的失配程度。式(1)描述了相似度損失函數(shù)的計算過程,其中 <,> 表示內(nèi)積操作,在計算之前,預(yù)先對grids和gridt做通道維的歸一化,余弦相似度計算可簡化成內(nèi)積運算
圖2 中間層特征監(jiān)督
(1)
1.2.2 最大均值差異損失
最大均值差異損失(maximum mean discrepancy,MMD)在數(shù)據(jù)跨域適應(yīng)的研究中十分有效,常用作度量特征分布的距離,主要思想是將原域和目標(biāo)域的特征通過希爾伯特空間單位球內(nèi)的函數(shù)映射到無窮維度,計算無窮維特征的均值誤差[14]。在監(jiān)督網(wǎng)絡(luò)I3D與學(xué)習(xí)網(wǎng)絡(luò)MDN頂層輸出端,選擇歐式距離(類似文獻[8])這樣的強約束,并不利于網(wǎng)絡(luò)的遷移,結(jié)構(gòu)上的巨大差異使得網(wǎng)絡(luò)輸出層特征受到輸入數(shù)據(jù)和網(wǎng)絡(luò)結(jié)構(gòu)雙重影響,波動過大,約束條件過于嚴格會導(dǎo)致網(wǎng)絡(luò)不收斂。MMD方法僅僅度量了特征之間分布的相似性,通過多高斯核將約束變得更加靈活,比較適用于這種弱監(jiān)督場景。Long等[15]在缺少數(shù)據(jù)標(biāo)簽的情形下,用MMD約束不同源數(shù)據(jù)呈現(xiàn)相似的特征分布。這些情景與本文目的類似,不需要目標(biāo)特征與參考特征完全一致,獲取相似的特征分布便可認為知識已經(jīng)發(fā)生了轉(zhuǎn)移,進一步的分類任務(wù)由最后的全連接完成
(2)
式(2)定義了最大均值差異損失,其中φ(·) 即為隱式的映射函數(shù)。在實際應(yīng)用中通常通過樣本的無偏估計來做具體計算,Nx和Ny表示兩個特征集的樣本量, k(xi,yj) 表示核運算,將特征維度映射和內(nèi)積計算一次性完成
(3)
如式(3)所示,利用K個高斯核,其中Ny×Nx等于批量隨機梯度下降優(yōu)化的batch_size,σk∈[10-6,10-5,…,105,106],xi∈R1×1024, MDNout=(x0,x1,…,xN-1),yi∈R1×1024, I3Dout=(y0,y1,…,yN-1)
argminΘF(Θ)=J(Θ)+γ1Similarityloss+γ2MKMmdloss
where J(Θ)=Entropyloss(Θ,clip,label)
(4)
式(4)形式化地定義了軟遷移學(xué)習(xí)方法的整體損失函數(shù), Entropyloss(·) 表示交叉熵分類損失,γ1和γ2作為兩個超參數(shù)用以調(diào)節(jié)不同階段監(jiān)督作用的強弱。
本文1.2節(jié)以改進的MDN與監(jiān)督網(wǎng)絡(luò)I3D之間的遷移學(xué)習(xí)為例,描述了本文所提出的跨結(jié)構(gòu)遷移方法的計算細節(jié)。為驗證算法的有效性,本章增加了以R(2+1)D為監(jiān)督網(wǎng)絡(luò)的對比實驗,設(shè)計了3個實驗組: 學(xué)習(xí)者-監(jiān)督者=[①MDN-I3D,②MDN-R(2+1)D,③I3D-R(2+1)D]。 R(2+1)D采用了文獻[7]的 R(2+1)D-18網(wǎng)絡(luò)結(jié)構(gòu),其中間層’conv_4x’的輸出特征為grids∈Rd×h×w×256, R(2+1)Dout=(y0,y1,…,yN-1) 為輸出層的特征yi∈R1×512, 實驗②、實驗③中根據(jù)監(jiān)督網(wǎng)絡(luò)輸出特征維度對學(xué)習(xí)網(wǎng)絡(luò)做結(jié)構(gòu)上的調(diào)整用以互相匹配。
軟件環(huán)境為Ubuntu16.04LTS版操作系統(tǒng),GPU版tensorflow深度學(xué)習(xí)框架的Python3 API,硬件環(huán)境為CPU i7-7800X 3.50 GHz 16 GB,兩個GPU GTX1080Ti11GB獨立加速顯卡。為了加速訓(xùn)練,實驗中采用了數(shù)據(jù)并行的多GPU聯(lián)合訓(xùn)練架構(gòu),初始學(xué)習(xí)率設(shè)為0.1,采用指數(shù)衰減調(diào)整學(xué)習(xí)率,衰減系數(shù)設(shè)為0.95;數(shù)據(jù)集為UCF101和HMDB51,分別包含13 320和6766個視頻片段,常被用作動作算法評估的基準(zhǔn)。由于3D網(wǎng)絡(luò)對于GPU內(nèi)存要求過高,為了提高訓(xùn)練效率,預(yù)先使用I3D和R(2+1)D對兩個數(shù)據(jù)集進行特征提取,將數(shù)據(jù)集的中間層特征和輸出層特征保存至本地,在訓(xùn)練MDN時直接讀取監(jiān)督信息。這種離線的方法大大降低了多階段監(jiān)督訓(xùn)練的時間和空間復(fù)雜度,不必動態(tài)地運行一個監(jiān)督網(wǎng)絡(luò)。計算機底層對隱藏層的反向誤差和導(dǎo)數(shù)的數(shù)值運算過程基本與原分類網(wǎng)絡(luò)一致,增加的計算量主要來自式(1)、式(3)對損失值的計算,在輸入數(shù)據(jù)大小一定的情況下,增加的時間和空間復(fù)雜度均為O(1),為常數(shù)復(fù)雜度。
表2展示了不同的網(wǎng)絡(luò)結(jié)構(gòu)在UCF101和HMDB51數(shù)據(jù)集上的表現(xiàn)。前兩行數(shù)據(jù)是在參數(shù)遷移的情況下記錄的,完全使用了原始的網(wǎng)絡(luò)結(jié)構(gòu)與預(yù)訓(xùn)練參數(shù),僅在新數(shù)據(jù)集上微調(diào)得到的結(jié)果。后三行是利用本文提出的軟遷移方法間接學(xué)習(xí)得到的結(jié)果,其中I3D和MDN作為待學(xué)習(xí)網(wǎng)絡(luò),使用Xavier隨機初始化方法。可以看出參數(shù)遷移在精度上是領(lǐng)先的,雖然軟遷移方法在精度上沒有達到與硬遷移相同的水平,但是相比不使用監(jiān)督網(wǎng)絡(luò)從頭開始訓(xùn)練的情況,確有較大的提升。表3記錄了多階段監(jiān)督對網(wǎng)絡(luò)最終收斂精度的影響,*標(biāo)記表示不添加監(jiān)督網(wǎng)絡(luò)的約束,即γ1=γ2=0的情況下,在UCF101上從頭訓(xùn)練得到的結(jié)果。如表3前兩行所示,MDN*和I3D*沒有利用遷移學(xué)習(xí)的情況下,在UCF101數(shù)據(jù)集上的驗證精度為62.1%和82.5%,而在受到監(jiān)督作用時分別達到了85.4%和94.7%,這個結(jié)果初步驗證了軟遷移方法的可行性。
表2 UCF101和HMDB51上的實驗結(jié)果
表3 監(jiān)督不同階段的結(jié)果對比
由表3可以看出,γ1,γ2對網(wǎng)絡(luò)性能的影響十分明顯。在僅有中間層監(jiān)督或僅有輸出層監(jiān)督的情況時,MDN精度的提升十分局限,而當(dāng)γ1和γ2同時作用,MDN精度提高了20%左右。其中頂層的監(jiān)督對MDN網(wǎng)絡(luò)的作用最為顯著,在MDN-I3D的訓(xùn)練中,50 k次迭代后分類損失函數(shù)就停止了下降,而此時mmd損失停留在0.15左右,當(dāng)增大γ2到0.75時,網(wǎng)絡(luò)開始了繼續(xù)優(yōu)化并促使最終的驗證精度達到了80.3%。
實驗中,MDN在R(2+1)D網(wǎng)絡(luò)的監(jiān)督下相比I3D監(jiān)督,出現(xiàn)了更快的收斂速度與更高的驗證精度。在UCF101訓(xùn)練集上,MDN-I3D與MDN-R(2+1)D訓(xùn)練精度首次達到80%用到的迭代次數(shù)分別為48 k和41 k,而從最終的驗證精度上看,后者比前者高了3.1%,這種差異現(xiàn)象是監(jiān)督網(wǎng)絡(luò)與學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu)相似性程度的不同造成的。MDN采用了殘差跳躍連接結(jié)構(gòu),對3D卷積核也進行了拆分,這種方式與R(2+1)D在結(jié)構(gòu)上的相近,而與I3D網(wǎng)絡(luò)采用的inception結(jié)構(gòu)差異較大,因此在遷移過程中MDN需要搜索更大的參數(shù)空間來學(xué)習(xí)I3D的結(jié)構(gòu)信息。通過參數(shù)組合彌補結(jié)構(gòu)差異是本文軟遷移方法的核心思想,也是最難的部分。極端情形下,完全相同的結(jié)構(gòu)是最容易實現(xiàn)知識軟遷移的,算法會退化成為純參數(shù)學(xué)習(xí)。
此外,學(xué)習(xí)者自身的可塑性對本文方法有較大影響,學(xué)習(xí)能力越強遷移效果越好。如圖3(a)~圖3(c)所示,I3D在結(jié)構(gòu)上與R(2+1)D差異很大的情況下實現(xiàn)了快速收斂,僅僅在10 k次迭代之后,網(wǎng)絡(luò)就開始趨于穩(wěn)定。圖3(d) ~圖3(f)為MDN的訓(xùn)練過程,由于MDN對DenseNet在層數(shù)上進行了大幅縮減,減少網(wǎng)絡(luò)層數(shù)弱化了殘差網(wǎng)絡(luò)的優(yōu)勢,使得其學(xué)習(xí)能力下降。相比DenseNet121(UCF101 87.6),MDN的精度下降了25.5%。本文的主要目的是驗證跨結(jié)構(gòu)遷移的可行性,僅僅考慮了學(xué)習(xí)者結(jié)構(gòu)上與監(jiān)督者的差異性,沒有更進一步的精細化調(diào)整,整體上較為粗糙,而I3D網(wǎng)絡(luò)結(jié)構(gòu)是經(jīng)過精心設(shè)計與驗證的。由此可以看出,雖然跨結(jié)構(gòu)遷移方法形式上可以做到結(jié)構(gòu)無關(guān),但是要求學(xué)習(xí)者本身具備良好的建模能力。
圖3 不同網(wǎng)絡(luò)在數(shù)據(jù)集UCF101的訓(xùn)練過程
為了進一步觀測MDN對監(jiān)督網(wǎng)絡(luò)的學(xué)習(xí),本文做了補充實驗,查看學(xué)習(xí)者對監(jiān)督者建模能力的繼承情況。理論上,監(jiān)督網(wǎng)絡(luò)在大數(shù)據(jù)集上訓(xùn)練過,都具備很強的泛化能力,假設(shè)在監(jiān)督網(wǎng)絡(luò)的影響下,MDN對沒訓(xùn)練過的數(shù)據(jù)集也產(chǎn)生了一定的泛化性,那么可以認為其學(xué)到了監(jiān)督網(wǎng)絡(luò)某些有效的連接特性。以MDN-I3D為例,檢驗MDN-I3D對Kinetic中視頻數(shù)據(jù)的泛化性能(本文所用I3D預(yù)訓(xùn)練模型是在Kinetic-400上訓(xùn)練的)。由于Kinetic-400數(shù)據(jù)集過于龐大,僅從驗證集的216類樣本中選擇2500個視頻進行實驗,其中2000個用于訓(xùn)練,500個用于驗證。訓(xùn)練在2.2節(jié)的基礎(chǔ)上進行,分別利用MDN-I3D和MDN*的學(xué)習(xí)參數(shù)對MDN網(wǎng)絡(luò)初始化。
圖4展示了訓(xùn)練迭代20 k步時,不同初始化方式對500個驗證視頻提取特征的分布情況,可以看到圖4(b)中大部分數(shù)據(jù)點已經(jīng)變得離散,意味著不同類別的數(shù)據(jù)經(jīng)過MDN產(chǎn)生了不同的響應(yīng),而圖4(a)中數(shù)據(jù)點依然緊緊的聚集在一起,表示MDN此時還無法對這些視頻進行區(qū)分。這一結(jié)果表明I3D參數(shù)對Kinetic-400數(shù)據(jù)集的泛化性通過監(jiān)督-學(xué)習(xí)機制一定程度上被MDN繼承了,因此才會在對Kinetic中的數(shù)據(jù)訓(xùn)練過程中更快找到不同類別視頻間的差異信息。而從頭開始訓(xùn)練的MDN網(wǎng)絡(luò)參數(shù)僅僅學(xué)到了UCF數(shù)據(jù)集的數(shù)據(jù)建模知識,數(shù)據(jù)量太小,難以對Kinetic數(shù)據(jù)集產(chǎn)生泛化性。因此在短時間內(nèi)很難對來自Kinetic數(shù)據(jù)集的數(shù)據(jù)產(chǎn)生明顯的分辨效果,出現(xiàn)了圖4(a)、圖4(b)之間的顯著差異。
圖4 MDN對500個Kinetic-400視頻的特征提取
本文提出了一個神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的新問題,嘗試利用網(wǎng)絡(luò)的學(xué)習(xí)能力去間接學(xué)習(xí)異構(gòu)網(wǎng)絡(luò)內(nèi)部的連接特性,擬合監(jiān)督網(wǎng)絡(luò)的輸出特征分布。區(qū)別于傳統(tǒng)的基于參數(shù)的硬遷移方法,引出了基于間接學(xué)習(xí)的軟遷移方法,設(shè)計了一種監(jiān)督者-學(xué)習(xí)者機制,研究神經(jīng)網(wǎng)絡(luò)跨結(jié)構(gòu)相互學(xué)習(xí)的可行性。通過將監(jiān)督網(wǎng)絡(luò)I3D和R(2+1)D的泛化能力遷移具有到不同結(jié)構(gòu)的學(xué)習(xí)網(wǎng)絡(luò)MDN中,驗證了跨結(jié)構(gòu)學(xué)習(xí)是可行的。對比不同階段監(jiān)督情況,驗證了多階段漸進式監(jiān)督策略的必要性;討論了模型結(jié)構(gòu)對軟遷移效果的影響,發(fā)現(xiàn)在監(jiān)督網(wǎng)絡(luò)與學(xué)習(xí)網(wǎng)絡(luò)具有相似的結(jié)構(gòu)時,網(wǎng)絡(luò)更容易收斂。此外R(2+1)D與I3D兩個基準(zhǔn)網(wǎng)絡(luò)間的成功遷移,表明學(xué)習(xí)者自身的表達能力對軟遷移效果具有決定性影響,結(jié)構(gòu)上具有的較大差異的網(wǎng)絡(luò)在學(xué)習(xí)能力足夠強的情況下也能通過軟遷移學(xué)到監(jiān)督者的能力,進一步驗證了模型結(jié)構(gòu)精細化設(shè)計的重要性。最后,本文提出的軟遷移方法拓展了傳統(tǒng)遷移學(xué)習(xí)的范圍,突破了模型結(jié)構(gòu)的制約,提高了已有動作識別模型的適用性。