DQN网络
DQN(Deep Q Networks)网络属于深度强化学习中的一种网络,它是深度学习与Q学习的结合,在传统的Q学习中,我们需要维护一张Q(s,a)表,在实际运用中,Q表往往是巨大的,并且当状态和行为的组合无穷时,则无法通过查表的方式获取最优的行为,因此我们需要一个深度学习模型来拟合Q(s,a)表,即能够帮助Q算法在对应的状态下找出最优的行为,即DQN网络,其网络结构如下图所示:
其中,DNN网络的训练集为:
针对训练数据
DQN网络的训练算法如下图所示:
从上面损失函数的公式L i ( θ i ) L_{i}(\theta_{i})L i (θi ) 中可以看出有两个训练参数w i − w_{i}^{-}w i − 和w i w_{i}w i ,这表示了我们需要两个神经网络DQN1和DQN2,它们的结构完全一样,但是其中的权重、偏置参数不同,一个是w i − w_{i}^{-}w i −,另一个是w i w_{i}w i ,其中DQN1网络,即参数w i − w_{i}^{-}w i −所在的神经网络被称为Target Network网络。
之所以需要训练两个神经网络,是因为如果只有一个神经网络的话,那么随着参数w i w_{i}w i 的不断更新,其学习的目标m a x a ′ Q ( s ′ , a ′ , w i − ) max_{a’}Q(s’,a’,w_{i}^{-})m a x a ′Q (s ′,a ′,w i −) 也在不断更新,因此算法很难收敛,而当我们使用两个神经网络DQN1和DQN2,在训练时,我们固定住学习目标m a x a ′ Q ( s ′ , a ′ , w i − ) max_{a’}Q(s’,a’,w_{i}^{-})m a x a ′Q (s ′,a ′,w i −)中的参数 w i − w_{i}^{-}w i −,这样另一个神经网络中的参数w i w_{i}w i 是针对一个固定的目标在更新,实现神经网络的训练。
其算法如下图所示:
以上就是深度强化学习中DQN网络的详细介绍,使用TD方法结合非线性的神经网络函数近似时可能不会收敛,但是DQN网络使用经理重现和固定的Q目标值,能够做到收敛而且算法具有很好的鲁棒性。
Original: https://blog.csdn.net/a_123zxy/article/details/122742875
Author: 人工智能小a
Title: 深度强化学习DQN网络
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/689375/
转载文章受原作者版权保护。转载请注明原作者出处!