强化学习(RL)学习笔记(二)蒙特卡洛(MC),时序差分(TD)算法

强化学习(RL)学习笔记(二)蒙特卡洛,时序差分Temporal-Difference Learning(TD)算法

1.蒙特卡洛

Monte-Carlo算法:
1.讲agent放入环境的任意状态
2.从这个状态开始选择action, 并进入下一个状态
3.重复第二步知道达到最终状态
4.从最终状态回溯,计算每一个状态的G值
5.重复1-4过程,然后平均每一次的G值,最后得到的就是V值

关于G值:
第一步:根据策略使agent做出动作并进入下一动作,直到到达最终状态,需要记录每一个状态的转移,得到奖励r
第二步:从最终状态回溯,一遍一遍计算G值。 G 等于上衣状态的G值(G‘)乘以一定的折扣(gamma)再加上r
在这里插入图片描述

G值就是从某个状态到最终状态的奖励总和在这里插入图片描述

当我们进行多次实验,会经过某个状态多次,因此会有多个G值,此时这个状态的G值就是所有可能的G值的平均值,也就是我们的V值
在这里插入图片描述
由于V值就是G的平均值,因此以PPO为例(离线策略),以下图为例,以策略π1进行game,其中有100次经过S,经过S后又4条路径到达最终状态S,计算G以及每条路径次数如下:

在这里插入图片描述以策略π2进行game,由于策略改变,经过S的概率会发生变化,因此最终状态的经过次数就会不同
在这里插入图片描述
G就是V的更新目标,关于MC的更新:
两种方法:
1.平均值法:
在这里插入图片描述
2.G的逐渐逼近法
在这里插入图片描述
不难看出,虽然蒙特卡洛算法比动态规划的消耗少,并且不需要知道整个环境模型,但是每一次游戏都需要从头执行到尾,再进行回溯。如果最终状态难以达到,则会需要很久才会更新G值。
MC的弊端:1. MC算法相对动态规划,会有点不那么准。因为MC每一次的路径都是不一样的。 2. 如果环境的状态空间非常大,或者最终状态只有非常小的概率达到。那么MC算法将会很难处理。
因此需要使用时序差分(TD)算法解决此问题。

2.时序差分(TD)算法

TD是对MC的改进,即agent走到第N步就可以开始回溯更新。在这里插入图片描述
可以理解为走一步看一步,好比下山,MC是直接从山顶下山,看看下山的路有多长,而TD是先走一段,看看是否有路牌指示到下山还有多少距离,如果有,几句把刚才的路加上路牌指示的到山脚的距离相加即可。
在一开始,我们根本没有路牌,所以也不知道到底到山脚有多远。 但当我们走很多次的时候,路牌系统就能慢慢建立起来。 例如第一次,只有到了山脚,我才知道山脚前一站离山脚的的真实距离。于是我更新了山脚前一站的路牌。第二次,我在山脚前一站路就能看到路牌,所以我就可以更新山脚前一站的路牌了…一直到山顶,就这样一直建立整座山的路牌系统。
关于TD的更新公式:
在这里插入图片描述在TD,我们只不过把更新目标从G,改成r+gamma*V

Reference

1.Deep Reinforcement Learning: A Brief Survey
https://ieeexplore.ieee.org/abstract/document/8103164
2.https://zhuanlan.zhihu.com/p/109217883
3.https://zhuanlan.zhihu.com/p/25580624
4.https://omarsbrain.wordpress.com/2010/01/22/bootstrapping-and-artificial-intelligence/

Q-learning和SARSA都属于时序差分强化学习方法,而不是蒙特卡洛强化学习方法。 时序差分强化学习是一种结合了动态规划和蒙特卡洛方法的强化学习方法。它通过使用经验数据进行增量式的更新,同时利用了当前和未来的估计值来逼近最优值函数。 具体来说,Q-learning和SARSA都是基于Q值函数的时序差分强化学习算法。 1. Q-learning:Q-learning是一种基于动态规划的无模型强化学习算法。它使用了时序差分TD)方法,通过不断迭代更新Q值函数的估计值,使其逼近最优的Q值。Q-learning算法通过将当前状态和动作的估计值与下一个状态和动作的最大估计值相结合,来更新Q值函数的估计值。 2. SARSA:SARSA是一种基于时序差分强化学习算法,也是一种模型-free的强化学习算法。SARSA算法使用了时序差分的方法,通过不断迭代更新Q值函数的估计值。与Q-learning不同的是,SARSA算法采用了一个策略(Policy)来决定下一个动作,并在更新Q值时使用下一个动作的估计值。 时序差分强化学习方法与蒙特卡洛强化学习方法相比,具有更高的效率和更好的适应性。它可以在每个时间步骤中进行更新,不需要等到任务结束后才进行更新,从而更快地收敛到最优策略。而蒙特卡洛强化学习方法则需要等到任务结束后才能获取完整的回报信息,进行全局更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值