邵俊 藺靜茹
【摘要】? ? 當(dāng)前人工智能的應(yīng)用離不開大數(shù)據(jù),而由于隱私保護(hù)、數(shù)據(jù)監(jiān)管政策以及行業(yè)競(jìng)爭(zhēng)態(tài)勢(shì)導(dǎo)致的數(shù)據(jù)孤島現(xiàn)象嚴(yán)重制約了大數(shù)據(jù)能夠產(chǎn)生的價(jià)值。聯(lián)邦學(xué)習(xí)是一種可以打破數(shù)據(jù)孤島存在,致力于在多個(gè)參與方互不公開數(shù)據(jù)集的情形下,協(xié)同完成模型訓(xùn)練的方法。然而由于中心依賴、激勵(lì)機(jī)制不足以及存在隱私泄露風(fēng)險(xiǎn)等問題,基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)方法已經(jīng)走入人工智能前沿研究的領(lǐng)域范疇。本文通過詳細(xì)論述聯(lián)邦學(xué)習(xí)的概念和當(dāng)前存在的痛點(diǎn),對(duì)將區(qū)塊鏈與聯(lián)邦學(xué)習(xí)技術(shù)結(jié)合進(jìn)行了展望。
【關(guān)鍵詞】? ? 聯(lián)邦學(xué)習(xí)? ? 區(qū)塊鏈? ? 數(shù)據(jù)
聯(lián)邦學(xué)習(xí)致力于解決多用戶在不公開各自數(shù)據(jù)集的情形下,協(xié)同完成模型訓(xùn)練的問題。例如在銀行風(fēng)控場(chǎng)景中,各家銀行擁有不同的客戶樣本數(shù)據(jù)。由于各家擁有的數(shù)據(jù)量有限,如果僅僅基于自身的數(shù)據(jù)來訓(xùn)練模型,受樣本規(guī)模的限制,模型效果難以達(dá)到預(yù)期。如果能將各家數(shù)據(jù)聚合來訓(xùn)練,則可以大幅提升模型精度。然而出于機(jī)構(gòu)間的競(jìng)爭(zhēng)以及對(duì)數(shù)據(jù)隱私的監(jiān)管要求,銀行不可能將自身的客戶數(shù)據(jù)向任何第三方發(fā)布,直接將各家數(shù)據(jù)聚合到一起建模是行不通的。因此,聯(lián)邦學(xué)習(xí)技術(shù)應(yīng)運(yùn)而生,給金融機(jī)構(gòu)在不泄露自身原始數(shù)據(jù)的情形下,共同訓(xùn)練機(jī)器學(xué)習(xí)模型提供了可能。
根據(jù)交易方擁有的數(shù)據(jù),聯(lián)邦學(xué)習(xí)一般可分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)。橫向聯(lián)邦學(xué)習(xí)指的是參與方擁有的用戶數(shù)據(jù)具有近乎相同的特征,而幾乎完全不同的樣本;縱向聯(lián)邦學(xué)習(xí)指的是參與方擁有幾乎相同的用戶群體,而擁有近乎完全不同的特征;聯(lián)邦遷移學(xué)習(xí)指的是用戶群體和用戶特征都近乎完全不同的場(chǎng)景。下圖展示了橫向聯(lián)邦學(xué)習(xí)的數(shù)據(jù)融合場(chǎng)景。
以銀行欺詐客戶識(shí)別問題結(jié)合橫向聯(lián)邦學(xué)習(xí)的場(chǎng)景為例,模型需要通過構(gòu)建邏輯回歸模型來識(shí)別銀行用戶是否為欺詐用戶。模型訓(xùn)練的最終目的是需要找到合適的參數(shù),使得總損失函數(shù)最小。通常會(huì)使用梯度下降方法來更新模型參數(shù),即在給定了模型初始參數(shù)后,通過梯度信息一步步更新參數(shù),直到損失函數(shù)的值達(dá)到最小。通過聯(lián)邦學(xué)習(xí),參與方之間不需要共享原始數(shù)據(jù),而只需要基于自身數(shù)據(jù)建模,并將梯度信息傳送出去,通過各家梯度信息更新參數(shù)即可完成模型訓(xùn)練。傳統(tǒng)的聯(lián)邦學(xué)習(xí)方案中會(huì)有一個(gè)協(xié)調(diào)方來負(fù)責(zé)收集各個(gè)參與方的梯度并進(jìn)行匯總,再將匯總后的結(jié)果分發(fā)給各個(gè)節(jié)點(diǎn)。但是這樣的方案有以下幾個(gè)弊端:
1、中心依賴
成員間的協(xié)作非常依賴這個(gè)協(xié)調(diào)方(中心節(jié)點(diǎn)),一旦中心節(jié)點(diǎn)出現(xiàn)故障,或者中心節(jié)點(diǎn)出現(xiàn)惡意行為,將對(duì)整體的協(xié)同訓(xùn)練造成阻礙;
2、激勵(lì)不足
數(shù)據(jù)體量小的機(jī)構(gòu)往往對(duì)參與聯(lián)邦學(xué)習(xí)有非常濃厚的興趣,而那些本身數(shù)據(jù)體量大的機(jī)構(gòu)則往往沒有足夠的動(dòng)力投入到聯(lián)邦學(xué)習(xí)中,因?yàn)閰⑴c聯(lián)邦學(xué)習(xí)對(duì)于前者有較大的收益,而對(duì)后者而言收益甚微。出于投入產(chǎn)出比以及行業(yè)競(jìng)爭(zhēng)考慮,大機(jī)構(gòu)往往沒有意愿加入到協(xié)同訓(xùn)練,導(dǎo)致聯(lián)邦學(xué)習(xí)的生態(tài)無法良好的建立起來;
3、單點(diǎn)欺詐
基于2中的考慮,聯(lián)邦生態(tài)會(huì)允許各參與方申報(bào)數(shù)據(jù)量、數(shù)據(jù)成本和數(shù)據(jù)收益等信息,根據(jù)各方對(duì)模型的使用情況收取相對(duì)應(yīng)的費(fèi)用,并依據(jù)各方對(duì)生態(tài)的貢獻(xiàn)將收益進(jìn)行分配,以激勵(lì)大機(jī)構(gòu)參與到聯(lián)邦學(xué)習(xí)中。然而,對(duì)任何參與方以上信息的真?zhèn)味紵o法公開驗(yàn)證,參與方之間存在著信息不對(duì)稱。在沒有合理機(jī)制設(shè)計(jì)的情形下,各方都存在虛報(bào)自身數(shù)據(jù)信息的動(dòng)機(jī),通過報(bào)高數(shù)據(jù)體量、報(bào)高數(shù)據(jù)使用成本、報(bào)低數(shù)據(jù)收益等方式來使得自身利益最大化,而損害其他參與方的利益,導(dǎo)致合作失敗;
4、隱私泄露
雖然各個(gè)參與方僅僅交換梯度信息,不會(huì)將自身的原始數(shù)據(jù)對(duì)外暴露,然而僅僅依據(jù)公開的梯度更新過程,仍然存在被反推出原始數(shù)據(jù)的風(fēng)險(xiǎn)。
下面我們來看看如何使用區(qū)塊鏈技術(shù)巧妙解決聯(lián)邦學(xué)習(xí)中遇到的以上痛點(diǎn)。
在這之前,我們先回顧一下什么是區(qū)塊鏈技術(shù)。
在當(dāng)前社會(huì),人們?nèi)绻瓿梢还P轉(zhuǎn)賬支付,是需要通過一個(gè)第三方機(jī)構(gòu)-銀行才可以實(shí)現(xiàn)的。銀行依托國(guó)家信用作為背書,管理我們的賬本,記錄我們的交易,在交易時(shí)對(duì)雙方的身份進(jìn)行確認(rèn),并根據(jù)交易信息對(duì)雙方賬號(hào)的余額進(jìn)行修改,完成交易結(jié)算。
2008年一位化名中本聰?shù)纳衩厝税l(fā)布了《比特幣白皮書-一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》,在白皮書中,設(shè)計(jì)了一種不需要任何第三方便能夠進(jìn)行交易的數(shù)字貨幣系統(tǒng),而這個(gè)系統(tǒng)中的貨幣就是大家耳熟能詳?shù)谋忍貛拧?/p>
2009年初,比特幣主網(wǎng)上線。起初比特幣無人問津,僅僅在一些極客的圈子里被小范圍使用。然而隨著比特幣逐漸用于某些秘密和公開交易,便開始慢慢走進(jìn)人們的視野,燃起了大家對(duì)它的熱情。越來越多的機(jī)構(gòu)和個(gè)人參與到比特幣挖礦中,比特幣挖礦也漸漸形成了一個(gè)產(chǎn)業(yè)。
而比特幣的底層技術(shù)和設(shè)計(jì)機(jī)理,就是區(qū)塊鏈。區(qū)塊鏈?zhǔn)且环N融合了密碼學(xué)、博弈論以及點(diǎn)對(duì)點(diǎn)通信等前沿技術(shù)的一個(gè)分布式賬本。擁有賬本副本的各個(gè)節(jié)點(diǎn)在沒有中心節(jié)點(diǎn)的情況下,通過預(yù)先設(shè)置的共識(shí)機(jī)制實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的交易。該共識(shí)機(jī)制的巧妙設(shè)置使得所有節(jié)點(diǎn)在保持自身“正直”的情形下能夠獲得最大的利益,從而沒有動(dòng)力去作惡,損害區(qū)塊鏈生態(tài)。
隨著比特幣價(jià)格節(jié)節(jié)走高,區(qū)塊鏈成為越來越多開發(fā)人員的研究對(duì)象。由于比特幣系統(tǒng)缺乏圖靈完備性,其交易腳本只能夠支持有限的運(yùn)算,除了支付場(chǎng)景以外并不能夠支持其他應(yīng)用,年僅19歲的程序員Vitalik創(chuàng)建了被譽(yù)為第二代區(qū)塊鏈應(yīng)用平臺(tái)的以太坊。
以太坊的最大特性在于其支持智能合約,這是一種可以不經(jīng)過任何第三方而約定權(quán)利義務(wù),并可以保證在觸發(fā)某些預(yù)先設(shè)定的條件下合約會(huì)被程序自動(dòng)執(zhí)行。于是人們可以通過在以太坊上創(chuàng)建智能合約,約定權(quán)利義務(wù),以完成更加復(fù)雜的協(xié)作。
在以太坊之后,各式各樣的區(qū)塊鏈的變種開始出現(xiàn)了。這些變化基本圍繞著共識(shí)機(jī)制、交易速率、可擴(kuò)展性、魯棒性和隱私保護(hù)等核心性能的改良,并試圖支撐越來越多的應(yīng)用場(chǎng)景。
提取區(qū)塊鏈的幾個(gè)核心特征作為這部分的總結(jié),這些特征將為我們解決聯(lián)邦學(xué)習(xí)的困境提供支持。
1.節(jié)點(diǎn)之間通過點(diǎn)對(duì)點(diǎn)通信,沒有第三方參與
2.每個(gè)參與方保留一份賬本的副本,以對(duì)交易合法性進(jìn)行驗(yàn)證
3.運(yùn)用非對(duì)稱加密算法,進(jìn)行鏈上身份的識(shí)別。通過公鑰進(jìn)行數(shù)據(jù)加密,通過私鑰對(duì)交易進(jìn)行簽名
4.通過哈希指針實(shí)現(xiàn)區(qū)塊鏈的可追溯
5.通過比特幣獎(jiǎng)勵(lì)鼓勵(lì)礦工參與挖礦
6.通過工作量證明進(jìn)行區(qū)塊的確認(rèn)
7.通過最長(zhǎng)鏈機(jī)制保證區(qū)塊鏈的安全
8.以太坊之后的區(qū)塊鏈通過智能合約建立去中心化的信任系統(tǒng)
回到聯(lián)邦學(xué)習(xí)的問題中來,我們先看看上面提到的第一個(gè)中心依賴的問題。
通過建立聯(lián)盟鏈,使得每個(gè)參與方成為聯(lián)盟鏈上的節(jié)點(diǎn)。節(jié)點(diǎn)們?cè)谠擖c(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)下進(jìn)行通信,擺脫了對(duì)中心節(jié)點(diǎn)的依賴。
第二個(gè)是激勵(lì)不足的問題。
區(qū)塊鏈的共識(shí)機(jī)制依賴于激勵(lì)機(jī)制的良好設(shè)計(jì)。激勵(lì)機(jī)制會(huì)獎(jiǎng)勵(lì)對(duì)生態(tài)良性運(yùn)轉(zhuǎn)做出貢獻(xiàn)的節(jié)點(diǎn),而試圖不按照共識(shí)機(jī)制活動(dòng)的節(jié)點(diǎn),則會(huì)遭受生態(tài)的懲罰。通過區(qū)塊鏈共識(shí)機(jī)制的設(shè)計(jì),聯(lián)邦學(xué)習(xí)的參與方能夠依據(jù)其對(duì)聯(lián)邦生態(tài)的貢獻(xiàn)獲得相應(yīng)的回報(bào),從而實(shí)現(xiàn)生態(tài)的良性運(yùn)轉(zhuǎn)。
第三個(gè)問題,單點(diǎn)欺詐。
通過設(shè)計(jì)一種合理的多方博弈機(jī)制,使得各參與方只有在如實(shí)報(bào)告自身數(shù)據(jù)信息的情況下,才能夠獲得最大收益。通過將這些依據(jù)用戶的行為而制定的獎(jiǎng)懲措施提前寫入智能合約中,使得區(qū)塊鏈可以通過透明公正的規(guī)則對(duì)用戶行為進(jìn)行審計(jì)。此外,除了預(yù)先設(shè)定規(guī)則的審計(jì),任何節(jié)點(diǎn)也可以對(duì)其他節(jié)點(diǎn)的行為進(jìn)行監(jiān)督,并對(duì)發(fā)現(xiàn)的惡意行為節(jié)點(diǎn)發(fā)起投票。由于區(qū)塊鏈的不可篡改特性,所有中間數(shù)據(jù)上鏈,參與方的一切惡意行為可以被事后追索。
聯(lián)盟鏈一般會(huì)使用如PBFT(實(shí)用拜占庭容錯(cuò)機(jī)制)等這樣的共識(shí)機(jī)制來保證鏈不受少量惡意節(jié)點(diǎn)操控。在PBFT的情形下,只要壞節(jié)點(diǎn)小于總節(jié)點(diǎn)數(shù)的1/3,則區(qū)塊鏈的正常運(yùn)行將不會(huì)受到影響,同樣任何投票,在獲得超過2/3的票數(shù)則可以獲得通過,實(shí)現(xiàn)生態(tài)的聯(lián)邦自治。
第四個(gè)問題,隱私保護(hù)。
通過使用安全多方計(jì)算和同態(tài)加密技術(shù)來保證每個(gè)節(jié)點(diǎn)在不獲取其他任何節(jié)點(diǎn)梯度明文信息的情形下,完成協(xié)同計(jì)算。節(jié)點(diǎn)可以將梯度加密后發(fā)送到區(qū)塊鏈上,而同態(tài)加密技術(shù)保證加密后的密文運(yùn)算能夠與明文運(yùn)算的結(jié)果相對(duì)應(yīng)。然而在這個(gè)場(chǎng)景中同態(tài)加密技術(shù)難以直接使用,因?yàn)橄到y(tǒng)中沒有管理私鑰的第三方機(jī)構(gòu)。如果讓每個(gè)節(jié)點(diǎn)都使用相同的支持同態(tài)加密運(yùn)算的密鑰,則起不到保護(hù)隱私的作用。通過自主研發(fā)設(shè)計(jì)密鑰管理算法,能夠克服在沒有中心節(jié)點(diǎn)的情況下密鑰分發(fā)和管理的難題,實(shí)現(xiàn)同態(tài)加密技術(shù)在梯度運(yùn)算中的運(yùn)用和隱私保護(hù)。
參? 考? 文? 獻(xiàn)
[1] 楊強(qiáng),劉洋,程勇,康焱,陳天健,于涵,《聯(lián)邦學(xué)習(xí)》,電子工業(yè)出版社,2020年5月.
[2]? 楊庚,王周生,《聯(lián)邦學(xué)習(xí)中的隱私保護(hù)研究進(jìn)展》,南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2020.10.30
[3]? 楊強(qiáng),AI與數(shù)據(jù)隱私保護(hù):聯(lián)邦學(xué)習(xí)的破解之道,信息安全研究,2019.11.5