第16章 强化学习

本文围绕强化学习展开,介绍其用马尔可夫决策过程描述及对应四元组。阐述K - 摇臂赌博机的探索与利用方法,如ϵ - 贪心、Softmax算法。还讲解有模型学习的策略评估、改进与迭代,免模型学习的蒙特卡罗强化学习和时序差分学习,以及值函数近似、模仿学习等内容。

第16章 强化学习

16.1 任务与奖赏

强化学习任务通常用马尔可夫决策过程(Markov Decision Process,MDP)来描述:及其处于缓解E中,状态空间为X,其中每个状态x∈Xx \in XxX是机器感知到缓解的描述,机器能采取的动作构成了动作空间A,若某个动作a∈Aa \in AaA作用在当前状态xxx上,则潜在的转移函数PPP将使得环境从当前状态按某种概率转移到另一种状态。

在转移到另一个状态的同时,环境会根据潜在的奖赏(reward)函数RRR反馈给机器一个奖赏。

强化学习任务对应了四元组E=⟨X,A,P,R⟩E = \left\langle X,A,P,R \right\rangleE=X,A,P,R,其中P:X×A×X→RP:X \times A \times X \rightarrow RP:X×A×XR指定了状态转移概率;R:X×A×X→RR:X \times A \times X\mathbb{\rightarrow R}R:X×A×XR指定了奖赏。

机器通过在环境中不断地尝试而学得一个策略π\piπ,根据这个策略,在状态xxx下就能得知要执行的动作a=π(x)a = \pi\left( x \right)a=π(x)。策略的两种表示方法:一种是将策略表示为函数π:X→A\pi:X \rightarrow Aπ:XA,确定性策略常用这种表示;另一种是概率表示π:X×A→R\pi:X \times A\mathbb{\rightarrow R}π:X×AR,随机性策略常用这种表示,π(x,a)\pi\left( x,a \right)π(x,a)为状态xxx下选择动作aaa的概率,这里必须有∑aπ(x,a)=1\sum_{a}^{}{\pi\left( x,a \right) = 1}aπ(x,a)=1

16.2 K-摇臂赌博机

16.2.1 探索与利用

欲最大化单步奖赏考虑:1、需要知道每个动作带来的奖赏;2、执行奖赏最大的动作

K-摇臂赌博机(K-armed bandit):单步强化学习任务对应的理论模型

仅探索法:将所有的尝试机会平均分配给每个摇臂,最后以每个摇臂各自的平均吐币概率作为其奖赏期望的近似估计。

仅利用法:按下目前最优的摇臂,若有多个摇臂同时为最优,则从中随机选取一个。

16.2.2 ϵ\mathbf{\epsilon}ϵ-贪心

ϵ\epsilonϵ-贪心法基于概率来对探索和利用进行折中:每次尝试时,以ϵ\epsilonϵ的概率进行探索,以1−ϵ1- \epsilon1ϵ的概率进行利用。

Q(k)Q\left( k \right)Q(k)记录摇臂kkk的平均奖赏。若摇臂kkk被尝试nnn次,得到的奖赏为v1,v2,…,vnv_{1},v_{2},\ldots,v_{n}v1,v2,,vn,平均奖赏为

Q(k)=1n∑i=1nvi Q\left( k \right) = \frac{1}{n}\sum_{i = 1}^{n}v_{i} Q(k)=n1i=1nvi
在这里插入图片描述

16.2.3 Softmax

Softmax算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中。若个摇臂的平均奖赏相当,则选取各摇臂的概率也相当;若某些摇臂的平均奖赏明显高于其他摇臂,则它们被选取的概率也明显高。

Softmax算法中的摇臂概的分配是基于Boltzmann分布

P(k)=eQ(k)τ∑i=1KeQ(i)τ P\left( k \right) = \frac{e^{\frac{Q\left( k \right)}{\tau}}}{\sum_{i = 1}^{K}e^{\frac{Q\left( i \right)}{\tau}}} P(k)=i=1KeτQ(i)eτQ(k)

其中Q(i)Q\left( i \right)Q(i)记录当前摇臂的平均奖赏
在这里插入图片描述

16.3 有模型学习

16.3.1 策略评估

令函数Vπ(x)V^{\pi}\left( x \right)Vπ(x)表示从状态xxx出发,使用策略π\piπ所带来的累积奖赏,函数Qπ(x,a)Q^{\pi}\left( x,a \right)Qπ(x,a)表示从状态xxx出发,执行动作aaa后再使用策略π\piπ所带来的累积奖赏。V(.)V\left( . \right)V(.)为状态值函数,Q(.)\left( . \right)(.)为状态-动作值函数。

由累积奖赏的定义,有状态值函数

{VTπ(x)=Eπ[ 1T∑i=1Trt∣x0=x],TVγπ(x)=Eπ[ ∑i=1+∞γtrt+1∣x0=x],γ  \left\{ \begin{matrix} V_{T}^{\pi}\left( x \right) = \mathbb{E}_{\pi}\left\lbrack \left. \ \frac{1}{T}\sum_{i = 1}^{T}r_{t} \right|x_{0} = x \right\rbrack,T \\ V_{\gamma}^{\pi}\left( x \right) = \mathbb{E}_{\pi}\left\lbrack \left. \ \sum_{i = 1}^{+ \infty}{\gamma^{t}r}_{t + 1} \right|x_{0} = x \right\rbrack,\gamma \\ \end{matrix} \right.\ {VTπ(x)=Eπ[ T1i=1Trtx0=x],TVγπ(x)=Eπ[ i=1+γtrt+1x0=x],γ 

x0x_{0}x0表示起始状态,a0a_{0}a0表示起始状态上采取的第一个动作,对于T步累积奖赏,则有状态-动作值函数

{QTπ(x,a)=Eπ[ 1T∑i=1Trt∣x0=x,a0=a]Qγπ(x,a)=Eπ[ ∑i=1+∞γtrt+1∣x0=x,a0=a]  \left\{ \begin{matrix} Q_{T}^{\pi}\left( x,a \right) = \mathbb{E}_{\pi}\left\lbrack \left. \ \frac{1}{T}\sum_{i = 1}^{T}r_{t} \right|x_{0} = x,a_{0} = a \right\rbrack \\ Q_{\gamma}^{\pi}\left( x,a \right) = \mathbb{E}_{\pi}\left\lbrack \left. \ \sum_{i = 1}^{+ \infty}{\gamma^{t}r}_{t + 1} \right|x_{0} = x,a_{0} = a \right\rbrack \\ \end{matrix} \right.\ {QTπ(x,a)=Eπ[ T1i=1Trtx0=x,a0=a]Qγπ(x,a)=Eπ[ i=1+γtrt+1x0=x,a0=a] 

则T步累积奖赏有

VTπ(x)=Eπ[ 1T∑i=1Trt∣x0=x] V_{T}^{\pi}\left( x \right) = \mathbb{E}_{\pi}\left\lbrack \left. \ \frac{1}{T}\sum_{i = 1}^{T}r_{t} \right|x_{0} = x \right\rbrack VTπ(x)=Eπ[ T1i=1Trtx0=x]

=Eπ[ 1Tr1+T−1T1T−1∑i=2Trt∣x0=x] = \mathbb{E}_{\pi}\left\lbrack \left. \ \frac{1}{T}r_{1} + \frac{T - 1}{T}\frac{1}{T - 1}\sum_{i = 2}^{T}r_{t} \right|x_{0} = x \right\rbrack =Eπ[ T1r1+TT1T11i=2Trtx0=x]

=∑a∈Aπ(x,a)∑x′∈XPx→x′a(1TRx→x′a+T−1TEπ[ 1T−1∑i=1T−1rt∣x0=x′]) = \sum_{a \in A}^{}{\pi\left( x,a \right)\sum_{x^{'} \in X}^{}{P_{x \rightarrow x^{'}}^{a}\left( \frac{1}{T}R_{x \rightarrow x^{'}}^{a} + \frac{T - 1}{T}\mathbb{E}_{\pi}\left\lbrack \left. \ \frac{1}{T - 1}\sum_{i = 1}^{T - 1}r_{t} \right|x_{0} = x' \right\rbrack \right)}} =aAπ(x,a)xXPxxa(T1Rxxa+TT1Eπ[ T11i=1T1rtx0=x])

=∑a∈Aπ(x,a)∑x′∈XPx→x′a(1TRx→x′a+TT−1VT−1π(x′)) = \sum_{a \in A}^{}{\pi\left( x,a \right)\sum_{x^{'} \in X}^{}{P_{x \rightarrow x^{'}}^{a}\left( \frac{1}{T}R_{x \rightarrow x^{'}}^{a} + \frac{T}{T - 1}V_{T - 1}^{\pi}\left( x^{'} \right) \right)}} =aAπ(x,a)xXPxxa(T1Rxxa+T1TVT1π(x))

类似的,对于γ\gammaγ折扣累积奖赏有

Vγπ(x)=∑a∈Aπ(x,a)∑x′∈XPx→x′a(Rx→x′a+γVγπ(x′)) V_{\gamma}^{\pi}\left( x \right) = \sum_{a \in A}^{}{\pi\left( x,a \right)\sum_{x^{'} \in X}^{}{P_{x \rightarrow x^{'}}^{a}\left( R_{x \rightarrow x^{'}}^{a} + \gamma V_{\gamma}^{\pi}\left( x^{'} \right) \right)}} Vγπ(x)=aAπ(x,a)xXPxxa(Rxxa+γVγπ(x))
在这里插入图片描述
则状态-动作值函数

{QTπ(x,a)=∑x′∈XPx→x′a(1TRx→x′a+TT−1VT−1π(x′))Qγπ(x,a)=∑x′∈XPx→x′a(Rx→x′a+γVγπ(x′))  \left\{ \begin{matrix} Q_{T}^{\pi}\left( x,a \right) = \sum_{x^{'} \in X}^{}{P_{x \rightarrow x^{'}}^{a}\left( \frac{1}{T}R_{x \rightarrow x^{'}}^{a} + \frac{T}{T - 1}V_{T - 1}^{\pi}\left( x^{'} \right) \right)} \\ Q_{\gamma}^{\pi}\left( x,a \right) = \sum_{x^{'} \in X}^{}{P_{x \rightarrow x^{'}}^{a}\left( R_{x \rightarrow x^{'}}^{a} + \gamma V_{\gamma}^{\pi}\left( x^{'} \right) \right)} \\ \end{matrix} \right.\ QTπ(x,a)=xXPxxa(T1Rxxa+T1TVT1π(x))Qγπ(x,a)=xXPxxa(Rxxa+γVγπ(x)) 

16.3.2 策略改进

理想的策略响应能最大化累积奖赏
在这里插入图片描述

一个强化学习任务可能有多个最优策略,最优策略所对应的值函数V∗V^{*}V称为最优值函数,即

∀x∈X:V∗(x)=Vπ∗(x) \forall x \in X:V^{*}\left( x \right) = V^{\pi^{*}}\left( x \right) xX:V(x)=Vπ(x)

对累积奖赏进行改进
在这里插入图片描述

即改进后为
在这里插入图片描述

则最优状态-动作值函数
在这里插入图片描述
最优Bellman等式揭示了非最优策略的改进方式:将策略选择的动作改进为当前最优的动作。

16.3.3 策略迭代与值迭代

策略迭代(policy iteration):从一个初始策略出发,先进行策略评估,然后改进策略,评估改进的策略,再进一步改进策略,……不断迭代进行测量评估和改进,直到测量收敛、不再改变为止。

在这里插入图片描述
则值函数的改进为

在这里插入图片描述

在这里插入图片描述
16.4 免模型学习

免模型学习(model-free learning):若学习算法不依赖于环境建模

16.4.1 蒙特卡罗强化学习

同策略蒙特卡罗强化学习算法

算法中奖赏均值采用增量式计算,每采样出一条轨迹,就根据该轨迹涉及的所有状态-动作对来对值函数进行更新
在这里插入图片描述
函数fff在概率分布ppp的期望可表达为

E[f]=∫xp(x)f(x)dx \mathbb{E}\left\lbrack f \right\rbrack = \int_{x}^{}{p\left( x \right)f\left( x \right)\text{dx}} E[f]=xp(x)f(x)dx

可通过从概率分布ppp上的采样{x1,x2,…,xm}\left\{ x_{1},x_{2},\ldots,x_{m} \right\}{x1,x2,,xm}来估计fff的期望,即

E^[f]=1m∑i=1mf(x) \hat{\mathbb{E}}\left\lbrack f \right\rbrack = \frac{1}{m}\sum_{i = 1}^{m}{f\left( x \right)} E^[f]=m1i=1mf(x)

若引入另一个分布qqq,则函数fff在概率分布ppp下的期望为

E[f]=∫xq(x)p(x)q(x)f(x)dx \mathbb{E}\left\lbrack f \right\rbrack = \int_{x}^{}{q\left( x \right)\frac{p\left( x \right)}{q\left( x \right)}f\left( x \right)\text{dx}} E[f]=xq(x)q(x)p(x)f(x)dx

上式可看作p(x)q(x)f(x)\frac{p\left( x \right)}{q\left( x \right)}f\left( x \right)q(x)p(x)f(x)在分布qqq下的期望,因此通过在qqq上的采样{x1′,x2′,…,xm′}\left\{ x_{1}^{'},x_{2}^{'},\ldots,x_{m}^{'} \right\}{x1,x2,,xm}可估计为

E^[f]=1m∑i=1mp(xi′)q(xi′)f(xi′) \hat{\mathbb{E}}\left\lbrack f \right\rbrack = \frac{1}{m}\sum_{i = 1}^{m}\frac{p\left( x_{i}^{'} \right)}{q\left( x_{i}^{'} \right)}f\left( x_{i}^{'} \right) E^[f]=m1i=1mq(xi)p(xi)f(xi)

对累积奖赏估计期望

Q(x,a)=1m∑i=1mRi Q\left( x,a \right) = \frac{1}{m}\sum_{i = 1}^{m}R_{i} Q(x,a)=m1i=1mRi

其中RiR_{i}Ri表示第iii条轨迹上自状态xxx至结束的累积奖赏。

若改用策略π′\pi^{'}π的采样轨迹来评估策略π\piπ,则仅需对累积奖赏加权,即

Q(x,a)=1m∑i=1mPiπPiπ′Ri Q\left( x,a \right) = \frac{1}{m}\sum_{i = 1}^{m}{\frac{P_{i}^{\pi}}{P_{i}^{\pi^{'}}}R_{i}} Q(x,a)=m1i=1mPiπPiπRi

其中PiπP_{i}^{\pi}PiπPiπ′P_{i}^{\pi^{'}}Piπ分别表示两个策略产生第iii条轨迹的概率

对于给定的一条轨迹⟨x0,a0,r1,…,xT−1,aT−1,rT,xT⟩\left\langle x_{0},a_{0},r_{1},\ldots,x_{T - 1},a_{T - 1},r_{T},x_{T} \right\ranglex0,a0,r1,,xT1,aT1,rT,xT,策略π\piπ产生该轨迹的概率为

Pπ=∏i=0T−1π(xi,ai)Pxi→xi+1ai P^{\pi} = \prod_{i = 0}^{T - 1}{\pi\left( x_{i},a_{i} \right)P_{x_{i} \rightarrow x_{i + 1}}^{a_{i}}} Pπ=i=0T1π(xi,ai)Pxixi+1ai

两个策略概率的比值

PπPπ′=∏i=0T−1π(xi,ai)π′(xi,ai) \frac{P^{\pi}}{P^{\pi^{'}}} = \prod_{i = 0}^{T - 1}\frac{\pi\left( x_{i},a_{i} \right)}{\pi^{'}\left( x_{i},a_{i} \right)} PπPπ=i=0T1π(xi,ai)π(xi,ai)
在这里插入图片描述

16.4.2 时序差分学习

时序差分学习(Temporal Difference,TD):结合了动态规划与蒙特卡罗方法的思想,能做到更高效的免模型学习。

蒙特卡罗强化学习算法的本质:通过多次尝试后求平均作为期望累积奖赏的近似,但它在求平均时是批处理式进行的,即在一个完整的采样轨迹完成后再对所有的状态-动作对进行更新。
在这里插入图片描述
在这里插入图片描述

16.5 值函数近似

表格值函数(tabular value function):值函数能表示为一个数值,输入iii对应的函数值就是数值元素iii的值,且更改一个状态上的值不会影响其他状态上的值。

假定状态空间为n维实数空间X=RnX = \mathbb{R}^{n}X=Rn,值函数能表达为状态的线性函数

Vθ(x)=θTx V_{\theta}\left( x \right) = \theta^{T}x Vθ(x)=θTx

其中xxx为状态向量,θ\thetaθ为参数向量。

值函数尽可能近似真实值函数VπV^{\pi}Vπ,用最小二乘误差来度量

Eθ=Ex∼π[(Vπ(x)−Vθ(x))2] E_{\theta} = \mathbb{E}_{x\sim\pi}\left\lbrack \left( V^{\pi}\left( x \right) - V_{\theta}\left( x \right) \right)^{2} \right\rbrack Eθ=Exπ[(Vπ(x)Vθ(x))2]

其中Ex∼π\mathbb{E}_{x\sim\pi}Exπ表示由策略π\piπ所采样而得的状态上的期望。

为了使误差最小化,采用梯度下降法,对误差求负导数

−∂Eθ∂θ=Ex∼π[2(Vπ(x)−Vθ(x))∂Vθ(x)∂θ]=Ex∼π[2(Vπ(x)−Vθ(x))x]- \frac{\partial E_{\theta}}{\partial\theta} = \mathbb{E}_{x\sim\pi}\left\lbrack 2\left( V^{\pi}\left( x \right) - V_{\theta}\left( x \right) \right)\frac{\partial V_{\theta}\left( x \right)}{\partial\theta} \right\rbrack = \mathbb{E}_{x\sim\pi}\left\lbrack 2\left( V^{\pi}\left( x \right) - V_{\theta}\left( x \right) \right)x \right\rbrack θEθ=Exπ[2(Vπ(x)Vθ(x))θVθ(x)]=Exπ[2(Vπ(x)Vθ(x))x]

可得到对应单样本的更新规则

θ=θ+α(Vπ(x)−Vθ(x))x \theta = \theta + \alpha\left( V^{\pi}\left( x \right) - V_{\theta}\left( x \right) \right)x θ=θ+α(Vπ(x)Vθ(x))x

基于Vπ(x)=r+γVπ(x′)V^{\pi}\left( x \right) = r + \gamma V^{\pi}\left( x^{'} \right)Vπ(x)=r+γVπ(x)用当前估计的值函数代替真实值函数,即

θ=θ+αVθ(r+γVθ(x′)−Vθ(x))x=θ+α(r+γx′−θTx)x \theta = \theta + \alpha V_{\theta}\left( r + \gamma V_{\theta}\left( x^{'} \right) - V_{\theta}\left( x \right) \right)x = \theta + \alpha\left( r + \gamma x^{'} - \theta^{T}x \right)x θ=θ+αVθ(r+γVθ(x)Vθ(x))x=θ+α(r+γxθTx)x

其中x′x^{'}x是下一时刻的状态
在这里插入图片描述

16.6 模仿学习

16.6.1 直接模仿学习

直接模仿学习:直接模仿人类专家的状态-动作对可环境多步决策。

假定获得一批人类专家的决策轨迹数据{τ1,τ2,…,τm}\left\{ \tau_{1},\tau_{2},\ldots,\tau_{m} \right\}{τ1,τ2,,τm},每条轨迹包含状态和动作序列

τi=⟨s1i,a1i,s2i,a2i,…,sni+1i⟩ \tau_{i} = \left\langle s_{1}^{i},a_{1}^{i},s_{2}^{i},a_{2}^{i},\ldots,s_{n_{i} + 1}^{i} \right\rangle τi=s1i,a1i,s2i,a2i,,sni+1i

其中nin_{i}ni为第iii条轨迹中的转移次数。

将所有轨迹上的所有状态-动作对抽取,构造出一个新的数据集合

D={(s1,a1),(s2,a2),…,(s∑i=1mni,a∑i=1mni)} D = \left\{ \left( s_{1},a_{1} \right),\left( s_{2},a_{2} \right),\ldots,\left( s_{\sum_{i = 1}^{m}n_{i}},a_{\sum_{i = 1}^{m}n_{i}} \right) \right\} D={(s1,a1),(s2,a2),,(si=1mni,ai=1mni)}

然后对这个新构造出的数据集合D使用分类或回归算法即可学得策略模型。学得的这个策略模型可作为机器进行强化学习的初始策略,再通过强化学习方法基于环境反馈进行改进,从而获得更好的策略。

16.6.2 逆强化学习

寻找某种奖赏函数使得范例数据是最优的,然后即可使用这个奖赏函数来训练强化学习策略。

假设奖赏函数能表达为状态特征的线性函数,即R(x)=ωTxR\left( x \right) = \omega^{T}xR(x)=ωTx。于是策略π\piπ的累积奖赏为

ρπ=E[∑t=0+∞γtR(xt)∣π ]=E[∑t=0+∞γtωTxt∣π ]=ωTE[∑t=0+∞γtxt∣π ] \rho^{\pi} = \mathbb{E}\left\lbrack \sum_{t = 0}^{+ \infty}{\gamma^{t}R\left( x_{t} \right)\left| \pi \right.\ } \right\rbrack\mathbb{= E}\left\lbrack \sum_{t = 0}^{+ \infty}{\gamma^{t}\omega^{T}x_{t}\left| \pi \right.\ } \right\rbrack = \omega^{T}\mathbb{E}\left\lbrack \sum_{t = 0}^{+ \infty}{\gamma^{t}x_{t}\left| \pi \right.\ } \right\rbrack ρπ=E[t=0+γtR(xt)π ]=E[t=0+γtωTxtπ ]=ωTE[t=0+γtxtπ ]

即状态向量加权和的期望与系数ω\omegaω的内积。

将状态向量的期望E[∑t=0+∞γtxt∣π ]\mathbb{E}\left\lbrack \sum_{t = 0}^{+ \infty}{\gamma^{t}x_{t}\left| \pi \right.\ } \right\rbrackE[t=0+γtxtπ ]简写为x‾π{\overset{\overline{}}{x}}^{\pi}xπ,将每条范例轨迹上的状态加权求和再平均,记为x‾∗{\overset{\overline{}}{x}}^{*}x。对于最优奖赏函数R(x)=ω∗TxR\left( x \right) = \omega^{*T}xR(x)=ωTx和任意其他策略产生的x‾π{\overset{\overline{}}{x}}^{\pi}xπ,有

ω∗Tx‾∗−ω∗Tx‾π=ω∗T(x‾∗−x‾π)≥0 \omega^{*T}{\overset{\overline{}}{x}}^{*} - \omega^{*T}{\overset{\overline{}}{x}}^{\pi} = \omega^{*T}\left( {\overset{\overline{}}{x}}^{*} - {\overset{\overline{}}{x}}^{\pi} \right) \geq 0 ωTxωTxπ=ωT(xxπ)0

若能对所有策略计算出(x‾∗−x‾π)\left( {\overset{\overline{}}{x}}^{*} - {\overset{\overline{}}{x}}^{\pi} \right)(xxπ),即可解出:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值