[原创] 《深度强化学习实战》读 深度Q网络

dirty   2023-11-18 23:19 楼主

        本篇来学习深度Q网络,下面做学习笔记理解。

        为引出深度Q神经网路,开篇举例格子游戏(Gridworld)。给出以下下概念定义。

状态:是智能体收到的用于决定采取什么动作的信息。

策略:是智能体在收到一个状态时所遵循的对策

奖励:是智能体在采取动作后得到的反馈,会产生一个新状态。

 

        把从起始状态s1开始遵循某个策略得到的奖励的加权和称为状态-价值,用价值函数如下表示---该函数接收一个初始状态并返回预期的总奖励。

image.png    

其中,系数w1、w2等是在求和之前赋予奖励的权重。

 

        Q-learning的主要思想是,算法预测一个状态-动作对的值,然后将该预测值与稍后观察到的累积奖励进行比较并更新算法的参数,以便下次做出更好的预测。

Q-learning算法规则描述如下

image.png  

参数γ和α称为超参数,它们会影响算法的学习方式,但并不参与实际的学习。

参数α是学习率(leaming rate ),也是用于训练许多机器学习算法的超参数,它控制着我们希望算法从每步中学习的速度:其值较小意味着算法在每一步中只会进行较小的更新,其值较大则意味着算注可能会进行较大的更新

参数γ称为贴现因子(discount factor),是一个个于0和1之间的变量,控制着智能体在做决策时对未来奖励值的贴现程度。

 

        我们以随机模式训练模型时遇到的主要问题有一个名称:灾难性遗忘,其思想是:当两种游戏状态非常相似但会导致截然不同的结果时,Q函数将感到"困惑"且无法学习该怎么做。

在随机模式中,我们需要考虑灾难性遗忘问题,这也是需要实现经验回放的原因。经验回放基本上可以让在线学习方案中进行批量更新。

学习的不稳定性,其思想是由于奖励可能稀疏,对每一步进行更新可能导致算法开始出现不规律性。处理方式思想:在每次训练迭代时更新主要的Q网络函数,减小了最近的更新对动作选择的影响,以期提高稳定性。

    目标网络只是主DNQ的一个滞后副本,可用于稳定训练主DNQ的更新规则

 

小结:

        本章主要理解Q-learning算法公式组成部分及其含义,以及在模型训练中遇到的问题以及如何化解处理.涉及到的代码部分有注释说明,可以跟着阅读理解,了解流程引用模型算法。

本帖最后由 dirty 于 2023-11-18 23:24 编辑

回复评论 (1)

楼主辛苦了,感谢楼主提供的这么好技术分享,顶起来

点赞  2023-11-19 07:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复