强化学习进阶【逆强化学习】

  最早的模仿学习是行为克隆,行为克隆的方法只能模仿轨迹,无法进行泛化。而逆向强化学习是从专家示例中学到背后的回报函数,能泛化到其他情况,因此属于模仿到了精髓。

  IRL的提出动机主要有以下两点:

  1. 多任务学习:蜜蜂是如何权衡飞行距离、时间、捕食动物威胁等多个任务下找到一个最优的飞行路径的?IRL针对的也是序列决策问题,并非是单步决策问题。
  2. 学回报函数:难以量化回报函数的领域。
    逆强化学习分类

  很多时候我们拿不到最优策略,但是获取最优策略的采样数据却是非常容易的。因此逆强化学习的流程如下所示:

  1. 智能体随机产生一个策略。
  2. 智能体的策略采样得到的数据与专家数据采样得到的数据对比,学习奖励函数。
  3. 利用所学的奖励函数进行强化学习,提高自身策略水平。
  4. 策略差距较小则停止迭代,否者回到第二步。

有限状态下的求解

  以下推导过程主要来自:Algorithms for Inverse Reinforcement Learning

  假定最优策略为 π ∗ \pi^{*} π,其它策略为 π \pi π,有:

V π ∗ ( s ) ⩾ V π ( s ) q π ∗ ( s , a ) ⩾ q π ( s , a ) \begin{array}{l} V_{\pi^{*}}(s) \geqslant V_{\pi}(s) \\ q_{\pi^{*}}(s, a) \geqslant q_{\pi}(s, a) \end{array} Vπ(s)Vπ(s)qπ(s,a)qπ(s,a)

  依据Bellman Equation有:

V π = R + γ P s ′ ∣ ( s , π ∗ ( s ) ) V π V^{\pi}=R+\gamma P_{s^{\prime}|(s,\pi^{*}(s))}V^{\pi} Vπ=R+γPs(s,π(s))Vπ

  因此有:

V π = ( I − γ P s ′ ∣ ( s , π ∗ ( s ) ) ) − 1 R V^{\pi}=(I-\gamma P_{s^{\prime}|(s,\pi^{*}(s))})^{-1}R Vπ=(IγPs(s,π(s)))1R

  这里我们想要求出奖励 R R R的函数方程,因此期望消去 V π V^{\pi} Vπ由:

P s ′ ∣ ( s , π ∗ ( s ) ) V π ≥ P s ′ ∣ ( s , π ( s ) ) V π P_{s^{\prime}|(s,\pi^{*}(s))}V^{\pi} \geq P_{s^{\prime}|(s,\pi(s))}V^{\pi} Ps(s,π(s))VπPs(s,π(s))Vπ

  可以消去 V π V^{\pi} Vπ得到:

( P s ′ ∣ ( s , π ∗ ( s ) ) − P s ′ ∣ ( s , π ( s ) ) ) ( I − γ P s ′ ∣ ( s , π ∗ ( s ) ) ) − 1 R ≥ 0 (P_{s^{\prime}|(s,\pi^{*}(s))}-P_{s^{\prime}|(s,\pi(s))})(I-\gamma P_{s^{\prime}|(s,\pi^{*}(s))})^{-1}R \geq 0 (Ps(s,π(s))Ps(s,π(s)))(IγPs(s,π(s)))1R0

  如果假定专家数据为最优策略下的采样数据,则求取的奖励函数期望能够使得上述公式越大越好,上述推导则变成了一个线性规划问题:

max ⁡ ( P s , π ∗ ( s ) − P s , a ) ( I − γ P π ∗ ) R  s.t.  ( P s , π ∗ ( s ) − P s , a ) ( I − γ P π ∗ ) R ⩾ 0 \begin{array}{l} \max \left(P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}-\boldsymbol{P}_{\boldsymbol{s}, \boldsymbol{a}}\right)\left(\boldsymbol{I}-\gamma \boldsymbol{P}_{\pi^{*}}\right) \boldsymbol{R} \\ \text { s.t. } \quad\left(P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}-\boldsymbol{P}_{\boldsymbol{s}, \boldsymbol{a}}\right)\left(\boldsymbol{I}-\gamma \boldsymbol{P}_{\pi^{*}}\right) \boldsymbol{R} \geqslant 0 \end{array} max(Ps,π(s)Ps,a)(IγPπ)R s.t. (Ps,π(s)Ps,a)(IγPπ)R0

  上述线性规划问题的约束比较弱,回报函数可以成比例地扩大或者缩小同样能够满足约束,并且回报函数取0时也能满足约束,但这种情况实际上是没有意义的。因此考虑增加约束:

  1. 限制回报的范围 ∣ R ∣ ≤ R m a x |R| \leq R_{max} RRmax。并且Ng认为在其它所有情况都相同的时候,回报函数的取值越小越“简单”也就越可取,可以选择在优化的目标函数上加上一个惩罚项 − λ ∣ ∣ R ∣ ∣ 1 -\lambda||R||_{1} λR1,类似L1L2正则化,都是为了防止参数过大。(这里引入了另一个问题, λ \lambda λ参数的取值问题。)
  2. 只考虑最优策略和次优策略的差异:之前考虑的是最优策略优于其它所有策略,也就是以相同的权重考虑最优策略和其它策略之间的差距,但是最优策略和次优策略之间的差距会显得更加重要

  引入这两个约束之后,原问题的规划变为:

max ⁡ R [ min ⁡ a { ( P s , π ∗ ( s ) − P s , a ) ( I − γ P π ∗ ) − 1 R } − λ ∣ R ∣ ]  s.t.  − ( P s , π ∗ ( s ) − P s , a ) ( I − γ P π ∗ ) R ⩽ 0 ∣ R ∣ ⩽ R max ⁡ \begin{array}{l} \max _{\boldsymbol{R}}\left[\min _{\boldsymbol{a}}\left\{\left(P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}-\boldsymbol{P}_{\boldsymbol{s}, \boldsymbol{a}}\right)\left(\boldsymbol{I}-\gamma \boldsymbol{P}_{\boldsymbol{\pi}^{*}}\right)^{-1} \boldsymbol{R}\right\}-\lambda|\boldsymbol{R}|\right] \\ \text { s.t. } \quad-\left(P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}-\boldsymbol{P}_{\boldsymbol{s}, \boldsymbol{a}}\right)\left(\boldsymbol{I}-\gamma \boldsymbol{P}_{\pi^{*}}\right) \boldsymbol{R} \leqslant 0 \\ |\boldsymbol{R}| \leqslant \boldsymbol{R}_{\max } \end{array} maxR[mina{(Ps,π(s)Ps,a)(IγPπ)1R}λR] s.t. (Ps,π(s)Ps,a)(IγPπ)R0RRmax

  之后我们去求解上述规划问题即可。可参考代码:Inverse-Reinforcement-Learning

无限状态下的求解

  在无线状态空间下,奖励函数可以看作是一个从状态到回报的映射函数:

Reward ( s ) = w T ϕ ( s ) \text{Reward}(s)=w^{T}\phi(s) Reward(s)=wTϕ(s)

  其中 ϕ ( s ) \phi(s) ϕ(s)是将状态映射到低维空间。于是问题就变成了求解参数 w w w来确定回报函数,这里设定奖励函数为线性函数也是为了之后方便计算。如果状态被映射到一个 d d d维的向量上,那么求解回报就相当于进行如下计算:

R ( s ) = w 1 ϕ 1 ( s ) + w 2 ϕ 2 ( s ) + ⋯ + w d ϕ d ( s ) R(s)=w_{1} \phi_{1}(s)+w_{2} \phi_{2}(s)+\cdots+w_{d} \phi_{d}(s) R(s)=w1ϕ1(s)+w2ϕ2(s)++wdϕd(s)

  值函数的计算方式可表示为:

V π ( s ) = ∑ t = 0 ∞ γ t ∑ i = 1 d w i ϕ i ( s ) = ∑ i = 1 d ∑ t = 0 ∞ γ t w i ϕ i ( s ) = ∑ i = 1 d w i ∑ t = 0 ∞ γ t ϕ i ( s ) = ∑ i = 1 d w i V i n ( s ) \begin{aligned} V^{\pi}(s) &=\sum_{t=0}^{\infty} \gamma^{t} \sum_{i=1}^{d} w_{i} \phi_{i}(s) \\ &=\sum_{i=1}^{d} \sum_{t=0}^{\infty} \gamma^{t} w_{i} \phi_{i}(s) \\ &=\sum_{i=1}^{d} w_{i} \sum_{t=0}^{\infty} \gamma^{t} \phi_{i}(s) \\ &=\sum_{i=1}^{d} w_{i} V_{i}^{n}(s) \end{aligned} Vπ(s)=t=0γti=1dwiϕi(s)=i=1dt=0γtwiϕi(s)=i=1dwit=0γtϕi(s)=i=1dwiVin(s)

  其中 V i π ( s ) V_{i}^{\pi}(s) Viπ(s)表示某一维映射特征的累计值。最终目标同样是希望找到最佳的回报函数,使最优策略的价值最大化:

E s ′ ∼ P s , π ∗ ( s ) [ V π ( s ′ ) ] ⩾ E s ′ ∼ P s , a [ V π ( s ′ ) ] ∑ i = 1 d w i ( E s ′ ∼ P s , π ∗ ( s ) [ V i π ( s ′ ) ] − E s ′ ∼ P s , a [ V i π ( s ′ ) ] ) ⩾ 0 \begin{array}{l} E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}}\left[V^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right] \geqslant E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s}, \boldsymbol{a}}}\left[V^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right] \\ \sum_{i=1}^{d} w_{i}\left(E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}}\left[V_{i}^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right]-E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s}, \boldsymbol{a}}}\left[V_{i}^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right]\right) \geqslant 0 \end{array} EsPs,π(s)[Vπ(s)]EsPs,a[Vπ(s)]i=1dwi(EsPs,π(s)[Viπ(s)]EsPs,a[Viπ(s)])0

  最终的求解目标为:

 maximize  ∑ s ∈ S 0 min ⁡ a ∈ { a 2 , … a k } { p ( ∑ i = 1 d w i ( E s ′ ∼ P s , π ∗ ( s ) [ V i π ( s ′ ) ] − E s ′ ∼ P s a [ V i π ( s ′ ) ] ) ) }  s.t.  ∣ w i ∣ ⩽ 1 , i = 1 , … , d \begin{aligned} &\text { maximize } \sum_{\boldsymbol{s} \in \boldsymbol{S}_{0}} \min _{\boldsymbol{a} \in\left\{\boldsymbol{a}_{2}, \ldots a_{k}\right\}}\left\{p\left(\sum_{i=1}^{d} w_{i}\left(E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s}, \pi^{*}(\boldsymbol{s})}}\left[V_{i}^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right]-E_{\boldsymbol{s}^{\prime} \sim P_{\boldsymbol{s a}}}\left[V_{i}^{\pi}\left(\boldsymbol{s}^{\prime}\right)\right]\right)\right)\right\}\\ &\text { s.t. } \quad\left|w_{i}\right| \leqslant 1, i=1, \ldots, d \end{aligned}  maximize sS0a{a2,ak}min{p(i=1dwi(EsPs,π(s)[Viπ(s)]EsPsa[Viπ(s)]))} s.t. wi1,i=1,,d

  与之前有限状态下的求解有些许不同的地方在于:

  1. 这里我们无法考虑所有的状态,只考虑有限个状态。
  2. 这里不是对回报函数做约束,而是对回报函数的参数大小进行约束,类似L1范数。
  3. 由于函数式模型可变量有限,所以并不能保证完美你和真实的回报函数。一旦无法完美拟合,模型就有可能违背约束条件的情形,因此我们需要将约束项转变成惩罚项。

  具体实现可参考/irl/linear_irl.py中的large_irl函数。

最大熵逆强化学习

  最大熵逆强化学习(Max Entropy Inverse Reinforcement Learning),它能够从多个满足限定条件的策略中寻找一个更合理的策略。

  • 论文:Maximum entropy inverse reinforcement learning

  期望利用专家的行动轨迹 ζ = { s i , a i } N \zeta=\left\{s_{i}, a_{i}\right\}_{N} ζ={si,ai}N学一个回报函数 r ( f s j ; θ ) r\left(f_{s_{j}} ; \theta\right) r(fsj;θ),其中 f s j f_{s_{j}} fsj是状态的特征抽取, θ \theta θ是回报函数的参数,如果回报函数与特征之间是线性关系,则可表示为如下形式:

r ( f s j ) = θ T f s j = ∑ i θ i f i r\left(\boldsymbol{f}_{\boldsymbol{s}_{j}}\right)=\theta^{\mathrm{T}} \boldsymbol{f}_{\boldsymbol{s}_{j}}=\sum_{i} \theta_{i} \boldsymbol{f}_{i} r(fsj)=θTfsj=iθifi

  此时某条轨迹 ζ \zeta ζ的累计回报可以写作:

r ( f ζ ) = ∑ s j ∈ ζ θ T f s j = θ T ∑ s j ∈ ζ f s j = θ T f ζ r\left(f_{\zeta}\right)=\sum_{s_{j} \in \zeta} \theta^{\mathrm{T}} f_{s_{j}}=\theta^{\mathrm{T}} \sum_{s_{j} \in \zeta} f_{s_{j}}=\theta^{\mathrm{T}} f_{\zeta} r(fζ)=sjζθTfsj=θTsjζfsj=θTfζ

  假设所有的轨迹起始于同一个状态,将每一条轨迹 ζ ~ \tilde{\boldsymbol{\zeta}} ζ~ 聚合起来,就可以用这些轨迹得到价值期望的估计:

v ( f ) = E ζ ~ i [ r ( f ξ ~ i ) ] ≃ 1 m ∑ i θ T f ξ i = θ T 1 m ∑ i f ζ ~ i = θ T f ~ v(\boldsymbol{f})=E_{\tilde{\boldsymbol{\zeta}}_{\boldsymbol{i}}}\left[r\left(f_{\tilde{\boldsymbol{\xi}}_{\boldsymbol{i}}}\right)\right] \simeq \frac{1}{m} \sum_{\boldsymbol{i}} \theta^{\mathrm{T}} \boldsymbol{f}_{\boldsymbol{\xi}_{\boldsymbol{i}}}=\theta^{\mathrm{T}} \frac{1}{m} \sum_{\boldsymbol{i}} f_{\tilde{\boldsymbol{\zeta}}_{\boldsymbol{i}}}=\theta^{\mathrm{T}} \tilde{\boldsymbol{f}} v(f)=Eζ~i[r(fξ~i)]m1iθTfξi=θTm1ifζ~i=θTf~

  假定策略模型为 P π ( ζ i ) P_{\pi}\left(\zeta_{i}\right) Pπ(ζi),我们希望策略模型交互得到的轨迹的累计回报等于专家轨迹的累计回报

E ζ i ∼ π [ r ( f ζ ) ] = θ T ∑ i P π ( ζ i ) f ζ i = θ T f ~ E_{\zeta_{i} \sim \pi}\left[r\left(f_{\zeta}\right)\right]=\theta^{\mathrm{T}} \sum_{i} P_{\pi}\left(\zeta_{i}\right) f_{\zeta_{i}}=\theta^{\mathrm{T}} \tilde{f} Eζiπ[r(fζ)]=θTiPπ(ζi)fζi=θTf~

  由于等式两边 θ \theta θ相同,可以得到:

∑ i P π ( ζ i ) f ζ i = 1 m ∑ i f ζ ~ i \sum_{i} P_{\pi}\left(\zeta_{i}\right) f_{\zeta_{i}}=\frac{1}{m} \sum_{i} f_{\tilde{\zeta}_{i}} iPπ(ζi)fζi=m1ifζ~i

  上述这个约束条件并不是很强的一个约束,满足这个约束的策略模型 P π ( ζ i ) P_{\pi}\left(\zeta_{i}\right) Pπ(ζi)可能有很多,而这些策略在完整的问题空间中可能各有优劣,因此在完整的问题空间中仍然可能得到一个较差模型。

  • 最大熵约束

  这里就引入另外一个约束,最大熵约束。如果轨迹获得的累计回报 θ T f ζ \theta^{\mathrm{T}} f_{\zeta} θTfζ比较高,那么策略应该以较高的概率出现这条轨迹,再依据最大熵模型可以将轨迹的概率可表示为:

P ( ζ i ∣ θ ) = 1 Z ( θ ) e θ T f ζ i = 1 Z ( θ ) e θ T ∑ s j ∈ ζ i f s j P\left(\zeta_{i} \mid \theta\right)=\frac{1}{Z(\theta)} \mathrm{e}^{\theta^{\mathrm{T}} f_{\zeta_{i}}}=\frac{1}{Z(\theta)} \mathrm{e}^{\theta^{\mathrm{T}} \sum_{s_{j} \in \zeta_{i}} f_{s_{j}}} P(ζiθ)=Z(θ)1eθTfζi=Z(θ)1eθTsjζifsj

  其中 Z ( θ ) = ∑ i e θ T f ζ Z(\theta)=\sum_{i} \mathrm{e}^{\theta^{\mathrm{T}} f_{\zeta}} Z(θ)=ieθTfζ。令动作序列为 o o o,则 P T ( ζ ∣ o ) P_{T}(\zeta|o) PT(ζo)表示当行动序列确定时,状态最终转换成序列 ζ \zeta ζ的概率为:

P ( ζ ∣ θ , T ) = ∑ o ∈ O P T ( ζ ∣ o ) e θ T f ζ Z ( θ , o ) I ζ ∈ o P(\zeta \mid \theta, T)=\sum_{o \in O} P_{T}(\zeta \mid o) \frac{\mathrm{e}^{\theta^{\mathrm{T}} f_{\zeta}}}{Z(\theta, o)} I_{\zeta \in \mathrm{o}} P(ζθ,T)=oOPT(ζo)Z(θ,o)eθTfζIζo

  其中 I ζ ∈ o I_{\zeta \in \mathrm{o}} Iζo表示轨迹是否可以通过某一条行动序列生成,当这个值等于1时,表示轨迹可以通过行动序列生成,反之无法生成。将其近似为一个可解的形式:

P ( ζ ∣ θ , T ) ≃ e θ T f ζ Z ( θ , o ) ∏ s t + 1 , a t , s t ∈ ζ P T ( s t + 1 ∣ a t , s t ) P(\zeta \mid \theta, T) \simeq \frac{\mathrm{e}^{\theta^{\mathrm{T}} f_{\zeta}}}{Z(\theta, \mathbf{o})} \prod_{s_{t+1}, a_{t}, s_{t} \in \zeta} P_{T}\left(s_{t+1} \mid a_{t}, s_{t}\right) P(ζθ,T)Z(θ,o)eθTfζst+1,at,stζPT(st+1at,st)

  • 最大似然法求解

  由此得到了模型对轨迹的概率,采用最大似然法进行优化,假定问题是确定的MDP,对应的目标函数为:

θ ∗ = argmax ⁡ θ L ( θ ) = argmax ⁡ ∑ ζ log ⁡ p ( ζ ∣ θ , T ) \theta^{*}=\operatorname{argmax}_{\theta} L(\theta)=\operatorname{argmax} \sum_{\zeta} \log p(\boldsymbol{\zeta} \mid \theta, T) θ=argmaxθL(θ)=argmaxζlogp(ζθ,T)

  与最大熵模型求解类似,先构建拉格朗日函数,然后求导令,得到参数梯度的计算公式:

∇ L ( θ ) = f ~ − ∑ ζ p ( ζ ∣ θ , T ) f ζ \nabla L(\theta)=\tilde{f}-\sum_{\zeta} p(\zeta \mid \theta, T) f_{\zeta} L(θ)=f~ζp(ζθ,T)fζ

  其中 p ( ζ ∣ θ , T ) p(\zeta \mid \theta, T) p(ζθ,T) f ζ f_{\zeta} fζ这两项都显得有些复杂。考虑确定MDP的问题,即行动可以直接决定下一时刻的状态。这样当初始状态、策略和回报函数确定时,未来的轨迹也就确定下来。所以将每一条轨迹的状态分别列出来,再将其中重复状态合并,将这些状态的概率与状态对应的特征相乘,得到的结果也是一样的

∇ L ( θ ) = f ~ − ∑ s i D s i f s i \nabla L(\theta)=\tilde{f}-\sum_{s_{i}} D_{s_{i}} f_{s_{i}} L(θ)=f~siDsifsi

  其中 D s i D_{si} Dsi称为状态访问频率期望(Expected State Visitation Frequency),根据策略和确定的状态转移概率推演,可以得到任意一个时刻状态出现的概率,之后将每一个时刻状态出现的概率加起来,即可得到 D s i D_{s_{i}} Dsi

  • 前向后向计算方法

  先通过反向计算求出策略模型,再进行前向计算得到状态访问频率期望:

  设定在最后一刻 T T T所有状态的出现值为1,就可以计算 T − 1 T-1 T1时刻某个状态下执行某个动作的概率 P T − 1 ( a i , j ∣ s i ) P_{T-1}(a_{i,j}|s_{i}) PT1(ai,jsi)可以得到:

P T − 1 ( a i , j ∣ s i ) = P ( s i , a i , j ) P ( s i ) = ∑ k P ( s i , a i , j , s k ) ∑ a i , j ∑ k P ( s i , a i , j , s k ) = ∑ k P ( a i , j ∣ s i ) p ( s k ∣ s i , a i , j ) ∑ a i , j ∑ k P ( a i , j ∣ s i ) p ( s k ∣ s i , a i , j ) \begin{aligned} P_{T-1}\left(\boldsymbol{a}_{i, j} \mid \boldsymbol{s}_{i}\right) &=\frac{P\left(\boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right)}{P\left(\boldsymbol{s}_{i}\right)} \\ &=\frac{\sum_{k} P\left(\boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}, \boldsymbol{s}_{k}\right)}{\sum_{a_{i, j}} \sum_{k} P\left(s_{i}, \boldsymbol{a}_{i, j}, s_{k}\right)} \\ &=\frac{\sum_{k} P\left(\boldsymbol{a}_{i, j} \mid \boldsymbol{s}_{i}\right) p\left(s_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right)}{\sum_{a_{i, j}} \sum_{k} P\left(\boldsymbol{a}_{i, j} \mid \boldsymbol{s}_{i}\right) p\left(s_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right)} \end{aligned} PT1(ai,jsi)=P(si)P(si,ai,j)=ai,jkP(si,ai,j,sk)kP(si,ai,j,sk)=ai,jkP(ai,jsi)p(sksi,ai,j)kP(ai,jsi)p(sksi,ai,j)

  之前提到轨迹出现的概率和回报成正相关,于是可以使用回报替代概率值,得到:

= ∑ k e r e w a r d ( s i ∣ θ ) p ( s k ∣ s i , a i , j ) ∑ a i , j ∑ k e r e w a r d ( s i ) ∣ θ p ( s k ∣ s i , a i , j ) =\frac{\sum_{k} \mathrm{e}^{\mathrm{reward}\left(\boldsymbol{s}_{i} \mid \theta\right)} p\left(\boldsymbol{s}_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right)}{\sum_{a_{i, j}} \sum_{k} \mathrm{e}^{\mathrm{reward}\left(\boldsymbol{s}_{i}\right) \mid \theta} p\left(\boldsymbol{s}_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right)} =ai,jkereward(si)θp(sksi,ai,j)kereward(siθ)p(sksi,ai,j)

  令 Z a i , j = ∑ k e r e w a r d ( s i ∣ θ ) p ( s k ∣ s i , a i , j ) Z_{\boldsymbol{a}_{i, j}}=\sum_{k} \mathrm{e}^{\mathrm{reward}\left(\boldsymbol{s}_{i} \mid \theta\right)} p\left(s_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right) Zai,j=kereward(siθ)p(sksi,ai,j),公式就可以变为:

= Z a i , j ∑ a i , j Z a i , j =\frac{Z_{a_{i, j}}}{\sum_{a_{i, j}} Z_{a_{i, j}}} =ai,jZai,jZai,j

  当时刻转到 T − 2 T-2 T2时,我么可以得到类似的结果:

P T − 2 ( a i , j ∣ s i ) = ∑ k e r e w a r d ( s i ∣ θ ) p ( s k ∣ s i , a i , j ) Z s k ∑ a i , j ∑ k e r e w a r d ( s i ) ∣ θ p ( s k ∣ s i , a i , j ) Z s k P_{T-2}\left(\boldsymbol{a}_{i, j} \mid \boldsymbol{s}_{i}\right)=\frac{\sum_{k} \mathrm{e}^{\mathrm{reward}\left(\boldsymbol{s}_{i} \mid \theta\right)} p\left(\boldsymbol{s}_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right) Z_{\boldsymbol{s}_{k}}}{\sum_{\boldsymbol{a}_{i, j}} \sum_{k} \mathrm{e}^{\mathrm{reward}\left(\boldsymbol{s}_{i}\right) \mid \theta} p\left(\boldsymbol{s}_{k} \mid \boldsymbol{s}_{i}, \boldsymbol{a}_{i, j}\right) Z_{\boldsymbol{s}_{k}}} PT2(ai,jsi)=ai,jkereward(si)θp(sksi,ai,j)Zskkereward(siθ)p(sksi,ai,j)Zsk

  这样就得到了一个迭代公式,随着迭代轮数不断增加,策略估计值会变得越来越稳定,越来越接近真实的策略,这样就可以完成策略的计算。拿到策略之后可以进行前向计算,得到每个时刻的访问频率。

反向计算

前向计算

  Max Entropy Inverse Reinforcement Learning中还介绍了深度最大熵逆强化学习,主要改进是将其中的模型换成了深层模型。

参考

[1] Apprenticeship learning via inverse reinforcement learning (2004年 学徒学习)
[2] Maximum Margin Planning (2006年 最大边际规划)
[3] Inverse reinforcement learning through structured classification(2012年 结构化分类)
[4] Neural inverse reinforcement learning in autonomous navigation(2016年 神经逆向强化学习)

  • 9
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Easy RL是一个提供简单、易于上手的强化学习教程。强化学习是一种通过智能体与环境的交互来学习优化决策的方法。它通过试错和奖惩机制来不断调整智能体的动作,以达到最大化长期累积奖励的目标。 Easy RL教程的优点之一是其简单易懂的教学方式。它采用了直观的图表、示例代码和实际应用案例,使得学习者能够迅速理解强化学习的概念和原理。同时,教程还提供了详细的说明和解释,帮助学习者在实践中更好地理解强化学习算法的工作原理。 另一个值得称赞的地方是Easy RL提供了一整套的学习资源。除了教程和示例代码外,它还提供了实验环境和数据集,方便学习者进行实际的强化学习实验。此外,Easy RL还提供了论坛和社区支持,学习者可以与其他人交流讨论问题和经验,提高学习效果。 Easy RL的教程内容涵盖了强化学习的各个方面,包括基础概念、数学原理和常见算法等。学习者可以按照自己的进度和兴趣选择学习内容。教程还提供了一些进阶主题,如深度强化学习和分布式强化学习,满足不同学习者的进一步探索需求。 总之,Easy RL是一个具有优秀教学资源的强化学习教程。它的简单易懂和全面深入的内容使得学习者能够快速入门,并且有足够的资源进行深入学习和实践。无论是初学者还是进阶者,都可以从Easy RL中获得丰富的知识和实践经验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值