reinforcement-learning - 如何处理具有终端状态奖励的可变长度剧集的奖励
问题描述
游戏的目标是让兔子在最短的时间内在一个非常大的田地里找到一颗白菜并吃掉它。动作空间是离散的(上/下/右/左),状态空间是连续的(非常大的场)。情节在 100 次跳跃后结束,当兔子找到卷心菜或离开田地时(以先发生者为准)。状态变量之一是到卷心菜的距离。由于该领域非常大,我正在使用奖励塑造(靠近/远离卷心菜的小积极/消极奖励)。为了在最短时间内到达卷心菜,每次跳跃的奖励应该是 0,找到卷心菜时奖励应该是 1。然而,塑造奖励打破了这个计划。在这个游戏中是否有一种优雅的方式来使用奖励塑造?如何?感谢您的任何建议。
解决方案
经过一些研究,我发现基于电位的整形功能可能是一个解决方案。在这种情况下,每个状态 s 的势能 F 是到卷心菜的距离。对于非终止状态,原始奖励 R 为 0,如果兔子离开场地,则为 -1,如果兔子找到卷心菜,则为 1 次/T,其中 T 是情节持续时间。终端州正在寻找卷心菜并走出田野。新的奖励 R'=R+(F(s')-F(s))/maxDist。我会很感激任何想法。
推荐阅读
- arrays - 在 MongoDB 中复制键和值
- java - 添加SplashScreen后,应用程序崩溃
- python - 熊猫 1 分钟时间序列变成 10 分钟平均每 15 分钟
- python - Blender 找不到 python 模块'openpyxl'
- python - 如何将部分 Excel 文件名存储在 Python 整数变量中
- matplotlib - 绘制和保存多个图表时撤消 plt.gcf().subplots_adjust
- javascript - 从文本文件中收集数据并解析收集的数据以创建对象数组
- c - 与预期不同的顺序
- python - 是什么导致 Conda 环境中的进程栏错误?
- validation - 使用 ReactorClientHttpConnector 时如何禁用标头验证