Closed A5230171 closed 2 years ago
你好,mujoco_wrapper 120行计算的是当前 episode 的 return(ret)而不是当前步的 reward。126行对应当前步 reward(rew)的归一化,使用当前 episode 的平均奖励及其方差进行归一化(可参考原论文及openai gym的开源代码171行)
你好,mujoco_wrapper 120行计算的是当前 episode 的 return(ret)而不是当前步的 reward。126行对应当前步 reward(rew)的归一化,使用当前 episode 的平均奖励及其方差进行归一化(可参考原论文及openai gym的开源代码171行)
感谢您的耐心解答,我看明白我了,但是我想提一句。
mujoco_wrapper 126行 应该是 只有使用到 当前 episode 奖励的方差进行归一化。并没有 用到 episode的平均奖励吧?
126 行 对应公式为: ${\huge rew_t = \frac{rewt}{retRMS{var}+\epsilon } } $
mujoco_wrapper 146行
针对观测值obs的更新,观测值的运行均值和方差对观测值进行归一化
146 行 对应公式为
${\huge ob_t = \frac{obt-obRMS{mean}}{obRMS_{var}+\epsilon}}$
我想说的是,我的理解应该没有问题吧,再请您帮我看看对嘛?
你好,mujoco_wrapper 120行计算的是当前 episode 的 return(ret)而不是当前步的 reward。126行对应当前步 reward(rew)的归一化,使用当前 episode 的平均奖励及其方差进行归一化(可参考原论文及openai gym的开源代码171行)
原始论文可以问一下,在哪儿嘛
我们一般不进行代码的解读:)在issue主要是讨论框架的使用问题。
首先感谢PARL团队的代码分享,我想请教的问题是 在mujoco_wrappers.py档案中,第120行的位置,在智能体和环境交互的每个步骤获得的当前奖励时,会使用 RunningMeanStd 标准化。
但是为什么,当前步的奖励,是要加上过去奖励的折扣呢(120行)? 即 $r_3=\gamma ^2r_1+\gamma r_2+r_3$