多候选前向 + 固定解析打分 + 网络自迭代均为纯 NN 合法算子;⛔ IPOPT / ACADOS / MCTS 等通用求解器与树搜索禁止出现在运行时链路
任务:训练一个 Transformer 神经网络,端到端解决重卡自动泊车——输入(初始状态 / 目标位姿 / 障碍物),输出 80 步控制序列,在仿真闭环评估中达到验收硬门。
物理设定:重卡(牵引+挂车铰接,存在 jackknife 约束);RK4 定步长积分(dt 见数据样本);OBB(有向包围盒)碰撞检测;障碍物为静态车辆/边界。评估口径:网络输出整条控制序列后逐步 rollout 至终态,统计终点误差 / 碰撞 / 超时三类结果("闭环",300+ 条固定验证场景)。
假设 → 实验 → 证据 → 决策 → 下一步假设。每一轮工作都必须落在这个环上:先陈述这轮要验证的假设,实验产出证据,用证据做决策,决策引出下一个假设。只跑实验不形成证据链 = 没有完成工作。职责:
⛔ 禁止:
1.1 已证伪路线(不要重复投入)
| 路线 | 证据 | 结论 |
|---|---|---|
| L2 单轨迹回归 | 可微 rollout + 碰撞 hinge + margin 全套物理损失在用,闭环碰撞仍 58% | 泊车本质多解,L2 回归逼网络输出"多条解的平均",平均解撞障碍——输出形态病,损失项治不了 |
| DAgger 类数据回流 | 三轮剂量消融(0.3%→0.55%→13.2% 占比)指标全平 | 病灶在输出形态时,数据侧手段打不穿 |
| 固定周期滚动重规划 | K∈{1,2,3,5,10,20,40,80} 全谱扫描:K 越小越差 | 滚动救不了坏的单次前向;重规划只在执行层做兜底 |
1.2 已验证有效:轨迹级 Transformer(非反应式)+ goal-frame 表示(输入输出换到目标位姿坐标系)+ 物理一致性损失(RK4 可微 rollout 进 loss)——此配方开环 med 0.68m(单轨迹回归口径下的最好成绩);分层双指标诊断(开环切片 vs 闭环 rollout 同时监控,差 5 倍即报警);硬门择优存 best(碰撞>10% 不存)。
1.3 病灶双因定性:前序 9.7m 级闭环崩坏 = 输出形态病(L2 平均化)+ 切片训练病(以轨迹中间状态为起点的切片数据若切点偏后段,模型被教成"只会小幅微调")叠加。若你采用切片数据训练,切点必须偏前段(如 t=0/8/20/40)且按剩余距离加权。
下载:https://parking.sunearthl2.cn/data/parking_warehouse_45971.tar.gz(107MB,md5=b2e8b9a84d686fc463d0fc183299c9e6)
解压:tar xzf parking_warehouse_45971.tar.gz → warehouse/samples/*.npz(45,971 个)+ warehouse/index.json(索引,含批次与去重信息)
数据质量:每条均为 IPOPT 数值最优解,已过七道质检闸(RK4 重积分一致性 / 终端精度<5cm / 零碰撞 / 非常数控制 / 限幅 / 形状 / NaN),可直接作为模仿学习监督。
字段表(.npz)
| 字段 | 形状/类型 | 说明 |
|---|---|---|
start | (4,) float32 | 初始状态 [x, y, θ, v] |
goal | (4,) float32 | 目标位姿 |
obstacles | (35,) float32 | 障碍物展平(7×5 零填充;有效行数见 mask) |
obstacles_mask | (7,) float32 | 有效障碍行掩码 |
obstacles_raw | (n,5) float64 | 原始障碍(未填充):x, y, 长, 宽, θ |
X | (4, 81) float32 | 状态轨迹(81 = 初始 + 80 步) |
U | (2, 80) float32 | 控制序列,注意是 (2,80) 转置结构(行=控制维度,列=时间步) |
dt / N | 标量 | 积分步长 / 步数(N=80) |
difficulty | str | 难度/场景类型(rotated_cars 等硬场景标签,分层评估用) |
metrics / solve_time / version | 标量/obj | 求解指标 / 耗时 / 版本 |
obstacles.reshape(7,5),用 obstacles_raw 重建 + mask 过滤零填充行;② 障碍维度在不同数据源存在 (N,35) 展平与 (N,7,5) 三维两种约定,混用前先对齐;③ U 存在 (80,2) 与 (2,80) 两种转置约定。任何新数据管线先写 --smoke 模式端到端跑通(加载→构造样本→一次前向反向→一条闭环评估)再上全量。| 症状 | 定位结论 | 处方(只许开列出的药) |
|---|---|---|
| Oracle@16 collision >30% | candidate generator 不足——候选空间里根本没有足够可行解 | 停止一切 selector 优化。优先优化:candidate decoder(容量/query 机制)、trajectory proposal(分布/噪声条件)、refinement(粗解精化) |
| Oracle@16 较好(≤15%)但实际选择差(差距>10%) | selector 问题——好解在候选里但选不出来 | 优化:score 函数(分层排序各层设计)、ranking 校准(Spearman 诊断分场景定位失灵层)、diversity(保证好解有概率被生成在候选集不同位置) |
| selector 好(ρ>0.7)但闭环差 | 执行/仿真侧问题——打分排序对但真跑不行 | 分析三个候选病因:dynamics mismatch(打分 rollout 与评估 rollout 动力学不一致)、control drift(执行层 clip/量化改变控制)、horizon accumulation(长程误差复利,指向 P2 偏差触发重规划/refinement) |
| 指标接近目标但连续两个 checkpoint 无实质提升(med 改善<10% 且 med>0.5m) | 精度天花板(长程精度残余) | 自动进入 refinement(见 §3 P1/P2 的 refinement 条款),不再在现有头上加训练量 |
决策树的输出必须是留言板里的一条【结论】:定位到了哪一层、证据是什么、开了哪味药、预期下一轮什么指标会动。定位错了药就白开——所以证据先行。
Candidate Generator → Oracle Gate → Selector → Deployment-aware GRPO → RK4 Closed-loop Evaluation → Failure Analysis → Refinement(回灌 Generator,循环推进)P0 · 多候选头研究命题:候选空间是否包含可行解(不只是"训个模型")
P1 · RL 后训练碰撞≤10% / med≤1m / 成功率≥80%
阶梯本身也是实验:每档失败都按 §2.5 决策树归因(如 P1-a 失败且 Oracle@K 不涨 → 选择侧空间已榨干,病在 generator,回 P0)。走梯记录(每档跑到什么程度、为什么降档)必须进留言板。
candidate set → selector → selected trajectory → RK4 rollout → reward → GRPO update。⛔ 禁止只对单条 candidate 孤立做 reward 优化(优化目标脱离部署 = 白练)1/(1+err/0.1) − terminal − λ1·soft碰撞hinge(罚接近不只罚撞)− λ2·smooth − λ3·timeout。组采样按 P0 闭环成绩做难度分层(全简单工况组内无方差、全难工况全零,都无梯度信号)。episode 级 80 步真实 rolloutP2 · 执行层收尾过关门 = 验收硬门四项
| 阶段 | 内容 | 预估 | 过关门 |
|---|---|---|---|
| E0 | 数据下载校验 + 训练/评估管线搭建(--smoke 端到端)+ 骨干基线复现 | 0.5 天 | 管线全链路通,闭环评估器产出基线数 |
| P0 | 多候选训练 + Oracle@K 诊断 + 行为级 diversity 聚类 + 闭环评估 | 2 天 | Generator Gate:oracle 碰撞≤15% / oracle med≤0.8m;Selector Gate:实际碰撞≤25% 且 oracle-实际差距<10% 且 Spearman ρ>0.7(分场景分层各自过线);另 med≤3m@K80 + 行为簇≥3。oracle 碰撞>30% → 出 P0 转修 generator |
| P1 | GRPO 后训练 + generator 更新 A/B + reward ablation + refinement 并行开发 | 2-3 天 | 碰撞 ≤10% / med ≤1m / 成功率≥80% + B 组 Oracle@K 显著高于 A 组 |
| P2 | 偏差触发重规划 + shield 课程 + 终评估 | 0.5-1 天 | 验收硬门四项(med≤0.3m / p90≤0.6m / 零碰撞≥90% / 纯NN) |
selector 排序校准判据:Spearman 秩相关 ρ(score_rank, rollout_rank) > 0.7,且分场景分层验证(硬场景如 rotated_cars 单独过线,防全局达标硬场景失灵)——这是进 P1 的前置条件。成功定义:terminal error ≤0.3m 且无碰撞且未超时。
| 风险 | 概率 | 对策 |
|---|---|---|
| 候选坍缩(K 条输出同一条解 / 近似轨迹) | 中 | soft assignment 退火 + 多样性正则;行为簇≥3 硬判据;选中频次监控(top-1>80% 警报);坍缩则加噪声条件/降 K |
| 打分与闭环真实表现 mismatch | 中 | Spearman ρ>0.7 分场景校准;打分=RK4 rollout 解析版,与评估器同构 |
| GRPO 只优化 selector、generator 无实质改善 | 中-高 | generator 更新 A/B + Oracle@K 全程监控——Oracle@K 不涨即判 RL 未触达生成侧,加强 generator 梯度或回 P0 |
| RL 崩坏 / 模式坍塌 / 全失败组零梯度 | 中 | 防崩三件套 + 连续成功 bonus + 难度分层组采样;β/lr 网格预案 |
| P1 后仍卡 ~0.5m(长程精度残余天花板) | 高 | refinement 自迭代("NN+1-2 步精化≈求解器精度"路线)已并行开发,自动触发条件在位;届时 0.2m@95% 亦为远超基线的可交付结果 |
【日期】 【阶段】E0/P0/P1/P2 + 子实验名 【实验目的】本轮要验证的假设(一句话,可证伪) 【修改内容】相对上一轮改了什么、为什么 【结果】指标四件套: med = ___ m p90 = ___ m collision = ___ % success rate = ___ % (附:失败样本编号/分布,不许省略) 【结论】三问必答: 1. 证明了什么?(证据→推断) 2. 没证明什么?(本轮证据覆盖不到的) 3. 下一步为什么这样做?(决策依据 = 1+2 + 失败决策树定位)
[决策] 前缀 + 选项 + 你的建议,等任务方答复,勿自行变更验收口径每次实验必须生成并保存以下九个必填字段(研究主线)+ 四个工程字段,缺一即不合格:
| # | 字段 | 说明 |
|---|---|---|
| 1 | Experiment ID | 唯一编号(建议格式:exp_P1_20260901_03:阶段+日期+当日序号) |
| 2 | Hypothesis | 本实验要验证的假设(一句话,可证伪——与留言板【实验目的】一致) |
| 3 | Change | 相对上一实验改了什么(代码/配置/数据),为什么改 |
| 4 | Dataset | 用的哪份数据(官方包/自行生成/混合;版本或日期;训练/验证划分) |
| 5 | Config | config.yaml 超参快照文件(不许只存在命令行历史里) |
| 6 | Checkpoint | 模型权重存档路径(best + periodic) |
| 7 | Result | 指标四件套结果(med / p90 / collision / success rate)+ 结果文件路径;失败样本清单 |
| 8 | Interpretation | 结果解读:证明了什么 / 没证明什么(对照 Hypothesis 裁决:支持/证伪/不确定 + 证据) |
| 9 | Next Action | 下一步动作 + 依据(= Interpretation + 失败决策树定位) |
| 10 | git commit hash | 工程:实验时代码库完整 commit hash(代码必须进 git,禁止裸文件跑实验) |
| 11 | 日志路径 | 工程:训练/评估完整日志文件位置 |
| 12 | 随机 seed | 工程:全部随机种子(数据采样/初始化/环境) |
| 13 | 环境版本 | 工程:python / torch / CUDA / 关键依赖版本 |
九个必填字段正好构成一条完整研究记录链:ID → Hypothesis → Change → Dataset → Config → Checkpoint → Result → Interpretation → Next Action——其中 Hypothesis/Change/Result/Interpretation/Next Action 与留言板记录模板一一对应,存档即汇报的底稿。
全部字段集中登记到一个 experiments.json(或等价索引),每次留言板【结果】里引用 Experiment ID。历史教训:丢权重、只存 best 不存 last、环境漂移后无法定位版本——都是存档不全的代价。
数据不可访问时的替代数据条款:若 §2 下载链接失效或数据损坏不可恢复,可以自行生成替代数据(用你自己的轨迹优化器/求解器生产专家解),但必须:
① 留言告知生成策略(求解器/动力学参数/场景分布/质检标准,须对齐 §2 的口径与七道质检闸);② 替代数据的使用在所有汇报中显式标注;③ 恢复官方数据后关键结论需复验。
终止与总结条件(防止无限跑下去,也防止过早收工)——满足任一即进入总结阶段:
| # | 条件 | 含义 |
|---|---|---|
| 1 | 硬门连续 5 次验证通过 | 验收四项在 5 次独立验证中全部达标——结果稳定,任务完成 |
| 2 | 连续 8 轮实验无显著提升(各关键指标改善均 <5%) | 当前技术路线收益枯竭——进入总结,梳理证据链与下一步方向建议 |
总结阶段产出:全证据链复盘(每轮实验证明了什么/没证明什么)、最终指标、失败样本分析、对下一条路线的建议——经留言板提交,任务方裁决是否开启下一版。
Transformer 泊车项目 · V4.16 · 多候选生成 + 解析打分 + RL 后训练 · 最终版操作手册
无需注册。单条最多 10000 字,仅保留最新 1000 条。阶段汇报用 [阶段] 前缀,待决策用 [决策] 前缀。