深度强化学习DQN系算法理解

致谢
进行DQN方法整理时,主要对原文进行了学习,并参考了几位作者的笔记,在此一并表示感谢。索引网页如下:
https://www.jianshu.com/p/6fe18d0d8822
https://www.jianshu.com/p/0fb311d96da4
https://www.cnblogs.com/pinard/p/9797695.html
https://blog.csdn.net/mike112223/article/details/92798121

【Volodymyr Mnih, Koray Kavukcuoglu, David Silver, et al. Playing Atari with Deep Reinforcement Learning. arXiv preprint arXiv:1312.5602, 2013】【Mnih, V., Kavukcuoglu, K., Silver, D. et al. Human-level control through deep reinforcement learning. Nature 518, 529–533 (2015).】【Hado van Hasselt, Arthur Guez, David Silver. Deep Reinforcement Learning with Double Q-learning. arXiv preprint arXiv: 1509.06461, 2015】

1.将原始Q-学习问题转化为深度学习问题

核心是将Q-Table的更新问题变成一个函数拟合问题,使得相近的状态得到相近的输出动作。通过更新参数 θ 使Q函数逼近最优Q值 。DQN就是要设计一个神经网络结构,通过函数来拟合Q值:在这里插入图片描述

2. DL和RL结合的问题与解决方法

存在问题:

①DL需要大量带标签的样本进行监督学习;RL只有reward返回值,而且伴随着噪声、延迟(过了几十毫秒才返回)、稀疏(很多State的reward是0)等问题;

②DL的样本独立;RL前后state状态相关;

③DL目标分布固定;RL的分布一直变化,比如你玩一个游戏,一个关卡和下一个关卡的状态分布是不同的,所以训练好了前一个关卡,下一个关卡又要重新训练;

④使用非线性网络表示值函数时可能过高估计动作价值。计算Q-target值的过程如下,
在这里插入图片描述

计算Q-target值与取价值最大动作的网络为同一参数网络,可能导致对动作价值的过高估计(即评价动作价值偏高时,一定会采用评估偏高的动作。)

你可能感兴趣的:(强化学习)