关于DQN的整理和困惑以及自己的理解 自用

参考:感觉这篇写的挺详细了,按照自己的思路整理了一下

强化学习-----DQN(Deep Q-network)-CSDN博客

简单来说:就是把Q-learning中的Q-table变成了神经网络

以下图片为复制:

复制)如图,神经网络的的输入是状态s,输出是对所有动作a的打分(Q-value)

(复制)神经网络的训练是一个最优化问题,把网络输出和标签值之间的差值作为损失函数,目标是让损失函数最小化,手段是通过反向传播使用梯度下降的方法来更新神经网络的参数。

这里就有一个问题了,正常情况下的标签值是固定的、确定的,那么这里目标网络具体是什么情况呢,如何运作的呢,有什么作用呢???

先简单有个印象:

Q-estimate:根据当前的状态s选择动作a;一直更新

Q-target:用于计算TD Target(Temporal-Difference Target),即下一个状态s'的最大Q值;定期更新

相同点:网络结构和初始权重相同

不同点:权重的更新频率不同;用处也不同

是什么:就是下面TD target公式里面的Q,即Q-target

下面step4&5的Q是Q-estimate

注:step1: 不是greddy,是greedy

为什么:这玩意用来干啥的?

总结:稳定学习过程

解释:正如前面所说一般神经网络的目标都是不动的,但是这里我们又不知道目标表是啥,我们要是知道目标是啥就不用训练了,直接出结果!

但又由于二者都在变化,直观感受收敛较慢,比如跑步比赛,我去追苏炳添,我还不如直接躺平,但如果他跑个一百米歇个二三十秒,我还能看到点希望。Q-target是苏,俺是Q-estimate。

怎么用:具体如何操作的?

Q-estimate:主要通过agent与环境的交互进行参数学习

(1)根据当前状态,由Q-estimate给出行动

(2)与环境交互后得到新状态和奖励,即有样本(当前状态,动作,奖励,新状态),基于此更新网络的参数

(3)为了逼近TD Target: r + γ * max_a' Q_target(s', a'):使用梯度下降算法,最小化TD Target与Q-estimate的平方差

Q-target:不用学,参数定期从Q-estimate复制。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值