强化学习(1)-Daviad Silver强化学习课程脉络整理

强化学习-Daviad Silver强化学习课程脉络整理

  • 1.lecture1 introduction
    • 1.1 强化学习简介
    • 1.2 强化学习类别
    • 1.3 强化学习的主要问题
  • 2.lecture2 Markov Decision Process
    • 2.1 MP,MRP,MDP
    • 2.2 Bellman Eqution--贝尔曼方程
    • 2.3 Bellman Eqution--贝尔曼期望方程
    • 2.4 最优策略
    • 2.5 最优值函数
    • 2.6 Bellman Optimal Equation
  • 3 lecture3 Planning by Dynamic Programming
    • 3.1 策略迭代估计->策略改进
    • 3.2 价值迭代--找最优策略
  • 4.lecture4 Model Free Prediction
    • 4.1 蒙特卡洛学习--完全采样
    • 4.2 时序差分TD(n)--不完全采样
    • 4.3 TD( λ \lambda λ)
  • 5.lecture5 Model Free Control
    • 5.1 SARSA
    • 5.2 Q-learning
  • 6. Value Function Approximation
    • 6.1 DQN-Deep Q learning
  • 7.lecture7 Policy Gradient
    • 7.1 Actor and Critics

1.lecture1 introduction

1.1 强化学习简介

强化学习是机器学习的一个分支,没有监督信号判断学习的好坏,只有reward 信号引导学习过程。

强化学习的目标是:学习一个决策策略,使得agent与环境交互所获得的累计奖励最大。

强化学习基本要素
Agent 决策智能体,主要完成在环境中处于某一状态下动作决策,策略是可以学习的。
Reward- R t R_t Rt t时刻的奖励,标量,用于反映agent t时刻动作的优劣(长期奖励的一个衡量)
Enviroment 环境,接收Agent的动作,依据物理特性状态转换(转换是不受Agent控制的),并反馈给agent 一个 R t R_t Rt
State 状态信息:环境状态(一般不可用),agent 状态(强化学习算法可以使用的状态)

老鼠训练的例子:agent状态不表示不同,依据统计规律得出的预测也不同补图
环境状态和agent 状态的区别:

Agent 主要成分
state agent 状态-强化学习算法可以使用的状态,
action agent的在每一个状态下能够执行的动作(走子,浇水)
policy 状态到动作的映射:确定策略 a = π ( s ) a=\pi(s) a=π(s)、不确定策略 π ( a ∥ s ) = P [ A = a ∥ S t = s ] \pi(a\|s)=P[A=a\|S_t=s] π(as)=P[A=aSt=s]
value function 评价当前状态的优劣(对未来奖励的预测),是基于策略的
model 状态转移概率: P s , s ′ a = P [ S t + 1 ∥ S t = s , A t = a ] P_{s,s'}^a=P[S_{t+1}\|S_t=s,A_t=a] Ps,sa=P[St+1St=s,At=a]、奖励: 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+1St=s,At=a]

1.2 强化学习类别

分类1

value based 无策略函数,策略由价值函数 V π V_{\pi} Vπ 间接得到(贪心策略?)
policy based 动作由策略函数决定,没有 V π V_{\pi} Vπ
Actor-critic 策略函数与价值函数同时存在,两者结合

分类2

model based 环境模型已知道,状态转移概率,奖励函数
model free 环境模型未知

model 是环境物理规律的建模,model常常不事先已知,需要agent基于历史信息对model进行建模,这种情况下的强化学习为 model free learning。

1.3 强化学习的主要问题

主要问题1
学习 环境未知,agent
规划
主要问题2
探索
利用
主要问题3
预测 给定MDP+策略 求状态价值
控制 给定MDP,求最优价值函数V

2.lecture2 Markov Decision Process

2.1 MP,MRP,MDP

三大过程
Markov Process ,马尔可夫状态转移图
Markov Reward Process γ \gamma γ> ,马尔可夫状态转移图+边权 R s R_s Rs
Markov Decision Process γ \gamma γ>,马尔可夫状态转移图+边权 ( R s + a ) (R_s+a) (Rs+a)

状态的马尔可夫性质:某一状态包含了所有相关的历史信息,可以决定未来。(下一时刻的状态完全由本时刻的状态决定)

MRP关键概念
S 状态空间–agent所有状态的集合( s 1 , s 2 , s 3 , . . . .   s n s_1,s_2,s_3,....\,s_n s1,s2,s3,....sn)
p s , s ′ p_{s,s'} ps,s 状态转移矩阵–其中的元素为 p s , s ′ = p [ s t + 1 ∥ S t = s ] p_{s,s'}=p[s_{t+1}\|S_t=s] ps,s=p[st+1St=s]
R s R_s Rs 某一状态s在下一个时刻能够获得的奖励的期望值 R s = E [ R t + 1 ∥ S t = s ] R_s=E[R_{t+1}\|S_t=s] Rs=E[Rt+1St=s]
γ \gamma γ 衰减系数–后续经历状态的奖励对于当前return的呈现衰减影响
G t G_t Gt return 收益/回报 --(一条马尔可夫链)从t 时刻开始所有 R t R_t Rt的衰减总和
V(s) 价值函数–某一状态/动作的长期价值 V ( s ) = E [ G t ∥ S t = s ] V(s)=E[G_t\|S_t=s] V(s)=E[GtSt=s] ,从s出发的所有链条的 G t G_t Gt的期望

R s R_s Rs 确定到达这个状态他就能获得的一个奖励,不管后续去了哪里,那就是下一个状态需要关系的事情了, R s R_s Rs一般未知,我们只能收到环境给的 R t R_t Rt的反馈,类似于k 摇臂赌博机中每个摇臂的期望奖励是 R s R_s Rs,每次反馈的奖励是 R t R_t Rt

MDP关键概念
S 状态空间–agent所有状态的集合( s 1 , s 2 , s 3 , . . . .   s n s_1,s_2,s_3,....\,s_n s1,s2,s3,....sn)
A 动作空间–agent所有状态的集合( a 1 , a 2 , a 3 , . . . .   a m a_1,a_2,a_3,....\,a_m a1,a2,a3,....am)
p s , s ′ a p_{s,s'}^a ps,sa 元素为 p s , s ′ a = p [ s t + 1 ∥ S t = s , A t = a ] p_{s,s'}^a=p[s_{t+1}\|S_t=s,A_t=a] ps,sa=p[st+1St=s,At=a]
R s a R_s^a Rsa 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+1St=s,At=a]
π \pi π 概率集合/概率分布函数 : π ( a ∥ s ) \pi(a\|s) π(as)

π ( a ∣ s ) \pi(a|s) π(as) 给定a, 不同的s会构成一个概率密度函数,找一个s使 π ( a ∣ s ) \pi(a|s) π(as)最大。==好像没啥用 ==

π ( a ∣ s ) \pi(a|s) π(as)给定s,不同的a会构成一个概率密度函数,找一个a使 π ( a ∣ s ) \pi(a|s) π(as)最大。状态s下最有可能的动作选择

策略相关的概念 涉及到策略就是要对动作求期望
p s , s ′ π p^{\pi}_{s,s'} ps,sπ 策略 π \pi π下,状态s->s’的状态转移概率: p s , s ′ π = ∑ a ∈ A π ( a ∥ s ) p s , s ′ a p^{\pi}_{s,s'}=\sum_{a\in A}\pi(a\|s)p_{s,s'}^a ps,sπ=aAπ(as)ps,sa
R s π R_s^{\pi} Rsπ 策略 π \pi π下,状态s 的reward: R s π = ∑ a ∈ A π ( a ∥ s ) R s a R^{\pi}_{s}=\sum_{a\in A}\pi(a\|s)R^a_s Rsπ=aAπ(as)Rsa
V π ( s ) V_{\pi}(s) Vπ(s) 策略 π \pi π下,状态s 的价值: v π ( s ) = E π [ G t ∥ S t = s ] v_{\pi}(s)=E_\pi [G_t\|S_t=s] vπ(s)=Eπ[GtSt=s]
q π ( s , a ) q_{\pi}(s,a) qπ(s,a) 策略 π \pi π下,状态s 的动作价值: q π ( s , a ) = E π [ G t ∥ S t = s , A t = a ] q_{\pi}(s,a)=E_\pi[G_t\|S_t=s,A_t=a] qπ(s,a)=Eπ[GtSt=s,At=a]

p s , s ′ π p^{\pi}_{s,s'} ps,sπ:策略 π \pi π 下的状态转移概率:状态 s s s下可选的动作有很多个,各个动作转向 s ′ s' s 的概率相加。无法直接在马尔可夫图上表示出来吧

V π ( s ) V_{\pi}(s) Vπ(s) 基于策略 π \pi π下状态s的策略价值函数,为从状态s出发,能获得回报 G t G_t Gt的期望( G t G_t Gt是通过 策略 π \pi π产生的马尔可夫链求期望得出)。

q π ( s , a ) q_{\pi}(s,a) qπ(s,a) V π ( s ) V_{\pi}(s) Vπ(s) 就相差一个在特定动作下,所以可以通过对 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)求期望,得到 V π ( s ) V_{\pi}(s) Vπ(s)

2.2 Bellman Eqution–贝尔曼方程

V ( s ) − G t V(s)-G_t V(s)Gt的迭代关系–只涉及到MRP,没有动作空间

v ( s ) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . . ∣ S t = s ] = E [ R t + 1 ∣ S t = s ] + γ E [ R t + 2 + γ R t + 3 + . . . ∣ S t = s ] = E [ R t + 1 ∣ S t = s ] + γ E [ G t + 1 ∣ S t = s ] (0) v(s)=E[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+....|S_t=s]\\ =E[R_{t+1}|S_t=s]+\gamma E[R_{t+2}+\gamma R_{t+3}+...|S_t=s]\\ =E[R_{t+1}|S_t=s]+\gamma E[G_{t+1}|S_t=s]\tag{0} v(s)=E[Rt+1+γRt+2+γ2Rt+3+....St=s]=E[Rt+1St=s]+γE[Rt+2+γRt+3+...St=s]=E[Rt+1St=s]+γE[Gt+1St=s](0)

第二部分收获的期望,等于收获期望的期望,不是很明白
v ( s ) = R s + γ E [ v ( S t + 1 ) ∣ S t = s ] (1) v(s)=R_s+\gamma E[v(S_{t+1})|S_t=s]\tag{1} v(s)=Rs+γE[v(St+1)St=s](1)

S t + 1 S_{t+1} St+1下一时刻的状态,依据下一时刻状态分布求其期望:
v ( s ) = R s + γ ∑ s ′ ∈ S p s s ′ v ( s ′ ) (2) v(s)=R_s+\gamma \sum_{s'\in S}p_{ss'}v(s')\tag{2} v(s)=Rs+γsSpssv(s)(2)

写成矩阵的形式可以解析求解v:
V = R + γ P V = > V = ( I − γ P ) − 1 R V = R + γ P V = > V = ( I − γ P ) − 1 R (3) V=R+\gamma PV\\=>V=(I-\gamma P)^{-1}RV=R+\gamma PV\\=>V=(I-\gamma P)^{-1}R\tag{3} V=R+γPV=>V=(IγP)1RV=R+γPV=>V=(IγP)1R(3)

2.3 Bellman Eqution–贝尔曼期望方程

在策略 π \pi π下的贝尔曼方程
v π ( s ) = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] (4) v_\pi(s)=\mathbb{E}[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_t=s]\tag{4} vπ(s)=E[Rt+1+γvπ(St+1)St=s](4)

q π ( s , a ) = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s , A t = a ] (5) q_\pi(s,a)=\mathbb{E}[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_t=s,A_t=a]\tag{5} qπ(s,a)=E[Rt+1+γvπ(St+1)St=sAt=a](5)

两者之间的递推公式
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) (6) v_{\pi}(s)=\sum_{a\in A}\pi(a|s)q_\pi(s,a)\tag{6} vπ(s)=aAπ(as)qπ(s,a)(6)

q π ( a , s ) = R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) (7) q_\pi(a,s)=R_s^a+\gamma \sum_{s'\in S}P^a_{ss'}v^\pi(s')\tag{7} qπ(a,s)=Rsa+γsSPssavπ(s)(7)

引入动作后,状态价值v(s)与动作挂钩,现下的动作价值q(a,s) 通过 动作状态转移 P s s ′ a P^a_{ss'} Pssa 和下一个时刻的 状态价值v(s’) 计算

2.4 最优策略

策略 π \pi π的所有状态价值都大于该状态在其他策略下的价值。策略是一个离散的动作概率集合,调整动作概率选择,就可以达到最优策略。最优策略可能不止一个,所有最优策略具有相同的价值很函数和动作价值函数。
π > = π ′    i f    v π ( s ) > = v π ′ ( s ) , ∀ s (8) \pi>=\pi'\ \ if\ \ v_\pi(s)>=v_{\pi'}(s),\forall s\tag{8} π>=π  if  vπ(s)>=vπ(s),s(8)

最优策略求解:选择/求解 最大化行为价值函数对应的动作(在状态s下该执行什么动作)
π ∗ ( a ∣ s ) = 1    i f    a = arg ⁡ max ⁡ a ∈ A q ∗ ( s , a )    e l s e    0 (9) \pi_*(a|s)=1\ \ if \ \ a=\arg \max_{a\in A}q_*(s,a) \ \ else \ \ 0\tag{9} π(as)=1  if  a=argaAmaxq(s,a)  else  0(9)

2.5 最优值函数

状态s的最优价值函数:状态s 在所有策略下价值函数的最大值。(最优策略对应的价值/动作价值函数,最优策略的定义)
v ∗ ( s ) = max ⁡ π v π ( s ) (10) v_*(s)=\max_{\pi}v_\pi(s)\tag{10} v(s)=πmaxvπ(s)(10)

最优动作状态值函数所有策略在该状态该动作下价值的最大值
q ∗ ( s , a ) = max ⁡ π q π ( s , a ) (11) q_*(s,a)=\max_{\pi}q_\pi(s,a)\tag{11} q(s,a)=πmaxqπ(s,a)(11)

2.6 Bellman Optimal Equation

最优状态价值 :一个状态的最优价值= 最优策略 π \pi π下,从状态 s s s出发可采取的所有行为 a a a,行为价值最大值。
v ∗ ( s ) = max ⁡ π max ⁡ a q π ( s , a ) = max ⁡ a q ∗ ( s , a ) (12) v_*(s)=\max_{\pi}\max_{a}q_{\pi}(s,a)=\max_a q_*(s,a)\tag{12} v(s)=πmaxamaxqπ(s,a)=amaxq(s,a)(12)

最优行为价值函数,定义式:
q π ( a , s ) = R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) (13) q_\pi(a,s)=R_s^a+\gamma \sum_{s'\in S}P^a_{ss'}v^\pi(s')\tag{13} qπ(a,s)=Rsa+γsSPssavπ(s)(13)

式子(12)带入定义式:
q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S p s s ′ a max ⁡ a ′ q ∗ ( s ′ a ′ ) (14) q_{*}(s,a)=R_s^a+\gamma \sum_{s'\in S} p^a_{ss'} \max_{a'}q_*(s'a')\tag{14} q(s,a)=Rsa+γsSpssaamaxq(sa)(14)
两者之间的迭代关系

3 lecture3 Planning by Dynamic Programming

已知:模型(P已知)+策略
求解:该策略价值函数、最优策略价值函数

DP–RL
DP 最优子问题(递归求解-自顶向下递归,自底向上递归)+子问题重复出现(tabel 记录)
RL Bellman方程提供了递归求解表达式

1)递归表达式(状态转移方程): q π ( a , s ) = R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) q_\pi(a,s)=R_s^a+\gamma \sum_{s'\in S}P^a_{ss'}v^\pi(s') qπ(a,s)=Rsa+γsSPssavπ(s)

2)更新(table)V(s) : v ∗ ( s ) = max ⁡ a q ∗ ( s , a ) v_*(s)=\max_a q_*(s,a) v(s)=maxaq(s,a)

3.1 策略迭代估计->策略改进

Step1: 策略迭代估计-- 给定策略下迭代更新价值函数,利用(12)式贝尔曼期望方程来更新。
v k + 1 ( s ) = ∑ a ∈ A π ( a ∣ s ) [ R s a + γ ∑ s ′ ∈ S P s s ′ a v k ( s ′ ) ] (15) v_{k+1}(s)=\sum_{a\in A}\pi(a|s)[R^a_s+\gamma \sum_{s'\in S}P^a_{ss'}v_k(s')]\tag{15} vk+1(s)=aAπ(as)[Rsa+γsSPssavk(s)](15)

其中 v k ( s ′ ) v_k(s') vk(s) 为上一轮迭代中s所有可能的下一状态s’的价值。

Step2: 策略改进–在当前策略下选取使后继状态价值增加的行为–动作选择

3.2 价值迭代–找最优策略

(不需要策略)

通过(22)式贝尔曼最优方程来求解
v ∗ ( s ) = max ⁡ a ∈ A ( R s a + γ ∑ s ′ ∈ S P s s ′ a v ∗ ( s ′ ) ) (16) v_{*}(s)=\max_{a\in A}(R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}v_{*}(s'))\tag{16} v(s)=aAmax(Rsa+γsSPssav(s))(16)
v ∗ ( s ′ ) v_{*}(s') v(s)为下一个时刻状态的最优值,认为上一步的v是 v ∗ v_* v,max 的过程在进行动作选择

全部是迭代计算。

4.lecture4 Model Free Prediction

条件:模型未知(P未知)
估计:该策略价值函数、最优策略价值函数

本章需要回顾的一些公式:

1)采样数据 x 1 , x 2 , . . . x n , . . . . x_1,x_2,...x_n,.... x1,x2,...xn,....均值的在线更新公式(如下)。作用–用新的采样值 x k x_k xk更新均值 μ k − 1 \mu_{k-1} μk1
μ k = 1 k ∑ i = 1 k x k = 1 k ( x k + ∑ i = 1 k − 1 x i ) = 1 k ( x k + ( k − 1 ) μ k − 1 ) = μ k − 1 + 1 k ( x k − μ k − 1 ) (17) \mu_k=\frac{1}{k}\sum_{i=1}^{k}x_k\\=\frac{1}{k}(x_k+\sum_{i=1}^{k-1}x_i)\\=\frac{1}{k}(x_k+(k-1)\mu_{k-1})\\=\mu_{k-1}+\frac{1}{k}(x_k-\mu_{k-1})\tag{17} μk=k1i=1kxk=k1(xk+i=1k1xi)=k1(xk+(k1)μk1)=μk1+k1(xkμk1)(17)

2)价值函数的定义式: V ( s t ) = E [ G t ∥ S t = s ] V(s_t)=E[G_t\|S_t=s] V(st)=E[GtSt=s]

3) G t G_t Gt的衰减和定义式子: G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 , . . . , G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3,...,} Gt=Rt+1+γRt+2+γ2Rt+3,...,

4)贝尔曼方程递归求解价值函数: V ( s t ) = R s + γ V ( s t + 1 ) V(s_t)=R_s+\gamma V(s_{t+1}) V(st)=Rs+γV(st+1)

4.1 蒙特卡洛学习–完全采样

在给定策略下,从一系列完整的Episode 中估计得到所有状态的价值函数。
(核心:状态价值 使用采样Episode均值估计,而非所有的全Episode期望计算)
(完全说的是Episode是一条完整的链子)

增量式蒙特卡洛更新:
N ( s t ) = N ( s t ) + 1 v ( s t ) = v ( s t ) + 1 N ( s t ) ( G t − V ( s t ) ) (18) N(s_t)=N(s_t)+1\\ v(s_t)=v(s_t)+\frac{1}{N(s_t)}(G_t-V(s_t))\tag{18} N(st)=N(st)+1v(st)=v(st)+N(st)1(GtV(st))(18)

其中, G t G_t Gt需要通过一条完整的Episode。

不明白 1 N ( s t ) \frac{1}{N(s_t)} N(st)1只是用 α \alpha α来表示,还是就使用一个固定的 α \alpha α

4.2 时序差分TD(n)–不完全采样

在给定策略下,从一系列不完整的Episode 中估计得到所有状态的价值函数。
主要区别:3)式更新式中的 G t G_t Gt的近似求解:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 , . . . , ≈ G t ( n ) = R t + 1 + . . . + γ n V ( s t + n ) G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3,...,}\approx G_t^{(n)}=R_{t+1}+...+\gamma ^n V(s_{t+n}) Gt=Rt+1+γRt+2+γ2Rt+3,...,Gt(n)=Rt+1+...+γnV(st+n)

其中, V ( s t + 1 ) V(s_{t+1}) V(st+1)下一状态 s t + 1 s_{t+1} st+1价值的非精确求解。

增量式时序差分更新:
N ( s t ) = N ( s t ) + 1 v ( s t ) = v ( s t ) + 1 N ( s t ) ( R t + 1 + γ V ( s t + 1 ) − V ( s t ) ) (18) N(s_t)=N(s_t)+1\\ v(s_t)=v(s_t)+\frac{1}{N(s_t)}(R_{t+1}+\gamma V(s_{t+1})-V(s_t))\tag{18} N(st)=N(st)+1v(st)=v(st)+N(st)1(Rt+1+γV(st+1)V(st))(18)

R t + 1 + γ V ( s t + 1 ) R_{t+1}+\gamma V(s_{t+1}) Rt+1+γV(st+1)称为TD target, R t + 1 + γ V ( s t + 1 ) − V ( s t ) R_{t+1}+\gamma V(s_{t+1})-V(s_t) Rt+1+γV(st+1)V(st)称为TD error。

依据 G t G_t Gt R t + i R_{t+i} Rt+i的计算步长,TD算法可以分为TD(n)算法,TD(n)算法表示n+1步return 计算。

4.3 TD( λ \lambda λ)

结合蒙特卡洛更新和时序差分更新的优点,融合不同的n步return。
G t λ = ( 1 − λ ) ∑ n = 1 ∞ λ n − 1 G t n G_t^{\lambda}=(1-\lambda)\sum_{n=1}^{\infty}\lambda^{n-1}G_t^{n} Gtλ=(1λ)n=1λn1Gtn

TD( λ \lambda λ)前向更新式(理论计算):
v ( s t ) = v ( s t ) + α ( G t λ − V ( s t ) ) (18) v(s_t)=v(s_t)+\alpha(G_t^{\lambda}-V(s_t))\tag{18} v(st)=v(st)+α(GtλV(st))(18)

TD( λ \lambda λ)反向更新式(实际计算)–引入效用迹的概念,没有很明白:
δ t = R t + 1 + γ V ( s t + 1 ) − V ( s t ) v ( s t ) = v ( s t ) + α δ t E t ( s ) \delta_t=R_{t+1}+\gamma V(s_{t+1})-V(s_t)\\ v(s_t)=v(s_t)+\alpha \delta_t E_t(s) δt=Rt+1+γV(st+1)V(st)v(st)=v(st)+αδtEt(s)

一个状态的效用: E t ( s ) = γ λ E t − 1 ( s ) + 1 ( s t = s ) E_t(s)=\gamma \lambda E_{t-1}(s)+1(s_t=s) Et(s)=γλEt1(s)+1(st=s)

5.lecture5 Model Free Control

条件:模型未知(P未知)
估计:该策略价值函数、最优策略价值函数 (基于贪心策略来进行一些改进)

不基于模型的两种策略
on policy learning 基于已有策略,更新价值,改进策略 sarsa
off policy learning 基于先验策略 μ \mu μ,更新价值,改进策略 π \pi π Q-learning

5.1 SARSA

给定s --> 依据π产生a --> 环境反馈r,状态转换s’ --> 继续依据π产生a’ --> 计算Q(s’,a’) --> 更新q(s,a)

Q ( s , a ) < − Q ( s , a ) + α ( R + γ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a)<-Q(s,a)+\alpha (R+\gamma Q(s',a')-Q(s,a)) Q(s,a)<Q(s,a)+α(R+γQ(s,a)Q(s,a))

5.2 Q-learning

给定s --> 依据 μ \mu μ产生a --> 环境反馈r,状态转换s’ --> 依据π产生a’ --> 计算Q(s’,a’) --> 更新q(s,a)

Q ( s , a ) < − Q ( s , a ) + α ( R + γ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a)<-Q(s,a)+\alpha (R+\gamma Q(s',a')-Q(s,a)) Q(s,a)<Q(s,a)+α(R+γQ(s,a)Q(s,a))

μ = ϵ − g r e e d y \mu=\epsilon - greedy μ=ϵgreedy
π = g r e e d y \pi = greedy π=greedy
本质:在状态s下,依据 μ = ϵ − g r e e d y \mu=\epsilon - greedy μ=ϵgreedy策略得到的行为a,可计算Q值,并将其朝着 s’ 状态下具有最大的Q值方向做一定比例的更行新。(因为用的时greedy 策略)

可以使得 ϵ − g r e e d y \epsilon - greedy ϵgreedy最终变成一个更优策略,但是

6. Value Function Approximation

6.1 DQN-Deep Q learning

用神经网络计算Q值,目标让 Q θ ( s , a ) Q_{\theta}(s,a) Qθ(s,a)和(sars’a’)计算出来的 r + γ max ⁡ Q ( s ′ , a ′ ) r+\gamma \max Q(s',a') r+γmaxQ(s,a)的误差平法和最小,优化参数 θ \theta θ使得Q值计算准确。

DQN 算法要点:
1.依据 ϵ − g r e e d y \epsilon-greedy ϵgreedy策略产生t时刻的行为
2.将大量的经历数据 ( s t , a t , r t + 1 s t + 1 ) (s_t,a_t,r_{t+1}s_{t+1}) (st,at,rt+1st+1)存在内存里
3.从经历数据中随机抽取mini-batch ( s , a , r , a ′ ) (s,a,r,a') (s,a,r,a)
4.维护两个神经网络:net1,net2,一个网络固定参数用来产生目标值,另一个用来评估策略。更新参数
L ( w ) = E s , s , r , s ′ [ ( Q ( s , a ∣ w ) − ( r + γ max ⁡ a ′ Q ( s ′ , a ′ ∣ w − ) ) ) ] L(w)=\mathbb{E}_{s,s,r,s'}[(Q(s,a|w)-(r+\gamma \max_{a'}Q(s',a'|w^-)))] L(w)=Es,s,r,s[(Q(s,aw)(r+γamaxQ(s,aw)))]

其中 w w w在一个mini-batch中更新, w − w^- w为上一轮更新的参数。

7.lecture7 Policy Gradient

直接将策略参数化为状态和行为的函数, 利用累计奖励最大化来训练策略参数。
重要概念:似然比
∇ θ π θ ( s , a ) = π θ ( s , a ) ∇ θ π θ ( s , a ) π θ ( s , a ) = π θ ( s , a ) ∇ θ log ⁡ π θ ( s , a ) \nabla_{\theta}\pi_{\theta}(s,a)=\pi_{\theta}(s,a)\frac{\nabla_{\theta}\pi_{\theta}(s,a)}{\pi_{\theta}(s,a)}=\pi_{\theta}(s,a) \nabla_{\theta}\log\pi_{\theta}(s,a) θπθ(s,a)=πθ(s,a)πθ(s,a)θπθ(s,a)=πθ(s,a)θlogπθ(s,a)

7.1 Actor and Critics

Actor and Critics 算法出发点:相对准确估计状态价值,来指导策略更新。

1.在A-C算法中用critic来估计行为价值:
Q w ( s , a ) ≈ Q π θ ( s , a ) Q_w(s,a)\approx Q^{\pi_{\theta}}(s,a) Qw(s,a)Qπθ(s,a)

2.在A-C算法中用actor执行策略 π θ \pi_{\theta} πθ,使得critic估计的行为价值计算的累计回报最大:(对所有的s求期望)

J = E [ Q ( s 0 , a ) ] = ∑ s ∑ a π ( a ∣ s ) Q ( s , a ) J=\mathbb{E}[Q(s_0,a)]=\sum_{s}\sum_{a}\pi(a|s)Q(s,a) J=E[Q(s0,a)]=saπ(as)Q(s,a)

策略更新梯度:
∇ π J = ∑ s ∇ θ log ⁡ π θ ( s , a ) Q w ( s , a ) \nabla_{\pi}J=\sum_{s}\nabla_{\theta}\log\pi_{\theta}(s,a)Q_w(s,a) πJ=sθlogπθ(s,a)Qw(s,a)

a2c:advantage 的概念

你可能感兴趣的:(机器学习)