【强化学习】强化学习数学基础:时序差分方法

本文详细介绍了时序差分学习(TDlearning)在强化学习中的作用,包括状态值和动作值的估计。TDlearning是一种模型自由的学习方法,通过迭代更新来逼近贝尔曼方程。文章举例说明了TDlearning如何工作,从简单的均值估计问题到更复杂的动态环境问题。此外,还讨论了Sarsa、预期Sarsa和n步Sarsa以及Q-learning算法,这些算法都是TDlearning的变体,用于估计最优动作值。Q-learning是直接寻找最优策略的off-policy方法,而Sarsa则结合了当前策略的更新。最后,文章指出所有这些算法都是解决贝尔曼方程的近似算法,用于在无模型的情况下进行策略评估和改进。

Temporal Difference Learning

本文主要介绍temporal-difference(TD) learning,这是一个在强化学习领域比较知名的方法。Monte Carlo(MC)learning是第一种model-free方法,TD learning是第二种model-free方法。与MC方法相比,TD算法有很多优势。本文我们将研究如何将stochastic approximate methods应用于TD learning。

举个例子

首先,考虑一个简单的mean estimation问题:计算 w = E [ X ] w=\mathbb{E}[X] w=E[X]基于 X X X的一些iid采样 { x } \{x\} { x}
求解过程:

  • 将上式重写为 g ( w ) = w − E [ X ] g(w)=w-\mathbb{E}[X] g(w)=wE[X],我们可以将问题reformulate为一个root-finding问题 g ( w ) = 0 g(w)=0 g(w)=0
  • 因为我们仅能获得 X X X中的一些采样 { x } \{x\} { x},那么观察到的噪声表示为 g ~ ( w , η ) = w − x = ( w − E [ X ] ) + ( E [ X ] − x ) ≐ g ( w ) + η \tilde{g}(w, \eta)=w-x=(w-\mathbb{E}[X])+(\mathbb{E}[X]-x)\doteq g(w)+\eta g~(w,η)=wx=(wE[X])+(E[X]x)g(w)+η
  • 根据之前的RM算法求解 g ( w ) = 0 g(w)=0 g(w)=0,即 w k + 1 = w k − α k g ~ ( w k , η k ) = w k − α k ( w k − x k ) w_{k+1}=w_k-\alpha_k\tilde{g}(w_k, \eta_k)=w_k-\alpha_k(w_k-x_k) wk+1=wkαkg~(wk,ηk)=wkαk(wkxk)

然后,考虑一个稍微复杂的问题。估计一个函数 v ( X ) v(X) v(X)的mean:$ w = E [ v ( X ) ] w=\mathbb{E}[v(X)] w=E[v(X)]基于 X X X的一些iid采样 { x } \{x\} { x}
求解过程:

  • 首先定义 g ( w ) = w − E [ v ( X ) ] g(w)=w-\mathbb{E}[v(X)] g(w)=wE[v(X)],然后 g ~ ( w , η ) = w − v ( x ) = ( w − E [ v ( X ) ] ) + ( E [ v ( X ) ] − v ( x ) ) ≐ g ( w ) + η \tilde{g}(w, \eta)=w-v(x)=(w-\mathbb{E}[v(X)])+(\mathbb{E}[v(X)]-v(x))\doteq g(w)+\eta g~(w,η)=wv(x)=(wE[v(X)])+(E[v(X)]v(x))g(w)+η
  • 然后问题变为 g ( w ) = 0 g(w)=0 g(w)=0的求根问题,对应的RM算法是 w k + 1 = w k − α k g ~ ( w k , η k ) = w k − α k ( w k − v ( x k ) ) w_{k+1}=w_k-\alpha_k\tilde{g}(w_k, \eta_k)=w_k-\alpha_k(w_k-v(x_k)) wk+1=wkαkg~(wk,ηk)=wkαk(wkv(xk))

再看一个例子,考虑一个更加复杂的问题。计算 w = E [ R + γ v ( X ) ] w=\mathbb{E}[R+\gamma v(X)] w=E[R+γv(X)]其中 R , X R,X R,X是随机变量, γ \gamma γ是一个常数, v ( ⋅ ) v(\cdot) v()是一个函数.
求解过程:

  • 假设我们可以获得 X X X R R R的采样 { x } \{x\} { x} { r } \{r\} { r},定义 g ( w ) = w − E [ R + γ v ( X ) ] g(w)=w-\mathbb{E}[R+\gamma v(X)] g(w)=wE[R+γv(X)],然后 g ~ ( w , η ) = w − ( r + γ v ( x ) ) = ( w − E [ R + γ v ( X ) ] ) + ( E [ R + γ v ( X ) ] − ( r + γ v ( x ) ) ) ≐ g ( w ) + η \tilde{g}(w, \eta)=w-(r+\gamma v(x))=(w-\mathbb{E}[R+\gamma v(X)])+(\mathbb{E}[R+\gamma v(X)]-(r+\gamma v(x)))\doteq g(w)+\eta g~(w,η)=w(r+γv(x))=(wE[R+γv(X)])+(E[R+γv(X)](r+γv(x)))g(w)+η
  • 然后问题变成了 g ( w ) = 0 g(w)=0 g(w)=0的求根问题,那么对应的RM算法是 w k + 1 = w k − α k g ~ ( w k , η k ) = w k − α k ( w k − ( r k + γ v ( x k ) ) ) w_{k+1}=w_k-\alpha_k\tilde{g}(w_k, \eta_k)=w_k-\alpha_k(w_k-(r_k+\gamma v(x_k))) wk+1=wkαkg~(wk,ηk)=wkαk(wk(rk+γv(xk)))

小结一下, 上面三个例子越来越复杂,但是都可以通过RM算法进行求解。

TD learning of state values

TD learning既可以指一大类的强化学习算法,也可以指一个具体的estimating state values的算法。TD算法是基于数据,也就是不基于模型来实现强化学习。

算法描述

TD算法要求的data/experience如下:
data/experience
The TD learning algorithm如下:
The TD learning algorithm
其中 t = 0 , 1 , 2 , . . . t=0,1,2,... t=0,1,2,...,这里的 v t ( s t ) v_t(s_t) vt(st) v π ( s t ) v_\pi (s_t) vπ(st)的estimated state value,s是state space, α t ( s t ) \alpha_t(s_t) αt(st)是在 t t t时刻 s t s_t st的学习率。

  • 在t时刻,只有visited state s t s_t st的值被更新,而unvisited states s ≠ s t s\ne s_t s=st的values保持不变。
  • 在等式(2)中的更新过程在后面的内容中将被省略

对TD算法进行一些标注:
注解
其中 v ˉ t ≐ r t + 1 + γ v ( s t + 1 ) \bar{v}_t\doteq r_{t+1}+\gamma v(s_{t+1}) vˉtrt+1+γv(st+1)被称为TD target

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

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

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

打赏作者

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

抵扣说明:

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

余额充值