深度学习中的对抗攻击、防御与文本模型进展
1. 对抗攻击与防御
1.1 击败模型与攻击类型
在深度学习中,我们可以通过一些手段生成对抗性图像来欺骗分类器。例如,使用 model_to_break(adversarial_image.unsqueeze(-1)) ,然后通过 argmax() 查找标签,可能会得到错误的结果,如将图像识别为 “猫” ,这表明我们成功击败了模型。
通常,生成能欺骗分类器的图像需要对所使用的模型有深入了解,包括模型的整个结构和训练时使用的损失函数,还需要在模型中进行前向和反向传播以获取梯度,这是计算机安全中典型的白盒攻击。然而,在实际应用中,大多数在线模型不会允许我们查看其内部结构,那么黑盒攻击是否可行呢?答案是肯定的。我们可以利用一组输入和对应的输出,通过有针对性地查询模型来训练一个新的本地代理模型,然后以白盒方式对其进行攻击,这种攻击在代理模型上的效果也能在实际模型上体现。
1.2 对抗攻击的防御方法
对抗攻击在某些场景下可能只是小问题,但在自动驾驶系统、癌症检测应用等领域,却可能关乎生死。目前,成功防御所有类型的对抗攻击仍是一个研究领域,主要的防御方法包括模型蒸馏和输入验证。
- 模型蒸馏 :使用一个模型来训练另一个模型,同时结合标签平滑技术,使模型在做出决策时不那么确定,从而平滑梯度,降低基于梯度的攻击效果。
- 输入验证 :对输入数据进行验证,防止对抗性图像进入模型。例如,生成的攻击图像可能有一些像素与我们的视觉预期不符,我们可以根据具体领域设
对抗攻击与Transformer模型进展
超级会员免费看
订阅专栏 解锁全文
4833

被折叠的 条评论
为什么被折叠?



