强化学习基础07——deep Q-network(DQN)

目录

1. DQN

关于Q*函数请参考强化学习基础概念03——价值函数_王三省的读研日记的博客-优快云博客中的问题4(optimal action value function最优动作价值函数Q*)

如何理解

具体的算法:

2. TD算法

举个例子:

TD target

 如何用TD算法用来学习dqn?​

3. 总结:


1. DQN

DQN全称deep Q-network,是一种价值学习的方法,用一个神经网络去近似Q*函数,我们把神经网络记为Q(s,a;w),神经网络的参数是W,神经网络的输入是状态S,神经网络的输出是很多数值,这些数值是对所有可能的动作的打分,每一个动作对应一个分数,我们通过奖励来学习神经网络,神经网络给动作的打分就会逐渐改进,打分会越来越准。

其实就是用个神经网络近似Q*函数,游戏中的agent的目标是打赢游戏。

关于Q*函数请参考强化学习基础概念03——价值函数_王三省的读研日记的博客-优快云博客中的问题4(optimal action value function最优动作价值函数Q*)

如果用强化学习的语言来说,目标就是在游戏结束的时候,获得的奖励总和越大越好。

既然目标已经定下来了,agent就要努力实现目标。

假设Q*函数是知道的,那么agent该怎么做决策呢?什么才是最优的动作呢?

Q*函数可以给所有的动作打分每个动作a都有个分数最好的动作a就是分数最高的动作

Q*函数就像是个先知一样,它能预见未来的结果。

比如你问先知现在有ABC三个股票,我该把我的钱用来买哪个股票呢?未来是充满随机性的,什么都可能发生。所以先知没有办法给你一个确定的答案,只能告诉你平均值。

先知Q*说了,从平均值来看,A股跳涨了10倍,B股票涨了两倍,C股票跌了一半,先知还告诉你实际发生的情况跟平均值并不一样,那么你该买哪只股票呢?只要你不傻,你肯定买A股票,因为先知都已经告诉你了,A股票的期望值能涨10倍的,实际结果未必是涨10倍,有可能下跌,但还有可能涨20倍。但是从期望来看还是买A股票最好。

如何理解

回到正题,该怎么理解Q*函数呢?你把Q*当成一个先知,他能告诉你每个动作带来的平均回报,你该听先知的话,选平均回报最高的那个动作,agent可以靠Q*的指点来做决策,但实际上我们并没有Q*函数,价值学习的基本想法就是学习一个函数来近似Q*。

我们把神经网络记为Q(s,a;w),神经网络的参数是W,神经网络的输入是状态S,神经网络的输出是很多数值,这些数值是对所有可能的动作的打分,每一个动作对应一个分数,我们通过奖励来学习神经网络,神经网络给动作的打分就会逐渐改进,打分会越来越准。

如果让神经网络玩几百万次超级玛丽,神经网络就跟先知一样准确了。

Dqn就是这样的一个神经网络,对于不同的问题,dqn结构可能会不一样。

举个例子,如果是玩超级玛丽,可以把屏幕上的画面作为输入,用一个卷积层把图片变成特征向量,最后用几个全连接层把特征映射到一个输出的向量,这个输出的向量就是对动作的打分,向量每一个元素对应一个动作,在超级玛丽的例子里面有左右上三个动作,所以输出的向量是三维的。

第一个元素是dqn对向左这个动作的打分,第二个元素是对向右这个动作的打分,第三个元素是对向上这个动作的打分,假如分数是这样的,向左的分数是2000分,向右的分数是1000分,向上的动作是3000分。很显然agent应该向上跳,因为向上跳得分最高,所以只要有了dqn,把dqn训练好,就可以用dqn自动控制超级玛丽,可以打赢游戏,可以用dqn来操作agent打游戏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值