邵俊 藺靜茹

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