强化学习笔记1:Multi-armed Bandits

1. 强化学习的元素

对应Sutton书的1.3节。

强化学习包括了两个基本元素 agentenviroment,除此之外还包含有四个主要的子元素:

  • policy : 定义了机器人在每个特定时刻的选择动作的策略。它可以看做是从环境的状态集合到可采取的动作集合之间的一个映射。
  • reward signal :定义了强化学习问题的目标。在每一步动作,环境都会给机器人一个数值反馈( reward),机器人的唯一目标就是将获取的reward总和最大化。直观的理解就是,reward定义了机器人每一步动作的"好"与“坏”。强化学习就是根据reward signal来调整policy。
  • value function :相比于reward signal关注眼前的反馈,value function则是关注长期的、总体的反馈。简单地说,某个状态下的value是指从当前状态出发,机器人可以期望获取的reward的总和。也就是说,在某个状态,可能眼前的reward很低,但是value却很高,因为它的后续状态有很高的rewards。
  • model of the environment : 是指环境行为的模拟(mimics),或者说是推导(inferences)出环境的行为。举例来说,给定一个状态和动作,model可以给出下一个状态和回报。

2. Multi-armed Bandits

对应Sutton书的第2章。

名词解释:多臂赌博机问题(Multi-armed bandit problem ) ,假设有个老虎机并排放在我们面前,我们首先给它们编号,每一轮,我们可以选择一个老虎机来按,同时记录老虎机给出的奖励. 假设各个老虎机不是完全相同的,经过多轮操作后,我们可以勘探出各个老虎机的部分统计信息,然后选择那个看起来奖励最高的老虎机. 在多臂赌博机中,我们把老虎机称为臂。也被称为顺序资源分配问题(sequential resource allocation problem),被广泛应用于广告推荐系统,源路由和棋类游戏中。

强化学习笔记1:Multi-armed Bandits_第1张图片
问题描述
现在有 k 个动作,每个动作被执行后都会得到一个期望的回报。定义:
A t A_t At:在第 t 步选择的动作
R t R_t Rt:在第 t 步选择的动作得到的相应回报
q ∗ ( a ) q_*(a) q(a):动作 a 的 value,显然 q ∗ ( a ) = E [ R t ∣ A t = a ] q_*(a) = \mathbb E[R_t | A_t = a] q(a)=E[RtAt=a]
Q t ( a ) Q_t(a) Qt(a):在第 t 步执行动作 a 的 value 的估计值。假设我们无法获取每一个动作的准确的 value 值(否则问题就不需要考虑了,只需要选择 value 最大的动作即可),我们只能估计每一个动作的 value 值。我们的目标就是希望 Q t ( a ) Q_t(a) Qt(a) q ∗ ( a ) q_*(a) q(a) 尽量接近。

贪婪动作(greedy action) :在每一步,估计 value 值最高的动作。

利用(exploiting) 和 探索(exploring) :在每一步,如果我们选择贪婪动作,则称为是利用 (exploiting) 已有知识,否则称为是探索 (exploring) 新的知识。因为只有在探索时,我们才会更新那些非贪婪动作的 value。利用可以在眼前这一步获得最大回报,但是探索可以帮助我们从长期的过程中获得最大的整体回报。但是,在每一步动作中,我们不能同时使用利用和探索,所以这是一件矛盾的事情,也是强化学习算法需要重点面对的问题。

样本均值(sample-average)估计法:每个动作 a a a 的 value 是其被执行时所获得回报的平均值:
Q t ( a ) : = sum of rewards when  a  taken prior to  t number of times  a  taken prior to  t = ∑ i = 1 t − 1 R i ∙ 1 A i = a ∑ i = 1 t − 1 1 A i = a Q_t(a) := \frac {\text{sum of rewards when $a$ taken prior to $t$}}{\text{number of times $a$ taken prior to $t$}} =\frac {\sum_{i=1}^{t-1} R_i \bullet \mathbb{1}_{A_i = a}} {\sum_{i=1}^{t-1} \mathbb{1}_{A_i = a}} Qt(a):=number of times a taken prior to tsum of rewards when a taken prior to t=i=1t11Ai=ai=1t1Ri1Ai=a
上述公式中,如果分母为0,则我们将 Q t ( a ) Q_t(a) Qt(a)设定为一些默认值,比如0;如果分母趋向无穷大,根据大数定律, Q t ( a ) Q_t(a) Qt(a) 收敛于 q ∗ ( a ) q_*(a) q(a)

贪婪动作可表示为 A t : = arg ⁡ max ⁡ a Q t ( a ) A_t := \mathop{\arg\max}_{a} Q_t(a) At:=argmaxaQt(a)

贪婪动作选择通常利用已有知识而使得眼前的回报最大化,不会在那些“貌似低价值”的动作(sampling apparently inferior actions to)上花费时间,不会去验证它们也许是更好的动作。一个改进的办法是,在绝大多数时间下,选择贪婪动作,而在一些随机时间里(比如概率为 ϵ \epsilon ϵ 的情况下)随机选择一个动作(不管当前的 action-value estimate 如何)。这种近似于贪婪算法的方法被称为 ϵ \epsilon ϵ-greedy方法。这种方法的好处是,随着执行步数的持续增加,每一个动作被执行的次数也将接近无限,保证了 Q t ( a ) Q_t(a) Qt(a) 收敛于 q ∗ ( a ) q_*(a) q(a)。这保证了选择出最优策略的概率的收敛值将大于 1 − ϵ 1-\epsilon 1ϵ,近似于确定。

【习题2.1】In ϵ \epsilon ϵ-greedy action selection, for the case of two actions and ϵ = 0.5 \epsilon=0.5 ϵ=0.5, what is the probability that the greedy action is selected?
解答:贪婪动作被选中的概率为(1- ϵ \epsilon ϵ)+ ϵ ∗ 1 2 = 0.5 + 0.5 ∗ 0.5 = 0.75 \epsilon*\frac{1}{2}=0.5 + 0.5*0.5 =0.75 ϵ21=0.5+0.50.5=0.75.

【习题2.2】Bandit example Consider a k k k-armed bandit problem with k = 4 k=4 k=4 actions, denoted 1, 2, 3, and 4. Consider applying to this problem a bandit algorithm using ϵ \epsilon ϵ-greedy action selection, sample-average action-value estimates, and initial estimates of Q 1 ( a ) = 0 Q_1(a) = 0 Q1(a)=0, for all a. Suppose the initial sequence of actions and rewards is A 1 = 1 , R 1 = 1 , A 2 = 2 , R 2 = 1 , A 3 = 2 , R 3 = 2 , A 4 = 2 , R 4 = 2 , A 5 = 3 , R 5 = 0 A_1 = 1, R_1 = 1, A_2 = 2, R_2 = 1, A_3 = 2, R_3 = 2, A_4 = 2, R_4 = 2, A_5 = 3, R_5 = 0 A1=1,R1=1,A2=2,R2=1,A3=2,R3=2,A4=2,R4=2,A5=3,R5=0. On some of these time steps the ϵ \epsilon ϵ case may have occurred, causing an action to be selected at random. On which time steps did this defi nitely occur? On which time steps could this possibly have occurred?
解答:可以计算出每一步的value估计值:
Q 2 ( 1 ) = 1 , Q 2 ( 2 ) = 0 , Q 2 ( 3 ) = 0 , Q 2 ( 4 ) = 0 Q_2(1)=1, Q_2(2)=0, Q_2(3)=0, Q_2(4)=0 Q2(1)=1,Q2(2)=0,Q2(3)=0,Q2(4)=0, greedy-action:1, selected-action:2
Q 3 ( 1 ) = 1 , Q 3 ( 2 ) = 1 , Q 3 ( 3 ) = 0 , Q 3 ( 4 ) = 0 Q_3(1)=1, Q_3(2)=1, Q_3(3)=0, Q_3(4)=0 Q3(1)=1,Q3(2)=1,Q3(3)=0,Q3(4)=0, greedy-action:1或2, selected-action:2
Q 4 ( 1 ) = 1 , Q 4 ( 2 ) = 1.5 , Q 4 ( 3 ) = 0 , Q 4 ( 4 ) = 0 Q_4(1)=1, Q_4(2)=1.5, Q_4(3)=0, Q_4(4)=0 Q4(1)=1,Q4(2)=1.5,Q4(3)=0,Q4(4)=0, greedy-action:2 , selected-action:2
Q 5 ( 1 ) = 1 , Q 5 ( 2 ) = 5 3 , Q 5 ( 3 ) = 0 , Q 5 ( 4 ) = 0 Q_5(1)=1, Q_5(2)=\frac{5}{3}, Q_5(3)=0, Q_5(4)=0 Q5(1)=1,Q5(2)=35,Q5(3)=0,Q5(4)=0, greedy-action:2 , selected-action:3
所以,可以看出来:第2、5步肯定使用了探索策略;第3步可能采用了探索策略。

The 10-armed Testbed】为了比较 greedy方法 和 ϵ \epsilon ϵ-greedy方法,书中2.3用了这样一个例子:样本数为 2000 的 k k k-armed bandit problem,其中 k = 10 k=10 k=10。每一个动作的 value q ∗ ( a ) , a = 1 , 2 , . . . , 10 q_*(a), a=1,2,...,10 q(a),a=1,2,...,10满足均值为0、方差为1的高斯分布,进而每一步的回报 R t R_t Rt 满足均值为 q ∗ ( A t ) q_*(A_t) q(At)、方差为1的高斯分布。分布图如下
强化学习笔记1:Multi-armed Bandits_第2张图片

执行的效果图如下:
强化学习笔记1:Multi-armed Bandits_第3张图片
【习题2.3】In the comparison shown in Figure 2.2, which method will perform best in the long run in terms of cumulative reward and probability of selecting the best action? How much better will it be? Express your answer quantitatively.

样本均值的计算:
Q n = R 1 + R 2 + . . . + R n − 1 n − 1 Q_n = \frac{R_1+R_2+...+R_{n-1}}{n-1} Qn=n1R1+R2+...+Rn1
简单推导可得知
Q n + 1 = Q n + 1 n [ R n − Q n ] ( 2.3 ) Q_{n+1} = Q_n + \frac{1}{n}\left[R_n-Q_n\right] \qquad (2.3) Qn+1=Qn+n1[RnQn](2.3)
更一般的公式是:
在这里插入图片描述
其中 [ T a r g e t − O l d E s t i m a t e ] \left[Target-OldEstimate\right] [TargetOldEstimate]偏差项(error)

上面讨论的都是静态赌博机问题(也就是说,每个赌博机的回报概率分布是不变的),但是我们也经常遇到非静态的情况。这种情况下,就需要对邻近的回报给予更高的权重,对较远时间的回报给予较低的权重。通常的一种做法就是:使用常数作为 step-size参数。比如说将(公式2.3)改进为:
Q n + 1 = Q n + α [ R n − Q n ] ( 2.5 ) Q_{n+1} = Q_n + \alpha\left[R_n-Q_n\right] \qquad(2.5) Qn+1=Qn+α[RnQn](2.5)
其中 step-size参数 α ∈ ( 0 , 1 ] \alpha\in\left(0,1\right] α(0,1]是一个常数。通过简单的推导,可以得到
Q n + 1 = ( 1 − α ) n Q 1 + ∑ i = 1 n α ( 1 − α ) n − i R i ( 2.6 ) Q_{n+1} = (1-\alpha)^nQ_1+\sum_{i=1}^{n}\alpha(1-\alpha)^{n-i}R_i\qquad(2.6) Qn+1=(1α)nQ1+i=1nα(1α)niRi(2.6)
注意到(2.6)中所有权重的系数满足 ( 1 − α ) n + ∑ i = 1 n α ( 1 − α ) n − i = 1 (1-\alpha)^n+\sum_{i=1}^{n}\alpha(1-\alpha)^{n-i}=1 (1α)n+i=1nα(1α)ni=1,所以我们称这种估计法为加权均值法,也称为指数最近加权平均(exponential recency-weighted average)

记号: α n ( a ) \alpha_n(a) αn(a)表示在第 n n n步选择动作 a a a后获得的回报的step-size参数。
在样本均值法中, α n ( a ) = 1 n \alpha_n(a)=\frac{1}{n} αn(a)=n1,根据大数定律,它保证 Q n Q_n Qn收敛于动作的真实价值(true action value)。但是,并不是所有的 α n ( a ) \alpha_n(a) αn(a)都能保证最终的收敛性。随机逼近理论中的一个重要结果告诉我们,保证概率为1的收敛性的必要条件是:
∑ i = 1 ∞ α n ( a )   =   ∞ and ∑ i = 1 ∞ α n 2 ( a )   <   ∞ ( 2.7 ) \sum_{i=1}^{\infty}\alpha_n(a)\,=\,\infty\qquad \text{and} \qquad\sum_{i=1}^{\infty}\alpha_n^2(a)\,<\,\infty\qquad\qquad(2.7) i=1αn(a)=andi=1αn2(a)<(2.7)
第一个条件要求steps足够大从而克服任何初始条件和随机波动的影响,第二个条件要求steps变得越来越小从而能保证收敛性。
显然, α n ( a ) = 1 n \alpha_n(a)=\frac{1}{n} αn(a)=n1 满足上面的两个条件,但是 α n ( a ) = α \alpha_n(a)=\alpha αn(a)=α不满足。此外,满足(2.7)的步长参数通常收敛速度比较慢,通常只适用于理论研究,在实战中很少使用。

小结:

α n ( a ) \alpha_n(a) αn(a) 递归公式 价值函数
样本均值法 1 n \frac{1}{n} n1 Q n + 1 = Q n + 1 n [ R n − Q n ] Q_{n+1} = Q_n + \frac{1}{n}\left[R_n-Q_n\right] Qn+1=Qn+n1[RnQn] Q n = R 1 + R 2 + . . . + R n − 1 n − 1 Q_n = \frac{R_1+R_2+...+R_{n-1}}{n-1} Qn=n1R1+R2+...+Rn1
加权均值法 α \alpha α Q n + 1 = Q n + α [ R n − Q n ] Q_{n+1} = Q_n + \alpha\left[R_n-Q_n\right] Qn+1=Qn+α[RnQn] Q n + 1 = ( 1 − α ) n Q 1 + ∑ i = 1 n α ( 1 − α ) n − i R i Q_{n+1} = (1-\alpha)^nQ_1+\sum_{i=1}^{n}\alpha(1-\alpha)^{n-i}R_i Qn+1=(1α)nQ1+i=1nα(1α)niRi

【习题2.4】If the step-size parameters α n \alpha_n αn, are not constant, then the estimate Q n Q_n Qn is a weighted average of previously received rewards with a weighting di erent from that given by (2.6). What is the weighting on each prior reward for the general case, analogous to (2.6), in terms of the sequence of step-size parameters?
解答:
Q n + 1 = Q n + α n [ R n − Q n ] Q_{n+1}=Q_n+\alpha_n[R_n-Q_n] Qn+1=Qn+αn[RnQn]
     = α n R n + ( 1 − α n ) Q n \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)Q_n =αnRn+(1αn)Qn
     = α n R n + ( 1 − α n ) [ Q n − 1 + α n − 1 [ R n − 1 − Q n − 1 ] ] \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\left[Q_{n-1}+\alpha_{n-1}[R_{n-1}-Q_{n-1}]\right] =αnRn+(1αn)[Qn1+αn1[Rn1Qn1]]
     = α n R n + ( 1 − α n ) α n − 1 R n − 1 + ( 1 − α n ) ( 1 − α n − 1 ) Q n − 1 \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\alpha_{n-1}R_{n-1}+(1-\alpha_n)(1-\alpha_{n-1})Q_{n-1} =αnRn+(1αn)αn1Rn1+(1αn)(1αn1)Qn1
     = α n R n + ( 1 − α n ) α n − 1 R n − 1 + ( 1 − α n ) ( 1 − α n − 1 ) [ Q n − 2 + α n − 2 [ R n − 2 − Q n − 2 ] ] \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\alpha_{n-1}R_{n-1}+(1-\alpha_n)(1-\alpha_{n-1})\left[Q_{n-2}+\alpha_{n-2}[R_{n-2}-Q_{n-2}]\right] =αnRn+(1αn)αn1Rn1+(1αn)(1αn1)[Qn2+αn2[Rn2Qn2]]
     = α n R n + ( 1 − α n ) α n − 1 R n − 1 + ( 1 − α n ) ( 1 − α n − 1 ) α n − 2 R n − 2 \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\alpha_{n-1}R_{n-1}+(1-\alpha_n)(1-\alpha_{n-1})\alpha_{n-2}R_{n-2} =αnRn+(1αn)αn1Rn1+(1αn)(1αn1)αn2Rn2
             + ( 1 − α n ) ( 1 − α n − 1 ) ( 1 − α n − 2 ) Q n − 2 \qquad\;\;\;\;\;\; +(1-\alpha_n)(1-\alpha_{n-1})(1-\alpha_{n-2})Q_{n-2} +(1αn)(1αn1)(1αn2)Qn2
     = . . . . . . . \qquad\;\; =....... =.......
     = α n R n + ( 1 − α n ) α n − 1 R n − 1 + . . . + ( 1 − α n ) ( 1 − α n − 1 ) . . . ( 1 − α 2 ) α 1 R 1 \qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\alpha_{n-1}R_{n-1}+...+(1-\alpha_n)(1-\alpha_{n-1})...(1-\alpha_2)\alpha_1R_1 =αnRn+(1αn)αn1Rn1+...+(1αn)(1αn1)...(1α2)α1R1
             + ( 1 − α n ) ( 1 − α n − 1 ) . . . ( 1 − α 1 ) Q 1 \qquad\;\;\;\;\;\; +(1-\alpha_n)(1-\alpha_{n-1})...(1-\alpha_1)Q_1 +(1αn)(1αn1)...(1α1)Q1
整理结果
Q n + 1 = ( 1 − α 1 ) . . . ( 1 − α n ) Q 1 + ∑ i = 1 n ( ( 1 − α 1 ) . . . ( 1 − α n ) ∏ j = 1 i ( 1 − α j ) ) α i R i Q_{n+1}=(1-\alpha_1)...(1-\alpha_n)Q_1+\sum_{i=1}^n\left(\frac{(1-\alpha_1)...(1-\alpha_n)}{\prod_{j=1}^i(1-\alpha_j)}\right)\alpha_iR_i Qn+1=(1α1)...(1αn)Q1+i=1n(j=1i(1αj)(1α1)...(1αn))αiRi
可以检验,当 α n = α \alpha_n=\alpha αn=α 为常数序列时,上式就是公式(2.6)。

【习题2.5 (编程)】Design and conduct an experiment to demonstrate the difficulties that sample-average methods have for nonstationary problems. Use a modi ed version of the 10-armed testbed in which all the q ∗ ( a ) q_*(a) q(a) start out equal and then take independent random walks (say by adding a normally distributed increment with mean zero and standard deviation 0.01 to all the q ∗ ( a ) q_*(a) q(a) on each step). Prepare plots like Figure 2.2 for an action-value method using sample averages, incrementally computed, and another action-value method using a constant step-size parameter, α = 0.1 \alpha=0.1 α=0.1. Use ϵ = 0.1 \epsilon=0.1 ϵ=0.1 and longer runs, say of 10,000 steps.

目前介绍的方法都在某种程度上依赖于最初的 action-value 估计 Q 1 ( a ) Q_1(a) Q1(a),用统计学的语言讲,就是这些方法被初始估计所偏置(biased)。对于样本均值法而言,如果所有的动作都至少被执行一次,那么这种偏置(bias)就会消失;但是对于常数加权均值法,这种偏置是持久的,只会随着执行步数的增加逐渐减弱(公式2.6)。在实战中,这种偏置通常不是问题甚至有时会非常有用,这是因为一方面这些初始估计通常都是用户精选的一组参数,另一方面初始估计是一种简单的途径为回报期望值提供一些先验知识。

初始动作值通常也可以用来鼓励探索,比如在前面的 10-armed testbed 问题中,如果我们将初始值全部设置为 + 5 +5 +5,而不是全 0。回忆一下,这个问题中的 q ∗ ( a ) q_*(a) q(a) 服从均值为0、方差为1的高斯分布,初始值为 + 5 +5 +5 会乐观很多。但是,这种乐观又会导致过多的探索。不管初始值如何选取,回报总是小于初始估计值,机器人转向其它动作获取的回报变少就会变得“失望”。结果就是在估值函数收敛之前,每个动作都被尝试了很多次。即使每次都选择贪婪算法,机器人仍然会做相当数量的探索。
强化学习笔记1:Multi-armed Bandits_第4张图片
从上图中可以看出,一开始乐观初始值(optimistic initial values)方法表现的比较差,因为它需要更多的探索,但是最终它的表现较好,因为随着时间的推移,它的探索逐渐变少。但是,这仅仅是一个小技巧,只在静态问题中比较有效,对于更普遍的问题就无法鼓励探索了。事实上,任何一种从特殊途径关注初始值的方法都对一般的非静态问题没有帮助。初始态只会出现一次,所以我们不必过于关注它

【习题2.6 】Mysterious Spikes The results shown in Figure 2.3 should be quite reliable because they are averages over 2000 individual, randomly chosen 10-armed bandit tasks. Why, then, are there oscillations(波动) and spikes(震荡) in the early part of the curve for the optimistic method? In other words, what might make this method perform particularly better or worse, on average, on particular early steps?

上限置信区间(Upper-Con dence-Bound):UCB算法不仅考虑每个动作当前的平均收益,也考虑该收益的不确定性。计算公式如下:
A t : = arg ⁡ max ⁡ a [ Q t ( a ) + c ln ⁡ t N t ( a ) ] A_t:=\mathop{\arg\max}_a\left[Q_t(a)+c\sqrt{\frac{\ln t}{N_t(a)}}\right] At:=argmaxa[Qt(a)+cNt(a)lnt ]
其中 ln ⁡ t \ln t lnt 是自然对数, N t ( a ) N_t(a) Nt(a) 表示到时间 t t t 时动作 a a a 被选择的次数, c > 0 c>0 c>0用来控制探索的程度。
UCB的主要目的就是要平衡探索和利用,它的设计思想是:

  • 当某个动作 a a a 的平均收益 Q t ( a ) Q_t(a) Qt(a) 比较大时,在选择时占有优势
  • 当某个动作 a a a 被选择的次数 N t ( a ) N_t(a) Nt(a) 比较小时,那么对应的平均收益的不确定性比较大(对应右式),在选择时占有优势
    强化学习笔记1:Multi-armed Bandits_第5张图片

梯度赌博算法(Gradient Bandit Algorithms)
H t ( a ) H_t(a) Ht(a) 表示在时间点 t t t 时对动作 a a a 的数值偏好(numerical preference),定义soft-max分布如下:
π t ( a ) : = Pr ⁡ { A t = a } : = e H t ( a ) ∑ b = 1 k e H t ( b ) \pi _t(a):=\Pr \{A_t=a\}:=\frac{e^{H_t(a)}}{\sum_{b=1}^ke^{H_t(b)}} πt(a):=Pr{At=a}:=b=1keHt(b)eHt(a)
表示在时间 t t t 时选择动作 a a a 的概率,并且对所有 a a a,取初始值 π 1 ( a ) = 0 \pi_1(a)=0 π1(a)=0

【习题2.7】Show that in the case of two actions, the soft-max distribution is the same as that given by the logistic, or sigmoid, function often used in statistics and arti cial neural networks.
解答:当 k = 2 k=2 k=2 时,假设动作集为 { 0 , 1 } \{0,1\} {0,1},那么按照定义
π t ( 0 ) = e H t ( 0 ) e H t ( 0 ) + e H t ( 1 ) = 1 1 + e − ( H t ( 0 ) − H t ( 1 ) ) \pi_t(0)=\frac{e^{H_t(0)}}{e^{H_t(0)}+e^{H_t(1)}}=\frac{1}{1+e^{-(H_t(0)-H_t(1))}} πt(0)=eHt(0)+eHt(1)eHt(0)=1+e(Ht(0)Ht(1))1
等同于logistic分布。当 H t ( 0 ) H_t(0) Ht(0) 足够大, H t ( 1 ) H_t(1) Ht(1)足够小时, π t ( 0 ) \pi_t(0) πt(0)趋向于1;反之,当 H t ( 0 ) H_t(0) Ht(0) 足够小, H t ( 1 ) H_t(1) Ht(1)足够大时, π t ( 0 ) \pi_t(0) πt(0)趋向于0;当 H t ( 0 ) H_t(0) Ht(0) H t ( 1 ) H_t(1) Ht(1) 接近时, π t ( 0 ) \pi_t(0) πt(0)趋向于 1 2 \frac{1}{2} 21

基于随机梯度下降法,可以引申出一个自然的学习算法。在每一步,假设选择动作 A t A_t At 后获得的回报为 R t R_t Rt,我们更新每个动作的偏好值为(公式 2.10):
H t + 1 ( A t ) : = H t ( A t ) + α ( R t − R ˉ t ) ( 1 − π t ( A t ) ) 以 及 H_{t+1}\left(A_t\right) := H_t\left(A_t\right)+\alpha\left(R_t-\bar R_t\right)\left(1-\pi_t(A_t)\right)\qquad以及 Ht+1(At):=Ht(At)+α(RtRˉt)(1πt(At)) H t + 1 ( a ) : = H t ( a ) − α ( R t − R ˉ t ) π t ( a ) , 对所有 a ≠ A t H_{t+1}(a) := H_t(a)-\alpha\left(R_t-\bar R_t\right)\pi_t(a),\qquad\text{对所有}a\neq A_t Ht+1(a):=Ht(a)α(RtRˉt)πt(a)对所有a̸=At
其中 α > 0 \alpha>0 α>0 为步长参数, R ˉ t ∈ R \bar R_t\in \mathbb R RˉtR t t t 之前(包括 t t t)所有收益的平均值,它是用作比较收益的基准。如果当前的收益高于 R ˉ t \bar R_t Rˉt,那么选择 A t A_t At的概率就增加,反之就降低。没有选择的动作,将其偏好值往相反的方向更新。
强化学习笔记1:Multi-armed Bandits_第6张图片

公式 2.10 的推导:随机梯度上升(stochastic gradient ascent)
在第 t t t 步收益的期望值为:
E [ R t ] = ∑ b π t ( b ) q ∗ ( b ) \mathbb E\left[R_t\right] = \sum_b\pi_t(b)q_*(b) E[Rt]=bπt(b)q(b)
每个动作的数值偏好的迭代公式为:
H t + 1 ( a ) : = H t ( a ) + α ∂ E [ R t ] ∂ H t ( a ) ( 2.11 ) H_{t+1}(a):=H_t(a)+\alpha\frac{\partial \mathbb E\left[R_t\right]}{\partial H_t(a)}\qquad\qquad(2.11) Ht+1(a):=Ht(a)+αHt(a)E[Rt](2.11)
但是我们不能直接用梯度上升法,因为根据假设我们并不知道 q ∗ ( b ) q_*(b) q(b)。但是,如果从期望值的角度看,(公式 2.10) 等于 (公式 2.11),这就是随机梯度上升的一个范例。
计算
∂ E [ R t ] ∂ H t ( a ) = ∂ ∂ H t ( a ) [ ∑ b π t ( b ) q ∗ ( b ) ] \frac{\partial \mathbb E\left[R_t\right]}{\partial H_t(a)} = \frac{\partial }{\partial H_t(a)} \left[\sum_b \pi_t(b)q_*(b)\right]\qquad\qquad Ht(a)E[Rt]=Ht(a)[bπt(b)q(b)]
         = ∑ b q ∗ ( b ) ∂ π t ( b ) ∂ H t ( a )        \qquad\qquad\qquad\;\;\;\;=\sum_b q_*(b)\frac{\partial \pi_t(b)}{\partial H_t(a)}\qquad\qquad\qquad\qquad\qquad\;\;\; =bq(b)Ht(a)πt(b)
         = ∑ b ( q ∗ ( b ) − X t ) ∂ π t ( b ) ∂ H t ( a ) \qquad\qquad\qquad\;\;\;\;=\sum_b \left(q_*(b)-X_t\right)\frac{\partial \pi_t(b)}{\partial H_t(a)}\qquad\qquad\qquad\qquad =b(q(b)Xt)Ht(a)πt(b)
其中 X t X_t Xt 可以是任何不依赖于 b b b 的参数,这是因为 ∑ b ∂ π t ( b ) ∂ H t ( a ) = 0 \sum_b \frac{\partial \pi_t(b)}{\partial H_t(a)}=0 bHt(a)πt(b)=0
随着 H t ( a ) H_t(a) Ht(a) 的变化,某些动作的概率上升而某些动作的概率下降,但是总概率之和始终为1。
稍加改造上式,将其表达称一个期望值的形式,得到
∂ E [ R t ] ∂ H t ( a ) = ∑ b π t ( b ) ( q ∗ ( b ) − X t ) ∂ π t ( b ) ∂ H t ( a ) / π t ( b ) \frac{\partial \mathbb E\left[R_t\right]}{\partial H_t(a)} =\sum_b \pi_t(b)\left(q_*(b)-X_t\right)\frac{\partial \pi_t(b)}{\partial H_t(a)}/\pi_t(b)\qquad\qquad Ht(a)E[Rt]=bπt(b)(q(b)Xt)Ht(a)πt(b)/πt(b)
= E [ ( q ∗ ( A t ) − X t ) ∂ π t ( A t ) ∂ H t ( a ) / π t ( A t ) ] =\mathbb E\left[\left(q_*(A_t)-X_t\right)\frac{\partial \pi_t(A_t)}{\partial H_t(a)}/\pi_t(A_t)\right] =E[(q(At)Xt)Ht(a)πt(At)/πt(At)]
= E [ ( R t − R ˉ t ) ∂ π t ( A t ) ∂ H t ( a ) / π t ( A t ) ] =\mathbb E\left[\left(R_t-\bar R_t\right)\frac{\partial \pi_t(A_t)}{\partial H_t(a)}/\pi_t(A_t)\right] =E[(RtRˉt)Ht(a)πt(At)/πt(At)]
这里我们选择 X t = R ˉ t X_t=\bar R_t Xt=Rˉt 并且用 R t R_t Rt 替换 q ∗ ( A t ) q_*(A_t) q(At),之所以可以这么做是因为 E [ R t ∣ A t ] = q ∗ ( A t ) \mathbb E\left[R_t | A_t\right]=q_*(A_t) E[RtAt]=q(At) 并且所有 R t R_t Rt (给定 A t A_t At) 之间没有关联。
Claim:
∂ π t ( b ) ∂ H t ( a ) = π t ( b ) ( 1 a = b − π t ( a ) ) \frac{\partial \pi_t(b)}{\partial H_t(a)} = \pi_t(b)\left(\mathbb1_{a=b}-\pi_t(a)\right) Ht(a)πt(b)=πt(b)(1a=bπt(a))
这是公式的证明是个easy job,这里从略。
利用这个公式,我们进一步有:
= E [ ( R t − R ˉ t ) π t ( A t ) ( 1 a = A t − π t ( a ) ) / π t ( A t ) ] \qquad\qquad\qquad=\mathbb E\left[(R_t-\bar R_t)\pi_t(A_t)(\mathbb 1_{a=A_t}-\pi_t(a))/\pi_t(A_t)\right] =E[(RtRˉt)πt(At)(1a=Atπt(a))/πt(At)]
= E [ ( R t − R ˉ t ) ( 1 a = A t − π t ( a ) ) ] =\mathbb E\left[(R_t-\bar R_t)(\mathbb 1_{a=A_t}-\pi_t(a))\right] =E[(RtRˉt)(1a=Atπt(a))]
进而我们推导出,对所有的 a a a
H t + 1 ( a ) = H t ( a ) + α ( R t − R ˉ t ) ( 1 a = A t − π t ( a ) ) H_{t+1}(a)=H_t(a)+\alpha(R_t-\bar R_t)(\mathbb 1_{a=A_t}-\pi_t(a)) Ht+1(a)=Ht(a)+α(RtRˉt)(1a=Atπt(a))

你可能感兴趣的:(杂记)