强化学习系列(1)——强化学习的基础概念

最近在备战秋招,系统梳理强化学习(Reinforcement Learning)的知识体系。这个系列会记录我的学习笔记,欢迎大家指正交流~

参考资料:

bilibili: 西湖大学WindyLab课程。

0. 强化学习的定义

强化学习(Reinforcement Learning, RL)是一种机器学习范式,其中智能体(Agent)通过与环境(Environment)交互并从中获得反馈(奖励或惩罚),来学习如何在给定任务中做出决策。智能体的目标是通过选择适当的动作,使得其所获得的长期回报最大化

1. 强化学习中的基本概念

1.1 引入

让我们从一个简单的例子开始:

下面这张图展示了一个网格世界的场景,每个方格都代表着一个状态。在这个世界里,智能体(就是做决策的“角色”)可以在各个方格之间移动。每次移动时,智能体根据当前所在的方格来决定下一步的动作。

智能体的任务目标就是从这个网格中从一个起始位置,经过一系列的决策,最终到达目标位置。路径规划的任务就是找到一条从起点到终点的最优路径,通常这意味着要尽可能避开障碍,或者在最短的时间内完成任务。

这个智能体是怎么做决定的呢?

我们平时做决定的时候会怎么思考?是不是先看看自己在哪儿,然后想想可以做什么选择,做了之后会发生什么?智能体也差不多。它的决策过程大致是这样的

  • 看看自己在哪儿(状态): 也就是观察当前所处的状态,比如现在站在哪个格子上。这就好比我们走到一个岔路口,首先要看看自己在哪儿。
  • 想想能做什么(动作): 在当前的状态下,有哪些可行的动作可以选择,比如向上、向下、向左或向右。这就是它能做的几个选择。
  • 尝试一下,看看结果(奖励): 执行选择的动作,移动到下一个新的状态。走了一步之后,它就到了一个新的方格/边界。
  • 一直试下去: 它会不停地尝试,到达目标位置。

那么问题来了,怎么判断一个状态是“好”还是“坏”呢? 

想象你现在站在一个格子上,如果离目标很近,而且路径畅通无阻,那你可能会觉得“这个状态还不错”;反过来,如果你站的地方前后都是墙,或者离目标很远,那就不太妙了。

在强化学习里,我们会通过“奖励”来衡量每个状态的好坏。如果某个状态有很高的奖励,那智能体就会更倾向于往这个方向走。随着经验的积累,智能体会慢慢学会:哪些状态值得走过去,哪些状态最好绕开。

好了,通过上面的例子,我们可以总结一下强化学习的大致流程:

  1. 看看现在在哪儿: 在当前所处的状态下。
  2. 想想该怎么办: 智能体选择一个动作。
  3. 环境给反馈: 环境根据智能体的动作更新状态,并且告诉它这次做得怎么样(返回奖励)。
  4. 学着调整策略: 智能体根据收到的奖励和新的状态,调整自己下一步的“想法”(策略)。
  5. 重复以上步骤: 智能体不断地尝试和学习,最终学会一套最优的“玩法”(最优策略)。

1.2 MDP(马尔可夫决策过程)

对于前面的例子,我们提到了状态、动作和奖励。现在,MDP 就像是给这个“寻宝”游戏制定了一套更清晰、更数学化的规则。有了这套规则,我们就能更好地理解和分析Agent是怎么学习的。

一个 MDP 通常包含下面这几个关键要素:

1. 三个Sets (集合):

  • State (状态) : 用集合 S表示。每个状态记录了当前环境的关键特征,比如是否靠近目标,周围是否有障碍等。状态是我们理解智能体所处环境的基础。
  • Action (动作) : 每个状态 s 都有一组智能体可以选择的动作集合 A(s)。在网格世界中,常见的动作是向上、向下、向左、向右,但在更复杂的环境中,动作的种类可能会更多。
  • Reward (奖励) : 用 R(s, a) 来表示当小人在状态 s 采取动作 a 后,能得到多少奖励。如果智能体走向目标,可能获得正奖励;如果走向障碍物或远离目标,可能会受到惩罚。

2. 两个Probability distribution (概率分布) - 预测下一步会发生什么

  • State transition probability (状态转移概率) : 表示在状态 s下,选择动作 a 后,智能体转移到新状态 s′的概率,用 p(s′∣s,a)表示。简单来说,它描述了在某个状态下,选择某个动作后,智能体可能会进入哪个状态。比如网格世界中有风,往上走,会有一定概率吹到右侧或其他网格。
  • Reward probability (奖励概率) :表示在状态 s 下,执行动作 a 后,智能体获得特定奖励 r 的概率,用 p(r∣s,a) 表示。

3. Policy (策略) 

策略 π(a∣s)定义了在状态 s 下,智能体选择动作 a 的概率。策略是决策的核心,它决定了在每个状态下应该选择哪个动作。最开始,策略可能是随机的,但随着智能体不断学习,它会逐渐优化,最终形成一套“最优策略”,帮助它做出最有利的决策。

补充:

策略可以分为两种:

  • 随机策略 (Stochastic Policy): 这种策略在给定的状态 s 下,会给每一个可能的动作 a 分配一个概率 π(a∣s)。也就是说,在某个状态下,智能体可能会以不同的概率选择不同的动作。你可以把它想象成,我们的小人在某个格子上,向上走的可能性是 0.7,向右走的可能性是 0.3。
  • 确定策略 (Deterministic Policy): 这种策略在给定的状态 s 下,会直接输出一个确定的动作 a=μ(s)。也就是说,在某个状态下,智能体永远会选择同一个动作,没有随机性。你可以把它想象成,我们的小人在某个格子上,永远只会选择向上走。

实际上,确定策略可以看作是随机策略的一种特殊情况,即某个特定动作的概率是 1,其他动作的概率都是 0。

4. Markov property (马尔科夫性质) ——历史无关性

马尔可夫性质 说明智能体的未来状态只与当前状态 s 和当前选择的动作 a 有关,而与过去的状态和动作无关。简单来说,智能体的决策只依赖于当前的状态和动作,而不受历史的影响。公式表示如下:

1.3 折扣与回报

理解了 MDP 的状态、动作和奖励之后,下一个关键问题是:智能体如何根据这些信息做出决策,以实现其目标?为了实现长期的最优行为,智能体不仅需要考虑当前的奖励,还需要权衡未来可能获得的奖励。折扣 (Discount Factor) 和 回报 (Return) 这两个概念正是帮助我们理解和量化这种时间上的权衡。

1. 折扣因子(Discount Factor)

强化学习的目标是让智能体获得最大的“长期回报”。但这里的“长期”到底有多长?未来的奖励和眼前的奖励,在智能体看来是不是一样重要呢?

想象一下,现在你面前有两个选择:一个是立刻就能拿到 10 块钱,另一个是后天天有可能拿到 15 块钱。你会怎么选?大部分人可能会觉得,还是现在拿到手的更稳妥。

在强化学习里也有类似的概念。智能体通常会更看重眼前的奖励,而对未来的奖励打一个“折扣”。这个折扣系数(通常用 γ 表示,γ 的取值在 0 到 1 之间)就是用来衡量未来奖励的重要性。

  • 如果 γ 接近 0,智能体就会变得很“短视”,只关心当前的奖励,就像“及时行乐”一样。
  • 如果 γ 接近 1,智能体就会更有“远见”,更愿意为了长远的利益而牺牲眼前的部分奖励。

这个折扣系数在实际应用中非常重要,它可以帮助我们调整智能体的学习行为,让它更符合我们的目标。比如,在一些需要长期规划的任务中(像下棋),我们就需要设置一个较高的折扣系数,鼓励智能体考虑更远的局面。

2. 回报

回报是智能体从某个时间步开始,未来所有时间步的累积奖励。回报 Gt是智能体从时间步 t 开始,接下来所有时刻获得奖励的加权和,通常使用折扣因子 γ 来调整未来奖励的权重:

在这个公式中,R_{t+k+1}表示在时间步 t+k+1时,智能体选择某个动作后获得的奖励,它是一个随机变量,其值取决于当前状态、选择的动作以及环境的反馈。

理解回报的概念至关重要,因为在强化学习中,我们通常希望找到一个策略,能够最大化智能体在所有可能起始状态下的期望回报。而为了评估不同策略的优劣,以及指导智能体学习更优的策略,我们需要引入价值函数 (Value Function) 的概念,它将回报的思想与状态和动作联系起来。

1.4 价值函数(Value Function) 

理解了折扣和回报这两个关键概念之后,我们自然会思考:如何利用这些回报来评估智能体所处的不同状态以及在这些状态下采取的不同动作的优劣呢?这就引出了价值函数 (Value Function) 的概念。价值函数是强化学习中用来衡量状态或状态-动作对的“好坏”程度的重要工具。它主要分为两种:状态价值函数 V^{\pi }(s) 和 动作价值函数 Q^{\pi }(s,a) 。接下来,我们将深入了解这两种价值函数及其与回报之间的关系,为后续学习更复杂的强化学习算法打下基础。

1.状态价值函数 (State Value Function)

状态价值函数,我们通常用 V^{\pi }(s)来表示。它可以理解为:

在给定策略 π 的情况下,从状态 s 开始,未来能够获得的期望总回报。

简单来说,它衡量的是在一个特定的策略下,处于某个状态有多“好”。这里的“好”指的是未来能够获得的奖励总和的期望值。

用数学公式表达是这样的:

2. 状态-动作价值函数 (State-Action Value Function)

状态-动作价值函数,通常用 Qπ(s,a) 来表示。它可以理解为:

在给定策略 π 的情况下,从状态 s 开始,先执行一个动作 a,然后再遵循策略 π,未来能够获得的期望总回报。

简单来说,它衡量的是在一个特定的策略下,在某个状态采取某个动作有多“好”。它不仅考虑了当前采取的动作,还考虑了之后按照既定策略行动所能带来的所有未来回报。

用数学公式表达是这样的:

总结一下:

  • 状态价值函数 Vπ(s) 告诉我们“处于某个状态有多好”。
  • 状态-动作价值函数 Qπ(s,a) 告诉我们“在某个状态采取某个动作有多好”。

以上是强化学习中的基本概念,下一个专题会整理贝尔曼期望方程。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值