基础知识
*梯度攻击定义:利用模型的梯度信息进行攻击,主要包括对抗攻击和梯度反演攻击。
目标:对抗攻击:通过对输入数据进行微小扰动,诱使模型产生错误输出。例如,通过微调图片像素让图像分类器误分类。
梯度反演攻击:通过分析模型训练过程中生成的梯度,逆向推断出输入数据,可能导致数据泄露。
*同态加密(Homomorphic Encryption, HE)、差分隐私(Differential Privacy, DP)和安全多方计算(Secure Multi-Party Computation, MPC)是三种用于保护数据隐私的技术。在联邦学习(Federated Learning, FL)的背景下,它们各有优势和局限性。
*Deep Leakage from Gradient(DLG)作者提出一种从梯度反推原数据的方案,首先随机生成一些虚拟的输入和输出,然后把这些虚拟数据放到神经网络中进行训练,计算虚拟梯度,优化虚拟梯度与真实梯度之间的差值平方作为损失函数,然后反向传播,更新虚拟输入输出,使其计算后的梯度能与真实梯度匹配,最终虚拟输入输出就会逐渐逼近真实输入输出,从而反推出原始数据。
然而,DLG在收敛性和和持续发现ground-truth标签方面存在困难。《iDLG: Improved Deep Leakage from Gradients》作者发现在某些情况下共享梯度一定会泄露ground-truth的标签,作者从数学上说明了该方法如何从梯度中提取ground-truth标签,并从经验上证明了它比DLG的优势。
*隐私计算技术常见的实现方式有:安全多方计算(MPC)、联邦学习(Federated Learning)、可信执行环境(TEE)。其中MPC技术主要包括:差分隐私、秘密共享、不经意传输、混淆电路、同态加密、零知识证明等。
*在深度学习中,梯度下降算法用于优化神经网络的参数,包括权重和偏置。梯度的计算涉及到前向传播和反向传播两个过程。
**神经网络中前向传播的基本步骤包括以下几个主要环节:
初始化输入数据:在神经网络的输入层,将输入数据初始化为网络的输入。输入数据可以是图像、音频、文本等多种形式,它们需要被转换为数值型数据,以便神经网络进行处理。
激活函数:激活函数是神经网络中的关键组成部分,它为网络引入非线性,使得网络能够学习复杂的函数映射。常见的激活函数有Sigmoid、Tanh、ReLU等。激活函数的作用是对输入数据进行非线性变换,增加网络的表达能力。
权重和偏置:权重和偏置是神经网络中的参数,它们在训练过程中不断更新,以优化网络的性能。权重决定了输入数据在网络中的权重,而偏置则为网络提供了一个偏移量,使得网络能够更好地拟合数据。
矩阵运算:在神经网络中,每一层的输出都是通过矩阵运算得到的。矩阵运算包括加权求和和激活函数的计算。<