扫地机器人强化学习教程——1.1 强化学习基础

强化学习的定义与适用性

扫地机器人任务包含连续状态变化和多个相互关联的目标。固定规则可处理边界检测、碰撞限制等确定性约束,但难以覆盖不同地图、污渍分布、电量水平和路径条件的组合。强化学习用于处理此类需要根据当前状态连续选择动作的问题。
强化学习不要求预先指定每一步的标准动作,而是定义可执行动作、环境反馈和优化目标。智能体在多次交互中采集经验,并调整策略以提高累计奖励。扫地机器人每次移动都会改变其与污渍、障碍物和充电桩之间的关系,因此属于典型的连续决策问题。

基本组成与交互机制

强化学习的交互过程由状态观察、动作执行、环境转移和奖励反馈构成。智能体在状态 s 下选择动作 a,环境根据任务规则产生新的状态 s′ 和奖励 r。训练算法利用连续交互记录更新策略,使高累计奖励的动作在相似状态下被更频繁地选择。
为了说明这一过程,本节需要认识六个常用概念。它们不是彼此独立的定义,而是描述同一交互过程的不同角度。后续每次出现这些术语时,都可以回到扫地机器人的场景中理解。

智能体(Agent):负责根据状态选择动作的决策主体。简单网格示例中,智能体是选择上下左右方向的控制程序;本项目中,智能体是输出移动、清扫或回充决策的机器人策略。
环境(Environment):定义状态变化和奖励规则的任务系统。简单网格示例中,环境负责更新坐标和判断是否到达目标;本项目中,环境包含二维地图、障碍物、污渍、充电桩和机器人运行约束。
状态(State):智能体在某一时刻用于决策的信息集合。简单网格示例中,状态可表示为机器人坐标;本项目中,状态可包含机器人位置、局部地图、剩余电量、可通行方向和污渍分布。
动作(Action):智能体在当前状态下可执行的操作。简单网格示例中的动作包括上、下、左、右移动;本项目中的动作可扩展为移动、执行清扫和返回充电区域等操作。
奖励(Reward):环境对动作结果返回的数值评价。简单网格示例中,到达目标得到正奖励,普通移动得到负奖励;本项目中,清扫污渍产生正奖励,碰撞和无效能耗产生负奖励。
策略(Policy):将状态映射为动作的决策规则,通常记为 policy。在简单网格示例中,策略规定每个坐标应优先选择的方向;本项目中,策略根据地图信息、电量和污渍位置生成机器人下一步动作,后续可由神经网络学习。
image

回合(Episode):从环境初始化到满足终止条件的一段完整交互过程。简单网格示例中,从起点出发并到达目标或达到最大步数构成一个回合;本项目中,从机器人初始化到完成清扫、耗尽电量或达到最大步数构成一个回合。训练由大量回合组成,策略根据回合数据逐步更新。

一次决策到底发生了什么

假设机器人此刻位于坐标 (2, 1),它的右边一格有污渍,前方没有障碍,电量充足。这些信息组成当前状态。机器人根据自己的策略,选择“向右移动”这个动作。环境接到动作后更新地图:机器人到了 (2, 2),污渍被清扫。于是环境给出新状态和奖励,例如奖励 +10。下一步,机器人继续观察,再选择动作。这样的“观察 - 行动 - 得到反馈 - 再观察”会持续到一轮任务结束,例如地图被清扫完、超过最大步数,或电量耗尽。
回合(Episode):从环境初始化到满足终止条件的一段完整交互过程。简单网格示例中,从起点出发并到达目标或达到最大步数构成一个回合;本项目中,从机器人初始化到完成清扫、耗尽电量或达到最大步数构成一个回合。训练由大量回合组成,策略根据回合数据逐步更新。
G = r₁ + r₂ + r₃ + ... + rₜ
累计奖励(Return)可以先用最朴素的加法理解:G 表示一段过程得到的总分,r₁、r₂、r₃ 分别表示每一步获得的奖励。机器人不应只贪图眼前一步的高分,而要尽量让整段清扫过程的总分更高。

强化学习中的“学习”是什么

强化学习不是把每次发生的事情原样背下来。它要做的是从经验中总结规律:在什么状态下采取什么动作,长期看来通常更有利。最简单的做法是建立一张表,记录“在某个位置向某个方向走,过去平均能得到多少好处”。更复杂的做法是用神经网络近似这张巨大的表。无论形式如何,目标都是调整策略,让好动作在合适的状态下更容易被选中。
本项目后续会介绍近端策略优化(Proximal Policy Optimization,PPO)。它是一种常用的策略优化算法。当前不需要理解其数学细节,只需知道:PPO 会根据采集到的交互经验更新策略,同时限制每次更新幅度,避免机器人因一次偶然高分而完全改变原有策略。可将其理解为根据练习结果稳步调整,而非一次性替换全部动作。在 1.5 节中,本章先用更直观的表格方法完成 Hello World。

posted @ 2026-08-04 19:33  song__1218  阅读(5)  评论(0)    收藏  举报