初识强化学习:小探员的第一关迷宫挑战
一、人工智能的三种学习方式:为什么走迷宫属于强化学习?
『哎呀,又撞墙了!』魔法迷宫里传来小探员小智的抱怨声。这是小智第一次接到走出迷宫、找到藏宝箱的任务——迷宫四周是高高的石墙,只有唯一的出口藏在迷宫的某个角落,出口处放着能实现一个愿望的魔法宝藏。小智站在迷宫入口,面前是四条岔路:往前是死路,往左是绕远的通道,往右通向一个陷阱,只有往下走才能慢慢接近出口。可问题是,没有人告诉小智哪条路是对的,他只能自己一步一步试,撞了墙就退回来,掉进陷阱就重新开始,试了十几次之后,小智终于摸对了路线,拿到了宝藏。
而小智这次「自己试错、靠反馈学会技能」的过程,正是我们要讲的强化学习(Reinforcement Learning, RL)最核心的逻辑。要理解强化学习到底有什么特别,我们得先知道人工智能的三种主要学习方式,就像你要认识一种新水果,得先知道它和苹果、香蕉有什么不一样。
人工智能的发展过程中,研究者总结出了三种最主流的学习范式,它们分别对应三种完全不同的学习逻辑: 第一种是监督学习(Supervised Learning),你可以把它理解成「老师带著答案教的学习」。比如妈妈教你认苹果,会拿出几十张苹果的图片,每张图片旁边都标著「苹果」两个字,还会告诉你「这个红红的、圆圆的、带把的东西就是苹果,那个黄黄的、弯弯的是香蕉」。你把这些带标签的例子记下来,下次再看到红红的圆的水果,就能认出是苹果。AI的监督学习也是一样:研究者给AI提供大量「带正确答案」的数据,比如标注好内容的猫狗图片、标注好意思的句子,AI从这些数据里找规律,学会之后就能完成识别、分类的任务。你手机里的人脸解锁、语音助手识别你说的话,底层大多用的是监督学习——它的核心是「有标准答案可对照」。
第二种是无监督学习(Unsupervised Learning),你可以把它理解成「自己找规律的学习」。比如妈妈给你一盒没标签的奥特曼卡片,让你把相同的卡片放在一起,没有告诉你哪张是迪迦、哪张是赛罗,你自己观察卡片的图案、颜色、特征,把长得一样的放在一起,这就是无监督学习。AI的无监督学习也一样:研究者不给AI正确答案,只给它一堆没有标注的数据,比如一堆用户购物记录、一堆迷宫的图片,让AI自己找数据里的规律,比如把用户分成不同的消费群体,或者找出迷宫图片的共同特征。它的核心是「没有标准答案,自己找模式」。
第三种就是我们今天要讲的强化学习,你可以把它理解成「玩游戏试错的学习」。就像小智走迷宫,没有老师告诉他哪条路对,也没有一堆已经走通的迷宫例子给他参考,他只能自己走,走对了拿奖励,走错了受惩罚,慢慢积累经验,最后学会怎么走到出口。再比如你玩超级马里奥,一开始不知道踩怪物能得分、掉进坑里会死,玩了几十次之后,你慢慢记住了哪里会出怪物、哪里是坑,最后能一次通关,这个学习过程就是强化学习。它的核心是「没有标准答案,靠和环境的交互拿反馈,试错中学会最优策略」。
三种学习范式没有高低之分,只是适合的场景不一样:监督学习适合有大量标注数据的场景,比如识图、识语音;无监督学习适合找数据规律的场景,比如用户分群、异常检测;而强化学习适合需要连续决策、靠试错积累经验的场景,比如走迷宫、玩游戏、自动驾驶、机器人控制——这些场景要么没有标准答案,要么标注数据的成本太高,用强化学习反而更高效。
> 📖 纸书注:此处可配插图:左侧是妈妈教认苹果的监督学习示意图,中间是小朋友分奥特曼卡片的无监督学习示意图,右侧是小探员走迷宫的强化学习示意图,三个场景下方分别标注对应的学习范式名称,方便小朋友直观区分。
【电子版侧边栏:🎮 互动小思考】 想一想:你平时玩闯关游戏的时候,是怎么学会躲怪物、拿金币的?是不是也是试了很多次,死了很多次才学会的?这个过程其实就是最原始的强化学习哦!
---
二、强化学习的五大核心要素:小智走迷宫的「角色配置」
要搞清楚强化学习是怎么工作的,我们得先给它的每个部分起好名字,就像玩角色扮演游戏,得先知道玩家是谁、游戏世界是什么、能做什么操作、赢了有什么奖励。小智走迷宫的任务里,刚好对应强化学习的五大核心要素,我们一个个来认识:
2.1 智能体(Agent):负责做决策的「小侦探」
我们给这个负责感知环境、做出决策、执行动作的AI角色起一个专业名称:智能体(Agent)。你可以把智能体理解成AI世界的「小侦探」,所有能独立和外界互动、完成特定任务的AI,都可以被称为智能体——以后你看到这个词,就知道它指的就是负责「干活」的AI角色。
在我们今天的迷宫任务里,小探员小智就是智能体:他能感知自己现在在迷宫的哪个位置,能决定往哪个方向走,能从环境那里拿到奖励,所有的决策和动作都是他来做。以后我们讲AI下围棋、AI开汽车,那个下棋的AI、开车的AI,都是对应的智能体。
2.2 环境(Environment):智能体之外的所有「互动对象」
和智能体互动的所有外部事物,统称为环境(Environment)。在小智的迷宫任务里,环境不仅包括迷宫里的墙壁、出口、陷阱,还包括迷宫里的风、突然掉下来的小石头,甚至藏在出口的宝藏本身——只要智能体能感知到、能和它互动、能从它那里得到反馈,都属于环境的范畴。
环境的规则是由研究者提前定好的,比如迷宫的墙壁是不能穿过的,走到出口就算任务完成,掉进陷阱就要回到起点,这些规则都是环境的一部分,智能体不能改变环境,只能按照环境的规则来互动。
2.3 状态(State):智能体当前能看到的「全部情况」
智能体当前能感知到的所有环境信息,统称为状态(State)。你可以把状态理解成智能体的「当前情境快照」:就像你玩密室逃脱,站在某个房间里,能看到的道具、听到的声音、门锁的状态,全部加起来就是你当前的「状态」。
在小智的迷宫任务里,状态就是小智当前能获取的所有信息:比如他现在在迷宫的哪个坐标(第2行第3列)、周围上下左右是墙还是通道、有没有陷阱、离出口还有多远。每个不同的位置、不同的周围环境,都对应一个不同的状态——比如小智站在入口的状态,和站在迷宫中间某个通道的状态,是完全不一样的。状态是强化学习里智能体做决策的唯一依据:智能体看不到整个迷宫的全貌,只能根据当前的状态来选择下一步怎么走。
2.4 动作(Action):智能体能做的所有「选择」
智能体在当前状态下能做出的所有选择,统称为动作(Action)。就像你玩棋类游戏,能走的每一步都是可选的动作;就像你玩角色扮演游戏,能攻击、能吃药、能逃跑,这些都是可选的动作。
在小智的迷宫任务里,可选的动作非常简单:只有四个——往上走、往下走、往左走、往右走,当然也可以选择站在原地不动。有些更复杂的强化学习任务里,动作的选择会更多,比如AI玩机器人足球,可选的动作包括跑、跳、踢球、传球,甚至有上百种不同的动作组合。
2.5 奖励(Reward):环境给智能体的「反馈分数」
智能体执行一个动作之后,环境给它的反馈,统称为奖励(Reward)。奖励可以是正向的(比如拿到金币、得分),也可以是负向的(比如撞墙的惩罚、掉血)。奖励是强化学习里最重要的「指挥棒」:我们设计奖励的规则,就是为了引导智能体做出我们想要的行为。
在小智的迷宫任务里,奖励的规则是我们提前定好的:
- 走到出口,拿到宝藏,给**+100金币**的正向奖励,这是最大的奖励;
- 掉进陷阱,受到伤害,给**-50金币**的负向奖励(惩罚);
- 走到死路,浪费时间,给**-10金币**的负向奖励;
- 每正常走一步,给**-1金币**的小惩罚,鼓励小智尽快找到出口,不要绕路。
你看,奖励的设计完全是为了引导小智做我们想要的事:如果只设置走到出口给奖励,小智可能会慢慢绕路,花几个小时才走到出口;加上每步的小惩罚,小智就会主动找最短的路线,既不会走死路,也不会绕远路。
> 📖 纸书注:此处可配插图:小探员站在迷宫入口,周围用气泡标注五个核心要素:智能体(小智的卡通头像)、环境(迷宫的卡通图)、状态(小智周围的地图图标)、动作(上下左右四个箭头)、奖励(金币和骷髅的图标),每个图标旁边标注对应的术语名称,方便小朋友记忆。
---
三、智能体与环境的交互循环:小智是怎么一步步学会走迷宫的?
认识了五个核心要素之后,我们来看看小智到底是怎么通过强化学习学会走迷宫的。强化学习的核心是一个不断循环的交互流程:智能体观察状态→选择动作→执行动作→拿到奖励和新状态→再观察状态→再选动作……直到任务完成。我们用小智的迷宫任务来一步步拆解这个流程:
3.1 第一步:观察当前状态
小智站在迷宫入口,首先会观察自己当前的状态:他现在在迷宫的左上角,坐标是(0,0),周围的情况是:上方是墙,左边是墙,右边是通道,下方也是通道。这就是小智当前能拿到的全部信息,他不知道出口在右下角,也不知道右边的通道通向死路,只能根据当前的状态做决策。
3.2 第二步:选择下一步动作
根据当前的状态,小智要选一个动作。一开始小智没有经验,只能随机选一个方向,比如他选了「往下走」。这个选择的过程,在强化学习里叫策略(Policy),你可以把策略理解成智能体的「行动指南」:告诉智能体在什么状态下该选什么动作。一开始的策略是随机的,慢慢积累经验之后,策略会越来越准确,最后变成最优策略。
3.3 第三步:执行动作,拿到奖励和新状态
小智
小智选择往下走之后,迷宫环境会立刻给出反馈:这一步没有撞墙也没有掉进陷阱,所以环境给小智发了-1金币的惩罚,同时更新了小智的当前状态——他现在的位置变成了迷宫的(1,0)坐标,也就是从入口往下走了一格,周围的情况变成了:上方是刚才走过的入口通道,左侧是石墙,右侧是通往未知的通道,下方也是继续延伸的通道。这就是强化学习交互循环里的「执行-反馈」环节:智能体做动作,环境给奖励和新状态,整个循环不会停,直到智能体完成任务或者失败重置。
我们可以用下面的流程图把整个交互循环的完整逻辑画出来,不管多复杂的强化学习任务,底层都是这个循环在不断运转: ```mermaid graph TD A[智能体观察当前状态S] --> B[智能体根据策略选择动作A] B --> C[智能体执行动作A,与环境交互] C --> D[环境给出奖励R和新状态S'] D --> E{是否完成任务?} E -->|否| A E -->|是| F[结束本次任务,更新策略] ```
为了让你更明白这个循环是怎么让小智学会走迷宫的,我们来看看小智前三次尝试的完整过程,为了方便说明,我们先看下面这个5x5的迷宫地图,S是入口,E是出口,X是墙,T是陷阱,.是通道: ``` 迷宫地图(5x5): S . X . . . . . X . . T . . . X . . T . . . . X E ``` 第一次尝试:小智站在入口S(0,0),随机选了「往右走」→ 走到(0,1),拿到-1奖励 → 又选「往右走」→ 走到(0,2),撞墙!拿到-10惩罚,状态重置回(0,1)。这次尝试总奖励是-1*2 + (-10) = -12,小智刚走两步就碰了壁,觉得有点沮丧。 第二次尝试:小智站在入口S(0,0),这次他记住了之前往右走会撞墙,于是随机选了「往下走」→ 走到(1,0),拿到-1奖励 → 又选「往下走」→ 走到(2,0),拿到-1奖励 → 再选「往下走」→ 走到(3,0),拿到-1奖励 → 再选「往下走」→ 走到(4,0),拿到-1奖励 → 再选「往右走」→ 走到(4,1),拿到-1奖励 → 再选「往右走」→ 走到(4,2),拿到-1奖励 → 再选「往上走」→ 走到(3,2),拿到-1奖励 → 再选「往右走」→ 走到(3,3),拿到-1奖励 → 再选「往上走」→ 走到(2,3),拿到-1奖励 → 再选「往右走」→ 走到(2,4),拿到-1奖励 → 再选「往下走」→ 走到(3,4),拿到-1奖励 → 再选「往下走」→ 走到(4,4),拿到-1奖励 → 再选「往右走」→ 撞墙!拿到-10惩罚,状态重置回(4,4)。这次尝试总奖励是-1*13 + (-10) = -23,比第一次还差,因为走了更多弯路,小智累得气喘吁吁。 第三次尝试:小智站在入口S(0,0),这次他记住了:往右走会立刻撞墙,往下走会走到最下边的死路,于是他随机选了「往下走」→ 走到(1,0),拿到-1奖励 → 又选「往右走」→ 走到(1,1),拿到-1奖励 → 再选「往下走」→ 走到(2,1),拿到-1奖励 → 再选「往右走」→ 走到(2,2),拿到-1奖励 → 再选「往下走」→ 走到(3,2),拿到-1奖励 → 再选「往右走」→ 走到(3,3),拿到-1奖励 → 再选「往下走」→ 走到(4,3),拿到-1奖励 → 再选「往右走」→ 走到(4,4),拿到-1奖励 → 再选「往上走」→ 走到(3,4),拿到-1奖励 → 再选「往上走」→ 走到(2,4),拿到-1奖励 → 再选「往上走」→ 走到(1,4),拿到-1奖励 → 再选「往上走」→ 走到(0,4),拿到-1奖励 → 再选「往左走」→ 走到(0,3),拿到-1奖励 → 再选「往下走」→ 走到(1,3),拿到-1奖励 → 再选「往下走」→ 走到(2,3),拿到-1奖励 → 再选「往右走」→ 走到(2,4),拿到-1奖励 → 还是死路,总奖励-17,还是很差。
你看,前三次尝试小智都是瞎蒙,要么撞墙要么绕远路,总奖励都是负数。但是每一次尝试之后,小智都会把这次的经历记下来:比如(0,0)状态往右走,会立刻撞墙,总奖励很低;(0,0)状态往下走,虽然也会走到死路,但至少能多走几步。慢慢试了几十次、几百次之后,小智就会总结出规律:在(0,0)状态选往下走,比选往右走的总奖励高;在(1,0)状态选往右走,比选往下走的总奖励高……最后小智会形成一套固定的选择规则,也就是我们之前说的「策略(Policy)」:每个状态下选哪个动作,能拿到最高的总奖励。这套最优策略对应的路线就是:往下→右→下→右→下→右→下→右,刚好8步走到出口E(4,4),总奖励是-1*8 + 100 = 92,是所有路线里最高的。
> 📖 纸书注:此处可配插图:小智前三次尝试迷宫的路线示意图,用红色线画第一次的路线、蓝色线画第二次的路线、绿色线画第三次的路线,每条路线旁边标注对应的总奖励,小智的卡通形象站在起点,旁边配文字气泡:「往右会撞墙!往下走好像更远一点…」,让小朋友直观看到试错的过程。
3.1 奖励:强化学习的「指挥棒」
你可能会问:为什么小智最后能选出总奖励最高的路线?这就要说到奖励的核心作用了。在强化学习里,奖励是整个系统的指挥棒,我们设计奖励规则的目的,就是引导智能体做出我们希望它做的行为。 在我们这个迷宫任务里,奖励规则的设计非常关键:
- 如果我们只设置「走到出口给+100奖励,其他情况没有奖励」,那小智可能会学会慢慢绕路,反正没有惩罚,花100步走到出口也能拿到100奖励,这显然不是我们想要的;
- 如果我们加上「每走一步给-1惩罚」,那小智就会主动找最短的路线,因为走的路越短,扣的惩罚越少,最终拿到的总奖励越高;
- 如果我们再加上「撞墙给-10惩罚、掉陷阱给-50惩罚」,那小智不仅会找最短路线,还会主动避开死路和陷阱,行为会完全符合我们的预期。
你看,奖励规则的设计直接决定了智能体最后学会的行为:奖励设计得好,智能体就会做我们想要的事;奖励设计得不好,智能体可能会学会一些奇奇怪怪的行为——比如有研究者做实验,让AI玩赛车游戏,奖励是「往前开得分」,结果AI学会了在原地转圈得分,因为转圈也能拿到奖励,完全偏离了「往前开到终点」的预期。这个例子也告诉我们,设计合理的奖励规则是强化学习里非常重要的一步,我们后面的章节还会专门讲怎么设计好的奖励函数。
3.2 回报:衡量路线好坏的「总分」
我们刚才一直在说「总奖励」,在强化学习里,这个总奖励有一个专门的名称:回报(Return)。回报是智能体从开始做任务到任务结束这段时间里,拿到的所有奖励的加权总和,用来衡量一条路线、一套策略的好坏。 这里我们要引入一个强化学习里非常重要的参数:折扣因子(γ,读作gamma)。你可能会有疑问:为什么奖励不能直接加总,还要乘以一个折扣因子?这是因为在现实任务里,越早拿到的奖励价值越高,越晚拿到的奖励价值越低:比如你玩闯关游戏,第一关就拿到宝藏,肯定比第十关拿到宝藏更开心;小智走迷宫,马上要走到出口拿到的+100奖励,比走十步之后才拿到的+100奖励更有激励作用。折扣因子γ的取值范围是0到1,γ越接近1,代表智能体越看重未来的奖励,γ越接近0,代表智能体越只看重眼前的奖励。 比如我们设置γ=0.9,小智现在离出口还有2步,走对第一步拿到-1的步数惩罚,走对第二步拿到+100的宝藏奖励,那么这一步的回报就是:$G = -1 + 0.9 \times 100 = 89$;如果小智选了一条绕路的路线,离出口还有10步,那么就算最后能拿到+100的奖励,回报也只有$G = -1 \times 10 + 0.9^{10} \times 100 \approx -10 + 38.7 = 28.7$,比直接走两步的回报低很多,所以小智会主动选择更短的路线。 回报的计算公式可以写成: $$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots + \gamma^{T-t-1}R_T$$ 其中$G_t$是t时刻开始的回报,$R_{t+1}$是t+1时刻拿到的奖励,$T$是任务结束的时刻。你不需要现在就把这个公式背下来,只要知道「回报是带折扣的奖励总和,用来衡量路线好坏」就可以了。
3.3 强化学习的三个核心特征
现在我们回头看看,强化学习和另外两种学习范式相比,有三个非常明显的特征: 第一个特征是试错性:强化学习没有标准答案,智能体只能自己一遍一遍试,碰了壁才知道哪里走不通,拿到了奖励才知道哪里走对了。这和监督学习完全不一样:监督学习有老师给的正确答案,比如教AI认猫,给1000张标注好「猫」的图片,AI学完就能认出猫,不需要自己试;而强化学习没有这些带标签的例子,只能自己试。 第二个特征是延迟反馈:很多强化学习任务的反馈是延迟的,不是做一步动作立刻就能拿到奖励。比如AI下围棋,要走几百步棋之后才知道最后是赢还是输,中间每一步的反馈都是延迟的;再比如你学做蛋糕,要烤完20分钟、尝一口才知道好不好吃,中间每一步的反馈都是延迟的。而无监督学习甚至没有明确的反馈,只是自己找数据规律。 第三个特征是序列决策:强化学习的动作是有先后顺序的,前面的动作会直接影响后面的状态和结果。比如走迷宫,第一步选错了,后面怎么走都到不了出口;下围棋,前面走错一步,后面可能就会输。而监督学习的每个样本都是独立的,比如认猫的图片,每张图片的结果和之前的图片没有关系。
> 📖 纸书注:此处可配插图:三个卡通场景分别对应三个特征:第一个是小智撞墙(试错性),第二个是下围棋的棋盘(延迟反馈)