文章目录
immediate reward: r t r_t rt
概述
state: Agent在环境中采取action后,在环境中新观测到的状态。
reward: Agent在环境中采取action后,环境反馈的奖励信号。奖励具有延时性,采取某些action,奖励值可能为0。例如下象棋,只有在棋局结束的时候才会获得奖励值(输或赢)。
强化学习讨论的是Agent样在复杂不确定的环境中,怎么获得最大的奖励。
一、agent的组成成分
policy:决策函数,被用来agent选取下一步的动作
- 输入状态S,输出所有行为概率
- 输入状态S,输出行为(概率最大的行为)
value function:进入某一状态的价值估价,在决策π下,进入这一状态的会给未来带来的收益的期望,
γ
\gamma
γ是折扣因子,状态越往后获得的奖励越打折扣(希望获得尽早获得最大的奖励,少绕弯子)
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
m
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
v_π(s)=E_π[G_t|S_t=s]=E_π[\sum_{m=0}^\infty \gamma^{k}R_{t+k+1}|S_t=s]
vπ(s)=Eπ[Gt∣St=s]=Eπ[m=0∑∞γkRt+k+1∣St=s]
q function:相对于value faunction,含有
s
t
a
t
e
s
states
states和
a
c
t
i
o
n
action
action两个变量,进入这一状态且采取当前行为会给未来带来的收益的期望
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
m
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
,
A
t
=
a
]
v_π(s)=E_π[G_t|S_t=s,A_t=a]=E_π[\sum_{m=0}^\infty \gamma^{k}R_{t+k+1}|S_t=s,A_t=a]
vπ(s)=Eπ[Gt∣St=s,At=a]=Eπ[m=0∑∞γkRt+k+1∣St=s,At=a]
Model:agent对环境的理解,Model决定了下一个状态什么样
预测下一个状态:
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]
预测到达这一状态的奖励:
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]
二、马尔科夫决策过程
1.马尔科夫链
Merkov Processes:一个状态的下一状态,只取决于当前状态
用条件概率来描述:
历史所有状态:
h
t
=
h_t=
ht={
s
1
,
s
2
.
.
.
.
.
.
,
s
t
{s_1,s_2......,s_t}
s1,s2......,st}
对于下一状态:
p
(
s
t
+
1
∣
s
t
)
=
p
(
s
t
+
1
∣
h
t
)
p(s_{t+1}|s_t)=p(s_{t+1}|h_t)
p(st+1∣st)=p(st+1∣ht)
p
(
s
t
+
1
∣
s
t
,
a
t
)
=
p
(
s
t
+
1
∣
h
t
,
a
t
)
p(s_{t+1}|s_t,a_t)=p(s_{t+1}|h_t,a_t)
p(st+1∣st,at)=p(st+1∣ht,at)
2.马尔科夫奖励过程(MRP)
Merkov Reward Processes:马尔科夫链+奖励函数
1.定义组成
- S S S 是一个有限状态集
- P P P 是一个状态转移概率矩阵, P ( S t + 1 = s ′ ∣ s t = s ) P(S_{t+1}=s^{'}|s_t=s) P(St+1=s′∣st=s)
- R R R 是一个奖励函数, R ( s t = s ) = E [ r t ∣ s t = s ] R(s_t=s)=E[r_t|s_t=s] R(st=s)=E[rt∣st=s]
- γ γ γ 是一个折扣因子 γ ∈ [ 0 , 1 ] γ∈[0,1] γ∈[0,1].
例:马尔科夫链+奖励函数
2.Return and Value function
Return 定义
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
+
γ
T
−
t
−
1
R
T
G_t=R_{t+1}+ \gamma R_{t+2}+ \gamma^2 R_{t+3}+...+ \gamma^{T-t-1} R_{T}
Gt=Rt+1+γRt+2+γ2Rt+3+...+γT−t−1RT
一个游戏的环节(episodes)步数是有限的,由
h
o
r
i
z
o
n
horizon
horizon 将
T
T
T 限定在规则里,
γ
\gamma
γ是折扣因子,状态越往后获得的奖励越打折扣(希望获得尽早获得最大的奖励,少绕弯子)
价值函数定义
进入某一状态的价值估价,进入这一状态
(
s
t
)
(s_t)
(st)的会给未来带来的
R
e
t
u
r
n
Return
Return 的期望
V
t
=
E
[
G
t
∣
s
t
=
s
]
=
E
[
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
+
γ
T
−
t
−
1
R
T
∣
s
t
=
s
]
V_t=E[G_t|s_t=s]=E[G_t=R_{t+1}+ \gamma R_{t+2}+ \gamma^2 R_{t+3}+...+ \gamma^{T-t-1} R_{T}|s_t=s]
Vt=E[Gt∣st=s]=E[Gt=Rt+1+γRt+2+γ2Rt+3+...+γT−t−1RT∣st=s]
例:
如何计算状态
s
4
s_4
s4的价值函数
1)采样很多由
s
4
s_4
s4状态出发的轨迹,计算每个轨迹的价值,求平均来计算价值。
2)Bellman equation(一种递归的思想),考虑了状态转移P进行运算。
V
(
s
)
=
R
(
s
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
)
V
(
s
′
)
V(s)=R(s)+ \gamma \sum_{s^{'}\in S} P(s^{'}|s)V(s^{'})
V(s)=R(s)+γs′∈S∑P(s′∣s)V(s′)
写成矩阵的形式
求解
V
=
R
+
γ
P
V
V=R+\gamma PV
V=R+γPV
1)可以通过矩阵求逆解出价值函数:
V
=
(
I
−
γ
P
)
−
1
R
V=(I-\gamma P)^{-1}R
V=(I−γP)−1R
2)迭代法
V
=
R
+
γ
P
V
V=R+\gamma PV
V=R+γPV
3.马尔科夫决策过程(MDP)
Merkov Decision Processes
1.定义组成
MDP是一个五元组 < S , A , P , R , γ > <S,A,P,R,γ> <S,A,P,R,γ>,其中
- S S S 是一个有限状态集
- A A A 是一个有限动作集
- P P P 是一个状态转移概率矩阵, P a ( S t + 1 = s ′ ∣ s t = s , a t = a ) P^a(S_{t+1}=s^{'}|s_t=s,a_t=a) Pa(St+1=s′∣st=s,at=a)
- R R R 是一个奖励函数, R ( s t = s , a t = a ) = E [ r t ∣ s t = s , a t = a ] R(s_t=s,a_t=a)=E[r_t|s_t=s,a_t=a] R(st=s,at=a)=E[rt∣st=s,at=a]
- γ γ γ 是一个折扣因子 γ ∈ [ 0 , 1 ] γ∈[0,1] γ∈[0,1].
Comparison of MP/MRP and MDP
2.Policy
1.定义了agenr在某一个状态会采取什么样的行为。可能行为的概率,例如:百分之20的概率往左走,百分之80的概率往右走,也可能是直接输出行为。
2.Policy:
π
(
a
∣
s
)
=
P
(
a
t
=
a
∣
s
t
=
s
)
π(a|s)=P(a_t=a|s_t=s)
π(a∣s)=P(at=a∣st=s)
3.Policy概率函数默认是静态的,不同的时间点都是对Policy采样
3.马尔科夫决策过程的价值函数
1.价值函数,这里理解的是对Policy和基于action状态转移进行采样,计算reward,得到一个期望
V
π
(
s
)
=
E
π
[
G
t
∣
s
t
=
s
]
V^π(s)=E_π[G_t|s_t=s]
Vπ(s)=Eπ[Gt∣st=s]
2.q函数,在某一状态采取某一行为得到的价值的期望
q
π
(
s
,
a
)
=
E
π
[
G
t
∣
s
t
=
s
,
A
t
=
a
]
q^π(s,a)=E_π[G_t|s_t=s,A_t=a]
qπ(s,a)=Eπ[Gt∣st=s,At=a]
3.
V
π
(
s
)
V^π(s)
Vπ(s)与
q
π
(
s
,
a
)
q^π(s,a)
qπ(s,a)的关系
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
q
π
(
s
,
a
)
V^π(s)= \sum_{a\in A}π(a|s)q^{π}(s,a)
Vπ(s)=a∈A∑π(a∣s)qπ(s,a)
3.Bellman Expectation Equation
任何策略
π
π
π和任何状态s,s和任何状态s,s的价值与其可能的后继状态的价值存在以下关系
(以下关于奖励的参数,
R
t
+
1
R_{t+1}
Rt+1是集合,
R
(
s
,
a
)
R(s,a)
R(s,a)是期望,r是集合
R
t
+
1
R_{t+1}
Rt+1中的值,进入状态
s
′
s^{'}
s′,得到r的概率是
p
(
s
′
,
r
∣
s
,
a
)
p(s^{'},r|s,a)
p(s′,r∣s,a))
v π ( s ) = E π [ G t ∣ S t = s ] v_π(s)=E_π[G_t|S_t=s] vπ(s)=Eπ[Gt∣St=s]
= E π [ R t + 1 + γ G t ∣ S t = s ] =E_π[R_{t+1}+\gamma G_t|S_t=s] =Eπ[Rt+1+γGt∣St=s]
= ∑ a π ( a ∣ s ) ∑ s ′ ∑ r p ( s ′ , r ∣ s , a ) [ r + γ E π [ G t + 1 ∣ S t + 1 = s ′ ] ] = \sum_{a} π(a|s) \sum_{s^{'}} \sum_{r} p(s^{'},r|s,a)[r+\gamma E_π[G_{t+1}|S_{t+1}=s^{'}]] =∑aπ(a∣s)∑s′∑rp(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]
= ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] = \sum_{a} π(a|s) \sum_{s^{'},r} p(s^{'},r|s,a)[r+\gamma v_π(s^{'})] =∑aπ(a∣s)∑s′,rp(s′,r∣s,a)[r+γvπ(s′)]
将
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
q
π
(
s
,
a
)
V^π(s)= \sum_{a\in A}π(a|s)q^{π}(s,a)
Vπ(s)=a∈A∑π(a∣s)qπ(s,a)
q
π
(
s
,
a
)
=
R
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
v
π
(
s
′
)
q^π(s,a)= R(s,a)+{\gamma}\sum_{s^{'}\in S} P(s^{'}|s,a)v^{π}(s^{'})
qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)vπ(s′)
相互联立得
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
(
R
(
s
,
a
)
+
γ
∑
a
∈
A
P
(
s
′
∣
s
,
a
)
v
π
(
s
′
)
)
V^π(s)= \sum_{a\in A}π(a|s)(R(s,a)+\gamma \sum_{a\in A}P(s^{'}|s,a)v^{π}(s^{'}))
Vπ(s)=a∈A∑π(a∣s)(R(s,a)+γa∈A∑P(s′∣s,a)vπ(s′))
图像表示:
q
π
(
s
,
a
)
=
R
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
∑
a
∈
A
π
(
a
′
∣
s
′
)
q
π
(
s
′
,
a
′
)
q^π(s,a)= R(s,a)+{\gamma}\sum_{s^{'}\in S} P(s^{'}|s,a)\sum_{a\in A}π(a^{'}|s^{'})q^{π}(s^{'},a^{'})
qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)a∈A∑π(a′∣s′)qπ(s′,a′)
建立递归关系