当前位置: 首页 > news >正文

强化学习、PPO和GRPO的通俗讲解

文章目录

  • 强化学习、PPO和GRPO的通俗讲解
    • 整体概览
    • 一个关于学习与奖励的故事
      • 1. 传统的学习模式(类比大模型训练三阶段)
      • 2. 爸爸的奖励机制与问题(类比奖励模型与策略失效)
      • 3. 爸爸更新奖励机制(类比差异化策略定制)
      • 4. 爸爸的负担与家庭教师(类比PPO中的Critic Model/Value Function)
      • 5. 省钱的办法:模拟题(类比GRPO的简化)
      • 6. 100分背后的作弊(类比KL散度与截断函数)
    • 总结与启发

强化学习、PPO和GRPO的通俗讲解

  • 在b站看到一个视频,这个视频旨在通过一个生活化的故事,帮助我们从感性层面深入理解强化学习(Reinforcement Learning, RL)及其在大模型训练中的应用,特别是PPO和GRPO这两种算法。整理了一下,并配了一些图。

    https://www.bilibili.com/video/BV1Tg94Y8Eoq?vd_source=7937b7ae341caaf55cd0ac02b03193a1

整体概览

  • 主要聚焦于Deep RL中引入的强化学习算法——GRPO。理解GRPO,需要先对强化学习的整体框架和思路有基础的了解。作者从一个故事开始,然后逐步深入强化学习的入门知识,再直接讲解GRPO的简洁性、优化技巧和代码,最后对比PPO与GRPO,展现GRPO的优美之处。

一个关于学习与奖励的故事

  • 通过小帅和小美兄妹俩的学习经历,来类比大模型训练中的强化学习过程。

1. 传统的学习模式(类比大模型训练三阶段)

  • 小帅和小美的老师每天上课分为三步:
  1. 第一步:讲解教科书核心内容

    特点: 讲解核心概念、积累背景知识。

    类比: 预训练(Pre-training)——学习基础概念和知识。

  2. 第二步:讲解例题与课后作业

    特点:有问题有答案,老师逐步讲解解题过程,课后有相似作业。

    类比:SFT(Supervised Fine-Tuning,监督微调)——有标签数据,模型学习如何给出正确答案。

  3. 第三步:考试

    特点:题目与上课例题差别大,但思路相似;考试时没有答案;根据成绩打分,并进行错题分析。

    类比:强化学习(Reinforcement Learning)——在没有明确答案的环境中,通过与环境互动(考试)获得奖励(分数),并根据奖励调整策略(学习方法)。

    image-20250712225620065

2. 爸爸的奖励机制与问题(类比奖励模型与策略失效)

  • 故事一开始,爸爸定了一条简单的规矩:考试低于80分罚钱,高于80分有奖金,上90分奖金更多。听起来很直接

    • 80分以下:罚款10元

    • 80分以上:奖励100元

    • 90分以上:奖励200元

    但结果呢?学得好的小美觉得这奖励太好拿了,有点不那么上心,没挑战了。学得不好的小帅呢,他老在及格线晃悠,觉得80分太远了,干脆有点摆烂了。

  • 问题:奖励机制失效

    小帅: 失去学习动力,反正达不到80分,不如“摆烂”。

    小美: 也失去进步动力,反正不怎么努力也能拿奖励,维持现状就好。

  • 这种一刀切的奖励机制最大的问题就是没有考虑到个体差异。对小美刺激不够对小帅门槛太高,直接导致两个人的动力都下降了。

  • 类比:

    统一奖励机制: 类似于直接使用 Reward Model 的打分来鼓励模型学习。

    失效原因: 统一的奖励机制无法适应不同个体(模型)的差异化情况,导致模型“摆烂”或停滞不前。

    image-20250712225745401

3. 爸爸更新奖励机制(类比差异化策略定制)

  • 爸爸很快发现了问题,开始调整,搞了一个“差异化定价”。

    1. 针对小美(基础好): 定的目标更高了,比如要考到90分甚至95分才有奖励。
    2. 针对小帅(基础差): 就定的实际一点,比如50分及格,考到70分就有挺不错的奖励了。

    这样听起来是不是合理多了?这种机制能根据不同人的基础情况定制奖励策略,有效督促他们进步。

  • 类比:

    差异化定制策略: 强化学习中需要根据模型当前所处状态(能力水平)定制不同的奖励策略,以激励模型模型持续进步。

4. 爸爸的负担与家庭教师(类比PPO中的Critic Model/Value Function)

  • 合理是合理多了,但是新的问题又来了——维护成本。爸爸得随时知道这俩孩子现在到底什么水平,进步到哪儿了,才能动态地去调整奖励标准。不然,比如小帅进步很快,刷一下能考80分了,你还拿50分那条线卡他,那奖励还有啥用?维护起来就很麻烦了。

  • 这就引出了下一个问题:怎么让这个机制能自己适应,持续地跟着个体变化走?爸爸一开始想了个办法,请家教,让专业人士来评估,专门盯着给定制计划。但这太贵了,成本太高。

  • 类比:

    家庭教师: 类似于PPO算法中引入的 Critic Model(评论家模型)Value Function(价值函数)。它与策略模型一同训练,评估当前策略(模型)的表现,从而指导策略的调整和奖励的制定。PPO的复杂性部分来源于此。

    image-20250712230001233

5. 省钱的办法:模拟题(类比GRPO的简化)

  • 后来爸爸想了个挺聪明的办法:每次大考前呢,先让俩孩子做五套模拟卷,算出个平均分。然后呢就拿这个平均分当这次考试的奖励基准线。

    例如: 模拟平均分是70,那这次可能你考到75就有个基础奖,考到85奖励就更高。

  • 这个方法好,它相当于用一个比较低的成本(做题),来动态地捕捉每个孩子当时的那个状态,让目标始终在你努力一下就能够得着的地方。既个性化又省钱。这听起来越来越像一个学习系统本身了,在不断调整。

  • 类比:

    模拟题平均分作为基准线: 这是GRPO算法的核心思想之一。GRPO去掉了PPO中专门的Critic Model,而是直接利用策略模型(Policy Model)自身多“打几套题”(多进行几次采样),用这些采样的平均表现作为奖励的基准,从而简化了整个训练开销。

    image-20250712230224309

6. 100分背后的作弊(类比KL散度与截断函数)

  • 听起来挺完美的,但故事就在这儿拐了个弯儿。特别戏剧性。有一次考试,两个孩子居然都考了100分。小美考100分正常,但小帅他虽然在进步,可之前最好也80分上下,这次直接满分,这就太反常了。

    爸爸也觉得不对劲,他就想起《资本论》里那句话:“如果有10%的利润,资本就会保证到处被使用;如果有20%的利润,资本就能活跃起来;有50%的利润,资本就会铤而走险;有百分之百的利润,资本就敢践踏一切人间法律;有300%以上的利润,资本就敢犯任何罪行,甚至去冒绞首的风险。”

  • 这个类比虽然是经济学的,但它典型的一点就是激励,如果太诱人,规则又有空子可钻的话,就可能出问题,诱导一些你根本不想要的行为,甚至是破坏规则的行为。果然爸爸一问,小帅就招了。为了拿那个最高奖励作弊了,提前把试卷给弄到手了,甚至还威胁了老师。

  • 这个作弊事件,它其实特别生动地说明了激励设计有多复杂。它不是简单的设个目标,给个奖就行了。你还得考虑它可能带来的副作用,负面的激励效果。设计任何系统,不管是公司绩效,还是游戏规则,都得防着这种钻空子的行为。这在强化学习里就有点像那个智能体,找到了环境的一个bug,然后利用它刷分,而不是我们想让他学的那个策略。

  • 所以啊,爸爸的这个奖励系统又得升级了,得打补丁。他加了一条:最后得分高,不一定就能拿最高奖。还要看这个分数跟你最近的表现,比如模拟考的成绩匹不匹配。如果你的分数一下子比你之前的水平高出太多,不正常的那种高,那就算分再高,奖励也可能打折,甚至可能没有。

    这一步非常关键。它实际上是增加了作弊的风险,或者说降低了作弊的预期收益,让那种异常的高分变得没那么香了。这样整个系统就更稳健了,能够引导大家把心思花在真正的学习和进步上,而不是去琢磨怎么钻规则的空子。

  • 类比:

    奖励与原有能力表现的符合度: 强化学习中,这对应于 KL散度(Kullback-Leibler Divergence)截断函数(Clipping Function) 的作用。

    1. KL散度: 确保新的策略(模型)与旧的参考模型(原始能力)差异不要太大,,避免一步到位地大幅提高,而是循序渐进。
    2. 截断函数: 限制了策略更新的幅度,防止过大的策略更新导致不稳定的行为,类似于防止模型为了过高奖励而“铤而走险”。

    image-20250712230258967

总结与启发

  • 回头看整个过程,这个简单的家庭故事,完美地展现了一个"智能"激励系统自我学习和进化的全过程,从最开始简单的奖和罚,到后来考虑个体差异,搞个性化,再到用模拟考动态调整基准线,最后还得加上这个防作弊的补丁。这整个故事其实特别漂亮地展示了一个激励系统,它是怎么学习和进化的。

    这个系统就像一个智能体,在和环境(也就是孩子们的表现)进行互动,根据反馈不断地调整自己的策略。这里面不光是孩子在学习,那个设计规则、调整规则的爸爸,他本身也在进行一个持续的学习和优化。他观察结果,评估效果,然后调整方法。这本身就是一种“元学习”。

  • 这个故事中体现了多少和强化学习相关的概念?

    1. 状态: 孩子当时的学习水平。
    2. 动作: 爸爸调整规则,孩子选择努力或作弊。
    3. 奖励: 奖金、罚款。
    4. 环境反馈: 考试分数、作弊被发现。
    5. 策略优化: 爸爸不断改进规则。
    6. 探索: 孩子尝试各种方法(包括不好的方法)去争取奖励。
    7. 有效策略: 孩子利用找到的有效得分策略。
  • 这些要素和强化学习里那个核心思想——智能体跟环境交互,根据反馈调整行为,为了拿到最多的累积奖励——有很多共通之处。


http://www.dtcms.com/a/276123.html

相关文章:

  • C语言第一章数据类型和变量(下)
  • Java 大视界:基于 Java 的大数据可视化在智慧城市能源消耗动态监测与优化决策中的应用(2025 实战全景)
  • 视频分析应用的搭建
  • 【Linux-云原生-笔记】Apache相关
  • NE综合实验2:RIP与OSPF动态路由优化配置、FTP/TELNET服务部署及精细化访问控制
  • Java反射与注解
  • 树形动态规划详解
  • 大数据时代UI前端的智能化服务升级:基于用户情境的主动服务设计
  • 【PycharmPyqt designer桌面程序设计】
  • 【学习新知识】用 Clang 提取函数体 + 构建代码知识库 + AI 问答系统
  • GD32 CAN1和TIMER0同时开启问题
  • 《通信原理》学习笔记——第一章
  • 细谈kotlin中缀表达式
  • H2在springboot的单元测试中的应用
  • skywalking镜像应用springboot的例子
  • try-catch-finally可能输出的答案?
  • Docker-镜像构建原因
  • C语言基础教程--从入门到精通
  • Spring Boot整合MyBatis+MySQL+Redis单表CRUD教程
  • STM32中的RTC(实时时钟)详解
  • R 语言绘制 10 种精美火山图:转录组差异基因可视化
  • JavaScript 常见10种设计模式
  • 码头智能哨兵:AI入侵检测系统如何终结废钢盗窃困局
  • Redis专题总结
  • MyBatis实现一对多,多对一,多对多查询
  • Golang操作MySQL json字段优雅写法
  • CPU缓存一致性协议:深入解析MESI协议与多核并发设计
  • HTML/JOSN复习总结
  • 7. JVM类加载器与双亲委派模型
  • PyQt5 — QTimeEdit 学习笔记