训练参数与实验管理
训练结果由任务、数据分布、优化设置和计算条件共同决定。参数管理的目的,是使每次修改具有明确含义,并能在相同条件下比较结果。本篇不提供通用最优参数;表中的符号与数值用于说明关系,具体配置名应以项目版本为准。
1. 参数的功能分类
Section titled “1. 参数的功能分类”| 类别 | 主要参数 | 直接影响 |
|---|---|---|
| 物理与控制 | 物理步长、控制周期、增益、动作缩放 | 状态转移和动作执行 |
| 任务分布 | 指令范围、初始状态、地形、随机化 | 训练覆盖的情况 |
| 观测与网络 | 输入维度、历史、归一化、网络规模 | 可用信息及函数表示能力 |
| 采样 | 环境数、每环境采样步数 | 单轮数据量和连续轨迹长度 |
| 优化 | 学习率、epoch 数、小批量、裁剪范围 | 每轮参数更新方式 |
| 回报估计 | 折扣因子、GAE 参数、奖励尺度 | 长期目标与价值估计 |
| 工程记录 | 保存间隔、评估间隔、随机种子 | 结果追踪与恢复能力 |
物理、任务和算法参数应分别记录。例如改变奖励权重是在修改优化目标,改变学习率是在修改优化过程;两者同时变化时,很难将结果归因于其中一项。
2. 采样批量与梯度更新次数
Section titled “2. 采样批量与梯度更新次数”设环境数为 ,每环境采样步数为 ,单轮采样批量为:
若每轮遍历数据 次,小批量大小为 ,且 能被 整除,则梯度更新次数为:
例如 、、、,有 、每个 epoch 8 个小批量、每轮 40 次更新。若 增至 512 而其他量不变,则每轮 80 次更新。这些数字只是计算示例。
有些框架配置的是“小批量数量” ,而不是小批量大小。此时 、,增大环境数可能主要增加每批样本量。需核对配置语义,以及余数样本是否被保留。
保持 不变而增大 、缩短 ,也不是完全相同的采样:每个环境连续片段更短,优势估计更依赖段末自举,循环网络的序列组织也会变化。并行样本数量多,不代表样本完全独立。
3. 时间尺度与回报参数
Section titled “3. 时间尺度与回报参数”折扣因子按控制步作用。经过物理时长 后的折扣约为:
因此,控制周期改变后,相同 对应的物理时间偏好不同。若希望保持同一时间长度上的折扣,可将下面的关系作为换算起点:
这并不使两个任务自动等价,还需要核对奖励时间缩放、动作差分、执行频率和截断条件。GAE 的 决定误差递推权重,同样应结合采样长度和价值预测质量解释。
4. 优化参数与诊断依据
Section titled “4. 优化参数与诊断依据”| 参数 | 主要作用 | 调整时需要观察 |
|---|---|---|
| 学习率 | 控制优化器更新幅度 | KL、梯度、损失和实际行为是否突变 |
| PPO 裁剪范围 | 改变代理目标的裁剪区间 | 概率比、KL 与裁剪比例 |
| epoch 数 | 控制同一批轨迹的重复利用 | 后续更新是否偏离采样策略过远 |
| 熵系数或初始标准差 | 影响探索分布 | 动作饱和、覆盖范围和跟踪表现 |
| 价值损失系数 | 调节联合目标中的价值项贡献 | 共享网络结构、损失尺度和预测质量 |
| 梯度范数上限 | 限制一次梯度的整体范数 | 梯度是否长期触及上限及其来源 |
不要根据单条曲线直接给出“增大”或“减小”的固定结论。例如 KL 很小可能与学习率有关,也可能与优势信号弱或梯度异常有关。先检查数据与任务接口,再基于证据调整参数。
5. 基线实验与对照设计
Section titled “5. 基线实验与对照设计”先保留一个可运行、可回放的基线。每次实验写清假设、修改项、固定项、训练预算和判断标准。例如:“在相同任务、样本预算和评估指令下,降低动作变化惩罚是否能改善转向响应,同时保持可接受的抖动水平。”
一次可解释的对照优先改变一个因素;若需要联合改变多个量,应说明它们为什么属于同一组设计,并保留完整配置差异。
训练迭代数不是独立于配置的预算单位。若每轮批量不同,相同迭代数可能对应不同总转移数。建议同时记录累计环境转移数、墙钟时间和设备条件,分别比较样本效率与计算效率。
初筛可以用较短预算,形成结论前应考虑多个独立训练种子。重复评估同一个策略只能衡量该策略在不同评估条件下的波动,不能替代不同训练种子的重复实验。
6. 实验目录与最小记录
Section titled “6. 实验目录与最小记录”以下目录是组织示例,不是框架固定输出:
experiment_id/ config_resolved.yaml # 最终生效配置 versions.txt # 代码、模型、依赖与设备信息 notes.md # 实验假设、修改项与异常记录 metrics/ # 训练指标 checkpoints/ # 训练检查点 evaluation/ # 协议、逐回合数据与汇总 export/ # 推理产物及接口说明版本记录至少包括代码提交、未提交的配置或代码差异、模型资源标识、框架与关键依赖、随机种子和硬件信息。记录显卡与驱动可以帮助分析框架迁移中的差异,但不能单凭相同种子保证跨设备逐位复现。
一次训练中途改变配置时,应记录改变时刻和累计步数。最好用新的实验标识保存派生结果,避免将前后不同条件拼成一条无法解释的曲线。
7. 检查点恢复与参数初始化
Section titled “7. 检查点恢复与参数初始化”| 操作 | 应恢复或说明的内容 | 结果含义 |
|---|---|---|
| 继续训练 | 网络、优化器、调度器、训练计数及归一化等状态 | 延续已有优化过程 |
| 从权重开始新实验 | 加载兼容权重,明确哪些状态重新初始化 | 新的训练分支 |
| 推理与评估 | Actor 及其估计模块、输入处理、历史初始化 | 执行固定策略 |
精确续接还可能需要随机数状态、环境状态和缓存;不少框架只恢复优化状态并重新创建环境,因此“恢复成功”不等于逐步重现中断前后的轨迹。
输入维数相同也可能具有不同语义。加载检查点前,应核对观测顺序、动作映射、默认姿态和控制周期。检查点与对应配置应作为一组保存。
- 按 与 计算一份配置的数据量和更新次数,并区分小批量大小与数量。
- 设计一组单因素对照,明确相同样本预算下的评估标准。
- 列出一个项目实际保存的检查点字段,判断它支持继续训练、权重初始化还是仅推理。
- 将控制周期减半,计算保持物理时间折扣时的 换算,并列出仍需核对的任务参数。