【问题标题】:Ml-agents cooperative push block not returning rewards机器学习代理合作推送块不返回奖励
【发布时间】:2023-04-11 06:21:01
【问题描述】:

我正在使用最新的稳定版本使用 Cooperative 推送块环境 (https://github.com/Unity-Technologi...nvironment-Examples.md#cooperative-push-block)(为了使用 Python API 而导出)。问题是我没有得到奖励(正面或负面)。始终为 0。如果我导出 Single 推送块环境,我会正确收到奖励。下面是我在协作示例https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Python-API.md中使用的代码

decision_steps, terminal_steps = env.get_steps(behavior_name)
if tracked_agent in decision_steps:
    episode_rewards += decision_steps[tracked_agent].reward

print('REWARD', decision_steps.reward) # Always 0
# Each decision_steps[tracked_agent].reward also returns 0

根据文档,我应该收到负惩罚 (-0.0001) 或正信号 +1、+2、+3。即使他们随机推送一个区块,我也会收到 0 作为奖励。

他们在文档中说奖励是“团体奖励”。我不知道这是否意味着上面代码的改变。

【问题讨论】:

    标签: python unity3d artificial-intelligence ml-agent


    【解决方案1】:

    我从 Unity ml-agents GitHub 问题部分收到了这个答案:

    DecisionStep 还有一个 group_reward 字段,它与奖励字段分开。给予合作 Pushblock 代理的群体奖励应该在这里。 我们很抱歉合作没有明确指出这一点,我会对其进行更新。

    https://github.com/Unity-Technologies/ml-agents/issues/5567

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 2020-05-16
      • 2021-07-02
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多