#sdsc6007

English / 中文

强化学习的元素

强化学习包含以下五个核心元素:

  • 智能体与环境:智能体执行动作,环境返回观测和奖励

  • 奖励信号:标量反馈信号,指示智能体在时间t的表现

  • 策略:描述智能体行为,是从状态到动作的映射

  • 价值函数:预测预期未来奖励(在特定策略下)

  • 模型:预测环境的行为/回报

智能体与环境的交互

在每个时间步t:

  • 智能体执行动作 AtA_t,接收观测 OtO_t 和标量奖励 RtR_t

  • 环境接收动作 AtA_t,发出观测 Ot+1O_{t+1} 和标量奖励 Rt+1R_{t+1}

历史是观测、动作和奖励的序列:

Ht=O1,R1,A1,,At1,Ot,RtH_t = O_1, R_1, A_1, \ldots, A_{t-1}, O_t, R_t

状态的定义

状态 StS_t马尔可夫的,当且仅当它包含历史中的所有有用信息:

P(St+1St)=P(St+1S1,,St)P(S_{t+1} \mid S_t) = P(S_{t+1} \mid S_1, \ldots, S_t)

一旦状态已知,历史就可以丢弃。

关键理解:马尔可夫性质意味着"未来只依赖于现在,而不依赖于过去",这大大简化了问题的建模。

探索与利用的权衡

  • 探索:寻找关于环境的更多信息

  • 利用:基于当前信息最大化总奖励

  • 存在权衡关系(需要平衡两者)

实际例子

  • 选择餐厅:利用(去最喜欢的餐厅)vs 探索(尝试新餐厅)
  • 在线广告:利用(显示相关产品)vs 探索(显示不同的广告)
  • 选修课程:利用(选择之前最好的老师)vs 探索(尝试新老师)

马尔可夫决策过程介绍

基础与马尔可夫链

马尔可夫链/马尔可夫过程描述了一个无记忆的随机过程(没有奖励和动作),即具有马尔可夫性质的序列 S1,S2,S_1, S_2, \ldots

定义:有限状态马尔可夫链是一个元组 S,P\langle \mathcal{S}, P \rangle

  • S\mathcal{S} 是有限状态集合

  • PP 是状态转移概率矩阵,其中 pss=P(St+1=sSt=s)p_{ss'} = P(S_{t+1} = s' \mid S_t = s)

PRS×SP \in \mathbb{R}^{S \times S} 可表示为:

P=[p11p12p1Sp21p22p2SpS1pS2pSS]P = \begin{bmatrix} p_{11} & p_{12} & \cdots & p_{1S} \\ p_{21} & p_{22} & \cdots & p_{2S} \\ \vdots & \vdots & \ddots & \vdots \\ p_{S1} & p_{S2} & \cdots & p_{SS} \end{bmatrix}

其中矩阵的每一行之和为1。

示例

转移矩阵如下:

From \ To Lec1 Lec2 Lec3 HW1 IG FB Sleep
Lec1 0.7 0.3
Lec2 0.6 0.4
Lec3 0.5 0.25 0.25
HW1 1
IG 0.5 0.2 0.3
FB 0.5 0.5
Sleep 1

马尔可夫奖励过程

马尔可夫奖励过程 = 马尔可夫链 + 奖励(仍然没有动作或固定策略)

定义:MRP是一个元组 S,P,r,γ\langle \mathcal{S}, P, r, \gamma \rangle

  • S\mathcal{S} 是有限状态集合

  • PP 是状态转移概率矩阵

  • rr 是奖励函数,rs=E[Rt+1St=s]r_s = \mathbb{E}[R_{t+1} \mid S_t = s]

  • γ\gamma 是折扣因子,γ[0,1]\gamma \in [0, 1]

示例:

回报与价值函数

回报 GtG_t 是从时间步t开始的总折扣奖励:

Gt=Rt+1+γRt+2+=k=0γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

状态价值函数 v(s)v(s) 是从状态s开始的预期回报:

v(s)=E[GtSt=s]v(s) = \mathbb{E}[G_t \mid S_t = s]

MRP的贝尔曼方程详解

马尔可夫奖励过程(MRP)的贝尔曼方程是强化学习中的核心方程,它建立了状态价值与后续状态价值之间的关系。

1. 方程推导

从价值函数的定义出发:

v(s)=E[GtSt=s]=E[Rt+1+γRt+2+γ2Rt+3+St=s]v(s) = \mathbb{E}[G_t \mid S_t = s] = \mathbb{E}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots \mid S_t = s]

将其分解为即时奖励和未来奖励的折现:

v(s)=E[Rt+1+γ(Rt+2+γRt+3+)St=s]v(s) = \mathbb{E}[R_{t+1} + \gamma (R_{t+2} + \gamma R_{t+3} + \cdots) \mid S_t = s]

v(s)=E[Rt+1+γGt+1St=s]v(s) = \mathbb{E}[R_{t+1} + \gamma G_{t+1} \mid S_t = s]

利用马尔可夫性和期望的线性性质:

v(s)=E[Rt+1St=s]+γE[Gt+1St=s]v(s) = \mathbb{E}[R_{t+1} \mid S_t = s] + \gamma \mathbb{E}[G_{t+1} \mid S_t = s]

v(s)=rs+γsSpssE[Gt+1St+1=s]v(s) = r_s + \gamma \sum_{s' \in \mathcal{S}} p_{ss'} \mathbb{E}[G_{t+1} \mid S_{t+1} = s']

v(s)=rs+γsSpssv(s)v(s) = r_s + \gamma \sum_{s' \in \mathcal{S}} p_{ss'} v(s')

2. 参数说明

  • v(s)v(s): 状态s的价值,表示从状态s开始所能获得的期望累积奖励

  • rsr_s: 即时奖励的期望值,rs=E[Rt+1St=s]r_s = \mathbb{E}[R_{t+1} \mid S_t = s]

  • γ\gamma: 折扣因子(0 ≤ γ ≤ 1)

    • γ = 0:只考虑即时奖励
    • γ → 1:越来越重视未来奖励
    • 通常设为0.9-0.99之间的值
  • pssp_{ss'}: 从状态s转移到状态s’的概率

  • S\mathcal{S}: 所有可能的状态集合

3. 矩阵形式

将每个状态的价值组成向量 v=[v(1),v(2),,v(S)]Tv = [v(1), v(2), \ldots, v(S)]^T,奖励组成向量 r=[r1,r2,,rS]Tr = [r_1, r_2, \ldots, r_S]^T,得到矩阵形式:

v=r+γPvv = r + \gamma P v

其中P是状态转移概率矩阵。

4. 解析解

通过代数变换:

vγPv=rv - \gamma P v = r

(IγP)v=r(I - \gamma P)v = r

v=(IγP)1rv = (I - \gamma P)^{-1} r

注意:该解析解只在状态空间较小时实用,因为矩阵求逆的复杂度为O(S³)。

实际例子

假设有三个状态{A, B, C},γ=0.9,奖励函数和转移概率如下:

状态 奖励 转移到A 转移到B 转移到C
A 1 0.2 0.5 0.3
B 2 0.1 0.6 0.3
C -1 0.4 0.4 0.2

建立贝尔曼方程:

v(A)=1+0.9(0.2v(A)+0.5v(B)+0.3v(C))v(A) = 1 + 0.9(0.2v(A) + 0.5v(B) + 0.3v(C))

v(B)=2+0.9(0.1v(A)+0.6v(B)+0.3v(C))v(B) = 2 + 0.9(0.1v(A) + 0.6v(B) + 0.3v(C))

v(C)=1+0.9(0.4v(A)+0.4v(B)+0.2v(C))v(C) = -1 + 0.9(0.4v(A) + 0.4v(B) + 0.2v(C))

转换为矩阵形式:

[v(A)v(B)v(C)]=[121]+0.9[0.20.50.30.10.60.30.40.40.2][v(A)v(B)v(C)]\begin{bmatrix} v(A) \\ v(B) \\ v(C) \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \\ -1 \end{bmatrix} + 0.9 \begin{bmatrix} 0.2 & 0.5 & 0.3 \\ 0.1 & 0.6 & 0.3 \\ 0.4 & 0.4 & 0.2 \end{bmatrix} \begin{bmatrix} v(A) \\ v(B) \\ v(C) \end{bmatrix}

解得:

v=(I0.9P)1rv = (I - 0.9P)^{-1} r

通过计算可得各状态的具体价值值。

马尔可夫决策过程

马尔可夫决策过程 = 马尔可夫奖励过程 + 动作

定义:MDP是一个元组 S,A,P,r,γ\langle \mathcal{S}, \mathcal{A}, P, r, \gamma \rangle

  • S\mathcal{S} 是有限状态集合

  • A\mathcal{A} 是有限动作集合

  • PP 是状态转移核,psas=P(St+1=sSt=s,At=a)p_{sas'} = P(S_{t+1} = s' \mid S_t = s, A_t = a)

  • rr 是奖励函数,rsa=E[Rt+1St=s,At=a]r_{sa} = \mathbb{E}[R_{t+1} \mid S_t = s, A_t = a]

  • γ\gamma 是折扣因子,γ[0,1]\gamma \in [0, 1]

策略

策略 π\pi 是给定状态下动作的分布:

π(as)=P(At=aSt=s)\pi(a \mid s) = P(A_t = a \mid S_t = s)

这称为随机策略。

MDP中的最优性条件

有限视野情况与贝尔曼算子

目标:最大化 E[t=0T1γtRt+1]\mathbb{E}[\sum_{t=0}^{T-1} \gamma^t R_{t+1}]

使用DP算法,我们有:

JNt(s)=maxaA(γNtrsa+sSpsasJNt+1(s))J_{N-t}(s) = \max_{a \in \mathcal{A}} \left( \gamma^{N-t} r_{sa} + \sum_{s' \in \mathcal{S}} p_{sas'} \cdot J_{N-t+1}(s') \right)

JN(s)=γN×0=0J_N(s) = \gamma^N \times 0 = 0

归一化:vt(s)=JNt(s)γNtv_t(s) = \frac{J_{N-t}(s)}{\gamma^{N-t}}

vt+1(s)=maxaA(rsa+γsSpsasvt(s))v_{t+1}(s) = \max_{a \in \mathcal{A}} \left( r_{sa} + \gamma \sum_{s' \in \mathcal{S}} p_{sas'} \cdot v_t(s') \right)

v0(s)=0v_0(s) = 0

贝尔曼算子

定义贝尔曼算子 T\mathcal{T}

(Tv)(s)=maxaA(rsa+γsSpsasv(s))(\mathcal{T}v)(s) = \max_{a \in \mathcal{A}} \left( r_{sa} + \gamma \sum_{s' \in \mathcal{S}} p_{sas'} \cdot v(s') \right)

定义 Tkv(s)=T(Tk1v)(s)\mathcal{T}^k v(s) = \mathcal{T}(\mathcal{T}^{k-1} v)(s)(其中 T0v(s)=v(s)\mathcal{T}^0 v(s) = v(s)

我们可以用 TNv0=vN=J0\mathcal{T}^N v_0 = v_N = J_0 解决有限视野问题

对于静态确定性策略 π\pi,定义策略下的贝尔曼算子 Tπ\mathcal{T}_\pi

(Tπv)(s)=rsπ(s)+γsSpsπ(s)sv(s)(\mathcal{T}_\pi v)(s) = r_{s\pi(s)} + \gamma \sum_{s' \in \mathcal{S}} p_{s\pi(s)s'} \cdot v(s')

贝尔曼算子的性质

单调性引理

考虑 v,vRSv, v' \in \mathbb{R}^S,其中 v(s)v(s)v(s) \leq v'(s), sS\forall s \in \mathcal{S}

(Tkv)(s)(Tkv)(s),sS,k=1,2,(\mathcal{T}^k v)(s) \leq (\mathcal{T}^k v')(s), \quad s \in \mathcal{S}, k = 1, 2, \ldots

同样适用于任何静态策略 π\pi

如果 v(s)(Tv)(s)v(s) \leq (\mathcal{T}v)(s), sS\forall s \in \mathcal{S},则:

(Tkv)(s)(Tk+1v)(s),sS,k=1,2,(\mathcal{T}^k v)(s) \leq (\mathcal{T}^{k+1} v)(s), \quad s \in \mathcal{S}, k = 1, 2, \ldots

常数偏移引理

对于任何静态策略 π\pi,标量 bb, vRSv \in \mathbb{R}^S

(Tk(v+b1S))(s)=(Tkv)(s)+γkb,sS,k=1,2,(\mathcal{T}^k (v + b \cdot 1_S))(s) = (\mathcal{T}^k v)(s) + \gamma^k b, \quad s \in \mathcal{S}, k = 1, 2, \ldots

(Tπk(v+b1S))(s)=(Tπkv)(s)+γkb,sS,k=1,2,(\mathcal{T}_\pi^k (v + b \cdot 1_S))(s) = (\mathcal{T}_\pi^k v)(s) + \gamma^k b, \quad s \in \mathcal{S}, k = 1, 2, \ldots

其中 1SRS1_S \in \mathbb{R}^S 是全1向量。

命题:DP算法的收敛性

假设

  1. 即时奖励 RtR_t 有界,即对某个常数M,RtM|R_t| \leq M

  2. 0<γ<10 < \gamma < 1

命题

对于任何初始猜测 v0RSv_0 \in \mathbb{R}^S,对于任何 sSs \in \mathcal{S}

v(s)=limN(TNv0)(s)v^\star(s) = \lim_{N \to \infty} (\mathcal{T}^N v_0)(s)

其中 vv^\star 是最优价值函数,即:

v(s0)=maxπlimKE[t=0KγtRt+1S0=s0]v^\star(s_0) = \max_\pi \lim_{K \to \infty} \mathbb{E} \left[ \sum_{t=0}^K \gamma^t R_{t+1} \mid S_0 = s_0 \right]

同样,对于固定策略 π\pi

vπ(s)=limN(TπNv0)(s)v_\pi^\star(s) = \lim_{N \to \infty} (\mathcal{T}_\pi^N v_0)(s)

深度理解:这个命题表明,无论我们从什么样的初始价值估计开始,通过不断应用贝尔曼算子,最终都会收敛到真正的最优价值函数。

命题:贝尔曼方程

命题

最优价值函数 vv^\star 满足对所有 sSs \in \mathcal{S}

v(s)=maxaA(rsa+γsSpsasv(s))v^\star(s) = \max_{a \in \mathcal{A}} \left( r_{sa} + \gamma \sum_{s' \in \mathcal{S}} p_{sas'} \cdot v^\star(s') \right)

或等价地:

v=Tvv^\star = \mathcal{T} v^\star

而且 vv^\star 是这个方程的唯一解(因此,这个方程的解必须是最优价值函数)。

同样,对于任何 vRSv \in \mathbb{R}^S,其中 vTvv \geq \mathcal{T}v(或 vTvv \leq \mathcal{T}v),我们有 vvv \geq v^\star(或 vvv \leq v^\star,分别)。

对于固定策略 π\pi,相关价值函数 vπv_\pi 满足:

vπ(s)=rsπ(s)+γsSpsπ(s)svπ(s)v_\pi(s) = r_{s\pi(s)} + \gamma \sum_{s' \in \mathcal{S}} p_{s\pi(s)s'} \cdot v_\pi(s')

或等价地:

vπ=Tπvπv_\pi = \mathcal{T}_\pi v_\pi

命题:最优性的必要与充分条件

命题

一个静态策略 π\pi 是最优的,当且仅当 π(s)\pi(s) 对每个 sSs \in \mathcal{S} 在贝尔曼方程中达到最大值,即:

Tv=Tπv\mathcal{T} v^\star = \mathcal{T}_\pi v^\star

含义

  1. 首先计算 vv^\star

  2. 对每个 sSs \in \mathcal{S},选择:

asargmaxaA(rsa+γsSpsasv(s))a_s \in \arg\max_{a \in \mathcal{A}} \left( r_{sa} + \gamma \sum_{s' \in \mathcal{S}} p_{sas'} \cdot v^\star(s') \right)

  1. 构建一个策略 π\pi,使得 π(s)=as\pi(s) = a_s

  2. 通过构造,Tv=Tπv\mathcal{T} v^\star = \mathcal{T}_\pi v^\star

  3. π\pi 是最优静态确定性策略

唯一性与随机策略

  • 最优策略不是唯一的

  • 对于任何 sSs \in \mathcal{S},可能有多个 asa_s 满足上述条件

  • 随机选择 {as1,as2,,asK}\{a_{s1}, a_{s2}, \ldots, a_{sK}\} 中的任何动作在状态s下是最优的

  • 随机策略π(as)=P(At=aSt=s)\pi(a \mid s) = P(A_t = a \mid S_t = s)

  • 最优随机策略:如果 a{as1,as2,,asK}a \in \{a_{s1}, a_{s2}, \ldots, a_{sK}\},则 π(as)>0\pi(a \mid s) > 0,否则 π(as)=0\pi(a \mid s) = 0

关键结论:在MDP设置中,最好的确定性策略与最好的随机策略表现一样好,随机策略不会提供额外的优势。