本文的主要流程按照:
- Q learning的基本流程
- 神经网络的引入
- deepmind 2015年nature论文的两种改进策略
- 完整的DQN流程(参考上述论文)
来进行讲解。
1. Q learning 的基本流程
几个基础概念:
Q(s,a)--存储在状态s下动作a的Q value的矩阵,矩阵规模为num(s)*num(a);
s--状态,a--动作,r--回报值;
整个Q学习的过程是利用bellman公式的等式关系,来更新存储估计Q值的矩阵Q(s,a),使它为智能体的动作选择提供最优的引导。
过程:
首先,当前的状态为s,要根据动作选择策略π(s)选择一个动作a,而这个π(s)所基于的参数与Q(s,a)有关。最常用的方法是ε-贪心算法,也就是每个状态有ε的概率进行探索(即随机选取),而剩下的1-ε的概率则进行利用(选取当前状态下Q值较大的那个动作)。ε一般取值较小,0.01即可。当然除了ε-greedy方法还有一些效果更好的方法。而选择的该动作a在当前状态s下的Q值,是Q(s,a),这个Q值被认为是该状态-动作对的估计Q值。
得到动作a后,通过与环境的交互信息,使智能体1.到达s_状态2.获得回报值r。
关于回报值r的设定,最经典的办