Certified Robustness to Adversarial Examples with Differential Privacy

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

对于任意的( ho(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)的时候, 我们就完全无法分辨改变的那个数据归属, 也即这个数据的存在不会改变整体的一些统计性质, 这意味着这个数据的意义是一般的. 这也就保护了隐私.

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

insensitivity

[ ag{1} forall alpha in B_p(L), quad y_k(x+alpha) > max_{i:i ot=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 ot=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}),

[ ag{4} mathbb{E}(A_k(x)) > e^{2epsilon} max_{i:i ot=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 ot =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),

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

证明:

[egin{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{2ln(frac{1.25}{delta})} Delta_{p,2} L/epsilon, ]

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

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

[g(x) ightarrow g(x) + r, ]

[Q(x)=h circ g(x) ightarrow A(x)= h circ (g(x) + r). ]

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

[egin{array}{ll} P(hcirc (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次就足够了.

原文地址:https://www.cnblogs.com/MTandHJ/p/13669918.html