24
2018,54(5)
Computer Engineering and Applications 计算机工程与应用
深度逆向强化学习研究综述
陈希亮,曹 雷,何 明,李晨溪,徐志雄
CHEN Xiliang, CAO Lei, HE Ming, LI Chenxi, XU Zhixiong
陆军工程大学 指挥信息系统学院,南京 210007
College of Command Information System, Army Engineering University, Nanjing 210007, China
CHEN Xiliang, CAO Lei, HE Ming, et al. Overview of deep inverse reinforcement learning. Computer Engineering
and Applications, 2018, 54(5):24-35.
Abstract:Deep inverse reinforcement learning is a new research hotspot in the field of machine learning. It aims at
recovering the reward function of deep reinforcement learning by the experts’example trajectories. This paper systematically
introduces three kinds of classic deep reinforcement learning methods. Then inverse reinforcement learning algorithms
including apprenticeship learning, max margin plan, structured classification and probability models are described; then,
some frontier researches of deep inverse reinforcement learning are reviewed, including the deep max margin plan inverse
reinforcement learning, deep inverse reinforcement learning based on DQN and deep maximum entropy inverse reinforce-
ment learning and recovering reward functions from non-expert trajectories etc. Finally, the existing issues and develop-
ment direction are summarized.
Key words:deep learning; reinforcement learning; deep inverse reinforcement learning
摘 要:深度逆向强化学习是机器学习领域的一个新的研究热点,它针对深度强化学习的回报函数难以获取问题,
提出了通过专家示例轨迹重构回报函数的方法。首先介绍了 3 类深度强化学习方法的经典算法 ;接着阐述了经典的
逆向强化学习算法,包括基于学徒学习、最大边际规划、结构化分类和概率模型形式化的方法 ;然后对深度逆向强化
学习的一些前沿方向进行了综述,包括基于最大边际法的深度逆向强化学习、基于深度 Q 网络的深度逆向强化学习
和基于最大熵模型的深度逆向强化学习和示例轨迹非专家情况下的逆向强化学习方法等。最后总结了深度逆向强
化学习在算法、理论和应用方面存在的问题和发展方向。
关键词:深度学习; 强化学习; 深度逆向强化学习
文献标志码:A 中图分类号:TP181
doi:10.3778/j.issn.1002-8331.1711-0289
1 引言
传统强化学习方法在解决状态和动作空间有限的
任务上都表现得不错,但在求解状态和动作空间维度很
高的问题时,就显得无能为力。其局限性在于,有限样
本和计算单元条件下对复杂函数的表示能力有限。解
决上述问题的一个有效途径,就是将强化学习中的策略
或值函数用线性函数、核函数、神经网络等[1]显性表达。
其中,深度神经网络不仅具有强大的函数逼近能力,而
且可以实现端到端学习,能够直接从原始输入映射到分
类或回归结果,从而避免了由于特征提取等工作引入的
人为因素。深度学习就是通过构建包含多隐层的深度
神经网络模型,并基于大量的数据样本集进行网络参数
学习,以实现对非线性复杂函数的逼近,最终达到提升
分类或预测准确性的目的。
基金项目:国家重点研发计划(No.2016YFC0800606);中国工程院重点咨询课题(No.2017-XZ-05);总装备部预研基金(No.
9140A06020315JB25081);江苏省自然科学基金(No.BK20161469,No.BK20150721);中国博士后基金(No.2015M582786,
No.2016T91017);江苏省重点研发计划(No.BE2015728,No.BE2016904)。
作者简介:陈希亮(1985—),男,博士研究生,研究领域为深度强化学习,指挥信息系统工程,E-mail:383618393@qq.com;曹雷
(1965—),男,教授,研究领域为指挥信息系统工程,决策理论与方法;何明(1978—),男,博士,教授,研究领域为机器
学习,无线传感网;李晨溪(1989—),男,博士研究生,研究领域为深度强化学习,决策理论与方法;徐志雄(1994—),
男,硕士研究生,研究领域为机器学习。
收稿日期:2017-11-21 修回日期:2018-01-18 文章编号:1002-8331(2018)05-0024-12
计算机工程与应用www.ceaj.org
陈希亮,曹 雷,何 明,等:深度逆向强化学习研究综述
2018,54(5)
25
但是,深度学习的局限性显而易见,其需要大量的
样本数据,并且在很多任务上表现不佳[2]。在训练数据
有限的条件下,通过直接模仿学习学得的策略适用性不
强。其原因是,样本轨迹因不可能包括所有状态空间,
监督学习学得的策略函数泛化能力有限。虽然增加训
练时间和计算能力能在一定程度上弥补这个不足,但预
测和泛化能力弱的问题并不能从根本上得到改善。深
度强化学习算法由于能够基于深度神经网络实现从感
知到决策控制的端到端自学习,与监督学习的方法相
比,具有更强的预测和泛化能力。但是,在实际的多步
强化学习中,设计回报函数是相当困难的。
基于以上探讨,构建报酬函数的困难是更广泛地应
用强化学习的显著障碍,因而如何有效构造报酬函数对
强化学习具有重要意义。如果能够基于专家演示数据
让学习者从示例中学习,通常比直接指定回报函数要更
加符合实际,这种从专家处学习(如观察学习、模仿学
习、从演示中学习)构建回报函数的任务就是逆向强化
学习(Inverse Reinforcement Learning,IRL)的思想[3]。
2 MDP 模型与逆向强化学习
2.1 MDP 模型
标准的强化学习设置为一个 agent 在离散时间步长
的 方 式 与 环 境 进 行 交 互 ,可 以 用 马 尔 科 夫 决 策 过 程
(Markov Decision Processes,MDP)进行描述 [4- 5],MDP
可以定义为一个五元组 (S,A,π,R,γ) 。在每一个时间
步长 t ,agent 接收状态 st ,并且依据策略 π 在可能的动
作集合 A 中选择一个动作,π 是 st 到 at 的映射。作为
回报,agent 接收到下一个状态的 st + 1 和接收一个奖励
Rt ,这个过程持续到 agent 达到最终状态并重新启动的
过程。返回 Rt = ∑
∞ γkr t + k 是在时间步长 t 采用折扣因
子 γ ∈(0,1) 计算的累计收益。agent 的目标是在每个状
态 st 最大限度地提高预期收益[4-5]。
2.2 强化学习
k = 0
强化学习的目的是要学习一个策略(Policy)。这个
策略可以看作是一个函数,输入当前的状态 s ,输出采
取动作 a 的概率 π(s,a) 。强化学习的策略就是选择相
应的动作,能够使未来的奖励最大化。基于 MDP 的强
化学习基本模型如图 1 所示。
Agent
状态 s
奖赏 r
动作 a
环境
图 1 基于 MDP 的强化学习基本模型
)
状态-动作值函数 Qπ(
s,a = E{Rt|st = s,a} 表示在
策略 π 时,从状态 s 出发,选取动作 a 后使用策略 π 的
累计期望回报。最优值函数是在采用任意策略在状态 s
下,动作为 a 时的最大动作值回报。
Q*(
s,a = maxπQπ(
)
s,a =
)
maxπ E[Rt|st = s,at = a,π]
(1)
最优状态-动作值函数服从贝尔曼方程。这基于以
下 假 设 :如 果 在 下 一 时 间 步 长 的 序 列 s′ 的 最 优 值
Q*(s′,a′) 对于所有可能的动作 a′ 是已知的,则最佳策略
是选择动作 a′ 使得期望值 r + γQ*(s′,a′) 最大:
)
s,a = Es′~ε[r + γ maxa′Q*(s′,a′)|s,a]
Q*(
(2)
同样的,状态值函数 V π( )s = E{Rt|st = s} 是在策略 π
时,状态 s 的值函数。是在策略 π 时,状态 s 的期望回
报。因此状态值函数的 γ 折扣累计回报为:
V π( )s = Eπ{∑
∞ γt R(st,at)|s0 = s}
在策略 π 时,动作值函数 Qπ(
t = 0
(3)
s,a :S × A → R 为:
)
)
Qπ(
s,a = Eπ{∑
t = 0
2.3 逆向强化学习
∞ γt R(st,at)|s0 = s,a0 = a}
(4)
强化学习是求累积回报期望最大时的最优策略,即
时回报是人为或环境给定的。但是,在很多复杂任务
中,环境在没有最终结果前回报稀疏。除外,人为设计
即时回报函数非常困难,并且带有很大的主观性和经验
性。回报函数的不同将导致最优策略的不同。如果没
有合适的即时回报,强化学习算法将很难收敛。
在很多实际任务中存在一些专家完成任务的序列
被认为获取了比较高的累积回报。人类专家在完成复
杂任务时,可能未考虑回报函数。但是,这并不是说人
类专家在完成任务时就没有回报函数。从某种程度上
来讲,人类专家在完成具体任务时有潜在的回报函数。
Ng 等人提出[6],专家在完成某项任务时,其决策往往是
最优或接近最优的,可以假设,当所有的策略所产生的
累积回报期望都不比专家策略所产生的累积回报期
望大时,所对应的回报函数就是根据示例学到的回报
函数。
因此,IRL 可以定义为从专家示例中学到回报函数,
即 IRL 考虑的情况是在 MDP 中,回报函数未知。相应
的,有一个由专家演示轨迹组成的集合 D = {ξ1,ξ2,…,ξn} ,
每一个演示轨迹都包括了一个状态动作对的集合 ξi =
{(
)
s0,a0 ,(
sk,ak } 。由此,定义了一个没有回
报函数的 MDP\R 过程,定义为元组 {S,A,T,γ,D} [7]。
如图 2 所示,在已知一系列专家示例策略 π* 的情况下,
是否能够还原回报函数 R ,即 IRL 的目标是从专家演示
中发现专家演示背后的回报函数的结构。
s1,a1 ,…,(
)
)
计算机工程与应用www.ceaj.org
26
2018,54(5)
Computer Engineering and Applications 计算机工程与应用
结束
专家示例数据 策略函数
权重向量
回报函数
达到要求
重建回报函数
新的策略
强化学习
回报函数
图 2 逆向强化学习流程图
3 深度强化学习研究进展
很多实际情况中,强化学习的状态维度和动作维度
过高,使 Agent 在巨大的状态或动作空间下,很难或无
法遍历所有情况,导致算法收敛慢或无法学到合理的策
略。解决上述问题的一个有效途径就是使用函数近似
的方法,将值函数或者策略用一个函数显性表示。常用
的有线性函数、核函数、神经网络等[8-9]。近年来最成功
的就是将深度神经网络作为近似函数引入到强化学习
中。本章从值函数近似、策略搜索和基于模型的强化学
习三种分类介绍 DRL 方法。
3.1 值函数近似
深度学习与强化学习最早由 Lange 等人[10]将 Auto-
Encoder 应用于强化学习中,解决了路径规划寻优的问
题 。 2013 年 Mnih V 等 人 在 NIPS 上 提 出 的 DQN 算
法[11],利用深度神经网络进行动作值函数的近似;采用
经 验 回 放 机 制 ,将 探 索 环 境 得 到 的 数 据 以 记 忆 单 元
(st,at,rt + 1,st + 1) 的形式储存起来,然后采取从记忆回放
缓存中随机选取样本的方式来训练神经网络的参数,称
为 Nature DQN。DQN 采用参数为 θ 的深层神经网络
值函数进行近似,Q(s,a; θ) ≈ Q*(
s,a; θ ,这种无模型的
强化学习算法解决了“模型灾难问题”,而采用值函数的
泛化逼近方法解决了强化学习的“维数灾难问题”[12]。
)
然而研究者在实验中发现[13-15],采用 DQN 训练的强
化学习在对 Q 函数进行逼近时存在不稳定现象,主要
原因如下:(1)观察序列的数据具有较大的相关性,导致
基于梯度下降的优化算法失效;(2)训练的 Q 函数的微
小变化会导致策略的巨大改变,导致算法不易收敛。其
中,原始 DQN 的经验回放机制解除了观察序列的相关
性,经验回放机制先将探索环境中的数据存储起来,之
后从存储的数据中随机采样以更新深度神经网络的参
数;第二个问题由 Mnih V 等人 [13]在 2015 年提出 Target
DQN 迭代式更新的方式,进一步减小了数据的关联性。
在标准的 Q-learning 算法中,采用 ε 贪心算法求取
最大值时,在动作的选择与评估上采用了相同的网络,
这种方法很容易过估计。为预防这种情况,可以对评估
采用不同的网络,这就是 Van 等人 [16]在 2010 年提出的
Double Q-learning 算法,2015 年 Van 等人[17]在 double Q-
learning 算法的基础上,训练两个值函数。这样的话就
有了两个权重集,θ- 和 θ′- ,在每次更新的时候,一个用
于贪心算法策略的选择,一个用于值函数的评估。
强化学习通常采用玻尔兹曼机进行状态动作对的
迭代,每一步都要对动作值进行评估。但是,对于很多
状态来说,不需要对所有动作的值进行评估。对于某些
状态,选择哪个动作是极为重要的,但是对于一些状态,
不管发生什么情况都对动作的选择没有影响。基于这
个认识,Deepmind 团队的 Ziyu Wang 等人[18]设计了竞争
网络架构,包括两个共享一个共同的卷积特征学习模块
的流表示的值函数和优势函数使得值函数的估计更加
精确。在频繁出现 agent 采取不同动作但对应值函数相
等的情形下,竞争架构的 DQN 模型性能提升最为明
显 [18]。由于竞争网络框架的 DQN 输出是一个 Q 函数,
它 可 以 与 许 多 现 有 的 算 法 训 练 ,如 DDQN 和 SARSA
等。此外,它可以利用这些算法的任何改进,包括更好
的重播记忆,更好的探索策略和内在动机等。
为 解 决 观 察 序 列 相 关 性 和 算 法 难 收 敛 问 题 ,
Schaul T 等人[14]提出了 Prioritized Replay 的采样策略改
进 DQN,实现了对重要记忆单元的优先回放,取得了更
好的效果。对于部分可观察的 MDP 问题,Graves A 等
人[19]将 RNN 与强化学习结合,提出了 DRQN 算法,也取
得了很好的效果。Osband 等[20]提出一种引导深度 Q 网
络,通过使用随机值函数让探索的效率和速率得到了显
著的提升。
3.2 策略近似
以 DQN 算法为基础的值函数近似方法在实践中取
得了突破性的进展,但值函数近似仍然存在求取随机
性策略困难,难以解决连续动作问题等。因此,David
Silver 等人提出了 DPG[21]算法。DPG 算法包含一个参数
化的 Actor 策略函数 a = πθ(s) ,代表当前的策略能够确
定性地映射状态到一个动作。Critic 值函数 Q(s,a; θ) 基
于 Q-Learning 来学习。David Silver 证明了等式:
∇θ J ( )θ = Eπθ
[∇θπθ(s)∇aQπθ(s,a)|a = πθ(s)]
(5)
就是目标函数的梯度。式(5)与值函数近似的目标函数
梯度最大的区别在于其策略函数变成了确定性策略函
数。这样在进行估计时,不再考虑动作空间,极大提高
了连续空间中梯度的估计效率。
DDPG[22]在 DPG 的基础上,将 Actor-Critic 算法与深
度神经网络结合。除使用 DQN 的经验回放和目标网络
分离之外,还使用了 batch normalization 以提升深度学
习的性能。
Mnih 等人[15]提出了异步梯度下降的轻量级框架训
练深度神经网络,与 RL 方法结合取得了较好且稳定的
效果,尤其是 A3C 算法(Asynchronous Advantage Actor-
Critic)大幅提升了算法效率,并提出 DRL 的一个新范
式:并行地异步执行多 agent 运算,在每个时间步长,并
行 agent 会经历多个不同的状态,使数据多样化,去掉了
计算机工程与应用www.ceaj.org
陈希亮,曹 雷,何 明,等:深度逆向强化学习研究综述
2018,54(5)
27
关联性,因而不再需要记忆回放机制。除外,策略梯度
方法还有 GPS[23]、TRPO[24]、SVG[25]、GAE[26]等。
3.3 间接强化学习
除了值函数近似和策略近似,间接深度强化学习方
法也取得了一定的进展。Gu 等人[27]提出了 NAF 算法,
基于 Dyna[28]或 LQG[29]框架,使用简单的局部线性模型来
预测行动后的下一个状态,同时使用卡尔曼滤波根据想
要达成的目标状态采取相应的控制策略。NAF 利用优
势函数,将 Q(s,a) 分解成 V(s) 和 A(s,a) ,然后将 A(s,a)
建模成一个关于 a 的二次函数,而建模这个二次函数的
方法是通过建模条件均值和方差进行的,这样可以用解
析方法直接得到给定 s 后 a 的最优解。这样做的好处
是可以用一个模型同时对 Q(s,a) 和 V(s) 建模。
此外,知识驱动的强化学习方法也取得了一定的进
展[5,30]。
4 逆向强化学习基础算法
RL 方法寻求策略使得在给定回报函数的情况下累
计回报期望最大。相比之下,IRL 寻求回报函数使得专
家策略轨迹的累计回报最大。IRL 在专家不能给出任
务的回报函数时是非常有用的。Agent 可以从专家的行
为中学习回报函数,并模仿它。
如 2.3 节所述,IRL 的输入是在 MDP 模型中,根据专
家示例轨迹还原回报函数 R 的过程,使得最优策略 π 与
示例轨迹一致的过程。假设最优策略为 π ,根据贝尔曼
最优方程,可知 π(s) ≡ a1 的充分必要条件为:
)s′ V π(
)s′ ∀ s ∈ S (6)
a1 ≡ π(s) ∈ arg maxa ∈ A∑
)s′ ≥ ∑
⇔ ∑
)s′ V π(
(
s′
Psa1
s′
∀ s ∈ S, a ∈ A
s′
Psa(
Psa(
(7)
(8)
(9)
写成向量形式,上式为:
Pa1
V π ≥ PaV π ∀ a ∈ A\a1
由于 π(s) ≡ a1 ,等式(1)贝尔曼方程可以写为:
V π =(I - γPa1
将贝尔曼最优方程(9)带入得:
Pa1
因此:
)
-1R ≥ Pa(
I - γPa1
I - γPa1
)-1R
(
)
-1R ∀ a ∈ A\a1(10)
(11)
)-1R ≽ 0
- Pa)(1 - γPa1
a1 ≡ π(s) ⇔ (Pa1
根据以上证明,Ng 等人给出了以下定理[6]。
定理 1 定义一个有限状态集 S ,动作 A = {a1,a2,…,
ak} ,转移概率矩阵 Pa ,折扣因子 γ ∈(0,1] ,则最优策
略 π 中状态 s 上的动作 π(s) ≡ a1 的充分必要条件是,
对 于 所 有 的 动 作 a = a2,a3,…,ak ,回 报 函 数 满 足
(Pa1
- Pa)(1 - γPa1
定理 1 给出了求解回报函数的理论基础,但是由于
)-1R ≽ 0 。
)s′ V π(
)s′
的是,特征期望跟策略 π 有关,策略不同时,策略期望也
不相同。
(1)退化解的存在:无论采取什么行动,R = 0 总是一个
解决方案,那么包括 π(s) ≡ a1 在内的任何策略都是最优
的;(2)回报函数的歧义性:可能存在多个回报函数 R
满足约束条件,如何在多个满足约束的回报函数中选择
一个最优的。IRL 算法在此基础上寻求解决退化解和
歧义性的问题。
4.1 学徒学习方法
为解决退化解和回报函数歧义性问题,Abbeel 等
人 [7]提出了学徒学习(Apprenticeship Learning,AL)方
法,在值函数空间内对 IRL 进行扩展。它将回报函数表
示为一系列特征值的线性组合,未知的回报函数一般都
是状态的函数,因此将回报函数定义为 R(s) ,参数化为
K 个特征函数 ϕk(s,a) 的和:
R( )s = ∑
K θkϕk(s)
k = 1
(12)
智能体从专家示例中学到回报函数,使得在该回报
函数下所得到的最优策略在专家示例策略附近。回报
函数 R( )s 一般是状态到奖励的映射,因此可以用函数
逼近方法对其进行参数逼近,逼近形式定义为:R( )s =
θT ⋅ ϕ( )s ,其中 ϕ( )s 为基函数。IRL 求的是回报函数中
的参数 θ 。根据值函数的定义,策略 π 的值函数为:
)st
V π(
Es0~D[
∑
E é
∞ γtθ ⋅ϕ(
ê
ë
t = 0
]
∑
)s0 = E é
ù
∞ γt R(
|π =
ê
ú
û
ë
t = 0
∑
ù
|π = θ ⋅ E é
∞ γtϕ(
)st
ú
ê
ë
û
t = 0
∑
定义特征期望为:μπ = E é
∞ γtϕ(
ê
ë
t = 0
)st
ù
)st
|π
ú
û
(13)
ù
|π 。需要注意
ú
û
定义了特征期望之后,值函数可以写为:
V π(
Es0~D[
(14)
当给定 m 条专家示例轨迹后,根据定义可以估计
)s0 = θ ⋅ μπ(s0)
]
t = 0
i = 1
m ∑
专家策略的特征期望为:
∞ γtϕ(s(i)
t )
m ∑
μ͂ E = 1
基于学徒学习的 IRL 可以归结为:找到一个策略,
使该策略的表现与专家策略相近。可以利用特征期望
来表示一个策略的好坏,就是找到一个策略 π͂ 的特征期
望与专家策略的特征期望相近,如下不等式成立:
(15)
(16)
≤ 1 。
1
≤ ϵ
μ( )π͂ - μE 2
当该不等式成立时,对于任意的权重: θ
值函数满足如下不等式:
|
∑
∑
ù
|| E é
|πE - E é
∞ γt R(
∞ γt R(
)st
ú
ê
ê
|
û
ë
ë
t = 0
t = 0
|
|θT μ( )π͂ - θT μE ≤ θ
|
ù
||
|π͂ =
ú
|
û
μ( )π͂ - μE 2
)st
2
≤ 1 ⋅ ϵ = ϵ (17)
计算机工程与应用www.ceaj.org
28
2018,54(5)
Computer Engineering and Applications 计算机工程与应用
学徒学习算法求解策略 π͂ 的方法如算法 1 所示。
算法 1 基于学徒学习的 IRL 算法
步骤 1 随机选取策略 π(0) ,计算(或者采用蒙特卡
洛算法近似)μ(0) = μ(π(0)) ,设置 i = 1 ;
步骤 2 求 w :计算 t(i) = max
θ: θ 2 ≤ 1 minj ∈ (
0,1,…,i - 1
)
θT(μE - μ( j)) ,取 w(i) = max
t(i)w ;
步骤 3 如果 t(i) < ε ,终止;
步骤 4 求最优策略:在回报函数为 R =(w(i))Tϕ 时,
采用强化学习算法,求得最优策略 π(i) ;
步骤 5 计算或估计 μ(i) = μ(π(i)) ;
步骤 6 设置 i = i + 1 ,回到步骤 2。
其中,步骤 2 的目标函数为:
t(i) = max
0,1,…,i - 1 wT(μE - μ( j)) (18)
可以看作是根据专家示例轨迹猜测回报函数的过
w 2 ≤ 1 minj ∈ (
w:
)
程。写成标准的优化形式为:
t
2
≤ 1
max
t,w
s.t. wT μE ≥ wT μ( )j + t, j = 0,1,…,i - 1
w
(19)
公式(19)表明算法试图找到一个回报函数 R( )s 使
]
)s0 + t ,即 :使 得 专 家 示
例轨迹的累计回报比其他任何算法找到的策略的累计
回报值大,边际为 t 。
]
)s0 ≥ Es0~D
得 Es0~D[
[
V π( )i (
V πE(
步 骤 2 求 解 时 ,μ( )j 中 的 j ∈ {0,1,…,i - 1} 是 前
i - 1 次迭代得到的最优策略。即第 i 次求解参数时,
i - 1 次迭代的策略已知。此时最优函数值 t 相当于专
家策略 μE 与 i - 1 个迭代策略之间的最大边际。
如图 3 所示,专家策略为一类,其他策略为另一类,
参数的求解等价于找一条超曲面将专家策略和其他策
略分开,即使得两类之间的边际最大。步骤 4 是在第二
行求出参数后,便有了回报函数 R =(θ(i))Tϕ ,利用该回
报函数进行强化学习,从而得到该回报函数下的最优
策略 π(i) 。
μE
w(3)
w(1)
μ(π(1))
w(2)
μ(π(0))
μ(π(2))
图 3 最大边际方法的逆向强化学习
4.2 最大边际规划算法
最 大 边 际 规 划 算 法(Max Margin Plan,MMP)将
i = 1 ,其中,Si
i 为动作空间,pi 为状态转移概率,fi 为
i 为策略损
IRL 问题建模为:D = {(Si,A
为状态空间,A
回报函数的特征向量,yi 为专家示例轨迹,L
i,pi,Fi,yi,L
i)}n
失函数:
1
2
min
w,ςi
s.t. θT fi(
θ 2 +
γ
n∑
βiς q
i
)yi + ςi ≥ max
i
θT fi(
)yi + Li(y)
y ∈ Y
(20)
其中 ςi 为松弛变量,允许违反这些约束对于以超参数
γ ≥ 0 进行缩放惩罚。 βi > 0 是数据相关的标量,当示例
具有不同的长度时可用于标准化。这里的策略损失函
数 Li(y) 是指策略 y 与第 i 条专家轨迹 yi 之间的差,该
差可以利用轨迹中两种策略选择不同动作的综合来衡
量。 q ∈ {1,2} 用于区分是采用 L1 或 L2 的松弛处罚[31]。
这个框架描述了影响状态动作对的损失函数,在确
定性非循环的路径规划问题中,损失函数是规划者访问
示例数据没有访问的状态的次数,通过平滑这个损失函
数能够得到更好的性能,这样的话临近的路径也是可以
接受的。在一个通用的 MDP 模型中,在任何一个状态
下,惩罚与专家示例数据不同的动作,或者惩罚专家示
例轨迹选择不采取的动作[32]。假设 L(y,yi) ≥ 0 。
MMP 需要找到使得专家示例策略具有比其他策略
更大累计回报的状态到回报的映射,映射的参数为向量
θ ,在这个映射下,最优策略能够逼近专家示例策略[32]。
其中约束包括:
(1)约束只允许专家示例得到最好的回报的那些权
值存在。
(2)回报的边际差,即专家示例轨迹的值函数与其
他策略的值函数的差值与策略损失函数成正比。
μi 表示第 i 个专家策略,μ 表示任意的策略。回报
函数可利用特征的线性组合表示,式(20)中回报函数
)yi = Fi μi ,其中 Fi 为特征基底。问题(20)可形式化:
fi(
min
w,ςi
s.t. θTFi μi + ςi ≥ max
μ ∈ Gi
θTFi μ + li μ
γ
n∑
θ 2 +
(21)
βiς q
i
1
2
其中 μ 是指每个状态被访问的频次,状态 s′ 处的频次应
满足流入流出关系:
)
x′|x,a + s x′
∑
μx′,a
(22)
i = ∑
μx,a pi(
i
x,a
a
其中的 s x′
的最大值,右侧的最大值等价于下面问题:
i 表示初始位置。接下来处理不等式约束右侧
wTFi μ + li μ
max
μ ∈ Gi
s.t. ∑
x,a
μx,a pi(
x′|x,a + s x′
)
i = ∑
a
μx′,a
(23)
i v
sT
根据拉格朗日对偶原理,其对偶问题为:
min
v ∈ Vi
s.t. ∀x,a,v x ≥ (
x,a + ∑
wTFi + li
)
pi(x′|x,a)v x′(24)
这样 MMP 将 IRL 问题转化为一个二次规划问题:
x'
计算机工程与应用www.ceaj.org
陈希亮,曹 雷,何 明,等:深度逆向强化学习研究综述
2018,54(5)
29
1
2
γ
n∑
w 2 +
βiς q
min
i
w,ςi,vi
s.t. ∀i wTFi μi + ςi ≥ sT
i vi
)
∀i,x,a,v x
wTFi + li
i ≥ (
i
x,a + ∑
x′
pi(x′|x,a)v x′
i (25)
4.3 结构化分类方法
AL 和 MMP 方法能够通过迭代更新的方式实现对
回报函数的优化,每次迭代更新都需要依据回报函数进
行强化学习,这是一种及其低效的方法。因此,Klein 等
人 [33]提出结构化分类(Structured Classification,SC)方
法,该方法通过线性化参数方式从训练集中生成一个多
分类器,设置线性参数化的回报函数。给定状态的决策
规则是使得该状态的累计回报最大。SC 的基本思想是
对专家的期望特征进行估计,作为参数化的回报函数。
这样计算出来的参数定义的回报函数使得专家策略接
近最优。
这种方法的明显优势是它不需要解决多次直接强
化学习。它需要通过策略评估的方法估计专家特征期
望。此外,使用一些启发式的方法,SC 可以从专家轨迹
样本中采样,而不需要对整条轨迹样本进行采样。在学
徒学习算法中,回报函数可表示为:
(26)
1
2
θ 2 +
min
θ,ς
s.t. ∀i, θT μ̂ πE(
N
η
N ∑
i = 1
si,ai + ςi ≥
ςi
)
si,a + L(si,a)
θT μ̂ πE(
)
max
a
约束中的 {si,ai} 为专家轨迹元组,μ̂ πE(
用蒙特卡罗的方法求解。而对于 μ̂ πE(
利用启发的方法来得到。
(28)
si,ai 可以利
si,a ≠ ai ,则可以
)
)
结构化分类方法和最大边际规划方法有很多相似
的地方。但两者的本质不同体现在,结构化分类方法对
每个状态处的每个动作进行约束,而最大边际规划方法
Rθ( )s = θTϕ(s)
动作值函数表示为:
θ (
s,a = θT μπ(s,a)
Q π
s,a = E[∑
γtϕ(
其中 μπ(
)
)
t > 0
(27)
|s0 = s, a0 = a,π] 称为特征函
)st
i (
数。关于特征函数,第 i 个元素 μπ
(s,a) ,可
以理解为立即回报函数为 ϕi(s) 时对应的值函数。最后
得到的行为值函数其实是不同立即回报函数所对应的
值函数的线性组合。
s,a = Q π
ϕi
)
为避免迭代求解 MDP,可以这样考虑问题:对于一
个行为空间很小的问题,最终的策略其实是找到每个状
态所对应的最优动作。每个动作可以看作一个类标签,
那么策略就是把所有的状态分成四类,分类的标准是值
函数,正确的分类对应最大的值函数。利用这个思想,
对于专家示例轨迹 ξi ,IRL 可以形式化为:
是对一个 MDP 解进行约束。从计算量来看,结构化分
类方法要小很多。
4.4 基于概率模型形式化方法
MMP 和 SC 方法往往会产生歧义,比如或许存在很
多不同的回报函数导致相同的专家策略。在此情况下,
学到的回报函数可能具有随机的偏好。为克服这个缺
点,Ziebart 等人[34-35]利用概率模型,提出基于最大熵的和
基于交叉熵的 IRL 方法。
4.4.1 基于最大熵的逆向强化学习
最大熵原理指出:对一个随机事件的概率分布进行
预测时,预测应当满足全部已知条件,并且不能对未知
情况做任何主观假设。在此情况下,概率分布最均匀,
预测风险最小,因为这时概率的信息熵最大,所以被称
为最大熵模型[35]。在 IRL 中,特征期望可定义为:
μ( )π = E[∑
∞ γtϕ(
t = 0
)st
|π]
(29)
给定 m 条专家示例轨迹时,专家示例轨迹的特征
t = 0
i = 1
m ∑
m ∑
∞ γtϕ(s(i)
t )
期望为:
μ̂ E = 1
从概率模型的角度建模 IRL,可定义为:存在一个潜
在的概率分布,在该概率分布下,产生了专家轨迹。这
是典型的已知数据求模型的问题。即:知道专家轨迹,
求解产生该轨迹分布的概率模型。此时,已知条件为:
(31)
(30)
= f͂
∑
Path ξi
P(ξi) fξi
这里用 f 表示特征期望,f͂ 表示专家特征期望。满足
公式(31)约束条件的所有概率分布中,熵最大的概率分
布是除了约束外对其他任何未知信息没有进行任何假
设。因此,最大熵方法可以避免歧义性问题。IRL 的目
标函数可定义为熵最大的最优问题。形式化为:
max - p lg p
s.t. ∑
P(ςi) fςi
Pathςi
∑P = 1
= f͂
(32)
利用拉格朗日乘子法,该优化问题可转化为:
min L = ∑
ςi
)
j - λ0(∑ p - 1)(33)
p lg p - ∑
n λj(
pfj - f͂
j = 1
对概率 p 进行微分,并令其导数为 0,可以得到:
∂p = ∑
∂L
n λj fj - λ0 = 0
lg p + 1 - ∑
(34)
ςi
j = 1
最后得到拥有最大熵的概率为:
n λj fj)
exp(∑
exp(1 - λ0) = 1
j = 1
Z exp(∑
n λj fj)
j = 1
p =
(35)
对于确定性 MDP 问题而言,这个函数是凸的,它的
最优解可以使用基于梯度的优化方法得到。
计算机工程与应用www.ceaj.org
30
2018,54(5)
Computer Engineering and Applications 计算机工程与应用
其中参数 θj 对应着回报函数中的参数。可以利用
最大似然的方法进行求解。一般而言,利用最大似然的
方法对式(35)中的参数进行求解时,往往会遇到未知的
配分函数项 Z ,因此不能直接求解。一种可行的方法
是利用次梯度的方法。
P(
∇L( )θ = f͂ - ∑
ξ|θ,T fξ = f͂ - ∑
)
(36)
Dsi
fsi
ξ
si
4.4.2 基于交叉熵的逆向强化学习
IRL 的目标是求得回报函数使得专家策略最优,即
求出一个分布,使得依该分布生成的轨迹数据与专家数
据一致,即专家轨迹策略的分布与生成的最优轨迹数据
的分布差异最小化。即使得两个分布的交叉熵最小。
在基于最大熵的 IRL 中,最后求解参数时,需要利
用如公式(36)所示的次梯度,次梯度计算时需要利用轨
迹的概率 P(ς )。该轨迹的概率可表示为[35]:
t = 1
i = 1
i )∏
k θi f ξ
Pξ(τ|θ,T) ∝ d0(s1)exp(∑
H T(st + 1|st,at) (37)
其中 ξ = s1a1s2a2…sH aH 。求解该式的前提是系统的状
态转移概率 T(st + 1|st,at) 是已知的。然而,在无模型的
强化学习中,该模型是未知的。为了解决这个问题,
Boularias 等人 [36]受交叉熵的启发将该问题建模为求解
交叉熵最大。
设 D 为专家示例轨迹的集合,示例轨迹的长度为
H,P 为集合 D 上的轨迹的概率分布。设 Q 为利用基
准策略和转移矩阵 T a 产生的轨迹分布,要求解的问题
可形式化为求解 P 和 Q 交叉熵的最小值:
min
P
∑
ξ ∈ D
P(ξ)ln
P(ξ)
Q(ξ)
s.t. ∀i ∈ {
|
| ∑
|
}
1,2,…,k :
|
ξ ∈ D
P( )τ f ξ
i - f̂
|
|
i ≤ ϵi
|
|
P( )ξ = 1
∑
∀ξ ∈ D:P( )ξ ≥ 0
ξ ∈ D
(38)
其中 ϵi 为阈值,可以使用 Hoeffding 上限确定[36]。同样,
利用拉格朗日乘子法和 KKT 条件,可以得到相对熵最
大的解:
P(
)ξ|θ = 1
Z( )θ
Q(ξ)exp(∑
k θi f ξ
i )
i = 1
(39)
跟最大熵 IRL 方法相同,参数的求解过程利用次梯
度的方法:
∇L( )θ = f͂
i - ∑
ξ ∈ D
P(
)ξ|θ f τ
i - αiϵi
(40)
在利用次梯度的方法进行参数求解时,最关键的问
题是估计式(40)中的概率 P(
)ξ|θ 。由最大相对熵的求
解可以得到该概率的计算公式,如式(39)。将 Q 显示
表述出来,由定义知道,它是在策略为基准策略时得到
的轨迹分布,因此可将其分解为:
Q( )ξ = D( )ξ U(ξ)
D( )ξ = d0(s1)∏
U( )ξ = 1
|
| Α H
t = 1
H T(st + 1|st,at)
(41)
(42)
(43)
将式(41)带入到式(39),可以得到最大相对熵解为:
P(
)τ|θ =
D(τ)U(τ)exp(∑
D(τ)U(τ)exp(∑
∑
k θi f τ
i )
k θi f τ
i )
i = 1
τ ∈ T
i = 1
(44)
这时,再利用重要性采样对式(44)进行估计,得到
次梯度为:
∇L( )θ = f͂
i - 1
f ξ
i - αiϵi =
ξ ∈ D
N ∑
U( )ξ
∑
π( )ξ
U( )ξ
π( )ξ
P(
)ξ|θ
D( )ξ π( )ξ
expæ
çç
è
expæ
çç
è
∑
ξ ∈ D
ξ ∈ D
f ξ
j
j
j = 1
÷÷∑
ö
k θj f ξ
ø
÷÷∑
ö
k θj f ξ
ø
j = 1
j
f͂
i -
- αiϵi (45)
其中 π( )ξ = ∏
H Pξ(at|st) 。计算过程见文献[36]。
t = 1
5 深度逆向强化学习研究进展
IRL 的目标是基于观察和对环境模型推断生成潜
在的回报函数的结构,引导 agent 的行为。这种对回报
函数建模的方式提供了一种让 agent 模仿演示者的具体
行为的方法[32]。目前的方法大多基于预先确定的回报
函数的参数化特征。为了实现特征函数更好的泛化性
能,Abbeel、Ratliff、Ziebart 等人[7,32,34]采用加权线性组合
回报函数的特征。
为了克服线性模型固有的局限性,Choi 等人[37]通过
学习一套对原子特征进行逻辑连接的非线性回报函数,
采用非参数方法,如高斯过程(Gaussian Processes,GPs)
来满足潜在的复杂的、非线性的回报函数[38]。虽然这种
方法将非线性近似方法扩展到了回报函数的逼近上,增
强了 IRL 的灵活性。但是,使用这种方法倾向于需要大
量的奖励样本,以逼近复杂的回报函数[39-41]。甚至如文
献[38]所述的稀疏的高斯过程也会使得算法的时间复
杂性依赖于动作集或经验状态奖励对的数量。并且回
报函数的复杂性使得对于诱导点数量的需求急剧增加,
使得这种非参数化的方法在计算上变得不可行。而采
用端到端的学习方式从原始输入直接映射到回报值,而
无需对输入表示进行压缩或预处理。
但是学徒学习、最大边际法、最大熵、交叉熵等传统
方法不能很好地扩展到具有大量状态的系统[6-7,33,37]。因
此,将这些算法与深度学习相结合,在神经网络中学习
状态动作对的回报,系统可以根据需要复杂或者很大。
计算机工程与应用www.ceaj.org
陈希亮,曹 雷,何 明,等:深度逆向强化学习研究综述
2018,54(5)
31
将深度学习与 IRL 相结合,开辟了一种新的利用环境和
状态特征的复杂相关性来学习复杂的任务方法。
5.1 基于最大边际法的深度逆向强化学习
IRL 要学习的是回报函数,以便避免人为设定回报
函数。但是,在进行学习回报函数的时候又引入了需要
人为指定的特征函数,即之前已经假设了回报函数的形
式为[40]:
Rθ( )s = θTϕ(s)
(46)
其中 ϕ(s) 是人为指定的特征函数。对于大规模问题,人
为指定的特征函数表示能力不足,只能覆盖到部分回报
函数形式,也难以泛化到其他状态空间。其中一种解决
方法是利用神经网络表示回报函数的基底。这时,回报
函数可表示为:r( )s = θT f (s) ,其中 f (s) 为神经网络,如
图 4 所示。
S1
S3
S5
S2
S4
S6
…
f1
f2
f3
f4
f5
f6
…
Network
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
r1
r2
r3
r4
r5
r6
r7
图 4 基于深度神经网络的回报函数状态特征表示结构
神经逆向强化学习的整个框架仍然是最大边际法
的框架,因此问题形式化为:
θ
θ
1
2
min
s.t. Q πE
t ,a( )i
t )
)
t + l(s( )i
+ C∑
Nτ ξi
θ 2
2
i = 1
(
)
t ,a( )i
s( )i
t + ξ(i) ≥
Qπ(
t ,a( )i
s( )i
max
π
其 中 Qπ(
)
t 是 智 能 体 在 状 态 s( )i
t 时 的 Q 值 ,
s(i)
t ,a(i)
)
s( )i
t ,a( )i
Q πE
t 是专家策略的 Q 值。如果学习到的状态动
作对与专家策略一致,那么损失函数 l(
s,a = 0 ,否则
l(
)
给每个专家示例轨迹设置一个松弛变量 ξ ,以便约
束违规行为的惩罚。因此,通过最小化目标函数来简化
优化问题:
s,a = 1 。
(47)
(
)
θ
)
t + l(
)
s( )i
t ,a( )i
t
s( )i
t ,a( )i
)
-
J ( )θ = ∑
Nτ ∑
Li max
(
t = 1
s( )i
t ,a( )i
i = 1
Q πE
π
(
)
t +
Qπ(
λ1
2
(48)
λ1 ≥ 0 是一个用于平衡惩罚和期望的经验常数。
θ
θ 2
2
J ( )θ 可以通过梯度下降法优化:
θ ← θ - σ1
∂J(θ)
∂θ
(49)
其中 σ1 ∈[0,1] 为步长。在计算出 θ 后,就可以使用公
式 Rθ( )s = θTϕ(s) 计算回报函数了。
5.2 基于深度 Q 网络的深度学徒学习
基于深度 Q 网络的学徒学习架构由两部分构成:深
度学徒Q网络(DAQN)和深度学徒回报网络(DARN)[42-43]。
5.2.1 深度学徒 Q 网络
DAQN 用来学习回报函数,估计在某个状态下动作
的回报值。该结构输出每个可能的动作的 softmax 预
测。因此,对于每个状态,网络预测要采取的下一个动
作。这个网络的损失函数为:
[qw(
s,a - q̂ (s,a)]2
)
(50)
)w = ∑
J (
a
w 为学到的权重,Qw(s,a) 是 DAQN 的输出,q̂ (s,a) 是
专家实际采取的动作,使用一个 one-hot 数组表示。因
此,对于输入 (s = st,a = at ∈ DE) ,如果 a = at ,则数组 q̂
等于 1。
5.2.2 深度学徒回报网络
2
)
r̂ (
J (
rw(
)w =
s,a = DAQN PS(
一旦 DAQN 训练好了,DARN 用来从 DAQN 学到的
专家策略中解析回报函数。DARN 与 DAQN 具有相同
的网络结构。然而,它在损失函数中使用的是从 DAQN
中的 soft-max 函数输出。DARN 的输入是 (s,a,s′) 对,
其损失函数 L2 范数形式是:
s,a - r̂ (s,a)
(51)
w 是学习到的权重,rw(s,a) 是 DARN 的输出,r̂ (s,a) 是
从 DAQN 学习到的 (s,a) 的值函数。与贝尔曼方程相
比,rw(s,a) 是状态动作对 (s,a) 的目标值和 r̂ (s,a) 从专
家策略学到的 (s,a) 的值:
)
DAQN PS(s′,a′)(52)
DAQN PS(s,a) 是 输 入 为 (s,a) 时 DAQN 的 presoft 值 ,
DAQN PS(s′,a′) 是 DAQN 在输入为 (s′,a′) 时的最大
max
a′
的 presoft 值,γ 为折扣因子。因此,DAQN 扩展的损失
函数为:
Jr(
DARN 使用从专家数据中提取的独立的状态到状
态的 transitions 数据集。神经网络的泛化能力使得即使
某个状态专家数据中没有,也依然可以通过该网络产生
输出。
5.3 基于最大熵模型的深度逆向强化学习
s,a -(DAQN PS(s′,a′))
s,a - γ max
a′
)w =
(53)
rw(
)
)
2
传统的最大熵的 IRL 由于表征能力的局限性,只能
够用在规模小、离散的任务上[32],采用深层神经网络架
构近似回报函数的 IRL 方法通过分层结构中的许多非
线性结果的组合和重用,使得其具备对高度非线性函数
的表征能力[39]。此外,DNNs 提供良好的相对于示例演
示的计算复杂度 (O(1)), 使得它很容易扩展到大状态空
间和复杂的回报函数。
解决 IRL 问题可以限定在贝叶斯推理的最大后验
计算机工程与应用www.ceaj.org