Lecuyer M, Atlidakis V, Geambasu R, et al. Certified Robustness to Adversarial Examples with Differential Privacy[C]. ieee symposium on security and privacy, 2019: 656-672.

@article{lecuyer2019certified,

title={Certified Robustness to Adversarial Examples with Differential Privacy},

author={Lecuyer, Mathias and Atlidakis, Vaggelis and Geambasu, Roxana and Hsu, Daniel and Jana, Suman},

pages={656--672},

year={2019}}

基于DP(differential privacy), 通过构造\((\epsilon,\delta)\)-DP机制, 可以得到certified robustness (在满足一定的条件下).

主要内容

Differential Privacy

DP, 差分隐私, 严格来说它是形容一些满足特定条件的随机机制. 它的背景是, 一些数据库, 在处理查询的时候, 虽然可以采用匿名机制, 但是一些别有心思的人可以通过查询获得一些特定的知识来推断出某些人或物具有的特殊的性质. 什么时候这种情况容易出现? 假设所有数据的全集是\(\mathcal{X}\), 而\(x, y\)是由\(\mathcal{X}\)中某些数据构成的数据库, \(A\)是一种处理查询的机制, \(A(x, \xi)\)会返回一次查询的基于\(x\)中返回的结果, 如果机制\(A\)能够保护隐私, 那么它应该使得查询者不容易分辨返回的结果是基于\(x\)还是\(y\). 假设\(S\)是我们通过查询获得的一些输出, 那么随机机制\(A\)符合\((\epsilon,\delta)\)-DP, 当

\[P(A(x)\in S) \le e^{\epsilon} P(A(y) \in S) + \delta,
\]

对于任意的\(\rho(x,y)\le1\), 任意的输出集合\(S\), 任意的\(x, y \subset \mathcal{X}\).

直观的解释就是, 对数据库\(x\)改变某一条数据, 其输出的范围的变化并不明显, 去掉\(\delta\)会更容易理解:

\[\frac{P(A(x)\in S)}{P(A(y)\in S)} \le e^{\epsilon}, \epsilon > 0.
\]

显然\(\frac{P(A(x)\in S)}{P(A(y)\in S)}=1\)的时候, 我们就完全无法分辨改变的那个数据归属, 也即这个数据的存在不会改变整体的一些统计性质, 这意味着这个数据的意义是一般的. 这也就保护了隐私.

需要注意的是, 一般意义上\(\rho\)为hamming距离, 但是论文中的都是一般的p范数(怎么推广不是很清楚).

insensitivity

\[\tag{1}
\forall \alpha \in B_p(L), \quad y_k(x+\alpha) > \max_{i:i\not=k} y_i(x+\alpha).
\]

其中\(y_k\)是网络的第k个输出, 即在\(B_p(L)\)内网络不会改变它的判断.

但是, 现在的问题是, 一般的神经网络在\(L\)不是很大的时候, 就会被干扰导致误判, 所以作者就希望转而寻求下面的insensitivity

\[\forall \alpha \in B_p(L), \quad \mathbb{E}(y_k(x+\alpha)) > \max_{i:i\not=k} \mathbb{E} (y_i(x+\alpha)).
\]

作者发现, DP机制可以完成这一目标.

Lemma1



注意条件\([0, b]\), 所以应当假设神经网络的输出是概率(softmax后)向量.

Proposition1

Proposition 1. (Robustness Condition) Suppose \(A\) satisfies \((\epsilon, \delta)\)-DP with respect to a \(p\)-norm metric. For any input \(x\), if for some \(k \in \mathcal{K}\),

\[\tag{4}
\mathbb{E}(A_k(x)) > e^{2\epsilon} \max_{i:i\not=k} \mathbb{E}(A_i(x)) + (1+e^{\epsilon})\delta,
\]

then the multiclass classification model based on label probability vector \(y(x)=(\mathbb{E}(A_1(x)), \ldots, \mathbb{E}(A_{K}(x)))\) is robust to attacks \(\alpha\) of size \(\|\alpha\|_p \le 1\) on input \(x\).

条件(4)很重要, 这说明加入了DP机制并非就能让所有的样本都鲁棒, 从某种程度上讲, 只有那些“confidence"高的才能够有certified robustness.

如何令网络为\((\epsilon,\delta)\)-DP

首先来看, 如何让普通的函数\(f\)为\((\epsilon, \delta)\)-DP, 假设

\[\Delta_{p, q} = \Delta_{p,q}^g=\max_{x,x':x
\not =x'} \frac{\|g(x)-g(x')\|_q}{\|x-x'\|_p}
\]

为\(f\)的\(p,q\)-sensitivity.

\[A(x):= f(x) + r, \quad q=1,
\]

是\((\epsilon, 0)\)-DP的, 其中\(\sigma=\sqrt{2} \Delta_{p, 1} L/\epsilon\),

\[r\sim \mathrm{Lap}(0, \sigma):=\frac{\sqrt{2}}{2\sigma} \exp(-\frac{\sqrt{2}|r|}{\sigma}).
\]

证明:

\[\begin{array}{ll}
\frac{P_x(z)}{P_y(z)}
&= \frac{P(A(x)=z)}{P(A(y)=z)} \\
&= \frac{P(r=z-f(x))}{P(r=z-f(y))} \\
&= \frac{\exp(-\frac{\sqrt{2}|z-f(x)|}{\sigma})}{\exp(-\frac{\sqrt{2}|z-f(y)|}{\sigma})} \\
&= \exp(\frac{\sqrt{2}(|z-f(y)|-|z-f(x)|)}{\sigma}) \\
&\le \exp(\frac{\sqrt{2}(|f(x)-f(y)|)}{\sigma}) \\
&= \exp(\frac{\epsilon(|f(x)-f(y)|)}{\Delta_{p,1} L}) \\
&\le \exp(\epsilon).
\end{array}
\]

注意, \(\frac{|f(x)-f(y)|}{L}\le \Delta_{p, 1}\).

还有一种是高斯机制, 即加高斯噪声, 对应\(L_2\)攻击.

\[r \sim \mathcal{N}(0, \sigma^2), \sigma= \sqrt{2\ln(\frac{1.25}{\delta})} \Delta_{p,2} L/\epsilon,
\]

此时\(A(x)\)为\((\epsilon, \delta)\)-DP.

然后由上图可知, 通过在加入噪声,

\[g(x) \rightarrow g(x) + r,
\]
\[Q(x)=h \circ g(x) \rightarrow A(x)= h \circ (g(x) + r).
\]

那么\(g+r\)是DP, \(A\)是DP吗, 答案是的.

\[\begin{array}{ll}
P(h\circ (g(x)+r) \in S) &= P( g(x)+r \in h^{-1}(S)) \\
&\le e^{\epsilon} P(g(y)+r \in h^{-1}(S)) + \delta \\
&= e^{\epsilon} P(h \circ (g(y) +r) \in S) + \delta.
\end{array}
\]

in practice

上面, 我都是基于\(\mathbb{E}\)才会有certified robustness的, 但是神经网络的期望是没法直接算的, 只好用蒙特卡洛采样估计, 即

\[\hat{\mathbb{E}} (A(x)) = \frac{1}{N}\sum_{n=1}^N h \circ (g(x)+r_n).
\]

当然, 这个时候就没法百分百保证robust了, 有

其中\(\hat{\mathbb{E}}^{lb}, \hat{\mathbb{E}}^{ub}\)分别是置信下界和上界, 具体怎么来的回看论文吧, 我没推出来.

也就是符合上面近似条件的样本, 有至少\(\eta\)的概率是robust的.

注: 还有噪声加在哪一层, 文中给出了答复.

certified robustness 的估计大概需要300采样, 普通的预测25次就足够了.

最新文章

  1. (转) Wp7 list 中列表项多样化的解决方案-Custom DataTemplateSelector
  2. mysql 分表策略
  3. MySQL数据库数据类型之集合类型SET测试总结
  4. hashtable用法
  5. 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E。要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。 (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不
  6. Yii快速入门教程
  7. Git 的优点
  8. Tradesy | IT桔子
  9. perl5 第十三章 Perl的面向对象编程
  10. IS_EER分析
  11. HTML5 EventSource的用法
  12. java初阶
  13. 自学Zabbix3.6.1-触发器triggers创建
  14. python 重要的日志模块logging
  15. js中的forEach/map方法
  16. [NOIP2018]OI之旅的中转站
  17. Linux sar工具安装使用
  18. Navicat导入.xls等文件失败
  19. HNOI2019 简要题解
  20. Struts2学习资料

热门文章

  1. SELECT的语法
  2. centOS7.4 , gcc4.8.5装cgdb
  3. Linux学习 - 使用qq邮箱发送邮件
  4. ORACLE 本session产生的redo
  5. iBatis查询时报"列名无效"或"找不到栏位名称"无列名的错误原因及解决方法
  6. redis入门到精通系列(二):redis操作的两个实践案例
  7. JS - 获取当前的时间,并且转换成年 - 月 - 日格式!
  8. mysql安装 报错解决
  9. 粒子群算法-PSO
  10. greeting-150