1. 强化学习与奖励函数的全面背景
1.1 强化学习的本质与核心问题
强化学习(Reinforcement Learning, RL)是机器学习的一个分支,旨在让代理(Agent)通过与环境的交互,学习如何采取行动以最大化长期累积奖励。与深度学习中的监督学习(给定输入-输出对)不同,强化学习没有明确的“正确答案”,而是通过试错(Trial-and-Error)探索环境,基于奖励信号优化策略。
强化学习的数学框架通常基于马尔可夫决策过程(MDP),定义为五元组 ( S , A , P , R , γ ) (S, A, P, R, \gamma) (S,A,P,R,γ):
- S S S:状态空间,描述环境的可能状态。
- A A A:动作空间,代理可以采取的动作集合。
- P ( s ′ ∣ s , a ) P(s'|s, a) P(s′∣s,a):状态转移概率,表示在状态 s s s 采取动作 a a a 后转移到状态 s ′ s' s′ 的概率。
- R ( s , a , s ′ ) R(s, a, s') R(s,a,s′):奖励函数,定义代理在状态 s s s 采取动作 a a a 并转移到状态 s ′ s' s′ 时获得的奖励。
- γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1]:折扣因子,控制未来奖励的权重。
强化学习的目标是找到一个最优策略 π ∗ ( a ∣ s ) \pi^*(a|s) π∗(a∣s),使期望累积回报最大化:
J ( π ) = E π [ ∑ t = 0 ∞ γ t R ( s t , a t , s t + 1 ) ] J(\pi) = \mathbb{E}_{\pi} \left[ \sum_{t=0}^\infty \gamma^t R(s_t, a_t, s_{t+1}) \right] J(π)=Eπ[∑t=0∞γtR(st,at,st+1)],
其中, a t ∼ π ( ⋅ ∣ s t ) a_t \sim \pi(\cdot|s_t) at∼π(⋅∣st), s t + 1 ∼ P ( ⋅ ∣ s t , a t ) s_{t+1} \sim P(\cdot|s_t, a_t) st+1∼P(⋅∣st,at)。
1.2 奖励函数的核心地位
奖励函数 R ( s , a , s ′ ) R(s, a, s') R(s,a,s′) 是强化学习的“指南针”,它为代理提供了反馈信号,告诉代理哪些行为是“好”的,哪些是“坏”的。奖励函数的设计直接决定了:
- 学习目标:代理优化的方向。
- 学习难度:奖励函数的稀疏性或复杂性影响算法的收敛速度。
- 策略质量:不合理的奖励函数可能导致次优甚至错误的策略。
奖励函数的形式可以灵活多样,例如:
- R ( s , a , s ′ ) R(s, a, s') R(s,a,s′):依赖于状态、动作和下一状态。
- R ( s , a ) R(s, a) R(s,a):仅依赖于状态和动作。
- R ( s ) R(s) R(s):仅依赖于状态。
- R ( s ′ ) R(s') R(s′):仅依赖于下一状态。
1.3 奖励函数与深度学习的对比
你可能习惯于损失函数(如均方误差或交叉熵)直接定义模型的优化目标。在强化学习中,奖励函数类似于损失函数,但有以下区别:
- 动态性:奖励函数依赖于环境的动态反馈,而非固定的标签。
- 长期性:强化学习优化的是长期累积奖励,而非单次预测误差。
- 探索性:奖励函数需要引导代理在未知环境中探索,而深度学习通常假设数据分布已知。
2. 奖励函数的数学定义与形式
为了更深入理解奖励函数,我们从数学角度详细探讨其定义、形式和性质。
2.1 奖励函数的数学表达
奖励函数通常定义为:
R : S × A × S → R R: S \times A \times S \to \mathbb{R} R:S×A×S→R,
输入是当前状态 s s s、动作 a a a 和下一状态 s ′ s' s′,输出是一个标量奖励 r r r。在某些情况下,奖励函数可以简化为:
- R ( s , a ) R(s, a) R(s,a):奖励只依赖于状态和动作。
- R ( s ) R(s) R(s):奖励只依赖于当前状态。
- R ( s ′ ) R(s') R(s′):奖励只依赖于下一状态。
在实际实现中,奖励函数可以是:
- 确定性函数:给定 ( s , a , s ′ ) (s, a, s') (s,a,s′),奖励是固定的。
- 随机函数:奖励可能有噪声,服从某个分布 R ( s , a , s ′ ) ∼ P R ( ⋅ ∣ s , a , s ′ ) R(s, a, s') \sim P_R(\cdot|s, a, s') R(s,a,s′)∼PR(⋅∣s,a,s′)。
2.2 累积回报的定义
强化学习的目标是最大化累积回报(Return),定义为:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ = ∑ k = 0 ∞ γ k R t + k + 1 G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots = \sum_{k=0}^\infty \gamma^k R_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1,
其中:
- R t + 1 = R ( s t , a t , s t + 1 ) R_{t+1} = R(s_t, a_t, s_{t+1}) Rt+1=R(st,at,st+1) 是时间步 t t t 的即时奖励。
- γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1] 是折扣因子,控制未来奖励的重要性:
- γ = 0 \gamma = 0 γ=0:只考虑即时奖励(短视策略)。
- γ → 1 \gamma \to 1 γ→1:重视长期奖励(适合无限时域任务)。
在 有限时域(Episodic) 任务中,累积回报可以简化为:
G t = ∑ k = 0 T − t − 1 γ k R t + k + 1 G_t = \sum_{k=0}^{T-t-1} \gamma^k R_{t+k+1} Gt=∑k=0T−t−1γkRt+k+1,
其中 T T T 是任务的终止时间步。
2.3 奖励函数与价值函数的关系
奖励函数通过价值函数间接影响策略优化。价值函数评估状态或状态-动作对的长期回报期望:
- 状态价值函数:
V π ( s ) = E π [