【RL】3.基于表格方法求解RL

本文介绍了强化学习中基于表格方法的Q学习和Sarsa算法。通过Q-Table的概念,阐述了有限步和无限步Markov Chain的Q值计算,并以Cliff Walker游戏为例说明Q表的建立。接着,详细讲解了时序差分学习的在线策略(Sarsa)和离线策略(Q-Learning),包括各自的更新公式和算法流程。

RL-Ch3-基于表格方法求解RL

本文不太完善,待寻到时间再细细修改。

前情回顾

MDP为(S,A,P,R, γ \gamma γ)五元组,在上一状态 s t s_t st采取动作 a t a_t at,会以一定的概率分布p进入下一状态 s t + 1 s_{t+1} st+1,同时产生一定的收益 r t r_t rt

在这里插入图片描述

图1 MDP树状图

与环境交互过程会学习到P(transimision Probability matrix)函数 p ( s t + 1 , r t ∣ s t , a t ) p(s_{t+1},r_t|s_t,a_t) p(st+1,rtst,at)和R(Reward)函数 r ( s t , a t ) r(s_t,a_t) r(st,at),以此作为环境的描述。若事先通过虚拟环境获知了P和R函数,再应用于现实进行决策,则称这个系统是Model-Based的,反之则称该系统是Model-Free的。

  • Model-Based:P/R函数已知(图1中的黑色主体图+红色部分)
  • Model-Free:P/R函数未知(图1中的黑色主体图+绿色部分)

Q(Action-value)-table

在不同的状态采取不一样的行动会产生不一样的效果,而Q-func就是用于度量这种效果,由此也产生了Q-table的说法。

在这里插入图片描述

有限步Markov Chain的当前Q(动作状态)值为
G t = R 1 + . . . + R T G_t=R_1+...+R_T Gt=R1+...+RT

无限步Markov Chain的当前Q(动作状态)值为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ G_t=R_{t+1}+\g…

以Cliff Walker这一经典游戏为例,讲解如何对实际情况建立Q表格。将地点划分为网格区域,每个方格有一个坐标位置,以左上角为原点,建立x、y轴正方向,则可得到一系列坐标,即状态state。上下左右为可采取的动作action。通过全部取零的操作完成Q表的初始化。然后通过一系列新算法进行后续Q表的更新。

在这里插入图片描述

时序差分学习(单步更新)

时许差分学习(Time Difference Learning)就是用下一时间步的V/Q值去近似当前时间步的V/Q值,不断迭代,得到最终的Q表。可分为**在线策略(on-policy)离线策略(off-policy)**两类。

On Policy

图片来源CSDN

使用策略 π \pi π学习,并与环境进行交互产生经验,因为需要兼顾探索,所以 π \pi π并不稳定。典型的算法是Sarsa。

目标:用 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)逼近 G t G_t Gt

更新公式:
q ( s t , a t ) < − − q ( s t , a t ) + α [ R t + 1 + γ q ( s t + 1 , a t + 1 ) − q ( s t , a t ) ] q(s_t,a_t)<--q(s_t,a_t)+\alpha[R_{t+1}+\gamma q(s_{t+1},a_{t+1})-q(s_t,a_t)] q(st,at)<q(st,at)+α[Rt+1+γq(st+1,at+1)q(st,at)]

R t + 1 + γ Q ( s t + 1 , a t + 1 ) R_{t+1}+\gamma Q(s_{t+1},a_{t+1}) Rt+1+γQ(st+1,at+1) G t G_t Gt的真值

Q ( s t , a t ) Q(s_t,a_t) Q(st,at) G t G_t Gt的待更新值

式子中涉及的参数 ( s t , a t , R t + 1 , s t + 1 , a t + 1 ) (s_t,a_t,R_{t+1},s_{t+1},a_{t+1}) (st,at,Rt+1,st+1,at+1),故称此为Sarsa算法。

算法示意图:

Sarsa的伪代码

代码实操见RL-Code-Sarsa

Off Policy

典型的算法是Q-Learning。

目标策略: π \pi π–>用于学习最优策略

行为策略: μ \mu μ–>探索,与环境交互产生经验轨迹

Q-Learning伪代码

Q-Learning更新公式:
q ( s t , a t ) < − − q ( s t , a t ) + α [ r t + 1 + γ max ⁡ a q ( s t + 1 , a ) − q ( s t , a t ) ] q(s_t,a_t)<--q(s_t,a_t)+\alpha[r_{t+1}+\gamma \max_aq(s_{t+1},a)-q(s_t,a_t)] q(st,at)<q(st,at)+α[rt+1+γamaxq(st+1,a)q(st,at)]

代码实操见RL-Code-QLearning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值