Membership Inference Attacks Against Recommender Systems论文解读
0 摘要
推薦系統通常針對高度敏感的用戶數據進行訓練,因此推薦系統潛在的數據泄露可能會導致嚴重的隱私問題。
本文首次嘗試通過成員推理的角度來量化推薦系統的隱私泄漏。 與針對機器學習分類器的傳統成員推理相比,本文的攻擊面臨兩個主要差異。 首先,我們的攻擊是在用戶級別,而不是在數據樣本級別。 其次,對手只能觀察來自推薦系統的有序推薦項目,而不是后驗概率形式的預測結果。 為了解決上述挑戰,我們提出了一種通過從相關項目中表示用戶的新方法。 此外,建立影子推薦器以導出用于訓練攻擊模型的標記訓練數據。 大量的實驗結果表明,我們的攻擊框架取得了強大的性能。 此外,我們設計了一種防御機制來有效減輕推薦系統的成員推理威脅。
1 引言
在本文中,我們邁出了第一步,通過成員推斷的視角量化推薦系統的隱私風險。 與之前針對機器學習分類器的成員推理攻擊 [39, 43] 相比,我們的攻擊面臨兩個主要差異。 首先,我們攻擊的目標是確定目標推薦者是否使用了用戶的數據。 這表明我們的攻擊是在用戶級別,而之前的大多數攻擊都集中在樣本級別 [39, 43]。 與樣本級成員資格推斷不同,用戶級成員資格推斷具有更廣泛的范圍,正如之前的工作[45]中提到的,它可以幫助我們全面了解推薦系統的隱私風險。 其次,從對手的角度來看,目標推薦者只能獲得項目的排名列表,這帶來了幾個技術挑戰:
- 在我們的攻擊中,如圖 1 所示,對手只能觀察項目列表,即使推薦系統在做出決定之前已經計算了后驗概率。 這種設置在現實世界中很普遍,比如亞馬遜或Netflix提供的服務。 此外,公開較少的信息可以保護推薦服務提供商的知識產權[39]。 相反,在針對分類器的經典成員推理攻擊中,對手可以訪問用于決策的后驗概率 [31, 37, 39, 43]。
- 最近針對分類器的一些成員推斷攻擊集中在僅決策(即僅標簽)場景[10,28]。然而,這些研究要么依賴于目標模型來標記陰影數據集[28],要么使用對抗性示例[28],這在現實世界中針對推薦系統時并不實用。我們的目標是為攻擊模型提供一種從決策結果中提取信息的新方法。
- 與經典分類器不同,推薦系統的輸出是除無序標簽之外的項目的排序列表。在這種情況下,訂單信息起著重要作用,可以極大地促進用戶偏好預測。因此,我們的攻擊模型有必要從推薦物品中獲取訂單信息,而以往的成員推理攻擊方法仍然忽略了這一點。
威脅模型: 對手的目標是對目標推薦系統進行成員推斷攻擊,推斷目標用戶的數據是否用于訓練目標推薦。然而,此類攻擊可能導致嚴重的安全和隱私風險。具體地說,當推薦系統使用來自具有某些敏感信息(例如健康狀況)的人的數據進行訓練時,知道用戶數據是推薦訓練數據的一部分會直接泄露他們的私人信息。此外,成員推理還可以獲得對手關于目標推薦訓練數據的信息,這可能會損害推薦的知識產權,因為收集高質量數據通常需要大量的經驗[18,27]。從另一個角度來看,用戶還可以使用成員資格推斷作為工具來審核目標推薦是否使用了他們的數據。
我們假設對手可以黑盒訪問目標推薦系統,這是對手最困難的設置[43]。與推薦的后驗概率不同,只有與用戶相關的項目可用,如評分或購買和推薦項目。基于知識,建立了一個陰影推薦器來導出標記的訓練數據,以便攻擊模型更好地推斷目標推薦器中的成員狀態。
攻擊方法:對于用戶級成員關系推斷,我們需要根據目標推薦者和它們之間的相互作用總結每個特征向量。作為攻擊模型的輸入。然而,與以往針對分類器的隸屬度推理工作相比,對手只能觀察推薦系統中的推薦項,而不是作為預測結果的后驗概率。因此,在第一步中,對手使用用于生成特征向量的數據集構建用于評級的用戶項矩陣。然后,他們把這個矩陣分解成兩個低維矩陣,即用戶矩陣和項目矩陣。 每個項目的特征向量可以由項目矩陣中對應的行向量表示。 對于每個用戶,對手提取兩組項目(一組包含用戶推薦的項目,另一組包含用戶與之交互的項目)并分別計算這兩組的中心向量。 每個用戶的這兩個中心向量之間的差異描述了推薦者對該用戶的準確程度。 在這種情況下,較低的差異表明用戶的數據更有可能用于訓練推薦者。 因此,我們使用這種差異作為攻擊模型的輸入,即用戶特征向量。 對手在影子推薦器的幫助下為其攻擊模型生成所有標記的訓練數據集。 為了發起攻擊,攻擊者按照相同的步驟生成目標用戶的特征向量,并從攻擊模型中獲得預測。
2 方法
2.1 攻擊概述
如圖 2 所示,攻擊過程遵循三個步驟:標記數據生成、攻擊模型建立和參數優化。
標記數據生成。 為了表示項目,通過分解用戶-項目評分矩陣來導出項目矩陣。 由于攻擊者對目標推薦器的黑盒訪問,構建了一個影子推薦器來為攻擊模型生成標記的訓練數據。 此外,我們使用相應的特征向量表示用戶的交互和推薦。 之后,根據用戶交互和推薦的兩個中心之間的差異對用戶進行分析。 并且每個用戶都被標記為 1 或 0,表示他們是會員或非會員。
攻擊模型建立。 受 [39] 的啟發,兩個隱藏層的多層感知器(MLP)被用作攻擊模型 Aattack?\mathcal{A}_{\text {attack }}Aattack?? 來推斷成員狀態。 每個隱藏層后跟一個 ReLU 激活層。 并使用 softmax 函數作為輸出層來預測隸屬度的概率。
參數優化。 在標記數據生成和攻擊模型建立之后,如圖 2 所示,攻擊者更新攻擊模型的參數。 在推理階段,按照與訓練數據生成相同的步驟建立目標用戶的測試數據集。 目標用戶的成員資格狀態由經過訓練的攻擊模型推斷。
2.2 具體實現過程
標記數據生成。 Aattack?\mathcal{A}_{\text {attack }}Aattack?? 優化過程中需要訓練數據。 然而,對手不能直接從目標推薦者 Atarget\mathcal{A}_{\text {target}}Atarget? 獲得成員資格。 為了解決這個問題,開發了一個影子推薦器 Ashadow\mathcal{A}_{\text {shadow}}Ashadow?來模擬目標推薦器的數據集和推薦算法。
用到了矩陣分解:Rp×q≈Up×lVq×lTR_{p \times q} \approx U_{p \times l}V_{q \times l}^TRp×q?≈Up×l?Vq×lT?。
VjV_jVj?表示項目jjj的特征向量;
UiU_iUi?表示用戶iii的特征向量;由于UiU_iUi?不能覆蓋在影子和目標推薦器的所有用戶,所以不能用UiU_iUi?作為代表性用戶(目前還沒完全懂這句話的意思)
有了UVTUV^TUVT分解后,就可以得到Ashadow\mathcal{A}_{\text {shadow}}Ashadow?,再利用Ashadow\mathcal{A}_{\text {shadow}}Ashadow?模型來構建Dshadow\mathcal{D}_{\text {shadow}}Dshadow?,并且把Dshadow\mathcal{D}_{\text {shadow}}Dshadow?分解為兩個不相交的成員數據集Dshadowin\mathcal{D}_{\text {shadow}}^{\text {in}}Dshadowin?和非成員數據集Dshadowout\mathcal{D}_{\text {shadow}}^{\text {out}}Dshadowout?。
問:按照作者的思路,攻擊者是沒有辦法獲取到Rp×qR_{p \times q}Rp×q?,那怎么得到UVTUV^TUVT分解呢?又怎么能夠通過Ashadow\mathcal{A}_{\text {shadow}}Ashadow?來獲取到Dshadow\mathcal{D}_{\text {shadow}}Dshadow?數據集呢?
答:目前暫時還不知道怎么做到的。
總結
以上是生活随笔為你收集整理的Membership Inference Attacks Against Recommender Systems论文解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言单选题大全,C语言单选题(五)
- 下一篇: (pytorch-深度学习系列)卷积神经