ACT Tuning Tips
这里是针对斯坦福Aloha机械臂远程训练调参技巧的中文解释,初学者可能会对此感到陌生,不过不用担心,多尝试,多实验。
- Chunk size is the most important param to tune when applying ACT to a new environment. One chunk should correspond to ~1 secs wall-clock robot motion.
- 当应用ACT到新环境时,块大小(chunk size)是最重要的调整参数。一个块应该对应大约1秒钟的机器人动作。
- High KL weight (10 or 100), or train without CVAE encoder.
- 高KL权重(10或100),或者在没有CVAE编码器的情况下进行训练。
- Consider removing temporal_agg and increase query frequency here to be the same as your chunk size. I.e. each chunk is executed fully.
- 考虑删除 temporal_agg 并增加查询频率,使其与您的数据块大小相同。即每个数据块都完整执行。
- train for very long (well after things plateaus, see picture)
- 长时间训练(直到达到平稳状态,参考图像)。
- Try to increase batch size as much as possible, and increase lr accordingly. E.g. batch size 64 with learning rate 5e-5 versus batch size 8 and learning rate 1e-5
- 尽可能的增加批次大小(batch_size),并增加相应学习率(lr)。
例如:
batch_size = 64,lr = 5e-5,
batch_size = 8,lr = 1e-5。
- Have separate backbones for each camera (requires changing the code, see this commit)
- 为每台摄像头单独设置主干网络(需要更改代码,请参考该提交),截图如下
- L1 loss > L2 loss (not precise enough)
- L1 损失 > L2 损失 (表示不够精确)
- Abs position control > delta/velocity control (harder to recover)
- 绝对位置控制 > 增量/速度控制(更难恢复)
- Try multiple checkpoints
- 尝试多个检查点
For real-world experiments:
对于真实实验:
- Train for even longer (5k - 8k steps, especially if multi-camera)
- 增加训练时间(5k~8k 步, 特别是在多摄像头的情况下)
- If inference is too slow -> robot moving slowly: disable temporal_agg and increase query frequency here. We tried as high as 20.
- 如果推理速度太慢导致机器人移动缓慢:禁用 temporal_agg 并增加查询频率。我们尝试过最高为20。
示例 loss 曲线 (L1)