外观
踩坑GitHub huggingface/lerobot3 天前
SmolVLA微调后动作幅值坍缩且夹爪开合不足
本文由 AI 根据公开内容整理,可能有误,请以原文为准:SmolVLA fine-tuning on ~100 episodes: policy output collapses toward near-constant actions (gripper span 1.4° vs 32° in demo data)(GitHub huggingface/lerobot #5082)
状态:有绕过办法
问题
在SO-101机器人上使用99条数据微调SmolVLA,闭环部署失败。模型预测动作幅值坍缩(如夹爪仅6.9° vs 数据集32°),且关节角度漂移至演示范围外。已尝试调整n_action_steps、EMA平滑及重训均无效,怀疑是归一化或训练配置问题。
环境
LeRobot v0.4.4, PyTorch 2.x, CUDA, RTX 5060 Ti 16GB; SO-101机械臂(6DoF+2相机); SmolVLA策略; batch_size=8, lr=1e-5, steps=90k;
解决办法
- 检查推理代码是否加载了微调checkpoint保存的preprocessor和postprocessor文件,若误用smolvla_base原始统计量或未执行反归一化,近0输出会被还原为均值导致动作坍缩。
- 确认follower arm的校准JSON(homing_offset, range_min/max)在数据采集与推理阶段完全一致。
- 验证训练与推理阶段的action normalization stats是否匹配,防止缩放因子不一致。
- 尝试将freeze_vision_encoder设为false,避免视觉编码器冻结导致特征提取不适配当前环境。
- 调高optimizer_lr至默认1e-4,当前1e-5配合cosine decay可能在30k步后即降至2.5e-6过低。
- 确保每个episode开始时调用policy.reset()以清空历史动作队列。
讨论原作者:@bkbk-robot 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。