摘要:强化学习算法是一类通过环境交互优化决策的机器学习方法,分为基于模型和无模型两种类型。基于模型算法(如动态规划、蒙特卡洛树搜索)先构建环境模型进行预测,具有较高样本效率但计算复杂;无模型算法(如Q学习、策略梯度)直接通过试错学习策略,更简单但需要更多交互。两类算法在效率、复杂度和适应性等方面各有特点,适用于不同场景的智能决策问题。
目录
强化学习算法
什么是强化学习(RL)?
强化学习算法的类型
基于模型的强化学习算法
无模型的强化学习算法
基于模型的强化学习 vs 无模型的强化学习
强化学习算法
强化学习算法是一类机器学习算法,用于训练智能体在环境中做出最优决策。Q 学习、策略梯度方法和蒙特卡洛方法等均为强化学习中常用的算法,其目标是最大化智能体随时间累积的奖励。
什么是强化学习(RL)?
强化学习是一种机器学习方法,通过让智能体(软件实体)执行动作并监控结果来理解环境。智能体每做出一个好的动作,就会获得正反馈;每做出一个不好的动作,则会获得负反馈。这种学习方式灵感源自动物的经验学习过程 —— 基于行为的后果来做决策。
强化学习算法的类型
强化学习算法主要分为两类:基于模型的强化学习算法和无模型的强化学习算法。二者的核心区别在于获取最优策略 π 的方式不同:
- 基于模型的强化学习算法:智能体会先构建环境模型,并预测不同状态下动作的结果。模型建立完成后,智能体无需直接与环境交互,而是利用该模型制定策略、预测未来结果。这种方法无需完全依赖试错,能提升决策效率。
- 无模型的强化学习算法:该类算法不构建环境模型,而是通过与环境的交互来获取策略或价值函数。
基于模型的强化学习算法
以下是几种关键的基于模型的优化与控制算法:
- 动态规划动态规划是一种数学框架,专为解决复杂的决策与控制问题而设计。当智能体完全了解环境(即拥有完美的环境模型)时,可通过一系列动态规划算法确定最优策略。强化学习中常用的动态规划算法包括:
- 价值迭代:一种用于计算最优策略的动态规划算法。它基于智能体将遵循最优策略的假设,计算每个状态的价值,并通过贝尔曼方程更新策略:
- 策略迭代:一种两步优化过程,可同时找到最优价值函数 V_π 和对应的最优策略 π,具体步骤如下:
- 策略评估:对于给定策略,利用贝尔曼方程计算每个状态的价值函数。
- 策略改进:基于当前的价值函数,选择能最大化期望回报的动作,从而改进策略。该过程在评估与改进之间交替进行,直至找到最优策略。
- 蒙特卡洛树搜索(MCTS)蒙特卡洛树搜索是一种启发式搜索算法,它利用树结构探索可能的动作和状态,因此特别适用于复杂环境中的决策制定。
无模型的强化学习算法
以下是几种关键的无模型算法:
蒙特卡洛学习蒙特卡洛学习是强化学习中的一种技术,侧重于基于实际经验估计价值函数和制定策略,而非依赖环境模型或动态特性。蒙特卡洛方法通常通过对多次环境交互 episode 取平均,来估算期望回报。
时序差分学习(TD 学习)时序差分学习是一种无模型强化学习技术,其目标是利用智能体与环境交互过程中收集的经验,评估某个策略的价值函数。与蒙特卡洛方法(仅在整个 episode 完成后更新价值估计)不同,时序差分学习在每次执行动作并获得奖励后就进行增量式更新,因此是决策制定的理想选择。
SARSA 算法SARSA 是一种在线策略、无模型的强化学习算法,用于学习动作 - 价值函数 Q (s,a)。其名称源自 “状态 - 动作 - 奖励 - 状态 - 动作(State-Action-Reward-State-Action)”,算法会根据智能体在与环境交互过程中实际执行的动作,更新动作 - 价值估计。
Q 学习Q 学习是一种无模型、离线策略的强化学习技术,用于学习最优动作 - 价值函数 Q*(s,a)—— 该函数能给出任意状态 - 动作对的最大期望奖励。Q 学习的核心目标是通过评估最优动作 - 价值函数(即从状态 s 执行动作 a 后,后续遵循最优策略所能获得的最大期望奖励),找到最优策略。
策略梯度优化策略梯度优化是一类强化学习算法,侧重于直接优化策略而非学习价值函数。这类技术通过调整参数化策略的参数,来最大化期望回报。REINFORCE 算法是强化学习中基于蒙特卡洛方法的一种策略梯度算法。
基于模型的强化学习 vs 无模型的强化学习
基于模型的强化学习与无模型的强化学习算法的主要区别如下表所示:
| 特征 | 基于模型的强化学习 | 无模型的强化学习 |
|---|---|---|
| 学习过程 | 先学习环境动态模型,再利用该模型预测未来动作 | 完全基于试错,通过观察到的状态转移和奖励直接学习策略或价值函数 |
| 效率 | 可通过学习到的模型模拟大量交互,样本效率可能更高 | 需要更多真实环境交互才能找到最优策略 |
| 复杂度 | 更复杂,需学习并维护准确的环境模型 | 相对简单,无需进行模型训练 |
| 环境利用方式 | 主动构建环境模型以预测结果和后续动作 | 不构建环境模型,直接依赖过往经验 |
| 适应性 | 能适应环境状态的变化 | 依赖过往经验,适应可能需要更长时间 |
| 计算需求 | 通常计算需求更高,因模型构建和学习过程复杂 | 通常计算需求较低,专注于从经验中直接学习 |