强化学习入门与实践
强化学习概述
强化学习入门
强化学习(Reinforcement Learning, RL)的灵感来源于我们训练宠物的方式。想象一下,你想教一只狗“坐下”。当它正确执行时,你会给它一块零食(奖励)。如果它做错了,它就得不到奖励。通过反复试验,狗学会了将“坐下”这个指令与获得奖励的行为联系起来。
在强化学习中,我们有一个“智能体”(agent),它就像那只狗。智能体在一个“环境”(environment)中,通过执行“动作”(actions)来与之互动。每次动作之后,环境会给智能体一个“奖励”(reward),并使其进入一个新的“状态”(state)。智能体的目标不是立即获得最大的奖励,而是通过学习一个最优策略,来最大化其长期累积的奖励。
强化学习的核心思想是:智能体通过与环境的互动,在试错中学习,以最大化累积奖励。
为了系统地描述这个学习过程,我们需要一个数学框架。这个框架就是马尔可夫决策过程(Markov Decision Process, MDP)。它为我们提供了一种形式化的语言来定义强化学习问题。
马尔可夫决策过程
马尔可夫决策过程是描述强化学习问题的标准模型。它包含几个关键组成部分,我们可以通过一个简单的迷宫游戏来理解它们。
一个 MDP 由以下元素定义:
- 状态 (S): 智能体在环境中可能所处的所有位置或情况的集合。在我们的迷宫中,每个格子就是一个状态。
- 动作 (A): 智能体在每个状态下可以执行的所有可能操作的集合。例如,在迷宫中,动作可以是“向上”、“向下”、“向左”或“向右”。
- 转移概率 (P): 当智能体在状态 执行动作 后,转移到状态 的概率。它通常表示为 。在确定性环境中(如简单的迷宫),这个概率是1。但在随机环境中(例如,机器人移动时有10%的几率打滑到旁边的格子),这个概率就会小于1。
- 奖励 (R): 智能体在状态 执行动作 并转移到状态 后,从环境获得的即时反馈。例如,到达终点获得+10的奖励,掉入陷阱获得-5的奖励,每走一步获得-1的奖励(鼓励尽快结束)。
- 折扣因子 (γ): 一个介于0和1之间的数值,用于衡量未来奖励的重要性。如果 接近0,智能体会更看重眼前的即时奖励(变得“短视”)。如果 接近1,智能体会更看重长远的未来奖励(变得“有远见”)。
策略与值函数
有了 MDP 框架,智能体的目标就是找到一个“策略”,来告诉它在每个状态下应该采取什么动作,从而最大化长期累积的折扣奖励。为了评估一个策略的好坏,我们引入了“值函数”的概念。
策略
noun
智能体的行为方式,是从状态到动作的映射。它规定了在特定状态下,智能体应该选择哪个动作,或者以何种概率选择各个动作。
策略(Policy),通常用符号 表示。它可以是确定性的,即在每个状态下总是选择同一个动作。也可以是随机性的,即在某个状态下,以一定的概率选择不同的动作。数学上,策略是一个概率分布:
那么,我们如何判断一个策略是好是坏呢?这就需要值函数(Value Function)了。值函数用来评估一个状态或一个“状态-动作”对的“价值”,即从该状态或状态-动作对开始,遵循某个特定策略 后,能够获得的未来奖励的期望总和。
简而言之,值函数回答了这样一个问题:“在当前策略下,处于这个状态有多好?”
我们主要关注两种值函数:状态值函数和动作值函数。
为了应用强化学习,第一步是把问题构建成所谓的马尔可夫决策过程(MDP)。
状态值函数
它表示从状态 开始,并始终遵循策略 所能获得的期望累积奖励。它由著名的贝尔曼期望方程(Bellman Expectation Equation)定义:
动作值函数
它表示在状态 下,执行动作 ,然后继续遵循策略 所能获得的期望累积奖励。它也被称为 Q-value。
与状态值函数相比,Q 函数更为直接,因为它直接告诉我们在某个状态下采取某个特定动作有多好。这对于决策至关重要。如果我们知道了每个状态下所有动作的 Q 值,我们就可以简单地选择 Q 值最高的那个动作来行动,从而形成一个最优策略。
最终,强化学习的目标是找到一个最优策略 ,使得所有状态的值函数 或动作值函数 都达到最大。一旦我们找到了最优的 Q 函数 ,最优策略就变得非常简单:在任何状态 下,选择能使 最大化的动作 即可。
理解了状态、动作、奖励、策略和值函数这些基本构建块,你就掌握了思考和构建强化学习问题的基础。接下来的章节将介绍如何通过算法来实际学习这些值函数和策略。
准备好测试你对这些概念的理解了吗?
在强化学习中,智能体 (agent) 的主要目标是什么?
在马尔可夫决策过程 (MDP) 中,折扣因子 (discount factor) 的值越接近 1,代表智能体越怎么样?
现在你已经了解了强化学习的基础框架,我们将在下一节中探讨具体的学习算法。