复杂环境决策中的强化学习
1. 强化学习概述
强化学习(RL)为学习任意系列动作以实现特定目标提供了强大框架,但它仍是一个相对年轻且活跃的研究领域,存在诸多未解挑战。训练RL模型颇具挑战性,原因在于后续模型输入依赖于先前采取的动作,这可能引发各种问题,导致学习行为不稳定。此外,RL中的序列依赖性会产生所谓的延迟效应,即时刻t采取的动作可能在任意步数后才带来未来奖励。
2. 强化学习系统的智能体 - 环境接口
在所有RL示例中,存在两个不同实体:智能体和环境。正式而言,智能体是学习如何决策并通过采取行动与周围环境交互的实体。作为行动的结果,智能体根据环境规则接收观察信息和奖励信号。环境则是智能体之外的一切,它与智能体通信,确定智能体动作的奖励信号和观察信息。
奖励信号是智能体与环境交互时收到的反馈,通常以标量值形式呈现,可为正或负,用于告知智能体表现好坏。智能体接收奖励的频率取决于具体任务或问题。例如,在国际象棋游戏中,奖励基于整局游戏结果(胜或负)确定;而在迷宫任务中,可在每个时间步确定奖励,智能体试图在整个生命周期(即一个回合的持续时间)内最大化累积奖励。
智能体与环境的交互和通信如下:
1. 智能体的状态是其所有变量的集合。例如,对于无人机,这些变量可能包括当前位置(经度、纬度和高度)、剩余电池电量、每个风扇的速度等。
2. 在每个时间步,智能体通过一组可用动作与环境交互。
3. 基于智能体在状态 𝑆𝑡 时采取的动作 𝐴𝑡,智能体将收到奖励信号 𝑅𝑡+1。
4. 智能体的状态将变为 𝑆𝑡+1。
在学习过程中,智能体需尝试不同动作(探索),以逐渐了解哪些动作更优并更频繁执行(利用),从而最大化总累积奖励。例如,刚毕业的软件工程专业计算机科学学生面临选择:是去公司工作(利用),还是攻读硕士或博士学位以深入学习数据科学和机器学习(探索)。一般来说,利用会选择短期奖励更大的动作,而探索可能在长期带来更大总奖励。探索与利用的权衡已被广泛研究,但尚无通用解决方案。
3. 强化学习的理论基础
在进行实际示例和训练RL模型之前,需先了解强化学习的一些理论基础,包括马尔可夫决策过程的数学公式、阶段性任务与连续性任务、关键RL术语以及使用贝尔曼方程的动态规划。
3.1 马尔可夫决策过程
RL处理的问题通常被表述为马尔可夫决策过程(MDPs)。解决MDP问题的标准方法是动态规划,但RL相比动态规划有一些关键优势。当状态规模(即可能配置的数量)较大时,动态规划不可行,此时RL是解决MDPs更高效实用的替代方法。
动态规划是理查德·贝尔曼在20世纪50年代开发的一组计算机算法和编程方法,本质上是递归解决问题,将复杂问题分解为更小的子问题。递归与动态规划的关键区别在于,动态规划会存储子问题的结果(通常以字典或其他查找表形式),以便在后续遇到相同子问题时能在恒定时间内访问,避免重新计算。计算机科学中一些著名的动态规划解决的问题包括序列比对和计算从A点到B点的最短路径。
MDP的数学公式:需要学习交互式和顺序决策过程(决策在时间步t会影响后续情况)的问题,在数学上被形式化为MDPs。在RL的智能体 - 环境交互中,若将智能体的起始状态记为 𝑆0,智能体与环境的交互会产生如下序列:
{𝑆0, 𝐴0, 𝑅1}, {𝑆1, 𝐴1, 𝑅2}, {𝑆2, 𝐴2, 𝑅3}, …
其中,𝑆𝑡 和 𝐴𝑡 分别表示时间步t的状态和动作,𝑅𝑡+1 表示执行动作 𝐴𝑡 后从环境获得的奖励。𝑆𝑡、𝑅𝑡+1 和 𝐴𝑡 是时间相关的随机变量,分别从预定义的有限集合 𝑠∈𝑆̂、𝑟∈𝑅̂ 和 𝑎∈𝐴̂ 中取值。在MDP中,这些随机变量的概率分布仅取决于前一个时间步t - 1的值。𝑆𝑡+1 = 𝑠′ 和 𝑅𝑡+1 = 𝑟 的概率分布可写为:
𝑝(𝑠′,𝑟|𝑠, 𝑎) ≝𝑃(𝑆𝑡+1 = 𝑠′, 𝑅𝑡+1 = 𝑟|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎)
该概率分布完全定义了环境的动态(或环境模型),因为基于此分布可计算环境的所有转移概率。因此,环境动态是对不同RL方法进行分类的核心标准。需要环境模型或试图学习环境模型(即环境动态)的RL方法称为基于模型的方法,反之则为无模型方法。
环境动态若在给定状态下特定动作总是或从不被采取(即 𝑝(𝑠′, 𝑟|𝑠, 𝑎) ∈{0,1}),则可视为确定性;否则,在更一般情况下,环境具有随机行为。观察未来状态 𝑆𝑡+1 = 𝑠′ 基于当前状态 𝑆𝑡= 𝑠 和执行动作 𝐴𝑡= 𝑎 的概率记为:
𝑝(𝑠′|𝑠, 𝑎) ≝𝑃(𝑆𝑡+1 = 𝑠′|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎)
该概率可通过对所有可能奖励求和得到,称为状态转移概率。若环境动态是确定性的,当智能体在状态 𝑆𝑡= 𝑠 时采取动作 𝐴𝑡= 𝑎,向状态 𝑆𝑡+1 = 𝑠′ 的转移将是100%确定的,即 𝑝(𝑠′|𝑠, 𝑎) = 1。
马尔可夫过程可表示为有向循环图,图中节点代表环境的不同状态,边(节点间的连接)代表状态间的转移概率。例如,学生在三种情况(在家学习备考、在家玩游戏、在图书馆学习)间做决策,还有一个睡觉的终止状态。决策每小时进行一次,做出决策后学生将在该小时内处于所选情况。在家时,学生有50%的可能性切换到玩游戏;玩游戏时,有80%的可能性继续玩游戏。其行为动态可通过如下马尔可夫过程表示(包含循环图和转移表):
|当前状态|下一状态及概率|
| ---- | ---- |
|在家学习(A)|玩游戏(B): 50%,继续学习(A): 50%|
|玩游戏(B)|继续玩游戏(B): 80%,其他情况(根据具体设定): 20%|
|在图书馆学习(C)|(根据具体设定)|
阶段性任务与连续性任务:智能体与环境交互时,观察或状态序列形成轨迹。轨迹有两种类型:若智能体的轨迹可划分为从时间t = 0开始并在终止状态 𝑆𝑇 结束的子部分,则为阶段性任务;若轨迹无限连续且无终止状态,则为连续性任务。例如,国际象棋学习智能体的任务是阶段性任务,而保持房屋整洁的清洁机器人执行的通常是连续性任务。这里仅考虑阶段性任务,一个阶段是智能体从起始状态 𝑆0 到终止状态 𝑆𝑇 的序列或轨迹:
𝑆0, 𝐴0, 𝑅1, 𝑆1, 𝐴1, 𝑅2, … , 𝑆𝑡,𝐴𝑡,𝑅𝑡+1,… , 𝑆𝑇−1, 𝐴𝑇−1,𝑅𝑇, 𝑆𝑇
例如,学生备考的马尔可夫过程可能有以下阶段示例:
- 阶段1: BBCCCCBAT → 通过(最终奖励 = +1)
- 阶段2: ABBBBBBBBBT → 失败(最终奖励 = -1)
- 阶段3: BCCCCCT → 通过(最终奖励 = +1)
4. RL术语:回报、策略和价值函数
4.1 回报
时刻t的回报是一个阶段内获得的累积奖励。已知 𝑅𝑡+1 = 𝑟 是在时刻t执行动作 𝐴𝑡 后获得的即时奖励,后续奖励为 𝑅𝑡+2、𝑅𝑡+3 等。时刻t的回报可计算为:
𝐺𝑡≝𝑅𝑡+1 + 𝛾𝑅𝑡+2 + 𝛾²𝑅𝑡+3 + ⋯= ∑𝛾ᵏ𝑅𝑡+ᵏ+1 (从 𝑘 = 0 开始求和)
其中,𝛾 是范围在 [0, 1] 的折扣因子,用于表示未来奖励在当前时刻的“价值”。若 𝛾 = 0,则表示不考虑未来奖励,回报等于即时奖励,智能体目光短浅;若 𝛾 = 1,回报是所有后续奖励的无加权总和。回报的计算公式也可通过递归简化为:
𝐺𝑡= 𝑅𝑡+1 + 𝛾𝐺𝑡+1 = 𝑟 + γ𝐺𝑡+1
这意味着时刻t的回报等于即时奖励r加上时刻t + 1的折扣未来回报,此特性便于回报的计算。
以学生备考示例计算不同时间步的回报,假设 𝛾 = 0.9,仅根据考试结果给予奖励(通过为 +1,失败为 -1),中间时间步奖励为0。
- 阶段1: BBCCCCBAT → 通过(最终奖励 = +1)
- 𝑡 = 0: 𝐺0 = 0 + 0 × 𝛾 + ⋯+ 1 × 𝛾⁶ = 0.9⁶ ≈ 0.531
- 𝑡 = 1: 𝐺1 = 1 × 𝛾⁵ = 0.590
- 𝑡 = 2: 𝐺2 = 1 × 𝛾⁴ = 0.656
- …
- 𝑡 = 6: 𝐺6 = 1 × 𝛾 = 0.9
- 𝑡 = 7: 𝐺7 = 1
- 阶段2: ABBBBBBBBBT → 失败(最终奖励 = -1)
- 𝑡 = 0: 𝐺0 = -1 × 𝛾⁸ = -0.430
- 𝑡 = 1: 𝐺0 = -1 × 𝛾⁷ = -0.478
- …
- 𝑡 = 8: 𝐺0 = -1 × 𝛾 = -0.9
- 𝑡 = 9: 𝐺10 = -1
4.2 策略
策略通常用 𝜋(𝑎|𝑠) 表示,是一个确定下一个动作的函数,可为确定性或随机性(即采取下一个动作的概率)。随机策略在给定状态下对智能体可采取的动作有概率分布:
𝜋(𝑎|𝑠) ≝𝑃[𝐴𝑡= 𝑎 |𝑆𝑡= 𝑠]
在学习过程中,随着智能体获得更多经验,策略可能改变。例如,智能体可能从随机策略开始(所有动作概率均匀),并有望学习优化策略以达到最优策略。最优策略 𝜋∗(𝑎|𝑠) 是产生最高回报的策略。
4.3 价值函数
价值函数(也称为状态价值函数)衡量每个状态的优劣,即处于特定状态的好坏程度,评判标准基于回报。基于回报 𝐺𝑡,状态s的价值函数定义为遵循策略 𝜋 后的期望回报(所有可能阶段的平均回报):
𝑣𝜋(𝑠) ≝𝐸𝜋[𝐺𝑡|𝑆𝑡= 𝑠] = 𝐸𝜋[∑𝛾ᵏ⁺¹𝑅𝑡+ᵏ⁺¹ (从 𝑘 = 0 开始求和)| 𝑆𝑡= 𝑠]
在实际实现中,通常使用查找表估计价值函数,避免多次重新计算(这体现了动态规划)。例如,用表格 𝑉(𝑠) 存储所有状态值,在Python实现中,可为列表、NumPy数组(索引对应不同状态)或字典(键映射状态到相应值)。
还可定义每个状态 - 动作对的价值,即动作价值函数,记为 𝑞𝜋(𝑠, 𝑎),表示智能体在状态 𝑆𝑡= 𝑠 并采取动作 𝐴𝑡= 𝑎 时期望的回报:
𝑞𝜋(𝑠, 𝑎) ≝𝐸𝜋[𝐺𝑡|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎] = 𝐸𝜋[∑𝛾ᵏ⁺¹𝑅𝑡+ᵏ⁺¹ (从 𝑘 = 0 开始求和)| 𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎]
与最优策略 𝜋∗(𝑎|𝑠) 类似,𝑣∗(𝑠) 和 𝑞∗(𝑠, 𝑎) 分别表示最优状态价值和动作价值函数。估计价值函数是RL方法的重要组成部分,后续将介绍计算和估计状态价值函数与动作价值函数的不同方法。
奖励、回报和价值函数的区别:
- 奖励是智能体在环境当前状态下采取动作的结果,是从一个状态转移到下一个状态时收到的信号,但并非每个动作都有正或负奖励。例如,国际象棋中仅获胜时才有正奖励,中间动作奖励为0。
- 状态本身有一定价值,价值函数用于衡量状态好坏。通常,具有“高”或“好”价值的状态是那些在特定策略下期望回报高且可能产生高奖励的状态。例如,下棋计算机仅在获胜时获得正奖励,捕获对手皇后的动作可能不会立即带来奖励,但新状态(捕获皇后后的棋盘状态)可能有高价值,因为捕获皇后通常有助于获胜,从而有高期望回报,但不保证一定获胜。
- 回报是一个阶段内奖励的加权总和,在国际象棋示例中等于折扣后的最终奖励(因为只有一个奖励)。价值函数是所有可能阶段的期望,用于计算平均情况下某个动作的“价值”。
5. 使用贝尔曼方程的动态规划
贝尔曼方程是许多RL算法的核心元素,它简化了价值函数的计算,采用类似于计算回报的递归方式,而非对多个时间步求和。
基于总回报的递归方程 𝐺𝑡= 𝑟 + 𝛾𝐺𝑡+1,价值函数可重写为:
𝑣𝜋(𝑠) ≝𝐸𝜋[𝐺𝑡|𝑆𝑡= 𝑠] = 𝐸𝜋[𝑟 + 𝛾𝐺𝑡+1|𝑆𝑡= 𝑠] = 𝑟 + 𝛾𝐸𝜋[𝐺𝑡+1|𝑆𝑡= 𝑠]
即时奖励r在时刻t是已知常量,可从期望中提出。同理,动作价值函数可写为:
𝑞𝜋(𝑠, 𝑎) ≝𝐸𝜋[𝐺𝑡|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎] = 𝐸𝜋[𝑟 + 𝛾𝐺𝑡+1|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎] = 𝑟 + 𝛾𝐸𝜋[𝐺𝑡+1|𝑆𝑡= 𝑠, 𝐴𝑡= 𝑎]
可利用环境动态通过对所有下一状态 𝑠′ 和相应奖励r的概率求和来计算期望:
𝑣𝜋(𝑠) = ∑𝜋(𝑎|𝑠) (对 𝑎∈𝐴̂ 求和)∑ 𝑝(𝑠′,𝑟|𝑠, 𝑎) (对 𝑠′∈𝑆̂,𝑟′∈𝑅̂ 求和)[𝑟 + 𝛾𝐸𝜋[𝐺𝑡+1|𝑆𝑡+1 = 𝑠′]]
由于 𝐸𝜋[𝐺𝑡+1|𝑆𝑡+1 = 𝑠′] 本质上是状态价值函数 𝑣𝜋(𝑠′),所以 𝑣𝜋(𝑠) 可写为 𝑣𝜋(𝑠′) 的函数:
𝑣𝜋(𝑠) = ∑𝜋(𝑎|𝑠) (对 𝑎∈𝐴̂ 求和)∑ 𝑝(𝑠′, 𝑟′|𝑠, 𝑎) (对 𝑠′∈𝑆̂,𝑟′∈𝑅̂ 求和)[𝑟′ + 𝛾𝑣𝜋(𝑠′)]
复杂环境决策中的强化学习
6. 模型相关的强化学习方法
当概率 𝑝(𝑠′,𝑟|𝑠, 𝑎) 已知时,学习任务可以用动态规划解决。但在许多现实问题中,环境动态未知,此时需要通过与环境大量交互获取样本,以弥补未知的环境动态。处理这个问题主要有两种方法:无模型的蒙特卡罗(MC)方法和时间差分(TD)方法。以下是这两种方法的主要类别和分支:
|方法类别|分支|
| ---- | ---- |
|无模型蒙特卡罗(MC)方法|(具体分支待后续详细介绍)|
|时间差分(TD)方法|(具体分支待后续详细介绍)|
接下来将从理论到实际算法详细介绍这些不同的方法及其分支。
7. 状态转移概率计算示例
前面提到状态转移概率 𝑝(𝑠′|𝑠, 𝑎) 可以通过对所有可能奖励求和得到,公式为:
𝑝(𝑠′|𝑠, 𝑎) ≝∑𝑝(𝑠′, 𝑟|𝑠, 𝑎) (对 𝑟∈𝑅̂ 求和)
下面通过一个简单示例来理解这个计算过程。假设环境有两个状态 𝑆 = {𝑠₁, 𝑠₂},两个动作 𝐴 = {𝑎₁, 𝑎₂},可能的奖励 𝑅 = {𝑟₁, 𝑟₂},且已知以下条件概率:
- 𝑝(𝑠₁, 𝑟₁|𝑠₁, 𝑎₁) = 0.2
- 𝑝(𝑠₁, 𝑟₂|𝑠₁, 𝑎₁) = 0.3
- 𝑝(𝑠₂, 𝑟₁|𝑠₁, 𝑎₁) = 0.4
- 𝑝(𝑠₂, 𝑟₂|𝑠₁, 𝑎₁) = 0.1
那么从状态 𝑠₁ 采取动作 𝑎₁ 转移到状态 𝑠₁ 的状态转移概率为:
𝑝(𝑠₁|𝑠₁, 𝑎₁) = 𝑝(𝑠₁, 𝑟₁|𝑠₁, 𝑎₁) + 𝑝(𝑠₁, 𝑟₂|𝑠₁, 𝑎₁) = 0.2 + 0.3 = 0.5
从状态 𝑠₁ 采取动作 𝑎₁ 转移到状态 𝑠₂ 的状态转移概率为:
𝑝(𝑠₂|𝑠₁, 𝑎₁) = 𝑝(𝑠₂, 𝑟₁|𝑠₁, 𝑎₁) + 𝑝(𝑠₂, 𝑟₂|𝑠₁, 𝑎₁) = 0.4 + 0.1 = 0.5
8. 强化学习中的决策流程
下面用 mermaid 格式的流程图展示强化学习中智能体与环境交互的决策流程:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(智能体处于状态 𝑆𝑡):::process
B --> C(智能体选择动作 𝐴𝑡):::process
C --> D(执行动作 𝐴𝑡,环境反馈奖励 𝑅𝑡+1 和新状态 𝑆𝑡+1):::process
D --> E{是否达到终止状态}:::process
E -- 否 --> B(智能体处于状态 𝑆𝑡+1):::process
E -- 是 --> F([结束]):::startend
在这个流程中,智能体不断与环境交互,根据当前状态选择动作,环境根据动作给出奖励和新状态,直到达到终止状态。
9. 探索与利用的权衡分析
探索与利用的权衡是强化学习中的一个重要问题。前面提到,探索是尝试不同的动作以发现更好的策略,而利用是选择已知能带来高回报的动作。以下是对探索与利用的进一步分析:
-
探索的好处
:探索可以让智能体发现新的、可能带来更高回报的策略。例如,在一个未知的迷宫中,智能体不断尝试不同的路径,有可能找到一条更短的出口路径。但探索也有风险,可能会导致短期内获得较低的回报。
-
利用的好处
:利用可以保证智能体在短期内获得相对稳定的回报。当智能体已经发现了一个较好的策略时,持续利用这个策略可以获得一定的收益。但过度利用可能会使智能体错过更好的策略。
为了更好地说明探索与利用的权衡,我们可以用一个简单的表格来对比不同情况下的表现:
|情况|短期回报|长期回报潜力|
| ---- | ---- | ---- |
|过度探索|低|可能高|
|适度探索与利用平衡|中等|较高|
|过度利用|高|可能低|
在实际应用中,需要根据具体的问题和环境特点,找到探索与利用的最佳平衡点。
10. 价值函数的估计方法展望
前面提到估计价值函数是强化学习方法的重要组成部分,常见的方法是使用查找表。但在实际应用中,当状态空间非常大时,查找表可能会变得非常庞大,导致计算和存储成本过高。未来可能会有更多高效的价值函数估计方法出现,例如基于神经网络的方法。神经网络可以通过学习大量的数据来逼近价值函数,具有更强的泛化能力。以下是可能的发展方向:
-
深度学习与强化学习的结合
:利用深度学习的强大表示能力,对复杂的状态和动作进行处理,提高价值函数估计的准确性。
-
在线学习方法
:在智能体与环境交互的过程中实时更新价值函数,以适应环境的动态变化。
-
多智能体强化学习中的价值函数估计
:在多个智能体相互协作或竞争的环境中,如何准确估计每个智能体的价值函数是一个挑战,未来可能会有更有效的方法出现。
总之,强化学习在复杂环境决策中具有重要的应用价值,但也面临着许多挑战和待解决的问题。随着研究的不断深入和技术的不断发展,相信强化学习会在更多领域得到广泛应用。
超级会员免费看
3478

被折叠的 条评论
为什么被折叠?



