【推荐系统】一文梳理联邦学习推荐系统研究进展
推薦系統,對于我們來說并不陌生,它已經無時無刻不方便著我們的生活、學習、工作等方方面面,并且已經成為許多社交/購物/新聞平臺中必不可少的組件。近些年來學術界以及工業界的研究者們已經對其進行了大量研究并提出了許多經典有效的推薦模型,比如UserCF、ItemCF、MF、FM、BPR、Item2vec、NCF、DIN等等,更多推薦模型介紹可參考[一文盡覽推薦系統模型演變史]。
另外,根據推薦場景的具體情況,分為了基于顯式反饋數據的評分預測任務以及基于隱式反饋數據的個性化排序任務、下一個項目推薦任務以及會話推薦任務等。并且基于現實世界中出現的場景與問題,提出了一系列的子研究方向,比如冷啟動推薦、可解釋性推薦、跨域推薦、序列推薦、社交推薦等,更多研究方向可參考[帶你認識推薦系統全貌的論文清單
推薦算法部分模型分類,借鑒于[1]然而,上述場景需要收集大量的用戶行為記錄以及用戶私有屬性信息,雖然使得模型能夠掌握用戶的行為模式,但也不可避免的造成了用戶敏感信息以及隱私問題的擔憂。隨著近年來大數據技術的發展以及用戶終端的普及,對于用戶數據的收集越來越簡單,以及收集的用戶數據數量與日俱增,因此用戶對于隱私問題的擔憂越來越大。
并且最近國家互聯網信息辦公室開始公開征求《互聯網信息服務算法推薦管理規定》的征求意見,都說明了大家對于數據隱私與安全的重視程度,因此如何在為用戶提供高效的推薦服務的同時,能夠為用戶的數據以及隱私提供安全的保障成為了近年來的研究熱點。
其實,對于推薦算法關于隱私和安全問題的研究早已開始。早在推薦算法被提出來的初期,就一直有關于基于隱私保護的推薦系統的研究。比如,正如我們所熟知的Netflix大賽把研究人員關于推薦系統的研究熱情帶到了高點,但后來卻因開放出來的數據集導致用戶隱私泄露而叫停。
而攻擊的方法也很簡單,文獻[Arvind et al. 2008]通過將釋放出的Netflix數據集與IMDb數據集進行關聯就挖掘出了一部分用戶的敏感信息。因此后續對于數據的隱私保護方法在推薦中進行了大量嘗試,比如匿名化、差分隱私、本地化的差分隱私、同態加密算法、安全多方計算等與推薦方法的結合;以及機器學習思想在推薦中的嘗試,比如對抗機器學習、對抗樣本生成等,都在一定程度上保護了用戶的隱私和安全[利用對抗技術來權衡推薦精度與用戶隱私
然而,上述保護隱私的場景都是考慮在集中收集用戶的個人數據并且上傳到受信的中心服務器來進行存儲與訓練模型的方式進行的。顯然,這樣的模式會在個人數據傳輸過程中以及在服務器存儲環節中出現隱私泄露以及安全問題。因此基于聯邦學習范式的推薦算法登上了歷史舞臺。
聯邦學習,即通過將用戶數據保存在本地,然后利用本地數據訓練本地模型,然后在服務端協同多個本地模型進行優化,進而聚合多個本地模型的中間參數來得到服務端全局較優的模型,最終下發到每個終端設備上。因此聯邦學習實現了模型出域,用戶的本地數據不出域的目的,最終達到保護用戶原始數據以及隱私的需求。早期比較經典的聯邦學習算法為FedAvg,其根據聯邦學習的訓練過程,大致分為4個部分,即:
本地數據收集與模型初始化;
本地模型訓練并上傳參數;
服務器聚合本地參數進行全局更新;
更新本地模型。
當然,根據用戶的重疊程度、特征的重疊程度等,可以細分為橫向聯邦學習、縱向聯邦學習、遷移聯邦學習等(本文中大部分的介紹是基于橫向的聯邦學習)。根據以上步驟,研究者針對其中涉及到的每個部分進行了更進一步的研究,比如:
如何更好的研究符合實際場景的本地數據(Non-IID數據);
如何挑選有代表性的本地模型參與訓練;
如何在服務端進行更加有效的參數聚合;
如何用盡可能少量的交互而達到最優效果;
如何在參數上傳下載過程中進行安全與隱私保護等。
最近也有一些研究將聯邦學習與表示學習以及自監督學習進行結合的文章,旨在更好的在聯邦優化過程中學習更優的特征表示。
推薦算法為了保護用戶隱私的需求,很容易遷移到聯邦學習范式的場景中,即每個用戶表示一個客戶端,用戶所產生的個人行為(比如瀏覽歷史、點贊收藏歷史等)保存在本地,通過與中心服務器進行協同優化,最終達到在本地模型進行預測推理的功能。
首個基于聯邦學習范式的推薦框架
Federated Collaborative Filtering for Privacy-Preserving Personalized Recommendation System. arxiv, 2019.
比較經典的聯邦推薦系統是19年華為提出的FCF,它是第一個基于聯邦學習范式的隱式反饋協同過濾框架。
通過在本地利用個人數據更新自己的用戶隱向量,以及計算本地的物品隱向量梯度并上傳到中心服務器,其中表示第個客戶端。最后客戶端聚合物品隱向量實現整體物品隱矩陣的更新。
以上提及的算法可以算是基本的聯邦學習推薦系統的框架,后續人們對于聯邦學習的每個部分進行了優化,接下來將一一介紹。
針對于顯式數據的聯邦學習推薦系統框架FedRec
FedRec: Federated Recommendation with Explicit Feedback. IEEEIntelligent Systems, 2020.
通過對上述FCF算法的分析,隱式數據在做聯邦學習的時候有天然優勢,即不會輕易的泄露出用戶產生行為的物品,通過以下更新公式可以看出,對于所有未產生行為的物品當成了負樣本,這樣就間接的保護了用戶的行為隱私,因為服務器很難判別里面的哪些項目是用戶喜歡的。
然而顯式數據的求導就比較容易被服務器識別出用戶的偏好物品,即求導的式子中只包含用戶評過分的物品,因此不能直接將FCF方法應用于顯式的評分預測任務中。
因此,本文提出了名為FedRec的方法來執行評分預測任務,即在上傳用戶梯度的時候,除了上傳用戶產出行為的物品集合外,還隨機采樣了一些其他物品來達到隱私保護的作用。值得一提的是,對于隨機采樣的物品集合來說,需要對他們模擬一些評分,因此論文中采用了兩種機制來生成采樣物品的評分,分別是用戶平均的評分以及混合評分機制,更具體內容可閱讀原文。
針對顯式數據的無損失聯邦學習推薦系統FedRec++
FedRec++: Lossless Federated Recommendation with Explicit Feedback. AAAI, 2021.
更進一步的,通過對上述FedRec算法的分析可以看出,通過為用戶添加隨機采樣的物品以及模擬的評分確實可以混淆服務器使得無法精確識別用戶對物品的喜好進而保護用戶的隱私,但一定程度上向模型的梯度中添加了不容忽視的噪聲,因此本文提出了一個消除噪聲的推薦模型FedRec++。
具體的,本文提出利用隨機采樣的去噪客戶端(Denoising Clients)去收集普通客戶端(Ordinary Clients)的帶有噪聲的梯度然后進行上傳,當服務端收集到所有客戶端的梯度后利用這種機制可以緩解梯度的噪聲問題,隨后再進行常規的聚合更新操作。更詳細的技術細節可以參考原文。
改進聚合與更新策略的聯邦推薦模型FedFast
FedFast Going Beyond Average for Faster Training of Federated Recommender Systems. KDD, 2020.
常規的聯邦學習是通過隨機的挑選客戶端來進行參數的平均聚合更新,針對于此,本文對客戶端更新的選擇以及參數的聚合方式進行了優化,使得模型更快速的達到收斂的狀態。
本文通過設計一個ActvSAMP算法來對客戶端進行聚類,然后再從不同的聚類中挑選待更新的客戶端,隨后再利用ActvAGG聚合算法對類內的客戶端(subordinates)進行與挑選出的客戶端(delegates)同樣的更新,這樣就可以減少通信的次數。
更具體的,ActvSAMP算法是利用客戶端的其他具有隱私保護屬性(比如設備類型、地區等)的特征來進行聚類,然后再從每個聚類中挑選出個區別較大的客戶端組成待更新的客戶端集合。
對于ActvAGG組件,不是簡單的加權聚合,而是把參數大致分為了三部分,即non-embedding部分、item embedding部分、user embedding部分。對于前兩部分比較常規,對于user embedding的更新,首先對delegates進行更新,隨后再對subordinates基于聚類結果和delegates進行更新。
基于元學習的個性化聯邦推薦系統MetaMF
Meta Matrix Factorization for Federated Rating Predictions. SIGIR, 2020.
傳統的聯邦學習假設服務端模型與客戶端模型的大小一樣,但這樣就對用戶的終端設備帶來了嚴峻的考驗,因為并不是所有用戶都使用土豪金的手機,所以不能像中心服務器訓練模型那樣可以肆無忌憚的對神經網絡加層。因此本文考慮了客戶端對存儲、內存以及計算開銷的限制,提出了一個基于元學習的聯邦推薦算法,旨在對每個客戶端學習一個小的個性化的模型,以此實現精準的推薦服務。
更具體的,在服務端學習協同信號(Collaborative Memory)以及建立元推薦系統(Meta Recommender),然后在客戶端進行評分預測模型的建立以及生成物品的embedding,最終實現對物品的評分預測。
利用強化學習實現自適應減少通信量FCF-BTS
A Payload Optimization Method for Federated Recommender Systems-Recsys. RecSys, 2021.
剛才提到,對于聯邦推薦系統,需要進行優化與上傳更新的基本是全部物品的Embedding矩陣,因為用戶終端只需要存儲個人的Embedding向量即可,而不需要考慮其他用戶向量。因此本文利用強化學習來挑選能夠使得反饋具有正向收益的物品向量來進行更新。
更具體的,首先通過貝葉斯湯姆森采樣(BTS)bandit來得到物品的子集,獲得的這些物品能夠得到最大的期望收益;然后基于帶更新的物品子集來獲得待更新矩陣的子集,記為;隨后從客戶端獲取這些物品的梯度,等到一定個數的閾值后進行更新物品矩陣,隨后計算當前的收益,基于此來更新BTS的模型參數。通過進行迭代優化,最終得到最優的模型參數。
基于層次化的個性化聯邦推薦系統
Hierarchical Personalized Federated Learning for User Modeling. WWW, 2021.
常規的聯邦學習推薦系統通常假設用戶的本地數據都是敏感信息,因此對待模型的更新與上傳一視同仁。本文從三個異質性的角度來實現更符合實際場景的假設,即統計異質性(Statistical heterogeneity)、隱私異質性(Privacy heterogeneity)和模型異質性(Model heterogeneity)。其中,統計異質性認為用戶的數據在不同的客戶端是不服從獨立同分布的(即non-IID數據),隱私異質性認為用戶的本地數據應該包含公開的和敏感的信息,這樣就需要對數據進行不同程度的隱私保護,模型異質性認為不同客戶端的模型需要被自適應的在服務端進行聚合。
更具體的,該文提出了利用層次信息來劃分數據為隱私的(private)和公開的(public)數據來實現隱私異質性。其次,本地模型包含不同的組件來實現模型的異質性。另外,客戶端執行細粒度的個性化更新策略來實現統計的異質性。
強隱私保護的隱式反饋聯邦推薦系統
Stronger Privacy for Federated Collaborative Filtering With Implicit Feedback. RecSys, 2021.
通常來說,保存在客戶端的模型包含該用戶的隱特征向量以及與用戶無關的全部物品的隱特征矩陣。對于用戶向量的更新由于不需要上傳到服務器而不離開本地而得到很好的保護。由于上傳物品特征矩陣的更新梯度容易被第三方攻擊者獲取進而進行重構攻擊(有研究表明可以從中間梯度獲取到原始輸入的圖像數據[]),因此本文對物品的更新梯度矩陣進行了嚴格的隱私保護。
更具體的,對于客戶端得到的物品更新梯度矩陣,經過LDP(Local Differential Privacy, 本地差分隱私)模塊以及代理網絡(Proxy Network)來得到不包含用戶元數據的隱私保護的物品更新梯度矩陣,隨后再進行平均聚合。
總結
本文總結了幾篇基于聯邦學習范式的推薦系統,分別從不同的層面對基本的聯邦學習更新方式進行了優化,比如如何實現更好的聚合參數、如何更好的挑選待更新的客戶端、如何保持更嚴格的隱私保護、如何減少更新過程中的通信量等。
該方向相對來說是一個比較新的方向,其目標是在保護用戶隱私的前提下如何實現本地模型更精準的推薦服務,但現在的實驗驗證方式基本都是靠模擬來完成的,即手動將完整的數據集切分為符合聯邦學習方式的多個本地數據集。另外由于推薦系統的特殊性(不同于計算機視覺中假設本地客戶端在100-500左右),即每個用戶即為一個客戶端,真實場景的用戶數量可達上百萬,這就對實驗的驗證帶來了考驗。由于本人水平有限,難免文中觀點會存在紕漏,歡迎指正,另外更多關于聯邦學習推薦系統的思考歡迎小伙伴補充。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯黃海廣老師《機器學習課程》視頻課本站qq群851320808,加入微信群請掃碼:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【推荐系统】一文梳理联邦学习推荐系统研究进展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用u盘装系统
- 下一篇: myEclipse背景控制插件方案 内附