六、强化学习第六篇--DQN算法

1、DQN简介                                                                                          

DQN 是指基于深度学习的 Q-learning 算法,主要结合了值函数近似 (Value Function Approximation)与神经网络技术,并采用了目标网络和经历回放的方法进行网络的训练。

2、值函数近似                                                                                        

DQN 为基于深度学习的 Q-learning 算法,而在 Q-learning 中,我们使用表格来存储每一个state action reward,即状态-动作值函数 Q(s, a) 。但是在我们的实际任务中,状态量通常数量巨大并且在连续的任务中,会遇到维度灾难的问题,所以使用真正的 Value Function通常是不切实际的,所以使用了价值函数近似(Value Function Approximation)的表示方法。

 

 

3、策略评估                                                                                          

假设有一个演员 (actor)π ,评论家就是来评价这个演员的策略 π 好还是不好,即 Policy Evaluation(策略评估)。 主要分为两种策略;

3.1 State Value Function Estimation

3.2 State-action Value Function Estimation

4、目标网络                                                                                          

Target Network:为了解决在基于 TD Network 的问题时,优化目标 Qπ (st, at) = rt+Qπ (st+1, π (st+1))左右两侧会同时变化使得训练过程不稳定,从而增大 regression 的难度。 target network 选择将上式的右部分即 rt + Qπ (st+1, π (st+1)) 固定,通过改变上式左部分的 network 的参数,进行 regression这也是一个 DQN 中比较重要的 tip。

通常是会把右边这个 Q 网络固定住。也就是说你在训练的时候,你只更新左边的 Q 网络的参数,而右边的 Q 网络的参数会被固定住。因为右边的 Q 网络负责产生目标,所以叫目标网络。因为目标网络是固定的,所以你现在得到的目标 rt + Qπ (st+1, π (st+1)) 的值也是固定的。因为目标网络是固定的,我们只调左边网络的参数,它就变成是一个回归问题。我们希望模型的输出的值跟目标越接近越好,你会最小化它的均方误差 (mean square error)

在实现的时候,你会把左边的 Q 网络更新好几次以后,再去用更新过的 Q 网络替换这个目标网络。但它们两个不要一起动,它们两个一起动的话,结果会很容易坏掉。 

5、经验回收                                                                                             

Experience Replay 会构建一个 Replay BufferReplay Buffer 又被称为 Replay MemoryReplay Buffer 是说现在会有某一个策略 π 去跟环境做互动,然后它会去收集数据。我们会把所有的数据放到一个 buffer 里面, buffer 里面就存了很多数据。

6、DQN算法                                                                                            

7、DQN训练伪代码                                                                                             

8、优化DQN(解决探索-利用窘境)                                                                 

posted @ 2021-07-22 17:25  Dammond  阅读(9684)  评论(0编辑  收藏  举报