面向边缘系统的强化学习工程:状态表征、大规模动作与生成模型
在边缘系统中用强化学习做控制,往往会同时遇到两个规模问题:一边是由大量队列、资源容量和任务属性组成的观测,另一边是数量庞大的离散分配动作。人们自然会想到压缩观测、嵌入动作,但降维和嵌入本身并不等于有效。学习到的空间必须保留控制器作出预测和决策所需的信息。
下文把状态编码器、Wolpertinger 式动作搜索和变分自编码器都当作需要验证的工程工具,而不是现成答案。是否值得采用,应通过受控消融,并与更简单的基线在相同条件下比较。
先判断表征是否足以支撑控制
令编码器把可用观测历史映射为潜在状态:
有用的潜在状态不必逐字节还原 ,但必须保留预测奖励、预测状态转移和选择动作所需的信息。工程上可以用下面的关系近似表达这一要求:
如果已经给定 ,加入更长的历史仍能明显改善下一步状态或回报预测,就说明不同历史可能被编码成了难以区分的状态。这通常是状态混叠或部分可观测问题,并不代表物理系统本身不稳定。与其盲目加宽前馈网络,不如考虑循环结构、信念状态模型,或者补充更准确的时间戳和事件特征。
常见的三类编码目标各有侧重:
| 目标 | 主要保留的信息 | 容易忽略的问题 |
|---|---|---|
| 重建 | 在给定损失下复原观测所需的信息 | 可能把容量浪费在数值较大或显眼但与控制无关的细节上 |
| 奖励与转移预测 | 对已建模一步动力学有用的特征 | 可能丢失长时域决策或未见动作所需的信息 |
| 端到端控制 | 能改善当前强化学习目标的特征 | 训练可能不稳定,表征容易过度贴合单一任务且难以排查 |
普通自编码器最小化如下重建风险:
损失函数 实际上规定了什么叫“相似”。因此,统一不同量纲、为缺失实体设置掩码,以及合理分配各类特征的权重,都属于模型设计,而不是可以随手处理的预处理细节。重建误差低,只能说明解码器擅长还原观测,不能证明 满足马尔可夫性,也不能证明它适合控制。
预测式状态学习要求 能够解释奖励,以及下一时刻的观测或潜在状态。这样做有机会滤掉无关细节,但需要更多转移数据,也会继承预测模型的误差。比较时不能只问“自编码器还是预测编码器”,而应固定 Actor、Critic、数据预算和评估随机种子,只替换编码器。
把实体结构写进模型
许多边缘观测本质上是由相似实体构成的集合或序列。直接展平成一个长向量,会让输入维度乃至参数量随系统规模增长,同时让表示语义依赖人为规定的排列顺序。更合理的做法包括:
- 共享实体编码器,再使用带 mask 的池化或注意力;
- 只有在角色不可交换时才加入显式实体标识;
- 对等价实体重新排序,测试决策是否保持不变;
- 将全局上下文与单实体状态分开,而不是在每个特征块中重复全局信息。
共享编码器只有在实体语义确实相同时才有助于提高样本效率。若实体的资源类型、动作约束或故障模式不同,就应考虑加入类型嵌入,或者为不同类型设置独立的输出头。
编码器漂移会破坏经验回放的语义
如果编码器不断更新,而经验池中保存的却是潜在向量,那么旧 与新 就不再位于同一个表示空间。此时,Critic 面对的非平稳性不是来自环境,而是训练流程自己制造出来的。
实践中有四种较稳妥的处理方式:
- 预训练后冻结编码器;
- 保存原始观测,并在采样时重新编码;
- 为潜在特征设置版本,丢弃不兼容经验;
- 缓慢更新编码器,同时测量表征漂移并刷新目标。
目标编码器可以减缓表示变化,却不能让两个坐标系自动对齐。使用它时,应持续记录在线编码器与目标编码器输出之间的距离,并区分 Critic 目标的变化究竟来自环境,还是来自编码器漂移。
大离散动作空间首先需要可靠的几何关系
Wolpertinger 架构的出发点,是避免逐一评估所有可行动作。Actor 先输出一个连续的原型动作(proto-action),近似最近邻索引再找回 个合法候选,最后由 Critic 重新排序:
这种方法有机会把候选检索开销降到动作总数的次线性量级,但前提是动作嵌入确实反映任务结构:欧氏距离相近的动作,应当产生相似的后果或价值。若只是随意给动作分配二进制编码,相邻向量可能对应完全无关的方案,真正的最优动作也可能根本进不了候选集。
Actor 针对连续近似进行优化,环境执行的却是离散候选,因此训练目标与实际执行之间存在偏差。应直接测量:
- 在可枚举的小实例上,真正最佳动作是否进入 个候选;
- 最终选择相对 Critic 枚举最优动作的后悔值(regret);
- 索引查询和 Critic 重排序各自的耗时;
- 对 、嵌入维度与动作集合变化的敏感性;
- proto-action 落在无支持或不可行区域附近的比例。
Wolpertinger 只是众多方案之一。因子化类别策略、自回归分配、层次动作、动作掩码和组合优化层,有时更贴合问题本身。比较这些方法时,应同时考察实际运行时延和决策质量,不能只统计网络需要输出多少个数。
VAE 的优化目标究竟是什么
变分自编码器(VAE)包含概率编码器 、先验 与解码器似然 ,其优化目标是证据下界:
重建项并不天然等于均方误差,具体形式取决于观测似然。固定方差的高斯似然会导出按比例缩放的平方误差;Bernoulli、类别、计数或异方差似然则对应不同的损失。面对归一化利用率、队列计数、离散状态或截断观测时,应从数据生成机制出发选择似然,而不是照搬图像 VAE 的实现。
KL 项把近似后验约束到先验附近,并使采样成为可能;但它不会自动带来紧凑、解耦、满足马尔可夫性或足以支撑控制的潜在状态。VAE 当然不只适用于图像,不过它是否适合结构化系统遥测,仍要靠实验回答,不能从图像生成任务的成功直接类推。
用于控制时,可以先比较确定性编码器和 VAE 后验均值,再决定是否把潜变量采样噪声引入策略。评估重点应放在下游回报、Critic 校准、转移预测和负载变化下的鲁棒性,而不是只看重建质量。
一套循序渐进的实验方案
1. 建立简单基线
先从归一化原始特征、人工设计的摘要和小型多层感知机做起。动作侧可以先在缩小实例上枚举,或采用因子化类别输出和领域启发式。复杂潜变量模型只有在相同交互预算下稳定超过这些基线,才有引入的理由。
2. 检查可观测性
先用 预测下一奖励和下一观测,再加入短历史重复实验。如果历史带来显著提升,应先解决观测问题,再调强化学习算法。
3. 分离表征学习与策略学习
用同一批日志转移数据预训练各个编码器,冻结参数后再训练完全相同的策略;随后另做一组受控微调实验。这样才能判断收益来自表征本身,还是来自编码器与策略联合优化时的耦合。
4. 在可处理实例上验证动作检索
在小规模动作空间中枚举全部动作,计算候选召回率以及相对 Critic 最优动作的后悔值。只有最近邻关系通过这项检查,才值得继续扩大问题规模。
5. 报告消融,而不是轶事
每次只改变潜在维度、候选数 、编码器更新率或经验回放策略中的一个因素。使用多个随机种子,同时记录环境步数、实际耗时、内存、回报,以及违反约束或无法得到可行解的情况。完成这些比较之前,架构草图和单条漂亮曲线都只能算作假设。
可以落地的设计原则
- 只有在定义潜在状态必须保留哪些预测与决策信息后,才压缩观测。
- 把非马尔可夫观测视为信息设计问题,而不是“不稳定动力学”的同义词。
- 在架构中显式表达实体对称性与动作约束。
- 编码器变化时,必须保持经验回放语义一致。
- 只有动作空间几何支持最近邻检索时,才使用 Wolpertinger。
- 根据数据模型选择 VAE 似然,不要假设所有 VAE 都使用均方误差。
- 未经测试的架构建议必须表述为假设,而不是实验发现。
真正有价值的工程结论,往往不是又增加了一层网络,而是通过受控实验说明:表征确实保留了与决策有关的信息,近似动作搜索也确实能在系统时延预算内给出质量足够高的可行方案。