chapter 1~3
绪论
从大类来看的核心算法;大多数算法都只是在核心算法的基础上做了一些较小的改进
试错学习:
尝试——>错误——>结果——>学习
观察学习——模仿学习/离线强化学习
问题–建模成序列决策或者待遇鲜明的试错学习特征–强化学习算法求解
传统强化学习算法:蕴含的思想和技巧
具体方向
1.多智能体强化学习
非静态性问题:环境的状态不仅由智能体的动作决定,还受到其他智能体的动作的影响;
信号问题:智能体之间需要进行通信以合作或者竞争,如何高效的通信并从信号中学习;
信誉分配问题:多智能体合作任务中,确定每个智能体对于整体目标的贡献。
2.从数据中学习
有限状态马尔可夫决策过程
序列决策问题的本质:在与环境交互的过程在学习到一个目标的过程
如何用数学的形式来表达序列决策过程——马尔可夫决策过程
<
S
\mathcal{S}
S,
A
\mathcal{A}
A,
P
\mathcal{P}
P,
R
\mathcal{R}
R,
γ
\gamma
γ>
S
\mathcal{S}
S:
S
=
{
s
i
}
i
的下标范围
i
的上标范围
\mathcal{S}=\{s_i\}_{i的下标范围}^{i的上标范围}
S={si}i的下标范围i的上标范围状态空间,有限状态集合。其中一个元素/状态
s
i
(
s
i
∈
S
)
s_i(s_i\in \mathcal{S})
si(si∈S)是对当前时刻环境的概括,智能体相对于环境的状态是做决策的依据;
A
\mathcal{A}
A:动作空间,在每一个状态下实际上有的一系列可采取的行动的集合,和状态是依赖的,是
s
i
s_i
si的函数,即每个状态下都要自己的动作空,可表示为
A
(
s
i
)
=
{
a
i
}
i
=
1
,
.
.
.
.
\mathcal{A}(s_i)=\{a_i\}_{i=1,....}
A(si)={ai}i=1,....
P
\mathcal{P}
P:状态转移概率,定义了智能体与环境的交互行为,智能体采取一个动作,从一个状态转移到另外一个状态的这一过程被称为状态转移,使用状态转移概率作为更一般的描述
确定性状态转移表示:以概率1转移
表格形式 | a a a |
---|---|
s s s | s ′ s' s′ |
状态转移概率: p ( s i ∣ s s − 1 , a i − 1 ) p(s_i|s_{s-1},a_{i-1}) p(si∣ss−1,ai−1)
环境:游戏程序,注意,强化学习中的环境不是严格意义上静止的,它也可以是其它智能体,有时候智能体与环境的角色是能相互对调的,只要能够各自建模成马尔可夫决策过程即可,状态转移矩阵是环境的一部分,和智能体是没有什么关系的,智能体会跟你讲状态转移矩阵来做决策。
R
(
s
,
a
)
\mathcal{R}(s,a)
R(s,a):奖励集合,采取一个动作后得到一个实数,正数代表鼓励这一动作;人机交互的一种手段;设计reward来实现目标,引导智能体
确定性奖励转移【矩阵表示】–只能表示deterministic的情况
tablur | a a a |
---|---|
s s s | r i j r_{ij} rij |
当得到的reward的大小是不确定时–条件概率
p
(
r
=
x
∣
s
i
,
a
i
)
=
p
p(r=x|s_i,a_i)=p
p(r=x∣si,ai)=p来表示。
奖励依赖于当前的状态
s
s
s和动作
a
a
a,而不是依赖于下一个状态
s
′
s'
s′
注意:奖励时当前状态,采取动作,下一个状态的函数;即
R
e
w
a
r
d
=
r
(
s
,
a
,
s
′
)
Reward=r(s,a,s')
Reward=r(s,a,s′),但下一个状态时当前状态的某一个动作所决定的,相当于时一种加权求和,可以转化为
R
e
w
a
r
d
=
r
(
s
,
a
)
Reward=r(s,a)
Reward=r(s,a)
p
(
r
∣
s
,
a
)
=
∑
s
′
∈
S
p
(
r
∣
s
,
a
,
s
′
)
p
(
s
′
∣
s
,
a
)
p(r|s,a)=\sum_{s'\in \mathcal{S}}p(r|s,a,s')p(s'|s,a)
p(r∣s,a)=s′∈S∑p(r∣s,a,s′)p(s′∣s,a)
π
(
a
∣
s
)
=
p
(
A
=
a
∣
S
=
s
)
,
S
×
A
→
[
0
,
1
]
;
\pi(a|s)=p(A=a|S=s),S\times A\rightarrow[0,1];
π(a∣s)=p(A=a∣S=s),S×A→[0,1];策略,指定任何一个状态下任何一个动作的概率,用矩阵表示;
tablur | a a a |
---|---|
s s s | p i j p_{ij} pij |
轨迹:
s
0
,
a
0
,
r
0
,
s
1
,
a
1
,
r
1
,
.
.
.
.
s_0,a_0,r_0,s_1,a_1,r_1,....
s0,a0,r0,s1,a1,r1,....,状态-动作-奖励的链。
回报:针对一条轨迹定义的,沿着这条链/轨迹的是所有reward之和;不同的策略会得到不同的轨迹,能够用来评估策略,在数值上定义哪个策略好,哪个策略不好,才能改进策略。
γ
\gamma
γ:折扣因子,
γ
∈
[
0
,
1
)
\gamma\in[0,1)
γ∈[0,1),控制智能体所学到的策略,
作用:
1.避免return发散(在无线长的轨迹下)
2.平衡更远未来所得到的rewrd和更近未来所得到的reward
γ
→
0
,
r
e
t
u
r
n
依赖于最开始得到的
r
e
w
a
r
d
\gamma\rightarrow0,return依赖于最开始得到的reward
γ→0,return依赖于最开始得到的reward
γ
→
1
,
更远未来的
r
e
w
a
r
d
衰减比较慢
\gamma\rightarrow1,更远未来的reward衰减比较慢
γ→1,更远未来的reward衰减比较慢
减小
γ
\gamma
γ,会让它变得更近视,更加注重最近的一些reward;
增大
γ
\gamma
γ,它会变得更加远视,它会更加注重长远的reward。
episode/trial:回合,会伴随一个terminal states【终止状态】,有限长的轨迹。
episodic task转换为continuing task,将二者统一起来。
马尔可夫性质——无记忆性/和历史无关
p
(
s
t
+
1
∣
s
t
,
a
t
,
.
.
.
s
0
,
a
0
)
=
p
(
s
t
+
1
∣
s
t
,
a
t
)
p
(
r
t
+
1
∣
s
t
,
a
t
,
.
.
.
s
0
,
a
0
)
=
p
(
r
t
+
1
∣
s
t
,
a
t
)
p(s_{t+1}|s_t,a_t,...s_0,a_0)=p(s_{t+1}|s_t,a_t)\\p(r_{t+1}|s_t,a_t,...s_0,a_0)=p(r_{t+1}|s_t,a_t)
p(st+1∣st,at,...s0,a0)=p(st+1∣st,at)p(rt+1∣st,at,...s0,a0)=p(rt+1∣st,at)
动态规划
动态规划具体是指在某些复杂问题中,将问题转化为若干个子问题,并在求解每个子问题的过程中保存已经求解的结果,以便后续使用;eg:值迭代,策略迭代,Q-learning。
动态规划问题的三个性质:
1.最优性原理
问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构
2.无后效性
某阶段状态一旦确定,就不受这个状态以后的决策的影响,某状态以后的过程不会影响以前的状态,只与当前状态有关
3.有重叠子问题
轨迹示例:大写表示随机变量
S
t
⟶
A
t
R
t
+
1
,
S
t
+
1
⟶
A
t
+
1
R
t
+
2
,
S
t
+
2
⟶
S
t
+
3
R
t
+
3
,
.
.
.
.
S_t\stackrel{A_t}{\longrightarrow}R_{t+1},S_{t+1}\stackrel{A_{t+1}}{\longrightarrow}R_{t+2},S_{t+2}\stackrel{S_{t+3}}{\longrightarrow}R_{t+3},....
St⟶AtRt+1,St+1⟶At+1Rt+2,St+2⟶St+3Rt+3,....
所涉及的随机变量的概率分布
{
策略:
π
(
A
t
=
a
t
∣
S
t
=
s
t
)
S
t
→
A
t
reward probility:
p
(
R
t
+
1
=
r
t
+
1
∣
S
t
=
s
t
,
A
t
=
a
t
)
S
t
×
A
t
→
R
t
+
1
state transition probility:
p
(
S
t
+
1
=
s
t
+
1
∣
S
t
=
s
t
,
A
t
=
a
t
)
S
t
×
A
t
→
S
t
+
1
所涉及的随机变量的概率分布\begin{cases} \text{策略:}\pi(A_t=a_t|S_t=s_t)&S_t\rightarrow A_t\thinspace \\ \text{reward probility:}\thinspace p(R_{t+1}=r_{t+1}|S_t=s_t,A_t=a_t) & S_t\times A_t\rightarrow R_{t+1}\\ \text{state transition probility:}p(S_{t+1}=s_{t+1}|S_t=s_t,A_t=a_t)& S_t\times A_t\rightarrow S_{t+1} \end{cases}
所涉及的随机变量的概率分布⎩
⎨
⎧策略:π(At=at∣St=st)reward probility:p(Rt+1=rt+1∣St=st,At=at)state transition probility:p(St+1=st+1∣St=st,At=at)St→AtSt×At→Rt+1St×At→St+1
一条轨迹的折扣回报:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
=
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
.
.
.
)
=
R
t
+
1
+
γ
G
t
+
1
G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+...\\=R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+...)\\=R_{t+1}+\gamma G_{t+1}
Gt=Rt+1+γRt+2+γ2Rt+3+...=Rt+1+γ(Rt+2+γRt+3+...)=Rt+1+γGt+1
G
t
G_t
Gt也是一个随机变量,从第
t
t
t时刻的状态
s
t
s_t
st开始,直到终止状态,所有奖励的折扣之和。
状态价值函数——随机变量
G
t
G_t
Gt的期望,本质是从一个状态出发,按照一个策略所得到的多个轨迹的平均return:
v
π
(
s
)
=
E
(
G
t
∣
S
t
=
s
)
=
E
(
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
∣
S
t
=
s
)
=
E
(
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
t
)
=
E
(
R
t
+
1
∣
S
t
=
s
)
+
γ
E
(
G
t
+
1
∣
S
t
=
s
t
)
v_{\pi}(s)=E(G_t|S_t=s)\\=E(R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+...|S_t=s)\\=E(R_{t+1}+\gamma G_{t+1}|S_t=s_t)\\ =E(R_{t+1}|S_t=s)+\gamma E(G_{t+1}|S_t=s_t)
vπ(s)=E(Gt∣St=s)=E(Rt+1+γRt+2+γ2Rt+3+...∣St=s)=E(Rt+1+γGt+1∣St=st)=E(Rt+1∣St=s)+γE(Gt+1∣St=st)
故而状态价值函数分为两个部分,第一部分本质是立即奖励的均值;
第二部分的本质是,从下一时刻对应的状态出发的折扣回报的均值。
状态的价值越高,说明对应的策略越好,状态的价值越低,说明沿着这个策略得到的奖励越少,说明这个策略越不好。
第一部分:
E
(
R
t
+
1
∣
S
t
=
s
)
=
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
E
(
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
)
=
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
E
(
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
)
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
∑
r
r
p
(
R
t
+
1
=
r
∣
S
t
=
s
,
A
t
=
a
)
E(R_{t+1}|S_t=s)=\sum_{a\in \mathcal{A}(s)}\pi(a|s)E(R_{t+1}|S_t=s,A_t=a)\\ =\sum_{a\in \mathcal{A}(s)}\pi(a|s)E(R_{t+1}|S_t=s,A_t=a)\\\sum_{a\in \mathcal{A}(s)}\pi(a|s)\sum_{r}rp(R_{t+1}=r|S_t=s,A_t=a)
E(Rt+1∣St=s)=a∈A(s)∑π(a∣s)E(Rt+1∣St=s,At=a)=a∈A(s)∑π(a∣s)E(Rt+1∣St=s,At=a)a∈A(s)∑π(a∣s)r∑rp(Rt+1=r∣St=s,At=a)
第二部分:
E
(
G
t
+
1
∣
S
t
=
s
t
)
=
∑
s
′
∈
S
E
(
G
t
+
1
∣
S
t
=
s
t
,
S
t
+
1
=
s
′
)
p
(
S
t
+
1
=
s
′
∣
S
t
=
s
)
=
∑
s
′
∈
S
E
(
G
t
+
1
∣
S
t
=
s
t
,
S
t
+
1
=
s
′
)
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
p
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
=
马尔可夫性质
∑
s
′
∈
S
E
(
G
t
+
1
∣
S
t
+
1
=
s
′
)
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
p
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
=
∑
s
′
∈
S
v
π
(
s
′
)
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
p
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
E(G_{t+1}|S_t=s_t)=\sum_{s'\in S}E(G_{t+1}|S_t=s_t,S_{t+1}=s')p(S_{t+1}=s'|S_t=s)\\ =\sum_{s'\in S}E(G_{t+1}|S_t=s_t,S_{t+1}=s')\sum_{a\in \mathcal{A}(s)}\pi(a|s)p(S_{t+1}=s'|S_t=s,A_t=a)\\ \stackrel{马尔可夫性质}=\sum_{s'\in S}E(G_{t+1}|S_{t+1}=s')\sum_{a\in \mathcal{A}(s)}\pi(a|s)p(S_{t+1}=s'|S_t=s,A_t=a)\\=\sum_{s'\in S}v_{\pi}(s')\sum_{a\in \mathcal{A}(s)}\pi(a|s)p(S_{t+1}=s'|S_t=s,A_t=a)
E(Gt+1∣St=st)=s′∈S∑E(Gt+1∣St=st,St+1=s′)p(St+1=s′∣St=s)=s′∈S∑E(Gt+1∣St=st,St+1=s′)a∈A(s)∑π(a∣s)p(St+1=s′∣St=s,At=a)=马尔可夫性质s′∈S∑E(Gt+1∣St+1=s′)a∈A(s)∑π(a∣s)p(St+1=s′∣St=s,At=a)=s′∈S∑vπ(s′)a∈A(s)∑π(a∣s)p(St+1=s′∣St=s,At=a)
综上,原式可写为:
v
π
(
s
)
=
E
(
G
t
∣
S
t
=
s
)
=
∑
a
∈
A
(
s
)
π
(
a
∣
s
)
(
∑
r
r
p
(
R
t
+
1
=
r
∣
S
t
=
s
,
A
t
=
a
)
+
γ
∑
s
′
∈
S
v
π
(
s
′
)
p
(
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
)
)
v_{\pi}(s)=E(G_t|S_t=s)=\sum_{a\in \mathcal{A}(s)}\pi(a|s)(\sum_{r}rp(R_{t+1}=r|S_t=s,A_t=a)+\gamma \sum_{s'\in S}v_{\pi}(s')p(S_{t+1}=s'|S_t=s,A_t=a))
vπ(s)=E(Gt∣St=s)=a∈A(s)∑π(a∣s)(r∑rp(Rt+1=r∣St=s,At=a)+γs′∈S∑vπ(s′)p(St+1=s′∣St=s,At=a))