周 煒 王 超 徐 劍 胡克勇 王金龍
1(青島理工大學(xué)信息與控制工程學(xué)院 山東青島 266520) 2(大規(guī)模個(gè)性化定制系統(tǒng)與技術(shù)全國(guó)重點(diǎn)實(shí)驗(yàn)室(海爾集團(tuán)公司) 山東青島 266100) 3(東北大學(xué)軟件學(xué)院 沈陽(yáng) 110169)
機(jī)器學(xué)習(xí)為各行各業(yè)帶來(lái)了新的發(fā)展動(dòng)力,其在語(yǔ)音識(shí)別、圖像識(shí)別和分類、藥物發(fā)現(xiàn)、流感患病率預(yù)測(cè)等方面的應(yīng)用取得了顯著進(jìn)步[1-4].為了獲得高質(zhì)量的模型,傳統(tǒng)機(jī)器學(xué)習(xí)方案需要收集大量數(shù)據(jù)到中央服務(wù)器,這帶來(lái)了過(guò)高的計(jì)算開銷和隱私泄露的風(fēng)險(xiǎn).在諸如醫(yī)療保健、物聯(lián)網(wǎng)等領(lǐng)域,大量敏感數(shù)據(jù)廣泛分布在不同位置,有多個(gè)數(shù)據(jù)實(shí)體聯(lián)合建模的需求,但出于隱私保護(hù)的考慮,數(shù)據(jù)源之間存在難以打破的壁壘,對(duì)于數(shù)據(jù)的隱私性和安全性有著更高的要求.
隨著美國(guó)《健康保險(xiǎn)攜帶和責(zé)任法案》(health insurance portability and accountability act, HIPAA)[5]以及歐盟《通用數(shù)據(jù)保護(hù)條例》(general data protection regulation, GDPR)[6]的頒布實(shí)施,數(shù)據(jù)訪問(wèn)進(jìn)一步受到限制.業(yè)界和學(xué)術(shù)界開始更加注重在應(yīng)用機(jī)器學(xué)習(xí)時(shí)的隱私保護(hù)問(wèn)題,私有數(shù)據(jù)不應(yīng)公開上傳到中央服務(wù)器.谷歌在2016年首次提出聯(lián)邦學(xué)習(xí)的概念[7-9],建立了基于多個(gè)設(shè)備上數(shù)據(jù)集的分布式訓(xùn)練模型.訓(xùn)練過(guò)程包含一個(gè)中央服務(wù)器(即參數(shù)服務(wù)器)和多個(gè)設(shè)備節(jié)點(diǎn),節(jié)點(diǎn)從服務(wù)器下載現(xiàn)有模型,利用本地?cái)?shù)據(jù)進(jìn)行模型訓(xùn)練,僅上傳本地模型更新(即學(xué)習(xí)模型的權(quán)值和梯度參數(shù)).服務(wù)器則聚合所有的本地模型更新,從而形成一個(gè)全局模型更新.之后每個(gè)設(shè)備從中央服務(wù)器下載全局模型更新,進(jìn)入下一輪本地訓(xùn)練,直至全局模型訓(xùn)練完成.由于這種隱私特性,聯(lián)邦學(xué)習(xí)受到越來(lái)越多的研究和關(guān)注[10].
傳統(tǒng)聯(lián)邦學(xué)習(xí)依賴一個(gè)可信的中心化參數(shù)服務(wù)器,由多個(gè)參與方在保證各自數(shù)據(jù)不出本地的情況下協(xié)同訓(xùn)練一個(gè)全局模型.服務(wù)器負(fù)責(zé)收集局部模型更新,執(zhí)行更新聚合,維護(hù)全局模型更新等集中式操作,整個(gè)訓(xùn)練過(guò)程易受服務(wù)器故障的影響.惡意的參數(shù)服務(wù)器甚至?xí)竞δP?產(chǎn)生不準(zhǔn)確的全局更新,進(jìn)而扭曲所有的局部更新,從而使整個(gè)協(xié)同訓(xùn)練過(guò)程出錯(cuò).此外,部分研究已經(jīng)表明,未加密的中間參數(shù)可以用來(lái)推斷訓(xùn)練數(shù)據(jù)中的重要信息,參與方的私有數(shù)據(jù)面臨著暴露的風(fēng)險(xiǎn)[11-12].因此,在模型訓(xùn)練過(guò)程中,對(duì)局部模型更新采取合適的加密方案以及在分布式節(jié)點(diǎn)上維護(hù)全局模型顯得尤為重要.
區(qū)塊鏈作為一種時(shí)間有序、去中心化、不可篡改、可追溯、高可信、多方共同維護(hù)的分布式賬本,可以用于代替聯(lián)邦學(xué)習(xí)中的參數(shù)服務(wù)器,存儲(chǔ)模型訓(xùn)練過(guò)程中的相關(guān)信息.本文提出了一種基于區(qū)塊鏈的去中心化、安全、公平的聯(lián)邦學(xué)習(xí)模型——PPFLChain,使用區(qū)塊鏈存儲(chǔ)和維護(hù)模型信息,不要求參與方之間相互信任或信任任何第三方.為了保證參與方的隱私安全和模型的高性能表現(xiàn),PPFLChain沒有采用以犧牲訓(xùn)練模型性能來(lái)?yè)Q取隱私保障的差分隱私技術(shù)[13],而是采用同態(tài)加密技術(shù)來(lái)保證準(zhǔn)確性和機(jī)密性,并通過(guò)秘密共享方案為解密過(guò)程實(shí)現(xiàn)安全的密鑰管理.同時(shí)為了保證解密過(guò)程的順利,檢測(cè)錯(cuò)誤的秘密份額,雙線性映射累加器被用來(lái)生成秘密份額的證據(jù),提供驗(yàn)證手段.
為增強(qiáng)聯(lián)邦學(xué)習(xí)過(guò)程的可靠性,PPFLChain引入信譽(yù)值作為評(píng)估參與方可靠性的指標(biāo),信譽(yù)值較高的參與方意味著為模型訓(xùn)練過(guò)程做出了更多積極的貢獻(xiàn).信譽(yù)計(jì)算利用主觀邏輯模型實(shí)現(xiàn),根據(jù)參與方的歷史交互行為計(jì)算信譽(yù)值,并據(jù)此擇優(yōu)選出參與方組成聯(lián)邦學(xué)習(xí)委員會(huì),進(jìn)行模型聚合和協(xié)同解密.信譽(yù)值還作為激勵(lì)機(jī)制的參考,依據(jù)各參與方對(duì)訓(xùn)練過(guò)程的貢獻(xiàn)大小發(fā)放不等的獎(jiǎng)勵(lì),懲罰惡意的參與方,補(bǔ)償積極的參與方,以保障協(xié)同訓(xùn)練的公平性.值得注意的是,委員會(huì)成員不是一成不變的,而是每隔一段時(shí)間重新選舉一次,這有利于激發(fā)參與方的積極性,不斷改進(jìn)全局模型.
本文的貢獻(xiàn)主要有3個(gè)方面:
1) 提出一種基于區(qū)塊鏈的隱私保護(hù)聯(lián)邦學(xué)習(xí)模型——PPFLChain,實(shí)現(xiàn)去中心化、安全、公平的聯(lián)邦學(xué)習(xí).
2) 利用雙線性映射累加器生成秘密份額的證據(jù),為秘密共享方案提供可驗(yàn)證性,并從理論上分析該累加器方案的安全性.
3) 引入信譽(yù)值作為評(píng)估參與方可靠性的指標(biāo),利用主觀邏輯模型實(shí)現(xiàn)不信任增強(qiáng)的信譽(yù)計(jì)算作為聯(lián)邦學(xué)習(xí)委員會(huì)的選舉依據(jù).信譽(yù)值還作為激勵(lì)機(jī)制的參考,保障協(xié)同訓(xùn)練的公平性.
Yang等人[14]進(jìn)一步討論了聯(lián)邦學(xué)習(xí)的概念、體系結(jié)構(gòu)和潛在的應(yīng)用,根據(jù)數(shù)據(jù)集的分布特點(diǎn),將聯(lián)邦學(xué)習(xí)分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)、聯(lián)邦遷移學(xué)習(xí)3類.第1類針對(duì)不同數(shù)據(jù)集之間,特征重合較多而樣本重合較少的情形;第2類針對(duì)樣本重合較多而特征重合較少的情形;第3類針對(duì)特征和樣本均重合較少的情形.同時(shí)指出聯(lián)邦學(xué)習(xí)應(yīng)當(dāng)采取合適的技術(shù)手段提供有效的隱私保護(hù).
為給聯(lián)邦學(xué)習(xí)過(guò)程的中間結(jié)果提供有力的隱私保障,Aono等人[15]采用加法同態(tài)加密機(jī)制由任一終端生成密鑰對(duì)并分享給其他終端.各終端在本地訓(xùn)練完成后,上傳用公鑰加密后的中間參數(shù).中央服務(wù)器直接對(duì)收集的密文進(jìn)行盲計(jì)算,返回加法同態(tài)后的結(jié)果,各終端利用私鑰解密得到全局模型更新.但是這種方案由于所有終端都掌握著私鑰,一旦某個(gè)終端竊取到其他終端發(fā)送的密文信息,則能夠立刻解密得到明文參數(shù).更加值得注意的是,這種密鑰管理方案幾乎不能容忍入侵,對(duì)于終端的安全性要求較高.Zhang等人[16]將解密工作轉(zhuǎn)移到中央服務(wù)器上,由服務(wù)器聚合上傳的密文參數(shù)后解密.為防止局部參數(shù)泄露,采用秘密共享技術(shù)確保至少k個(gè)用戶上傳參數(shù)之后,服務(wù)器才能夠解密.Heikkil?等人[17]設(shè)計(jì)了由多個(gè)服務(wù)器組成的安全聚合方案.終端將本地更新參數(shù)隨機(jī)分割,加密后分別發(fā)送給多個(gè)服務(wù)器,單獨(dú)的服務(wù)器無(wú)法獲知原始數(shù)據(jù),僅能在收集完所有用戶的參數(shù)碎片后共同聚合并解密,得到聚合結(jié)果.
但是這種依賴一個(gè)或多個(gè)服務(wù)器的隱私保護(hù)聯(lián)邦學(xué)習(xí)方案仍面臨三大挑戰(zhàn):
1) 訓(xùn)練場(chǎng)景復(fù)雜多樣,聯(lián)邦學(xué)習(xí)中參與方的可信度低,并且完全依賴服務(wù)器的可靠性來(lái)存儲(chǔ)和計(jì)算模型更新,訓(xùn)練過(guò)程易受服務(wù)器故障和惡意攻擊的影響.
2) 聯(lián)邦學(xué)習(xí)具有增量特性,在訓(xùn)練過(guò)程中會(huì)產(chǎn)生大量信息,而聯(lián)邦學(xué)習(xí)缺乏對(duì)相關(guān)信息進(jìn)行驗(yàn)證的手段.
3) 聯(lián)邦學(xué)習(xí)缺少對(duì)參與方貢獻(xiàn)大小的考量,缺乏激勵(lì)手段來(lái)吸引更多的訓(xùn)練數(shù)據(jù)和計(jì)算資源,保障公平性.
區(qū)塊鏈作為一種去中心化的分布式賬本技術(shù),可以記錄歷史事務(wù)并防止篡改,是替換中心化服務(wù)器的有效解決方案.針對(duì)以上三大挑戰(zhàn),當(dāng)前區(qū)塊鏈也被作為改善聯(lián)邦學(xué)習(xí)的平臺(tái)進(jìn)行研究.Dillenberger等人[18]分析了聯(lián)邦學(xué)習(xí)與區(qū)塊鏈融合的可行性問(wèn)題.指出區(qū)塊鏈為聯(lián)邦學(xué)習(xí)過(guò)程提供了一種安全的交換學(xué)習(xí)模型參數(shù)的方法,其在存儲(chǔ)模型參數(shù)的同時(shí)允許對(duì)聯(lián)邦學(xué)習(xí)中迭代的模型進(jìn)行審計(jì).此外,基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)的性能幾乎可以與獨(dú)立的聯(lián)邦學(xué)習(xí)相媲美.
Kim等人[19]提出了BlockFL,在區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下進(jìn)行設(shè)備上的聯(lián)邦學(xué)習(xí).用戶設(shè)備在本地訓(xùn)練數(shù)據(jù)并上傳模型更新,礦工負(fù)責(zé)在預(yù)定時(shí)間內(nèi)收集足夠多的本地模型更新并打包成塊記入?yún)^(qū)塊鏈.BlockFL根據(jù)本地訓(xùn)練時(shí)長(zhǎng)來(lái)分配數(shù)據(jù)獎(jiǎng)勵(lì)給設(shè)備節(jié)點(diǎn),以及分配挖礦獎(jiǎng)勵(lì)給礦工,并通過(guò)調(diào)整塊生成率,即POW難度,使延遲最小化.然而由于設(shè)備節(jié)點(diǎn)的間歇性和可用性的問(wèn)題,更加動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境間接導(dǎo)致了部分參與設(shè)備在預(yù)定時(shí)間內(nèi)訓(xùn)練完本地模型并上傳更新是不可靠的.
Li等人[20]提出了BFLC,為聯(lián)邦學(xué)習(xí)選擇可靠的參與者.系統(tǒng)詳細(xì)定義了模型在區(qū)塊鏈上的存儲(chǔ)模式、訓(xùn)練過(guò)程和一個(gè)新的委員會(huì)共識(shí).委員會(huì)成員不參與本次迭代的訓(xùn)練過(guò)程,而將本地?cái)?shù)據(jù)集作為驗(yàn)證集來(lái)驗(yàn)證參與者的局部更新是否可靠,并給出驗(yàn)證得分,以達(dá)到交叉驗(yàn)證的效果.智能合約則在一段時(shí)間后選出性能較好的節(jié)點(diǎn),組成下一輪訓(xùn)練的新委員會(huì).通過(guò)這種方式,BFLC選出了可靠的聯(lián)邦學(xué)習(xí)參與者,實(shí)現(xiàn)了在投毒攻擊的情況下仍能保持良好的模型性能,同時(shí)提高了共識(shí)效率.但是由于難以在保持模型可用性的同時(shí)提供有力的隱私保護(hù),該系統(tǒng)傳輸?shù)氖敲魑牡闹虚g參數(shù),并未考慮參數(shù)的機(jī)密性.
Weng等人[21]提出了DeepChain,為深度學(xué)習(xí)提供安全的訓(xùn)練環(huán)境.具體做法是利用同態(tài)加密保證局部更新的機(jī)密性,結(jié)合秘密共享實(shí)現(xiàn)協(xié)同解密全局模型,并基于普遍可驗(yàn)證的CDN(UVCDN)協(xié)議來(lái)實(shí)現(xiàn)加密梯度和解密份額的可審計(jì)性.采用的blockwise-BA共識(shí)協(xié)議通過(guò)加密抽簽選擇一個(gè)工作者來(lái)創(chuàng)建區(qū)塊,并由該區(qū)塊內(nèi)交易的參與者所組成的委員會(huì)驗(yàn)證.DeepChain還實(shí)現(xiàn)了一種基于區(qū)塊鏈的激勵(lì)機(jī)制,利用名為deepcoin的數(shù)字貨幣作為資產(chǎn)來(lái)獎(jiǎng)勵(lì)誠(chéng)實(shí)的參與者,懲罰惡意的參與者.然而該方案假定選舉的全體委員會(huì)成員都是誠(chéng)實(shí)的,并且隨機(jī)算法是接近完美隨機(jī)的.
現(xiàn)有基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)方案可以有效記錄節(jié)點(diǎn)的性能、減少惡意攻擊、提高模型訓(xùn)練的準(zhǔn)確性;但在隱私保護(hù)、增加驗(yàn)證手段、衡量參與方貢獻(xiàn)大小及保障公平性方面還有所欠缺.同時(shí),采取合適的方案選擇誠(chéng)實(shí)可靠的參與方對(duì)于聯(lián)邦學(xué)習(xí)任務(wù)來(lái)說(shuō)也是至關(guān)重要的.
本節(jié)對(duì)系統(tǒng)設(shè)計(jì)中需要用到的關(guān)鍵技術(shù)給出一些初步的介紹,包括區(qū)塊鏈、秘密共享、同態(tài)加密、雙線性映射累加器.
區(qū)塊鏈?zhǔn)且环N點(diǎn)對(duì)點(diǎn)、時(shí)間有序的去中心化分布式賬本技術(shù),具有密碼學(xué)保證的不可篡改、不可偽造的特點(diǎn)[22].事務(wù)信息存儲(chǔ)在包含時(shí)間戳和上一個(gè)塊引用的區(qū)塊中,并以鏈的形式增長(zhǎng),由所有參與方共同維護(hù),并通過(guò)共識(shí)算法來(lái)保證賬本的一致性[23].根據(jù)準(zhǔn)入規(guī)則,區(qū)塊鏈可以分為公有鏈和聯(lián)盟鏈.對(duì)于公有鏈,參與方可以自由加入和退出,參與方的數(shù)量不是固定的,如比特幣[24];對(duì)于聯(lián)盟鏈,只有得到授權(quán)的用戶才能加入,參與方集合通常是預(yù)先定義好的[25],如IBM的Hyperledger fabric.
區(qū)塊鏈以其透明、可追溯、健壯的特點(diǎn),可在互不了解的多方間建立起可靠的信任,是在不安全的環(huán)境下替換易受攻擊的中央服務(wù)器的一種有效解決方案.聯(lián)盟鏈作為具備準(zhǔn)入控制的區(qū)塊鏈,適用于需要預(yù)先審核用戶和具有相對(duì)穩(wěn)定參與方集合的聯(lián)邦學(xué)習(xí).亟需一種合適的方法將區(qū)塊鏈和隱私保護(hù)聯(lián)邦學(xué)習(xí)結(jié)合起來(lái),以解決中央服務(wù)器的安全問(wèn)題,增強(qiáng)多方參與模型訓(xùn)練的安全性.
秘密共享是在多個(gè)參與方之間共享秘密的密碼學(xué)技術(shù),保證信息不會(huì)被破壞、篡改和丟失.秘密共享通過(guò)特定運(yùn)算將秘密分成若干份額,分配給多個(gè)參與方,秘密恢復(fù)需要根據(jù)協(xié)議由多個(gè)參與方聯(lián)合進(jìn)行,單獨(dú)的秘密份額沒有用處.目前的秘密共享方案主要包括Shamir方案[26]、Blakley方案[27]、中國(guó)剩余定理方案[28]等.Shamir方案作為一種(k,N)門限方案,將秘密S分為N個(gè)秘密碎片并分配給N個(gè)參與方,要求至少k個(gè)參與方合作才能恢復(fù)出秘密,而少于k個(gè)參與方得不到有關(guān)秘密的任何信息.該方案基于拉格朗日插值公式實(shí)現(xiàn),核心功能有2個(gè):
1) 秘密分割.F(x)=S+a1x1+a2x2+…+ak-1xk-1modp.其中p為大于秘密S的素?cái)?shù),a1,a2,…,ak-1為小于p的隨機(jī)數(shù).取N個(gè)不相等的x代入可以得到N個(gè)秘密碎片s0,s1,…,sN,其中si=(xi,yi).
該方案能夠在分布式系統(tǒng)中實(shí)現(xiàn)安全的密鑰管理和信息保護(hù),有效防止系統(tǒng)外部攻擊和內(nèi)部用戶的背叛,達(dá)到分散風(fēng)險(xiǎn)和容忍入侵的目的.
同態(tài)加密是一種對(duì)密文進(jìn)行運(yùn)算的基于數(shù)學(xué)難題和計(jì)算復(fù)雜性理論的密碼學(xué)技術(shù),允許對(duì)加密后的密文直接進(jìn)行計(jì)算,且解密后的結(jié)果與基于明文的計(jì)算結(jié)果相同[29].根據(jù)支持密文運(yùn)算的程度,同態(tài)加密可以分為部分同態(tài)加密和完全同態(tài)加密2類.部分同態(tài)加密只能支持有限的密文計(jì)算深度,在一些運(yùn)算并不復(fù)雜的場(chǎng)景中得到應(yīng)用,如Paillier同態(tài)加密支持密文間的加法運(yùn)算,但是不支持密文間的乘法運(yùn)算[30];BGN(Boneh-Goh-Nissim)方案能夠支持無(wú)限次密文間的加法運(yùn)算,但是只能支持一次密文間的乘法運(yùn)算[31].完全同態(tài)加密對(duì)密文的計(jì)算深度沒有限制,支持任意類型的密文計(jì)算,但是計(jì)算代價(jià)高、效率低下,并未得到大規(guī)模應(yīng)用[32].
同態(tài)加密作為一種特殊的加密算法已被用于聯(lián)邦學(xué)習(xí)中的隱私保護(hù),參與方傳遞的都是加密后的參數(shù)信息,保證這些信息即使被攻擊也不會(huì)泄露模型信息和用戶隱私.用于解密的私鑰安全性變得尤為重要.門限同態(tài)加密將私鑰分割為多份,由多個(gè)參與方持有并且解密過(guò)程需要多方協(xié)同進(jìn)行,是一種安全的多方計(jì)算方案.門限Paillier同態(tài)加密[33]作為這種方案的典型,包含4個(gè)過(guò)程:
1) 密鑰生成.KeyGen(p,q)→(pk,sk).隨機(jī)選擇2個(gè)大質(zhì)數(shù)p,q,使得p=2p′+1,q=2q′+1,gcd(n,φ(n))=1,其中p′,q′為不同于p,q的質(zhì)數(shù).計(jì)算n=pq,m=p′q′.隨機(jī)選擇β∈*n,(a,b)∈*n×*n.令g=(1+n)abnmodn2,θ=amβmodn,生成公鑰pk=(n,g,θ),私鑰sk=mβ.私鑰sk通過(guò)Shamir秘密共享方案進(jìn)行分割,第i個(gè)參與方Pi將得到秘密份額modnm,其中d0=sk,d1~dk-1為從{0,1,…,nm-1}中隨機(jī)選取的值.
2) 加密.Enc(m,pk)→c.對(duì)于明文m,隨機(jī)選擇一個(gè)數(shù)r∈*n,加密可得到密文
c=C(m)=gmrnmodn2.
(1)
3) 解密份額生成.ShareDec(c,si)→ci.N個(gè)參與方中第i個(gè)參與方Pi利用持有的秘密份額si計(jì)算其解密份額
ci=c2N!simodn2.
(2)
4) 協(xié)同解密.CollaborativeDec(D,pk)→m.設(shè)集合D包含至少k個(gè)正確的解密份額,計(jì)算可得到明文
(3)
該方案滿足加法同態(tài)性質(zhì),對(duì)于2個(gè)密文C(m1)和C(m2),計(jì)算后得到基于明文的和運(yùn)算結(jié)果的密文,即
C(m1)C(m2)=gm1+m2(r1r2)nmodn2=
C(m1+m2).
(4)
擴(kuò)展到多個(gè)密文的計(jì)算,這種性質(zhì)能夠確保聯(lián)邦學(xué)習(xí)在參與方傳遞加密參數(shù)信息的情況下,安全地聚合局部模型,起到保護(hù)參與方隱私的效果.
在數(shù)學(xué)中,雙線性映射指的是2個(gè)循環(huán)群之間對(duì)應(yīng)的線性映射關(guān)系.定義一個(gè)概率多項(xiàng)式時(shí)間雙線性映射生成算法BMGen(1λ) →(e,g,G,H,p),其中G和H是具有相同素?cái)?shù)階p的循環(huán)乘法群,g為G的生成元,則存在雙線性映射e:G×G→H,具備3條性質(zhì)[34]:
1) 雙線性.對(duì)于任意的u,v∈G和a,b∈p,均滿足e(ua,vb)=e(u,v)ab.
2) 非退化性.e(g,g)≠1,其中1為群H的單位元.
3) 可計(jì)算性.對(duì)于任意的u,v∈G,e(u,v)都能夠高效計(jì)算得出.
在密碼學(xué)中,累加器是一個(gè)單向的隸屬函數(shù),用于識(shí)別一個(gè)元素是否為某個(gè)特定集合的成員,能夠?qū)⒓现械乃性剡M(jìn)行累加,生成一個(gè)固定大小的值,并高效地給出任意元素的(非)成員證明,且在驗(yàn)證過(guò)程中不會(huì)暴露集合中的成員信息.密碼學(xué)累加器主要分為靜態(tài)累加器、動(dòng)態(tài)累加器以及通用累加器3種類型[34].第1種針對(duì)靜態(tài)集合中元素的累加;第2種允許從累加集合中動(dòng)態(tài)地添加和刪除元素;第3種能夠同時(shí)支持成員證明和非成員證明.根據(jù)底層密碼工具的不同,可分為基于RSA的密碼學(xué)累加器、基于雙線性映射的密碼學(xué)累加器和基于Merkle哈希樹的密碼學(xué)累加器.該技術(shù)已在群簽名、匿名憑證、外包數(shù)據(jù)驗(yàn)證等領(lǐng)域得到廣泛應(yīng)用.
本節(jié)介紹所提出的PPFLChain,一種基于區(qū)塊鏈的去中心化、安全、公平的聯(lián)邦學(xué)習(xí)模型,并討論整個(gè)學(xué)習(xí)過(guò)程中面臨的威脅和安全目標(biāo).
PPFLChain利用區(qū)塊鏈取代傳統(tǒng)聯(lián)邦學(xué)習(xí)中的參數(shù)服務(wù)器,以去中心化的方式存儲(chǔ)協(xié)作訓(xùn)練信息,避免服務(wù)器單點(diǎn)故障影響模型訓(xùn)練的過(guò)程,并通過(guò)結(jié)合同態(tài)加密、秘密共享以及密碼學(xué)累加器技術(shù)實(shí)現(xiàn)可追蹤、可驗(yàn)證和隱私保護(hù)的聯(lián)邦學(xué)習(xí),增強(qiáng)模型訓(xùn)練過(guò)程的安全性.同時(shí),系統(tǒng)根據(jù)參與方的行為表現(xiàn)給出信譽(yù)評(píng)估,并據(jù)此選舉出一個(gè)聯(lián)邦學(xué)習(xí)委員會(huì)進(jìn)行模型聚合和協(xié)同解密.信譽(yù)得分還將作為激勵(lì)機(jī)制的參考保障聯(lián)邦學(xué)習(xí)的公平性.
系統(tǒng)的概覽如圖1所示.由圖1可知,系統(tǒng)主要由4部分組成:任務(wù)發(fā)布方、參與方、委員會(huì)和區(qū)塊鏈.具體來(lái)說(shuō),任務(wù)發(fā)布方發(fā)布聯(lián)邦學(xué)習(xí)模型訓(xùn)練任務(wù),對(duì)該任務(wù)感興趣的節(jié)點(diǎn)可以申請(qǐng)參與到模型訓(xùn)練當(dāng)中,提交本地模型更新到區(qū)塊鏈.委員會(huì)負(fù)責(zé)聚合區(qū)塊鏈上記錄的所有局部模型更新,并提交全局更新到區(qū)塊鏈.最后區(qū)塊鏈替代集中式服務(wù)器收集和存儲(chǔ)協(xié)作訓(xùn)練信息.下面將對(duì)PPFL-Chain的各個(gè)組件進(jìn)行詳細(xì)說(shuō)明.
1) 任務(wù)發(fā)布方.根據(jù)需求提出建立一個(gè)機(jī)器學(xué)習(xí)模型,同時(shí)發(fā)布聯(lián)邦學(xué)習(xí)模型訓(xùn)練任務(wù)的要求(即存儲(chǔ)、計(jì)算能力等的要求),并支付一筆費(fèi)用作為獎(jiǎng)池.對(duì)此感興趣并符合要求的節(jié)點(diǎn)可以申請(qǐng)參與該聯(lián)邦學(xué)習(xí)任務(wù).然后任務(wù)發(fā)布方將隨機(jī)選擇參數(shù)的初始化模型上傳到區(qū)塊鏈.隨著越來(lái)越多的節(jié)點(diǎn)加入其中并為模型訓(xùn)練做貢獻(xiàn),任務(wù)發(fā)布方將最終得到一個(gè)高性能的機(jī)器學(xué)習(xí)模型.
2) 參與方.指申請(qǐng)加入模型訓(xùn)練任務(wù)并經(jīng)過(guò)任務(wù)發(fā)布方審核通過(guò)的節(jié)點(diǎn),其對(duì)該機(jī)器學(xué)習(xí)模型有需求,但由于自身存儲(chǔ)、計(jì)算能力不足或數(shù)據(jù)資源有限而無(wú)法單獨(dú)完成整個(gè)訓(xùn)練任務(wù).參與方在上傳局部更新到區(qū)塊鏈時(shí),需要申明本地?cái)?shù)據(jù)量大小,并附加相應(yīng)的訓(xùn)練耗時(shí),據(jù)此表明自己的數(shù)據(jù)貢獻(xiàn)大小.
3) 委員會(huì).系統(tǒng)將委員會(huì)中成員的數(shù)量設(shè)定為所有參與方數(shù)量的一半.初始委員會(huì)由任務(wù)發(fā)布方隨機(jī)指定參與方組成,并依次擔(dān)任委員會(huì)的領(lǐng)導(dǎo)者,負(fù)責(zé)模型聚合和發(fā)放數(shù)據(jù)貢獻(xiàn)獎(jiǎng)勵(lì)給相應(yīng)的參與方.在輪流擔(dān)任領(lǐng)導(dǎo)者一圈或未擔(dān)任領(lǐng)導(dǎo)者的委員會(huì)成員不在線時(shí),系統(tǒng)將按照參與方的信譽(yù)值高低擇優(yōu)選舉一半節(jié)點(diǎn)組成新的委員會(huì),關(guān)于信譽(yù)計(jì)算的更多細(xì)節(jié)將在第4節(jié)中給出.
4) 區(qū)塊鏈.由于聯(lián)盟鏈作為區(qū)塊鏈的一種特殊類型,具備準(zhǔn)入控制,符合需要預(yù)先審核用戶和具有相對(duì)穩(wěn)定參與方集合的設(shè)定,PPFLChain使用聯(lián)盟鏈取代傳統(tǒng)聯(lián)邦學(xué)習(xí)中的參數(shù)服務(wù)器來(lái)存儲(chǔ)局部更新和全局更新.所有參與方共同維護(hù)區(qū)塊鏈賬本,單一節(jié)點(diǎn)的故障或退出并不影響其他參與方對(duì)信息的獲取,這提高了數(shù)據(jù)容災(zāi)的能力.此外,由于區(qū)塊鏈具有透明、可追溯、不可抵賴的特點(diǎn),系統(tǒng)對(duì)每個(gè)參與方的信譽(yù)評(píng)估歷史也被記錄在區(qū)塊鏈上,基于信譽(yù)的聯(lián)邦學(xué)習(xí)委員會(huì)選舉方案也變得更加開放、透明和可靠.
Fig. 1 System model of PPFLChain圖1 PPFLChain系統(tǒng)模型
系統(tǒng)假設(shè)參與方是誠(chéng)實(shí)訓(xùn)練的,都是經(jīng)過(guò)嚴(yán)格審核后加入的節(jié)點(diǎn),有著獲得更好模型性能的期望,不會(huì)發(fā)起投毒攻擊以毒害全局模型,進(jìn)而扭曲所有的局部更新,從而使整個(gè)協(xié)同訓(xùn)練過(guò)程出錯(cuò).但是他們可能會(huì)對(duì)數(shù)據(jù)隱私感興趣或者有意無(wú)意地做出其他錯(cuò)誤行為.接下來(lái)將討論P(yáng)PFLChain面臨的威脅,以及在應(yīng)對(duì)這些威脅時(shí)能夠?qū)崿F(xiàn)的安全目標(biāo).
威脅1:本地?cái)?shù)據(jù)和模型信息泄露.盡管在聯(lián)邦學(xué)習(xí)過(guò)程當(dāng)中,每個(gè)參與方利用自身數(shù)據(jù)在本地進(jìn)行模型訓(xùn)練,只上傳中間參數(shù),但這種明文參數(shù)可能被其他參與方利用,他們可以通過(guò)發(fā)起成員推理攻擊,推斷出局部數(shù)據(jù)的重要信息,或基于梯度發(fā)起參數(shù)推斷攻擊,獲取模型的敏感信息.
安全目標(biāo)1:訓(xùn)練數(shù)據(jù)和中間參數(shù)的機(jī)密性.聯(lián)邦學(xué)習(xí)參與方在不主動(dòng)公開本地訓(xùn)練數(shù)據(jù)的情況下,不會(huì)泄露數(shù)據(jù)隱私,其他方在協(xié)同訓(xùn)練的過(guò)程中無(wú)法直接或間接地得到有關(guān)該方的真實(shí)數(shù)據(jù)信息.參與方利用本地?cái)?shù)據(jù)訓(xùn)練完模型后,通過(guò)同態(tài)加密技術(shù)加密參數(shù)后上傳,而不是傳輸明文信息,其他方無(wú)法根據(jù)密文更新推斷出該方的中間參數(shù)信息以及本地?cái)?shù)據(jù)信息.
威脅2:參與方行為錯(cuò)誤.主要包含3種錯(cuò)誤行為:1)考慮參與方可能會(huì)為了節(jié)省訓(xùn)練成本,謊報(bào)一個(gè)較大的數(shù)據(jù)量,而實(shí)際在本地進(jìn)行模型訓(xùn)練的數(shù)據(jù)集較小,以期獲得更多的數(shù)據(jù)貢獻(xiàn)獎(jiǎng)勵(lì);2)考慮委員會(huì)領(lǐng)導(dǎo)者在計(jì)算全局更新時(shí)可能會(huì)給出錯(cuò)誤的聚合結(jié)果;3)考慮在協(xié)同解密時(shí),委員會(huì)成員可能為了個(gè)人利益給出錯(cuò)誤的解密份額,想要提前中止訓(xùn)練過(guò)程.這些錯(cuò)誤行為都將導(dǎo)致誠(chéng)實(shí)的參與方蒙受損失,甚至導(dǎo)致協(xié)同訓(xùn)練任務(wù)失敗.
安全目標(biāo)2:模型聚合與秘密份額的正確性驗(yàn)證.參與方上傳的局部更新密文以及委員會(huì)領(lǐng)導(dǎo)者計(jì)算的全局更新密文都將以公開透明的方式被記錄在區(qū)塊鏈上,任何參與方都可以通過(guò)這些事務(wù)來(lái)驗(yàn)證計(jì)算結(jié)果的正確性.秘密份額的證據(jù)由雙線性映射累加器產(chǎn)生并被記錄到區(qū)塊鏈,任何參與方都可以利用該方案驗(yàn)證秘密份額的正確性,監(jiān)督委員會(huì)成員計(jì)算出正確的解密份額.
安全目標(biāo)3:參與方的公平性保障.PPFLChain考量參與方的貢獻(xiàn)大小,對(duì)模型訓(xùn)練貢獻(xiàn)較大的一方將獲得更多的獎(jiǎng)勵(lì).貢獻(xiàn)大小主要包含2個(gè)方面:1)參與方本地?cái)?shù)據(jù)量大小.根據(jù)其訓(xùn)練花費(fèi)的時(shí)間與訓(xùn)練樣本的多少成正比關(guān)系確定.2)參與方的信譽(yù)值.參與方只有誠(chéng)實(shí)積極地為模型訓(xùn)練過(guò)程做貢獻(xiàn),才能提升自己的信譽(yù)值.高信譽(yù)值的參與方意味著做出了更多的貢獻(xiàn),將得到更多的獎(jiǎng)勵(lì).PPFLChain還采取懲罰措施,對(duì)有錯(cuò)誤行為的參與方進(jìn)行罰款,以補(bǔ)償誠(chéng)實(shí)的參與方.同時(shí)受信譽(yù)計(jì)算方案的影響,行為錯(cuò)誤的參與方將會(huì)獲得較低的信譽(yù)得分.
Nguyen[35]提出的雙線性映射累加器,是基于q-SDH(q-Strong Diffie-Hellman)假設(shè)[36]的動(dòng)態(tài)累加器,以雙線性對(duì)運(yùn)算為基礎(chǔ),能夠?yàn)榧现械脑靥峁┖?jiǎn)短成員關(guān)系證明.設(shè)tup=(e,g,G,H,p)是雙線性映射的一組參數(shù).對(duì)于s∈*p,給定元素gs,…,gsq∈G,q-SDH假設(shè)是指對(duì)于所有多項(xiàng)式q和所有概率多項(xiàng)式時(shí)間對(duì)手Adv:
(5)
該假設(shè)表明Adv幾乎無(wú)法通過(guò)破解累加器來(lái)偽造成員關(guān)系證明.式(5)是該累加器的安全基礎(chǔ).
為實(shí)現(xiàn)委員會(huì)協(xié)同解密全局模型過(guò)程中秘密份額的正確性驗(yàn)證,PPFLChain基于上述雙線性映射累加器構(gòu)造,設(shè)計(jì)出適用于本系統(tǒng)的累加器方案,由4種概率多項(xiàng)式時(shí)間算法組成:
1)KeyGen(1λ)→(sk,pk).λ為安全參數(shù),輸入1λ并選擇一個(gè)隨機(jī)值s∈*p;輸出為私鑰sk=s和公鑰pk=(g,gs,gs2,…,gsq).
為了便于表示,表1列出了描述使用的相關(guān)符號(hào):
Table 1 Notation Description
結(jié)合圖1中過(guò)程①~⑨,PPFLChain的工作流程主要包含6個(gè)階段:初始化、聯(lián)邦成立、全局更新下載、本地模型訓(xùn)練、局部更新上傳、全局模型更新.
在初始化階段(l=0),任務(wù)發(fā)布方發(fā)布模型學(xué)習(xí)的任務(wù)要求,并支付一筆費(fèi)用作為獎(jiǎng)池.然后將隨機(jī)選擇參數(shù)的初始化模型W0上傳到區(qū)塊鏈(如過(guò)程①).節(jié)點(diǎn)根據(jù)自身計(jì)算能力和數(shù)據(jù)資源條件向任務(wù)發(fā)布方申請(qǐng)加入建模過(guò)程,審批通過(guò)的節(jié)點(diǎn)將參與到該模型訓(xùn)練任務(wù)當(dāng)中,并繳納一筆費(fèi)用作為押金.具體的審批方式可以是線下協(xié)商等形式,這不是本文關(guān)注的重點(diǎn).
在全局更新下載階段,參與方從區(qū)塊鏈上最新的塊下載全局模型更新Wl(如過(guò)程②),并將其作為下一次本地模型訓(xùn)練的輸入.
在協(xié)同解密過(guò)程中,要求至少有k個(gè)委員會(huì)成員提供正確的解密份額來(lái)協(xié)作解密C(Wl)(如過(guò)程⑦).CMj利用持有的秘密份額sj通過(guò)式(2)計(jì)算得到解密份額cj并提供證據(jù)ρj證明其使用了正確的秘密份額進(jìn)行計(jì)算,整個(gè)秘密份額驗(yàn)證過(guò)程在算法1中進(jìn)行了詳細(xì)描述.通過(guò)式(3)解密后生成的全局模型更新Wl被領(lǐng)導(dǎo)者上傳到區(qū)塊鏈(如過(guò)程⑧).
算法1.基于密碼學(xué)累加器的秘密份額驗(yàn)證.
begin
證據(jù)生成(由任務(wù)發(fā)布方執(zhí)行):
設(shè)S為秘密份額集合{s1,s2,…,sN};
應(yīng)用Calc(·)生成累加值acc(S);
#acc(S)將作為秘密摘要記錄到區(qū)塊鏈.
對(duì)于每個(gè)秘密份額子集Si?S,Si={si}
應(yīng)用ProveContainment(S,Si,pka)→ρi,生成證據(jù).
#每個(gè)證據(jù)ρi將連同秘密份額si一起發(fā)送給參與方Pi.
驗(yàn)證對(duì)象生成(由參與方執(zhí)行):
對(duì)于每個(gè)擁有秘密份額si的參與方
應(yīng)用Calc(Si,pka)→acc(Si);
然后發(fā)送驗(yàn)證對(duì)象〈acc(Si),ρi〉給驗(yàn)證者.
結(jié)果驗(yàn)證(由驗(yàn)證者執(zhí)行):
從區(qū)塊鏈讀取秘密摘要acc(S);
應(yīng)用VerifyContainment(acc(S),acc(Si),ρi,pka);
如果si是正確的秘密份額,輸出1;
否則,輸出0.
end
然后不斷迭代過(guò)程②~⑧直至模型收斂,模型收斂的條件是損失函數(shù)小于預(yù)先設(shè)定的值或迭代次數(shù)達(dá)到預(yù)先設(shè)定的最大迭代次數(shù).最終任務(wù)發(fā)布方從區(qū)塊鏈上得到一個(gè)高性能的機(jī)器學(xué)習(xí)模型(如過(guò)程⑨).
值得注意的是,由于秘密共享方案的可配置性,PPFLChain在委員會(huì)成員協(xié)同解密全局模型更新時(shí),一般設(shè)定k 委員會(huì)在PPFLChain的模型訓(xùn)練過(guò)程當(dāng)中扮演著重要角色,負(fù)責(zé)驗(yàn)證參與方數(shù)據(jù)貢獻(xiàn)大小、聚合模型和協(xié)同解密全局模型.這都將關(guān)系到訓(xùn)練模型的精度和協(xié)作學(xué)習(xí)的安全及效率,甚至是訓(xùn)練過(guò)程的正常運(yùn)作.因此,采取高效、準(zhǔn)確的信譽(yù)計(jì)算方法來(lái)選舉出可靠的委員會(huì)成員是至關(guān)重要的.本節(jié)基于主觀邏輯模型設(shè)計(jì)了一種不信任增強(qiáng)的信譽(yù)計(jì)算方法,在評(píng)估不同實(shí)體可信度和可靠性水平的同時(shí),引導(dǎo)委員會(huì)成員行為正確. (6) (7) (8) (9) 參與方的信譽(yù)值更新將在每次全局模型更新后進(jìn)行. 本節(jié)根據(jù)PPFLChain面臨的威脅,回顧3.2節(jié)中系統(tǒng)實(shí)現(xiàn)的安全目標(biāo),并給出相應(yīng)的安全分析. 定義1.安全性[39].對(duì)于所有的安全參數(shù)λ∈,運(yùn)行KeyGen(1λ)→(sk,pk),然后把公鑰pk給任意的多項(xiàng)式時(shí)間敵手Adv,如果Adv根據(jù)2個(gè)集合A和B生成B?A的證據(jù)ρ的成功概率是可以忽略不計(jì)的,就說(shuō)明累加器是安全的.這里Adv成功是指其應(yīng)用VerifyContainment(acc(A),acc(B),ρ,pk) 輸出結(jié)果為1,然而BA. 該方案所使用的累加器構(gòu)造已經(jīng)在文獻(xiàn)[39]中的q-SDH假設(shè)下被證明確實(shí)滿足了期望的安全性要求,定理及證明過(guò)程如下. 定理1.在3.3節(jié)中給出的累加器構(gòu)造滿足定義1中的安全特性. 證明.用反證法證明.假設(shè)有一個(gè)敵手Adv生成了關(guān)于集合B?A的有效子集包含證據(jù)ρ(實(shí)際上BA).這意味著: 而實(shí)際上因?yàn)锽A,所以存在(bj+s)不能被除掉,由此可以得到其中Q(s)是關(guān)于s的多項(xiàng)式,C是一個(gè)非0常數(shù).因此敵手Adv可以得到: 這與q-SDH假設(shè)相違背.由推出矛盾得知,定理1成立. 證畢. 這個(gè)屬性確保了委員會(huì)成員偽造秘密份額證據(jù)的可能性是可以忽略的,是所設(shè)計(jì)的累加器方案能夠?qū)崿F(xiàn)正確性驗(yàn)證的保障. 本節(jié)介紹了PPFLChain的實(shí)驗(yàn)環(huán)境,并從訓(xùn)練準(zhǔn)確率、時(shí)間成本、信譽(yù)值方面對(duì)所實(shí)現(xiàn)的系統(tǒng)性能進(jìn)行了評(píng)估. 為了評(píng)估提出的PPFLChain的系統(tǒng)性能,實(shí)驗(yàn)在真實(shí)的數(shù)據(jù)集MNIST[40]上實(shí)現(xiàn)了系統(tǒng)的原型.該數(shù)據(jù)集用于手寫數(shù)字識(shí)別,擁有60 000個(gè)訓(xùn)練樣本和10 000個(gè)測(cè)試樣本,每個(gè)樣本是一個(gè)28×28的灰度圖像,代表0到9之間的手寫數(shù)字.實(shí)驗(yàn)將訓(xùn)練集隨機(jī)劃分為數(shù)量相等的10個(gè)子集,并分別分配給10個(gè)參與方作為本地?cái)?shù)據(jù)集.這樣,對(duì)于每個(gè)參與方,本地訓(xùn)練樣本的數(shù)量為60 000/10=6 000.然后根據(jù)參與方人數(shù)設(shè)定的不同進(jìn)行了7次實(shí)驗(yàn),分別有4,5,6,7,8,9,10個(gè)參與方,實(shí)驗(yàn)編號(hào)分別用E-4,E-5,E-6,E-7,E-8,E-9和E-10表示.委員會(huì)成員的數(shù)量分別設(shè)定為2,2,3,3,4,4,5. 實(shí)驗(yàn)在1臺(tái)配備了4核8線程Intel CPU i7-6700HQ和16 GB內(nèi)存的筆記本電腦上使用了一個(gè)名為FISCO BCOS的區(qū)塊鏈系統(tǒng)來(lái)模擬PPFLChain.使用Python編程語(yǔ)言利用軟件開發(fā)工具包FISCO BCOS Python SDK來(lái)實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯.智能合約采用Solidity編寫.學(xué)習(xí)模型使用Python 3.7.11和Pytorch1.2.0編寫,并在NVIDIA Geforce GTX 970M GPU上執(zhí)行. 區(qū)塊鏈節(jié)點(diǎn)被視為參與方和委員會(huì)成員,參與聯(lián)邦學(xué)習(xí)任務(wù)并與預(yù)定義的智能合約進(jìn)行交互.生成的事務(wù)在區(qū)塊鏈中序列化. 實(shí)驗(yàn)通過(guò)訓(xùn)練準(zhǔn)確率、時(shí)間成本、信譽(yù)值3個(gè)指標(biāo)來(lái)評(píng)價(jià)PPFLChain在多方協(xié)作學(xué)習(xí)下的有效性. 對(duì)于訓(xùn)練的準(zhǔn)確率,實(shí)驗(yàn)設(shè)置了基線方和獨(dú)立方與PPFLChain進(jìn)行比較.其中基線方在本地用6 000個(gè)樣本獨(dú)立訓(xùn)練模型,不參與協(xié)作學(xué)習(xí)的過(guò)程;獨(dú)立方則使用包含60 000個(gè)訓(xùn)練樣本的完整數(shù)據(jù)集獨(dú)立訓(xùn)練模型.圖像分類模型均來(lái)源于相同的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN),模型卷積核大小為5×5,激活函數(shù)為ReLU.同時(shí)固定一組模型超參數(shù)以保證公平性.表2中總結(jié)了一些相關(guān)的訓(xùn)練參數(shù). Table 2 Training Configuration 實(shí)驗(yàn)分別對(duì)基線方、獨(dú)立方和E-4~E-10進(jìn)行了10次數(shù)據(jù)提取,并把得到的最終結(jié)果的平均值繪制成圖2.其中,基線方的準(zhǔn)確率為95.90%,獨(dú)立方的準(zhǔn)確率為96.45%,E-4~E-10的準(zhǔn)確率分別為96.12%,96.28%,96.14%,96.44%,96.38%,96.32%,96.22%.可以看出,PPFLChain都比基線方獲得了更高的準(zhǔn)確率,這意味著協(xié)作學(xué)習(xí)得到了比單方面訓(xùn)練表現(xiàn)更好的模型.同時(shí),隨著參與方人數(shù)的增加,協(xié)作方訓(xùn)練準(zhǔn)確率提高,PPFLChain的性能不斷趨近于獨(dú)立方的訓(xùn)練效果.雖然訓(xùn)練準(zhǔn)確率相比擁有完整數(shù)據(jù)集的獨(dú)立方略有損失,但PPFLChain能夠在多方協(xié)作的環(huán)境下,以去中心化的方式訓(xùn)練模型,大大降低了隱私泄露的風(fēng)險(xiǎn). Fig. 2 Comparison of training accuracy among PPFLChain, standalone party and baseline party圖2 PPFLChain與獨(dú)立方和基線方的訓(xùn)練準(zhǔn)確率比較 接下來(lái),記錄了實(shí)驗(yàn)E-4~E10中參與方在協(xié)作訓(xùn)練模型過(guò)程中加密梯度參數(shù)耗費(fèi)的平均時(shí)間,分別為44.452 s,44.261 s,43.955 s,44.222 s,44.609 s,44.645 s,44.485 s,以及委員會(huì)成員在協(xié)同解密階段驗(yàn)證秘密份額耗費(fèi)的平均時(shí)間,分別為8.193 ms,8.380 ms,9.701 ms,9.614 ms,11.950 ms,12.143 ms,14.856 ms.由圖3可以看出,不同參與方數(shù)量下加密中間梯度所用的時(shí)間基本一致,這是由于各參與方在本地同步訓(xùn)練,訓(xùn)練集大小和模型的參數(shù)量相同,細(xì)小的差異僅取決于硬件性能. Fig. 3 Time cost of encryption圖3 加密時(shí)間成本 Fig. 4 Time cost of verification圖4 驗(yàn)證時(shí)間成本 為了評(píng)價(jià)信譽(yù)計(jì)算方案,實(shí)驗(yàn)記錄了5個(gè)本地?cái)?shù)據(jù)集大小互不相同的參與方分別與其他協(xié)同方的10次積極交互中的信譽(yù)值變化情況,用P1~P5表示,本地訓(xùn)練樣本的數(shù)量分別為2 000,3 000,4 000,5 000,6 000.如圖5所示,數(shù)據(jù)貢獻(xiàn)較大的一方獲得了較高的信譽(yù)值,因?yàn)樵谠u(píng)估參與方信譽(yù)時(shí),本地?cái)?shù)據(jù)集大小被作為計(jì)算信譽(yù)值的影響因素之一. Fig. 5 Comparison of reputation values between participators with different amounts of local dataset圖5 本地?cái)?shù)據(jù)量互不相同的參與方之間的信譽(yù)值比較 然后在不信任影響程度α=0.8和α=0.2的2種設(shè)置下又記錄了一個(gè)參與方與協(xié)同方的22次交互中的信譽(yù)值變化,該參與方在1~3次的交互中行為正確,在4~14次的交互中行為錯(cuò)誤,在15~22次的交互中行為正確.設(shè)定不確性影響程度β=0.5,不確性影響常數(shù)c=2.如圖6所示,當(dāng)表現(xiàn)錯(cuò)誤行為時(shí),該參與方的信譽(yù)值開始下降,并且在最初的幾次惡意交互中信譽(yù)值下降飛快,這意味著節(jié)點(diǎn)只要做出惡意行為,無(wú)需累積多次,就會(huì)付出較大的代價(jià).而對(duì)于沒有信譽(yù)保護(hù)的方案,信譽(yù)值仍呈增長(zhǎng)趨勢(shì).同時(shí)在α=0.8的情況下信譽(yù)值的下降速度要比α=0.2的情況下更快,下降幅度也更大,可以看出,通過(guò)配置α的大小可以方便地控制節(jié)點(diǎn)作惡對(duì)信譽(yù)值的影響程度.此外,系統(tǒng)引入的信譽(yù)值是由多方評(píng)估計(jì)算得出并記錄在區(qū)塊鏈上,與沒有區(qū)塊鏈的信譽(yù)方案相比,這種去中心化和防篡改的特性能夠抵御內(nèi)部攻擊,使得計(jì)算出的信譽(yù)值更加可靠和具有代表性. Fig. 6 The reputation values of an unreliable participator圖6 不可靠參與方的信譽(yù)值變化 本文提出了一種基于區(qū)塊鏈的去中心化、安全、公平的聯(lián)邦學(xué)習(xí)模型——PPFLChain.模型引入信譽(yù)值作為衡量參與方可靠性的指標(biāo),并基于信譽(yù)值選舉可靠的聯(lián)邦學(xué)習(xí)委員會(huì),負(fù)責(zé)聚合模型和協(xié)同解密全局更新.模型采用門限Paillier密碼算法實(shí)現(xiàn)局部更新參數(shù)的機(jī)密性,利用Shamir閾值秘密共享方案,為解密過(guò)程實(shí)現(xiàn)安全的密鑰管理,設(shè)計(jì)了一種基于雙線性映射的累加器方案為秘密份額提供驗(yàn)證手段.利用主觀邏輯模型實(shí)現(xiàn)不信任增強(qiáng)的信譽(yù)計(jì)算方案作為聯(lián)邦學(xué)習(xí)委員會(huì)的選舉依據(jù).模型還將信譽(yù)值作為激勵(lì)機(jī)制的參考,并懲罰有錯(cuò)誤行為的參與方,以保證協(xié)作學(xué)習(xí)的公平性.最后在一個(gè)真實(shí)的數(shù)據(jù)集上實(shí)現(xiàn)了系統(tǒng)的原型,并對(duì)系統(tǒng)的安全性和性能表現(xiàn)進(jìn)行了分析和評(píng)估. 作者貢獻(xiàn)聲明:周煒提供研究思路,審閱論文,提供論文修改意見;周煒和王超確定研究思路,負(fù)責(zé)論文起草、修改及最終版本修訂;徐劍、胡克勇和王金龍審閱論文,提供論文修改意見.4 信譽(yù)計(jì)算方案
4.1 基于主觀邏輯的信譽(yù)表征
4.2 綜合委員會(huì)成員的信譽(yù)意見
5 安全分析
5.1 機(jī)密性
5.2 正確性驗(yàn)證
5.3 公平性保障
6 實(shí) 驗(yàn)
6.1 實(shí)驗(yàn)設(shè)置
6.2 性能評(píng)估
7 總 結(jié)