强化学习攻防概述
深度强化学习
不同于传统机器学习的单步预测任务, 深度强化学习系统利用多步决策完成特定任务, 且连续决策之间具有高度相关性
强化学习
强化学习指的是一种智能体在环境中探索,以达成最大化特定目标的学习范式。
强化学习中最重要的两个要素分别为环境与智能体:
- 智能体基于环境中的状态进行探索,给出动作
- 智能体的动作将对环境的状态产生改变,并产生探索的奖励
强化学习可以使用马尔可夫决策过程进行建模
其数学形式表示:
- 环境的状态
- 环境的状态转移函数:使用马尔可夫的转台转移概率进行表述
- 智能体在与环境交互过程中获得的奖励
- 目标衰减因子:与环境的交互越复杂(时间/空间),获得的奖励越少
智能体与环境进行交互,通过多次尝试(epoch)尝试得到最大的奖励
基于值函数的DRL
主要通过深度神经网络逼近目标动作价值函数, 表示到达某种状态或执行某种动作得到的累积回报
基于策略梯度的DRL
将策略参数化,利用深度神经网络逼近策略
沿着策略梯度方向来调整动作,最终找到最优策略
强化学习的攻击分类
对抗样本:在训练的样本中加入特定的、人类无法分别的噪声,能对训练效果产生显著影响。
在强化学习领域。对抗样本使得强化学习智能体产生最差的长期奖励
对强化学习的攻击方式有:
- 基于状态S:扰动智能体观测获改变观测结果,使得做出的决策收获最小的目标函数
- 基于奖励R:干扰与环境交互的奖励函数,从而影响全局决策
- 基于动作A:
- 直接对智能体的动作进行干扰
- 训练对其他智能体有干扰的智能体
基于状态S
通过干扰观测值s,改变智能体的决策
决策函数为:
是使用最多的攻击方式。
基于观测
攻击者直接修改智能体的观测结果,尽管在真实情景中可能难以达到该效果。
强化学习的攻击是否成功应该通过最终奖励而不是动作改变的百分比来反映。
-
策略化时间攻击:基于强化学习概率给出的动作策略,在特定的、危害性zui’da
-
诱导攻击:将智能体诱导到某一特定位置,再进行攻击
-
模型窥探攻击:不需要知道智能体的全部信息,只需要知道部分模型的动作和奖励函数即可进行攻击
-
基于黑盒的对抗攻击算法:逆向利用决策的马尔可夫过程,使用DDPG算法来求解影响最大的对抗策略
-
对抗Transformer网络ATN:固定智能体策略网络,在智能体的观测前加入ATN模块
ATN模块也需要进行训练,可以视作一个新的强化学习智能体,当作环境中的一部分进行训练。
-
FGSM攻击:在深度学习模型梯度变化最大的方向添加扰动,导致模型输出错误结果
基于FGSM的强化学习攻击方法具有较强的攻 击迁移能力
基于环境
直接修改观测结果可能难以达到,通过修改环境实现效果。
在真实场景中,攻击者往往不能获得被攻击模型的参数、结构等信息,也不能轻易扰动模型的奖励、动作等内部数据。
环境攻击是直接修改智能体的训练环境, 主要通过对环境动态模型的修改以及在环境中加入阻碍物(并非在智能体的传感器上添加噪声)的方式来实现攻击
基于奖励R
对智能体的回报奖励进行干扰,使得训练过程出现偏差。
基于动作A
动作既是上一次策略网络的输出,也会影响到下一次网络自身的输入。
动作的扰动会带来时序层面的影响。
- 可以通过直接扰动智能体策略输出动作的概率来进行攻击;
- 可以引入另一个智能体,使其具备对抗性策略并做出攻击性动作,造成原智能体回报大幅下降
基于动作概率
- 目光短浅:只考虑对当前状态造成的回报影响最大
- 目光长远:连续劳动多个时间点的动作,考虑对整体的奖励回报最大
在理论推导中,会使用代理回报奖励替代回报奖励,以解决数学上不可导的问题。
基于对抗策略
训练一个具有对抗策略的强化学习智能体,做出对抗攻击性行为
面向深度学习的对抗攻防技术
基于对抗训练的防御
可以视作求解一个最小-最大优化问题:
- 攻击者希望生成最具有攻击性的扰动,从而最小化被攻击者的总目标
- 防御者希望最具鲁棒性的模型,从而最大化自身的总目标
若攻击者和被攻击者均为强化学习算法,则均需要不断适应对方的策略,对方防御的开销极高,往往无法收敛。
基于对抗检测的防御
对抗检测:通过训练额外的模型对输入样本进行检测,将对抗样本直接丢弃,只保留正常干净的样本。
不改变智能体原有的策略,一旦面对未曾在训练中出现的对抗攻击方法,则难以有效检测出对抗样本,防御能力较弱。
只是具有了识别对抗样本的功能,强化学习本身不具有对抗鲁棒性。
基于可证明鲁棒性的防御
形式化地推导给出防御方法的鲁棒性下界
基于鲁棒学习的防御
强化学习中的回报奖励在动态环境中存在不确定性,甚至可能遭受人为恶意对抗扰动。
面对来自训练阶段或者 测试阶段时的攻击方法时提高其自身鲁棒性的学习机制
应用与攻击算法适配的特殊方法来进行防御。
从对抗攻击到DRL机理理解与模型增强
脆弱性分析
对抗训练策略的扰动更聚焦于低频信息,这说明对抗训练模型更关注低频区域的信息。
对抗增智
通过攻防对抗,两个智能体一次固定参数和训练,最终达到一个纳什均衡
利用生成对抗网络GAN来训练一个更具鲁棒性的模型。