1.智能体的总体组成
{
策略
值函数
模型
\begin{cases} 策略 \\ 值函数 \\ 模型 \end{cases}
⎩
⎨
⎧策略值函数模型
三者的关系:
智能体利用已知的环境模型,从初始策略出发,利用值函数对策略进行评估,不断优化策略,使策略朝着最优的方向收敛。
2.智能体构成要素1:策略 π \pi π
2.1 是什么?
智能体在特定状态下选择行为的机制
2.2 如何表示?
用策略函数表示,它是1个条件概率函数:
π
(
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)
s–状态空间中的某个特定状态
a–行为空间中的某个特定行为
s
t
s_t
st–当前时刻环境的状态
a
t
a_t
at–当前时刻采取的行为
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)–环境状态为s的条件下,选取行为a的概率
随机策略:若
∃
s
∈
S
\exists s\in S
∃s∈S,满足
0
<
π
(
a
∣
s
)
<
1
0<\pi(a|s)<1
0<π(a∣s)<1,则称该策略为随机策略,随机策略下,在状态s下选取a是按照概率进行的,交互时,可能选取行为a,也可能选取行为空间中的其他行为
确定性策略:对
∀
s
∈
S
\forall s\in S
∀s∈S,都满足
π
(
a
∣
s
)
=
{
1
a
=
a
∗
0
其他
\pi(a|s)=\begin{cases} 1 \quad a=a^*\\ 0 \quad 其他 \end{cases}
π(a∣s)={1a=a∗0其他
确定性策略函数的简化:由于确定性策略下,对每一个状态,都输出唯一确定的行为a,因此,确定性策略函数可简化为:
a
=
π
(
s
)
a=\pi(s)
a=π(s),其输入为状态,输出为该状态对应的行为。
注意:确定性策略时随机策略的特例。
3. 智能体构成要素2:值函数(V或Q)
3.1 值函数的分类
{ 状态值函数:描述给定状态下遵循特定策略所带来的价值 行为值函数:描述给定 ( 状态,动作)下,接下来继续遵循特定策略所带来的价值 \begin{cases} 状态值函数:描述给定状态下遵循特定策略所带来的价值\\ 行为值函数:描述给定(状态,动作)下,接下来继续遵循特定策略所带来的价值 \end{cases} {状态值函数:描述给定状态下遵循特定策略所带来的价值行为值函数:描述给定(状态,动作)下,接下来继续遵循特定策略所带来的价值
3.2 状态值函数 V π ( s ) V_\pi(s) Vπ(s)
3.2.1 是什么
用来综合评估当前状态s下,遵循某个策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)的价值。
评述:状态值函数是一种价值度量,其函数值是1个标量,用来定量评估策略固定不变的条件下状态的价值,或者状态不变的条件下策略的价值。
3.2.2 如何表示
状态s下遵循策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)的值函数
V
π
(
a
∣
s
)
(
s
)
V_{\pi(a|s)}(s)
Vπ(a∣s)(s)(简写为
V
π
(
s
)
V_\pi(s)
Vπ(s))为:
V
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
1
+
k
∣
S
t
=
s
]
\begin{align} V_\pi(s)&=\mathbf{E_\pi}\left[G_t|S_t=s \right]\\ &=\mathbf{E_\pi}\left[\sum_{k=0}^\infty\gamma^kR_{t+1+k}|S_t=s \right] \end{align}
Vπ(s)=Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+1+k∣St=s]
G
t
−
G_t-
Gt−从当前状态开始,到结束状态时的打折扣的累积回报
R
t
+
1
+
k
−
R_{t+1+k}-
Rt+1+k−当前时间片后的第k+1个时间片获得的即时回报
γ
−
\gamma-
γ−折扣因子,
γ
∈
(
0
,
1
]
\gamma\in (0,1]
γ∈(0,1]
3.3 行为值函数 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)
3.3.1 是什么
用来综合评估当前状态s下,执行行为a后,遵循某个策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)的价值(一些资料又把行为值函数称为动作值函数)。
评述:行为值函数是也一种价值度量,其函数值是1个标量,可以用来定量评估特定状态、特定策略下某个具体行为的价值。
3.3.2 如何表示
状态s下,采取行为a,遵循特定策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)的价值为:
Q
π
(
s
,
a
)
=
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
1
+
k
∣
S
t
=
s
,
A
t
=
a
]
\begin{align} Q_\pi (s,a)&=\mathbf{E_\pi}\left[ G_t|S_t=s,A_t=a \right]\\ &=\mathbf{E_\pi}\left[ \sum_{k=0}^\infty{\gamma^kR_{t+1+k}}|S_t=s,A_t=a \right] \end{align}
Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+1+k∣St=s,At=a]
式中,
G
t
,
γ
,
R
t
+
1
+
k
G_t,\gamma,R_{t+1+k}
Gt,γ,Rt+1+k的意义与状态值函数对应的变量意义相同。
4.智能体构成要素3:模型
4.1 是什么
智能体对环境的一个建模,模型能模拟环境与智能体的交互机制
模型有两个重要参数:
(1)状态转移概率
P
s
s
′
a
P_{ss'}^a
Pss′a:它是1个条件概率函数,告诉智能体,给定
∀
s
∈
S
,
∀
a
∈
A
\forall s\in S,\forall a\in A
∀s∈S,∀a∈A,由状态
s
s
s转移到
s
′
∈
S
s'\in S
s′∈S的概率
(2)立即回报
R
s
a
R_s^a
Rsa:它是1个函数,告诉智能体,给定
∀
s
∈
S
,
∀
a
∈
A
\forall s\in S,\forall a\in A
∀s∈S,∀a∈A,智能体能获得的立即回报(它是即时汇报的数学期望值)
4.2 如何建立模型
要解决两个关键问题:
(1)状态转移概率
P
s
s
′
a
P_{ss'}^a
Pss′a的估计
(2)立即回报
R
s
a
R_s^a
Rsa的预测
4.2.1 模型参数1– P s s ′ a P_{ss'}^a Pss′a
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.2.2 模型参数2– 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+1∣St=s,At=a]
4.3 模型已知对强化学习是必需的吗?
有当然好!但这种情况非常少见,智能体对环境模型可能只知道一部分,甚至不知道。
在这种情况下,智能体并不试图先建立完整模型,然后再基于模型找最优策略,而是通过与环境交互,在试错中加深对环境的认知,在认知逐步加深的过程中寻找最优策略。这是一种在做中学方法。
人类与环境打交道,一开始对环境知之甚少,通过在交互中学习,使策略越来越完善。