20220304 组会记录
论文一
《RELAXLOSS: DEFENDING MEMBERSHIP INFERENCE ATTACKS WITHOUT LOSING UTILITY》
- Under review as a conference paper at ICLR 2022
top view
文章做的工作就如同标题说的, 在防御MIA(Membership Inference Attacks)的同时, 也不损失分类精度
How to do
在 n n n 个 e p o c h epoch epoch 中
-
自己设定一个阈值 α \alpha α , 当计算交叉熵损失在 L ( θ ) ≥ α \mathcal{L}(\theta)\geq\alpha L(θ)≥α 时, 就对损失值做梯度下降更新模型参数 θ \theta θ
-
假如此时 L ( θ ) < α \mathcal{L}(\theta)\lt\alpha L(θ)<α 时
-
当此时 e p o c h epoch epoch 为偶数时, 则对模型参数 θ \theta θ 做梯度上升更新
-
当此时 e p o c h epoch epoch 为奇数时, 则通过以下方法对模型参数 θ \theta θ 进行以下更新
- 当前样本 x i x_i xi , 经过模型的输出得到 p i = f ( x i ; θ ) p_i=f(x_i;\theta) pi=f(xi;θ)
- 对样本 x i x_i xi 构建软标签得到 t i t_i ti , 其中 t i t_i ti 是样本 x i x_i xi 的软标签
t i c = { p i c i f y i c = 1 ( 1 − p i g t ) / ( C − 1 ) o t h e r w i s e t^{c}_{i}=\left\{ \begin{array}{l} p_i^c & & {if \quad y_i^c=1}\\ (1-p_i^{gt})/(C-1) & & {otherwise} \end{array} \right. tic={pic(1−pigt)/(C−1)ifyic=1otherwise
论文中算法流程图中给出的是 ( 1 − p i c ) (1-p_i^c) (1−pic) , 但是真正的应该是 ( 1 − p i g t ) (1-p_i^{gt}) (1−pigt)
举个例子就是, 现在 x i x_i xi 的硬标签 y i y_i yi 是 [ 0 , 0 , 1 ] [0,0,1] [0,0,1], 对应此时模型输出的 p i p_i pi 是 [ 0.1 , 0.2 , 0.7 ] [0.1,0.2,0.7] [0.1,0.2,0.7] , 那么可以得到
t i 0 = t i 1 = ( 1 − 0.7 ) / ( 3 − 1 ) = 0.15 t i 2 = 0.7 t_i^0=t_i^1=(1-0.7)/(3-1)=0.15 \qquad t_i^2=0.7 ti0=ti1=(1−0.7)/(3−1)=0.15ti2=0.7
- 用软标签 t i c t_i^c tic 计算交叉熵损失
ℓ ( θ , z i ) = − ∑ c = 1 C s g [ t i c ] l o g ( p i c ) L = 1 B ∑ i = 1 B ℓ ( θ , z i ) \begin{aligned} \ell (\theta,z_i)=-\sum_{c=1}^C{sg[t_i^c]log{(p_i^c)}} \\ \mathcal{L}=\frac1B\sum_{i=1}^B{\ell(\theta,z_i)} \end{aligned} ℓ(θ,zi)=−c=1∑Csg[tic]log(pic)L=B1i=1∑Bℓ(θ,zi)
- 根据用软标签计算出来的交叉熵损失 L \mathcal{L} L 进行梯度下降更新模型参数 θ \theta θ
-
-
算法流程图:
Communicate
- 在
L
\mathcal{L}
L 小于
α
\alpha
α 后, 为什么要梯度上升?
- 防止"过于拟合"训练集
- "拉宽"决策边界
- 我们猜测作者是想通过对训练集放松拟合, 以尝试去提高在测试集上的精度
- 但是没有确切理论可以证明在训练集上"放松"拟合, 可以提高泛化性
- 在
L
\mathcal{L}
L 小于
α
\alpha
α 后的另外一个 操作, 为什么要用软标签? 而且要将非真实类"拉平(平均)"
- 也是和上述第一点提到的一样, 并不想梯度"直直地"往着 [ 0 , 0 , 1 ] [0,0,1] [0,0,1] 的方向走去拟合训练集
- 对非真实类"拉平"通俗地讲是防止"差异化", 防止成员推理攻击(MIA)
- 最终, 模型并非往着 [ 0 , 0 , 1 ] [0,0,1] [0,0,1] 的方向走, 也不是往着 [ 0.1 , 0.2 , 0.7 ] [0.1, 0.2,0.7] [0.1,0.2,0.7] 的方向走, 而是往着 [ 0.15 , 0.15 , 0.7 ] [0.15,0.15,0.7] [0.15,0.15,0.7] 的方向走
- 这样做的目的无非也就是防止对训练集"过于拟合", 以达到在测试集上"有更高精度", 并且防止"差异化"过大而受到MIA
Note
此为组会记录, 并未仔细读过该篇论文, 且对 MIA 成员推理攻击并未有过多了解, 因此该篇文章仅作记录.
论文下载