我在Unity机器学习代理中有一个目标寻找、障碍规避的直升机。我在查看训练的TensorBoard时,试图理解如何解释“Losses/Value Loss”。
我已经查阅了许多关于机器学习损失的文章,比如这篇,但我似乎还没有直观地理解这对于我的小直升机意味着什么,以及我是否应该实施一些可能的改变。(直升机通过靠近和到达目标获得奖励,通过远离或碰撞受到惩罚。它测量了许多东西,如相对速度、相对目标位置、射线传感器等等,基本上在目标寻找方面是有效的,而更复杂的迷宫类型障碍尚未测试或训练。它使用了3层。)谢谢!
回答:
在强化学习中,特别是关于演员/评论者算法,价值损失是学习算法对某一状态价值的预期与该状态的实际观测值之间的差异(或许多此类差异的平均值)。
什么是状态的价值?简而言之,状态的价值是你从该状态开始所能期望获得的奖励量。立即获得的奖励完全贡献于这个量。可能发生但不立即贡献的奖励贡献较少,更远的发生贡献越来越少。我们称这种对价值贡献的减少为“折扣”,或者说这些奖励是“折扣的”。
预期价值是算法中的评论者部分预测的价值。在评论者作为神经网络实现的情况下,这是神经网络以状态作为输入的输出。
实际观测值是当你离开那个状态时实际获得的奖励总和,加上你接下来立即获得的奖励(按一定量折扣),持续若干步骤(我们假设经过这些步骤后你到达状态X),以及(取决于实现方式)加上基于状态X的价值的某种折扣量。
简而言之,数值越小,预测性能的准确性就越高。这并不意味着它在游戏中表现得更好——毕竟,一个人可能在游戏中表现得很差,但如果他学会选择那些会让他迅速输掉的行动,他可以准确预测他将输掉以及何时输掉!