文章目录
折扣函数
在强化学习(Reinforcement Learning, RL)中,discounted return(折扣回报) 是衡量一个智能体在未来某个时间段内所能获得的总回报的一个常用指标。它为未来的奖励(reward)设定递减的权重,使得越早获得的奖励越重要,越晚获得的奖励权重越低。
假设在一个时间步 𝑡 𝑡 t,智能体获得的即时奖励为 𝑅 t 𝑅_t Rt ,则从时间步 t t t 开始的 折扣回报 定义为:
G t = R t + γ R t + 1 + γ 2 R t + 2 + γ 3 R t + 3 + . . . = ∑ k = 0 ∞ γ k R t + k G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \gamma^3 R_{t+3} + ... = \sum_{k=0}^\infty \gamma^k R_{t+k} Gt=Rt+γRt+1+γ2Rt+2+γ3Rt+3+...=k=0∑∞γkRt+k
其中:
- G t G_t Gt 是从时间步 t t t 开始的折扣回报(discounted return)
- 𝑅 t 𝑅_t Rt 时间步 t t t 的即时奖励(immediate reward)
- γ \gamma γ 折扣因子(discount factor),0≤𝛾≤1。它控制未来奖励的重要性
- 如果 γ = 0 \gamma=0 γ=0 ,智能体只关注当前奖励 𝑅 t 𝑅_t Rt ,完全忽略未来奖励
- 如果 γ = 1 \gamma=1 γ=1 ,智能体会将所有未来奖励视为同等重要
- 在实际问题中,通常 γ = 1 \gamma=1 γ=1被设为一个接近于 1 的值(如 0.9、0.99)。
直观理解
- 时间权重的考虑:未来的奖励往往比当前的奖励更不确定,因此需要对未来的奖励进行折扣,使得越靠近当前时间的奖励权重越大。
- 累积回报:通过对所有奖励求和(加权),折扣回报为智能体提供了一个衡量行为价值的标准。
示例
假设智能体在时间步 t t t 开始,每个时间步的奖励为 𝑅 t = 1 𝑅_t=1 Rt=1 ,折扣因子 γ = 0.9 \gamma=0.9 γ=0.9,则折扣回报 G t G_t Gt 为:
G t = 1 + 0.9 + 0. 9 2 + 0. 9 3 + . . . = 1 1 − 0.9 = 10 G_t = 1 +0.9 + 0.9^2 +0.9^3+ ... = \frac{1}{1-0.9}=10 Gt=1+0.9+0.92+0.93+...=1−0.91=10
这里的 1 1 − γ \frac{1}{1-\gamma} 1−γ1是当 𝑅 t 𝑅_t Rt恒定且 ∣ γ ∣ < 1 |\gamma|<1 ∣γ∣<1时,几何级数求和的结果。
在强化学习中的作用
- 优化目标:在策略优化时,智能体的目标是最大化期望的折扣回报 E [ G t ] \mathbb{E \left[ G_t \right]} E[Gt]
- 平衡短期和长期收益:折扣因子 γ \gamma γ 可以帮助智能体在立即奖励和未来收益之间找到平衡
- 提高算法的收敛性:通过对未来奖励进行折扣,可以避免因过度关注远期回报而导致算法不稳定。
实际应用
- 在游戏中,未来的得分重要性随时间衰减,因此使用折扣回报更符合实际场景。
- 在金融应用中,折扣回报可以模拟货币时间价值(time value of money)。
动作价值函数
在强化学习中,action-value function(动作价值函数) 和 discounted return(折扣回报) 之间有直接的关系。动作价值函数是基于折扣回报定义的,它描述了智能体在某一状态下选择某一动作的期望回报。
动作价值函数(Action-Value Function),记为 Q ( s , a ) Q(s, a) Q(s,a),表示智能体在状态 s s s 选择动作 a a a 后,在遵循策略 π \pi π 时的 期望折扣回报:
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q_\pi(s, a) = \mathbb{E}_\pi \left[ G_t \mid S_t = s, A_t = a \right] Qπ(s,a)=Eπ[Gt∣St=s,At=a]
其中:
- G t G_t Gt 是从时间步 t t t 开始的折扣回报: G t = ∑ k = 0 ∞ γ k R t + k G_t = \sum_{k=0}^\infty \gamma^k R_{t+k} Gt