《强化学习:原理与Python实现 》 —2.1.4 奖励、回报与价值函数
2.1.4 奖励、回报与价值函数
在第1章中已经介绍过,强化学习的核心概念是奖励,强化学习的目标是最大化长期的奖励。本节就来定义这个长期的奖励。
对于回合制任务,假设某一回合在第步达到终止状态,则从步骤()以后的回报(return)可以定义为未来奖励的和:
注意:在上式中,是一个确定性的变量,而回合的步数是一个随机变量。因此,在的定义式中,不仅每一项是随机变量,而且含有的项数也是随机变量。
对于连续性任务,上述的定义会带来一些麻烦。由于连续性的任务没有终止时间,所以会包括时刻以后所有的奖励信息。但是,如果对未来的奖励信息简单求和,那么未来奖励信息的总和往往是无穷大。为了解决这一问题,引入了折扣(discount)这一概念,进而定义回报为:
其中折扣因子。折扣因子决定了如何在最近的奖励和未来的奖励间进行折中:未来步后得到的1单位奖励相当于现在得到的单位奖励。若指定,智能体会只考虑眼前利益,完全无视远期利益,就相当于贪心算法的效果;若指定,智能体会认为当前的1单位奖励和未来的1单位奖励是一样重要的。对于连续性任务,一般设定。这时,如果未来每一步的奖励有界,则回报也是有界的。
注意:有些文献为连续性任务定义了平均奖励(average reward)。平均奖励的定义为,是对除以步数的期望求极限的结果。还有文献会进一步定义相对于平均奖励的回报,即让每一步的奖励都减去平均奖励后再求回报。
基于回报的定义,可以进一步定义价值函数(value function)。对于给定的策略,可以定义以下价值函数。
状态价值函数(state value function):状态价值函数表示从状态开始采用策略的预期回报。如下式所示:
动作价值函数(action value function):动作价值函数表示在状态采取动作后,采用策略的预期回报。如下式所示:
终止状态不是一个一般的状态,终止状态后没有动作。为了在数学上有统一的形式,一般定义,()。
例如,对于表2-1和表2-2的例子,有:
下一节将为给定的动力和策略计算价值函数。
- 点赞
- 收藏
- 关注作者
评论(0)