强化学习实践 | DQN
- 原论文:Playing Atari with Deep Reinforcement Learning
- 参考:
https://mofanpy.com/tutorials/machine-learning/reinforcement-learning/intro-DQN/
1. 直觉介绍
我们之前利用的是Q-Table查询的方法得到每一个State应该做的动作,但在State很多的时候,我们无法存储那么多的State。因此,另一种解决方案是通过函数(神经网络拟合),具体来说有2种
- 输入 ( s t , a t ) (s_t,a_t) (st,at),输出 q ( s t , a t ) q(s_t,a_t) q(st,at)
- 输入 s t s_t st,输出 q ( s t , a 1 ) , . . . , q ( s t , a n ) q(s_t,a_1),...,q(s_t,a_n) q(st,a1),...,q(st,an)(即输出各个动作的q值)
我们对第二种方法继续讨论:
- target: R + γ ∗ m a x Q ( s ′ ) R+\gamma*maxQ(s') R+γ∗ma