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),被广泛应用于广告推荐系统,源路由和棋类游戏中。


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

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

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

样本均值(sample-average)估计法:每个动作 aaa 的 value 是其被执行时所获得回报的平均值:
Qt(a):=sum of rewards when ataken prior to tnumber of times ataken prior to t=∑i=1t−1Ri∙1Ai=a∑i=1t−11Ai=aQ_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=1t−1​1Ai​=a​∑i=1t−1​Ri​∙1Ai​=a​​
上述公式中,如果分母为0,则我们将Qt(a)Q_t(a)Qt​(a)设定为一些默认值,比如0;如果分母趋向无穷大,根据大数定律,Qt(a)Q_t(a)Qt​(a) 收敛于 q∗(a)q_*(a)q∗​(a)。

贪婪动作可表示为At:=arg⁡max⁡aQt(a)A_t := \mathop{\arg\max}_{a} Q_t(a)At​:=argmaxa​Qt​(a)

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

【习题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ϵ)+ϵ∗12=0.5+0.5∗0.5=0.75\epsilon*\frac{1}{2}=0.5 + 0.5*0.5 =0.75ϵ∗21​=0.5+0.5∗0.5=0.75.

【习题2.2】Bandit example Consider a kkk-armed bandit problem with k=4k=4k=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 Q1(a)=0Q_1(a) = 0Q1​(a)=0, for all a. Suppose the initial sequence of actions and rewards is A1=1,R1=1,A2=2,R2=1,A3=2,R3=2,A4=2,R4=2,A5=3,R5=0A_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 = 0A1​=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估计值:
Q2(1)=1,Q2(2)=0,Q2(3)=0,Q2(4)=0Q_2(1)=1, Q_2(2)=0, Q_2(3)=0, Q_2(4)=0Q2​(1)=1,Q2​(2)=0,Q2​(3)=0,Q2​(4)=0, greedy-action:1, selected-action:2
Q3(1)=1,Q3(2)=1,Q3(3)=0,Q3(4)=0Q_3(1)=1, Q_3(2)=1, Q_3(3)=0, Q_3(4)=0Q3​(1)=1,Q3​(2)=1,Q3​(3)=0,Q3​(4)=0, greedy-action:1或2, selected-action:2
Q4(1)=1,Q4(2)=1.5,Q4(3)=0,Q4(4)=0Q_4(1)=1, Q_4(2)=1.5, Q_4(3)=0, Q_4(4)=0Q4​(1)=1,Q4​(2)=1.5,Q4​(3)=0,Q4​(4)=0, greedy-action:2 , selected-action:2
Q5(1)=1,Q5(2)=53,Q5(3)=0,Q5(4)=0Q_5(1)=1, Q_5(2)=\frac{5}{3}, Q_5(3)=0, Q_5(4)=0Q5​(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 的 kkk-armed bandit problem,其中k=10k=10k=10。每一个动作的 value q∗(a),a=1,2,...,10q_*(a), a=1,2,...,10q∗​(a),a=1,2,...,10满足均值为0、方差为1的高斯分布,进而每一步的回报 RtR_tRt​ 满足均值为 q∗(At)q_*(A_t)q∗​(At​)、方差为1的高斯分布。分布图如下

执行的效果图如下:

【习题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.

样本均值的计算:
Qn=R1+R2+...+Rn−1n−1Q_n = \frac{R_1+R_2+...+R_{n-1}}{n-1}Qn​=n−1R1​+R2​+...+Rn−1​​
简单推导可得知
Qn+1=Qn+1n[Rn−Qn](2.3)Q_{n+1} = Q_n + \frac{1}{n}\left[R_n-Q_n\right] \qquad (2.3)Qn+1​=Qn​+n1​[Rn​−Qn​](2.3)
更一般的公式是:

其中[Target−OldEstimate]\left[Target-OldEstimate\right][Target−OldEstimate]是偏差项(error)

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

记号: αn(a)\alpha_n(a)αn​(a)表示在第nnn步选择动作aaa后获得的回报的step-size参数。
在样本均值法中,αn(a)=1n\alpha_n(a)=\frac{1}{n}αn​(a)=n1​,根据大数定律,它保证QnQ_nQn​收敛于动作的真实价值(true action value)。但是,并不是所有的αn(a)\alpha_n(a)αn​(a)都能保证最终的收敛性。随机逼近理论中的一个重要结果告诉我们,保证概率为1的收敛性的必要条件是:
∑i=1∞αn(a)=∞and∑i=1∞αn2(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)=1n\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) 递归公式 价值函数
样本均值法 1n\frac{1}{n}n1​ Qn+1=Qn+1n[Rn−Qn]Q_{n+1} = Q_n + \frac{1}{n}\left[R_n-Q_n\right]Qn+1​=Qn​+n1​[Rn​−Qn​] Qn=R1+R2+...+Rn−1n−1Q_n = \frac{R_1+R_2+...+R_{n-1}}{n-1}Qn​=n−1R1​+R2​+...+Rn−1​​
加权均值法 α\alphaα Qn+1=Qn+α[Rn−Qn]Q_{n+1} = Q_n + \alpha\left[R_n-Q_n\right]Qn+1​=Qn​+α[Rn​−Qn​] Qn+1=(1−α)nQ1+∑i=1nα(1−α)n−iRiQ_{n+1} = (1-\alpha)^nQ_1+\sum_{i=1}^{n}\alpha(1-\alpha)^{n-i}R_iQn+1​=(1−α)nQ1​+∑i=1n​α(1−α)n−iRi​

【习题2.4】If the step-size parameters αn\alpha_nαn​, are not constant, then the estimate QnQ_nQn​ is a weighted average of previously received rewards with a weighting dierent 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?
解答:
Qn+1=Qn+αn[Rn−Qn]Q_{n+1}=Q_n+\alpha_n[R_n-Q_n]Qn+1​=Qn​+αn​[Rn​−Qn​]
=αnRn+(1−αn)Qn\qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)Q_n=αn​Rn​+(1−αn​)Qn​
=αnRn+(1−αn)[Qn−1+αn−1[Rn−1−Qn−1]]\qquad\;\; ={\alpha_n}R_n+(1-\alpha_n)\left[Q_{n-1}+\alpha_{n-1}[R_{n-1}-Q_{n-1}]\right]=αn​Rn​+(1−αn​)[Qn−1​+αn−1​[Rn−1​−Qn−1​]]
=αnRn+(1−αn)αn−1Rn−1+(1−αn)(1−αn−1)Qn−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}=αn​Rn​+(1−αn​)αn−1​Rn−1​+(1−αn​)(1−αn−1​)Qn−1​
=αnRn+(1−αn)αn−1Rn−1+(1−αn)(1−αn−1)[Qn−2+αn−2[Rn−2−Qn−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]=αn​Rn​+(1−αn​)αn−1​Rn−1​+(1−αn​)(1−αn−1​)[Qn−2​+αn−2​[Rn−2​−Qn−2​]]
=αnRn+(1−αn)αn−1Rn−1+(1−αn)(1−αn−1)αn−2Rn−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}=αn​Rn​+(1−αn​)αn−1​Rn−1​+(1−αn​)(1−αn−1​)αn−2​Rn−2​
+(1−αn)(1−αn−1)(1−αn−2)Qn−2\qquad\;\;\;\;\;\; +(1-\alpha_n)(1-\alpha_{n-1})(1-\alpha_{n-2})Q_{n-2}+(1−αn​)(1−αn−1​)(1−αn−2​)Qn−2​
=.......\qquad\;\; =.......=.......
=αnRn+(1−αn)αn−1Rn−1+...+(1−αn)(1−αn−1)...(1−α2)α1R1\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=αn​Rn​+(1−αn​)αn−1​Rn−1​+...+(1−αn​)(1−αn−1​)...(1−α2​)α1​R1​
+(1−αn)(1−αn−1)...(1−α1)Q1\qquad\;\;\;\;\;\; +(1-\alpha_n)(1-\alpha_{n-1})...(1-\alpha_1)Q_1+(1−αn​)(1−αn−1​)...(1−α1​)Q1​
整理结果
Qn+1=(1−α1)...(1−αn)Q1+∑i=1n((1−α1)...(1−αn)∏j=1i(1−αj))αiRiQ_{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_iQn+1​=(1−α1​)...(1−αn​)Q1​+i=1∑n​(∏j=1i​(1−αj​)(1−α1​)...(1−αn​)​)αi​Ri​
可以检验,当 α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 估计 Q1(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 会乐观很多。但是,这种乐观又会导致过多的探索。不管初始值如何选取,回报总是小于初始估计值,机器人转向其它动作获取的回报变少就会变得“失望”。结果就是在估值函数收敛之前,每个动作都被尝试了很多次。即使每次都选择贪婪算法,机器人仍然会做相当数量的探索。

从上图中可以看出,一开始乐观初始值(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算法不仅考虑每个动作当前的平均收益,也考虑该收益的不确定性。计算公式如下:
At:=arg⁡max⁡a[Qt(a)+cln⁡tNt(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 tlnt 是自然对数,Nt(a)N_t(a)Nt​(a) 表示到时间 ttt 时动作 aaa 被选择的次数,c>0c>0c>0用来控制探索的程度。
UCB的主要目的就是要平衡探索和利用,它的设计思想是:

  • 当某个动作 aaa 的平均收益 Qt(a)Q_t(a)Qt​(a) 比较大时,在选择时占有优势
  • 当某个动作 aaa 被选择的次数 Nt(a)N_t(a)Nt​(a) 比较小时,那么对应的平均收益的不确定性比较大(对应右式),在选择时占有优势

梯度赌博算法(Gradient Bandit Algorithms)
用 Ht(a)H_t(a)Ht​(a) 表示在时间点 ttt 时对动作 aaa 的数值偏好(numerical preference),定义soft-max分布如下:
πt(a):=Pr⁡{At=a}:=eHt(a)∑b=1keHt(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=1k​eHt​(b)eHt​(a)​
表示在时间 ttt 时选择动作 aaa 的概率,并且对所有 aaa,取初始值 π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=2k=2k=2 时,假设动作集为 {0,1}\{0,1\}{0,1},那么按照定义
πt(0)=eHt(0)eHt(0)+eHt(1)=11+e−(Ht(0)−Ht(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分布。当 Ht(0)H_t(0)Ht​(0) 足够大,Ht(1)H_t(1)Ht​(1)足够小时,πt(0)\pi_t(0)πt​(0)趋向于1;反之,当 Ht(0)H_t(0)Ht​(0) 足够小,Ht(1)H_t(1)Ht​(1)足够大时,πt(0)\pi_t(0)πt​(0)趋向于0;当 Ht(0)H_t(0)Ht​(0) 和 Ht(1)H_t(1)Ht​(1) 接近时,πt(0)\pi_t(0)πt​(0)趋向于12\frac{1}{2}21​。

基于随机梯度下降法,可以引申出一个自然的学习算法。在每一步,假设选择动作 AtA_tAt​ 后获得的回报为 RtR_tRt​,我们更新每个动作的偏好值为(公式 2.10):
Ht+1(At):=Ht(At)+α(Rt−Rˉt)(1−πt(At))以及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​)+α(Rt​−Rˉt​)(1−πt​(At​))以及Ht+1(a):=Ht(a)−α(Rt−Rˉt)πt(a),对所有a≠AtH_{t+1}(a) := H_t(a)-\alpha\left(R_t-\bar R_t\right)\pi_t(a),\qquad\text{对所有}a\neq A_tHt+1​(a):=Ht​(a)−α(Rt​−Rˉt​)πt​(a),对所有a​=At​
其中 α>0\alpha>0α>0 为步长参数,Rˉt∈R\bar R_t\in \mathbb RRˉt​∈R 是 ttt 之前(包括 ttt)所有收益的平均值,它是用作比较收益的基准。如果当前的收益高于 Rˉt\bar R_tRˉt​,那么选择 AtA_tAt​的概率就增加,反之就降低。没有选择的动作,将其偏好值往相反的方向更新。

公式 2.10 的推导:随机梯度上升(stochastic gradient ascent)
在第 ttt 步收益的期望值为:
E[Rt]=∑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)
每个动作的数值偏好的迭代公式为:
Ht+1(a):=Ht(a)+α∂E[Rt]∂Ht(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[Rt]∂Ht(a)=∂∂Ht(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)]
=∑bq∗(b)∂πt(b)∂Ht(a)\qquad\qquad\qquad\;\;\;\;=\sum_b q_*(b)\frac{\partial \pi_t(b)}{\partial H_t(a)}\qquad\qquad\qquad\qquad\qquad\;\;\;=b∑​q∗​(b)∂Ht​(a)∂πt​(b)​
=∑b(q∗(b)−Xt)∂πt(b)∂Ht(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)​
其中 XtX_tXt​ 可以是任何不依赖于 bbb 的参数,这是因为 ∑b∂πt(b)∂Ht(a)=0\sum_b \frac{\partial \pi_t(b)}{\partial H_t(a)}=0∑b​∂Ht​(a)∂πt​(b)​=0。
随着 Ht(a)H_t(a)Ht​(a) 的变化,某些动作的概率上升而某些动作的概率下降,但是总概率之和始终为1。
稍加改造上式,将其表达称一个期望值的形式,得到
∂E[Rt]∂Ht(a)=∑bπt(b)(q∗(b)−Xt)∂πt(b)∂Ht(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∗(At)−Xt)∂πt(At)∂Ht(a)/πt(At)]=\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[(Rt−Rˉt)∂πt(At)∂Ht(a)/πt(At)]=\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[(Rt​−Rˉt​)∂Ht​(a)∂πt​(At​)​/πt​(At​)]
这里我们选择 Xt=RˉtX_t=\bar R_tXt​=Rˉt​ 并且用 RtR_tRt​ 替换 q∗(At)q_*(A_t)q∗​(At​),之所以可以这么做是因为 E[Rt∣At]=q∗(At)\mathbb E\left[R_t | A_t\right]=q_*(A_t)E[Rt​∣At​]=q∗​(At​) 并且所有 RtR_tRt​ (给定 AtA_tAt​) 之间没有关联。
Claim:
∂πt(b)∂Ht(a)=πt(b)(1a=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[(Rt−Rˉt)πt(At)(1a=At−πt(a))/πt(At)]\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[(Rt​−Rˉt​)πt​(At​)(1a=At​​−πt​(a))/πt​(At​)]
=E[(Rt−Rˉt)(1a=At−πt(a))]=\mathbb E\left[(R_t-\bar R_t)(\mathbb 1_{a=A_t}-\pi_t(a))\right]=E[(Rt​−Rˉt​)(1a=At​​−πt​(a))]
进而我们推导出,对所有的 aaa 有
Ht+1(a)=Ht(a)+α(Rt−Rˉt)(1a=At−π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)+α(Rt​−Rˉt​)(1a=At​​−πt​(a))

强化学习笔记1:Multi-armed Bandits相关推荐

  1. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  2. 142页ICML会议强化学习笔记整理,值得细读

    作者 | David Abel 编辑 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) ICML 是 International Conference on Machine L ...

  3. 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

    1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...

  4. 强化学习笔记:Q_learning (Q-table)示例举例

    1 示例介绍 在右侧有宝藏,探险者到达宝藏所在的位置,就可以获得奖励 比如某一时刻的状态是这个样子的:"-o---T" T 就是宝藏的位置, o 是探索者的位置 如果在某个地点 s ...

  5. 强化学习笔记:Actor-critic

    0 复习 由于actor-critic 是 policy gradient 和DQN的一个结合,所以我们先对这两个进行一个简单的复习: 0.1 policy gradient 强化学习笔记:Polic ...

  6. 强化学习笔记:PPO 【近端策略优化(Proximal Policy Optimization)】

    1 前言 我们回顾一下policy network: 强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客 它先去跟环境互动,搜集很多的 路径τ.根据它搜集 ...

  7. 强化学习笔记:Sarsa算法

    1 Sarsa(0) Sarsa算法和TD类似,只不过TD是更新状态的奖励函数V,这里是更新Q函数强化学习笔记:Q-learning :temporal difference 方法_UQI-LIUWJ ...

  8. 强化学习笔记: generalized policy iteration with MC

    强化学习笔记: MDP - Policy iteration_UQI-LIUWJ的博客-CSDN博客 强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客 在policy ite ...

  9. 强化学习笔记:Q-learning :temporal difference 方法

    强化学习笔记:马尔可夫过程 &马尔可夫奖励过程_UQI-LIUWJ的博客-CSDN博客 和MC方法(强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客)类似,时分TD方 ...

  10. 强化学习笔记4:强化学习分类

    1 model-free & model-based model-based(有模型) RL agent,它通过学习环境的状态转移来采取动作. model-free(免模型) RL agent ...

最新文章

  1. HttpClient实现CSDN自动登录
  2. idea 2019.2.4 maven默认配置
  3. EntityFramework进阶——数据编辑与维护
  4. android内存卡测试,安卓sd卡真假检测工具_内存卡检测扩容卡软件_sd insight
  5. Managing Supply and Demand Balance Through Machine Learning-笔记
  6. 顺势腹式呼吸还是逆势
  7. 广东取消英语和计算机考试,广东停考全国英语等级考试、全国计算机等级考试...
  8. 解决css修改但是没有反应
  9. Macchanger-更改mac地址
  10. 知网html阅读需要花钱么,自己花钱怎么在知网上查重
  11. [源码解析] PyTorch 流水线并行实现 (1)--基础知识
  12. Linux磁盘热插拔命令
  13. 运维工程师的发展前景如何?
  14. tp-link tl-wr740n 虚拟服务器,TP-Link TL-WR740N无线路由器的上网设置教程
  15. 计算机课gif,信息技术五年级下册第7课 认识GIF动画教学设计及反思
  16. elementUI中table单元格的合并,通用版
  17. mysql 启动/停止命令
  18. 使用某为开发板,在项目过程中遇到的坑,记录一下,希望以后不会遇到
  19. 树莓派使用DHT11测量温湿度
  20. 香橙派内核编译/移植 和 驱动编译

热门文章

  1. 大叔配萝莉/正太的电影一般都不会差。。。
  2. RTSP支持MPEG-4格式监控
  3. 晶振旁的电阻(并联与串联)和电容的作用
  4. 神经网络参数初始化方法
  5. 奶块最新服务器叫什么,奶块全部服务器 | 手游网游页游攻略大全
  6. 谷歌发布最强AI机器人AlphaGo Zero,融360拟融资3亿美元即将赴美上市 | 大数据周周看
  7. 代理服务器的工作原理
  8. 对261个国家地区快速查找选择
  9. 分享:快捷方便的函数命名网站
  10. 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)