
强化学习
文章平均质量分 90
wshzd
机器学习,深度学习,NLP,强化学习
展开
-
强化学习八、策略梯度
到目前为止,前面分享的从MDP到DQN都是值函数的方法,值函数方法的思路是先通过策略评估和策略改善两个步骤优化值函数,然后通过最优的值函数来导出最优的策略,此时的最优策略是贪婪策略,也就是在给定状态s,寻找最大状态值函数的动作,它是一个状态空间到动作空间的有限映射。 其实值函数的方法是有一些局限性的: 1、策略π是通过值函数产生的,但是有时候值函数很难计算的,比如让机器人打乒乓球,你需要前后左右移动来接球,计算小球在某一个位置是采取什么样的行动是很困难的。 2、对于高纬度或者连...原创 2021-05-22 14:37:12 · 570 阅读 · 0 评论 -
强化学习七、DQN变种
从之前分享的强化学习、DQN中,我们可以看到在计算目标值时和计算当前值用的是同一个网络Q,这样在计算算目标值时用到了我们需要训练的网络Q,之后我们又用目标值来更新网络Q的参数,这样的参数,这样两者的依赖性太强,不利于算法的收敛,下面通过两个DQN的变种Nature DQN和Double DQN来解决这个问题。DQN的亮点之一就是采用经验回放技巧来缓和训练样本之间的关联性,但是由于采用的是均匀随机采样,其实一些样本对梯度的更新是比较小的,如果同等对待,那就会增加计算成本,甚至会导致效果不佳,Prioritiz原创 2021-05-22 14:35:44 · 834 阅读 · 0 评论 -
强化学习六、DQN
到目前为止已经介绍了强化学习的基本方法:基于动态规划的方法、基于蒙特卡罗的方法、基于时间差分的方法。这些方法都有一个基本的前提条件:状态空间和动作空间是离散的,而且都不能太大。原因是这些方法的值函数其实是一张表,对于状态值函数,其索引是状态;对于动作值函数,其索引是状态-动作对,所以如果状态空间很大的话,或者状态空间是连续的话,值函数很难用一张表来表示或者存储。 此时我们就可以利用函数逼近的方法来表示值函数,然后就可以利用策略迭代和值迭代方法构建算法。 下面我们首先回顾一下蒙特卡罗方法、TD方法值函数的原创 2021-05-22 14:32:33 · 1459 阅读 · 1 评论 -
强化学习五、时间差分(二)
前面已经讨论了基本的时间差分的预测方法强化学习(五):时间差分(一),本节将介绍时间差分在控制方面的两个算法SARSA和Q-learning,分别为on-policy(在线控制)和off-policy(离线控制)。我们回顾一下控制问题的描述:给定强化学习的5个要素:状态集S,动作集A,即时奖励R,衰减因子γ,探索率ϵ,求解最优的动作价值函数q∗和最优策略π∗。 时间差分是免模型的强化学习问题,对于它的控制问题求解,和蒙特卡罗法类似,都是价值迭代,即通过价值函数的更新,来更新当前的策略,再通过新的策...原创 2021-05-22 14:31:13 · 357 阅读 · 1 评论 -
强化学习五、时间差分(一)
之前已经分享过基于模型的动态规划方法(DP)和基于免模型的蒙特卡罗法(MC),DP方法解决了在MDP框架下环境已知的情况下求解值函数和策略,而MC是在不知道环境的情况,通过与环境足够的交互来获得经验来进行学习值函数和策略。但是MC需要等到每次试验结束才更新,学习效率低,而本次分享的时间差分(TD)可以结合MC的采样和DP的bootstrapping。 我们先来回顾一下MC的特点: TD的特点如下: 下面把MC和TD的值函数更新作一个对比: 如上所示,TD中才会把Gt写成递归的形式。这样,原创 2021-05-22 14:29:12 · 423 阅读 · 0 评论 -
强化学习四、蒙特卡罗法(一)
在强化学习三、策略迭代与值迭代中,我们讨论了用动态规划来求解强化学习预测问题和控制问题的方法。但是由于动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态的所有可能的后续状态。导致对于复杂问题计算量很大。同时很多时候,我们连环境的状态转化模型P都无法知道,这时动态规划法根本没法使用。这时候我们如何求解强化学习问题呢?本文要讨论的蒙特卡罗(Monte-Calo, MC)就是一种可行的方法。 1.免模型的强化学习问题定义 在动态规划法中,强化学习的两个问题是这样定义的: 预测问题,即给定强化学习原创 2021-05-22 14:25:14 · 638 阅读 · 0 评论