强化学习待解决问题和主流Trick整理

2021-09-18 17:30:48 浏览数 (3)

文章目录

    • 一、四大待解决问题
    • 二、DRL主流Trick
      • 主流Trick应用场景
      • 2.1 序贯决策导致的非独立同分布问题
      • 2.2 Policy随Target震荡而震荡问题
      • 2.3 Target过估计从而影响策略问题
      • 2.4 数据采样效率问题
    • 三、典型DRL算法总结
    • 四、典型DRL算法
    • 致谢

一、四大待解决问题

序号

待解决问题

进一步理解

产生原因

本质

1

非独立同分布数据使神经网络难以收敛

由于训练分布完全依赖于序贯决策样本,导致训练出的数据分布局部化 ,即不同于完整状态-动作空间分布

序贯探索决策中有些动作频繁被执行,而有些动作几乎从不会被采样

采样数据分布

2

不断更新的目标使得每次得到的策略也在变化

policy随target震荡而震荡

由于target的估计不可避免地存在误差,导致policy的更新出现震荡

target估计不准

3

异构的过估计对策略产生不良影响

过估计会使Q表或神经网络参数w误差更大,从而影响策略

Bellman optimailty Eq中的max操作在实际迭代时由于估计不准而出现Maximization Bias

target估计不准

4

对于全状态-动作空间的采样效率低

更优的采样方法决定以更少的采样频率采样到更完整的空间分布

没有基于历史采样的全部信息作出采样规划

采样数据分布

二、DRL主流Trick

序号

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应用场景

以下不一定全面,部分可能有遗忘

序号

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

资格迹

2.1 序贯决策导致的非独立同分布问题

【产生原因】序贯探索决策中有些动作频繁被执行,而有些动作几乎从不会被采样。由于训练分布完全依赖于序贯决策样本,导致训练出的数据分布局部化,即与完整状态-动作空间分布不同

【Trick 1】经验回放

  • 每次episode,相当于采样每个agent的完整经历,每个agent的经历不同,不同agent的完整经历可视为一个局部分布
  • 而经验回放机制就是随机抽取某个agent的某个经历,从而采样到更近似完整state-action空间的分布

【Trick 2】并行探索

2.2 Policy随Target震荡而震荡问题

【产生原因】:由于Target的估计不可避免地存在误差,导致Policy的更新出现震荡

【Trick 3】分离target网络(主要缓解target震荡更新导致的policy震荡问题)

  • 背景:target的估计误差,随迭代时间增长而大概率逐渐降低
  • target的估计尤其在迭代初期存在较大误差,不如先让其训练一阶段再更新,从而缓解策略震荡问题
  • 本质:延迟target更新

【Trick 4】延迟policy更新

【Trick 5】受限policy更新

  • 动机:由于在策略梯度中,更新策略参数θ,采用线搜索先选方向后选步长,容易选出次优步长,导致更新较差策略,恶性循环。而通过信赖域方法,先确定步长,再确定方向可保证单调性策略变优

【Trick 6】 裁剪重要性采样率ρ

  • Off-policy采用的Improtance Sampling ratio不稳定,所以PPO采用Clip操作避免因为ratio分子或分母由于采样有限出现极端数字,导致比率过大或过小,遂采用剪裁Clipratio限制在[1 - epsilon, 1 epsilon]中,增加稳定性

2.3 Target过估计从而影响策略问题

【产生原因】: Bellman optimailty Eq中的max操作在实际迭代时由于估计不准而出现最大化偏差(Maximization Bias) Qtarget​(s,a)=R a′max​Q(s′,a′)

【Trick 7】 Double Learning思想,本质为按动作分布选取动作,缓解实际迭代中因估计不准而错误地将次优动作Q值作为target的估值带来的偏差问题

【Trick 7】有界Double Q

两者的区别如下图,说白了就是宁愿低估,也不愿高估。但这种trick对该问题的缓解很有限,治标不治本

  • 左图—Double Q
  • 右图—Bounded Double Q,对于target的估计更加保守

【Trick 9】按动作价值分布选取动作,个人理解与Double Q本质相同,但该方法直击本质

2.4 数据采样效率问题

【产生原因】:没有基于历史采样的全部信息作出采样规划

  • ①agent需记录历史采样过程形成采样地图
  • ②均匀采样

【Trick 10】正则化熵:即用策略熵来度量策略的随机性,由于我们希望采样过程中agent尽可能采样到全空间中更多的信息,因此我们更希望agent采样过程中注重探索性采样,即策略的不确定性越大则采样信息越全。为此在RL总目标函数上,我们在累计奖赏基础上加上策略的熵,以希望agent执行更多探索性的动作,采样到更全面的信息

【Trick 11】在每个状态的值函数上增加策略熵

三、典型DRL算法总结

四、典型DRL算法

致谢

感谢李升波教授开设的强化学习课程和PPT

1 人点赞