李清欣 徐貴紅 周雯
1.中國鐵道科學(xué)研究院 研究生部, 北京 100081; 2.中國鐵道科學(xué)研究院集團有限公司 電子計算技術(shù)研究所, 北京 100081
鐵路異物侵限檢測是鐵路運營過程中安全檢測的一項重要內(nèi)容。異物侵限是指由于外力作用或意外,落石、行人等鐵路異物侵入鐵路限界,對鐵路軌道或運行列車構(gòu)成安全威脅的現(xiàn)象。鐵路異物侵限判斷屬于機器學(xué)習(xí)中的圖像分類問題。傳統(tǒng)圖像分類方法中,通常使用方向梯度直方圖(Histogram of Oriented Gradients,HOG)、尺度不變特征變換(Scale Invariant Feature Transform,SIFT)、局部二值模式(Local Binary Pattern,LBP)等算法提取特征。
當(dāng)淺層特征不明顯時,傳統(tǒng)特征提取算法的分類效果并不理想。深度學(xué)習(xí)能夠提取圖像更深層次、具有區(qū)分能力的特征,在圖像分類、檢測等方面具有精度高和智能化的優(yōu)勢。近年來,深度學(xué)習(xí)尤其是卷積神經(jīng)網(wǎng)絡(luò)得到了快速發(fā)展,并逐漸成為一種新型圖像處理技術(shù)。
深度學(xué)習(xí)模型識別準確率的好壞很大程度上依賴于訓(xùn)練樣本數(shù)量。在訓(xùn)練樣本量不足的情況下,深度學(xué)習(xí)模型會產(chǎn)生過度擬合,從而導(dǎo)致模型訓(xùn)練結(jié)果畸變。此外,隨著數(shù)據(jù)確權(quán)的出現(xiàn),越來越多單位開始重視數(shù)據(jù)的所有權(quán)和使用權(quán),減少了數(shù)據(jù)在各單位間的流通,導(dǎo)致出現(xiàn)數(shù)據(jù)孤島現(xiàn)象。數(shù)據(jù)融合需求與數(shù)據(jù)隱私保護需求之間的矛盾日益突出。一方面人工智能需要大量訓(xùn)練數(shù)據(jù)以獲得良好的訓(xùn)練效果,另一方面數(shù)據(jù)安全和隱私保護得到了世界范圍內(nèi)的廣泛重視[1]。在此背景下,聯(lián)邦學(xué)習(xí)(Federated Learning)應(yīng)運而生。Google 公司于2017 年首次提出了聯(lián)邦學(xué)習(xí)的概念[2],它是一種具有隱私保護功能的機器學(xué)習(xí)機制。該機制在多個數(shù)據(jù)持有方不共享各自數(shù)據(jù)的情況下,僅交換模型中間訓(xùn)練參數(shù),聯(lián)合進行模型訓(xùn)練。理想情況下,聯(lián)邦學(xué)習(xí)模式可獲得與中心化學(xué)習(xí)(Centralized Learning)模式相近的模型識別準確率[3]。
本文提出一種基于聯(lián)邦學(xué)習(xí)和深度注意力殘差網(wǎng)絡(luò)的鐵路異物侵限分類輔助判斷方法。將壓縮激勵網(wǎng)絡(luò)嵌入深度殘差網(wǎng)絡(luò)(Deep residual network,ResNet)中構(gòu)成深度注意力殘差網(wǎng)絡(luò),通過對特征通道重新分配權(quán)重以提取圖像更深層次的特征。結(jié)合聯(lián)邦學(xué)習(xí)進一步提升異物侵限特征的提取效果,同時保護各數(shù)據(jù)持有方隱私,為解決異物侵限模型訓(xùn)練樣本匱乏及鐵路數(shù)據(jù)安全共享問題提供思路。
隨著神經(jīng)網(wǎng)絡(luò)模型層數(shù)的增加,較淺層網(wǎng)絡(luò)的參數(shù)可能會逐漸趨于0,致使梯度無法更新,出現(xiàn)梯度消失現(xiàn)象。為解決這一問題,ResNet 在兩個非線性卷積層外部通過跳躍連接實現(xiàn)恒等映射,提高模型訓(xùn)練過程中信息的傳播效率。ResNet 由一系列殘差單元串聯(lián)而成。殘差單元的基本結(jié)構(gòu)如圖1所示。其中:x為殘差單元的輸入數(shù)據(jù);f(x)為最終理想輸出數(shù)據(jù)。
圖1 殘差單元基本結(jié)構(gòu)
壓縮激勵網(wǎng)絡(luò)(Squeeze and Excitation Network,SENet)是一個經(jīng)典的注意力機制網(wǎng)絡(luò)模型。SENet 通過關(guān)注特征通道之間的相關(guān)性以提升神經(jīng)網(wǎng)絡(luò)的表征能力,訓(xùn)練過程包含壓縮、激勵和重分配三個階段。模型輸入特征圖的尺寸為w×h×c。其中:w、h分別為圖像的寬度和高度;c為圖像的特征通道數(shù)。將SENet嵌入到含有跳躍鏈接的深度學(xué)習(xí)網(wǎng)絡(luò)模塊中。
壓縮階段,通過全局平均池化壓縮特征圖,將其維度轉(zhuǎn)化為1×1×c,以獲得全局的感受野。激勵階段,使用一個多層感知機(Multi-Layer Perceptron,MLP)學(xué)習(xí)每個特征通道的權(quán)重。通過定義縮放參數(shù)實現(xiàn)對特征通道的降維和增維操作,自適應(yīng)學(xué)習(xí)不同特征通道間的相關(guān)性。重分配階段,通過乘法對特征通道加權(quán),完成對原始特征圖的重標定,以增強有用的特征通道,提高模型特征提取的準確性。
本文選取18 層的ResNet 即ResNet18 作為神經(jīng)網(wǎng)絡(luò)基礎(chǔ)模型,嵌入SENet 構(gòu)成SE-ResNet18,作為訓(xùn)練模型。SE-ResNet18的基本構(gòu)成單元如圖2所示。
圖2 SE-ResNet18的基本構(gòu)成單元
SENet 的核心是通過網(wǎng)絡(luò)的損失確定特征通道的權(quán)重,從而賦予高效的特征圖大權(quán)重,低效或無用的特征圖小權(quán)重,進而重新標定輸入特征圖,獲得更好的訓(xùn)練效果。ResNet18中嵌入SENet后可以去除強噪聲及冗余信息,避免在學(xué)習(xí)異物特征時產(chǎn)生更多錯誤,提高模型的識別效率。
聯(lián)邦學(xué)習(xí)是一種多方參與聯(lián)合訓(xùn)練的分布式機器學(xué)習(xí)方法[4],具有數(shù)據(jù)不動、模型動的特性。與傳統(tǒng)中心化學(xué)習(xí)相比,聯(lián)邦學(xué)習(xí)沒有中心服務(wù)器匯總數(shù)據(jù)的過程,保護了各數(shù)據(jù)持有方的隱私。
本文采用客戶端-中心服務(wù)器的橫向聯(lián)邦學(xué)習(xí)架構(gòu)[5]。整個學(xué)習(xí)過程分為客戶端本地模型訓(xùn)練和中心服務(wù)器端參數(shù)聚合兩部分,如圖3所示。
圖3 橫向聯(lián)邦學(xué)習(xí)架構(gòu)
各數(shù)據(jù)持有方作為客戶端參與聯(lián)邦學(xué)習(xí)訓(xùn)練。多個客戶端構(gòu)成集合C={C1,C2,…,CN},其中N為客戶端數(shù)量。第k個客戶端Ck的本地數(shù)據(jù)集記為Dk。
客戶端首先下載中心服務(wù)器端初始化的全局訓(xùn)練模型(m)和模型參數(shù)(w0),然后進行Dk的本地特征提取和模型訓(xùn)練。
設(shè)Lk(w)為Ck的目標函數(shù),用該客戶端所有輸入數(shù)據(jù)的平均損失表示,計算式為
式中:li(w)為Ck的損失函數(shù)。
本文采用交叉熵函數(shù)作為損失函數(shù),計算式為
式中:y′和y分別為真實標簽和預(yù)測標簽,所有標簽共有n個類別。
為求解目標函數(shù)的最小值,模型訓(xùn)練采用隨機梯度下降法不斷尋優(yōu)。設(shè)第t個通信輪次下,客戶端Ck本地訓(xùn)練的模型參數(shù)為wt,k。其迭代更新計算式為
客戶端本地訓(xùn)練結(jié)束,將wt,k上傳至中心服務(wù)器端完成中間參數(shù)的聚合后,客戶端再次下載聚合參數(shù)進行本地模型更新,并進行下一輪次的訓(xùn)練直至全局模型收斂。
中心服務(wù)器端負責(zé)統(tǒng)籌各客戶端的本地模型訓(xùn)練并生成最終的聚合模型。聯(lián)邦學(xué)習(xí)訓(xùn)練開始前,中心服務(wù)器端協(xié)調(diào)各客戶端,確定每個全局通信輪次參與訓(xùn)練的客戶端數(shù)量c(c∈N)、全局訓(xùn)練模型m及全局通信總輪次T,完成系統(tǒng)初始化配置。聯(lián)邦學(xué)習(xí)訓(xùn)練開始后,中心服務(wù)器端使用聯(lián)邦平均算法[6]對每個通信輪次t(t∈T)下接收到的各客戶端模型參數(shù)(wt,k)進行聚合,得到聚合后的模型參數(shù)(wt)。計算式為
式中:rk為Dk在整個模型訓(xùn)練過程中所有數(shù)據(jù)集中的占比,
Step1中心服務(wù)器端完成全局訓(xùn)練模型(m)和模型參數(shù)(w0)的初始配置,將m下發(fā)至各客戶端。
Step2客戶端從中心服務(wù)器端下載模型參數(shù)(wt-1)。
Step3判定當(dāng)前通信輪次(t)的值。若t= 1,客戶端進行Dk預(yù)處理,輸入至網(wǎng)絡(luò)模型;若1
Step4各客戶端進行本地訓(xùn)練,得到更新后的模型(mt,k)和參數(shù)(wt,k),將wt,k上傳至中心服務(wù)器端。
Step5中心服務(wù)器端使用聯(lián)邦平均算法對wt,k進行聚合,將聚合后的模型參數(shù)(wt)下發(fā)至各客戶端。
屋里人多的時候,萍萍都是坐在一只小圓凳上,她的兩只手放在膝蓋上,微笑地看著我們說話,當(dāng)我們覺得是不是有點冷落萍萍而對她說:“萍萍,你為什么不說話?”
Step6重復(fù)Step2—Step5,直至模型收斂,訓(xùn)練結(jié)束。
試驗所用數(shù)據(jù)集為某鐵路局鐵路異物侵限監(jiān)測系統(tǒng)拍攝的圖像。該數(shù)據(jù)集由正常和有異物兩類圖像組成。將整個數(shù)據(jù)集以8∶2的比例劃分為訓(xùn)練集和驗證集。數(shù)據(jù)集分布見表1。
表1 數(shù)據(jù)集分布
采用分類準確率(Racc)對模型訓(xùn)練結(jié)果進行評價。
式中:Ap、An、Fp、Fn分別表示真陽(正常樣本分類正確)的數(shù)量、真陰(有異物樣本分類正確)的數(shù)量、假陽(有異物樣本被分類為正常樣本)的數(shù)量和假陰(正常樣本被分類為有異物樣本)的數(shù)量。
為了在保護參與方數(shù)據(jù)隱私的前提下提高模型準確率,設(shè)置5 個客戶端模擬5 個鐵路局。將原始數(shù)據(jù)集隨機劃分為5個不相交的子集,作為各客戶端的本地數(shù)據(jù)。各子集以9∶1的比例劃分為訓(xùn)練集和驗證集。
基于SE-ResNet18 網(wǎng)絡(luò)模型,在鐵路異物侵限檢測數(shù)據(jù)集相同的情況下分別通過中心化學(xué)習(xí)和聯(lián)邦學(xué)習(xí)訓(xùn)練模型,對比兩者所得模型識別準確率的差異。設(shè)置聯(lián)邦學(xué)習(xí)每輪次參與訓(xùn)練的客戶端數(shù)量為5。訓(xùn)練過程中,保證兩者參數(shù)設(shè)定一致,全局通信輪次均為20,局部迭代次數(shù)均為3,優(yōu)化器均采用隨機梯度下降法不斷尋優(yōu)。兩種學(xué)習(xí)方法所得模型訓(xùn)練結(jié)果對比見圖4。
圖4 兩種學(xué)習(xí)方法所得模型訓(xùn)練結(jié)果對比
由圖4可知:①中心化學(xué)習(xí)模型、聯(lián)邦學(xué)習(xí)模型分類準確率分別為86.9%、84.6%。兩種學(xué)習(xí)方法訓(xùn)練結(jié)果差異較小。與中心化學(xué)習(xí)相比,聯(lián)邦學(xué)習(xí)由各參與方在本地進行模型訓(xùn)練,僅將模型更新的參數(shù)上傳至中心服務(wù)器端進行匯總。各參與方數(shù)據(jù)在整個學(xué)習(xí)過程中不出本地,能夠有效防止數(shù)據(jù)泄露,保證各客戶端的數(shù)據(jù)隱私。②聯(lián)邦學(xué)習(xí)模型具有更快的損失收斂速度,這樣可減少模型訓(xùn)練時間,降低成本。
針對鐵路數(shù)據(jù)領(lǐng)域存在的數(shù)據(jù)孤島問題和隱私保護需求,本文提出了一種基于聯(lián)邦學(xué)習(xí)和深度注意力殘差網(wǎng)絡(luò)的鐵路異物侵限分類輔助判斷方法。在ResNet18 中嵌入SENet,可以自適應(yīng)地選擇和加權(quán)不同特征通道的信息,從而更加準確地捕捉到圖像中的關(guān)鍵信息。應(yīng)用聯(lián)邦學(xué)習(xí)技術(shù),保證數(shù)據(jù)持有方本地數(shù)據(jù)不出域,在保護鐵路數(shù)據(jù)持有方隱私的基礎(chǔ)上有效整合多方數(shù)據(jù)資源完成協(xié)作訓(xùn)練。
經(jīng)對一鐵路局鐵路異物侵限監(jiān)測系統(tǒng)拍攝的圖像數(shù)據(jù)進行測試,本文所提出的方法能夠在保證鐵路數(shù)據(jù)共享安全與隱私保護的同時,通過多方協(xié)作訓(xùn)練,獲得與中心化學(xué)習(xí)模型接近的識別準確率。