图解强化学习 |手算马尔可夫随机过程
欢迎来到图解强化学习的世界博客主页卿云阁欢迎关注点赞收藏⭐️留言首发时间2026年3月27日✉️希望可以和大家一起完成进阶之路作者水平很有限如果发现错误请留言轰炸哦万分感谢目录马尔可夫观测过程看马尔可夫性状态空间S状态转移矩阵P马尔可夫决策过程MDP做动作空间策略马尔可夫奖励过程MRP想奖励函数回报 Return价值函数状态价值函数 V(s)动作价值函数 Q(s,a)为什么需要贝尔曼方程贝尔曼方程状态价值函数矩阵形式的贝尔曼方程策略价值函数动作价值函数强化学习的分类按是否学习环境模型分类有模型 Model-based无模型 Model-free按主要学习的函数分类基于价值 Value-based基于策略 Policy-based两者兼顾 Actor-Critic按学习数据与当前策略的关系分类同策略 On-policy异策略 Off-policy马尔可夫观测过程看智能体未来状态的条件概率分布 仅依赖于当前状态马尔可夫性状态空间状态转移矩阵本小节介绍的马尔可夫观测过程看实际上就是马尔可夫过程Markov Process马尔可夫性智能体未来状态的条件概率分布仅依赖于当前状态比如这些下一步会发生什么只取决于他现在正在上第二节课这个状态而不取决于他是怎么来到第二节课的。 只要他现在都处于 C2那么从 C2 出发的下一步转移概率就是一样的。P(C3 | C2) 0.8 P(FB | C2) 0.280% 的概率去上第三节课20% 的概率去刷朋友圈状态空间S状态空间是智能体可能处于的所有状态的集合。状态空间可以分为两类离散状态空间状态是有限或可数的例如迷宫格子、课程阶段。连续状态空间状态是连续取值的例如机器人位置坐标、速度、温度。以学生的一天为例状态 StateSC1上第一节课C2上第二节课C3上第三节课Pass通过考试Pub去酒吧FB刷 Facebook / 刷朋友圈Sleep睡觉终止态状态转移矩阵P智能体从一个状态到另外一个状态构成的矩阵。P这是状态转移矩阵把所有状态之间的转移概率都打包成一张表。比如第1行就是从状态s1出发到所有其他状态的概率。学生一天的状态变化过程可以看作马尔可夫过程产生的一条轨迹trajectory也称为一条样本路径sample path。若从强化学习视角看从初始状态到终止状态Sleep的完整过程又可以称为一个episode回合。马尔可夫决策过程MDP做有动作影响环境动作空间策略动作空间智能体在每个状态下可以选择的动作例如Study学习 Facebook刷朋友圈 Pub去酒吧 Sleep睡觉Quit放弃/退出策略在状态 s 下选择动作 a 的概率分布。在策略 下从 s到 s 的总概率.在当前状态下选择某个动作的概率马尔可夫奖励过程MRP想奖励函数状态奖励函数动作奖励函数回报价值函数状态价值函数动作价值函数奖励函数状态奖励函数状态奖励函数只由当前状态决定RS只要智能体进入状态 s就获得对应奖励。R(C1) -2 R(C2) -2 R(C3) -2 R(Pass) 10 R(Pub) 1 R(FB) -1 R(Sleep) 0动作奖励函数由当前状态 s 和动作 a 共同决定的奖励信号通常表示为R(s,a)。在状态 s 下选择动作 a会获得一个奖励。R(C2, study) -1 R(C2, browse) -2 R(C2, skip) -3选择状态奖励函数还是动作奖励函数取决于任务性质和特点。回报 Return回报 Return 从某个时间点开始沿着后续轨迹获得的累计奖励。如果是完整回合从初始状态开始算那回报就是这一整个回合的总奖励。从当前状态出发的每个回合都有对应的回报价值函数在理解价值函数之前先明确几个概念。期望 Expectation期望可以理解为“加权平均”。如果一个随机事件有多种可能结果每种结果都有对应的发生概率那么期望就是期望 每种结果 × 对应概率然后全部加起来60% 的概率得到 10 分 40% 的概率得到 1 分 0.6 × 10 0.4 × 1 6.4回合 Episode回合指的是智能体从初始状态开始与环境进行一系列交互直到终止状态为止的完整过程。在学生例子中一个回合可以是C1 → C2 → C3 → Pass → Sleep状态价值函数 V(s)从当前状态 s 开始一直走到任务结束未来能够获得的回报的期望值。V(s) E[G_t | S_t s]G_t从当前时刻 t 开始的回报E求期望也就是对所有可能轨迹做加权平均用学生例子来说计算 C1 状态下的价值实际上就是在问如果一个学生现在处于 C1第一节课 按照图中的概率一直走下去 他这一轮学习过程平均能获得多少分这里不是问某一条路线能得多少分而是问从 C1 出发所有可能路线的回报平均是多少例如从 C1 出发可能有很多条轨迹每条轨迹都有自己的回报也有自己的发生概率。轨迹1C1 → C2 → C3 → Pass → Sleep 轨迹2C1 → C2 → C3 → Pub → Sleep 轨迹3C1 → FB → Pub → Sleep 轨迹4C1 → FB → Sleep ...所以 C1 的价值就是V(C1) 所有可能轨迹的回报 × 该轨迹发生的概率然后全部加起来也可以说C1 的价值 未来所有可能收益的折现加权平均值轨迹概率怎么得到以轨迹1为例C1 → C2 → C3 → Pass → Sleep P(C2 | C1) 0.5 P(C3 | C2) 0.8 P(Pass | C3) 0.6 P(Sleep | Pass) 1.0 P(轨迹1) P(C2 | C1) × P(C3 | C2) × P(Pass | C3) × P(Sleep | Pass) 0.5 × 0.8 × 0.6 × 1.0 0.24动作价值函数 Q(s,a)在状态 s 下如果先选择动作 a然后再继续走下去未来平均能获得多少回报Q(s,a) E[G_t | S_t s, A_t a]Q(s,a)评价在某个状态下选择某个动作好不好Q 函数可以直接用来指导智能体选动作 在状态 s 下选择 Q(s,a) 最大的动作。为什么需要贝尔曼方程理论上我们可以通过枚举所有可能轨迹来计算价值V(C1) 轨迹1概率 × 轨迹1回报 轨迹2概率 × 轨迹2回报 轨迹3概率 × 轨迹3回报 ...但现实中轨迹可能非常多甚至无限多。手动列出一万条轨迹再加权平均是不现实的。所以我们用贝尔曼方程直接递归求解价值。V(s) R(s) γ Σ P(s | s) V(s)当前状态的价值 当前状态的即时奖励 折扣因子 × 下一状态价值的加权平均以 C3 为例假设R(C3) -2 P(Pass | C3) 0.6 P(Pub | C3) 0.4 γ 1V(C3) R(C3) P(Pass | C3)V(Pass) P(Pub | C3)V(Pub) -2 0.6V(Pass) 0.4V(Pub)C3 的价值 C3 本身的奖励 从 C3 可能到达的所有下一状态价值的加权平均贝尔曼方程状态价值函数“一个状态的价值等于你现在能拿到的奖励加上你下一步所在状态价值的折现。”矩阵形式的贝尔曼方程求解贝尔曼方程贝尔曼方程是线性方程 可以直接求解:这种方法只适合“小世界”。如果你的迷宫有几百万个格子算这个矩阵逆的开销会大到让电脑爆炸。对于大规模的 MRPs 问题, 可以使用迭代或基于数据的方法,例如1动态规划2蒙特卡洛估计3时间差分学习策略价值函数状态 s的状态价值等于我所有可能采取的动作a及其对应动作价值Q的加权平均数。动作价值函数一个动作的价值 现在的即时反馈 未来所有可能状态的平均价值强化学习的分类强化学习主要研究的就是3类函数状态转移函数策略函数价值函数。状态转移函数环境会怎么变化策略函数智能体会怎么选动作价值函数状态或动作到底有多好按是否学习环境模型分类有模型 Model-based有模型强化学习会尝试学习或使用一个环境模型。这个模型可以预测在状态 s 下采取动作 a下一步可能到达哪个状态 s会获得多少奖励 r。智能体不只是直接在真实环境中试错还额外拥有一个“虚拟环境”。它可以在脑子里提前模拟未来然后选择更好的动作。World Models MuZero 基于模型预测控制的方法无模型 Model-free无模型强化学习不显式学习环境转移模型。它不去建模P(s | s, a) 而是直接通过和环境交互获得经验我做了动作 a 环境给了我奖励 r 我进入了新状态 s 然后根据这些反馈改进策略或价值函数。可以理解为机器人不知道世界规则只能一步一步试根据真实反馈慢慢学。Q-learning Sarsa DQN Policy Gradient PPO按主要学习的函数分类基于价值 Value-based基于价值的方法主要学习价值函数例如V(s) Q(s,a)它会显式计算“某个状态或动作有多好”。比如 Q-learning 会学习Q(s,a)策略本身通常是隐式的。也就是说算法没有直接输出一个完整策略而是根据 Q 值选动作选择 Q(s,a) 最大的动作a argmax Q(s,a)Q-learning DQN动作空间离散、动作数量有限基于策略 Policy-based基于策略的方法直接学习策略函数 π(a | s) 在状态 s 下选择动作 a 的概率是多少 它不一定先计算每个动作的 Q 值而是直接输出动作概率。Policy Gradient REINFORCE连续动作空间两者兼顾 Actor-CriticActor-Critic 同时学习策略函数和价值函数。Actor演员负责选择动作也就是学习策略 π(a | s)Critic评论家负责评价动作好不好也就是学习价值函数 V(s) 或 Q(s,a)A2C A3C DDPG PPO SAC按学习数据与当前策略的关系分类同策略 On-policy同策略学习指的是用当前策略采集的数据来改进当前策略。也就是说我现在怎么行动就用我现在行动产生的经验来学习。Sarsa Policy Gradient PPO 通常也属于 On-policy 风格异策略 Off-policy异策略学习指的是学习用的数据不一定来自当前要优化的策略。它可以使用过去的数据、别的策略产生的数据甚至随机探索产生的数据。代表算法Q-learning DQN DDPG SAC