人工智能通识课:机器学习之强化学习
并不是所有机器学习问题都能通过“给定输入再预测输出”的方式来解决。在很多真实场景中智能体Agent并不是一次性看完全部数据后直接作出结论而是要在环境中不断行动、不断观察结果并根据结果调整后续策略。例如一个机器人学习走迷宫时并没有人逐步告诉它“每一步该怎么走”一个游戏智能体学习下棋时也不是简单记住“这一步的标准答案”一个自动驾驶系统在某些决策层问题上也更接近于“根据当前状态选择动作并根据后果不断修正行为”。这类问题的共同特点是学习主体必须通过与环境交互来逐步变得更好。这种学习方式就是强化学习Reinforcement Learning。强化学习是机器学习中的一类重要方法。它关注的不是单个样本上的静态预测而是智能体如何在连续决策过程中通过试错Trial and Error不断优化行为策略以获得尽可能大的长期收益。因此学习强化学习本质上是在理解当机器必须“边行动边学习”时它是如何形成决策能力的。一、先从一个任务开始让机器在迷宫中学会前进假设现在有一个简单迷宫• 智能体从起点出发• 目标是尽快到达终点• 可执行的动作包括上、下、左、右• 撞到墙上无效走一步会消耗一次机会• 到达终点会得到奖励在这个任务中智能体并没有现成答案可直接模仿。也就是说没有人告诉它第一步一定向右、第二步一定向下哪条路径是唯一标准解。它只能在环境中不断尝试• 在当前位置选择一个动作• 观察执行动作后环境发生了什么变化• 获得某种反馈奖励或惩罚• 再决定下一步如何行动如果把这个过程抽象一下就会发现这里和监督学习很不同。监督学习中往往是“输入—答案”成对出现而强化学习中更像是“状态—动作—反馈—新状态”不断循环。可以把一次交互粗略写成在时刻 t智能体处于状态 sₜ选择动作 aₜ环境返回奖励 rₜ并转移到新状态 sₜ₊₁。图 1迷宫任务中的强化学习过程也就是说强化学习面对的不是一个静态表格而是一个连续互动的过程。迷宫任务体现了强化学习最基本的交互闭环智能体观察状态、选择动作、接收反馈并根据反馈调整后续行为。延伸阅读《ML从状态到策略——强化学习的最小闭环》二、什么是强化学习通过交互和反馈学习行为策略强化学习的核心不是“直接预测标签”也不是“自动发现数据分组”而是让智能体在环境中通过行动和反馈学习一种更优行为方式。图 2强化学习的基本思想从直观上看强化学习可以概括为这样一个过程• 智能体观察当前环境状态• 根据当前状态选择一个动作• 环境因这个动作发生变化• 智能体收到一个奖励或惩罚• 智能体根据结果调整以后的行为因此强化学习最关心的问题可以写成在不同状态下应该采取什么动作才能使长期累计奖励尽可能大这里要特别注意“强化”并不是简单地指“多做几遍”而是指通过奖励信号不断强化那些更有利的行为抑制那些效果较差的行为。从形式上看强化学习中的基本交互循环常写作其中• sₜ 表示时刻 t 的状态• aₜ 表示智能体选择的动作• rₜ 表示环境返回的奖励• sₜ₊₁ 表示执行动作后的新状态这说明强化学习不是一次性从历史数据中学出答案而是在交互过程中逐步修正决策。三、强化学习中的核心对象要理解强化学习需要先分清几个基础对象智能体、环境、状态、动作和奖励。图 3强化学习中的核心对象1、智能体智能体Agent是作出决策并执行动作的主体。例如• 迷宫中的移动者• 游戏中的下棋程序• 机器人控制系统• 推荐系统中的决策模块智能体的任务是根据当前状态决定下一步动作。2、环境环境Environment是智能体所处的外部世界。智能体的动作会作用于环境环境再把结果反馈回来。例如• 迷宫地图是一种环境• 棋盘及其规则构成一种环境• 机械臂所面对的物理系统也是环境环境决定了动作是否有效、状态如何转移、奖励如何产生。3、状态状态State是对当前情形的描述也就是智能体此刻能够观察到的信息。例如在迷宫任务中状态可以包括• 智能体当前所在位置• 周围是否有墙• 终点相对位置状态并不一定等于环境的全部信息而是用于决策的当前表示。4、动作动作Action是智能体在某个状态下可以执行的行为。例如• 向上、向下、向左、向右移动• 在棋局中落子• 在控制任务中加速、减速、转向动作集合通常由具体任务决定。5、奖励奖励Reward是环境对动作结果给出的反馈信号。例如• 到达终点得 10• 撞墙得 -1• 每走一步得 -0.1• 游戏胜利得 1失败得 -1奖励并不是对“状态本身”做描述而是对行动结果给出评价。它告诉智能体刚才这个动作带来的结果是好还是坏。这几个对象共同构成了强化学习的基本框架智能体观察状态选择动作环境接收动作返回奖励和新状态智能体根据反馈改进后续策略。四、强化学习与监督学习、无监督学习的区别强化学习与监督学习、无监督学习都属于机器学习的重要范式但它们的学习机制不同。图 4强化学习与监督学习、无监督学习的区别监督学习的核心是从 X 和 y 中学习映射关系X → y无监督学习的核心是从 X 中发现内部结构X → 结构强化学习的核心是通过交互改进行为策略状态 s → 动作 a → 奖励 r → 价值更新 → 策略改进可以从以下角度理解三者差异• 监督学习依赖带标签数据• 无监督学习依赖无标签数据中的结构• 强化学习依赖智能体与环境的交互反馈在监督学习中错误通常来自预测结果与真实标签之间的差异在无监督学习中结果需要通过结构合理性解释在强化学习中行为是否有效需要通过长期奖励来判断。五、强化学习为什么强调长期回报强化学习容易被简化理解为“哪个动作奖励大就选哪个动作”。这种理解只抓住了即时奖励的一部分却忽略了长期效果。在强化学习中一个动作的价值往往不只取决于当前立即得到多少奖励还取决于它是否会带来更好的未来结果。图 5即时奖励与长期回报例如在迷宫中某一步看起来没有得到奖励但它可能让智能体更接近终点从长期看这一步其实是有价值的。反过来某一步也许立即得到一点小奖励但它可能把智能体带入死路 从长期看反而不划算。因此强化学习通常关心的是累计回报Return而不是单个时刻的即时奖励。常见写法为其中• Gₜ 表示从时刻 t 开始的累计回报• rₜ, rₜ₊₁, rₜ₊₂ 表示当前及未来的奖励• γ 表示折扣因子满足 0 ≤ γ ≤ 1这里的折扣因子 γ 表示未来奖励通常会按一定比例折减。如果 γ 较大说明模型更看重长期收益如果 γ 较小说明模型更看重当前收益。这也是强化学习与许多普通预测任务的重要区别之一它真正关注的是“从整体过程看什么行为更好”。六、策略是什么强化学习真正要学的对象在强化学习中智能体最终不是在背标准答案而是在学习一种行为规则。这种规则通常称为策略Policy。图 6策略、价值与探索利用策略回答的问题是在状态 s 下应该采取什么动作 a如果用符号表示策略常写作其中• π 表示策略• s 表示当前状态• a 表示可选动作• π(a | s) 表示在状态 s 下选择动作 a 的规则或概率从直观上看策略就是智能体的“行动准则”。例如在迷宫中策略可以理解为• 在左上角位置时优先向右• 靠近障碍物时避免继续前进• 靠近终点时尽快接近终点策略有时是确定性的即某个状态下总是选择同一个动作有时也是随机性的即某个状态下按一定概率选择不同动作。强化学习的一个核心目标就是找到一个更优策略使智能体在长期上获得更高回报。因此策略是强化学习中最中心的概念之一。奖励是反馈状态是情境动作是行为而策略则是把这些联系起来的决策规则。七、价值是什么评估状态和动作是否值得除了策略强化学习中还有一个很重要的概念就是价值Value。直观地说价值用于衡量• 某个状态有多“值得到达”• 在某个状态下采取某个动作有多“值得去做”1、状态价值状态价值函数通常记为 V(s)表示在状态 s 下未来可能获得的期望累计回报。它回答的问题是如果我现在处在这个状态未来整体前景如何2、动作价值动作价值函数通常记为 Q(s, a)表示在状态 s 下执行动作 a 后未来可能获得的期望累计回报。它回答的问题是在当前状态下某个具体动作到底值不值得做例如在迷宫中某个位置本身可能不错因为离终点很近。但在这个位置上“向左”和“向右”两个动作的价值可能完全不同。因此价值函数帮助智能体不只看到“眼前一步”而是学会评估状态或动作在长期上的意义。当动作价值 Q(s, a) 被组织成表格并通过环境反馈不断更新时就形成了 Q 学习的基本入口。延伸阅读《MLQ 学习的基本原理与实现》八、探索与利用为什么不能只选当前最优动作强化学习中还有一个特别重要的问题智能体到底应该继续尝试新行为还是选择当前看起来最好的行为这就是探索与利用之间的平衡问题。1、利用利用Exploitation是指根据当前已有经验选择看起来最优的动作。例如智能体已经知道“向右更可能接近终点”于是反复选择向右。2、探索探索Exploration是指主动尝试一些尚不确定、甚至当前看起来并不最优的动作以获取更多信息。例如虽然向右通常不错但智能体偶尔也尝试向下看看是否存在更短路径。3、二者为什么都需要如果只利用智能体可能过早陷入局部最优错过更好的路径。如果只探索智能体又会一直试错难以稳定形成有效策略。因此强化学习通常需要在两者之间寻找平衡• 既要利用当前学到的经验• 又要保留一定探索空间以发现更优策略这一点在强化学习中极其关键因为智能体获得的信息往往本来就是有限的必须通过探索逐渐补全。Q 学习通常配合 ε-greedy 策略使用。因为在强化学习中智能体不能一开始就只选择当前看起来最好的动作否则可能错过更好的选择。图 7ε-greedy 策略ε-greedy 策略的思想是• 以 1 − ε 的概率选择当前 Q 值最大的动作• 以 ε 的概率随机选择一个动作在训练初期较大的 ε 有助于探索更多可能路径在训练后期较小的 ε 有助于稳定利用已经学到的经验。九、示例用一个迷宫任务理解强化学习流程下面用一个简化版描述把强化学习的基本流程串起来。这里不追求完整算法实现而是帮助建立整体认识。图 8迷宫任务中的强化学习闭环假设迷宫任务如下• 起点在左下角• 终点在右上角• 动作为上、下、左、右• 每走一步奖励 -1• 到达终点奖励 10。那么一次训练过程可以理解为• 智能体观察当前位置• 根据当前策略选择一个动作• 环境返回新位置和奖励• 智能体根据反馈更新价值或策略• 智能体继续在新状态下选择动作也就是说强化学习不是“先收集完整答案再学习”而是观察状态 → 选择动作 → 接收反馈 → 更新认知 → 继续行动如果把它写成伪代码可以粗略表示为for episode in range(若干轮): state 环境初始化() done False while not done: action 根据当前策略选择动作(state) next_state, reward, done 环境反馈(action) 根据(state, action, reward, next_state)更新策略或价值 state next_state这段伪代码体现了强化学习的几个核心特点• 学习来自交互• 数据在过程中不断产生• 更新依据是奖励与状态转移• 目标是让策略越来越优在通识层面关键不是立刻掌握复杂算法公式而是先理解这套交互式学习框架。在 Q 学习之外SARSA 也是理解强化学习价值更新的重要算法。它与 Q 学习都属于时序差分学习但 SARSA 使用下一步实际选择的动作进行更新更能体现当前策略本身的行为特点。延伸阅读《MLSARSA 的基本原理与实现》十、强化学习的意义与常见应用场景强化学习之所以重要是因为很多现实问题本质上都带有“连续决策”和“延迟反馈”的特点。图 9强化学习的常见应用场景常见应用场景包括• 游戏智能体如围棋、电子游戏策略学习• 机器人控制如行走、抓取、路径规划• 资源调度如任务分配、系统优化• 自动控制与决策问题• 某些推荐与交互系统中的序列决策这些任务的共同点在于• 行为不是一次完成的• 当前决策会影响后续状态• 反馈往往不是立刻完整给出• 系统需要通过不断试错逐渐优化因此强化学习为人工智能提供了一种重要能力不是只会“看数据做判断”而是能在行动中学习更优决策方式。 小结强化学习是让智能体在环境中通过状态、动作、奖励的交互不断学习更优策略的方法。它强调长期回报、连续决策以及探索与利用的平衡。理解强化学习有助于建立对“边行动边学习”这一类智能问题的整体认识。“点赞有美意赞赏是鼓励”