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 映射,也不同于无监督学习的结构发现,而是通过智能体与环境的持续交互,学习能够带来更高长期回报的行为方式。
“点赞有美意,赞赏是鼓励”
