盛雪晨 陳丹偉
(南京郵電大學(xué)計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院 南京 210023)
隨著互聯(lián)網(wǎng)上文本數(shù)據(jù)的爆發(fā)式增長(zhǎng),未分類的數(shù)據(jù)難以提取有用信息,也浪費(fèi)了網(wǎng)絡(luò)資源.為了處理這些龐大的數(shù)據(jù),適用于高度分布式和面向數(shù)據(jù)的新型計(jì)算框架應(yīng)運(yùn)而生.文本分類作為文本處理的重要技術(shù)之一,廣泛應(yīng)用于各自然語(yǔ)言處理任務(wù)中.
許多現(xiàn)實(shí)的NLP服務(wù)嚴(yán)重依賴用戶的本地?cái)?shù)據(jù)(如文本消息、文檔及其標(biāo)簽、問題和選定答案等),這些數(shù)據(jù)可以存儲(chǔ)于個(gè)人設(shè)備上,也可以位于組織的大型數(shù)據(jù)倉(cāng)庫(kù)中.根據(jù)許多數(shù)據(jù)隱私規(guī)定,這些本地?cái)?shù)據(jù)通常被視為高度隱私,因此他人都無(wú)法直接訪問;這使得很難訓(xùn)練高性能模型來(lái)造福用戶,并且傳統(tǒng)的分布式機(jī)器學(xué)習(xí)已經(jīng)不能處理隱私泄露風(fēng)險(xiǎn)問題.
聯(lián)邦學(xué)習(xí)[1]是一項(xiàng)突破性的技術(shù),旨在解決分布式機(jī)器學(xué)習(xí)中的隱私問題,特別適用于需要保護(hù)隱私的應(yīng)用場(chǎng)景.聯(lián)邦學(xué)習(xí)和分布式機(jī)器學(xué)習(xí)都是擁有不同訓(xùn)練數(shù)據(jù)的多個(gè)訓(xùn)練方共同執(zhí)行一個(gè)深度學(xué)習(xí)任務(wù).但聯(lián)邦學(xué)習(xí)是每個(gè)客戶端擁有數(shù)據(jù),在本地訓(xùn)練模型,而不需要上傳數(shù)據(jù).而分布式機(jī)器學(xué)習(xí)需要將每個(gè)客戶端的數(shù)據(jù)收集到一起,在服務(wù)器訓(xùn)練最終模型.因此,聯(lián)邦學(xué)習(xí)被視為降低攻擊和泄露風(fēng)險(xiǎn)、降低數(shù)據(jù)移動(dòng)的難度和成本以及滿足隱私相關(guān)數(shù)據(jù)存儲(chǔ)法規(guī)的一個(gè)重要研究方向.
2017年,McMahan等人[1]提出了一種新的聯(lián)邦學(xué)習(xí)優(yōu)化算法——聯(lián)邦平均算法(FedAvg).不同于聯(lián)邦隨機(jī)梯度下降(FedSGD)方法,FedAvg在本地完成多個(gè)回合訓(xùn)練后返回最終的模型參數(shù),而不是訓(xùn)練得到的梯度.這種方式大大降低了聯(lián)邦學(xué)習(xí)的交流成本,提高了系統(tǒng)效率.同年,Bonawitz等人[2]為聯(lián)邦學(xué)習(xí)機(jī)制設(shè)計(jì)了安全聚合協(xié)議,用于提高系統(tǒng)魯棒性.Smith等人[3]提出了新型的聯(lián)邦學(xué)習(xí)優(yōu)化方法MOCHA,使用多任務(wù)學(xué)習(xí)的思想來(lái)應(yīng)對(duì)聯(lián)邦學(xué)習(xí)中的統(tǒng)計(jì)挑戰(zhàn).但僅僅依靠聯(lián)邦學(xué)習(xí)是無(wú)法充分保護(hù)用戶隱私的,因?yàn)楣粽呖梢酝ㄟ^(guò)偽造客戶端數(shù)據(jù)或者修改模型更新等方式攻擊全局模型,而參與方是聯(lián)邦學(xué)習(xí)系統(tǒng)中最大的脆弱點(diǎn)[4].為了解決這些問題,差分隱私作為一種隱私保護(hù)技術(shù)被廣泛應(yīng)用于聯(lián)邦學(xué)習(xí)隱私保護(hù)領(lǐng)域.Jayaraman等人[5]提出的隱私保護(hù)方法是在服務(wù)器聚合全局模型時(shí)添加拉普拉斯噪聲,以保護(hù)客戶端數(shù)據(jù)的隱私.Geyer等人[6]提出的方法是通過(guò)添加高斯噪聲實(shí)現(xiàn)差分隱私,但在每個(gè)輪次結(jié)束時(shí)重新計(jì)算隱私損失可能會(huì)導(dǎo)致信息泄露,并且在對(duì)梯度進(jìn)行裁剪時(shí)會(huì)消耗一部分隱私預(yù)算.
針對(duì)上述問題,本文提出一種基于隱私的文本分類系統(tǒng),將BERT與差異隱私相結(jié)合,在基于FL的設(shè)置上,探索不同的隱私預(yù)算,以調(diào)查隱私效用權(quán)衡,希望客戶端的整個(gè)數(shù)據(jù)集受到保護(hù),免受來(lái)自其他客戶端的差異攻擊.以解決現(xiàn)有分布式框架在訓(xùn)練模型時(shí)出現(xiàn)的特征暴露和無(wú)法保護(hù)隱私的問題.
1) 聯(lián)邦學(xué)習(xí)介紹.
聯(lián)邦學(xué)習(xí)是一種分布式的機(jī)器學(xué)習(xí)框架,McMahan等人[4]在2016年首次提出聯(lián)邦學(xué)習(xí)技術(shù),允許用戶在機(jī)器學(xué)習(xí)過(guò)程中既可以保護(hù)用戶隱私,又能夠無(wú)需源數(shù)據(jù)聚合而形成訓(xùn)練數(shù)據(jù)共享.
根據(jù)數(shù)據(jù)在特征和樣本ID空間中的各方之間的分布情況,將聯(lián)邦學(xué)習(xí)分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí).
其中橫向聯(lián)邦學(xué)習(xí)是指各方的數(shù)據(jù)集擁有相同的特征集合,但是樣本標(biāo)簽不同.適用于各方數(shù)據(jù)分布相同、各方的目標(biāo)任務(wù)也相同的情況.例如,多家醫(yī)院的患者存在小部分相同,但針對(duì)同一類型的疾病卻有著相似的病癥.即不同地區(qū)的相同類型機(jī)構(gòu)的用戶群體在橫向上差別很大,但在數(shù)據(jù)特征維度上有著很強(qiáng)的相似性.
2) 聯(lián)邦學(xué)習(xí)算法.
橫向聯(lián)邦學(xué)習(xí)的基本算法流程如下:
① 模型初始化.服務(wù)器初始化模型參數(shù)w.
② 下發(fā)模型.服務(wù)器同步模型將參數(shù)w給所有的客戶端,確保初始化的權(quán)重一致.
③ 本地訓(xùn)練.客戶端基于共享的模型參數(shù),在本地使用私有數(shù)據(jù)集進(jìn)行模型訓(xùn)練,并更新模型參數(shù)為w′.
④ 模型聚合.服務(wù)器收集參與方更新的權(quán)重,并根據(jù)需求使用相應(yīng)的聚合算法計(jì)算新的權(quán)重,如FedAvg[1],FedProx[7].
⑤ 更新全局模型.服務(wù)器根據(jù)計(jì)算結(jié)果更新全局模型參數(shù).
重復(fù)上述過(guò)程,直到算法收斂.
定義1.(ε,δ)-帶松弛的差分隱私.對(duì)于隨機(jī)化機(jī)制M,其定義域?yàn)镈,值域?yàn)镽.如果任意2個(gè)相鄰輸入d,d′∈D,以及任何輸出的子集S?,滿足:
Pr[M(d)∈S]≤exp(ε)Pr[M(d′)∈S]+δ,
(1)
則稱隨機(jī)化機(jī)制M滿足(ε,δ)-差分隱私[8].
其中ε表示隱私預(yù)算,δ表示錯(cuò)誤概率.通常來(lái)說(shuō),ε越小差分隱私保護(hù)效果越好,但是加入的噪聲也會(huì)越大,導(dǎo)致數(shù)據(jù)可用性下降.當(dāng)δ=0時(shí),表示嚴(yán)格的差分隱私.由于嚴(yán)格差分隱私的保護(hù)過(guò)于苛刻,因此本文采用的是帶松弛機(jī)制的近似差分隱私.
定義2.高斯噪聲:
(2)
本文差分隱私是指對(duì)數(shù)據(jù)的訓(xùn)練以及對(duì)隱私的保護(hù)過(guò)程全部在客戶端實(shí)現(xiàn).即保護(hù)整個(gè)客戶的數(shù)據(jù)集.這種差分隱私機(jī)制的優(yōu)點(diǎn)在于用戶可以全權(quán)掌握數(shù)據(jù)的使用與發(fā)布,無(wú)需借助中心服務(wù)器,最有潛力實(shí)現(xiàn)完全意義上的去中心化聯(lián)邦學(xué)習(xí).
本文方法是基于BERT模型構(gòu)建的.BERT的主要模型是Transformer,而Transformer的主要模塊就是self-attention. BERT[10]是第1個(gè)基于微調(diào)的表示模型,它在大量句子級(jí)和令牌級(jí)任務(wù)上實(shí)現(xiàn)了最先進(jìn)的性能,優(yōu)于許多特定于任務(wù)的體系結(jié)構(gòu).
BERT主要有2個(gè)主要步驟,即預(yù)訓(xùn)練(pre-training)和微調(diào)(fine-tuning),這2個(gè)步驟如圖1所示:
圖1 BERT的預(yù)訓(xùn)練和微調(diào)程序
聯(lián)邦學(xué)習(xí)的主要?jiǎng)?chuàng)新性在于提供了一種具有隱私保護(hù)特性的分布式機(jī)器學(xué)習(xí)框架,并且能夠以分布式的方式針對(duì)某個(gè)特定機(jī)器學(xué)習(xí)模型進(jìn)行迭代訓(xùn)練[1].然而聯(lián)邦學(xué)習(xí)過(guò)程依然存在一定的安全問題.在聯(lián)邦學(xué)習(xí)場(chǎng)景中,攻擊行為不但可以由不受信任的服務(wù)器發(fā)起也可能由惡意用戶發(fā)起[11].目前常見的聯(lián)邦學(xué)習(xí)應(yīng)用的參與方都是個(gè)人用戶,個(gè)人用戶的防護(hù)措施薄弱,攻擊成本低,與聚合服務(wù)器相比更容易受到隱私攻擊.為此,需要對(duì)聯(lián)邦學(xué)習(xí)過(guò)程提供額外的隱私保護(hù)機(jī)制.本文將差分隱私和聯(lián)邦學(xué)習(xí)相結(jié)合,應(yīng)用于文本分類場(chǎng)景,保護(hù)了本地用戶的文本數(shù)據(jù)隱私同時(shí)仍可保證較高的模型準(zhǔn)確率.
由于中央服務(wù)器是誠(chéng)實(shí)且好奇的,客戶端可以信任來(lái)自中央服務(wù)器的廣播,但不應(yīng)向其暴露未受保護(hù)的信息.因此,傳輸梯度上的噪聲添加和差分隱私計(jì)算是在客戶端執(zhí)行的,而不是在中央服務(wù)器上[12].
本文重新制定了差分隱私聯(lián)邦學(xué)習(xí)過(guò)程,從而保護(hù)客戶端數(shù)據(jù)集的隱私不受中央服務(wù)器和其他服務(wù)器的影響.在客戶端服務(wù)器上累積的本地更新被發(fā)送到中央服務(wù)器之前,噪聲被添加到這些本地更新中.
具體的算法思想是首先聚合服務(wù)器初始化參數(shù)并下載模型,將參數(shù)下發(fā)到客戶端,客戶端接收參數(shù)后在本地訓(xùn)練模型,在訓(xùn)練的過(guò)程中引入差分隱私機(jī)制,即在本地添加噪聲進(jìn)行擾動(dòng),訓(xùn)練完結(jié)果再發(fā)送給聚合服務(wù)器.服務(wù)器接收完所有客戶端的參數(shù)后根據(jù)聚合算法重新計(jì)算參數(shù),再將結(jié)果發(fā)送給客戶端.這樣一直迭代下去,直到達(dá)到迭代輪次或者損失函數(shù)收斂.本文方法的模型架構(gòu)如圖2所示:
本文算法由Server層算法和Client層算法組成.
1) 通過(guò)剪裁每個(gè)示例的梯度范數(shù)限制每個(gè)示例的敏感度;
2) 將噪聲添加到模型參數(shù).
算法1.差分隱私的聯(lián)邦學(xué)習(xí)算法.
PROCEDURE(Server Execution)
輸入:聯(lián)邦學(xué)習(xí)客戶端數(shù)量N、聯(lián)邦學(xué)習(xí)采樣率q、聯(lián)邦學(xué)習(xí)總輪次T.
① 服務(wù)器下載模型,并初始化w0;
② FORt∈{1,2,…,T} DO
③ 以采樣率q從N個(gè)用戶中選擇k個(gè)參與方;
④ 遍歷k個(gè)參與方;
⑦ 計(jì)算本次迭代模型準(zhǔn)確率Acc并打印輸出;
⑧ END FOR
END PROCEDURE
FUNCTIONClientUpdate(w,k)
輸入:上一輪訓(xùn)練所得模型參數(shù)wt、客戶端模型迭代次數(shù)E、客戶端數(shù)據(jù)集大小y、隨機(jī)梯度下降中每批次選擇的訓(xùn)練集大小D、學(xué)習(xí)率γ、參與方模型損失函數(shù)L(w)、梯度裁剪閾值C、差分隱私機(jī)制隱私參數(shù)εi,δi.
⑨ FORe∈{1,2,…,E} DO
⑩ 訓(xùn)練集D中的每個(gè)數(shù)據(jù)d;
END FUNCTION
在本文實(shí)驗(yàn)中,根據(jù)平衡數(shù)據(jù)集上的模擬實(shí)驗(yàn),給定采樣率q和參與方數(shù)量N,進(jìn)行一系列實(shí)驗(yàn)以使用不同的ε在BERT模型和DistilBERT模型上驗(yàn)證測(cè)試精度.其中DistilBERT[14]是一種小型、快速、廉價(jià)和輕量級(jí)的Transformer模型,其參數(shù)比Bert-base-uncased 少40%.
3.1.1 實(shí)驗(yàn)環(huán)境
本節(jié)對(duì)本文方法的有效性進(jìn)行評(píng)估,并設(shè)計(jì)對(duì)比實(shí)驗(yàn).實(shí)驗(yàn)平臺(tái)操作系統(tǒng)為Ubuntu20.04.1,編程語(yǔ)言為Python 3.8,采用BERT模型和DistilBERT模型訓(xùn)練文本分類.其中BERT模型編碼器層數(shù)為12,隱藏層大小為768,自注意力頭個(gè)數(shù)為12;DistilBERT模型編碼器層數(shù)為6,隱藏層大小為768,自注意力頭個(gè)數(shù)為12.批次大小為16,最大序列長(zhǎng)度為128,學(xué)習(xí)率為1E-4,聯(lián)邦學(xué)習(xí)迭代輪次為20.
3.1.2 實(shí)驗(yàn)數(shù)據(jù)集
本文使用的數(shù)據(jù)集是20Newsgroup,是用于文本分類、文本挖掘和信息檢索研究的國(guó)際標(biāo)準(zhǔn)數(shù)據(jù)集之一.數(shù)據(jù)集收集了18846條新聞組文檔,分為20個(gè)不同主題的新聞組集合.其中訓(xùn)練集為11314條數(shù)據(jù)(60%),測(cè)試集為7532條數(shù)據(jù)(40%),不包含重復(fù)文檔和新聞組名.
為了驗(yàn)證本文方法的優(yōu)越性,選擇不同的聯(lián)邦算法,即FedAvg,FedOPT和FedProx進(jìn)行對(duì)比,使用準(zhǔn)確率評(píng)估方法的性能.準(zhǔn)確率(Acc)是指分類正確的樣本占總樣本數(shù)的比例,定義為
(3)
使用20Newsgroup數(shù)據(jù)集,聯(lián)邦學(xué)習(xí)迭代輪次round=20.探究隱私預(yù)算對(duì)準(zhǔn)確率的影響,在采樣率q=1、參與方N=100的情況下,分別設(shè)置隱私預(yù)算ε=1,ε=5,ε=10,結(jié)果如圖 3所示.
由圖3可知:
圖3 BERT模型下不同隱私預(yù)算的準(zhǔn)確率
1) 在采樣率q、差分隱私被破壞概率δ和參與方數(shù)量N不變的情況下,隨著ε的增加全局準(zhǔn)確率也會(huì)增加.因此可以適當(dāng)調(diào)整ε的大小提高模型準(zhǔn)確率.
2) 在round=20之后模型準(zhǔn)確率趨于穩(wěn)定.
探究本文方法與其他3種聯(lián)邦學(xué)習(xí)方法FedAvg,FedOpt[15],FedProx全局準(zhǔn)確率的對(duì)比情況.設(shè)置參與方數(shù)量N=100,采樣率q=1,總體隱私預(yù)算ε=10,圖4分別展示了4種方法在BERT模型和DistilBERT模型上的全局準(zhǔn)確率隨迭代輪次的變化情況:
圖4 4種方法在BERT模型和DistilBERT模型上的全局準(zhǔn)確率
觀察圖4可知:
1) 在參與方數(shù)量相同的情況下,引入差分隱私后全局準(zhǔn)確率在2種模型上均略低于其他3種方法,說(shuō)明與無(wú)噪聲方法相比,引入噪聲機(jī)制會(huì)對(duì)聯(lián)邦學(xué)習(xí)模型的準(zhǔn)確率造成影響.
2) 雖然準(zhǔn)確率略低于FedOpt,但很接近.即在保護(hù)隱私的同時(shí)還能保證可觀的準(zhǔn)確率.通過(guò)對(duì)比,BERT比DistilBERT的準(zhǔn)確率更好,具有更好的性能,其模型尺寸更大.盡管BERT基礎(chǔ)實(shí)現(xiàn)了更好的性能,但DistilBERT的性能并沒有顯著下降.
隨著聯(lián)邦學(xué)習(xí)的快速發(fā)展和廣泛應(yīng)用,聯(lián)邦學(xué)習(xí)模型的安全和隱私問題吸引了許多學(xué)者的關(guān)注,產(chǎn)生了不少矚目的研究成果,但目前相關(guān)的研究還處于初級(jí)階段,尚有許多關(guān)鍵問題亟待解決.本文在充分調(diào)研和深入分析的基礎(chǔ)上,對(duì)聯(lián)邦學(xué)習(xí)在隱私領(lǐng)域存在的問題進(jìn)行了描述,從而將差分隱私與聯(lián)邦學(xué)習(xí)相結(jié)合,并應(yīng)用于文本分類場(chǎng)景.通過(guò)實(shí)驗(yàn)表明,在客戶層面上的差異隱私是可行的,當(dāng)涉及足夠多的參予方時(shí)可以達(dá)到較高的模型精度;在DP+FL的環(huán)境下,隨著ε的增加,模型表現(xiàn)出更好的性能以及顯示出很大的保護(hù)功能.未來(lái)可優(yōu)化的方向包括減少通信次數(shù)、如何克服聯(lián)邦學(xué)習(xí)的Non-IID問題,并研究這些場(chǎng)景下如何在保證隱私安全的同時(shí)提高模型的全局準(zhǔn)確率.