动机
- 传统认为,在用户与用户、用户与中心之间传输梯度信息是安全的,本文打破了这种理所当然。
- 已知学习模型、权重参数W和真实梯度∇W,只需要少量迭代,可以反向推测出像素级的图像以及标签。
- 这种推测实际上是一种优化过程,随机生成一组虚拟的图像及标签,结合模型和权重执行前向和反向计算,获得虚拟梯度,目标是最小化虚拟梯度和真实梯度的差距,通过不断地优化输入图像和标签,迭代少量次数后,可以使得这组图像和标签接近(恢复)出真实的图像和标签。
- 如何抵抗这种现象或是攻击?梯度扰动(例如差分隐私);梯度压缩或稀疏化(例如梯度TOP-K选择);低精度(例如量化);大批量;高分辨率;安全算法(密码学、安全多方计算)。
梯度泄露推测方法(DLG)
- 局限性:上述梯度泄露推测在批处理数量为1的时候表现良好;然而随着批处理数量的增加,梯度方向难以选择,收敛更加困难,需要的迭代更新次数增多,甚至无法收敛。
- 因此,采取大批量更新优化是避免梯度泄露的方法之一,隐私安全强度有待论证。
梯度泄露防御方法
- 梯度扰动
-
添加噪声(高斯噪声或拉普拉斯噪声)
与噪声方差有关,噪声方差scale of 1 0 − × 10^{-×} 10−×越大,梯度推测难度越大,但同时会影响检测任务的准确率; -
低精度,即参数量化(单精度float16、bfloat16(float32的截断形式)、int8)
float16和bfloat16精度对梯度推测攻击无效;int8可以抵抗这种攻击,但会严重损害准确率。
-
梯度压缩或稀疏化
将不重要的梯度、或是变化幅度较小的梯度修减为0;使得梯度下降方向选择困难;显然剪枝比例超过20%后,根据梯度信息无法推测出原始图像和标签;梯度TOP-K选择也属于这个范畴,详见这里。
-
大批量;高分辨率;安全算法(密码学、安全多方计算)。
本文提出的DLG梯度泄露推测算法限制batchsize ≤ \le ≤ 8,输入图像精度 ≤ 64 × 64 \le 64 \times 64 ≤64×64;
密码学算法中,同态加密显然是安全领域的圣杯,但它要求梯度为整数形式,这涉及编码优化的问题;且适用范围只针对参数服务器;此外,计算和通信开销也是需要关注的优化方向;
安全多方计算,典型的是两方(多方)秘密共享,但对实时性(同步)要求较高,如何降低通信开销是需要考虑的;**伪随机函数(PRF)**需要得到关注。
梯度信息推测出数据集信息(三种预设)
- 若获得梯度信息,根据权重梯度与偏置梯度的比值可以恢复出数据输入。
- 若第一层梯度信息加密,可以根据第二层梯度信息恢复出隐藏层输出
O
u
t
h
i
Out_{h_i}
Outhi(第二层的输入),再利用第一层连接原理解方程组可以恢复出数据输入。
- 上述两种情况假设偏置为定值(例如常数1),若神经网络模型偏置项数值由随机数生成;一般采用试错法,采用可能的偏置,比较推测梯度与真实梯度的差距,从而获得近似偏置值,偏置比较接近时可能导致隐私泄露,偏置一般表现为图像亮度变化。
- 应对方法:联邦学习中,传输梯度信息修改为传输权重信息,不再限制用户端的权重更新方式;采用同态加密处理权重信息,协作服务器执行加法权重聚合(同态加法性质)。
参考文献
- 2019_NIPS_Deep Leakage from Gradients
- 2020_自动化学报_支持数据隐私保护的联邦深度神经网络模型研究