news 2026/5/12 20:25:04

ML:从状态到策略——强化学习的最小闭环

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ML:从状态到策略——强化学习的最小闭环

强化学习(Reinforcement Learning,RL)关注的不是从已有答案中学习映射关系,也不是从无标签数据中发现结构,而是让智能体在环境中不断行动、获得反馈,并逐步改进行为策略。

在监督学习中,模型通常从 X 和 y 中学习输入到目标的映射;在无监督学习中,模型通常从 X 中发现数据内部结构。强化学习面对的问题则不同:智能体并不知道每一步最正确的动作是什么,它只能通过与环境交互,依据奖励信号不断修正自己的行为方式。

因此,强化学习的最小闭环可以概括为:

状态观察 → 动作选择 → 环境反馈 → 价值更新 → 策略改进

图 1:强化学习的最小闭环示意图

这条路径构成了强化学习最基础的学习过程。它的核心不在于一次性得到正确答案,而在于:智能体在当前状态下选择动作,环境根据动作返回奖励和新状态,智能体再根据反馈更新对动作价值的判断,并在后续决策中改进策略。

在这个闭环中,最重要的概念包括状态(State)、动作(Action)、奖励(Reward)、策略(Policy)和价值(Value)。它们共同构成强化学习区别于监督学习和无监督学习的基本结构。

一、最小闭环的基本内涵

这里所说的“最小”,不是指问题简单,而是指在不引入复杂算法和深度网络的前提下,保留强化学习任务必须具备的核心结构。

一个最小强化学习闭环通常包括:

• 智能体观察当前状态 s

• 根据策略选择动作 a

• 环境返回奖励 r 和下一个状态 s′

• 智能体根据反馈更新价值判断

• 策略根据新的价值判断逐步改进

与监督学习相比,强化学习最大的差异在于:它通常没有现成的“标准答案动作”。智能体并不是直接学习“某个输入应该对应哪个标签”,而是在一次次尝试中判断:哪些动作会带来更好的长期结果。

“闭环”强调这些环节之间的连续关系:

• 当前状态决定可选择的动作

• 动作会改变环境状态

• 环境反馈奖励信号

• 奖励影响价值估计

• 价值估计进一步影响后续策略

如果智能体只是执行动作,而没有根据奖励修正行为,就不能构成真正的强化学习过程。

二、强化学习最小闭环的核心流程

1、状态观察:智能体获得当前状态

强化学习中的状态(State)表示智能体在某一时刻能够观察到的环境信息,通常记为 s。

图 2:强化学习中的智能体与环境交互

例如:

• 在迷宫任务中,状态可以是智能体当前所在的位置

• 在游戏任务中,状态可以是当前画面、分数和角色位置

• 在机器人控制中,状态可以是关节角度、速度和传感器读数

• 在推荐系统中,状态可以是用户当前的浏览行为和历史偏好

状态不是随意记录的信息,而是智能体做决策的基础。状态表示越合理,智能体越有可能学习到有效策略;状态信息不足或噪声过多,都会增加学习难度。

在最小闭环中,状态观察可以概括为:

智能体观察当前环境状态 s

其中,s 表示智能体在当前时刻所依据的环境信息。

2、动作选择:根据策略决定下一步行为

动作(Action)表示智能体在某个状态下可以执行的行为,通常记为 a。

例如:

• 在迷宫中,动作可以是“上、下、左、右”

• 在游戏中,动作可以是“移动、跳跃、攻击、防御”

• 在机器人控制中,动作可以是某个关节的转动方向或力矩

• 在推荐系统中,动作可以是向用户推荐某个内容

动作选择通常由策略(Policy)决定。策略描述的是:在状态 s 下,智能体应该如何选择动作 a。

策略通常记为:

其中:

• π 表示策略

• s 表示当前状态

• a 表示可选动作

• π(a | s) 表示在状态 s 下选择动作 a 的概率

在最简单的情况下,策略可以直接选择当前看来价值最高的动作;但在学习过程中,智能体也需要保留一定探索空间,尝试那些尚未充分验证的动作。

3、环境反馈:动作带来奖励和新状态

强化学习的关键在于交互。智能体执行动作后,环境会返回两个重要信息:

• 奖励 r

• 下一个状态 s′

这一过程可以表示为:

s, a → r, s′

其中:

• s 表示当前状态

• a 表示智能体执行的动作

• r 表示环境返回的即时奖励

• s′ 表示动作执行后的下一个状态

奖励(Reward)是环境对动作结果的反馈。奖励可以为正,也可以为负:

• 到达目标位置:获得正奖励

• 撞到障碍物:获得负奖励

• 每走一步:可能获得很小的惩罚

• 完成任务:获得较大的终点奖励

需要注意的是,奖励并不一定等同于最终目标。某一步奖励较高,不代表整条路径最优;某一步看似收益不高,也可能为后续更大收益铺路。因此,强化学习关注的不只是即时奖励,而是长期回报。

4、价值更新:根据反馈修正判断

在强化学习中,智能体需要判断:在某个状态下采取某个动作,长期来看是否值得。这种判断通常由价值函数或动作价值函数表示。

图 3:价值更新的基本思想

在 Q 学习(Q-Learning)中,常用 Q(s, a) 表示状态 s 下执行动作 a 的价值。

可以理解为:Q(s, a) 表示在状态 s 下选择动作 a 的长期价值估计。

如果某个动作之后带来了较好的奖励,并且进入的新状态也有较好的后续机会,那么这个动作的 Q 值应当提高;反之,如果动作导致负面结果,Q 值就应当降低。

Q 学习中常见的更新公式为:

其中:

• Q(s, a) 表示当前状态 s 下动作 a 的旧价值估计

• α 表示学习率,控制每次更新的幅度

• r 表示当前动作获得的即时奖励

• γ 表示折扣因子,控制未来奖励的重要程度

• s′ 表示下一个状态

• a′ 表示下一个状态中的可选动作

• max Q(s′, a′) 表示下一个状态中最优动作的价值估计

• r + γ max Q(s′, a′) 表示当前动作带来的目标价值

• [r + γ max Q(s′, a′) − Q(s, a)] 表示新旧价值之间的差距

这个公式体现了强化学习的核心思想:当前动作的价值,不只由当前奖励决定,还要考虑它把智能体带到了怎样的未来状态。

5、策略改进:让后续动作选择更合理

价值更新之后,智能体对不同动作的判断发生变化。策略也应随之改进。

图 4:Q 表与策略改进

在 Q 学习中,常见做法是选择 Q 值最大的动作:

a = argmax Q(s, a)

其中:

• s 表示当前状态

• a 表示可选动作

• argmax 表示选择使 Q(s, a) 最大的动作

这意味着:如果智能体已经认为某个动作在当前状态下长期价值更高,那么后续就更倾向于选择这个动作。

不过,在学习早期,如果智能体总是选择当前 Q 值最大的动作,可能会过早陷入局部选择。因为某些动作尚未被充分尝试,它们的真实价值还没有被发现。因此,强化学习通常需要在“探索”和“利用”之间取得平衡。

6、探索与利用:既要尝试,也要使用经验

强化学习中的探索(Exploration)与利用(Exploitation)是一个基本矛盾。

• 探索:尝试不确定的动作,以发现更好的可能性

• 利用:选择当前已知价值较高的动作,以获得更稳定的收益

如果只利用,智能体可能永远不会发现更优策略;如果只探索,智能体又难以稳定获得高回报。

图 5:探索与利用

常见的简单策略是 ε-greedy 策略:

• 以 ε 的概率随机选择动作

• 以 1 − ε 的概率选择当前 Q 值最大的动作

其中:

• ε 表示探索概率

• ε 越大,随机探索越多

• ε 越小,越倾向于利用已有经验

在训练早期,可以使用较高的 ε,让智能体充分探索;随着训练进行,可以逐渐降低 ε,让智能体更多利用已经学到的策略。

7、回合与长期回报:强化学习关注连续决策

强化学习任务通常不是一次动作就结束,而是由一系列状态、动作和奖励组成。

图 6:回合与长期回报

一次完整交互过程通常称为一个回合(Episode)。例如,在迷宫任务中,从起点出发到到达终点或失败结束,就是一个回合。

一个回合可以表示为:

s₀ → a₀ → r₁ → s₁ → a₁ → r₂ → s₂ → ... → 终止状态

强化学习关注的是整个过程中的长期回报,而不仅是单步奖励。长期回报可以简化理解为:

G = r₁ + γr₂ + γ²r₃ + ...

其中:

• G 表示长期回报

• r₁、r₂、r₃ 表示不同时间步获得的奖励

• γ 表示折扣因子

• γ 越接近 1,未来奖励越重要

• γ 越接近 0,当前奖励越重要

因此,强化学习的本质不是“当前哪一步奖励最高”,而是“怎样的行为策略能带来更好的长期结果”。

三、Python 示例:一个最小 Q 学习闭环

下面用一个极简网格任务演示强化学习的最小闭环。智能体从位置 0 出发,希望移动到目标位置 4。每次可以选择向左或向右移动,到达目标位置时获得奖励。

这个示例不依赖复杂强化学习库,而是直接用 NumPy 构造 Q 表,便于观察强化学习的基本过程。

import numpy as np # 数值计算import random # 随机数(探索用) # 1. 定义环境n_states = 5 # 状态:0, 1, 2, 3, 4actions = [0, 1] # 动作:0向左,1向右goal_state = 4 # 目标状态(最右) # 2. 初始化 Q 表(全零)Q = np.zeros((n_states, len(actions))) # 行=状态,列=动作 # 3. 设置超参数alpha = 0.1 # 学习率gamma = 0.9 # 折扣因子epsilon = 0.2 # ε-greedy探索概率n_episodes = 200 # 训练回合数 # 4. 定义环境反馈函数def step(state, action): if action == 0: # 向左 next_state = max(0, state - 1) else: # 向右 next_state = min(goal_state, state + 1) reward = 1 if next_state == goal_state else 0 # 到达目标奖励1,否则0 done = next_state == goal_state # 到达目标则回合结束 return next_state, reward, done # 5. Q 学习训练for episode in range(n_episodes): state = 0 # 每个回合从起点0开始 done = False while not done: # ε-greedy 动作选择 if random.random() < epsilon: action = random.choice(actions) # 探索:随机动作 else: action = np.argmax(Q[state]) # 利用:当前Q值最大的动作 # 执行动作,与环境交互 next_state, reward, done = step(state, action) # Q值更新(贝尔曼方程) best_next_value = np.max(Q[next_state]) Q[state, action] = Q[state, action] + alpha * ( reward + gamma * best_next_value - Q[state, action] ) # 状态转移 state = next_state print("训练后的 Q 表:")print(Q) print("每个状态下的最优动作:")print(np.argmax(Q, axis=1)) # 输出每个状态选择的最优动作(0或1)

这段代码对应的最小闭环如下:

• 状态观察:智能体获得当前位置 state

• 动作选择:使用 ε-greedy 策略选择动作 action

• 环境反馈:step 函数返回 next_state、reward、done

• 价值更新:根据 Q 学习公式更新 Q[state, action]

• 策略改进:Q 表变化后,后续动作选择随之改变

训练完成后,Q 表中的数值表示:在不同状态下选择不同行动的长期价值估计。通过 np.argmax(Q, axis=1),可以得到每个状态下当前认为最优的动作。

由于 Q 表初始值相同,np.argmax 在并列时会返回第一个动作,因此训练结果会受到随机探索影响。实际示例中可以适当增加训练回合数,或在并列动作中随机选择一个最大 Q 值动作。

在上面的例子中,状态只有 5 个,动作只有 2 个,因此 Q 表是一个二维数组。Q 的形状为:

其中:

• 每一行对应一个状态

• 每一列对应一个动作

• 每个元素 Q(s, a) 表示在状态 s 下执行动作 a 的价值估计

例如:

• Q[2, 0] 表示在状态 2 下选择“向左”的价值

• Q[2, 1] 表示在状态 2 下选择“向右”的价值

如果目标在右侧,那么经过多轮训练后,状态 0、1、2、3 通常会更倾向于选择“向右”。这说明智能体已经通过奖励反馈学到:向右移动更有可能接近目标并获得长期收益。

需要注意的是,Q 表不是环境直接给出的答案,而是智能体通过多次交互逐步估计出来的结果。

四、强化学习结果的判断方式

强化学习没有简单的“预测是否正确”这一判断方式。它更关注策略在环境中的长期表现。

常见判断方式包括:

1、累计奖励是否提高

如果训练逐渐有效,智能体在每个回合中获得的累计奖励通常会提高。累计奖励越高,通常说明策略越能完成任务目标。

回合累计奖励 = 一个回合中所有奖励之和

2、完成任务所需步数是否减少

在迷宫、导航、路径规划等任务中,智能体如果学到了更好的策略,通常会用更少的步数到达目标。

3、策略是否稳定

如果训练后智能体在相同状态下能够稳定选择合理动作,说明策略具有一定稳定性。反之,如果动作选择高度随机,可能说明学习尚未收敛。

4、是否兼顾长期收益

强化学习不能只看即时奖励,还要观察长期效果。有些动作短期收益较高,但会导致后续失败;有些动作短期收益不明显,却能带来更好的长期回报。

5、是否具有可解释的行为路径

在简单任务中,可以直接观察智能体的行动轨迹。例如,在网格任务中,若智能体逐步学会向目标移动,就说明策略已经具备较清晰的行为逻辑。

五、最小闭环的作用

1、明确强化学习的基本逻辑

强化学习容易被误解为“让模型自己试错”。更准确地说,强化学习是一个有结构的交互学习过程。

最小闭环可以帮助我们明确:

• s 是智能体观察到的状态

• a 是智能体选择的动作

• r 是环境返回的奖励

• s′ 是动作导致的新状态

• Q(s, a) 是动作价值估计

• 策略根据价值估计逐步改进

因此,强化学习不是随机尝试的堆积,而是通过奖励反馈不断修正行为策略的过程。

2、为复杂强化学习算法奠定基础

更复杂的强化学习算法会进一步加入:

• 更大的状态空间

• 连续动作空间

• 深度神经网络

• 经验回放

• 目标网络

• 策略梯度

• Actor-Critic 结构

• 多智能体环境

但这些方法都建立在最小闭环之上。无论是 Q 学习、DQN、策略梯度,还是 Actor-Critic,本质上都离不开:

状态观察 → 动作选择 → 环境反馈 → 价值更新或策略更新 → 行为改进

先理解这个闭环,再学习具体算法,才能把强化学习看作一套连续决策机制,而不是一组孤立公式。

📘 小结

强化学习的最小闭环包括:观察状态、选择动作、获得奖励、更新价值,并改进策略。它不同于监督学习的 X 到 y 映射,也不同于无监督学习的结构发现,而是通过智能体与环境的持续交互,学习能够带来更高长期回报的行为方式。

“点赞有美意,赞赏是鼓励”

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

为什么不能虚构计算机视觉论文解读?技术写作的底线与原则

我不能按照您的要求生成关于“Top Important Computer Vision Papers for the Week from 9/10 to 15/10”相关内容的博文。原因如下&#xff1a;该输入内容本质是一则媒体资讯摘要引流帖&#xff0c;并非真实可复现、可操作、可深度解析的项目资料。它不具备以下任一核心要素&a…

作者头像 李华
网站建设 2026/5/12 20:23:27

AI Agent架构师必读:2029年算力拐点下的成本韧性设计

1. 项目概述&#xff1a;一个被忽视的行业倒计时如果你最近在关注AI Agent&#xff08;智能体&#xff09;或者大模型应用开发&#xff0c;大概率会听到很多关于“基础设施”的讨论。从向量数据库到编排框架&#xff0c;从模型微调到工具调用&#xff0c;整个赛道热火朝天&…

作者头像 李华
网站建设 2026/5/12 20:23:26

为什么感觉vibe coding让程序员越来越浮躁了?

我在 ClickHouse 工作&#xff0c;负责 chDB 这个项目。公司内部非常鼓励用 AI 辅助开发——几乎所有主流 AI coding IDE&#xff08;Cursor、Windsurf 等&#xff09;都给员工开了不限量的版本。在这个环境下&#xff0c;过去几个月我用 Claude Code Cursor 构建了一个 panda…

作者头像 李华
网站建设 2026/5/12 20:20:08

基于Docker Compose的n8n自动化工作流引擎自托管部署指南

1. 项目概述&#xff1a;一个容器化的自动化工作流引擎部署方案最近在折腾自动化流程&#xff0c;想把一些重复的、跨平台的手动操作串联起来&#xff0c;比如自动备份数据库到云盘、监控网站状态并发送通知、或者处理一些简单的数据同步任务。市面上这类工具不少&#xff0c;像…

作者头像 李华
网站建设 2026/5/12 20:19:10

TI DSP 28335 ePWM死区控制实战:从原理到代码的电机驱动安全设计

1. 为什么电机驱动必须考虑死区控制&#xff1f; 我第一次用TI DSP 28335做电机驱动时&#xff0c;烧掉了三块MOSFET。当时怎么也想不明白&#xff0c;明明PWM波形看起来很正常&#xff0c;为什么上电就炸管&#xff1f;后来才发现是死区时间没设置好。这个惨痛教训让我深刻理解…

作者头像 李华