Reinforce算法原理及Tensorflow代码实现

本文介绍了强化学习中的PolicyGradient方法,包括Reinforce算法和Actor-Critic算法,强调其避免传统强化学习方法的挑战,如价值函数的准确性问题和连续状态空间的难解性。PolicyGradient通过梯度下降直接优化期望回报,而Reinforce算法是其一例,使用蒙特卡罗方法进行策略更新,尽管存在高方差问题,但可以通过引入基准函数来缓解。文章还提供了Reinforce算法的伪代码实现,展示了如何构建和训练策略网络。

       Q-learning和DQN算法都是强化学习中的Value-based的方法,它们都是先经过Q值来选择动作。强化学习中还有另一大类是策略梯度方法(Policy Gradient Methods)。Policy Gradient 是一类直接针对期望回报(Expected Return)通过梯度下降(Gradient Descent)进行策略优化的强化学习方法。这一类方法避免了其他传统强化学习方法所面临的一些困难,比如,没有一个准确的价值函数,或者由于连续的状态和动作空间,以及状态信息的不确定性而导致的难解性(Intractability)。其中最著名的就是Policy Gradient,Policy Gradient算法又可以根据更新方式分为两大类:

蒙特卡罗更新方法:Reinfoce算法(回合更新)

时序差分更新方法:Actor-Critic算法(单步更新)

回顾蒙特卡罗方法和时序差分方法

       蒙特卡罗方法可以理解为算法完成一个回合之后,再利用这个回合的数据去学习,做一次更新。因为我们已经获得了整个回合的数据,所以也能够获得每一个步骤的奖励,我们可以很方便地计算每个步骤的未来总奖励,��Gt​。��Gt​是未来总奖励,代表从这个步骤开始,我们能获得的奖励之和。�1G1​代表我们从第一步开始,往后能够获得的总奖励。�2G2​代表从第二步开始,往后能够获得的总奖励。

       相比蒙特卡罗方法一个回合更新一次,时序差分方法是每个步骤更新一次,即每走一步,更新一次, 时序差分方法的更新频率更高。时序差分方法使用Q函数来近似地表示未来总奖励��Gt​。

Reinfoce算法原理

       Reinfoce使用蒙特卡罗方法估计每个状态下采取动作所获得的奖励期望值,然后用这些估计值计算策略梯度并更新策略参数。因为Reinfoce算法是一种无模型算法,它不需要对环境建立模型,也不需要预测值函数等中间步骤,相比其他强化学习算法更加简单和直接。

       Reinfoce算法在策略的参数空间中直观地通过梯度上升的方法逐步提高策略的性能。

▽�(�)=��∼��[∑�′=0∞▽������(��′∣��′)��′∑�=�′∞��−�′��]▽J(θ)=Eτ∼πθ​​[t′=0∑∞​▽θ​l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值