RL——学习笔记


为什么Off-Policy在于不与环境交互时效果不好?

  • Training Mismatch: 网络更新用的期望梯度与数据集中的观测不一致
    • 与环境交互时能成功的原因:在使用off-policy方法(包括DQN和A3C等)进行Policy-Network更新或Q-Network更新时,梯度更新本质上都需要根据下一时刻的奖励期望/价值函数/Q函数的期望(期望应该与状态无关)来进行,但是为了方便,我们一般都是用了当前观测状态等进行梯度更新,这里能够成功的本质原因与SGD类似,因为状态是从当前策略的分布中采样出来的,所以经过多次尝试可以逼近期望梯度,换句话说,当前的观测是从当前策略分布中采样来的,也就是对当前策略的一种无偏估计
    • 不交互时失败的原因:在固定数据集中使用off-policy方法时,则该数据集与off-policy方案对应的数据是无法对齐的,也就是说数据集中的期望与策略对应的期望不同,也就不能简单的使用该期望对应的梯度更新网络!
  • Absent Data: 数据集中可能存在某些状态是从来没有出现过的?
    • 某些state-action对的缺失?
    • 缺失会导致在该状态和动作上的错误估计
  • Model Bias: 数据集本身可能分布与MDP分布不一致
    • 比如某个状态转移概率在MDP中是1/10,但在Model Bias中可能为1/5,这样就导致了模型错误估计了环境的转态转移概率

为什么online RL中不能使用BN?

  • 参考链接:
  • BN能work的主要原因是,每个Batch的数据是从整体数据中随机采样得到的,每个Batch的均值和方差不会差别太大
  • 在online RL中,随着Agent的探索,数据分布一直在变化,进入模型的不同Batch无法保证能代表整体样本,随着Agent的迭代数据分布逐步变化,模型来不及学到固定的均值和方差,导致无法收敛
  • offline RL中,数据是提前固定的,则没有这个问题,所以offline RL中,可以使用BN