定义
这些定义均来自于《神经网络与深度学习》这本书
强化学习基本要素
- 状态s是对环境的描述,可以是离散的或连续的,其状态空间为 S \mathcal{S} S
- 动作a是对智能体行为的描述,可以是离散的或连续的,其动作空间为 A \mathcal{A} A
- 策略 π ( a ∣ s ) \pi(a|s) π(a∣s)使智能体根据环境状态s来决定下一步动作a的函数
- 状态转移概率 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)使在智能体根据当前状态s做出一个动作a之后,环境在下一个时刻转变为状态s’的概率
- 即时奖励 r ( s , a , s ′ ) r(s,a,s') r(s,a,s′)是一个标量函数,即智能体根据当前状态s做出动作a之后,环境会反馈给智能体的一个奖励,这个奖励也经常和下一个时刻的状态s’有关
确定性策略是从状态空间到动作空间的映射函数
π
:
S
→
A
\pi : \mathcal{S} \rightarrow \mathcal{A}
π:S→A。随机性策略表示在给定环境状态时,智能体选择某个动作的概率分布。
π
(
a
∣
s
)
≜
p
(
a
∣
s
)
∑
a
∈
A
π
(
a
∣
s
)
=
1
\pi(a|s) \triangleq p(a|s) \\ \sum_{a\in \mathcal{A}} \pi(a|s) = 1
π(a∣s)≜p(a∣s)a∈A∑π(a∣s)=1
马尔可夫决策过程
给定策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s),马尔可夫决策过程的一个轨迹
τ
=
s
0
,
a
0
,
s
1
,
r
1
,
a
1
,
⋯
,
s
T
−
1
,
a
T
−
1
,
s
T
,
r
T
\tau = s_0, a_0, s_1, r_1, a_1, \cdots, s_{T-1}, a_{T-1}, s_T, r_T
τ=s0,a0,s1,r1,a1,⋯,sT−1,aT−1,sT,rT
的概率为
p
(
τ
)
=
p
(
s
0
,
a
0
,
s
1
,
a
1
,
⋯
)
=
p
(
s
0
)
∏
t
=
0
T
−
1
π
(
a
t
∣
s
t
)
p
(
s
t
+
1
∣
s
t
,
a
t
)
p(\tau) = p(s_0,a_0,s_1,a_1,\cdots) \\ =p(s_0)\prod_{t=0}^{T-1}\pi(a_t|s_t)p(s_{t+1}|s_t,a_t)
p(τ)=p(s0,a0,s1,a1,⋯)=p(s0)t=0∏T−1π(at∣st)p(st+1∣st,at)
目标函数
给定策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s),智能体和环境一次交互过程的轨迹
τ
\tau
τ所收到的累积奖励为总回报
G
(
τ
)
=
∑
t
=
0
T
−
1
r
t
+
1
=
∑
t
=
0
T
−
1
r
(
s
t
,
a
t
,
s
t
+
1
)
G(\tau) = \sum_{t=0}^{T-1} r_{t+1} \\ =\sum_{t=0}^{T-1} r(s_t,a_t,s_{t+1})
G(τ)=t=0∑T−1rt+1=t=0∑T−1r(st,at,st+1)
如果环境中没有终止状态(比如终身学习的机器人),即
T
=
∞
T=\infty
T=∞,称为持续式任务,其总汇报可能是无穷大。为了解决这个问题,引入一个折扣率来降低远期回报的权重。折扣回报定义为
G
(
τ
)
=
∑
t
=
0
T
−
1
γ
t
r
t
+
1
G(\tau)=\sum_{t=0}^{T-1}\gamma^t r_{t+1}
G(τ)=t=0∑T−1γtrt+1
其中
γ
∈
[
0
,
1
]
\gamma \in [0,1]
γ∈[0,1]是折扣率。当
γ
\gamma
γ接近于0时,智能体更在意短期汇报;而当
γ
\gamma
γ接近于1时,长期回报变得更重要。
强化学习的目标是学习到一个策略
π
θ
(
a
∣
s
)
\pi_\theta(a|s)
πθ(a∣s)来最大化期望回报,即希望智能体执行一系列的动作来获得尽可能多的平均回报。强化学习的目标函数为
J
(
θ
)
=
E
τ
∼
p
θ
(
τ
)
[
G
(
τ
)
]
=
E
τ
∼
p
θ
(
τ
)
[
∑
t
=
0
T
−
1
γ
t
r
t
+
1
]
\mathcal{J}(\theta)=E_{\tau \sim p_\theta (\tau)}[G(\tau)]=E_{\tau \sim p_\theta (\tau)}[\sum_{t=0}^{T-1}\gamma^t r_{t+1}]
J(θ)=Eτ∼pθ(τ)[G(τ)]=Eτ∼pθ(τ)[t=0∑T−1γtrt+1]
其中
θ
\theta
θ为策略函数的参数。
值函数
状态值函数
V
π
(
s
)
V^\pi (s)
Vπ(s)表示从状态s开始,执行策略
π
\pi
π得到的期望总回报
V
π
(
s
)
=
E
τ
∼
p
(
τ
)
[
∑
t
=
0
T
−
1
γ
t
r
t
+
1
∣
τ
s
0
=
s
]
V^\pi(s) = E_{\tau \sim p(\tau)}[\sum_{t=0}^{T-1}\gamma^t r_{t+1}|\tau_{s_0}=s]
Vπ(s)=Eτ∼p(τ)[t=0∑T−1γtrt+1∣τs0=s]
其中
τ
s
0
\tau_{s_0}
τs0表示轨迹
τ
\tau
τ的起始状态。
初始状态为s并进行动作a,然后执行策略
π
\pi
π得到的期望总回报,称为状态-动作值函数:
Q
π
(
s
,
a
)
=
E
s
′
∼
p
(
s
′
∣
s
,
a
)
[
r
(
s
,
a
,
s
′
)
+
γ
V
π
(
s
′
)
]
Q^{\pi}(s,a)=E_{s'\sim p(s'|s,a)} [r(s,a,s') + \gamma V^\pi(s')]
Qπ(s,a)=Es′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
状态-动作值函数也经常称为Q函数。
公式
贝尔曼方程
根据马尔可夫性质,
V
π
(
s
)
V^\pi(s)
Vπ(s)可展开得到贝尔曼方程,表示当前状态的值函数可以通过下个状态的值函数来计算
V
π
(
s
)
=
E
a
∼
π
(
a
∣
s
)
E
s
′
∼
p
(
s
′
∣
s
,
a
)
[
r
(
s
,
a
,
s
′
)
+
γ
V
π
(
s
′
)
]
V^\pi(s) = E_{a\sim \pi(a|s)}E_{s'\sim p(s'|s,a)}[r(s,a,s')+\gamma V^\pi (s')]
Vπ(s)=Ea∼π(a∣s)Es′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
Q函数
状态值函数
V
π
(
s
)
V^\pi (s)
Vπ(s)是Q函数
Q
π
(
s
,
a
)
Q^\pi (s,a)
Qπ(s,a)关于动作a的期望,即
V
π
(
s
)
=
E
a
∼
π
(
a
∣
s
)
[
Q
π
(
s
,
a
)
]
V^\pi (s)=E_{a\sim \pi(a|s)}[Q^\pi (s,a)]
Vπ(s)=Ea∼π(a∣s)[Qπ(s,a)]
Q函数的贝尔曼方程如下:
Q
π
(
s
,
a
)
=
E
s
′
∼
p
(
s
′
∣
s
,
a
)
[
r
(
s
,
a
,
s
′
)
+
γ
E
a
′
∼
π
(
a
′
∣
s
′
)
Q
π
(
s
′
,
a
′
)
]
Q^\pi (s,a) = E_{s'\sim p(s'|s,a)}[r(s,a,s')+\gamma E_{a'\sim \pi (a'|s')}{Q^\pi (s',a')}]
Qπ(s,a)=Es′∼p(s′∣s,a)[r(s,a,s′)+γEa′∼π(a′∣s′)Qπ(s′,a′)]