Reinfocement Learning 学习笔记PartⅡ

Reinfocement Learning

六、随机近似与随机梯度下降(Stochastic Approximation & Stochastic Gradient Descent)

6.1 Robbins-Monro Algorithm

Stochastic approximation (SA) 是指一大类求根和优化问题的随机迭代算法,与许多其他求根算法相比,SA 的强大之处在于它无需知道目标函数的表达式或其导数。Robbins-Monro算法是SA领域的开创工作。

假定我们想要此等式的根 w w w g ( w ) = 0 g(w)=0 g(w)=0

当函数 g g g 的表达式已知或者它的导数已知的时候,求解当然很简单。但是当 g g g 未知的时候,问题就困难起来了。Robbins-Monro 算法是这样解决的:
w k + 1 = w k − a k g ∼ ( w k , η k ) w_{k+1}=w_k-a_k {\overset{\sim}{g}}(w_k,\eta_k) wk+1=wkakg(wk,ηk)
其中 w k w_k wk 是对第 k k k 次根的估计, g ∼ ( w k , η k ) = g ( w k ) + η k {\overset{\sim}{g}}(w_k,\eta_k)=g(w_k)+\eta_k g(wk,ηk)=g(wk)+ηk 是第 k k k 个带有噪声(误差)的观测(输出), a k a_k ak 是正系数。

显然这个算法并不依赖于函数 g g g,但依赖于输入序列 w k w_k wk 和带有噪声输出序列 g ∼ ( w k , η k ) {\overset{\sim}{g}}(w_k,\eta_k) g(wk,ηk),框图如下:

image-20231214133817850

最终 w k + 1 w_{k+1} wk+1 能收敛到根 w ∗ w^* w。收敛性在此不做证明。

来看一个平均值求解的例子。如何求平均值,把所有数加起来除以个数当然能求得。但这样做的弊端是我必须要获取所有的数据后才能求其均值,如何使用迭代的方式求解呢?

我们可以假设 w k + 1 = 1 k ∑ k i = 1 x i w_{k+1}=\frac{1}{k}\underset{i=1}{\overset{k} \sum} x_i wk+1=k1i=1kxi,则 w k = 1 k − 1 ∑ k − 1 i = 1 x i w_{k}=\frac{1}{k-1}\underset{i=1}{\overset{k-1} \sum} x_i wk=k11i=1k1xi,所以 w k + 1 w_{k+1} wk+1 可以由 w k w_k wk 表示:
w k + 1 = 1 k ∑ k i = 1 x i = 1 k ( ∑ k − 1 i = 1 x i + x k ) = 1 k ( ( k − 1 ) w k + x k ) = w k − 1 k ( w k − x k ) w_{k+1}=\frac{1}{k}\underset{i=1}{\overset{k} \sum} x_i=\frac{1}{k}(\underset{i=1}{\overset{k-1} \sum}x_i+x_k)=\frac{1}{k}((k-1)w_k+x_k)=w_k-\frac{1}{k}(w_k-x_k) wk+1=k1i=1kxi=k1(i=1k1xi+xk)=k1((k1)wk+xk)=wkk1(wkxk)
就像这样:

image-20231214140823822

如果把 1 k \frac{1}{k} k1 变为 α k \alpha_k αk 还能成立吗?可以用上述的 Robbins-Monro Algorithm 来证明 w k + 1 w_{k+1} wk+1 仍然能收敛到期望。

问题转换为当 α k ≠ 1 k \alpha_k \neq \frac{1}{k} αk=k1 时, w k + 1 w_{k+1} wk+1 还能收敛到期望 E [ X ] \mathbb{E}[X] E[X] 吗?

我们有 w k + 1 = w k − α k ( w k − x k ) w_{k+1}=w_k-\alpha_k(w_k-x_k) wk+1=wkαk(wkxk)

建立如下函数 g ( w ) = w − E [ X ] g(w)=w-\mathbb{E}[X] g(w)=wE[X],如果 g ( w ) = 0 g(w)=0 g(w)=0,根即为期望。

现输入一个 w w w,如何得到其噪音的观测呢?
g ∼ ( w , η ) = g ( w ) + η = ( w − E [ X ] ) + ( E [ X ] − x ) = w − x {\overset{\sim}{g}}(w,\eta)=g(w)+\eta=(w-\mathbb{E}[X])+(\mathbb{E}[X]-x)=w-x g(w,η)=g(w)+η=(wE[X])+(E[X]x)=wx
现考虑 w k w_k wk 序列并带入到 Robbins-Monro 公式中得:
w k + 1 = w k − α k ( w k − x k ) w_{k+1}=w_k-\alpha_k(w_k-x_k) wk+1=wkαk(wkxk)
即得到证明:即使 α k ≠ 1 k \alpha_k \neq \frac{1}{k} αk=k1 时, w k + 1 w_{k+1} wk+1 仍能收敛到期望 E [ X ] \mathbb{E}[X] E[X]

6.2 随机梯度下降

Stochastic gradient descent(SGD)被广泛应用于机器学习和强化学习,但后面可以发现它实际上就是一种特殊的 Robbins-Monro 算法。

假设我们要求解一个最优化问题 w w w 何值时, J ( w ) J(w) J(w) 最小:
min ⁡ w J ( w ) = E [ f ( w , X ) ] \underset{w}{\min}\quad J(w)=\mathbb{E}[f(w,X)] wminJ(w)=E[f(w,X)]
image-20231214144946062

α k \alpha_k αk 是学习率(步长), ∇ \nabla 表示梯度,采用梯度下降的方法一定能找到一个局部极小值

期望很难求,用蒙特卡洛估计依靠数据近似期望

image-20231214145951576

但每一次更新 w k w_k wk 时,都需要进行多次采样,现实中可能行不通

image-20231214150222648

与 GD 相比使用随机梯度来代替真实的梯度,与 BGD 相比,使 n = 1 n=1 n=1,即采样一次。

例子:

image-20231214150614741 image-20231214151150422

为什么 SGD 是可以收敛的呢?同样时使用 Robbins-Monro 证明。

现在有目标函数 J ( w ) = E [ f ( w , X ) ] J(w)=\mathbb{E}[f(w,X)] J(w)=E[f(w,X)]

我想让它取得最小值,那么一个必要条件时取得最小值时的梯度为0,即 ∇ w J ( w ) = E [ ∇ w f ( w , X ) ] = 0 \nabla_wJ(w)=\mathbb{E}[\nabla_w f(w,X)]=0 wJ(w)=E[wf(w,X)]=0

g ( w ) = ∇ w J ( w ) = E [ ∇ w f ( w , X ) ] g(w)=\nabla_wJ(w)=\mathbb{E}[\nabla_w f(w,X)] g(w)=wJ(w)=E[wf(w,X)],此时变成了 g ( w ) = 0 g(w)=0 g(w)=0 的求根问题

image-20231214152331509

image-20231214152355128

七、时序差分方法(Temporal-Difference Learning)

7.1 TD算法介绍

TD 算法是 m o d e l − f r e e model-free modelfree 的算法

由给定的策略 π \pi π t t t 时刻可以得到序列 { ( s t , r t + 1 , s t + 1 ) } t \{(s_t,r_{t+1},s_{t+1})\}_t {(st,rt+1,st+1)}t s t s_t st 表示 t t t 时刻所在的状态

image-20231214162807099

式中 v t v_t vt 代表在 t t t 时刻状态 s s s s t a t e   v a l u e state \ value state value (即 v π v_{\pi} vπ)的估计值,这个式子就是要用 v t v_t vt 来不断逼近 s t a t e   v a l u e state \ value state value

( 1 ) (1) (1) 式表示更新当前状态 s t s_t st s t a t e   v a l u e state \ value state value 估计值 v t + 1 ( s t ) v_{t+1}(s_t) vt+1(st)

( 2 ) (2) (2) 式表示其余状态的的 s t a t e   v a l u e state \ value state value 估计值不进行更新

image-20231214163154558

q u e s t i o n 1 question1 question1:为什么 v − t \overset{-}v_t vt 被称作 T D   t a r g e t TD \ target TD target

a n s w e r 1 answer1 answer1:因为此算法是要把 v t ( s t ) v_t(s_t) vt(st) 朝着 v − t \overset{-}v_t vt 的方向改进

image-20231214164326703

q u e s t i o n 2 question2 question2 T D   e r r o r TD \ error TD error 是什么?

a n s w e r 2 answer2 answer2

  • 两个时刻的差值
  • 描述了 v t v_t vt v π v_{\pi} vπ 之间的误差

T D   A l g o r i t h m   p r o p e r t i e s TD \ Algorithm \ properties TD Algorithm properties

  1. 对给定的策略进行 p o l i c y   e v a l u a t i o n policy \ evaluation policy evaluation ,即计算 s t a t e   v a l u e state \ value state value(不能估计 a c t i o n   v a l u e action \ value action value,不能寻找最优策略)
  2. 核心思想就是对于给定的策略,我对状态 s s s v π v_{\pi} vπ 有一个估计,这可能是不准确的,此时将得到的 { ( s t , r t + 1 , s t + 1 ) } t \{(s_t,r_{t+1},s_{t+1})\}_t {(st,rt+1,st+1)}t 与估计联系到一起,得到 T D   e r r o r TD \ error TD error,这说明了此时的估计是不准确的,并利用 T D   e r r o r TD \ error TD error 来改进当前的估计。

7.2 TD算法的收敛性

TD 算法其实是求解了这样一个贝尔曼公式:

image-20231215121843563

就是把原来的 G t + 1 G_{t+1} Gt+1 替换成了 v π ( S ′ ) v_{\pi}(S') vπ(S) ,这是由 s t a t e   v a l u e state \ value state value 最初始的定义得到的。

可以用 Robbins-Monro Algorithm 来求解这个公式,首先定义:

image-20231215122233806

如果 g ( v ( s ) ) = 0 g(v(s))=0 g(v(s))=0,那么 v ( s ) = E [ R + γ v π ( S ′ ∣ s ) ] v(s)=\mathbb{E}[R+\gamma v_{\pi}(S'|s)] v(s)=E[R+γvπ(Ss)] 成立,就可以用 v ( s ) v(s) v(s) 来逼近 v π ( s ) v_{\pi}(s) vπ(s)。我们有大量 R , S ′ R,S' R,S 的数据采样 r , s ′ r,s' r,s

image-20231215122504113

得到:

image-20231215122532778

此式存在两个问题。

q u e s t i o n 1 question1 question1:式子是由 { ( s , r , s ′ ) } \{(s,r,s')\} {(s,r,s)} 的得到的,如何确保它是按序的呢?

a n s w e r 1 answer1 answer1:将 { ( s , r , s ′ ) } \{(s,r,s')\} {(s,r,s)} 替换为一个 t r a j e c t o r y trajectory trajectory 中的 { ( s t , r t + 1 , s t + 1 ) } \{(s_t,r_{t+1},s_{t+1})\} {(st,rt+1,st+1)}

q u e s t i o n 2 question2 question2:式中的 v π ( s k ′ ) v_{\pi}(s_k') vπ(sk) 是不知道的

a n s w e r 2 answer2 answer2:用 v k ( s k ′ ) v_{k}(s_k') vk(sk) v π ( s k ′ ) v_{\pi}(s_k') vπ(sk) 的估计值来代替 v π ( s k ′ ) v_{\pi}(s_k') vπ(sk) ,仍能使得 v k ( s ) v_k(s) vk(s) 收敛

7.3 TD算法与MC算法的比较

TD LearningMC Learning
O n l i n e Online Online:能够在收到一个 r e w a r d reward reward 后立即更新 s t a t e / a c t i o n   v a l u e state/action \ value state/action value O f f l i n e Offline Offline:必须要等到一个 e p i s o d e episode episode 结束才能计算 r e t u r n return return
C o n t i n u i n g   t a s k s Continuing \ tasks Continuing tasks:可以处理连续的任务( e p i s o d e episode episode 无限长) E p i s o d i c   t a s k s Episodic \ tasks Episodic tasks:只能处理一个 e p i s o d e episode episode t e r m i n a l   s t a t e terminal \ state terminal state 的任务
B o o t s t r a p p i n g Bootstrapping Bootstrapping:更新 v a l u e value value 依赖于先前 v a l u e value value 的估计值 N o n − b o o t s t r a p p i n g Non-bootstrapping Nonbootstrapping:可以直接估计 s t a t e / a c t i o n   v a l u e state/action \ value state/action value
L o w   e s t i m a t i o n   v a r i a n c e Low \ estimation \ variance Low estimation variance:相较于 MC 有较少的随机变量,但是是有偏估计(由初始的估计造成) H i g h   e s t i m a t i o n   v a r i a n c e High \ estimation \ variance High estimation variance:为估计 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a) 涉及到的随机变量较多,采样数量少的情况下方差较大,是无偏估计

7.4 Sarsa及其变种

S a r s a Sarsa Sarsa 可以给出给定策略 π \pi π a c t i o n   v a l u e action \ value action value

假设有集合 { ( s t , a t , r t + 1 , s t + 1 , a t + 1 ) } t \{(s_t,a_t,r_{t+1},s_{t+1},a_{t+1})\}_t {(st,at,rt+1,st+1,at+1)}t

image-20231215130620423

形式上跟 T D TD TD 算法是一样的,只是 T D TD TD 得到的是 s t a t e   v a l u e state \ value state value 的估计值,而 S a r s a Sarsa Sarsa a c i t o n   v a l u e aciton \ value aciton value 的估计值

S a r s a Sarsa Sarsa 求解的是这样的贝尔曼公式:

在这里插入图片描述

在求得 a c t i o n   v a l u e action \ value action value 之后,使用 ϵ − g r e e d y \epsilon-greedy ϵgreedy 的策略进行 p o l i c y   i m p r o v e m e n t policy \ improvement policy improvement

算法存在的问题是:如果 e p i s o d e episode episode 不足以覆盖全部的 ( s , a ) (s,a) (s,a),那么可能找不到全局的最优策略。

E x p e c t e d   S a r s a Expected \ Sarsa Expected Sarsa

image-20231215132900346

不需要再对 a t + 1 a_{t+1} at+1 进行采样, E x p e c t e d   S a r s a Expected \ Sarsa Expected Sarsa 求解的是这样的贝尔曼公式:

在这里插入图片描述

n − s t e p   S a r s a n-step\ Sarsa nstep Sarsa 需要的集合为 { ( s t , a t , r t + 1 , s t + 1 , a t + 1 ) , . . . , r t + n , s t + n , a t + n } t \{(s_t,a_t,r_{t+1},s_{t+1},a_{t+1}),...,r_{t+n},s_{t+n},a_{t+n}\}_t {(st,at,rt+1,st+1,at+1),...,rt+n,st+n,at+n}t,而 M C MC MC 是需要整个的 e p i s o d e episode episode,即所有的 s t a t e − a c t i o n   p a i r state-action \ pair stateaction pair

image-20231215133651194

区别在于后面的 T D   t a r g e t TD \ target TD target 不同

image-20231215133734213

7.5 Q-learning

image-20231215140030458

S a r s a Sarsa Sarsa 相比也是 T D   t a r g e t TD \ target TD target 不同, Q − l e a r n i n g Q-learning Qlearning 取的是让状态 s t + 1 s_{t+1} st+1 a c t i o n   v a l u e action \ value action value 取得最大值时的动作 a a a,而 S a r s a Sarsa Sarsa 是随机采样一个 a a a

Q − l e a r n i n g Q-learning Qlearning 求解的是贝尔曼最优方程:

image-20231215140438341

得到的值是最优的 a c t i o n   v a l u e action \ value action value,当然对应的是最优策略

7.6 on-policy learning & off-policy learning

T D   L e a r n i n g TD \ Learning TD Learning 中有两种策略:

  • b e h a v i o r   p o l i c y behavior \ policy behavior policy:用于生成 e x p e r i e n c e   s a m p l e s experience \ samples experience samples(即前面所说的 { ( s t , a t , r t + 1 , s t + 1 , a t + 1 ) } t \{(s_t,a_t,r_{t+1},s_{t+1},a_{t+1})\}_t {(st,at,rt+1,st+1,at+1)}t 这样的序列)
  • t a r g e t   p o l i c y target \ policy target policy:持续向最优策略更新

由此引出 o n − p o l i c y on-policy onpolicy o f f − p o l i c y off-policy offpolicy

  • o n − p o l i c y on-policy onpolicy b e h a v i o r   p o l i c y behavior \ policy behavior policy t a r g e t   p o l i c y target \ policy target policy 相同,即用一个策略 π \pi π 与环境交互得到 e x p e r i e n c e experience experience 同时改进这个策略 π \pi π ,再用改进的策略 π ′ \pi' π 与环境交互然后再改进直到得到最优策略 π ∗ \pi^* π
  • o f f − p o l i c y off-policy offpolicy b e h a v i o r   p o l i c y behavior \ policy behavior policy t a r g e t   p o l i c y target \ policy target policy 不相同,即用一个策略 π \pi π 与环境交互得到 e x p e r i e n c e experience experience 同时改进另外一个策略 π ′ \pi' π ,再用策略 π \pi π 与环境交互然后再改进 π ′ \pi' π 直到得到最优策略 π ∗ \pi^* π

S a r s a Sarsa Sarsa o n − p o l i c y on-policy onpolicy π t → e x p e r i e n c e → a c t i o n   v a l u e   e s t i m a t i o n → π t + 1 \pi_t \rightarrow experience \rightarrow action \ value \ estimation \rightarrow \pi_{t+1} πtexperienceaction value estimationπt+1 π t \pi_t πt 既是 b e h a v i o r   p o l i c y behavior \ policy behavior policy 也是 t a r g e t   p o l i c y target \ policy target policy

M o n t e − C a r l o Monte-Carlo MonteCarlo o n − p o l i c y on-policy onpolicy π t → e x p e r i e n c e / t r a j e c t o r y → a c t i o n   v a l u e   e s t i m a t i o n → π t + 1 \pi_t \rightarrow experience / trajectory \rightarrow action \ value \ estimation \rightarrow \pi_{t+1} πtexperience/trajectoryaction value estimationπt+1 π t \pi_t πt 既是 b e h a v i o r   p o l i c y behavior \ policy behavior policy 也是 t a r g e t   p o l i c y target \ policy target policy

Q − l e a r n i n g Q-learning Qlearning o f f − p o l i c y off-policy offpolicy: 由 s t s_t st 选择动作 a t a_t at b e h a v i o r   p o l i c y behavior \ policy behavior policy 可以是任意策略, t a r g e t   p o l i c y target\ policy target policy 是根据最大 a c t i o n   v a l u e action \ value action value 确定的最优策略

Q − l e a r n i n g Q-learning Qlearning 可以是 o n − p o l i c y on-policy onpolicy 的,也可以是 o f f − p o l i c y off-policy offpolicy

image-20231215144254887

用更新的 π t + 1 \pi_{t+1} πt+1 继续生成 e x p e r i e n c e experience experience,在 p o l i c y   i m p r o v e m e n t policy \ improvement policy improvement 阶段采用 ϵ − g r e e d y \epsilon-greedy ϵgreedy 是希望策略具有一定的探索性,希望能覆盖到所有的 ( s , a ) (s,a) (s,a)

image-20231215144400046

π b \pi_b πb (此策略生成的 e p i s o d e episode episode 会对 Q − l e a r n i n g Q-learning Qlearning 的结果产生影响)来生成 e x p e r i e n c e experience experience,在 p o l i c y   i m p r o v e m e n t policy \ improvement policy improvement 阶段采用 g r e e d y greedy greedy 是因为我不会用改进的策略来生成 e x p e r i e n c e experience experience,所以选最优的即可

7.7 summary

前面介绍的 T D TD TD 算法其实都可以用下面的式子统一表示:

image-20231215150359580

不同点在于 q t − \overset{-}{q_t} qt

image-20231215150431266

所有的算法也可以看作是求解贝尔曼公式或者贝尔曼最优公式的随即近似算法:

image-20231215150547040
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pattern recognition and machine learning是一门涉及到模式识别和机器学习的课程,通过这门课程的学习,我对模式识别和机器学习有了更深入的了解。 在模式识别方面,我学习了如何使用统计学和概率论的知识对数据进行分析,识别出数据中的规律和模式。通过学习不同的模式识别算法,我了解了如何利用机器来识别图像、音频、文本甚至是生物特征等不同类型的模式。在机器学习方面,我学习了如何利用机器学习算法来训练模型,使得机器可以从数据中学习规律和模式,进而做出预测和决策。 通过学习这门课程,我对机器学习和模式识别的应用有了更清晰的认识,比如在图像识别、语音识别、自然语言处理、生物特征识别等领域的应用。我也学习到了如何应用这些知识和技术来解决现实生活中的问题,比如医疗诊断、金融风控、智能驾驶等领域的应用。 另外,通过课程中的实践项目,我有机会动手实践机器学习算法的应用,从数据的处理和特征提取到模型的训练和评估,这些实践使我对课程中学到的理论知识有了更深刻的理解。 总的来说,通过学习Pattern recognition and machine learning这门课程,我不仅对机器学习和模式识别的理论和技术有了更深入的了解,也掌握了一些实践应用的技能,对未来在相关领域的发展和应用有了更清晰的思路和认识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值