强化学习基本概念
Why RL
监督学习
- 假设训练样本无关联,
独立同分布
- 需告知正确标签
- 受限人工标注数据,
上限为人类
😔 - 模仿学习正例,数据来源人工标注或蒸馏。
强化学习
- 大都处理
序列数据
,样本前后有关联 - 学习器并未告知每步的正确动作,需靠自己去发现
哪些动作能带来更多奖励
- 提升能力需不断试错探索:探索新动作,利用已有经验,需做好权衡,这是监督学习没有的
- 没有非常强的监督者,只有延迟的奖励信号,没有即时奖励,很难学
上限超人类
‼️- 两个特点
- 引入惩罚信号,
奖励好的样本、惩罚差的样本
- 设计不同奖励/惩罚粒度、和力度(baseline/KL限制/CLIP)等。
- 允许使用
当前模型在线产出的样本训练自身
。- Online:当前策略模型能否和环境进行交互
- On-policy:强调当前RL训练数据一定是最新策略模型生成的。
- 比如一批数据更新n次,第一次为on-policy,后面都为off-policy
- Off-Policy:行为策略和学习策略不同。
- GRPO/PPO这些是Online的,但不定是on-policy的,主要看mini_batch_size是否大于1
- 引入惩罚信号,
特点
- 智能体试错探索:通过探索环境来获取对环境的理解
- 智能体从环境获得延迟奖励
- 训练过程时间非常重要,时间关联的数据,而非独立同分布的数据
- 智能体动作会
影响它随后得到的数据
- 智能体需保持稳定,否则采集到的数据会非常糟糕
- 挑战:
如何让智能体动作稳定提升
RL 核心思想
研究问题
智能体
如何在复杂、不确定的环境中,通过一次次决策,来最大化它能获得的回报
。
关键定义
- 智能体:
与环境交互
,利用环境状态,采取动作
- 环境:根据智能体当前动作,
输出下一时刻状态
和反馈动作奖励
。
试错学习⭐
- 在不断的
尝试
和试错
中学习到正确的策略- 尝试:采取
一系列动作
或行为 - 试错:尝试
过程中的错误
,包括自身行为不当
、环境不稳定等。 - 结果:每次尝试的结果(
积极或消极
),都对下一次尝试产生影响
。- 好的结果:
奖励
;差的结果:惩罚
- 好的结果:
- 学习:
不断尝试和试错
,逐渐积累经验
,了解哪些动作会产生更有利结果
,在下一次尝试中做出更明智选择
- 尝试:采取

我们唯一需要做的就是调整演员的策略。

蚯蚓通过一次次实验,学会朝着有食物的方向爬行,而非电极方向。

RL 关键概念
智能体环境+奖励回报价值
智能体
- 和环境交互,感知环境状态和奖励,输出动作
- 目标:选取一系列动作来最大化奖励,即学到最大化奖励的策略
- 动作空间:
离散、连续
动作空间 - 策略:在当前状态s下,agent根据策略来
选下一步动作
- 随机性策略:输出
动作概率分布
,根据概率选动作
,0.7概率往左,0.3概率往右 - 确定性策略:
直接选最有可能的动作
,输出不变: - 一般选择
随机性策略
👍,更好探索环境
、动作具有多样性
- 随机性策略:输出
环境
- 除智能体以外的其他内容,感知智能体行为,状态改变、给出
奖励
- 也可能是一个其他的智能体
- 模型:
状态转移概率
、奖励函数
。
奖励、回报、价值函数
- 奖励:环境给出的标量反馈信号,显示智能体在某状态采取某个策略的表现如何
- 如何平衡近期奖励与远期奖励?
- 回报:累计的奖励
- 价值函数:对未来奖励的预测,评估
- 评估智能体进入某状态或采取某动作,对未来的奖励带来多大的影响
演员的策略

序列决策

回报的例子

演员和环境

序列决策
状态、观测、历史
- 状态:对世界的完整描述。离散或连续
- 观测:对状态的部分描述,智能体会有很多观测。
- 历史:观测、动作、奖励的序列。
序列决策
- 智能体和环境交互,选取一系列动作来最大化奖励。
- agent内部状态:
,环境内部状态: - 马尔可夫决策过程:
完全可观测
,智能体能看到环境所有状态, - 部分可观测马尔科夫决策过程:
部分可观测
,智能体只能看到部分状态
学习和规划
学习(learning)
- 环境未知,智能体不知环境如何工作,通过不断和环境交互,逐渐改进策略
规划(planning)
- 环境已知,无需和环境交互,只需当前状态,就能思考和寻找最优解
- 类似:
有模型RL
,已知状态转移和奖励函数,只需通过动态规划寻找最优解即可。
常用RL思路
- 先学习一个模型,再利用这个模型进行规划。
学习:

规划:

强化和自举
强化
下一个状态
的价值,可以不断强化影响(更新)上一个状态
的价值- 中性刺激和无条件刺激,在时间上的结合,称为强化,强化次数越多,条件反射会越巩固
- 有价值的格子会慢慢影响附近格子的价值,反复训练之后,有奖励格子周围的格子状态就会被慢慢强化
- 强化就是价值收敛到最优情况后,小黄球会自动往价值高的格子走
- 有了Q函数,就可以做强化学习,决定采取更好的动作,来改进策略
自举
- 根据其他估算值,来更新当前估算值;基于之前估计量来估计一个量。
- 未来状态的价值,是通过现有的估计(目标值/时序差分目标)来进行计算的。
- 用一个状态的估计值,来更新该状态的实际值。
- 更新时,使用了估计
- 自举依赖先前估计值,可能会导致估计出的价值函数,存在偏差
动态规划
- 用未来的价值来更新当前的价值
巴普洛夫条件反射实验


RL 关键问题
问题1:方差和偏差 / 如何提高对值函数估计
问题2:提高探索性以及平衡探索和利用的关系
方差和偏差
偏差
- 预测值和真实值之间的差距
方差
- 预测值的变化范围、离散程度

探索和利用
探索
探索环境,通过尝试不同动作来得到最佳策略。
通过试错探索,去理解采取的动作到底好不好
- 可能
一无所有
,也可能小概率超过所有已知动作
。
- 可能
仅探索
- 把所有机会平均分配给每个动作,
- 优点:很好估计每个动作的奖励 (轮流按下每个摇臂,
K-臂赌博机示例
) - 缺点:失去很多选择最优动作的机会(最优臂)
环境已知无需探索 (状态转移概率、奖励函数)
环境已知
且可计算时
,可通过planning直接求解最佳策略,无需RL,无需探索
。- 若环境已知但不可计算,环境仍然存在未知性。
在RL中环境大都具有未知性
利用
- 保守派,不尝试新动作,利用已有经验采取最优动作。
- 仅利用
- 仅按下目前最优的动作
- 优点:选择当前的最优动作
- 缺点:无法很好估计每个摇臂的期望奖励,可能错过更优动作,陷入局部最优
探索-利用 平衡/窘境
面临一个未知或部分已知的环境时
若不探索,就无从获得有价值的新信息
若过度探索,则会浪费一些机会成本,不能稳定地得到高回报
仅探索或仅利用,是矛盾的,加强一方会削弱另一方,都无法使最终累计奖励最大化
想要累计奖励最大,需要
在探索和利用之间做好折中
一、Value-Based RL
- 核心思想:用价值函数来评估状态动作的好坏,根据价值函数指导的最佳动作来进行探索。
- 纯贪婪-不探索
- 直接选择价值最大的动作,容易陷入局部最优
- 显示-
贪心探索策略 - 以概率
随机选一个动作;前期偏探索,后期偏稳定。 - 缺点:容易抖动,每次选择都可能偏离主线,这里做一点,那里做一点,结果什么都学不好。
- 扩展:
贪心策略,随机选择一个动作 并重复执行z步
。- 不管探索选择如何,都把探索至少做z步,
避免浅尝辄止、反复左右横跳
。
- 不管探索选择如何,都把探索至少做z步,
- 以概率
- Softmax/Boltzmann 探索策略
- 不做硬Max,通过softmax引入概率分布,从概率分布中采样,本身就有随机性探索。
- 同时引入温度参数T,T越高,倾向于均匀探索;T越低,倾向于选择最佳动作。
对尚未充分估计的Q值乐观一些,以吸引智能体去尝试动作,从而收集信息,减少不确定性。
面对不确定性时的乐观主义。
Optimism in the face of uncertainty
玩1台老虎机时,考虑这台机器
过去的平均收益(利用)
,也要考虑它有多大的不确定性(探索)
。- 过去平均收益很高,值得玩
- 即时过去平均收益不高,但了解很少、玩的次数少,那么真实收益存在很大不确定性。可能隐藏大奖。这种
不确定性
本身吸引力就很高
。
为每台机器计算一个潜力得分/UCB,综合已知平均收益和不确定性带来的潜在收益。
UCB值
=平均奖励
+探索项
,如下公式:其中
为第i台机器的平均奖励, 为第i台机器被玩的次数,t为所有老虎机玩的总次数。
二、Policy-Based RL
- 随机即探索
- Policy-Based往往以概率分布输出动作,而非单一动作;只要策略是随机的,天然就带有一定程度的探索。
- 熵增强/Entropy Regularization
- 在TRPO/PPO算法里,在目标函数中加入熵项,鼓励策略分布尽量平滑,防止过早收缩到单一动作,维持一定探索。
- 到训练后期,逐步降低熵系数,让策略集中于最佳动作。
- 内在回报/Intrinsic Reward
- 给探索行为添加额外奖励,更新策略时自动倾向于未见过的状态。类比给自己的好奇心奖励。
- 比如基于环境新颖度、状态不确定度等。
- 给探索行为添加额外奖励,更新策略时自动倾向于未见过的状态。类比给自己的好奇心奖励。
三、Model-Based RL
- 会先学习或使用一个环境模型,在模型内部规划/搜索/模拟,找到最优策略。
- 在模拟时主动探索位置区域,同时可利用大量已知部分做规划,兼顾速度和准确性。
- 借助对环境模型的学习及不确定性评估等。
- 在模拟时主动探索位置区域,同时可利用大量已知部分做规划,兼顾速度和准确性。
- 在探索时探索
- 比如MCTS搜索数时,对访问次数少的分支给于乐观估计,引导进一步探索。
- 在模拟时探索
- agent和环境交互收集样本时,维护一定比例的探索动作。
- 基于模型不确定性的鼓励
- 对环境模型中不确定程度高的区域,给于更多探索奖励。
- 不确定性估计:可用高斯过程回归、贝叶斯神经网络等方法。
RL 分类
两个重要实体:策略
价值函数

基于价值和策略(按决策方式)
从决策方式来看,RL可以划分为基于价值的方法
和基于策略的方法
。
Value-based RL
只有价值实体,
显示学习价值函数
,利用价值函数来指导策略做决策- 利用价值函数
衡量哪个状态/动作的价值最大
。 - 隐式学习/制定策略,策略是
根据价值函数推算
出来的。
- 利用价值函数
通过
MC采样+时序差分
来估计价值函数;选择价值最大的动作来更新策略。类比:训练导航工具,直接告诉驾驶员最佳路径,指导其到达。
缺点
- 当价值函数某步产生偏差时,会逐渐积累,导致
估计价值的方差很高
- 当价值函数某步产生偏差时,会逐渐积累,导致
典型算法:Q学习、SARSA、DeepQ网络等。
Policy-based RL
只有策略实体,
直接对策略进行优化
,在每个状态输出最佳动作,使其获得最大奖励。如何优化?
- 通过让
策略和环境交互
多次,采样足够多的轨迹数据
,用这些数据对策略的价值做评估
。 - 根据
轨迹的价值期望
来确定策略迭代方向
。
- 通过让
没有学习价值函数
类比
- 直接
训练驾驶员(策略)
,同时训练导航工具(价值函数)
; - 价值函数只告诉策略当前方向对不对,不直接干涉驾驶员的决策。
- 直接
优点
- 价值函数(导航工具)出现偏差时,
驾驶员结合经验可直接纠正
- 当驾驶员决策出错时,
导航工具也可以及时纠正错误
- 价值函数(导航工具)出现偏差时,
典型算法:Policy Gradient。
Actor-Critic (结合价值和策略)
- 既有
策略
、又有 价值函数
。 - 策略做出动作,价值函数对动作给出价值,在原本策略梯度上加速学习

有模型和免模型(按是否已知环境)
环境
状态转移概率
, 奖励函数
- 通常很难获得环境信息
定义特点
- 已知环境信息,会尝试先学习一个环境模型,对真实环境进行建模,有了环境,再去生成最佳策略
- 无需在真实环境中采取动作,直接在虚拟世界中学习和规划策略
优点
- 一定程度缓解数据匮乏问题,可以在虚拟世界中训练,成本低
- 具有想象能力,免模型只能
一步一步
采取策略等待真实反馈
- 可在虚拟世界预测即将发生的事,采取对自己最有利的策略
缺点
- 有模型算法往往是不完美的,复杂,难以学习和计算

定义
不对环境建模
,直接从真实环境交互中,来学习最优策略- 直接在真实环境中通过一定策略来执行动作
- 等待奖励和状态转移,根据反馈信息来更新策略,不断迭代,直到最优
特点
数据驱动型方法,
需大量采样
来估计状态、动作、奖励函数,来优化策略如《太空侵略者》需2亿帧游戏画面此能学到较好效果
优点
简单直观
,不用学习复杂的环境模型,资料丰富
缺点
- 需要和真实环境进行大量的交互
适用场景
- 相对简单、确定的问题,无需评估状态转移函数等
- 大部分DRL都采用免模型方法
免模型RL


RL 方向
多智能体RL
多智能体RL
- 定义:在多个智能体的环境下进行强化学习,环境状态受多个智能体共同影响
- 通信信号问题:多个智能体如何高效通信。
- 信誉分配问题:合作任务中,如何确定每个智能体对整体目标的贡献。
模仿学习和逆强化学习
模仿学习:奖励函数难以定义或策略很难学的情况下,通过模仿人类行为来学习一个较好策略。
典型:
行为克隆
,把状态-动作视为一个训练样本,通过SFT来学习一个策略。存在分布漂移(泛化性)的问题。
逆强化学习:观察人类行为,来学习奖励函数,通过RL来学习策略。
探索策略
- 如何在探索和利用之间进行平衡。
贪心法、上置信界法。
- 如何提高探索效率避免局部最优解。
实时环境
背景
- 实际应用中,智能体需实时在线环境进行决策,存在训练效率低、安全隐患等问题。
思路1:离线强化学习
- 在离线环境训练,模型在实时环境中决策预测。
- 存在分布漂移问题。
思路2:世界模型
- 在离线环境训练一个
世界模型
,并部署到在线环境进行决策。 - 世界模型
世界模型
:预测下一个状态控制器
:根据当前状态来决策动作
- 优点:提高了效率以及避免安全隐患。
- 缺点:世界模型的预测误差会导致控制器出错,如何提高预测精度是一个难题。
多任务强化学习
背景
- 智能体往往需同时完成多个任务,如何在多任务之间进行权衡是一个难题。
思路1:联合训练
- 多个任务的
奖励进行加权求和
,来学习一个策略。
思路2:分层强化学习
- 把多任务分成高层策略和底层策略,通过RL来学习2个策略。
- 高层策略:决策
当前任务
- 底层策略:决策
当前任务的动作
- 高层策略:决策
- 问题:高层策略决策会导致低层策略的决策出错