news 2026/5/1 9:43:26

大模型学习基础(六) 强化学习(Reinforcement Learning,RL)初步1.4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型学习基础(六) 强化学习(Reinforcement Learning,RL)初步1.4

前篇文章已经介绍了评判模型critic,引出了优势函数A(a,s)、价值函数V(s),并且我们知道一个好的critic模型给出的优势函数应该尽可能做到接近于reward的累计G'减去当前状态的价值函数V(s)。

但是上述例子成立的前提是actor每进行一个action,就可以立刻得到一个不为零的reward,但是在某些情况下,进行action以后是并不能立刻得到reward的,或者reward为0,该种情况称为sparse reward。例如围棋游戏,actor就是棋手,action就是落子,但是单独落一颗子未必能很快的对局势造成有利或者不利影响,所以就很难给出合适的reward,这种情况下reward往往为0;只有在游戏结束判定了胜负以后,才能够得到reward。

为了解决这种问题,提出了reward shaping的思想,即在原来的reward的基础上添加别的reward,引导actor做出action

训练AI进行FPS游戏是一个很好的说明reward shaping的概念。如果在不做reward shaping的情况下,对于actor来说只有击杀对手才能得分;但显然击杀对手的过程中要涉及到很多复杂的动作,并且耗时较长,仅仅依靠击杀对手作为reward,actor很难得到合适的训练;此时就可以引入reward shaping,例如:1.血量损失,reward=-0.05;2.弹药损失,reward=-0.04;3.agent总是待在原地,reward=-0.03(防止agent挂机摆烂)。reward shaping的设置规则往往是人类根据经验来进行设定的,得到合适的reward shaping规则要求人类对于如何完成任务有着深刻的理解

一种有趣的reward shaping的方法是curiosity base,该种reward shaping的核心方法是如果actor看到了新的画面,就得到正的reward。例如在训练AI玩超级马里奥时,该种方法就有较好的表现,因为超级马里奥是一个二维游戏,游戏通关的表现实际就是actor不断看到新的画面

除了sparse reward的情况外,还有一种更极端的情况,那就是甚至无法得到reward。例如我们让actor去马路上进行行走,马路上的路况十分复杂,所以reward的规则很难制定,这种情况下就几乎无法得到合适的reward。

有一种处理此种问题的方法叫做Imitation Learning(模仿学习)。通过引入expert(通常是人类)和环境的交互示范,来训练actor做出动作。

这种训练模式类似于supervised learning。输入状态s,将expert的动作作为标签,那么就构成了一对数据(s,);以此来对actor进行训练,使其得到s输入后输出接近于expert的动作。但这样会产生一些问题:1.如果expert的所有动作都是正确的,如在自动驾驶场景下,面对转弯问题时作为expert的人类每次都可以顺利转向,那么机器就无法学习到转向失败时的数据,因此在面对复杂场景时,如果出现类似于转向失败的场景,actor将无法处理;2.完全复制模仿expert的行为,会产生一些多余的动作。例如人类expert在转弯时习惯抽烟(我们假设actor有抽烟的机动装置),那么这个动作也会被actor学到,但实际这个动作本身对转弯是没有任何好处的。3.expert具有非常多的行动特质,而actor的学习能力有限,只能学习其中的某些特质,而并非expert的所有特质都是有利的(例如转弯时抽烟);如果actor只学到了对处理问题无益的action,那么显然actor处理能力的问题并不会变强。

上述问题都是建立在人类无法给出合理的reward机制的前提上,我们自然而然的可以想出:是否可以让机器自己来学习如何设置合适的reward呢?
Inverse Reinforcement Learning就是一种让机器自己训练reward的方法。这种方法的逻辑模型如下,核心思路就是通过expert的行动、environment的反馈,来反推出reward函数,然后再用这个reward函数对actor进行训练。

通过expert训练reward函数的时候有一个基本原则,那就是要求expert的action所得到的reward必须要高于actor的分数(但这并不代表我们要求actor完全模仿expert的行为),训练的步骤如下:
1.初始化一个actor

2.actor和环境交互

3.定义一个初始的reward函数,(在下一次循环中要先更新reward函数)让其计算expert的action和actor的action的累计奖励,并且让expert的得分高于actor(这里expert的action已经作为开始的数据输入到了模型中)

4.actor在新的reward函数下继续和环境互动,最大化自己的累计reward

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 13:31:25

不拆到业务线和部门的战略,都是想当然

大多数企业的“战略失败”,不是因为方向错了,而是因为——它根本无法被验证。 为什么无法验证?因为它没有细节。没有细节的战略,只是一个好听的愿望。 所以,战略如果不拆到业务线和部门,就是在想当然很多…

作者头像 李华
网站建设 2026/4/23 13:31:42

Wan2.2:MoE架构驱动电影级视频生成

导语:Wan2.2视频生成模型重磅发布,通过创新的MoE架构、电影级美学数据训练和高效高清生成技术,重新定义开源视频模型性能标准。 【免费下载链接】Wan2.2-T2V-A14B-Diffusers 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-T…

作者头像 李华
网站建设 2026/5/1 7:56:16

Linly-Talker能否实现两个数字人对谈?多Agent联动实验

Linly-Talker能否实现两个数字人对谈?多Agent联动实验 在虚拟主播、AI客服和智能教育日益普及的今天,一个更进一步的问题正被频繁提出:我们是否能让两个AI驱动的数字人自主对话?不是预设脚本的对白回放,而是真正基于上…

作者头像 李华
网站建设 2026/4/30 18:00:17

15、PowerShell 错误处理全解析

PowerShell 错误处理全解析 1. 错误处理基础 在 PowerShell 中,错误主要分为终止错误和非终止错误。对于不同类型的错误,有多种处理方法和工具。 1.1 Try/Catch/Finally 语句 使用方式 :从 PowerShell 2.0 开始引入,是处理终止错误的首选方式。使用时以 “Try” 关键字…

作者头像 李华
网站建设 2026/4/21 12:50:02

17、PowerShell常见陷阱与实用技巧

PowerShell常见陷阱与实用技巧 1. Tab补全功能 在PowerShell ISE和控制台窗口中,很少有人依赖Tab补全功能,这既令人遗憾又令人惊讶。使用Tab补全功能有诸多好处: - 避免命令或参数名拼写错误。 - 对于许多静态列表或易于查询的列表参数值,Tab补全(尤其是在v3及更高版本…

作者头像 李华
网站建设 2026/4/29 16:24:11

20、Monad技术体系:自动化、脚本与管理的全面解析

Monad技术体系:自动化、脚本与管理的全面解析 1. Monad自动化模型(MAM) Monad自动化模型(MAM)通过少量的CmdLet代码集成到运行时环境,利用其丰富的功能和实用工具,提供强大且相关的管理功能。 1.1 示例展示 输出格式转换 :通过更改管道中的最后一个CmdLet,可以将…

作者头像 李华