Data Poisoning Attacks on Factorization-Based Collaborative Filtering

Li B., Wang Y., Singh A. and Vorobeychik Y. Data poisoning attacks on factorization-based collaborative filtering. In Advances in Neural Information Processing Systems (NIPS), 2016.

本文想通过构建一些恶意的用户交互行为, 使得采用这些数据训练所估计出的评分矩阵会偏向某些特定的 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\) 否则为0.

对于上述非凸问题, 作者针对下面的两种优化方式.

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, \]

这个条件分别限制了

  1. 恶意用户数量;
  2. 每个用户的打分数量;
  3. 每个用户的打分的幅度,

以保证这些信息也是接近真实数据的.

此时, 我们其实需要通过求解如下问题来找寻合适的低秩矩阵:

\[\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:

\[R^{av}(\hat{M}, \bar{M}) = \|\mathcal{R}_{\Omega^C}(\hat{M} - \bar{M})\|_F^2. \]

显然如果

\[\widetilde{M} = \mathop{\arg \max} \limits_{\widetilde{M}} R^{av} (\hat{M}(\widetilde{M}), \bar{M}), \]

则这些恶意用户能够产生推荐不准的结果;

  • Integrity attack

\[R^{in}_{J_0, w} (\hat{M}, \bar{M}) = \sum_{i=1}^m \sum_{j \in J_0} w(j) \hat{M}_{ij}. \]

显然最大化此效用, 则这些恶意用户数据会导致某些 items (\(J_0\)) 的评分很高, 从而更容易被推荐.

  • Hybrid attack 则是二者的混合:

\[R^{hybrid}_{J_0, w, \mu} (\hat{M}, \bar{M}) = \mu_1 R^{av} (\hat{M}, \bar{M}) + \mu_2 R^{in}_{J_0, w} (\hat{M}, \bar{M}). \]

注: \(\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}\)的梯度包含了一个优化的过程, 显然直接求是办不到的.
首先将其拆分为

\[\nabla_{\widetilde{M}} R(\hat{M}, \bar{M}))= \nabla_{\widetilde{M}} \hat{M} \nabla_{\hat{M}} R(\hat{M}, \bar{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 看来还是很难发啊.

注: 作者还讨论了 是否容易被检测的问题, 但是我不是特别关心, 就先不讲了.

代码

代码

posted @ 2022-05-11 17:00  馒头and花卷  阅读(139)  评论(0编辑  收藏  举报