前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是 Deep Q learning 算法

什么是 Deep Q learning 算法

作者头像
杨熹
发布2020-03-20 11:15:52
1.1K0
发布2020-03-20 11:15:52
举报
文章被收录于专栏:杨熹的专栏

上一篇文章中我们知道了 Q-learning 不适合状态空间很大的情况,因为它需要建立的 Q-table 对于较大维数的状态空间来说,计算是很难实现的,所以用 Deep Q Learning,即 Deep Learning + Reinforcement Learning 的方式来解决,下面是 deepmind 团队发表的 DQN 算法:

算法来自:Volodymyr Mnih,Playing Atari with Deep Reinforcement Learning

论文中的核心神经网络模型结构为:

图片来自:leonardoaraujosantos

模型的核心思想是:

模型每次的输入是状态 st,输出是 action 空间中,当前状态 st 所对应的各个 action 的 Q 值。

首先通过 epsilon 搜索法,选择当前要执行的 action t。

有了 st 和 at 之后,输入给 env 获得下一步状态和奖励,即 s t+1 和 rt。

将 st,at,rt,s t+1 存入历史记录 D。

从 D 中选择一小批数据 minibatch。

用算法中的公式计算出 yj,这个其实是估计出来的标签,因为我们并不知道 st 所对应的真实的 action 应该是什么,所以就用这种方法进行估计出目标标签,进而用于训练模型。

至此,我们有了模型的预测标签,以及估计出来的实际标签,于是可以用 MSE 作为误差函数,再应用梯度下降法训练模型的权重参数,当损失达到最小时,模型训练结束。


学习资料: https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/deep_q_learning.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档