序号 | 待解决问题 | 进一步理解 | 产生原因 | 本质 |
---|---|---|---|---|
1 | 非独立同分布数据使神经网络难以收敛 | 由于训练分布完全依赖于序贯决策样本,导致训练出的数据分布局部化 ,即不同于完整状态-动作空间分布 | 序贯探索决策中有些动作频繁被执行,而有些动作几乎从不会被采样 | 采样数据分布 |
2 | 不断更新的目标使得每次得到的策略也在变化 | policy随target震荡而震荡 | 由于target的估计不可避免地存在误差,导致policy的更新出现震荡 | target估计不准 |
3 | 异构的过估计对策略产生不良影响 | 过估计会使Q表或神经网络参数w误差更大,从而影响策略 | Bellman optimailty Eq中的max操作在实际迭代时由于估计不准而出现Maximization Bias | target估计不准 |
4 | 对于全状态-动作空间的采样效率低 | 更优的采样方法决定以更少的采样频率采样到更完整的空间分布 | 没有基于历史采样的全部信息作出采样规划 | 采样数据分布 |
序号 | Trick | 切入点 | 缓解问题 | 应用场景 | 备注 |
---|---|---|---|---|---|
1 | 经验回放 | 采样方式 | ①非独立同分布 | DQN | 仅Off-policy |
2.1 | 并行探索(回传梯度) | 采样方式 | ①非独立同分布 | A3C | Off/On-policy |
2.2 | 并行探索(回传经历) | 采样方式 | ①非独立同分布 | DPPO/IMPALA | 同上 |
3 | 分离target网络 | 延迟target更新 | ② target与policy的更新震荡 | DQN | 同上 |
4 | 延迟policy更新 | 延迟policy更新 | ② target与policy的更新震荡 | TD3 | 同上 |
5 | 受限policy更新 | policy在信赖域中更新 | ② target与policy的更新震荡 | TRPO/PPO | 同上 |
6 | clip重要性采样率ρ | 受限重要性采样率 | ② target与policy的更新震荡 | PPO | 仅Off-policy |
7 | Double Q | target中的动作选择 | ③ target过估计 | DDQN/DDPG | |
8 | Bounded Double Q | target最优动作下界 | ③ target过估计 | TD3/SAC | |
9 | Action Distribution | target中的动作选择 | ③ target过估计 | DSAC | |
10.1 | 正则化策略熵 | 策略的探索性 | ④ 采样效率 | A3C | |
10.2 | 值函数引入策略熵 | 策略的探索性 | ④ 采样效率 | SAC | |
11 | Prioritized Sweeping | 优先级采样 | ④ 采样效率 | PER-DQN | |
12 | 连续动作+Noise | 连续动作估值泛化性 | Noise DQN/DDPG/TD3 | ||
13 | Advantage函数 | 减小方差 | Dueling DQN/TRPO/A3C/PPO | ||
14 | n-step TD Learing | 平衡方差与偏差 | PPO | ||
15 | 资格迹 | 累计值函数梯度实现Online化 |
以下不一定全面,部分可能有遗忘
序号 | Trick | DQN | DDQN | Dueling DQN | Noise DQN | PER DQN | DDPG | TD3 | TRPO | PPO | DPPO | IMPALA | A3C | SAC | DSAC |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 经验回放 | √ | √ | √ | √ | √ | √ | √ | √ | √ | |||||
2.1 | 并行探索(回传梯度) | √ | |||||||||||||
2.2 | 并行探索(回传经历) | √ | √ | ||||||||||||
3 | 分离target网络 | √ | √ | √ | √ | √ | √ | √ | √ | √ | |||||
4 | 延迟policy更新 | √ | √ | ||||||||||||
5 | 受限policy更新 | √ | √ | √ | |||||||||||
6 | clip重要性采样率ρ | √ | √ | ||||||||||||
7 | Double Q | √ | √ | √ | √ | ||||||||||
8 | Bounded Double Q | √ | √ | ||||||||||||
9 | Action Distribution | √ | |||||||||||||
10.1 | 正则化策略熵 | √ | |||||||||||||
10.2 | 值函数引入策略熵 | √ | √ | ||||||||||||
11 | Prioritized Sweeping | √ | |||||||||||||
12 | 连续动作+Noise | √ | √ | √ | |||||||||||
13 | Advantage函数 | √ | √ | √ | √ | ||||||||||
14 | n-step TD Learing | √ | √ | ||||||||||||
15 | 资格迹 |
【产生原因】序贯探索决策中有些动作频繁被执行,而有些动作几乎从不会被采样。由于训练分布完全依赖于序贯决策样本,导致训练出的数据分布局部化,即与完整状态-动作空间分布不同
【Trick 1】经验回放
【Trick 2】并行探索
【产生原因】:由于Target的估计不可避免地存在误差,导致Policy的更新出现震荡
【Trick 3】分离target网络(主要缓解target
震荡更新导致的policy
震荡问题)
target
的估计误差,随迭代时间增长而大概率逐渐降低
target
的估计尤其在迭代初期存在较大误差,不如先让其训练一阶段再更新,从而缓解策略震荡问题
target
更新
【Trick 4】延迟policy
更新
【Trick 5】受限policy
更新
【Trick 6】 裁剪重要性采样率ρ
Improtance Sampling ratio
不稳定,所以PPO采用Clip操作避免因为ratio分子或分母由于采样有限出现极端数字,导致比率过大或过小,遂采用剪裁Clip
把ratio
限制在[1 - epsilon, 1 + epsilon]
中,增加稳定性
【产生原因】: Bellman optimailty Eq
中的max
操作在实际迭代时由于估计不准而出现最大化偏差(Maximization Bias) Qtarget(s,a)=R+a′maxQ(s′,a′)
【Trick 7】 Double Learning思想,本质为按动作分布选取动作,缓解实际迭代中因估计不准而错误地将次优动作Q值作为target的估值带来的偏差问题
【Trick 7】有界Double Q
两者的区别如下图,说白了就是宁愿低估,也不愿高估。但这种trick对该问题的缓解很有限,治标不治本
Double Q
Bounded Double Q
,对于target
的估计更加保守
【Trick 9】按动作价值分布选取动作,个人理解与Double Q本质相同,但该方法直击本质
【产生原因】:没有基于历史采样的全部信息作出采样规划
【Trick 10】正则化熵:即用策略熵
来度量策略的随机性
,由于我们希望采样过程中agent尽可能采样到全空间中更多的信息,因此我们更希望agent采样过程中注重探索性采样,即策略的不确定性越大则采样信息越全
。为此在RL总目标函数上,我们在累计奖赏基础上加上策略的熵,以希望agent执行更多探索性的动作,采样到更全面的信息
【Trick 11】在每个状态的值函数上增加策略熵
感谢李升波教授开设的强化学习课程和PPT