与Mlagent统一的决定

问题描述 投票:0回答:1

我正在学习使用Unity和Mlagents。我准备了一个训练环境,在这个环境中,我有一个代理,他必须按照材料的类型(金属、塑料等)来回收物体。

例如:当代理碰撞一个塑料瓶,并检测到它有一个塑料标签,该对象物理移动到一个空间,是塑料,所以金属(并收到+1奖励),如果它与人类(人类标签)碰撞收到-2的惩罚。

到目前为止,一切都很好,代理当训练(强化学习),他正确地完成他的目的。

问题是内部的代码只有这样几行:如果代理与人类相撞,他将受到惩罚(-2)如果代理与墙相撞,他将受到惩罚(-1)如果代理与塑料物体相撞,该物体移动到塑料的特定空间(+1)如果代理与金属物体相撞,该物体移动到金属的特定空间(+1)

问题:如何给代理一个 "机会",让它在错误的分类中犯错,并在以后从中学到东西呢?目前它只是按照 "if "行事。

我想,也许使用一些随机参数,当代理与对象碰撞,它随机分配到一个回收点,如果这导致一个错误的回收点,它将受到惩罚,但...... 代理可以从中学习吗? 这意味着代理将有 "控制 "的随机参数,在他的学习和训练。

我将感激任何种类的想法或建议。

unity3d machine-learning unityscript ml-agent
1个回答
0
投票

有一个训练有素的代理,就是导致它基本上只是按照if语句来做。一个可能的解决方法是提前切断它的训练,并使用该模型。这样虽然不会很完美,但它会有一个大致的思路。

© www.soinside.com 2019 - 2024. All rights reserved.