跳转到内容

增加时间步索引输入

在许多序列决策任务中,时间步信息(即当前处于第几步)对于模型的学习和决策非常重要。引入时间步索引作为输入,可以帮助模型捕捉到随时间变化的动态特征。例如,在强化学习或序列建模任务中,某些策略或状态的表现可能会随着时间推移而发生变化,模型通过感知时间步索引能够更好地适应不同阶段的决策需求。此外,时间步信息还可以辅助模型判断当前是否接近序列的起始或终止,从而做出更合理的决策。

时间步节点用于表示数据的时间信息。通过配置时间步节点信息,可以将时间步索引作为指定节点的输入。

下面使用一个 .yaml 示例来展示时间步索引的配置方法:

yaml
metadata:

   graph:
     action:
     - observation
     next_observation:
     - action
     - observation

   columns:
   ...

时间步节点配置前

上面是原始的 .yaml 文件。在下面修改后的 .yaml 文件中,我们通过添加关键字 step_input 作为节点的属性,将时间步信息配置为 next_observation 的输入。在训练模型过程中,time_step 会自动添加作为 action 节点的输入。

yaml
metadata:

   graph:
     action:
     - observation
     next_observation:
     - action
     - observation

   columns:
   ...

   nodes:
     action:
       step_input: True

时间步节点配置后

重要提示

不需要在 graph 中添加 time_step 节点作为输入。如果配置了节点的 step_input 属性,时间步节点信息将会自动添加作为节点的输入。