前言
本博客是本人的学习笔记,不是教学或经验分享,全部资料基于北京邮电大学鲁鹏老师课程强化学习基础 (本科生课程) 北京邮电大学 鲁鹏_哔哩哔哩_bilibili,侵权即删。
一、引言:强化学习是什么?
1. 定位:机器学习的三大分支之一
| 分支 | 核心特点 | 学习目标 |
|---|---|---|
| 有监督学习 | 有标注训练样本(输入 - 输出对应) | 学习 "已知输入如何映射到已知输出"(分类 / 预测) |
| 无监督学习 | 无标注数据 | 学习数据隐含的结构 / 模式 |
| 强化学习 | 无监督数据,仅含奖励信号 | 学习 "做什么能最大化累积奖励"(通过与环境交互实现目标) |
2. 核心本质
强化学习是智能体(Agent)通过与环境(Environment)持续交互,从奖励信号(Reward)中学习最优行为策略的计算方法,核心是 "试错学习" 与 "延迟奖励" 的权衡。
3. 关键区别(为什么强化学习特殊?)
- 无监督数据,仅靠奖励信号引导(奖励是唯一反馈);
- 奖励可能延迟(如游戏通关才给高分,过程中无即时奖励);
- 时间是核心因素(动作具有序列依赖性,当前动作影响后续状态和奖励);
- 智能体的动作会改变环境状态,进而影响后续数据(交互性)。
二、强化学习基本要素
核心链路:智能体 → 动作 → 环境 → 观测 + 奖励 → 智能体(迭代),五大核心要素缺一不可。
1. 奖励(Reward):行为的 "指挥棒"
- 定义:标量信号 Rt,反映智能体在时间步 t 的行为好坏(正向奖励 +、负向奖励 -);
- 核心假设(奖励假设):所有强化学习问题的目标,都可转化为 "最大化期望累积奖励";
- 例子:
- 投资管理:银行收益增加(+)、亏损(-);
- 发电站控制:正常发电(+)、超安全阈值(-);
- 游戏:分数上升(+)、生命值减少(-)。
2. 序列决策(Sequential Decision Making)
- 目标:选择 "动作序列" 而非单个动作,最大化未来总体奖励;
- 关键:需牺牲即时小奖励,换取长期大奖励(如迷宫中绕远路避开陷阱,最终到达终点)。
3. 智能体(Agent)与环境(Environment)
(1)智能体
- 核心角色:决策者与学习者,在每个时间步 t 做两件事:
- 接收环境的观测 Ot 和奖励 Rt;
- 执行动作 At;
- 核心目标:通过调整动作,最大化累积奖励。
(2)环境
- 核心角色:智能体的交互对象,接收智能体的动作 At,返回下一时间步的:
- 观测 Ot+1(智能体能看到的环境信息);
- 奖励 Rt+1(对智能体动作的反馈);
- 特点:环境的运行机制可能已知(规划问题)或未知(学习问题)。
4. 历史(History)与状态(State):决策的 "信息基础"
(1)历史 Ht
- 定义:截至时间步 t 的所有交互数据序列:Ht=O1,R1,A1,O2,R2,A2,...,Ot,Rt;
- 作用:是智能体和环境决策的唯一信息来源(智能体靠历史选动作,环境靠历史生成下一个状态)。
(2)状态 St:历史的 "浓缩版"
-
定义:状态是历史的函数 St=f(Ht),提炼历史中 "对未来有用的信息"(避免冗余);
-
三类关键状态:
状态类型 定义 作用 环境状态 Ste 环境的内部真实状态 决定下一个观测和奖励(智能体通常不可见) 智能体状态 Sta 智能体内部的信息表达 智能体选动作的依据(如 "已走过的迷宫路径") 信息状态(马尔可夫状态) 包含历史中所有有用信息的状态 满足马尔可夫性,是决策的理想状态
(3)马尔可夫性(Markov Property)
- 定义:若状态 St 满足 P[St+1∣St]=P[St+1∣S1,...,St],则称具有马尔可夫性;
- 通俗理解:"未来与历史无关,只依赖当前状态"(如天气预报,明天天气只看今天,不看上周);
- 意义:简化决策难度,无需存储完整历史,只需保留当前状态。
5. 环境的可观测性(关键场景划分)
(1)完全可观测环境(Fully Observable)
- 条件:智能体能看到环境的全部真实状态 → Ot=Sta=Ste;
- 数学模型:马尔可夫决策过程(MDP)→ 强化学习的基础场景;
- 例子:井字棋(棋盘所有棋子位置都可见)、简单迷宫(全局地图已知)。
(2)部分可观测环境(Partially Observable)
- 条件:智能体只能看到环境的部分信息 → Sta=Ste;
- 数学模型:部分可观测马尔可夫决策过程(POMDP)→ 更贴近现实的场景;
- 例子:打麻将(看不到别人的牌)、斗地主(未知底牌和对手牌)、自动驾驶(看不到障碍物后方的情况)。
三、智能体的组成:"决策系统" 的三大核心组件
强化学习智能体由 1 个或多个组件构成,组件越完整,决策能力越强。
1. 策略(Policy):智能体的 "行为准则"
-
定义:状态到动作的映射(回答 "在某个状态下该做什么");
-
两种核心类型:
类型 定义 公式 适用场景 确定性策略 每个状态对应唯一动作 a=π(s) 完全可观测环境(如井字棋最优策略) 随机策略 每个状态对应动作的概率分布 π(a∣s)=P(At=a∣St=s) 部分可观测环境(如迷宫中随机探索未发现的路径) -
例子:
- 确定性策略:Atari 接球游戏中,"球在左边→向左移";
- 随机策略:迷宫中灰色格子(状态相同),以 50% 概率向左、50% 概率向右,避免陷入死路。
2. 价值函数(Value Function):状态的 "评估工具"
- 定义:预测在给定策略 π 下,某个状态(或动作)能带来的 "未来累积奖励"(评估状态 / 动作的 "好坏程度");
- 核心公式(状态价值函数):Vπ(s)=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s];
- γ(折扣因子):0≤γ≤1,平衡即时奖励和未来奖励(γ=0→只看即时奖励,γ=1→重视长期奖励);
- Eπ:在策略 π 下的期望(避免随机动作带来的不确定性);
- 作用:指导动作选择(如状态 A 的价值是 10,状态 B 的价值是 5→优先选择能到达 A 的动作)。
3. 模型(Model):智能体的 "环境认知"
- 定义:智能体对环境的内部模拟,用于预测环境的动态变化("智能体眼里的环境");
- 核心预测目标:
- 状态转移概率 Pss′a=P[St+1=s′∣St=s,At=a]("在状态 s 做动作 a,下一个状态是 s' 的概率");
- 即时奖励 Rsa=E[Rt+1∣St=s,At=a]("在状态 s 做动作 a,能得到的即时奖励期望");
- 注意:环境的真实运行机制叫 "环境动力学",不是模型;模型是智能体的 "近似认知"(可能不完美)。
组件示例:迷宫问题
- 策略:每个位置(状态)对应的移动方向(如 "在起点→向右");
- 价值函数:每个位置的价值(如 "终点价值 0,距离终点 1 步的位置价值 - 1,陷阱位置价值 - 10");
- 模型:移动方向对应的位置变化(如 "向右走→下一个位置是 s'")和奖励(如 "踩陷阱→奖励 - 10")。
四、智能体的分类:不同 "学习风格"
根据不同维度,智能体可分为以下类别,核心是 "组件组合" 和 "学习方式" 的差异。
1. 按 "策略更新方式" 分类
| 类型 | 核心逻辑 | 特点 |
|---|---|---|
| 基于价值函数(Value-Based) | 学习最优价值函数,间接推导策略("知道哪个状态好,就往哪走") | 无显式策略,通过价值比较选动作(如 Q-Learning) |
| 基于策略搜索(Policy-Based) | 直接学习最优策略("知道在哪个状态该做什么动作") | 有显式策略,适合连续动作空间(如 REINFORCE) |
| 执行者 - 评论者(Actor-Critic) | 结合两者:Actor(执行者)负责选动作(策略),Critic(评论者)负责评价值(价值函数) | 兼顾稳定性和学习效率(如 TRPO、PPO) |
2. 按 "是否依赖模型" 分类
| 类型 | 核心逻辑 | 特点 |
|---|---|---|
| 基于模型(Model-Based) | 先学习环境模型,再基于模型规划最优策略 | 无需大量交互,适合环境复杂(如机器人控制) |
| 无模型(Model-Free) | 不学习模型,直接通过与环境交互学习策略 / 价值函数 | 简单易实现,依赖大量交互数据(如 DQN、SARSA) |
3. 按 "回报函数是否已知" 分类
| 类型 | 核心逻辑 | 适用场景 |
|---|---|---|
| 正向强化学习 | 回报函数(奖励规则)已知,学习最优策略 | 游戏(分数规则已知)、控制问题(奖励规则明确) |
| 逆向强化学习 | 回报函数未知,从专家示例中学习回报函数,再学策略 | 模仿人类行为(如自动驾驶模仿人类驾驶) |
五、强化学习的核心问题:三大关键权衡
1. 学习(Learning)与规划(Planning):环境是否已知?
| 问题类型 | 环境状态 | 核心行为 | 例子 |
|---|---|---|---|
| 学习 | 环境模型未知 | 智能体与环境交互,通过试错积累经验 | Atari 游戏(不知道游戏运行机制,靠操作试错) |
| 规划 | 环境模型已知 | 智能体不与环境交互,仅通过模型计算最优策略 | 已知规则的迷宫(靠逻辑推导最优路径,无需实际走) |
- 关系:学习是 "建模环境",规划是 "用模型找策略",实际应用中常结合(先学习模型,再规划策略)。
2. 探索(Exploration)与利用(Exploitation):试错与收益的平衡
- 探索:放弃已知收益,尝试新动作,获取环境信息("去新饭店吃饭,可能发现更好吃的");
- 利用:基于已知信息,选择最优动作,最大化即时收益("去常吃的饭店,保证好吃");
- 核心矛盾:过度探索→收益低,过度利用→可能错过更优策略;
- 例子:
- 广告投放:利用(投已知高点击广告)vs 探索(投新广告,测试效果);
- 游戏:利用(选已知能得分的动作)vs 探索(试新动作,可能发现隐藏关卡)。
3. 预测(Prediction)与控制(Control):目标是 "评估" 还是 "优化"?
| 问题类型 | 核心目标 | 输入 | 输出 |
|---|---|---|---|
| 预测 | 评估给定策略的好坏("这个策略能带来多少奖励") | 策略 π | 价值函数 Vπ(s) |
| 控制 | 找到最优策略("哪个策略能带来最大奖励") | 无(或初始策略) | 最优策略 π∗ 和最优价值函数 V∗(s) |
- 关系:预测是控制的基础(先知道 "策略好不好",才能优化出 "最优策略")。