DQN的理解

DQN的理解

DQN的理解和代码示例1

DQN的理解和代码示例2

img

这里写图片描述

假设从经验池中随机取出数据:

(s1,a1,r1,s2,False),

(s7,a7,r7,s8,False),

(s18,a18,r18,s19,Flase)。

  • 目标值网络这边:在第一条数据中,把下一状态s2输出到神经网络中,将输出该状态下,各个动作对应的Q值,记作Q1_next。比如Q1_next=(0.5,0.6,0.9,0.2),意思是s2状态下执行a1的Q值为0.5,执行a2的Q值为0.6,执行a3的Q值为0.9,执行a4的Q值为0.2。这对应着第一张图目标值网络对应的输出。
  • 当前值网络这边:第一条数据中,把当前状态s1输入当前值网络,也会输出该状态下各个动作对应的Q值,然后通过贪婪策略选择Q值最大的那一个动作作为a1,图一中最大的Q值记为Q(s, a; θ),图二中记为Q(ai) 。这和 当前网络与环境交互时选择动作 是吻合的。
  • DQN误差函数里面:首先计算Q1_target = r1 + gama*Max(Q1_next) ,然后计算loss_1 =( Q1_target - Q1(s, a; θ) )^2。进而梯度下降方向传播来更新网络参数 θ。
  • 同样,将第二条、第三条的下一状态都输入目标值网络,得到相应的Q7_next, Q18_next。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值