袁 媛,袁 松
(1.武漢體育學(xué)院 體育工程與信息技術(shù)學(xué)院,湖北 武漢 430079;2.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018)
認(rèn)知計(jì)算[1]是一種模擬人腦的新型智能技術(shù),通過數(shù)據(jù)驅(qū)動(dòng)建立具有推理、感知和響應(yīng)的精準(zhǔn)模型,對(duì)智能制造起到了重要作用。在智能制造場(chǎng)景下,引入聯(lián)邦學(xué)習(xí)[2](Federal Learning,FL)方法作為認(rèn)知計(jì)算的學(xué)習(xí)框架,是實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和安全的有效方法,其基本思想是以制造數(shù)據(jù)為驅(qū)動(dòng),將訓(xùn)練數(shù)據(jù)模型分配于多個(gè)設(shè)備上運(yùn)行,當(dāng)每輪訓(xùn)練結(jié)束后參數(shù)服務(wù)器收集設(shè)備節(jié)點(diǎn)的局部模型參數(shù)執(zhí)行聚合,并將更新后的全局模型參數(shù)返回給各設(shè)備繼續(xù)迭代訓(xùn)練至模型收斂。但這種通過中心化聚合的方法主要存在2個(gè)問題:(1)容易受到惡意攻擊行為截獲或篡改聚合的中間參數(shù)(如:推理攻擊[3]、鏈接攻擊[4]、投毒攻擊[5]等行為);(2)中心服務(wù)器與節(jié)點(diǎn)的遠(yuǎn)程通信容易產(chǎn)生隱私泄露的風(fēng)險(xiǎn)(如:設(shè)備節(jié)點(diǎn)互信[6]、虛假貢獻(xiàn)度[7]、單點(diǎn)失效[8]等問題)。
區(qū)塊鏈以其去中心化的特征,使智能認(rèn)知計(jì)算服務(wù)器形成一個(gè)不可篡改的分布式賬本[9],可以針對(duì)惡意攻擊行為實(shí)施有效防御。國(guó)內(nèi)外一些專家學(xué)者結(jié)合區(qū)塊鏈與聯(lián)邦學(xué)習(xí)的方法提出了相關(guān)模型方法,以解決數(shù)據(jù)保護(hù)和可信計(jì)算問題,大部分采用全局模型更新方法和共識(shí)算法。其中,全局模型更新方法將分散的聯(lián)邦學(xué)習(xí)數(shù)據(jù)以鏈路形式連接為一個(gè)不可篡改的分布式賬本,以確保數(shù)據(jù)的安全性,如文獻(xiàn)[10]設(shè)計(jì)的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)聯(lián)邦學(xué)習(xí)的區(qū)塊鏈(FLChain),文獻(xiàn)[11]提出的基于智能合約技術(shù)支持聯(lián)邦學(xué)習(xí)的模型聚合和參數(shù)更新方法。但此類方法的局限性在于其數(shù)據(jù)均以默克爾帕特里夏樹(Merkel Patricia Tree,MPT)形式進(jìn)行存儲(chǔ),并不斷計(jì)算分散的聯(lián)邦學(xué)習(xí)多個(gè)空間塊,會(huì)使模型信息損失較大;共識(shí)算法采用工作量證明共識(shí)算法維護(hù)模型的一致性問題,如文獻(xiàn)[12]以分布式哈希表存儲(chǔ)數(shù)據(jù)區(qū)塊,在霧計(jì)算環(huán)境下構(gòu)建的區(qū)塊鏈支持聯(lián)邦學(xué)習(xí)框架;文獻(xiàn)[13]利用深度Q學(xué)習(xí),在數(shù)據(jù)共享上部署聯(lián)邦學(xué)習(xí)和區(qū)塊鏈,達(dá)到物聯(lián)網(wǎng)場(chǎng)景下的模型共識(shí)。但此類方法的局限性在于忽略了礦工挖礦難度對(duì)工作量證明的影響,當(dāng)攻擊者哈希率變化對(duì)數(shù)據(jù)影響較大,抗攻擊能力較難快速收斂穩(wěn)定,從而影響數(shù)據(jù)認(rèn)知驅(qū)動(dòng)性能和抗攻擊能力。
基于上述問題,該文提出了一種區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)認(rèn)知模型(Federal-Block for Data to Cognitive,FB_DC)。其主要貢獻(xiàn)和創(chuàng)新:(1)將中心化的參數(shù)服務(wù)器構(gòu)建為去中心化的參數(shù)聚合器,通過區(qū)塊鏈的共識(shí)算法構(gòu)建激勵(lì)機(jī)制和交叉驗(yàn)證機(jī)制,生成區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知;(2)利用改進(jìn)馬爾可夫決策過程完成模型聚合實(shí)現(xiàn)全局更新的最優(yōu)策略,并提出Q強(qiáng)化學(xué)習(xí)方法支持聯(lián)邦學(xué)習(xí)的認(rèn)知計(jì)算。旨在提高物聯(lián)網(wǎng)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知性能和抗攻擊力,實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和安全。
結(jié)合項(xiàng)目研究工作,區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知計(jì)算框架如圖1所示。描述了區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)(FB_DC)框架,分為區(qū)塊鏈和聯(lián)邦學(xué)習(xí)2個(gè)部分。其中,區(qū)塊鏈作為底層邏輯基礎(chǔ),將智能制造環(huán)境下的物聯(lián)網(wǎng)數(shù)據(jù)通過基于工作量證明(Proof of Work,PoW)的共識(shí)算法分散聯(lián)邦學(xué)習(xí);聯(lián)邦學(xué)習(xí)方法用于實(shí)現(xiàn)認(rèn)知計(jì)算。
圖1 區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)數(shù)據(jù)驅(qū)動(dòng) 認(rèn)知計(jì)算框架
設(shè)聯(lián)邦學(xué)習(xí)的認(rèn)知計(jì)算由N個(gè)設(shè)備節(jié)點(diǎn)組成,定義為Vi(i=1,2,…,V)。每個(gè)設(shè)備(Vi)存儲(chǔ)了本地?cái)?shù)據(jù)標(biāo)簽(LDi),所有本地?cái)?shù)據(jù)遵循獨(dú)立且相同的分布。由于該文利用區(qū)塊鏈來實(shí)現(xiàn)分散的聯(lián)邦學(xué)習(xí),在每輪訓(xùn)練中,專用的中央服務(wù)器被臨時(shí)聚合器取代,聚合器和局部設(shè)備共同維護(hù)相同的學(xué)習(xí)模型,以實(shí)現(xiàn)高性能認(rèn)知計(jì)算能力。每個(gè)設(shè)備(Vi)通過訓(xùn)練本地?cái)?shù)據(jù)來維護(hù)其本地模型,將模型參數(shù)發(fā)送至相關(guān)的礦工(Mi),所選用的礦工來自礦工群(M={M1,M2,…,MN})。如果礦工數(shù)量與設(shè)備數(shù)量相同,則|M|=|V|,否則|M|<|V|。被選用的礦工(Mi)及其相關(guān)設(shè)備(Vi)作為聚合器,并根據(jù)所有局部模型參數(shù)訓(xùn)練全局模型參數(shù)。全局模型參數(shù)存儲(chǔ)于區(qū)塊后廣播至整個(gè)網(wǎng)絡(luò),并使用更新后的全局參數(shù)重新寫入所有局部模型。
(1)
?f(ω(l))}
(2)
(3)
迭代過程的約束取決于認(rèn)知計(jì)算的精度,采用常數(shù)ε表示為約束指數(shù),滿足當(dāng)ω(L)-ω(L-1)≤ε時(shí)確定全局參數(shù)。
圖2 區(qū)塊鏈結(jié)構(gòu)
算法1:區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知算法
輸入:設(shè)備節(jié)點(diǎn)(Vi)和礦工(Mi)
輸出:認(rèn)知計(jì)算模型
1.初始化參數(shù)Pks
2.while new LD do
3.Vi訓(xùn)練局部模型;
4. UploadPkstoMi; //上傳Pks到Mi
5.Mi進(jìn)行交叉驗(yàn)證;
6. ifMi找到臨時(shí)bithen
7. 各方鏈接bi到局部分類賬本中
8. end if
9.獲勝的Mw←Mi廣播bi//Mw為獲勝礦工
10.Mw訓(xùn)練全局模型GM
11. GM中的Pks→Vis
12.end while
在智能制造的物聯(lián)網(wǎng)場(chǎng)景中,區(qū)塊鏈節(jié)點(diǎn)收到訓(xùn)練設(shè)備節(jié)點(diǎn)的局部模型后進(jìn)行模型聚合,而現(xiàn)有的聚合方法主要通過聯(lián)邦平均的方法完成聚合[17](Federal Average,FA)。這種方法未考慮低質(zhì)量的局部模型會(huì)對(duì)全局模型聚合的影響。為使FB_DC的準(zhǔn)確性和安全性得到優(yōu)化,引入馬爾可夫決策過程(Markov Decision Process,MDP)對(duì)每輪聚合器的選擇進(jìn)行建模。MDP是1個(gè)在多個(gè)有限時(shí)間內(nèi)進(jìn)行的游戲,該游戲受概率狀態(tài)轉(zhuǎn)換約束,以1個(gè)聚合器和1個(gè)攻擊者場(chǎng)景為例,MDP表示為六元組模型{S,A1,A2,R1,R2,Pr}。其中,S為狀態(tài)空間,A1為聚合器行為,A2為攻擊者行為,R1,R2:S1×S2×A1×A2→R分別為聚合器和攻擊者的回報(bào)函數(shù),Pr:S1×S2×A1×A2→δ(S)表示狀態(tài)轉(zhuǎn)移概率,δ(S)為系統(tǒng)狀態(tài)(S)上一組概率分布。
(4)
式中,Ψ為攻擊者最大計(jì)算能力,當(dāng)Ψ≥t時(shí),攻擊者能夠分析所有全局更新,當(dāng)Ψ 在這種情況下,一方面,聚合器充當(dāng)臨時(shí)中央服務(wù)器,并將全局更新廣播至所有終端設(shè)備,聚合器的全局更新通過區(qū)塊鏈發(fā)布,取決于當(dāng)前系統(tǒng)狀態(tài)。聚合器只能根據(jù)上一次攻擊的輸出來估計(jì)攻擊者的行為,而上一次攻擊的輸出由聚合器識(shí)別,最后一次攻擊的輸出指示攻擊者是否成功發(fā)起攻擊并將偽造數(shù)據(jù)注入其中。另一方面,當(dāng)前系統(tǒng)狀態(tài)為馬爾可夫決策過程的最后一個(gè)系統(tǒng)狀態(tài)時(shí),如果聚合器識(shí)別出遠(yuǎn)離收斂的顯著反向趨勢(shì),它可以相對(duì)確定這一輪是否存在攻擊行為,以確定區(qū)塊鏈存儲(chǔ)所有全局更新的記錄,尤其是受到攻擊的更新記錄。在t階段使用ARt作為攻擊輸出,如果ARt=1,則攻擊成功;如果ARt=0,則攻擊失敗??偠灾?聚合器當(dāng)前的操作取決于這一輪的全局更新和上一輪攻擊的輸出,其系統(tǒng)狀態(tài)定義為: St={GUt,ARt} (5) 式中,GUt表示t時(shí)刻全局更新,狀態(tài)St的不確定性源于GUt的不確定性,而系統(tǒng)狀態(tài)取決于雙方行為,攻擊結(jié)果(ARt)由行為決定?;谶@種依賴關(guān)系,將狀態(tài)轉(zhuǎn)換表述為: (6) (7) (8) 為使馬爾可夫決策過程最終收斂穩(wěn)定,提出一種改進(jìn)Q-強(qiáng)化學(xué)習(xí)方法,通過減少基數(shù)來降低計(jì)算復(fù)雜度,用于推導(dǎo)聚合器和攻擊者的最優(yōu)策略,如算法2所示。 算法2:Q-強(qiáng)化學(xué)習(xí)算法 輸入:Au,Aad, S, R; 輸出:最優(yōu)策略(τ*); 1.t=0, ARt=0=0 2.初始化{τu,τad}; 3.while Convergence not reached do //循環(huán)直到收斂 5. 更新輸出攻擊ARt+1 8. 使用區(qū)塊鏈的聚合器選擇 9.end while 結(jié)合項(xiàng)目研究場(chǎng)景,以武漢市某小規(guī)模的柔性車間生產(chǎn)為例,所提的模型會(huì)將物聯(lián)網(wǎng)數(shù)據(jù)需求回報(bào)為全局?jǐn)?shù)據(jù)更新。在物聯(lián)網(wǎng)場(chǎng)景中搭建了簡(jiǎn)易的實(shí)驗(yàn)環(huán)境為Intel(R)Core(TM)I7-5300 CPU 2.5 Hz 8 GB RAM Windows 10,代碼主要基于Python V3.3/PyTorch V0.4實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)認(rèn)知計(jì)算。測(cè)試數(shù)據(jù)集選用CIFAR-10[20],包含50 000個(gè)訓(xùn)練樣本和10 000個(gè)測(cè)試樣本,從模型評(píng)估、服務(wù)性能和抗攻擊能力3個(gè)方面評(píng)估FB_DC的有效性。采用卷積神經(jīng)網(wǎng)絡(luò)[21](Convolutional Neural Networks,CNN)迭代訓(xùn)練全局模型,使用基于MDP的聚合算法實(shí)現(xiàn)全局模型更新。 采用CNN測(cè)試訓(xùn)練FB_DC,設(shè)卷積步長(zhǎng)核大小為3×3,步長(zhǎng)為1,激活函數(shù)為ReLU。如圖3所示,采用損失值和精準(zhǔn)率2種評(píng)估指標(biāo),分別評(píng)估FB_DC全局模型的訓(xùn)練損失(Loss)和訓(xùn)練準(zhǔn)確率(Accuracy),其中損失值用于評(píng)估模型訓(xùn)練中的收斂情況,并通過優(yōu)化損失率提高模型的預(yù)測(cè)能力;精準(zhǔn)率用于判斷模型中所有測(cè)試數(shù)據(jù)的準(zhǔn)確率。當(dāng)設(shè)備節(jié)點(diǎn)數(shù)量從10個(gè)增加至100個(gè)時(shí),隨著迭代輪次增加FB_DC訓(xùn)練損失量逐漸降低、準(zhǔn)確率逐步提高。這是由于FB_DC將中心化的參數(shù)服務(wù)器構(gòu)建為去中心化的參數(shù)聚合鏈,通過共識(shí)算法進(jìn)行驗(yàn)證,并利用馬爾可夫決策過程進(jìn)行模型聚合,得到最優(yōu)策略,返回各設(shè)備節(jié)點(diǎn)進(jìn)行本地模型更新,從而降低訓(xùn)練損失誤差,提高模型聚合的準(zhǔn)確率。 (b)CNN測(cè)試準(zhǔn)確率圖3 CNN在不同設(shè)備節(jié)點(diǎn)數(shù)的訓(xùn)練損失與準(zhǔn)確率 圖4 CNN模型準(zhǔn)確率誤差比較 為進(jìn)一步描述在受到投毒攻擊時(shí)FB_DC的MDP的有效性,與聯(lián)邦平均聚合算法(FA[17])進(jìn)行比較。如圖4所示,當(dāng)惡意節(jié)點(diǎn)數(shù)=10、區(qū)塊生成率(λ)=0.2時(shí),在100次模型聚合下FB_DC的準(zhǔn)確率比FA的準(zhǔn)確率平均高10%以上。同時(shí),所提出的基于馬爾可夫的模型聚合算法可以在支付函數(shù)中采用信息熵導(dǎo)出的全局更新(GUt)的訓(xùn)練損失。 主要評(píng)估區(qū)塊鏈模型聚合服務(wù)所需的平均存儲(chǔ)開銷和收斂時(shí)延,基于Python Flask框架實(shí)現(xiàn)區(qū)塊鏈服務(wù),在區(qū)塊鏈中設(shè)每個(gè)區(qū)塊存儲(chǔ)10次模型聚合交易。首先,將區(qū)塊模型聚合服務(wù)部署于區(qū)塊鏈上,開放多個(gè)端口模擬設(shè)備節(jié)點(diǎn)的區(qū)塊鏈網(wǎng)絡(luò);然后,采用基于馬爾可夫過程的策略進(jìn)行記賬,礦工挖礦難度根據(jù)每個(gè)設(shè)備節(jié)點(diǎn)挖礦難度動(dòng)態(tài)調(diào)整;最終在區(qū)塊中聚合模型交易數(shù)量從10增加至100。 (a)區(qū)塊鏈中模型聚合交易數(shù)量對(duì)模型性能的影響 所需平均存儲(chǔ)開銷和平均計(jì)算時(shí)延變化如圖5(a)所示。隨著聚合交易數(shù)量的增加,其通信開銷明顯增加,這是由于馬爾可夫決策過程使聚合器和攻擊者始終遵循最佳策略,使各節(jié)點(diǎn)消耗了更多的聚合模型參數(shù),使平均開銷呈線性增長(zhǎng)。圖5(b)分析了挖礦難度對(duì)文中聚合模型的影響,設(shè)備節(jié)點(diǎn)的挖礦難度由1增加至10,區(qū)塊鏈存儲(chǔ)開銷呈線性增長(zhǎng)趨勢(shì)。這是由于FB_DC在MDP中設(shè)置了支付函數(shù),并采用Q強(qiáng)化學(xué)習(xí)方法使行為和狀態(tài)相關(guān)的平均累積回報(bào)近似。 為說明FB_DC的抗攻擊能力,將FB_DC與獨(dú)立使用區(qū)塊鏈和聯(lián)邦學(xué)習(xí)的方法進(jìn)行了比較。如圖6所示,隨著攻擊者的哈希值增加數(shù)據(jù)動(dòng)蕩的情況,FB_DC在數(shù)據(jù)動(dòng)蕩幅度上均低于聯(lián)邦學(xué)習(xí)方法和區(qū)塊鏈方法。這是由于FB_DC提供了激勵(lì)機(jī)制和交叉驗(yàn)證機(jī)制,采用PoW作為共識(shí)性算法,提高了分散聯(lián)邦學(xué)習(xí)系統(tǒng)的可靠性。 圖6 攻擊者哈希率變化對(duì)數(shù)據(jù)動(dòng)蕩的影響 該文提出了一種區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)認(rèn)知模型(FB_DC)。主要成果是在智能制造物聯(lián)網(wǎng)場(chǎng)景中生成區(qū)塊鏈支持的聯(lián)邦學(xué)習(xí)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知,并提出模型聚合實(shí)現(xiàn)全局更新的最優(yōu)策略和Q強(qiáng)化學(xué)習(xí)方法,通過全局模型評(píng)估、服務(wù)性能分析、抗攻擊能力等實(shí)驗(yàn)驗(yàn)證其有效性,目的是提高物聯(lián)網(wǎng)數(shù)據(jù)驅(qū)動(dòng)認(rèn)知性能和抗攻擊力,實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)和安全。但該文的局限在于現(xiàn)有區(qū)塊鏈性能與聯(lián)邦學(xué)習(xí)算法的融合較難適應(yīng)大規(guī)模的數(shù)據(jù),下一步在保護(hù)物聯(lián)網(wǎng)數(shù)據(jù)的前提下,提高聯(lián)邦學(xué)習(xí)的訓(xùn)練效率和準(zhǔn)確率仍然是一個(gè)值得深入研究的課題,需要進(jìn)一步探索研究。2.3 系統(tǒng)狀態(tài)
2.4 交易支付
2.5 Q強(qiáng)化學(xué)習(xí)方法
3 實(shí)驗(yàn)結(jié)果與分析
3.1 全局模型評(píng)估
3.2 服務(wù)性能分析
3.3 抗攻擊能力
4 結(jié)束語(yǔ)