Reinforcement Learning

贝尔曼方程

计算、近似学习价值函数的基础:

v π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] v_{\pi}(s) = E_{\pi}[G_t|S_t = s] =E_{\pi}[R_{t+1} + \gamma G_{t+1} | S_t = s] vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γGt+1St=s]

= ∑ a π ( a ∣ s ) ∑ s ′ ∑ r p ( s ′ , r ∣ s , a ) [ r + γ E π [ G t + 1 ∣ S t + 1 = s ′ ] ] =\sum_a \pi(a|s) \sum_{s'}\sum_rp(s',r|s,a)[r + \gamma E_{\pi}[G_{t+1}|S_{t+1} = s']] =aπ(as)srp(s,rs,a)[r+γEπ[Gt+1St+1=s]]

= ∑ a π ( a ∣ s ) ∑ s ′ ∑ r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] =\sum_a \pi(a|s) \sum_{s'}\sum_rp(s',r|s,a)[r + \gamma v_{\pi}(s')] =aπ(as)srp(s,rs,a)[r+γvπ(s)]

q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] q_{\pi}(s,a) = E_{\pi}[G_t|S_t=s, A_t=a] qπ(s,a)=Eπ[GtSt=s,At=a]

= E π [ R t + 1 + γ G t + 1 ∣ S t = s , A t = a ] =E_{\pi}[R_{t+1}+\gamma G_{t+1} |S_t=s, A_t=a] =Eπ[Rt+1+γGt+1St=s,At=a]

= p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] =p(s',r|s,a)[r + \gamma v_{\pi}(s')] =p(s,rs,a)[r+γvπ(s)]

= p ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) ] =p(s',r|s,a)[r + \gamma\sum_a'\pi(a'|s') q_{\pi}(s',a')] =p(s,rs,a)[r+γaπ(as)qπ(s,a)]

最优策略 π ∗ \pi_* π

v ∗ ( s ) = m a x π v π ( s ) q ∗ ( s , a ) = m a x π q π ( s , a ) v_*(s) = max_{\pi} v_{\pi}(s)\\q_{*}(s,a)=max_{\pi}q_{\pi}(s,a) v(s)=maxπvπ(s)q(s,a)=maxπqπ(s,a)

贝尔曼最优方程

v ∗ ( s ) = m a x a ∈ A ( s ) q π ∗ ( s , a ) v_*(s) = max_{a\in \mathcal{A}(s)}q_{\pi_*}(s, a) v(s)=maxaA(s)qπ(s,a)

= m a x a E π ∗ [ G t ∣ S t = s , A t = a ] =max_aE_{\pi_*}[G_t|S_t=s, A_t= a] =maxaEπ[GtSt=s,At=a]

= m a x a E π ∗ [ R t + 1 + γ G t + 1 ∣ S t = s , A t = a ] =max_aE_{\pi_*}[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a] =maxaEπ[Rt+1+γGt+1St=s,At=a]

= m a x a E [ R t + 1 + γ v ∗ ( s ′ ) ∣ S t = s , A t = a ] =max_aE[R_{t+1}+\gamma v_*(s')|S_t=s,A_t=a] =maxaE[Rt+1+γv(s)St=s,At=a]

= m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] =max_a\sum_{s',r}p(s',r|s,a)[r + \gamma v_*(s')] =maxas,rp(s,rs,a)[r+γv(s)]

q ∗ ( s , a ) = E [ R t + 1 + γ m a x a ′ q ∗ ( S t + 1 , a ′ ) ∣ S t = s , A t = a ] q_*(s,a)=E[R_{t+1}+\gamma max_{a'}q_*(S_{t+1},a')|S_t=s,A_t=a] q(s,a)=E[Rt+1+γmaxaq(St+1,a)St=s,At=a]

= ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ m a x a ′ q ∗ ( s ′ , a ′ ) ] =\sum_{s',r}p(s',r|s,a)[r + \gamma max_{a'}q_*(s',a')] =s,rp(s,rs,a)[r+γmaxaq(s,a)]

动态规划

当已知环境模型情况下

  • 通过求解贝尔曼方程组可以精确求解给定策略函数的价值函数
  • 通过求解最优贝尔曼方程组可以精确求解最优策略函数数
delta = 0
while delta > threshold:
	for s in S:
	  p = v(s)
  	v(s) = \sum_a pi(a|s) \sum_{s', r} p(s', r|s, a)[r + gamma * v(s')]
  	delta = max(delta, |p - v(s)|)
蒙特卡洛

动态规划求解的前提是拥有完备的环境知识,在很多的问题中这个条件不容易满足。蒙特卡洛算法从真实的经验中进行学习,不需要关于环境动态变化规律的先验知识。

for t = T - 1 to 0:
  G_t <= r_t + gamma * G_{t+1}
  v(s_t) = v(s_t) + alpha * (G_t - v(s_t))
         = alpha * G_t + (1 - alpha) * v(s_t)
时序差分学习

TD也是直接从与环境交互的经验中学习的策略,不需要构建关于环境动态特性的模型。蒙特卡洛算法需要等待一幕的接触才开始学习,时序差分只需要等待下一时刻即可。

TD
for t = 0
  G_t = r_t + gamma * v(s_{t+1})
  v(s_t) = v(s_t) + alpha * (G_t - v(s_t))
         = alpha * (r + gamma * v(s_{t+1})) + (1 - alpha) * v(s_t)
SARSA
Q(s, a) = alpha * (r + gamma * Q(s' ,a')) + (1 - alpha) * Q(s, a)
Q-Learning
Q (s, a)= alpha * (r + max_a' gamma * Q(s', a')) + (1 - alpha) * Q(s, a)
n 步自举
V_{t+n}(S_t)=V_{t+n-1}(S_t) + alpha * [G_{t:t+n} - V_{t+n-1}(S_t)]
基于函数逼近的学习策略

这列方法中,价值函数不再是表格的形式,还是一个参数化的函数。

for t = 0 to T - 1:
  w = w + eta * (G_t - \hat{q}(s_t,,a_t, w)) * nabla \hat{q}(s_t, a_t, w)
资格迹

每一次更新都依赖于当前的时序差分误差和当前时刻的资格迹,资格迹归纳了过去所有时间的影响。

delta = r + gamma * v(s_{t+1}) - v(s_t)
z = gamma * lamnda * z + nabla v(s)
w = w + eta * delta * z
Policy Gradients

前面的方法都是基于价值函数的方法,这些方法的特点是先学习价值函数,然后更具价值函数选择动作。而策略梯度的方法直接学习参数化的策略。

pi(a|s,\theta) or mu(s, \theta)
J = ...
\nabla J = \nabula pi() \nabula mu() ...
近端策略优化(PPO)

基于重要想采样的离轨学习算法中,采样策略和目标策略的分布相差不能太大,因此PPO在学习目标上添加了一个约束项,约束行为策略和目标策略的KL散度,保证是比较相近的。

DDPG
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值