文章目录
-
- 核心观点
- 一、策略搜索
-
- [1.1 策略搜索的思想](#1.1 策略搜索的思想)
- [1.2 确定性策略与随机策略](#1.2 确定性策略与随机策略)
- [1.3 策略价值与策略梯度](#1.3 策略价值与策略梯度)
- [1.4 爬山算法与相关采样](#1.4 爬山算法与相关采样)
- 二、学徒学习
-
- [2.1 为什么需要学徒学习?](#2.1 为什么需要学徒学习?)
- [2.2 学徒学习的定义](#2.2 学徒学习的定义)
- [2.3 模仿学习](#2.3 模仿学习)
- [2.4 逆强化学习](#2.4 逆强化学习)
- 三、逆强化学习的方法
-
- [3.1 逆强化学习的挑战](#3.1 逆强化学习的挑战)
- [3.2 贝叶斯方法](#3.2 贝叶斯方法)
- [3.3 玻尔兹曼合理性](#3.3 玻尔兹曼合理性)
- [3.4 特征匹配](#3.4 特征匹配)
- [3.5 逆强化学习算法](#3.5 逆强化学习算法)
- 四、逆强化学习的应用
-
- [4.1 机器人学习](#4.1 机器人学习)
- [4.2 多智能体系统](#4.2 多智能体系统)
- [4.3 科学研究](#4.3 科学研究)
- [4.4 逆强化学习的假设](#4.4 逆强化学习的假设)
- 五、策略搜索与学徒学习的比较
-
- [5.1 适用场景](#5.1 适用场景)
- [5.2 学习效率](#5.2 学习效率)
- [5.3 性能上限](#5.3 性能上限)
- [5.4 实际应用](#5.4 实际应用)
- 六、总结
想象一下,你要学习开车,但不知道"什么是好的驾驶"(奖励函数)。你可以通过两种方式学习:一种是直接模仿教练的驾驶方式(模仿学习),另一种是观察教练的驾驶,推断"教练认为什么是好的驾驶"(逆强化学习),然后自己学习最优策略。
这就是学徒学习和逆强化学习的核心思想:不是从零开始学习,而是从专家行为中学习。这大大加速了学习过程,特别是在复杂、危险的领域中,试错成本很高。
策略搜索提供了另一种思路:不学习价值函数,直接优化策略 。这就像你不关心"每个位置的价值是多少",只关心"应该怎么走"。对于某些问题,这可能更直接、更有效。
核心观点
策略搜索是直接优化策略参数以提升性能的方法,而学徒学习和逆强化学习是从专家行为中学习,要么直接模仿策略,要么推断奖励函数。这两种方法解决了强化学习中"如何定义奖励函数"和"如何快速学习"的核心问题。
这个观点的核心在于:不是所有问题都需要从零开始学习。在复杂领域中,定义奖励函数可能很困难,而专家演示提供了宝贵的学习资源。通过模仿学习或逆强化学习,智能体可以从专家行为中快速学习,避免大量的试错。
策略搜索提供了另一种思路:不学习价值函数,直接优化策略。这对于某些问题可能更有效,特别是当策略空间比价值函数空间更简单时。策略搜索、模仿学习和逆强化学习共同构成了强化学习的完整工具箱。
一、策略搜索
1.1 策略搜索的思想
策略搜索(Policy Search)是最简单的方法之一:核心思想是只要策略性能提升,就持续调整策略。策略π是状态到动作的函数,通常用参数表示。
这就像你不关心"每个位置的价值",只关心"应该怎么走"。你不断尝试不同的走法,如果走法变好了,就继续朝这个方向调整;如果变差了,就换个方向。最终,你会找到好的走法。
1.2 确定性策略与随机策略
确定性策略是: π ( s ) = a r g m a x a Q ^ ( s , a ) π(s) = argmax_a Q̂(s, a) π(s)=argmaxaQ^(s,a),其中Q̂可以是线性函数或深度神经网络。这表示"在状态s,选择Q值最高的动作"。
但这种方法有个问题:如果动作是离散的,策略成为参数θ的不连续函数,使得基于梯度的搜索变得困难。这就像你在一个有很多"悬崖"的地形上爬山,梯度方法可能无法工作。
为了解决这个问题,可以使用随机策略,通常用softmax函数表示: π θ ( s , a ) = e ( β Q ^ θ ( s , a ) ) / Σ a ′ e ( β Q ^ θ ( s , a ′ ) ) π_θ(s, a) = e^{(βQ̂_θ(s, a))} / Σ_a' e^{(βQ̂_θ(s, a'))} πθ(s,a)=e(βQ^θ(s,a))/Σa′e(βQ^θ(s,a′)),其中β > 0控制softmax的"软度":大的β使其近似argmax,小的β使其近似均匀随机选择。
对于任何有限的β,softmax是θ的可微函数,使得策略价值(连续依赖于动作选择概率)也对θ可微。这使得可以使用梯度方法优化策略。
1.3 策略价值与策略梯度
策略价值ρ(θ)是执行策略π_θ时的期望累积奖励。如果可以为ρ(θ)推导出闭式表达式,这就变成了标准优化问题。如果ρ(θ)可微,可以使用策略梯度∇_θρ(θ)进行优化。
如果无法获得闭式表达式,可以通过执行π_θ并观察累积奖励来估计ρ(θ)。这就像你多次尝试同一个策略,记录平均奖励,然后调整策略参数,看奖励是否提升。
1.4 爬山算法与相关采样
爬山算法通过评估小参数变化的影响来优化策略价值,通常收敛到局部最优。这就像你在山上,每次都朝"更陡"的方向走,最终到达山顶(可能是局部最高点)。
在非确定性环境中,使用爬山算法比较ρ(θ)和ρ(θ+Δθ)很困难,因为每次试验的总奖励可能变化很大。这使得从几次试验的估计不可靠,比较这样的估计更加困难。
简单的解决方案是进行许多试验,使用样本方差来确定是否进行了足够的试验来找到改进ρ(θ)的可靠方向。但这可能很慢。
相关采样(Correlated Sampling)是改进的方法:预生成固定的卡片序列集,将相同的序列呈现给两个策略。这消除了由不同卡片抽取引起的测量误差,允许用几千个序列进行可靠比较。
PEGASUS算法(Ng and Jordan, 2000)实现了相关采样,实现了稳定的自主直升机飞行。可以证明,估计策略价值所需的随机序列数量仅取决于策略空间的复杂度,而不是底层领域。
二、学徒学习
2.1 为什么需要学徒学习?
在复杂领域中,定义奖励函数可能很困难。例如,对于自动驾驶汽车,如何为速度、安全性、燃油效率、乘客舒适度、紧急制动等因素分配权重?如果忽略重要因素,学习系统可能为被忽略的因素分配极端值,导致不负责任的行为。
这就像你要训练一个学生,但不知道"什么是好学生"。你可以通过两种方式解决:在模拟中进行大量试错,识别问题行为,修改奖励函数以消除它们;或者从智能代理(如专业人类司机)的行为中寻求信息,其奖励函数已经优化。
2.2 学徒学习的定义
学徒学习(Apprenticeship Learning)研究如何基于对专家行为的观察实现良好的学习性能。它旨在教系统"像这样做事",基于专家示例。
这就像你观察教练开车,然后学习"像教练那样开车"。你不需要知道"为什么这样开",只需要模仿"怎么开"。这种方法简单直接,但可能缺乏对原理的理解。
2.3 模仿学习
模仿学习(Imitation Learning)是学徒学习的一种方法。它假设环境可观察,将观察到的状态-动作对应用于监督学习,学习策略π(s)。
这就像你记录教练在每种情况下的动作,然后训练一个模型"在相同情况下,做和教练一样的动作"。模仿学习在机器人学中取得了成功(参考第26.8节),但它面临脆弱性问题:小错误会累积,导致学习失败。
模仿学习只能复制,不能超越老师的表现。这就像"照猫画虎":你只能模仿,但不知道为什么要这样做,也无法改进。
2.4 逆强化学习
逆强化学习(Inverse Reinforcement Learning, IRL)旨在理解专家行为的原因。它观察专家的动作和结果状态,推断专家最大化的奖励函数,然后可以推导出该推断奖励函数的最优策略。
这就像你不仅观察教练"怎么开",还推断"教练认为什么是好的驾驶",然后自己学习最优驾驶策略。逆强化学习有望从更少的专家样本中产生更稳健的策略,因为奖励函数被认为是比策略或价值函数更简洁、更稳健、更可转移的任务定义。
如果学习者考虑专家可能的次优性,它甚至可能通过优化更准确的真实奖励函数近似来表现得比专家更好。逆强化学习被定义为:通过观察策略来学习奖励,而不是通过观察奖励来学习策略。
三、逆强化学习的方法
3.1 逆强化学习的挑战
逆强化学习面临一个核心问题:如何从专家行为中找到专家优化的奖励函数?假设专家行为是理性的,目标是找到奖励函数R*,使得专家的策略产生比任何其他策略更高(或相等)的期望总折扣奖励。
问题是许多奖励函数满足这个约束,包括R(s, a, s') = 0,因为如果没有奖励,任何策略都是理性的。这就像你观察一个人"总是向右走",但不知道是因为"右边有奖励"还是"没有奖励,随便走"。
3.2 贝叶斯方法
贝叶斯方法有助于避免R(s, a, s') = 0可能解释观察行为的问题。贝叶斯公式是: P ( h R ∣ d ) = α P ( d ∣ h R ) P ( h R ) P(h_R | d) = αP(d | h_R)P(h_R) P(hR∣d)=αP(d∣hR)P(hR),其中h_R是真实奖励函数R的假设,d是观察数据。
这就像你不仅考虑"哪些奖励函数能解释专家行为",还考虑"哪些奖励函数更合理"。通过先验知识,你可以排除不合理的奖励函数(如R=0),找到更合理的解释。
3.3 玻尔兹曼合理性
允许专家错误,可以引入"玻尔兹曼合理性"(Boltzmann Rationality)的概念:智能代理的Q函数Q(s, a)不是确定性地选择动作 ( π ( s ) = a r g m a x Q ( s , a ) ) (π(s) = argmax Q(s, a)) (π(s)=argmaxQ(s,a)),而是根据softmax分布选择,如方程(22-14)所定义。
这就像专家不是"总是选择最好的动作",而是"更可能选择好的动作,但也可能选择差的动作"。这种随机性使得逆强化学习可以处理专家的次优行为。
3.4 特征匹配
特征匹配(Feature Matching)是逆强化学习的简单形式,假设奖励函数可以写为特征的加权线性组合: R θ ( s , a , s ′ ) = Σ i = 0 n θ i f i ( s , a , s ′ ) = θ ⋅ f R_θ(s, a, s') = Σ_{i=0}^n θᵢfᵢ(s, a, s') = θ·f Rθ(s,a,s′)=Σi=0nθifi(s,a,s′)=θ⋅f。
例如,在驾驶领域,特征可能包括速度、超速、加速度、到障碍物的距离等。执行策略π从状态s₀开始的效用是: U π ( s ) = E [ Σ t = 0 ∞ γ t R ( S t , π ( S t ) , S t + 1 ) ] = θ ⋅ μ ( π ) U^π(s) = E[Σ_{t=0}^∞ γ^t R(S_t, π(S_t), S_{t+1})] = θ·μ(π) Uπ(s)=E[Σt=0∞γtR(St,π(St),St+1)]=θ⋅μ(π),其中μ(π)是"特征期望"(Feature Expectation),表示执行策略π时特征的期望折扣值。
关键点是:如果策略的特征期望μ(π)与专家的匹配,那么根据专家自己的奖励函数,该策略将与专家一样好。虽然无法测量专家的确切特征期望,但可以通过专家轨迹中观察到的平均值来近似。
3.5 逆强化学习算法
逆强化学习算法需要找到参数值θ,使得这些参数生成的策略的特征期望与专家在观察轨迹上的特征期望匹配。算法在任意期望误差范围内实现这一点:
选择一个初始默认策略 π 0 π₀ π0。对于 j = 1 , 2 , . . . j=1,2,... j=1,2,...直到收敛:求解参数 θ j θ_j θj,使得专家策略最大限度地优于根据期望效用 θ j ⋅ μ ( π ) θ_j·μ(π) θj⋅μ(π)得到的策略 π j π_j πj;令 π j π_j πj为奖励函数 R = θ j ⋅ f R=θ_j·f R=θj⋅f对应的最优策略。
这个算法收敛到接近专家的策略,专家的策略基于其自己的奖励函数。算法的效率是 O ( n l o g n ) O(n log n) O(nlogn)次迭代和 O ( n l o g n ) O(n log n) O(nlogn)次专家演示,其中n是特征数量。
四、逆强化学习的应用
4.1 机器人学习
逆强化学习在机器人学中有广泛应用。机器人通过理解专家动作来学习好的策略,而不是通过大量试错。这使得机器人可以快速学习复杂任务,特别是在危险或昂贵的试错场景中。
例如,在机器人手术中,机器人可以从人类外科医生的演示中学习。通过观察外科医生的动作,推断"什么是好的手术操作",然后学习最优策略。这比让机器人自己试错要安全得多。
4.2 多智能体系统
在多智能体系统中,机器人可以学习其他智能体使用的策略(竞争或合作)。通过观察其他智能体的行为,推断它们的奖励函数,然后调整自己的策略。
这就像在游戏中,你观察对手的行为,推断"对手想要什么",然后调整自己的策略来应对。这在竞争和合作场景中都有应用。
4.3 科学研究
在科学研究中(不考虑智能体设计问题),逆强化学习可以帮助更好地理解人类和动物的行为。通过观察行为,推断"什么是好的",可以揭示行为背后的动机和目标。
例如,通过观察动物的行为,可以推断"动物认为什么是重要的",从而理解动物的认知和决策过程。这对于理解生物行为和心理机制很有价值。
4.4 逆强化学习的假设
逆强化学习的一个关键假设是:"专家"在单智能体MDP中关于某个奖励函数表现得最优或接近最优。这在某些情况下是合理的(例如,如果学习者观察专家而不影响他们),但在其他情况下不是(例如,如果专家知道学习者的存在并改变行为来教学)。
例如,在机器人从人类外科医生学习手术的情况下,外科医生可能会主动教学、解释或指出错误,这不会是他们"独自一人"时的最优行为。这种情况被框定为两人辅助游戏(如第18.2.5节所讨论)。
五、策略搜索与学徒学习的比较
5.1 适用场景
策略搜索适合策略空间比价值函数空间更简单的问题。比如,如果策略可以用少量参数表示,但价值函数很复杂,策略搜索可能更有效。
学徒学习适合有专家演示、但难以定义奖励函数的问题。比如,在复杂、多目标的领域中,定义奖励函数很困难,但专家演示提供了宝贵的学习资源。
5.2 学习效率
策略搜索需要大量试错,学习效率可能较低。但它可以直接优化策略,不需要学习价值函数,在某些问题中可能更直接。
学徒学习可以大大加速学习,特别是在危险或昂贵的试错场景中。通过模仿或推断奖励函数,智能体可以快速学习,避免大量试错。
5.3 性能上限
策略搜索的性能上限取决于策略空间。如果策略空间包含最优策略,策略搜索可以找到它;否则,只能找到策略空间中的最优策略。
模仿学习的性能上限是专家的性能。它只能复制,不能超越。逆强化学习可能超越专家,如果它推断出更准确的奖励函数,并优化该函数。
5.4 实际应用
在实际应用中,策略搜索、模仿学习和逆强化学习经常结合使用。比如,在机器人控制中,可以先通过模仿学习快速学习基础策略,然后通过策略搜索或逆强化学习进一步优化。
在自动驾驶中,可以从人类司机的演示中学习(逆强化学习),然后通过策略搜索在模拟中进一步优化。这种组合方法可以充分利用各种方法的优势。
六、总结
策略搜索是直接优化策略参数以提升性能的方法,而学徒学习和逆强化学习是从专家行为中学习。它们的核心在于:不是所有问题都需要从零开始学习。
策略搜索提供了直接优化策略的思路,适合策略空间简单的问题。模仿学习可以快速学习基础策略,但只能复制专家。逆强化学习可以推断奖励函数,可能超越专家。
记住:策略搜索、模仿学习和逆强化学习共同构成了强化学习的完整工具箱。通过理解这些方法的原理和适用场景,我们可以根据具体问题选择合适的方法,或者组合使用它们,实现最佳的学习效果。
在实际应用中,这些方法经常结合使用:从专家演示中快速学习基础策略,然后通过策略搜索进一步优化,或者通过逆强化学习推断更准确的奖励函数。这种组合方法可以充分利用各种方法的优势,实现快速、高效的学习。
参考:《人工智能:现代方法(第四版)》