奖励函数(Reward Function)和价值函数(Value Function)的区别
摘要
本系列知识点讲解基于蘑菇书EasyRL中的内容进行详细的疑难点分析!具体内容请阅读蘑菇书EasyRL!
在强化学习中,奖励函数(Reward Function)和价值函数(Value Function)是两个核心但作用截然不同的概念。以下是它们的详细区别及具体示例:
1. 定义与目标
奖励函数(Reward Function)
- 定义:奖励函数是环境对智能体在某一状态下执行某个动作后给出的即时反馈信号,是一个标量值。
- 目标:直接量化当前动作的“好坏”,引导智能体学习短期行为。
- 数学表示:
R ( s , a , s ′ ) R(s, a, s') R(s,a,s′) 表示在状态 s s s 执行动作 a a a 后转移到状态 s ′ s' s′ 时获得的即时奖励。
价值函数(Value Function)
- 定义:价值函数是智能体对长期累积奖励的预期值,评估当前状态或状态-动作对的“潜在价值”。
- 目标:帮助智能体进行长期规划,权衡即时奖励与未来收益。
- 数学表示:
- 状态值函数 V π ( s ) V^\pi(s) Vπ(s): 在策略 π \pi π 下,从状态 s s s 出发的预期累积奖励。
- 动作值函数 Q π ( s , a ) Q^\pi(s, a) Qπ(s,a): 在策略 π \pi π 下,从状态 s s s 执行动作 a a a 后的预期累积奖励。
2. 核心区别
特征 | 奖励函数 | 价值函数 |
---|---|---|
时间范围 | 仅关注当前时刻的反馈 | 关注长期累积的预期收益 |
来源 | 由环境直接给出 | 通过智能体学习或计算得到 |
依赖关系 | 与环境动态相关 | 依赖于策略、环境动态和折扣因子 |
用途 | 定义任务目标 | 指导策略优化 |
3. 具体示例
场景:迷宫导航问题
- 环境:智能体需要从起点(S)移动到终点(G),途中可能遇到陷阱(X)。
S . . X . X . . . . X G
(1) 奖励函数的设计
- 规则:
- 到达终点(G):+100
- 踩到陷阱(X):-50
- 每移动一步:-1(鼓励快速到达终点)
- 数学表示:
R ( s , a , s ′ ) = { + 100 if s ′ = G − 50 if s ′ = X − 1 otherwise R(s, a, s') = \begin{cases} +100 & \text{if } s' = G \\ -50 & \text{if } s' = X \\ -1 & \text{otherwise} \end{cases} R(s,a,s′)=⎩ ⎨ ⎧+100−50−1if s′=Gif s′=Xotherwise
(2) 价值函数的计算
- 目标:计算每个状态的价值,例如:
- 终点附近的状态价值较高(因为容易到达终点)。
- 靠近陷阱的状态价值较低(可能被惩罚)。
- 贝尔曼方程:
V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_{a} \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^\pi(s') \right] Vπ(s)=a∑π(a∣s)s′∑P(s′∣s,a)[R(s,a,s′)+γVπ(s′)]
其中 γ \gamma γ 是折扣因子(如0.9),表示未来奖励的衰减。
对比结果
- 奖励函数:在终点位置获得+100,陷阱位置-50,其他位置-1。
- 价值函数:假设智能体在靠近终点时, V ( s ) ≈ 90 V(s) \approx 90 V(s)≈90(考虑折扣因子);在陷阱旁, V ( s ) ≈ − 45 V(s) \approx -45 V(s)≈−45。
4. 关系与协同作用
- 奖励函数是价值函数的基础:价值函数通过贝尔曼方程将即时奖励(来自奖励函数)和未来奖励(来自后续状态的价值)结合。
- 策略优化的核心:智能体通过最大化价值函数(而非单纯追求即时奖励)找到最优策略。例如,可能暂时接受-1的移动惩罚,以避开陷阱并最终获得+100的高奖励。
总结
- 奖励函数是环境的“直接反馈”,定义任务的短期目标;
- 价值函数是智能体的“长期规划工具”,通过计算未来收益的预期值指导决策。
两者共同作用,使智能体在即时奖励和长期收益之间找到平衡。