智能体通过动作A与环境进行交互,形成状态S->S’的改变并得到回报R。在不断的交互过程中,强化学习利用交互得到的数据修正自身的动作策略,最终习得该环境下完成相应任务的最优策略。
参考资料
[1] 强化学习入门 第一讲 MDP
马尔可夫性指系统下一状态 S t + 1 S_{t+1} St+1仅与当前状态 s t s_{t} st有关,与以前的状态无关,当前状态可以反映所有历史状态。
公式描述:
P [ s t + 1 ∣ s t ] = P [ s t + 1 ∣ s 1 , s 2 , . . . , s t ] (1.1) P[s_{t+1}|s_t] = P[s_{t+1}|s_1,s_2,...,s_t] \tag{1.1} P[st+1∣st]=P[st+1∣s1,s2,...,st](1.1)
随机过程即一组随机变量序列,马尔可夫随机过程指其中的每一个随机变量均具有马尔可夫性,即只与前一个随机变量相关。
马尔可夫过程定义为:二元组(S,P),S为有限状态集合,P为状态转移概率矩阵。
P = [ P 11 ⋯ P 1 n ⋮ ⋱ ⋮ P n 1 ⋯ P n n ] (1.2) P = \left[ \begin{matrix} P_{11} & \cdots & P_{1n} \\ \vdots & \ddots & \vdots \\ P_{n1} & \cdots & P_{nn} \\ \end{matrix} \right] \tag{1.2} P=⎣⎢⎡P11⋮Pn1⋯⋱⋯P1n⋮Pnn⎦⎥⎤(1.2)
给定马尔可夫过程(S,P)后,从一状态出发到一状态结束存在多条路径,每条路径为马尔可夫链。
马尔可夫决策过程定义为:多元组(S, A, P, R, γ)
其中:
马尔可夫决策过程的状态转移包含概率:
P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] (1.3) P^{a}_{ss'} = P[S_{t+1} = s'|S_t = s, A_t = a] \tag{1.3} Pss′a=P[St+1=s′∣St=s,At=a](1.3)
理解:
给定马尔可夫决策过程(S, A, P, R, γ),寻找一组最优策略:
π ( a ∣ s ) = p [ A t = a ∣ S t = s ] (2.1) \pi(a|s) = p[A_t = a | S_t = s] \tag{2.1} π(a∣s)=p[At=a∣St=s](2.1)
解释:
采取概率的原因:为了将探索的过程融合到采样过程中,以便学习新的策略。
累计回报定义为 G t G_t Gt:
G t = R t + 1 + γ R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k + 1 (2.2) G_t = R_{t+1} + \gamma R_{t+2} + ... = \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} \tag{2.2} Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1(2.2)
理解:
因为从状态St出发到结束存在多种路径,经历每一条路径需要不同的行动,且获得的回报也不一定相同。
根据(2.1)式,策略为一个概率,因此对于累计回报函数而言其取值为一个随机变量,分布由策略 π \pi π决定 -> 需要根据数字特征研究其性质。
状态值函数为累计回报函数的数学期望:
v π ( s ) = E π [ G t ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] (2.3) v_\pi (s) = E_\pi[G_t] = E_\pi \left[ \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} | S_t = s \right] \tag{2.3} vπ(s)=Eπ[Gt]=Eπ[k=0∑∞γkRt+k+1∣St=s](2.3)
理解:
v π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] (2.3.1) v_\pi (s) = E_\pi[G_t | S_t = s] = E_\pi[R_{t+1} + \gamma v(S_{t+1}) | S_t = s] \tag{2.3.1} vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γv(St+1)∣St=s](2.3.1)
贝尔曼方程刻画了状态值函数的递推形式。
q π ( s , a ) = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] (2.4) q_\pi (s,a) = E_\pi \left[ \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} | S_t = s , A_t = a \right] \tag{2.4} qπ(s,a)=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a](2.4)
理解:
q π ( s , a ) = E π [ R t + 1 + γ v ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] (2.4.1) q_\pi (s,a) = E_\pi[R_{t+1} + \gamma v(S_{t+1}, A_{t+1}) | S_t = s, A_t = a] \tag{2.4.1} qπ(s,a)=Eπ[Rt+1+γv(St+1,At+1)∣St=s,At=a](2.4.1)
式(2.3)-(2.4)详细推导过程参考[1],这里就偷懒不写了(((
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) (2.5.1) v_\pi (s) = \sum_{a \in A} \pi(a|s)q_{\pi}(s,a) \tag{2.5.1} vπ(s)=a∈A∑π(a∣s)qπ(s,a)(2.5.1)
理解:
q π ( s , a ) = R s a + γ ∑ s ′ P s s ′ a v π ( s ′ ) (2.5.2) q_\pi (s,a) = R^a_s + \gamma\sum_{s'} P^{a}_{ss'}v_{\pi}(s') \tag{2.5.2} qπ(s,a)=Rsa+γs′∑Pss′avπ(s′)(2.5.2)
理解:
从式(2.5.1),(2.5.2)中可以看出,状态值函数与状态-行为值函数在递推过程中存在相互转化的关系。
v ∗ ( s ) = m a x π v π ( s ) (2.6.1) v^*(s) = max_{\pi}v_{\pi}(s) \tag{2.6.1} v∗(s)=maxπvπ(s)(2.6.1)
其贝尔曼方程形式:
v ∗ ( s ) = m a x a R s a + γ ∑ s ∈ S P s s ′ a v ∗ ( s ′ ) (2.6.2) v^*(s) = max_{a}R^a_{s} + \gamma\sum_{s \in S} P^{a}_{ss'}v^*(s') \tag{2.6.2} v∗(s)=maxaRsa+γs∈S∑Pss′av∗(s′)(2.6.2)
q ∗ ( s , a ) = m a x π q π ( s , a ) (2.6.3) q^*(s,a) = max_{\pi}q_{\pi}(s,a) \tag{2.6.3} q∗(s,a)=maxπqπ(s,a)(2.6.3)
其贝尔曼方程形式:
q ∗ ( s , a ) = R s a + γ ∑ s ∈ S P s s ′ a m a x a ′ q ∗ ( s ′ , a ′ ) (2.6.4) q^*(s,a) = R^a_{s} + \gamma\sum_{s \in S} P^{a}_{ss'}max_{a'}q^*(s',a') \tag{2.6.4} q∗(s,a)=Rsa+γs∈S∑Pss′amaxa′q∗(s′,a′)(2.6.4)
理解:
在已知最优状态-动作值函数,可直接选择最优策略:
π ∗ ( a ∣ s ) = { 1 i f a = a r g m a x q ∗ ( s , a ) 0 o t h e r (2.7) \pi_*(a|s) = \left\{ \begin{aligned} 1 && if a = argmaxq_*(s,a)\\ 0 && other \end{aligned}\right. \tag{2.7} π∗(a∣s)={10ifa=argmaxq∗(s,a)other(2.7)
给定马尔可夫决策过程
M = ( S , A , P , r , ρ 0 , γ , T ) (3) M = (S, A, P, r, \rho0, \gamma, T) \tag{3} M=(S,A,P,r,ρ0,γ,T)(3)
其中:
强化学习的目标可以描述为:在给定上述马尔可夫决策过程下,找到最优策略 π \pi π,最大化累计回报函数(2.2)。
需要说明的是,当值函数最优时采取的策略也是最优的。反过来,策略最优时值函数也最优。