Q、V(价值函数)和强化学习中的奖励到底有什么区别?

What exactly is the difference between Q, V (value function) , and reward in Reinforcement Learning?

在 Double Q 或 Deuling Q Networks 的上下文中,我不确定我是否完全理解其中的区别。特别是对于 V。V(s) 到底是什么?一个国家如何具有内在价值?

如果我们在股票交易的背景下考虑这一点,那么我们将如何定义这三个变量?

  • 无论什么网络可以谈论,奖励是环境的固有部分。这是智能体在做出动作后在其整个生命周期中接收到的信号(实际上,信号)。例如:下国际象棋的智能体在游戏结束时仅获得一次奖励,+1-1,所有其他时间奖励为零。

    这里可以看出这个例子的一个问题:reward很稀疏,只给一次,但是一个游戏中的states显然有很大的不同。如果一个智能体处于自己拥有皇后而对手刚刚失去皇后的状态,则获胜的机会非常高(稍微简化一点,但你明白了)。这是一个 良好的状态 ,代理人应该努力实现这一目标。另一方面,如果一个智能体输掉了所有棋子,这是一个糟糕的状态,它很可能会输掉比赛。

  • 我们想量化什么是好状态,什么是坏状态,价值函数V(s)来了。给定任何状态,它 returns 一个数字,或大或小。通常,正式的定义是对折扣未来奖励的期望,给定特定策略 采取行动(有关策略的讨论,请参见 )。这是完全有道理的:一个好的状态就是这样一个状态,在这种状态下,未来 +1 奖励的可能性很大;糟糕的状态恰恰相反——当未来 -1 很可能发生时。

    重要说明:价值函数取决于奖励,而不只是针对一个州,对许多州而言。请记住,在我们的示例中,几乎所有状态的奖励都是 0。价值函数考虑了所有 未来 状态及其概率。

    另请注意:严格来说状态本身没有价值。但是我们根据我们在环境中的目标,即最大化总奖励,给它分配了一个。可以有多个策略,每个策略都会产生不同的价值函数。但是(通常)有一个最优策略和相应的最优值函数。这就是我们想要找到的!

  • 最后,Q函数Q(s, a)动作值函数是对特定状态下特定动作的评估给定的政策。当我们谈论最优策略时,行动价值函数通过 贝尔曼最优方程 与价值函数紧密相关。这是有道理的:一个动作的价值完全取决于采取这个动作后可能状态的价值(在国际象棋游戏中,状态转换是确定性的,但一般来说它也是概率性的,这就是为什么我们谈论所有可能的状态在这里)。

    再一次,行动价值函数是未来奖励的导数。这不仅仅是当前的奖励。尽管直接奖励相同,但有些行为可能比其他行为好得多或差得多。


说到股票交易的例子,主要的难点在于为代理定义策略。让我们想象一下最简单的情况。在我们的环境中,状态只是一个元组 (current price, position)。在这种情况下:

  • 只有当代理人实际持仓时,奖励才不为零;当它退出市场时,没有奖励,即它为零。这部分或多或少容易。
  • 但是价值和行动价值函数非常重要(记住它只考虑未来的奖励,而不是过去的)。比如说,AAPL 的价格是 100 美元,考虑到未来的回报,这是好是坏?你应该买还是卖?答案取决于政策...

    例如,代理人可能会以某种方式了解到每次价格突然下降到 40 美元时,它会很快恢复(听起来太傻了,这只是一个例子)。现在如果代理人按照这个的政策办事,40美金左右的价格是不错的状态,价值很高。同样,"buy" 的行动价值 Q 约为 40 美元,而 "sell" 的行动价值较低。选择不同的策略,你会得到不同的价值和行动价值函数。研究人员试图分析股票历史并提出 明智的政策 ,但没有人知道 最佳政策 。事实上,甚至没有人知道 状态概率 ,只有他们的估计。这就是使任务真正困难的原因。