前置知识
1.Experience Replay:相当于一个仓库,用来存放一堆数据,每当数据增加数量达到某个值时,就随机从仓库里面抽取一定量的数据用于训练。这样可以避免过拟合。
2.DQN重有两个神经网络:Q网络和target网络。q网络实时进行权重更新,而target网络则在训练中保持不变,经过t步之后更新。保持不变是为了让训练过程中有个固定值,如果全部值都在变的话就比较难训练。
3.分发给Q网络和target网络的数据是同一组。
内容
Q网络:求现在状态S下最佳的Q值。
target网络:利用现在的状态S求下一状态S‘,再在S’的基础上,求最佳Q值。
损失loss:预测值(用Q网络求)和真实值(目标值,用Target网络求+r)的差
主要步骤
1.从Experience Replay中拿数据
2.在Q网络中,用S1来找到最大Q值,该Q值是q4。
3.在target网络中,用S2(S1的下一状态)来求最大Q值,该q值是q9。由于是未来的状态,所以要乘一定折扣率gramma,再加上回报r才能等于这一状态的目标。
4.计算损失值loss:用MSE函数在预测值q4和目标值r+q9之间求差。
本文参考了文献和一些网络中其他作者的解读。
文献标题:Reinforcement Learning Explained Visually (Part 5): Deep Q Networks, step-by-step