机器学习 - 攻防(如何欺骗ML 和 如何防御攻击)
攻击 机器学习模型
- 无目标攻击
- 通过添加噪音,使得训练的结果远离目标
- 有目标的攻击
- 通过添加噪音,使得训练的结果离错误的目标越近越好比如说:垃圾邮件被判断非垃圾邮件
- 限制
- 不要被发现:输入的噪音尽可能的小
- 衡量算法
- L2 - normal
- L - infinity
- 核心思想
- 通过梯度下降方法,把噪音作为参数进行调参
- 算法
- 白盒攻击:有模型和模型参数
- FGSM:只在意偏移方向,不在意大小
- 黑盒攻击:不知道模型和模型参数
- 知道原始的训练数据
- 自己训练一个模型
- 通过代理模型,再寻找攻击目标
- 白盒攻击:有模型和模型参数
防御 攻击机器学习模型
- 被动防御
- 不改变模型,只是添加异常检测
- 思路
- 把Image进行平滑化
- Feature Squeeze
- 图片缩放,再加上padded
- 主动防御
- 在训练模型的时候,把防御手段添加进去
- 思路:寻找漏洞,堵上漏洞
- 针对每张图片,通过攻击算法寻找攻击图片
- 重新打标,添加到训练数据
攻击案例
- 图像攻击
- 思路
- One pixel attack
- differential evolution(类似遗传算法)
- Initialize Candidates
- Select Candidates and Generate
- Test Candidates and Substitute
- differential evolution(类似遗传算法)
- One pixel attack
- 思路
- 语音攻击
- 应用场景
- ASR(自动化的语音辨识)攻击
- ASV(识别这段话,是谁讲的)攻击
- Hidden Voice Attack
- 通过发送特定的语音(有可能这段声音人听不到),启动制定的设备
- 攻击算法
- Time Domain Inversion
- Random Phase Generation
- High Frequency Addition
- Time Scaling
- 应用场景