马尔可夫决策过程
在可完全观测的情况下,系统环境与智能体之间的交互过程是,智能体根据观察到的环境状态 S t ∈ S S_t\in S St∈S,从可行的动作集 A A A中选择一个动作 A t A_t At 作出决策,系统根据其状态转移概率矩阵 P \bm{P} P转移到新状态 S t + 1 S_{t+1} St+1,并针对智能体的行动 A t A_t At 给出相应的奖励 R t + 1 R_{t+1} Rt+1,智能体根据新观察到的状态 S t + 1 S_{t+1} St+1重新进行下一步的动作 A t + 1 A_{t+1} At+1。
强化学习过程是解决序贯决策问题,可由马尔可夫决策过程完全刻画。马尔可夫决策过程的历史记录是由一系列的状态、行动和奖励所组成的时间序列
{ S 1 , A 1 , R 2 , ⋯ , S t − 1 , A t − 1 , R t , ⋯ } \{S_1,A_1,R_2,\cdots,S_{t-1},A_{t-1},R_t,\cdots\} { S1,A1,R2,⋯,St−1,At−1,Rt,⋯}
按照本书的约定,针对行动 A t A_t At的即时奖励记为 R t + 1 R_{t+1} Rt+1,长期回报记为 G t G_t Gt。
马尔可夫决策过程可以由一个五元组 ( S , A , P , R , γ ) ~(S,A,\bm{P},R,\gamma)~ (S,A,P,R,γ) 表示,其中
(1) S S S,是一组有限的状态集合, S = { s 1 , s 2 , ⋯ } S=\{s_1,s_2,\cdots\} S={ s1,s2,⋯}。
(2) A A A,是一组有限的行动集合, A = { a 1 , a 2 , ⋯ } A=\{a_1,a_2,\cdots\} A={ a1,a2,⋯}。
(3) P \bm{P} P,是状态转移概率矩阵, p s s ′ a = P { S t + 1 = s ′ ∣ S t = s , A t = a } p_{ss'}^a=P\{S_{t+1}=s'|S_t=s,A_t=a\} pss′a=P{ St+1=s′∣St=s,At=a}。
(4) R R R,是奖励函数, R s a = E [ R t + 1 ∣ S t = s , A t = a ] R_s^a=E[R_{t+1}|S_t=s,A_t=a] Rsa=E[Rt+1∣St=s,At=a]。
(5) γ \gamma γ,是折现因子, γ ∈ [ 0 , 1 ] \gamma\in[0,1] γ∈[0,1]。
贝尔曼方程
策略是智能体在观察环境后产生的行动方案,马尔可夫决策过程采取的是随机性策略。具体地,策略描述了智能体采取不同行动的概率,即给定一个状态 s ~s s,智能体采取行动 a ~a a 的概率为:
π ( a ∣ s ) = P { A t = a ∣ S t = s } \pi(a|s) = P\{A_t=a|S_t=s\} π(a∣s)=P{
At=a∣St=s}
值函数是针对状态或行动的评价函数值函数,包括状态值函数和状态-行动值函数。
状态值函数 v π ( s ) ~v_\pi(s)~ vπ(s) 是在给定策略 π ~\pi~ π 下,用于评价状态 s ~s s 的指标。具体地,状态值函数 v π ( s ) ~v_\pi(s) vπ(s) 定义为:采用策略 π ~\pi π,状态 s ~s s 获得的期望回报,即: v π ( s ) ≐ E π [ G t ∣ S t = s ] v_\pi(s)\doteq E_\pi [G_t|S_t=s] vπ(s)≐Eπ[Gt∣St=s]。
状态-行动值函数 q π ( s , a ) ~q_\pi(s,a)~ qπ(s,a) 是在给定策略 π ~\pi~ π 下,用于评价状态 s ~s~ s 下动作 a ~a a 的指标。具体地,状态-行动值函数 q π ( s , a ) ~q_\pi(s,a)~ qπ(s,a) 定义为,采用策略 π ~\pi π,在状态 s ~s~ s 下采用动作 a ~a~ a 获得的期望回报,即: q π ( s , a ) ≐ E π [ G t ∣ S t = s , A t = a ] q_\pi(s,a)\doteq E_\pi[G_t|S_t=s,A_t=a] qπ(s,a)≐Eπ[Gt∣St=s,At=a]。
其中, E π E_\pi~ Eπ 表示在给定策略 π ~\pi~ π 下的期望,这只是一种符号约定, E π E_\pi~ Eπ 的作用等价于 E ~E E。
为了避免概念模糊,同时为了借鉴马尔可夫奖励过程中贝尔曼方程的推导过程,本章统一采用 E ~E E 替代状态值函数和状态- 行动值函数定义式中的 E π ~E_\pi Eπ。
借鉴马尔可夫奖励过程中贝尔曼方程的推导过程,下面直接给出马尔可夫决策过程中的贝尔曼方程。
v π ( s ) = E [ G t ∣ S t = s ] = E [ R t + 1 + γ G t + 1 ∣ S t = s ] = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] v_\pi(s)= E[G_t|S_t=s] = E[R_{t+1}+\gamma G_{t+1}|S_t=s] = E[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s] vπ(s)=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1+γvπ(St+1)∣St=s]
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] = E [ R t + 1 + γ G t + 1 ∣ S t = s , A t = a ] = E [ R t + 1 + γ q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] q_\pi(s,a)= E[G_t|S_t=s,A_t=a] = E[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a] = E[R_{t+1}+\gamma q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a] qπ(s,a)=E[Gt∣St=s,At=a]=E[Rt+1+γGt+1∣St=s,At=a]=E[Rt+1+γqπ(St+1,At+1)∣St=s,At=a]
贝尔曼方程说明,值函数可以分为两部分:
(1) 当前时刻获得的即时奖励。
(2) 后续奖励在当前时刻的累积折现。
状态值函数 v π ( s ) ~v_\pi(s)~ vπ(s) 与状态-行动值函数 q π ( s , a ) ~q_\pi(s,a)~ qπ(s,a) 之间的关系为:
v π ( s ) = E [ G t ∣ S t = s ] = ∑ a π ( a ∣ s ) E [ G t ∣ S t = s , A t = a ] = ∑ a π ( a ∣ s ) q π ( s ,