我最近完成了 David Silver 的 RL 课程(在 YT 上),并考虑在 Unity 游戏引擎中的简单应用程序上进行尝试,在那里我用球构建了简单的迷宫,并想教球从 A 点到达 B 点在那里,同时避开障碍物和火(你会被烧毁的地方如此大的负面奖励)
我在设计整个事物(编程方面)时遇到的问题是:在 2D 空间中表示位置的正确(或至少是好的)方式是什么?它是连续的,所以我考虑将其表示为由 [up, down, left, right, posX, posY] 组成的特征向量,其中方向是我是否按下以二进制形式向该方向移动的按钮(或如果你想要的动作)和pos 是浮点数 (0-1),表示从整个地图所在平面的一个角开始的标准化位置。这将伴随着向量 W,它表示使用梯度下降调整的权重。
问题是:这行得通吗?我问有两个原因。一个是我对 posX 和 posY 不太确定,因为它可以为 0,如果我将它乘以权重向量,那么除了 0 之外,怎么可能得到奖励呢?第二个原因是我不确定这些操作是否应该成为功能的一部分。我的意思是,这对我来说很有意义,但我很容易犯错,因为我是初学者。
非常感谢你们。如果您还有其他问题或认为问题描述得不够深入,请在评论中提问,我会编辑问题。:)
PS:我可以按照我认为正确的方式对其进行编码,但我也想在编码之前在纸上设计应用程序(项目管理)。