顧小山 倪建軍
(中國鐵路上海局集團(tuán)有限公司南京動車段,江蘇 南京 210000)
高速動車組具有運行環(huán)境復(fù)雜、客載量大、長交路持續(xù)運行的特點,對整個動車組牽引輔助系統(tǒng)、制動系統(tǒng)、鐵路砟道性能影響非常大,給提升動車組列車檢修效率及控制檢修成本帶來了巨大挑戰(zhàn)[1]。根據(jù)相關(guān)指導(dǎo)意見,結(jié)合南京動車段多次實踐驗證,該文建立動車組質(zhì)量與安全大數(shù)據(jù)分析管理系統(tǒng),以滿足設(shè)備檢修需要,減輕作業(yè)強(qiáng)度。
該系統(tǒng)借鑒SE模塊和深度可分離卷積[2]的優(yōu)點,設(shè)計了全新的神經(jīng)網(wǎng)絡(luò)模型用于對比服務(wù)。作業(yè)人員手持巡檢儀對巡檢作業(yè)關(guān)鍵點進(jìn)行拍照,系統(tǒng)將拍攝的圖片與模板進(jìn)行對比,分析、確認(rèn)巡檢效果,并對拍攝的作業(yè)圖片進(jìn)行評分,反饋作業(yè)質(zhì)量,實現(xiàn)對作業(yè)過程質(zhì)量的初步評價。
傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)(如GoogLeNet、ResNet等)雖然能夠以高精度的檢索結(jié)果完成圖像對比分類任務(wù),但由于越來越深的傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)需要學(xué)習(xí)大量的參數(shù),這將需要很高的計算資源(價格昂貴的GPU)。為此,該系統(tǒng)架構(gòu)考慮數(shù)據(jù)容量龐大且需要進(jìn)行高效的運算,因此采用深度可分離卷積[3]完成對整體模型架構(gòu)的壓縮和加速。
一張圖像是具有寬度、高度以及深度的,并不是二維的。在此該文進(jìn)行一個假設(shè),給定一個12×12×3像素(RGB)的輸入圖像。對圖像做一個5×5的卷積,不加填充,步幅為1。如果只考慮圖像的寬度和高度,卷積過程為12×12-(5×5)→8×8。5×5內(nèi)核中,對每25個像素進(jìn)行標(biāo)量乘法,每次輸出一個數(shù)字。由于沒有填充(12-5+1=8),最終得到一個8×8像素的圖像。
因為圖像存在3個通道,卷積核也需要有3個通道。這意味著不是做5×5=25次乘法,而是每次內(nèi)核移動時做5×5×3=75次乘法。就像二維解釋一樣,對每25個像素做標(biāo)量矩陣乘法,輸出一個數(shù)字。在經(jīng)過5×5×3內(nèi)核之后,12×12×3圖像將變成8×8×1圖像,如圖1所示。
圖1 傳統(tǒng)卷積過程
如果想增加輸出圖像中的通道數(shù)量(比如大小為8×8×256的輸出),可以創(chuàng)建256個內(nèi)核的方式來創(chuàng)建256個8×8×1圖像,將其進(jìn)行堆疊,創(chuàng)建出8×8×256圖像輸出,如圖2所示。
圖2 傳統(tǒng)卷積過程
深度可分離卷積是一個可以替代傳統(tǒng)卷積層的架構(gòu)。卷積的過程中,不同的出入通道采取不同的卷積核,整個卷積操作可以分解為2個過程,即深度卷積和點向卷積。
深度卷積是在不改變深度的前提條件下對輸入圖像進(jìn)行深度方向卷積,在此使用了3個5×5×1形狀的內(nèi)核,如圖3所示。
圖3 深度卷積過程
每個5×5×1內(nèi)核迭代圖像的1個通道(注意:1個通道,而不是所有通道),得到每25個像素組的標(biāo)量積,得到一個8×8×1圖像。將這些圖像疊加在一起可創(chuàng)建8×8×3圖像。
點向卷積之所以如此命名,是因為它使用了一個1×1內(nèi)核,或者說是一個遍歷每個點的內(nèi)核。該內(nèi)核有一個深度,不管輸入圖像有多少通道,在此處的例子中,其為3。因此,通過8×8×3圖像迭代1×1×3內(nèi)核,得到8×8×1圖像。
以此類推,創(chuàng)建256個1×1×3內(nèi)核,每個內(nèi)核輸出一個8×8×1圖像,以得到形狀為8×8×256的最終圖像,如圖4所示。
圖4 逐點卷積過程
通過上述將傳統(tǒng)卷積層拆分為深度卷積和點向卷積。更抽象地說,如果原始卷積函數(shù)是12×12×3-(5×5×3×256)→12×12×256,經(jīng)過分析可以將這個新的卷積表示為12×12×3-(5×5×1×1)→(1×1×3×256)→12×12×256。
原始卷積中有256個5×5×3內(nèi)核,可以移動8×8次,代表256×3×5×5×8×8=1228800次乘法。然而,在深度卷積中,有3個5×5×1的內(nèi)核移動了8×8次。也就是3×5×5×8×8=4800。在點向卷積中,有256個1×1×3的內(nèi)核移動了8×8次,即256×1×1×3×8×8=49152。把它們相加即是53952次乘法。52,952比1,228,800小很多。計算量越少,網(wǎng)絡(luò)就能在越短的時間內(nèi)處理更多的數(shù)據(jù)。
(該節(jié)圖片來自于網(wǎng)絡(luò),地址為https://blog.csdn.net/makefish/article/details/88716534)。
為了使模型在計算效率高的情況下保持精度穩(wěn)定甚至有所提高,該文在此采用了通道注意力機(jī)制。為使模型更加輕量,可減少計算,深度可分離卷積會對通道進(jìn)行分組。借鑒SENet,采用Squeeze-and-Excitation(SE)模塊對通道之間的關(guān)系進(jìn)行關(guān)注,模型將對不同通道特征的重要程度進(jìn)行自動學(xué)習(xí)。SE模塊先通過卷積得到特征圖,然后進(jìn)行Squeeze操作,從而得到通道級的全局特征,進(jìn)一步對全局特征進(jìn)行Excitation操作,目的是學(xué)習(xí)各個通道間的關(guān)系,得到不同通道的權(quán)重。最后將原來的特征圖乘以權(quán)重得到最終特征。本質(zhì)上來看,SE模塊是在通道維度上做注意力操作,該種機(jī)制可以讓模型抑制那些不重要的通道特征,更關(guān)注信息量最大的通道特征。SE模塊如圖5所示。
圖5 SE模塊
SE模塊的主要組成部分包括Squeeze操作和Excitation操作,適用于所有映射Ftr:X→U,X∈RH'×W'×C',U∈RH×W×C,以卷積為例,卷積核為V=[v1,v1,...,vc],其中vc表示第c個卷積核,那么輸出如公式(1)所示。
式中:*代表卷積操作;vsC代表一個3D卷積核。
其輸入單個通道上的空間特征,對特征空間關(guān)系進(jìn)行學(xué)習(xí),只是由于對各個通道的卷積結(jié)果進(jìn)行了求和操作,因此導(dǎo)致卷積核學(xué)習(xí)到的空間關(guān)系和通道特征關(guān)系混合在一起。SE模塊可以解決這一問題,通過抽離這種混雜,使模型直接學(xué)習(xí)到通道特征關(guān)系。
卷積只是在局部空間進(jìn)行操作,導(dǎo)致U難以獲取用于提取通道之間關(guān)系的足量信息。而由于感受也比較小,網(wǎng)絡(luò)中前面的層在這個問題上更嚴(yán)重。正因為這樣,SENet提出了解決方案——Squeeze操作,它是將一個通道上整個空間特征編碼為一個全局特征,采用全局均值池化層來實現(xiàn),如公式(2)所示。
Sequeeze操作只得到了全局描述特征,接下來需要另外一種運算來抓取通道之間的關(guān)系。該操作需要滿足2個準(zhǔn)則:第一點是要靈活,它要可以學(xué)習(xí)到各個通道之間的非線性關(guān)系;第二點是學(xué)習(xí)的關(guān)系不是互斥的,因為這里允許多通道特征,而不是one-hot形式。基于此,該文采用sigmoid形式的門控機(jī)制,如公式(3)所示。
式中:δ表示ReLU激活函數(shù);σ表示sigmoid激活函數(shù);分別是2個全連接層的權(quán)值矩陣,其中r是中間層隱藏層節(jié)點數(shù)。
為了達(dá)到提升泛化能力及降低模型復(fù)雜度的目的,該文采用包括2個全連接層的瓶頸結(jié)構(gòu)。其中第一個全連接層起到的作用是降維,降維系數(shù)為r,是個超參數(shù),然后采用ReLU激活函數(shù)進(jìn)行激活。另一個全連接層的作用是見降低的維度恢復(fù)原始的維度。
最后輸出表示為s和U的向量積,即圖5中的Fscale(·,·)操作如公式(4)所示。
實際上在整個操作過程中,可以理解為通過學(xué)習(xí)各個通道的權(quán)重系數(shù),使模型對各個通道的特征更具有辨別能力。
自動評價系統(tǒng)中的對比服務(wù)基于深度神經(jīng)網(wǎng)絡(luò)模型,其中網(wǎng)絡(luò)模型的主要模塊是基于通道注意力的深度可分離卷積塊。該模塊既可高效完成對比任務(wù),又能保障精度,因此結(jié)合SE模塊和深度可分離卷積的特點構(gòu)造了新型的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),如圖6所示。
圖6 深度神經(jīng)網(wǎng)絡(luò)模型
在深度可分離卷積塊模塊中,經(jīng)過深度可分離卷積得到的張量流U,首先經(jīng)過全局均值池化層得到每一個通道對應(yīng)的一個標(biāo)量值。其次經(jīng)過兩層全連接層的先降維、再升維的變化(增加非線性特征)。再經(jīng)過Sigmoid激活函數(shù)處理。最終把得到的向量(向量長度和U的通道數(shù)相同)和U進(jìn)行點積操作(Scale),輸出新的張量流。
使用CADSConv模塊構(gòu)建新的網(wǎng)絡(luò)模型。通過CADSConv模塊完成特征提取工作,最后添加SoftMax層完成最終的對比服務(wù)。Softmax激活函數(shù)如公式(5)所示。
輸出計算圖如圖7所示。假設(shè)模板作業(yè)圖像庫中有3個類別,當(dāng)工作人員在現(xiàn)場采集的新圖片經(jīng)過神經(jīng)網(wǎng)絡(luò)提取特征后會得到3個輸出節(jié)點值,這3個值經(jīng)過Softmax激活函數(shù)激活后變成對應(yīng)各自的概率值,該概率值就會當(dāng)作對比服務(wù)中的相似度值,即概率值越高,相似度越大,于是可認(rèn)為該采集圖片屬于哪一個類別,至此完成對比任務(wù)。
圖7 輸出計算圖
動車組檢修作業(yè)質(zhì)量自動評價系統(tǒng)能夠?qū)F(xiàn)有的視頻采集資源有效整合起來,利用自動評鑒系統(tǒng)解決了之前需要人員進(jìn)行手工導(dǎo)入的圖像、語音和視頻的記錄、保存、查看系統(tǒng)問題,通過自動圖像識別減輕了現(xiàn)場工人的工作量,提高了現(xiàn)場使用人員的檢修質(zhì)量。將所有視頻資源經(jīng)過數(shù)據(jù)管理、資源管理、統(tǒng)計分析和終端設(shè)備配置等,自動生成局、段、所、班組和人員等各級人員需要的統(tǒng)計分析報表,為鐵路檢修提供保障,為決策者提供有利的支撐。