强化学习之Deep Q Network的理解

Deep Q Network是一种将神经网络和强化学习结合的算法,这里我介绍下我的理解,如果有误还请指正。

首先,该算法既然是基于Q-learning,那么我将Q-learning和更新的图放出以便对比介绍(图来源于B站UP莫烦):

Q-learning:

 Deep Q Network:

首先要明确这里的神经网络到底是拿来干啥的。即对于特别复杂的问题,Q表是非常巨大和复杂的,可能存在特别多的状态和动作,比如围棋问题(可能性超过了宇宙的原子,所谓“千古无同局”),一般的电脑根本没法存储和计算这么大的Q表。而神经网络却可以解决该问题。

也就是说,神经网络用于代替Q表。 

根据Q-learning算法,Q表的更新需要Q现实和Q估计,而这两个值本身也是Q表产生的。同样的思路,这里的神经网络代替Q表,那么就通过神经网络代替Q表的作用生成Q现实和Q估计,再由Q现实和Q估计的差更新神经网络。

具体的流程为(自己结合Q-learning算法和上面第二幅图的理解):

1、输入状态S,由神经网络给出S状态下的所有Q值(Q估计)。这里每个Q值对应一个动作(理论上应该会输出对应动作)。

2、根据贪婪算法,根据S状态下的所有Q值选择动作A(即可能是Q值最大的动作也可能是随机的动作)。

3、根据神经网络得到状态S选择动作A后的状态S_的所有Q值,奖励值R和对应动作A_

4、计算Q实际(R+maxQ(S_,A_))和Q估计(Q(S,A))的差更新神经网络

这里有个问题,即图2中给出的好像是根据所有输出的Q值进行更新,而实际的Q-learning只会更新选择的那个Q值。我这里介绍的思路也是更新选择的Q值,未选择的不予以更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值