我有一个关于我自己在 tf 代理中的环境的问题。观察向量包含描述不同类型数据的元素(例如,以秒为单位的时间、以 m/s 为单位的速度、以 m 为单位的距离)。距离从-500到+500的区间,速度在0到+20之间,时间在-10到+10之间。
定义环境时,self._observation_spec
需要参数maximum
和minimum
,如 tf-agents 存储库中的环境教程中所述:
class CardGameEnv(py_environment.PyEnvironment):
def __init__(self):
self._action_spec = array_spec.BoundedArraySpec(
shape=(), dtype=np.int32, minimum=0, maximum=1, name='action')
self._observation_spec = array_spec.BoundedArraySpec(
shape=(1,), dtype=np.int32, minimum=0, name='observation')
self._state = 0
self._episode_ended = False
与代码片段不同的是,我使用浮点数而不是整数。
现在的问题是,我应该minimum
如何maximum
在self._observation_spec
. 我应该将所有值标准化为区间 (0,1) 并使用 0 和 1 作为minimum
参数maximum
吗?或者我应该只使用 asminimum
和maximum
-500 和 +500 (取自距离间隔)并插入我所有的值而不进行归一化,尽管我的速度和时间元素使用更紧密的间隔?
我对这些行动有同样的问题。但我认为行动和观察的答案是相同的。
提前致谢!