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