Data Poisoning Attacks on Factorization-Based Collaborative Filtering
概
本文想通過構建一些惡意的使用者互動行為, 使得采用這些資料訓練所估計出的評分矩陣會偏向某些特定的 items.
主要內容
本文主要考慮補全得分矩陣
\[M \in \mathbb{R}^{m \times n} \]的問題 (\(m\) 個users, \(n\) 個items). 並令
\[\Omega = \{(i, j): M_{ij} \text{ is observed}\}, \]表示已觀測部分.
矩陣插補演算法
通常我們希望找到一個低秩的近似滿足
\[\min_{X \in \mathbb{R}^{m \times n}} \: \| \mathcal{R}_{\Omega} (M - X) \|_F^2, \: \text{s.t.} \: \text{rank}(X) \le k, \]其中 \([\mathcal{R}_{\Omega}(A)]_{ij} = A_{ij}, \: (i, j) \in \Omega\)
對於上述非凸問題, 作者針對下面的兩種優化方式.
alternating minimization
\[\tag{1} \min_{U \in \mathbb{R}^{m \times k}, V \in \mathbb{R}^{n \times k}} \Bigg\{\|\mathcal{R}_{\Omega}(M - UV^T)\|_F^2 + 2 \lambda_U \|U\|_F^2 + 2\lambda_V \|V\|_F^2 \Bigg\}. \]nuclear-norm minimization problem
\[\tag{2} \min_{X \in \mathbb{R}^{m \times n}} \Bigg\{\|\mathcal{R}_{\Omega}(M - X)\|_F^2 + 2 \lambda \|X\|_* \Bigg\}. \]攻擊模型
我們通過構造一些惡意的使用者行為 $ \widetilde{M} \in \mathbb{R}^{m' \times n}$, 其滿足
\[m' = \alpha m, |\widetilde{\Omega}_i| \le B, \|\widetilde{M}\|_{\infty} \le \Lambda, \]這個條件分別限制了
- 惡意使用者數量;
- 每個使用者的打分數量;
- 每個使用者的打分的幅度,
以保證這些資訊也是接近真實資料的.
此時, 我們其實需要通過求解如下問題來找尋合適的低秩矩陣:
\[\min_{X \in \mathbb{R}^{m \times n}, \widetilde{X} \in \mathbb{R}^{m' \times n}} \: \| \mathcal{R}_{\Omega} ([M, \widetilde{M}] - [X, \widetilde{X}]) \|_F^2, \: \text{s.t.} \: \text{rank}([X, \widetilde{X}]) \le k, \]這裡 \([A, B]\) 是做一個上下拼接.
alternating minimization
\[\tag{P1} \min_{U, \widetilde{U}, V} \Bigg\{\|\mathcal{R}_{\Omega}(M - UV^T)\|_F^2 + \|\mathcal{R}_{\widetilde{\Omega}}(\widetilde{M} - \widetilde{U}V^T)\|_F^2 + 2 \lambda_U( \|U\|_F^2 + \|\widetilde{U}\|_F^2) + 2\lambda_V \|V\|_F^2 \Bigg\}. \]nuclear-norm minimization problem
\[\tag{P2} \min_{X, \widetilde{X}} \Bigg\{\|\mathcal{R}_{\Omega}(M - X)\|_F^2 + \|\mathcal{R}_{\widetilde{\Omega}}(M - \widetilde{X})\|_F^2 + 2 \lambda \|[X, \widetilde{X}]\|_* \Bigg\}. \]我們假設 (1), (2) 解出的結果為 \(\bar{M}\), 而新增惡意使用者後 (P1), (P2) 的結果為 \(\hat{M}\). 文中提出了三種效用用於評估惡意矩陣 \(\widetilde{M}\) 的優劣.
- Availability attack:
顯然如果
\[\widetilde{M} = \mathop{\arg \max} \limits_{\widetilde{M}} R^{av} (\hat{M}(\widetilde{M}), \bar{M}), \]則這些惡意使用者能夠產生推薦不準的結果;
- Integrity attack
顯然最大化此效用, 則這些惡意使用者資料會導致某些 items (\(J_0\)) 的評分很高, 從而更容易被推薦.
- Hybrid attack 則是二者的混合:
注: \(\Omega^C\), 即未觀測到的部分, 即預測的部分.
求解
作者採用 PGD (projected gradient ascent) 來求解:
\[\widetilde{M}^{(t+1)} = \text{Proj}_{\mathbb{M}} (\widetilde{M}^{(t)} + s_t \cdot \nabla_{\widetilde{M}} R(\hat{M}, \bar{M})). \]現在的問題就是, \(R\) 關於\(\widetilde{M}\)的梯度包含了一個優化的過程, 顯然直接求是辦不到的.
首先將其拆分為
對於前者作者則是用一個 KKT 條件求解.
以 (P1) 為例, 其 KKT 條件為
\[\lambda_U \bm{u}_i = \sum_{j \in \Omega_i} (M_{ij}, - \bm{u}_i^T\bm{v}_j ) \bm{v}_j \\ \lambda_U \tilde{\bm{u}}_i = \sum_{j \in \widetilde{\Omega}_i} (\widetilde{M}_{ij}, - \tilde{\bm{u}}_i^T\bm{v}_j ) \bm{v}_j \\ \lambda_V \bm{v}_j = \sum_{i \in \Omega_j'} (M_{ij} - \bm{u}_i^T \bm{v}_j) \bm{u}_i + \sum_{i \in \widetilde{\Omega}_j'} (\widetilde{M}_{ij} - \tilde{\bm{u}}_i^T \bm{v}_j) \tilde{\bm{u}}_i, \]於是可得
其中
\[\Sigma_U^{(i)} = \sum_{j \in \Omega_i \cup \widetilde{\Omega}_i} \bm{v}_j \bm{v}_j^T, \Sigma_V^{(j)} = \sum_{i \in \Omega_j \cup \widetilde{\Omega}_j} \bm{u}_i \bm{u}_i^T, \]有了 \(U, V\) 關於 \(\widetilde{M}\)的導數, 前者的導數自然也可以得到.
注: (P2) 的求解需要用到 subgradient.
注: 無意中看到了這篇文章的 review, 我感覺工作做的不錯了, 不過審稿人還是覺得創新不是很夠, NIPS 看來還是很難發啊.
注: 作者還討論了 是否容易被檢測的問題, 但是我不是特別關心, 就先不講了.