如何测试 RL Env 是否太容易解决

问题描述

我制作了一个 RL 环境来模拟一个人在整个城市中移动。如果此人与感染疾病的人接触,则代理会收到负面奖励。目标是尽量去目的地,同时尽可能长时间不感染疾病。代理最多有 3 个目的地可供选择。

奖励函数的形式为: 奖励 = -1 * ((num_infected/threshold)^2) + 1. 其中阈值 == 4 对此的解释是当 num_infected > threshold 时,你得到一个负奖励 当 0

我使用 stablebaselines (https://stable-baselines.readthedocs.io/en/master/_modules/stable_baselines/ppo2/ppo2.html#PPO2.learn) 实现训练了一个 PPO2 代理 1200 步(每一步 == 一个决定去哪个目的地)。

我测试了我训练有素的代理,以及一个随机选择目的地的代理。 他们都表现相同;也就是说,它们在被感染之前存活的天数相同。

我观察到,即使是随机操作,代理也不太可能与受感染的个体接触。即感染很少。因此,即使在随机行动中,您也能获得高额回报;如果没有人被感染,您将获得积极的奖励。

我相信我的环境需要更艰苦;座席需要更频繁地与人接触。

我该怎么办?让环境更难?训练更长时间?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)