“回报” Gt 被定义为智能体从时间步 t 开始预期积累的总奖励。对于有明确终止点的任务(回合制任务),这仅仅是从 t+1 开始直到回合结束的所有奖励的总和。
然而,许多强化学习 (reinforcement learning)问题涉及没有自然终止点的持续互动(连续任务)。设想一个智能体管理电网或一个持续运行的交易机器人。如果我们只是无限期地累加奖励,回报 Gt 很容易变为无限大。比较无限大的回报无法帮助我们判断哪种策略更好。此外,即使在回合制任务中,未来100步收到的奖励是否应与现在收到的奖励价值相同?
这就引出了折现的思想。我们引入一个参数 (parameter),即折现因子,用希腊字母伽马 (γ) 表示,以系统地降低未来奖励的价值。
折现因子 γ 是一个介于0和1之间的数字 (0≤γ≤1)。回报 Gt 现在定义为折现未来奖励的总和:
Gt=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+⋯=k=0∑∞γkRt+k+1
我们来解析一下这个定义:
- 晚一步收到的奖励 Rt+1 直接添加(乘以 γ0=1)。
- 晚两步收到的奖励 Rt+2 乘以 γ。
- 晚三步收到的奖励 Rt+3 乘以 γ2。
- 依此类推;晚 k+1 步收到的奖励 Rt+k+1 乘以 γk。
由于 γ 小于或等于1,随着 k 的增加,γk 变得越来越小。这意味着未来更远时间收到的奖励对总折现回报 Gt 的贡献较小。
为何折现?
折现有以下几个重要作用:
- 数学上的便利性:在连续任务中,折现确保定义 Gt 的无限和收敛到一个有限值,前提是奖励有界。如果任何一步的奖励保证不大于某个值 Rmax,那么回报 Gt 保证小于或等于 1−γRmax(利用无限几何级数的求和公式)。这使得比较不同策略在数学上可行。
- 模拟对近期奖励的偏好:通常,尽早收到奖励比稍后收到相同奖励更可取。可以想一下金融利率或生物为即时生存而产生的本能。折现自然地模拟了这种偏好。
- 应对不确定性:未来本身就存在不确定性。智能体对环境的模型可能不完善,或者环境本身可能出乎意料地改变。应用折现因子隐含地考虑了随着时间推移不确定性的增加;遥远未来的奖励不确定性更高,因此价值较低。
伽马值 (γ) 的选择
γ 的选择显著影响智能体的行为:
- 如果 γ=0:智能体变得完全'短视'。它只关心最大化即时奖励 Rt+1。它不顾其行动的所有未来影响。回报就是 Gt=Rt+1。
- 如果 γ 接近1(例如 0.99):智能体具有'远见'。未来奖励的价值几乎与即时奖励一样高。智能体更侧重于其行动的长期影响。
- 如果 γ 介于0和1之间:智能体平衡即时奖励和未来奖励。较小的值优先考虑短期收益,而较大的值则强调长期累积。
γ 的具体值通常被视为问题设置的超参数 (parameter) (hyperparameter),根据任务的性质选择。例如,在金融应用中,γ 可能与当前利率有关。在回合制任务中,如果回合保证终止,有时会使用 γ=1(无折现),尽管使用 γ<1 通常可以促成更快的学习。
下图展示了折现因子 γk 如何对于不同的 γ 值,在未来时间步 k 上降低奖励的价值:
未来 k 步收到的奖励所赋权重 (weight)随着 k 呈指数衰减。更高的 γ 会导致衰减变慢,更多地重视未来奖励。
在强化学习 (reinforcement learning)中,最终目标通常是找到一个策略 π,使每个状态的预期折现回报最大化。因此,折现的思想对于定义我们试图实现的目标非常重要,并使得形式化方法成为可能,比如我们接下来会讨论的价值函数,这些方法使我们能够解决马尔可夫决策过程。