本文介紹的是由微眾銀行聯合香港科技大學研究員高大山、譚奔、鞠策、鄭文琛和楊強教授共同完成,被國際人工智慧頂會IJCAI 2020下設聯邦學習專項研討會(FL-IJCAI』20)錄用的論文《Privacy Threats Against Federated Matrix Factorization》。該論文提供了推薦系統領域一類最常用算法的聯邦化方案,為聯邦推薦系統落地提供快速便捷的技術路徑。全文地址:https://arxiv.org/abs/2007.01587
推薦系統廣泛應用於眾多日常生活場景中。從電商購物、在線視頻到新聞流,推薦系統已然成為智能時代的關鍵技術。隱私保護問題隨著推薦系統對個人數據需求的增加而變得愈發重要。聯邦學習作為一種解決隱私問題的重要技術,通過在各個參與方本地訓練模型並交換參數,來實現在隱私數據不出本地的前提下,多方合作構建推薦系統。但是簡單的參數傳遞仍然存在隱私洩漏的風險。微眾銀行AI營銷團隊聯合香港科技大學研究了不同聯邦推薦場景下推薦系統中的潛在隱私風險,並提供了解決方案。
推薦系統的「數據孤島」困境
推薦系統技術在商業社會中為國內和國際眾多科技巨頭騰訊,Google等公司帶來海量的營收。在電商購物與短視頻推送等眾多業務場景中,推薦系統根據收集到的用戶數據為不同用戶推送個性化的內容,已然成為智能時代的關鍵技術。
傳統上,為了訓練高性能的推薦系統,一家公司需要收集足夠多的用戶數據。然而,由於「用戶-商品」交互的稀疏特點,單個公司很難收集到足夠的數據來訓練滿意的推薦模型。近年來頒布的GDPR(通用數據保護條例)和CCPA(加州消費者隱私法案)等數據安全法律法規又嚴格限制了公司間的用戶數據共享,使得公司間共享用戶數據充滿風險,阻礙推薦系統的發展。
聯邦學習作為一種新的機器學習範式,使得不同參與方可以在不洩露隱私數據的前提下協作構建一個智能系統。同時解決了隱私保護與數據稀缺問題。儘管聯邦推薦技術可以通過參與方之間交換參數的方式避免原始訓練數據洩露和傳輸,但訓練聯邦模型過程中交換的參數依然可能洩露參與方的隱私數據。微眾銀行AI營銷團隊聯合香港科技大學深入研究推薦系統中,建立聯合模型時,面對交換明文參數的潛在隱私風險,針對性地使用加密技術避免隱私洩漏。特別的,以矩陣分解推薦算法為例,在不同的推薦場景下,展示了一個誠實但好奇的參與方如何在明文參數交換過程中竊取用戶的隱私評分數據,並討論了幾種隱私保護技術以抵禦隱私洩露風險。
明文聯邦矩陣分解為什麼洩露隱私?
我們假設有A,B兩個參與方進行聯邦推薦建模。數據分布有以下兩種情況。
橫向聯邦矩陣分解
兩個參與方持有相同的「用戶-商品」交互矩陣,每個參與方有交互矩陣的一部分觀測值。參與方希望通過聯邦學習將所有觀測到的用戶行為(如評分)用於訓練一個聯邦推薦模型。當使用{用戶, 商品, 行為}表示一條記錄時,每個參與方持有所有用戶與商品的特徵矩陣。參與方在本地完成參數梯度計算與模型更新。僅在模型整合過程中計算A、B特徵矩陣的平均值。
好奇的參與方可以根據模型聚合前後的梯度變化解算出另一方更新的模型梯度。由於「用戶-商品」交互矩陣的稀疏性,對於一次梯度更新,模型的每一個梯度往往來自一個商品或用戶。因此,根據解算出的梯度信息,好奇的參與方可以容易地通過比對商品特徵矩陣與用戶特徵矩陣的梯度來推測出另一方用於模型訓練的{用戶,商品}對。在推測出對方的「用戶-商品」交互信息後,好奇的參與方可以容易地計算出對方訓練數據的用戶行為數據。
自此,好奇的參與方可以僅通過分析本地模型與更新後的全局模型,就獲取另一個參與方的模型數據,和用於訓練的「用戶-商品」原始數據。另一方的模型隱私與數據隱私遭到了嚴重的洩露。
縱向聯邦矩陣分解
在縱向聯邦推薦中,推薦方A持有「用戶-商品」交互矩陣,輔助數據提供方B持有用戶或商品的輔助信息,例如用戶生日、性別、行為等,商品的價格、分類等。當參與方B持有用戶輔助數據的時候,在進行聯邦學習前,兩個參與方需要根據用戶ID進行樣本對齊。
為了訓練縱向聯邦推薦模型,輔助數據提供方B需要在本地計算用戶中間特徵,並發送給推薦方A。而推薦方A不需要向B發送任何數據或參數。因此,推薦方A沒有隱私洩漏風險,而輔助數據提供方B把每個用戶的中間特徵洩露給A。同時,在此縱向聯邦場景下,由於樣本對齊的需要,用戶對齊過程中的共有用戶ID洩露造成了新的隱私威脅。
聯邦矩陣分解中的隱私保護對策
既然明文形式聯邦矩陣分解技術會帶來潛在的參與方模型與訓練數據洩露風險,我們應當如何防範潛在的隱私攻擊呢?
對於橫向聯邦矩陣分解,由於聯邦模型聚合前後的梯度信息會洩露參與方的訓練數據,因此我們要確保每輪更新後的全局模型一直處於加密狀態。
對於縱向聯邦矩陣分解,只有輔助數據提供者向推薦方發送中間特徵結果。為了保護輔助數據提供者的隱私,我們對發送的中間結果加以保護。
目前主要有三種隱私保護技術可以解決聯邦矩陣分解中隱私洩露的問題:密碼學方法、混淆方法和基於硬體的方法。
密碼學方法一般使用同態加密(homomorphic encryption,HE)和多方安全計算(secure multiparty computation,MPC)技術來保護中間傳輸參數。使用密碼學方法的橫向聯邦矩陣分解每一輪更新後的全局模型以及本地模型都始終處於加密狀態。在縱向聯邦中,輔助數據提供者發送的用戶中間特徵被加密。
混淆方法使用諸如差分隱私(differential privacy,DP)等技術對更新的參數添加噪聲,以防好奇的參與方推測訓練數據。然而對於聯邦矩陣分解,由於「用戶-商品」交互矩陣的稀疏性,加入可以有效保護隱私的噪聲往往會使得模型變得不可用。
基於硬體的方法利用可信執行環境(trusted execution environment,TEE)來在一個隔離的安全環境中執行聯邦學習。所有參數在不可以被直接訪問的可信計算環境中完成更新。相比於密碼學方法,基於硬體的TEE無法給出安全證明,一旦發生漏洞,將難以通過軟體修補。同時TEE依賴於參與方都信任的中心化的遠程硬體認證服務,如果該認證服務被攻擊,那基於TEE隱私保護方案對程序執行過程中的抗篡改性也無法保證。
總結
推薦系統中的隱私保護問題隨著推薦系統對個人數據需求的增加而變得愈發重要。聯邦學習作為一種解決隱私問題的重要技術,可以實現隱私數據不出本地的前提下多方合作構建推薦系統。微眾銀行AI團隊聯合香港科技大學研究了交換明文參數進行聯合建模的潛在隱私風險。針對每一種場景,我們展示了一個誠實但好奇的參與方如何在參數交換過程中竊取其他參與方的模型以及用戶的隱私評分數據,討論了如何使用同態加密、多方安全技術、可信執行環境等隱私保護技術來建立聯邦推薦模型並規避隱私風險。
本文所探討的問題皆來自於微眾銀行AI營銷業務實踐,基於聯邦學習技術,微眾銀行AI營銷團隊首創了以聯邦廣告、聯邦推薦等核心技術和平臺為特色的高效安全的金融營銷解決方案,覆蓋營銷全鏈路,有效解決金融行業數據安全與營銷效率難題,同時開源開放技術能力,連接行業夥伴。
文中提到的技術細節可以參考我們放在ArXiv的文章https://arxiv.org/abs/2007.01587。
工程實現細節可在我們的開源算法庫FedRec(https://github.com/FederatedAI/FedRec)中找到。