Sutton-强化学习入门-Chapter2


本节的重要前提:
the state and action spaces are small enough for the approximate value functions to be represented as arrays, or tables.

基于该前提的方法,总能够找到存在的解决方案,也就是说他们经常能够找到确切的最优价值函数以及最优策略。

Multi-arm Bandits

这一节介绍了强化学习问题的特殊情况(即仅有单个状态,也被称为Bandits problem)以及相应解决方法。

强化学习区别于其他类型学习方法的最重要特征是,使用训练数据来评估采取的动作,而不是通过给定正确的动作进行监督指导。正是因此,强化学习需要积极的探索,需要显示地搜索较好的行为动作。
Purely evaluative feeedback 意味着采取动作的好坏程度,但不是判定动作是最好或最坏的。相反,Purely instructive feedback 指示将被执行的正确动作,与实际采取的动作不相关。

本节仅涉及强化学习评价方面的内容,并且对学习适用场景进行了简化,即仅需在单个场景下进行学习。该假设被称为,non-associative assumption.
Studing this case enables us to see most clearly how evaluative feedback differs from, and yet can be combined with, instructive feedback.
通过研究简单的k-armed bandit problem,来介绍一些基础强化学习方法,也为之后完整而复杂的强化学习问题打下基础。

K-armed Bandit Problem

问题描述:
从给定的K个不同选择或者动作中进行选择,每次选择完后会得到一个数值奖励,奖励服从与所做选择相关的稳态概率分布。
目标:在一定时间最大化总的期望奖励(1000次动作选择或者timesteps)。
在K-armed bandit problem中,当一个动作选择完之后,k个选择(动作)都有一个期望奖励,称其为value of action. 我们将第t时刻选择的动作记为 A t A_t At, 对应奖励记为 R t R_t Rt,任意动作a的value记为 q ∗ ( a ) q_*(a) q(a),它是选定动作a所获得的期望奖励。
q ∗ ( a ) ≐ E [ R t ∣ A t = a ] (1) q_*(a) \doteq \mathbb{E}[R_t | A_t = a] \tag{1} q(a)E[RtAt=a](1)
如果每个动作的value都能获得,那么k-armed bandit problem就变得非常简单了,但是实际应用情况往往无法获得确定的action value。所以一般对action value进行估计,使得 Q t ( a ) → q ∗ ( a ) Q_t(a) \rightarrow q_*(a) Qt(a)q(a),将第t时刻动作a的estimated value记为 Q t ( a ) Q_t(a) Qt(a)
每个时刻具有最高value的action,被称为greedy action,而每次选用greedy action(称该过程为exploiting)的算法即贪婪算法,它能够最大化每一步选择的期望奖励;而选用non-greedy action(称该过程为exploring),有助于评估non-greedy action’s value,从长远看来,exploring可能会产生更大的总奖励。
在任何特定情形下,explore更好还是exploit更好是以复杂的方式依赖于action values的估计精度,不确定性以及剩余实验步数。本文给出了几种简单的平衡方法,并发现他们比greedy algorithm效果更好。

Action-value Methods

因此在本节,开始讲述estimate methods for action values 以及使用估计结果来选择动作,这也被称为action-value methods.
One natural way to estimate action value is by averaging the rewards actually received, also called as sample-average method:
Q t ( a ) ≐ sum of reward when a taken prior to t number of time a taken prior to t = ∑ i = 1 t − 1 R i ⋅ I A i = a ∑ i = 1 t − 1 I A i = a (2) \begin{aligned} Q_t(a) &\doteq \frac{\text{sum of reward when a taken prior to t}}{\text{number of time a taken prior to t}} \tag{2} \\ &=\frac{\sum_{i=1}^{t-1}R_{i} \cdot \mathbb{I}_{A_i=a}}{\sum_{i=1}^{t-1}\mathbb{I}_{A_i=a}} \end{aligned} Qt(a)number of time a taken prior to tsum of reward when a taken prior to t=i=1t1IAi=ai=1t1RiIAi=a(2)
其中 I A i = a \mathbb{I}_{A_i = a} IAi=a 为二值变量,当 A i = a A_i = a Ai=a时,值为1,反之,其值为0。所以上式就是将t时刻之前,所有选择动作a获得的奖励进行加权平均,便得到第t时刻动作a的期望奖励,即action value q t ( a ) q_t(a) qt(a)。当公式(2)分母为0时,也就是t时刻之前没有选择过动作a,那么我们设定 Q t ( a ) = 0 Q_t(a) = 0 Qt(a)=0. 当分母趋于无穷时,也就是动作选择了无穷次,根据大数定理, Q t ( a ) = q ∗ ( a ) Q_t(a) = q*(a) Qt(a)=q(a)

当然上述sample-average method只是估计action values的一种简单方式,并不一定是最好的方法。介绍完action value estimate methods, 我们将考虑如何对动作进行选择。

最简单的动作选择规则,选取最高估计价值的动作,即greedy action,如果当前时刻有多个greedy action,则以任意方式选取其中一个。上述greedy action selection can be formulated as follows:
A t ≐ arg max ⁡ a Q t ( a ) (3) A_t \doteq \argmax_a Q_t(a) \tag{3} AtaargmaxQt(a)(3)
Greedy action selection method总是利用当前的知识来最大化下一步的奖励,它忽略了那些看上去inferior actions。
另一种动作选择策略( ϵ \epsilon ϵ-greddy algorithm),大多数时间采取greedy action,但以一个较小概率 ϵ \epsilon ϵ选择non-greedy action, independently of the action-value esstimates. ϵ \epsilon ϵ-greddy algorithm在极限情况下,随着实验步数的增加,每一个动作都将被采样无穷次,那么对于所有的 Q t ( a ) Q_t(a) Qt(a)都将converge to q ∗ ( a ) q_*(a) q(a)

The 10-armed Testbed

10臂赌博机试验台:

  1. 每个动作真实期望奖励 q ∗ ( a ) q_*(a) q(a)服从标准正态分布 ℵ ( 0 , 1 ) \aleph(0, 1) (0,1)
  2. 实际期望奖励 R t R_t Rt服从正态分布 ℵ ( q ∗ ( a ) , 1 ) \aleph(q_*(a), 1) (q(a),1)

as shown in Fig.2
Fig.1 10-armed bandit test bed
本次实验独立重复进行了2000次run,每次run包含1000个time steps。 ϵ \epsilon ϵ分别取0,0.01和0.1,action value esimation method 选用 sample-average method,最终实验结果如图3所示:
Fig. 3 Average performance of $\epsilon $-greedy algorithm

根据Fig. 3可知,Greedy method 在最开始上升速度略微领先其他方法,但是很快趋于一个lower level(The reward of each step is only about 1)。可以看出Greedy method从长远角度来看性能非常差,因为它常常执行次优动作而陷入局部极值(可以由Fig.3 的下图侧面验证,其选择的动作仅有1/3是optimal action)。
ϵ \epsilon ϵ-greedy算法性能较好,因为它通过不断探索,提升认知最优动作的几率。虽然 ϵ \epsilon ϵ = 0.1能够进行更多地探索,同时往往能够更快地找到最优动作,但是在很长一段时间都不会选择这个最优动作(探索其他可能情况?)。Sutton在书中提到 ϵ \epsilon ϵ = 0.01的性能比 ϵ \epsilon ϵ = 0.1的好,但是在图中看得不是非常明显,因为 ϵ \epsilon ϵ = 0.01的greedy algorithm还未收敛!!
实际上, ϵ \epsilon ϵ-greedy算法和greedy 算法的优劣需要取决于任务。当奖励的方差变得更大时,需要花费更多的时间去探索最优动作,因此 ϵ \epsilon ϵ-greedy算法应该做得更好。相反,如果奖励的方差趋于零,那么greed algorithm能够知道每个动作的真实value,也就不需要进行exploration,那么greedy algorithm的效果会比 ϵ \epsilon ϵ-greedy algorithm更好。但是,就算是在确定的情况下,当我们弱化一些前提假设,exploration还是有很大的优势。例如,假设赌博机奖励的概率分布不是稳态的,即每个动作的真实value随着时间变化,那么就需要exploration来确定non-greedy action是否转变为greedy-action。
非平稳性是强化学习最常见的一种情况。因此,强化学习需要在exploration & exploitation之间寻找平衡。

Incremental Implementation

上一节介绍了如何利用sample-average method估计action value,本节将介绍如何以一种高效的方式计算action value,尤其是存在内存和算力限制(原文为constant per-time-step computation)的情况下。
根据上一节action value的定义,我们简化到One action,Let R i R_i Ri denotes the reward acquired after the i-th selection of this action, and let Q n Q_n Qn denotes this action value after it hase been selected n-1 times, and it can be formulated as follows:
Q n ≐ R 1 + R 2 + ⋯ + R n − 1 n − 1 (4) Q_n \doteq \frac{R_1 + R_2 + \cdots + R_{n-1}}{n-1} \tag4 Qnn1R1+R2++Rn1(4)
非常明显,上式需要记录动作a的执行次数以及对应的奖励,同时存在多次重复计算。当time steps增加时,程序所需的内存以及计算量也随之增大。但是,我们仅需对公式(4)进行简单推导,即可得到action value增量计算公式:
Q n + 1 = 1 n ∑ i = 1 n R i = 1 n ( R n + ∑ i = 1 n − 1 R i ) = 1 n ( R n + ( n − 1 ) 1 n − 1 ∑ i = 1 n − 1 R i ) = 1 n ( R n + ( n − 1 ) Q n ) = Q n + 1 n ( R n − Q n ) \begin{aligned} Q_{n+1} &= \frac{1}{n} \sum_{i=1}^{n}R_i \\ &= \frac{1}{n}\left( R_n + \sum_{i=1}^{n-1}R_i\right) \\ &= \frac{1}{n}\left( R_n + (n-1) \frac{1}{n-1} \sum_{i=1}^{n-1}R_i \right) \\ &= \frac{1}{n}\left( R_n + (n-1)Q_n\right) \\ &= Q_n + \frac{1}{n} \left( R_n - Q_n\right) \end{aligned} Qn+1=n1i=1nRi=n1(Rn+i=1n1Ri)=n1(Rn+(n1)n11i=1n1Ri)=n1(Rn+(n1)Qn)=Qn+n1(RnQn)
我们令 Δ Q n = 1 n ( R n − Q n ) \Delta Q_n =\frac{1}{n} \left( R_n - Q_n\right) ΔQn=n1(RnQn),可得
Q n + 1 = Q n + Δ Q n (5) Q_{n+1} = Q_n + \Delta Q_n \tag5 Qn+1=Qn+ΔQn(5)
因此,计算action value时,程序仅需 Q n Q_n Qn R n R_n Rn 两个变量,同时计算复杂度得到极大简化。
注,一般我们设定 Q 1 = 0 Q_1 = 0 Q1=0 。同时,我们称 1 n \frac{1}{n} n1 为step-size parameter, 一般由 α \alpha α 或者 α t ( a ) \alpha_t(a) αt(a) 表示。称 ( R n − Q n ) (R_n - Q_n) (RnQn) 项为估计误差。

Tracking Nonstationary Problem

Optimistic Initial Values

Upper-confidence-Bound Action Selection

Gradient Bandit Algorithm

Associative Search

Summary

Finite Markov Decision Processes

本节介绍了更一般形式的问题–Finite Markov decision process,它的核心思路包括Bellman equations and value function.

Dynamic Programming

动态规划方法在数学上得到了很好的发展,但是需要复杂并准确的环境模型。

Monte Carlo Methods

Monte Carlo methods are model-free and conceptually simple, 但是不适合逐步增量式计算。

Temporal-Difference Learning

Temporal-difference methods are model-free and fully incremental, 但是非常难分析。

N-step Bootstrapping

Planning and Learning with Tabular methods

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Dongz__

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值