首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >奖励功能,避免违法行为,尽量减少法律行为,学会赢得强化学习。

奖励功能,避免违法行为,尽量减少法律行为,学会赢得强化学习。
EN

Data Science用户
提问于 2019-03-08 09:34:48
回答 2查看 497关注 0票数 3

我目前正在为一个具有以下特性的游戏实现PPO:

  • 观测空间: 9x9x(>150)
  • 行动空间: 144
  • 在给定的状态下,只有少数几个行动(~1-10)是合法的。
  • 时间步长t中的状态与状态t+1有很大的不同。
  • 环境是阶段性的(大约25个步骤,视级别而定),以胜负或松散结束。
  • 在某些级别上,随机策略(如果只采取法律行动)可能会导致胜利,在某些级别需要策略。

我想让算法学到:

  • 尽量避免非法行为,最好只采取法律行动。
  • 学会发挥法律行动的最佳组合,以尽快赢得胜利。

我尝试过不同的奖励功能,到目前为止最好的一个是:

  • 非法行动:-0.10
  • 法律诉讼:+0.10
  • Win:+1.0

我在一个简单的层次上测试了它,一个随机的策略会击败它。在我接受培训期间,我的政策学会了80%的法律诉讼,但从未赢过。如果我再跑一段时间,并且开始赢球,它可能会上升得更多。

上述奖励功能的问题在于,它不鼓励以尽可能少的行动赢得胜利,因为每一次法律诉讼都会得到积极的回报。

我还尝试了以下奖励功能:

  • 非法行动:-0.10
  • 法律行动:-0.02
  • Win:+1.0

但是,它集中到了大约20%的合法行动。

我有两个问题:

  1. 有谁熟悉类似的问题,知道我该如何设计奖励功能?
  2. 有没有人知道有哪篇文章讨论了学习三个不同目标的问题:避免非法行为、赢得胜利和通过最少的行动赢得胜利?
EN

回答 2

Data Science用户

发布于 2019-03-10 17:16:45

您是否希望您的代理人在任何特定时间执行非法行为?避免非法操作的一种方法是在计算softmax概率时在144动作向量上使用掩码(因此动作索引被保留)。然后,根据蒙面概率对行为进行抽样。首先,您需要确定在给定的步骤中哪些行为是非法的,这应该取决于游戏的动态。一个例子是用于学习在StarCraft II中执行迷你任务的算法.

为了强制你的代理人采取最低限度的行动步骤,你应该引入一个小的惩罚(比如说-0.01),这样你的代理人也会试图优化这部分奖励。

对于赢得比赛的问题,没有答案。这取决于许多因素,我在这里列举几个因素:给定游戏、奖励稀疏性、观察类型(图像、非矢量数据)、数据p再处理、对代理的输入、探索量等,agent的架构是否合适?如果您使用X类型的方法解决您的任务(除非您的任务已经通过特定类型的学习者解决了)。你可以给出你想要解决的游戏/任务的名称。

票数 0
EN

Data Science用户

发布于 2019-08-08 05:41:41

RL书籍中给出的大多数网格世界示例对每一步都使用-1的奖励,直到到达终端状态为止。这鼓励算法在尽可能少的步骤内达到终端状态。因此,对于每一项法律诉讼,你可以给予-1的奖励,而为了避免在一个州的非法行为,你可以给予大约-10的奖励。既然你说每集可能有25步左右,那么将胜利奖励提高到超过25步,比如50个算法来理解胜利是更重要的,因为它提供了更多的奖励。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/46918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档