什么是 Deep Q learning 算法

作者: 不会停的蜗牛 | 来源:发表于2020-03-11 23:53 被阅读0次

    上一篇文章中我们知道了 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

    相关文章

      网友评论

        本文标题:什么是 Deep Q learning 算法

        本文链接:https://www.haomeiwen.com/subject/zpnkjhtx.html