下面我们来探讨下逆向强行学习的基本原理和典型方法,我们假设您已经对强化学习和凸优化的基本原理有一定的了解。
文章目录
概述
我们先介绍下逆向强化学习的概念预分类:
什么是逆向强化学习呢?当完成复杂的任务时,强化学习的回报函数很难指定,我们希望有一种方法找到一种高效可靠的回报函数,这种方法就是逆向强化学习。我们假设专家在完成某项任务时,其决策往往是最优的或接近最优的,当所有的策略产生的累积汇报函数期望都不比专家策略产生的累积回报期望大时,强化学习所对应的回报函数就是根据示例学到的回报函数。即逆向强化学习就是从专家示例中学习回报函数。当需要基于最优序列样本学习策略时,我们可以结合逆向强化学习和强化学习共同提高回报函数的精确度和策略的效果。逆向强化学习的基本理论可参考如下论文:
Ng A Y, Russell S J. Algorithms for Inverse Reinforcement Learning. ICML, 2000
逆向强化学习一般流程如下:
- 随机生成一个策略作为初始策略;
- 通过比较“高手”的交互样本和自己交互样本的差别,学习得到回报函数;
- 利用回报函数进行强化学习,提高自己策略水平;
- 如果两个策略差别不大,就可以停止学习了,否则回到步骤2。
逆向强化学习分类如下:
- 最大边际形式化:学徒学习、MMP方法、结构化分类、神经逆向强化学习。
- 基于概率模型的形式化:最大熵IRL、相对熵IRL、深度逆向强化学习。
最大边际化方法的缺点是很多时候不存在单独的回报函数使得专家示例行为既是最优的又比其它任何行为好很多,或者不同的回报函数挥导致相同的专家策略,也就是说这种方法无法解决歧义问题。基于概率模型的方法可以解决此问题。
逆向强化学习项目可参考:
基于最大边际的逆向强化学习
学徒学习
学徒学习指的是从专家示例中学到回报函数,使得在该回报函数下所得的最优策略在专家示例策略附近。设未知的回报函数
R ( s ) = w ⋅ ϕ ( s ) R(s)=w\cdot \phi(s) R(s)=w⋅ϕ(s) 其中 ϕ ( s ) \phi(s) ϕ(s) 为基函数,可以是多项式基底、傅里叶基底等。此时逆向强化学习要求得的是灰板函数的系数 w w w。
根据值函数定义: E s 0 ∼ D [ V π ( s 0 ) ] = E [ ∑ t = 0 ∞ γ t R ( s t ) ∣ π ] = E [ ∑ t = 0 ∞ γ t w ⋅ ϕ ( s t ) ∣ π ] = w ⋅ E [ ∑ t = 0 ∞ γ t ϕ ( s t ) ∣ π ] E_{s_{0}\sim D}[V^{\pi}(s_{0})] = E\left[\left.\sum_{t=0}^{\infty}\gamma^{t}R(s_{t})\right|\pi\right]=E\left[\left.\sum_{t=0}^{\infty}\gamma^{t}w\cdot\phi(s_{t})\right|\pi\right]=w\cdot E\left[\left.\sum_{t=0}^{\infty}\gamma^{t}\phi(s_{t})\right|\pi\right] Es0∼D[Vπ(s0)]=E[t=0∑∞γtR(st)∣∣∣∣∣π]=E[t=0∑∞γtw⋅ϕ(st)∣∣∣∣∣π]=w⋅E[t=0∑∞γtϕ(st)∣∣∣∣∣π] 定义特征期望 为 μ ( π ) = E [ ∑ t = 0 ∞ γ t ϕ ( s t ) ∣ π ] \mu(\pi)=E\left[\left.\sum_{t=0}^{\infty}\gamma^{t}\phi(s_{t})\right|\pi\right] μ(π)=E[∑t=0∞γtϕ(st)∣π] 因此 E s 0 ∼ D [ V π ( s 0 ) ] = w ⋅ μ ( π ) E_{s_{0}\sim D}[V^{\pi}(s_{0})] =w\cdot \mu(\pi) Es0∼D[Vπ(s0)]=w⋅μ(π)。给定 m m m 跳专家轨迹后,我们可以估计特征期望为 μ ^ E = 1 m ∑ i = 1 m ∑ t = 0 ∞ γ t ϕ ( s t ( i ) ) \hat{\mu}_{E}=\frac{1}{m}\sum_{i=1}^{m}\sum_{t=0}^{\infty}\gamma^{t}\phi\left(s_{t}^{(i)}\right) μ^E=m1i=1∑mt=0∑∞γtϕ(st(i))
我们要找一个策略,使得它的表现与专家策略相近,其实就是找到一个策略 π ~ \tilde{\pi} π~ 的特征期望与专家策略的特征期望相近,即 ∥ μ ( π ~ ) − μ E ∥ 2 ≤ ϵ \| \mu(\tilde{\pi})-\mu_{E} \|_{2}\leq \epsilon ∥μ(π~)−μE∥2≤ϵ 对于任意的权重 ∥ w ∥ 2 ≤ 1 \|w\|_{2}\leq 1 ∥w∥2≤1,值函数满足如下不等式
∣ E [ ∑ t = 0 ∞ γ t R ( s