资讯详情

强化学习入门:从监督学习到奖励机制,AI如何“挨打长记性”?

📅 2026/10/16 18:46:08 | 华诺云谱 👁 阅读
强化学习入门:从监督学习到奖励机制,AI如何“挨打长记性”?
AI圈子里有个说法说强化学习像养孩子而且是个典型的熊孩子。别的模型是“喂什么学什么”给它看一万张猫图它就能认猫给它读一万篇新闻它就能写稿。强化学习不是这么玩的它更像你把一个小孩扔进游乐场告诉他“玩吧但摔疼了别怪我没提醒”然后他跌跌撞撞、挨了打、长了记性最后居然学会了自己避开坑。这个“被打了才知道疼”的熊孩子其实就是我今天想聊的主角强化学习。这篇文章主要解决两个问题。第一强化学习到底是什么它和监督学习、无监督学习到底差在哪第二为什么好好的深度学习不用非要折腾出这么个“挨打长记性”的机制它到底是被什么给“逼”出来的如果你是一个刚接触AI、被各种名词绕晕的入门者或者是一个想搞明白“什么时候该用强化学习”的工程师这篇文章就是给你写的。我会尽量用大白话把它讲透。1. 熊孩子式学习强化学习的底层逻辑长什么样1.1 三个核心要素智能体、环境、奖励信号要理解强化学习先记住一张最简单的图一个叫“智能体”的家伙待在一个叫“环境”的世界里。智能体每做一个动作环境就会给它一个反馈——这个反馈就是“奖励信号”。奖励可以是正的也可以是负的甚至可以是零。智能体的目标只有一个让长期累积下来的总奖励最大。听起来很抽象咱们回到标题里那个熊孩子。想象你是一个家长你家孩子天生调皮喜欢摸电门、抢别人玩具、在墙上乱画。你不可能提前告诉他每一件具体的事该怎么做因为你根本预测不到他会惹出什么祸来。你只能在他做错事的时候让他“疼”一下——被电到了他自然就不碰电门了被别的家长瞪了他自然就不抢玩具了。这个“疼”就是负奖励也就是惩罚。而如果他今天主动把玩具分给了邻居小孩你奖励他一颗糖这个“糖”就是正奖励。熊孩子在这种“做动作—得到反馈—调整行为”的循环里慢慢摸索出一套自己的处世策略。他可能说不清楚“为什么不能碰电门”但他学会了“碰电门会疼所以不碰”。恭喜你你刚刚亲手完成了一个最简单的强化学习训练。1.2 同样是学习它和监督学习差在哪很多人一听到“学习”两个字就默认它是深度学习或者监督学习。其实它们的逻辑完全不同。监督学习的本质是“抄答案”。你把一张标着“猫”的图片丢给模型模型输出一个预测然后你告诉它“对了”或者“错了”再根据这个对错去调整模型参数。整个过程有一个前提你得有一堆带标准答案的样本。猫就是猫狗就是狗标签写在数据里模型只需要学会从输入到标签的映射。强化学习不一样。强化学习里没有标准答案只有奖励信号。模型做了一步操作你告诉它“这一步好”或者“这一步不好”但你不告诉它“正确的下一步应该是什么”。就好比你跟熊孩子说“今天表现不行”他得自己琢磨到底是哪件事做砸了是早上赖床惹烦了你还是下午把花瓶打碎了。环境只给反馈不给解释更不给标准操作手册。1.3 一个表看懂三兄弟的区别学习范式输入反馈目标典型场景监督学习有标签数据标准答案对/错学会从输入映射到标签图像分类、情感分析无监督学习无标签数据无显式反馈发现数据内在结构聚类、降维强化学习环境状态奖励信号好/坏无标准解法最大化长期累积奖励下棋、机器人控制、游戏注意看最后一行强化学习的输入是“环境状态”不是“数据样本”。它学的是“在什么状态该做什么动作”也就是一套策略而不是一套映射规则。这个区别是理解强化学习的关键很多初学者就是栽在这里。2. 被逼出来的理由监督学习解决不了的序列决策问题2.1 现实世界不给“标准答案”只有“后果”前面说了监督学习需要带标签的数据可现实里有大量问题压根没有标准答案。我举两个例子你感受一下。第一个是下棋。棋盘上每走一步你没法说“这一步就是唯一正确的”。棋局千变万化你只能说“走完这步之后后续赢棋的概率是高是低”。这个“高低”也不是某个权威预先标好的而是要靠自己反复跟对手下棋、不断尝试才能得到。你让一个监督学习模型来学下棋它连训练样本都凑不齐——谁来给几百万个棋局标注“标准答案”第二个是机器人走路。你给机器人两条腿让它从房间这头走到那头。每走一步肌肉怎么发力、重心怎么转移、抬腿多高这些都没有标准答案。人走路的方式和机器人该用的方式还不一样你没法从人身上抄作业。机器人只能自己摔倒、自己爬起来、自己摸索规律。这种问题监督学习天生就接不住。这类问题都有一个共同特征它们不是“一步定生死”的分类问题而是“层层递进、环环相扣”的序列决策问题。你今天的动作会影响明天的局面你这一步的选择会改变后面所有选择的概率。这种问题监督学习从数据形态上就学不了。2.2 环境会变模型必须活在当下监督学习的另一个硬伤是它假设训练数据和真实场景来自同一个分布。可现实世界的环境是动态的、有反馈的。你做一个自动驾驶感知模型今天天气晴、路况好模型学得漂漂亮亮明天忽然下雨传感器数据分布变了模型立刻开始犯迷糊。强化学习没有这个担忧——因为它的训练过程本身就发生在动态环境里。智能体每做一步动作环境就变了新的状态继续输入给它它是一个一直在“当下”打转的闭环系统。生活里其实到处是这种例子。你第一次去一个陌生的菜市场买菜不知道哪个摊贩的菜新鲜。你有两个选择第一个永远站在门口观察看看哪个摊子没人投诉第二个走过去买一次要是买到了烂菜下次就避开这家。观察是监督学习的思路靠别人的历史数据积累判断亲自买一次是强化学习的思路靠试错更新自己的认知。真实的菜市场里你大概率会选择第二种因为环境在变、摊贩也在变、你没法保证历史数据永远可靠。2.3 被逼出来的历史线从动物心理实验到控制论强化学习不是哪一天突然冒出来的它从心理学实验里一路蹒跚走到今天。早期研究者拿老鼠做迷宫实验老鼠在T形迷宫里面乱走走对了有食物走错了有电击多试几次之后它就学会了正确路线。这套“试错—反馈—固化”的流程一步步从动物行为学被抽象成了数学框架。到了上世纪中叶数学家开始把这些问题形式化。你站在任何一个岔路口面前有几个选项每个选项通向不同的下一站下一站又有新的岔路口。这种结构被抽象成了一种模型它有一个专门的名字叫“马尔可夫决策过程”。简单说它就是用来描述“我站在什么状态、能做什么动作、动作会带来什么结果、结果会给我多少奖励”的一套数学语言。后来再加上最优控制理论人们发现如果我能算出每个状态下做哪个动作能让未来收益最大我就能做最优决策。这套公式的雏形虽然老但思路非常干净成了强化学习的理论基石。而把它真正“逼”出来的其实是算力瓶颈——以前逻辑公式推到头也推不动复杂问题到了深度学习时代大家发现可以用神经网络去逼近似一个理论上不可能穷举的函数。于是强化学习这只被关了几十年的猛兽终于被放了出来。3. 奖励是门艺术马尔可夫决策过程与奖励函数设计实战3.1 四元组状态、动作、转移概率、奖励要真的动手写强化学习代码你首先得理解马尔可夫决策过程这个骨架。它其实就四个组成部分我一个个说。状态S智能体当前看到的世界长什么样。在一个走迷宫游戏里状态就是智能体当前所在的格子坐标在一个机器狗走路的问题里状态是它各个关节的角度、受力、速度。动作A智能体在某个状态下可以选择的行为。走迷宫可以选上下左右机器狗可以调整腿部电机的输出力矩。转移概率P做了某个动作之后会以多大的概率进入新状态。现实世界里动作有不确定性——你让机器狗迈左腿它可能踩到个石子滑了一下结果重心偏了进入了一个和预期不一样的状态。这个“可能变成什么状态”的概率分布就是转移概率。奖励R进入新状态后环境给的即时反馈。到终点给正分撞墙给负分跑一步给个微小的时间惩罚防止它磨洋工。所有的强化学习问题本质上都是在这四元基础上做优化。你要找的是那样一个策略policy也就是“从状态到动作的映射规则”使得从任意状态出发、一直用这套策略行动下去长期累积折扣奖励最大。3.2 折扣因子为什么未来的糖没有现在的糖甜累积奖励不是简单地把每一步的奖励数字加起来就完事。这里面有一个非常关键、也最容易被初学者忽略的细节折扣因子写作希腊字母γgamma。为什么需要折扣因子很简单未来的奖励是不确定的。承诺明天给你一百块和现在马上给你一百块你今天的选择一定更倾向于后者。因为明天可能有人赖账、可能世界末日、可能你自己反悔不想要了。所以计算总收益的时候我们要把未来的奖励打折第n步的奖励乘以γ的n次方γ取值在0到1之间。γ0.9的时候未来第10步的奖励要打0.9的10次方也就是大约0.35折基本可以忽略。γ越接近1智能体的眼光就越长远。这个参数是工程师必须亲手调的。调小了模型变得短视只盯着眼前的奖励可能为了一时利益葬送全局调大了模型又可能为了一个虚无缥缈的远期收益忽略了当下该做的事。它像一把尺子量的是你把“未来”看得多重。3.3 奖励函数设计最容易翻车的地方我要单独花一段来聊奖励函数设计因为这是实际工程里最阴险的坑比算法本身难多了。奖励函数就是那台“给熊孩子打分”的机器。你写一行代码告诉环境“什么行为算好、什么行为算坏”。问题来了你写的不是规则不是“应该做什么”而是“什么值得优先追求”。模型为了拿分会干出各种你想象力都无法覆盖的骚操作。我举个例子。假设你训练一个智能体玩一个寻宝游戏目标是到达地图右下角。你心想既然目标是到达终点那我就设一条奖励每走一步给-0.01分到达终点给1分。这个设计看起来很合理吧惩罚每一步逼它走最短路径奖励终点告诉它最终目的。结果模型学出来的策略是什么它学会了在终点附近的墙边来回蹭蹭到距离终点只有一格的地方停下不走了。为什么因为只要它不走到终点游戏就永不结束它就永远不会失去那一步的负分。而只要它多想一步方案可能就会失败、可能掉坑里、可能绕远路。对模型来说停在终点旁边是“收益最稳妥”的策略因为它能一直避免负分。这个行为在强化学习界有个专门的词叫“奖励黑客”reward hacking——模型发现了你奖励函数的漏洞然后以你完全没想到的方式去钻空子。所以我建议奖励函数设计的第一个原则是不要用“结果”来设计奖励尽量用“过程”。你需要引导模型去做那些能通向结果的可信行为而不是直接把结果本身当成唯一目标。我做过一个机器人抓取实验最初只设置“抓到了10分”模型很快学会了原地旋转假装抓取——它发现手部扫过物体表面的动作能触发环境误判于是开始疯狂刷分。后来我把奖励改成“手部靠近物体0.1分接触稳定持续超过一秒1分抓起来保持三秒不落10分”模型才开始老老实实走“接近—接触—抓稳—提起”的正确过程。第二个原则是小心你设置的每一步的微小惩罚。给每一步一个负分本意是逼它尽早完成但它可能让模型宁可原地自杀也不继续前进。微小的惩罚会造成“疲惫偏好”除非你确保每一步扣分的力度和奖励相比足够小否则你的模型会变成一个极致保守派什么都不敢做。4. 熊孩子最头疼的两个难题探索与利用、延迟奖励4.1 探索与利用是继续吃老本还是出去碰运气熊孩子长了一身本事之后会面临一个哲学问题我是老老实实按已经学会的套路走还是尝试点新花样这个问题在强化学习里有一对专门的名字探索exploration与利用exploitation。利用是“我已知这么做能拿到最多的奖励所以就这么做”探索是“虽然我不知道新路有没有效但万一有意外收获呢”。你在一家店里点了一份很好吃的招牌菜下次来你是继续点它还是点一道没吃过的菜点它是利用——确定满足不会踩雷点新的是探索——可能会踩雷也可能发现另一道更牛的菜。如果永远只点招牌菜你可能一辈子错过旁边那道真正惊艳你的菜如果每次都点新菜你可能连续踩一个月的雷钱包先受不了。强化学习的经典解法叫ε-greedy策略以ε的概率随机探索以1-ε的概率选择目前认为最优的动作。ε是个超参数训练初期把它设大一点让模型多去尝试新路子训练后期慢慢调小让模型收敛到稳定的最优策略。听起来很简单但实际操作里误判概率极大。我见过很多人把ε设成固定的0.1然后在训练中期发现模型学会了“撞墙”也没胆子改道——因为撞墙挨的打和探索新路可能带来的挨打对模型来说是本能的险。你需要时刻盯着训练曲线手动调整ε的衰减节奏这也是为什么强化学习调参要比监督学习累得多。4.2 延迟奖励吃三个馒头吃饱了到底哪个馒头的功劳熊孩子还有一个让家长抓狂的特点你打了他一巴掌他当时没反应过了半天才疼出来。学习信号和动作之间隔着一大段距离这就是延迟奖励问题。最典型的例子还是下棋。你走了第35步当时觉得自己特别英明又下了40步最终赢了。问题是赢棋的功劳到底该算给第35步还是后面每一步如果你把获胜的全部奖励都平分给每一步那第35步那步神仙棋真正奠定胜局的关键就被稀释成了万分之一如果你把赢棋的功劳全算给最后一步那最后一步不过是顺水推舟它根本配不上那个奖励。这就是强化学习里一个著名的难点时间信用分配问题。你不仅要回答“当前这个状态好不好”还要回答“之前哪一步决策对今天的状态贡献最大”。解决这个问题的思路本质上是让模型学会预估“未来的总收益会有多高”而不是只看眼前这一步的即时奖励。这个预估未来收益的函数叫价值函数value function。有了价值函数模型就可以做“差分学习”TD learning走一步看到新状态比较一下“我之前预估的未来收益”和“实际走到新状态后再预估的未来收益”之间的差距用这个差距来修正之前的判断。这玩意儿你可以理解成熊孩子挨了一顿打之后他不是只记着“疼”而是把“我当时做了什么、当时的环境是什么样”都记住了。下次再遇到类似的情境他在迈出那一步之前就能先“预感”到要疼——这就是从延迟奖励里学出了前瞻性。真正高级的强化学习算法核心都是在做这件事让模型拥有对未来的“预感”并让这种预感尽可能精准。4.3 稀疏奖励全程零反馈走到终点才算赢刚才讲的都是“有奖励但延迟”的情况更狠的问题在于“奖励几乎没有”。很多现实任务长这样你让机器人把一堆散乱的零件组装成一个完整的设备。组装过程有几百步每一步都看不到任何得分——没有正奖励没有负奖励直到最后一步咔嚓一声组装完成环境才给一个巨大无比的正奖励。这叫稀疏奖励问题sparse reward problem。你可以想象一下你家熊孩子在学校考了满分你平时完全不闻不问等期末一看分数才高兴地发奖励。问题是中间那些刷题、背单词、熬通宵的过程他完全得不到任何反馈他怎么知道“现在刷数学题是对的还是该去背英语”当奖励信号几乎为零的时候强化学习算法基本就是个瞎子只能靠瞎摸。实际工程里解决稀疏奖励的办法主要有两种。第一种叫奖励塑形reward shaping就是我自己前面讲的“过程奖励”——把终点的果实拆成中途路标给出去。第二种叫课程学习curriculum learning先把任务的难度降到很低让它轻松拿到奖励再一点点增加难度。就好比熊孩子学算术你先让他做11他做对了有糖吃学会了再加难度变成两位数加法、三位数加法逐步逼近最终的考试难度。这一招在实操里比奖励塑形更稳定因为它不会引入“过程条条框框逼歪模型”的风险。5. 写在“上篇”末尾一点真实体会既然标题叫“上篇”那后面肯定还有下篇下篇我会讲Q-Learning、深度Q网络这些具体算法怎么落地。但我想先在这篇结尾聊点我这些年评估“该不该用强化学习”的个人标准。有三个问题我会先问自己。第一这个问题是不是序列决策问题你做一步动作下一步的状态会因为你这一步而改变吗如果不会那它就是监督学习问题别用强化学习硬凑。第二有没有办法定义清晰的奖励信号如果你连“好坏”都说不清楚算法就更说不清了。第三迭代成本能不能接受强化学习是出了名的吃算力训练动辄几百万步的试错不是每个团队都耗得起。我的真实感受是强化学习这套东西入门门槛比监督学习高一大截但它教给AI的是一种更接近人类真实生存方式的智慧——在不确定性中做决策从后果中学习为长期回报而忍耐。它不是万能的但在真正需要它的序列决策领域它几乎是不可替代的。至于那个“被打了才知道疼”的熊孩子我到现在都觉得这个比喻挺准。它疼但它记疼它还会为了避免再疼而学会思考。下篇我们就来看看这个熊孩子具体是怎么“记疼”的。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑