news 2026/11/4 2:16:11

joint-space-empowerment YAML 配置逐项拆解:奖励权重、训练步数与相机参数速查表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
joint-space-empowerment YAML 配置逐项拆解:奖励权重、训练步数与相机参数速查表

joint-space-empowerment YAML 配置逐项拆解:奖励权重、训练步数与相机参数速查表

【免费下载链接】joint-space-empowerment项目地址: https://ai.gitcode.com/hf_mirrors/jamesheald/joint-space-empowerment

joint-space-empowerment是论文Joint-Space Empowerment for Dexterous Coordination in Tendon-Driven Hands(ICML 2026 Spotlight)的官方模型仓库,存放了 Adroit 与 MyoHand 两种腱驱动灵巧手在 6 类操作任务上的强化学习训练策略。每个任务目录下的 YAML 文件就是该策略训练/评测所用环境的完整配置,涵盖奖励权重、训练步数、观测归一化与相机参数。本文逐项拆解这些配置,并给出全部任务的速查表,方便你快速对照、复现与自定义。

📂 先看清仓库:一个 YAML 对应一组训练模型

仓库按手型/任务/种子组织,每个任务目录下有一个环境配置 YAML + 每个 seed 一组模型文件(详见 README.md):

手型任务模型文件(每个 seed)
AdroitBaodingBalls、DieReorient、KeyTurn、PenTwirlrl_model_<steps>_steps.zip+rl_model_vecnormalize_<steps>_steps.pkl
MyoHandBaodingBalls、DieReorient、KeyTurn、PenTwirl、Reorient8-sparse同上
MyoHandReorient100Training 阶段同上;Pretraining_Play 阶段为rl_model_replay_buffer_1000000_steps.pkl+ vecnormalize

以 Adroit/BaodingBalls/ 为例,配置与模型一一对应:

  • 环境配置:CustomAdroitBaodingP1-v1.yaml
  • 训练模型:rl_model_10000000_steps.zip
  • 观测归一化统计量:rl_model_vecnormalize_10000000_steps.pkl

💡 文件名中的步数与 YAML 里的total_timesteps完全一致,可用来快速核对"这个模型是用哪份配置训出来的"。

各手型/任务可用的 seed:Adroit 全部为 0–4;MyoHand 的 BaodingBalls、DieReorient、Reorient8-sparse 为 0、1、2、4、5(缺 3),其余为 0–4。

⚙️ 顶层参数:训练步数与检查点频率

所有配置共享同一套顶层字段,规律非常整齐:

配置total_timestepseval_freqsave_freq特点
Adroit/BaodingBalls10,000,000100,0001,250,000—
Adroit/DieReorient10,000,000100,0001,250,000—
Adroit/KeyTurn7,500,00075,000937,500—
Adroit/PenTwirl5,000,00050,000625,000—
MyoHand/BaodingBalls10,000,000100,0001,250,000—
MyoHand/DieReorient10,000,000100,0001,250,000—
MyoHand/KeyTurn7,500,00075,000937,500—
MyoHand/PenTwirl5,000,00050,000625,000—
MyoHand/Reorient8-sparse5,000,00050,000625,000稀疏奖励
MyoHand/Reorient1002,000,00020,000250,000两阶段训练

两个隐藏规律:

  1. eval_freq = total_timesteps / 100——每 1% 的步数评测一次;
  2. save_freq = total_timesteps / 8——整个训练过程恰好保存 8 个检查点。

任务难度与步数大致正相关:抛接类(Baoding、DieReorient)需要 10M 步,旋转微调类(PenTwirl、Reorient)只需 5M 或 2M 步。

🎛️ 观测与奖励归一化:三个全局开关

每份 YAML 都有相同的四行"开关",直接决定观测/奖励如何喂给网络:

参数取值含义
reward_typedense(Reorient8-sparse 为sparse)稠密/稀疏奖励模式
norm_obsTrue对观测做 running-mean/std 归一化,统计量即vecnormalize_*.pkl
norm_rewardFalse全部任务都不对奖励做归一化
clip_obs10.0归一化后的观测裁剪到 ±10,防止异常值

⚠️ 加载rl_model_*.zip时必须搭配同目录的vecnormalize_*.pkl,否则归一化统计量缺失,策略行为会失真。

🕹️ env_kwargs:环境与任务行为参数

env_kwargs控制仿真环境的运行时行为,各任务要点如下:

参数出现的任务说明
seed: ${env.seed}全部Hydra 变量引用,把顶层seed透传给环境
max_episode_steps全部回合长度:Baoding 200 / DieReorient 150 / KeyTurn 200 / PenTwirl 50 / Reorient 50
add_wrist_pronation_supination仅 AdroitAdroit 手额外开启腕部旋前/旋后自由度
goal_pos/goal_rot两个 DieReorient目标位置扰动范围[0, 0]、目标朝向扰动[-0.785, 0.785](即 ±45°)
enable_rsi/rsi_distance_*/goal_rot_x..z两个 DieReorient随机化场景指令(RSI)相关开关,均置为false/null
guided_trajectory_steps两个 DieReorient引导轨迹步数,设为 0 即不使用
task_variables_keys全部声明训练/评测时要读取的任务状态变量(见下节)

其中 CustomAdroitDieReorientP2-v0.yaml 的goal_pos/goal_rot/RSI 组合是"随机化场景参数"的完整示范:把不用的项显式置null,方便按需开启。

🎯 奖励权重 weighted_reward_keys 速查表

weighted_reward_keys定义各奖励项的系数,是调参影响最大的部分:

奖励项常见含义BaodingBallsDieReorientReorient8/100
pos_dist_1/pos_dist_2双球到目标位置距离(越小越好)1 / 1——
pos_dist/rot_dist位置 / 朝向误差距离—1 / 0.2—
pos_dist_diff/rot_dist_diff相对前一帧的改进量(鼓励持续逼近)—100 / 10—
pos_align/rot_align位置 / 朝向对齐奖励——1 / 1
act_reg动作正则(鼓励小动作)005
drop掉落惩罚——5
bonus完成动作的额外奖励——10
alive存活/未掉落维持奖励11—
solved达成目标的里程碑奖励52—
done/sparse终止 / 稀疏奖励项0 / 00 / 0—

几点解读:

  • DieReorient 的"差分项"权重高达 100/10(CustomMyoChallengeDieReorientP2-v0.yaml#L16-L25),远大于绝对误差项,说明该任务靠"持续朝目标改进"塑形学习;
  • Reorient 系任务的act_reg和drop都是 5,用较强的动作惩罚抑制乱抖、用掉落惩罚保底;
  • KeyTurn 与 PenTwirl未显式定义weighted_reward_keys,使用环境默认值(myoHandKeyTurnRandom-v0.yaml#L16-L21 中被注释掉的正是参考值:pos_align 1 / rot_align 1 / act_reg 5 / drop 5 / bonus 10);
  • 全仓库唯一的稀疏奖励任务 myoHandReorient8-v0.yaml 通过reward_type: sparse切换,用于对比稠密/稀疏奖励下的学习差异。

📋 task_variables_keys:任务状态变量

每个任务声明训练时需要记录/观测的任务状态:

任务变量
BaodingBallstarget1_pos、target2_pos、target1_err、target2_err
DieReorientgoal_pos、pos_err、goal_rot、rot_err
PenTwirl、Reorient100、Reorient8obj_des_rot、obj_err_pos、obj_err_rot
KeyTurn[](空列表)

这些变量通常用于评测指标统计与日志输出,修改它们不会改变物理动力学,但会影响你从日志里能读到的分析维度。

📷 相机参数 camera 速查表

相机配置决定play可视化时的视角,两套"机位"分别对应两种手型的操作高度:

手型 / 任务lookatdistanceazimuthelevationfpstracked_body(tracking 模式)
Adroit(4 个任务)[0.01, 0.05, 1.47]0.8270-4525forearm
MyoHand Baoding / Die / Key / Pen[-0.220, -0.47, 1.440]0.690-4525r_humerus
MyoHand Reorient8 / Reorient100[-0.1, 0., 1.5]1.3590-1025r_humerus

参数含义:

  • type:free(固定机位)或tracking(跟随tracked_body指定的刚体);
  • lookat:free模式下相机注视点的世界坐标;
  • distance/azimuth/elevation:到目标的距离(米)、水平方位角(度)、俯仰角(度);
  • Reorient 系列特意用更大距离(1.35m)+ 更平的俯角(-10°)获得更"俯视"的观察视角。

两个 DieReorient 配置还带有render段(如 Adroit 版 #L54-L56):target_x_offset、target_y_offset、target_ball_alpha只调整目标球体的渲染位置与透明度,不影响物理仿真。

🚀 加载模型:配置与模型如何对上号

仓库本身只存模型,运行需配合 JoSE 代码仓库中的play.py(见 README.md):

uv run python play.py --hand <hand> --task <task> --seed <seed>
参数可选值
--handAdroit、MyoHand
--taskBaodingBalls、DieReorient、KeyTurn、PenTwirl、Reorient8-sparse、Reorient100/Training
--seed视手型/任务而定(见上文 seed 说明)

例如--hand Adroit --task PenTwirl --seed 2就会加载 Adroit/PenTwirl/seed_2/ 下的模型,并按 CustomAdroitPenTwirlRandom-v0.yaml 描述的 50 步回合策略执行,用 25fps 的 free 相机渲染行为。

❓ 常见问题 FAQ

Q1:vecnormalize_*.pkl是什么,能单独加载吗?它是norm_obs: True训练出的观测归一化统计量,必须与同目录的rl_model_*.zip配套使用,不能单独替代模型。

Q2:为什么 Reorient100 的 Pretraining_Play 目录里没有.zip模型?Reorient100 采用两阶段训练:先在随机策略下收集经验(只保存 replay buffer 和归一化统计量,各 1M 步),再在 Training 阶段以 2M 步训练出最终策略(Training/seed_0)。

Q3:想改奖励权重后重训,从哪下手?复制对应任务的 YAML(如 myoHandReorient100-v0.yaml),只改env_kwargs.weighted_reward_keys下的系数即可;total_timesteps、eval_freq、save_freq建议按上文 1% / 1/8 的比例同步缩放。

Q4:sparse 和 dense 奖励配置差别在哪?两者除reward_type(sparse vs dense)外几乎完全相同,权重表也都保留,便于做严格的消融对比。

【免费下载链接】joint-space-empowerment项目地址: https://ai.gitcode.com/hf_mirrors/jamesheald/joint-space-empowerment

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 2:15:48

小红书批量下载实战:一条命令把作品存成本地文件

小红书批量下载实战&#xff1a;一条命令把作品存成本地文件 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader XHS-Downloader 是一款开源的小红…

作者头像 李华
网站建设 2026/11/4 2:15:17

ComfyUI-Manager 批量卸载节点:10 分钟上手的节点安全清理指南

ComfyUI-Manager 批量卸载节点&#xff1a;10 分钟上手的节点安全清理指南 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vario…

作者头像 李华
网站建设 2026/11/4 2:14:25

RWKV 6—9月社区生态月报

欢迎大家收看《RWKV 社区最新动态》&#xff01;本期回顾 2026 年 6—9 月的社区生态进展&#xff0c;并同步补充 10 月 8 日官方公众号介绍的 RWKV-7 G1k 发布动态。 44 篇论文&#xff0c;展现 RWKV 研究生态的持续拓展。 按官网条目日期统计&#xff0c;6—9 月共收录 44 篇…

作者头像 李华