reference
background
- 强化学习是不稳定的甚至是发散的当使用非线性函数逼近器(例如神经网络)表示作用值(也称为Q)函数
- 这个不稳定的原因有:
- 观察序列中存在相关性 [这个对神经网络是影响很大]
- 对Q的小的更新可能会显着改变策略的变化从而改变了数据分布的事实,以及作用值(Q)与目标值之间?的相关性 [这个是基于价值函数的通病–》在值函数上修改可能导致policy的改动十分大]
refer1总结的很好:
这里提到的问题实际上是RL和DL结合会产生的问题
- DL需要大量带标签的样本进行监督学习;RL只有reward返回值,而且伴随着噪声,延迟(过了几十毫秒才返回),稀疏(很多State的reward是0)等问题;
- DL的样本独立;RL前后state状态相关;
- DL目标分布固定;RL的分布一直变化,比如你玩一个游戏,一个关卡和下一个关卡的状态分布是不同的,所以训练好了前一个关卡,下一个关卡又要重新训练;
- 提出
- 体验重播
- 将target (Q) value调整为仅定期更新的目标值,从而减少了与目标的相关性
refer1总结的很好:
- 通过Q-Learning使用reward来构造标签(对应问题1)
- 通过experience replay(经验池)的方法来解决相关性及非静态分布问题(对应问题2、3)
- 使用一个CNN(MainNet)产生当前Q值,使用另外一个CNN(Target)产生Target Q值(对应问题4)
learning
- 使用两个指标来展示:average score per episode and average action Q value function