强化学习的核心是用迭代法求解马尔可夫决策过程(MDP)的贝尔曼期望方程(Bellman Optimality Equation):
V
(
s
)
=
R
s
+
γ
∑
s
′
∈
S
P
s
s
′
V
(
s
′
)
V(s) = R_s + \gamma \sum\limits_{s' \in S}P_{ss'}V(s')
V(s)=Rs+γs′∈S∑Pss′V(s′)
一般来说,可从两个角度证明迭代法求解贝尔曼期望方程的正确性(本文依赖于<1>):
- 1_泛函分析:压缩映射与巴拿赫不动点定理
- 2_数值分析:不动点迭代法及其收敛定理
参考资料:
- 如何证明迭代式策略评价、值迭代和策略迭代的收敛性? https://zhuanlan.zhihu.com/p/39279611
- 强化学习中无处不在的贝尔曼最优性方程,背后的数学原理知多少? https://blog.csdn.net/FnqTyr45/article/details/104889982
- 不动点迭代法及其收敛原理 https://wenku.baidu.com/view/48350321dd36a32d7375818e.html
- 压缩映射与巴拿赫不动点定理https://zhuanlan.zhihu.com/p/336255678
1 度量空间(Metric Space)
1.1 度量空间的概念
度量空间 M : < X , d > M :<X, d> M:<X,d> ,其中X是集合,d 是某种度量函数。度量空间是指在一个集合上的度量,度量则是定义了集合中任何两个元素之间的距离。例如,欧几里德空间是度量空间,其距离定义为欧几里德距离。一个度量 d d d必须满足以下四条性质:
-
单位性: d ( x , x ) = 0 d(x,x) = 0 d(x,x)=0
-
非负性: d ( x , y ) > 0 d(x, y) >0 d(x,y)>0
-
对称性: d ( x , y ) = d ( y , x ) d(x,y) = d(y,x) d(x,y)=d(y,x)
-
三角不等式: d ( x , z ) ≤ d ( x , y ) + d ( y , z ) d(x,z) ≤ d(x,y)+d(y,z) d(x,z)≤d(x,y)+d(y,z)
常见的度量函数 d d d有:
(1)范数metric:
d
(
x
,
y
)
=
∣
∣
x
−
y
∣
∣
n
,
n
≥
1
d(x,y)=||x-y||_n,\quad n \geq 1
d(x,y)=∣∣x−y∣∣n,n≥1, 其中
∣
∣
c
∣
∣
n
||c||_n
∣∣c∣∣n 表示向量的
n
n
n范数,
∣
∣
c
∣
∣
n
=
(
∑
i
∣
c
i
∣
n
)
1
n
||c||_n = (\sum\limits_{i} |c_i|^n)^{\frac{1}{n}}
∣∣c∣∣n=(i∑∣ci∣n)n1
- n = 1 n=1 n=1时,为绝对值距离,又叫曼哈顿距离,即 d ( x , y ) = ∑ i ∣ x i − y i ∣ d(x,y)=\sum\limits_{i}|x_i-y_i| d(x,y)=i∑∣xi−yi∣
- n = 2 n=2 n=2时,为欧式距离
- n = ∞ n=\infty n=∞时,为最大值距离,又叫切比雪夫距离,即 d ( x , y ) = m a x i ∣ x i − y i ∣ d(x,y)= \underset{i}{max}|x_i-y_i| d(x,y)=imax∣xi−yi∣
(2)离散metric:
d
(
x
,
y
)
=
{
0
i
f
x
=
y
1
o
t
h
e
r
w
i
s
e
d(x,y) = \begin{cases} 0\ & if \ x=y \\ 1\ & otherwise \\ \end{cases}
d(x,y)={0 1 if x=yotherwise
1.2 完备度量空间
如果由集合 X X X中元素组成的每个可能的柯西序列都收敛到集合 X X X,则度量空间 < X , d > <X, d> <X,d> 是完备的。也就是说,由集合中的每个柯西序列的极限所对应元素也属于该集合, 这也是为什么它被称为“完备”的原因。
**定义 :**一个度量空间(metric space) < X , d > <X,d> <X,d> 是完备的(或者说是柯西的<Cauchy的>),当且仅当所有在 X X X中的Cauchy序列,都会收敛到 X X X中。
即,在完备的度量空间中,对于任意在 X X X中的点序列 x 1 , x 2 , x 3 , x 4 , ⋯ ∈ X x_1, x_2, x_3, x_4,\dots \in X x1,x2,x3,x4,⋯∈X ,如果序列是Cauchy的,那么该序列收敛于 X X X , 即 l i m n → ∞ a n ∈ X \underset{n\rightarrow \infty}{lim}a_n \in X n→∞liman∈X。
换句话说,完备的metric space是没有缺失的点的。有一种直观的形容方法就是完备空间“没有孔”(内部不缺点),“不缺皮”(边界不缺点)。比如,对于有理数集合
R
R
R , 用绝对值
∣
.
∣
|.|
∣.∣函数衡量两个有理数的距离,这是一个metric space,那么它是不是完备的呢?对于Cauchy序列:
x
n
+
1
=
{
1
,
n
=
1
x
n
2
+
1
x
n
n
>
1
x_{n+1} = \begin{cases} 1, & n=1 \\ \frac{x_n}{2}+\frac{1}{x_n} & n>1 \\ \end{cases}
xn+1={1,2xn+xn1n=1n>1
这个序列其实是:
1
,
3
/
2
,
17
/
12
…
{1, 3/2, 17/12 … }
1,3/2,17/12…。解方程
x
=
x
2
+
1
x
x = \frac{x}{2}+\frac{1}{x}
x=2x+x1, 得到
x
=
2
x = \sqrt{2}
x=2。可以看出这个序列中的值都是有理数,而且是Cauchy序列,收敛于
x
n
=
2
x_n = \sqrt{2}
xn=2 。因此这样一个有理数序列收敛的点不在集合
R
R
R中,因此我们认为有理数集合是有缺失的点的,不是一个完备的metric space。
完备的metric space这个概念非常的重要,很多时候我们很难证明一个序列是收敛的,但是比较容易证明它是Cauchy的,只要确认该Cauchy序列在完备的metric space中,即可直接得到收敛性。
2 压缩映射
2.1 映射:
两个集合之间的一种对应关系 T : X → Y T:X \rightarrow Y T:X→Y,对 X X X中的每个元素 x x x, Y Y Y中都只有一个元素 y y y与之对应。分析:
- 宏观上,映射是集合到集合的关系
- 微观上,是俩个元素之间的对应的关系
2.2 压缩映射:
设
<
X
,
d
>
<X,d>
<X,d>是距离空间,映射
T
:
X
→
X
T:X \rightarrow X
T:X→X。若存在一个常数
α
∈
[
1
,
0
)
\alpha \in [1,0)
α∈[1,0),使得对任意
x
,
y
∈
X
x,y \in X
x,y∈X,都有:
d
(
T
(
x
)
,
T
(
y
)
)
≤
α
⋅
d
(
x
,
y
)
d(T(x),T(y)) \leq \alpha \cdot d(x,y)
d(T(x),T(y))≤α⋅d(x,y)
称
T
T
T为
X
X
X上的压缩映射。例如:
T
=
f
(
x
)
=
1
2
x
T = f(x) = \frac {1}{2} x
T=f(x)=21x。
- 分析:经过映射后,两点间距离更小。
- 问题:距离怎么定义?任取一种距离还是对于任何距离都成立?
- 答: ( X , d ) (X,d) (X,d)是完备的距离空间,则只要有一种 d d d 度量函数即可。
2.3 举例解释
总结:集合,度量,压缩映射三者的关系:
例题:设
X
=
[
1
,
+
∞
)
⊂
R
1
X = [1,+\infty) \subset R^1
X=[1,+∞)⊂R1,
T
:
X
→
X
T:X \rightarrow X
T:X→X,定义:
T
(
x
)
=
x
2
+
1
x
T(x) = \frac{x}{2} + \frac {1}{x}
T(x)=2x+x1。求证
T
T
T是压缩映射。
思路:选取一种合适的度量函数 d d d,目标是根据定义证明: d ( T ( x ) , T ( y ) ) ≤ α ⋅ d ( x , y ) , α ∈ [ 0 , 1 ) d(T(x),T(y)) \leq \alpha \cdot d(x,y), \alpha \in [0,1) d(T(x),T(y))≤α⋅d(x,y),α∈[0,1)
证明:对于任意
x
,
y
∈
X
x,y \in X
x,y∈X,当
d
d
d为绝对值距离时:
d
(
T
(
x
)
,
T
(
y
)
)
=
∣
x
2
+
1
x
−
(
y
2
+
1
y
)
∣
=
∣
1
2
−
1
x
y
∣
⋅
∣
x
−
y
∣
d(T(x),T(y)) = |\frac{x}{2} + \frac {1}{x} - (\frac{y}{2} + \frac {1}{y})|=|\frac{1}{2}-\frac{1}{xy}|\cdot |x-y|
d(T(x),T(y))=∣2x+x1−(2y+y1)∣=∣21−xy1∣⋅∣x−y∣
由于
x
,
y
∈
X
=
[
1
,
+
∞
)
⇒
0
<
1
x
y
≤
1
x,y \in X = [1,+\infty) \Rightarrow 0<\frac{1}{xy}\leq 1
x,y∈X=[1,+∞)⇒0<xy1≤1,
所以
∣
1
2
−
1
x
y
∣
≤
1
2
<
2
3
|\frac{1}{2}-\frac{1}{xy}|\leq \frac{1}{2}< \frac{2}{3}
∣21−xy1∣≤21<32。从而:
d
(
T
(
x
)
,
T
(
y
)
)
<
2
3
d
(
x
,
y
)
d(T(x),T(y)) < \frac {2}{3} d(x,y)
d(T(x),T(y))<32d(x,y)
3 不动点定理
3.1 不动点的概念
已知函数 f ( x ) f(x) f(x),假设存在 x x x,使得 f ( x ) = x f(x)=x f(x)=x,那么点 ( x , f ( x ) ) (x,f(x)) (x,f(x))就是函数 f ( x ) f(x) f(x)的一个不动点。
例如:已知函数 f ( x ) = x 2 − 2 x + 2 f(x)=x^2-2x+2 f(x)=x2−2x+2,令 f ( x ) = x f(x)=x f(x)=x,则变形为 x 2 − 3 x + 2 = 0 x^2-3x+2=0 x2−3x+2=0,则 x = 1 , 2 x=1,2 x=1,2。所以点 ( 1 , 1 ) , ( 2 , 2 ) (1,1),(2,2) (1,1),(2,2)就是函数 f ( x ) f(x) f(x)的不动点。
3.2 不动点定理
设 < X , d > <X,d> <X,d>是完备的距离空间, T : X → X T:X \rightarrow X T:X→X是压缩映射,则 T T T有唯一的不动点。
证明思路:由
T
T
T 构造一个数列
{
x
n
}
\{x_n\}
{xn}
⟶
\longrightarrow
⟶ 证明
{
x
n
}
\{x_n\}
{xn}是柯西数列
⟶
\longrightarrow
⟶ 存在极限点
x
∗
x^{*}
x∗且
x
∗
∈
X
x^{*}\in X
x∗∈X
⟶
\longrightarrow
⟶ $ T(x)=x^{*}$
⟶
\longrightarrow
⟶ 证明
x
∗
x^{*}
x∗唯一。
证明:
第一步:任取
x
0
∈
X
x_0 \in X
x0∈X,构造数列:
x
1
=
T
(
x
0
)
,
x
2
=
T
(
x
1
)
=
T
2
(
x
0
)
,
.
.
.
,
x
m
=
T
(
x
m
−
1
)
=
T
m
(
x
0
)
,
.
.
.
,
x
n
=
T
(
x
n
−
1
)
=
T
n
(
x
0
)
x_1 = T(x_0),x_2 = T(x_1) = T^2(x_0),...,x_m = T(x_{m-1})= T^m(x_0),...,x_n = T(x_{n-1}) = T^n(x_0)
x1=T(x0),x2=T(x1)=T2(x0),...,xm=T(xm−1)=Tm(x0),...,xn=T(xn−1)=Tn(x0)。则:
d
(
x
m
+
1
,
x
m
)
=
d
(
T
(
x
m
)
,
T
(
x
m
−
1
)
)
≤
α
d
(
x
m
,
x
m
−
1
)
d
(
x
m
,
x
m
−
1
)
=
d
(
T
(
x
m
−
1
)
,
T
(
x
m
−
2
)
)
≤
α
d
(
x
m
−
1
,
x
m
−
2
)
⋯
⋯
d
(
x
2
,
x
1
)
=
d
(
T
(
x
1
)
,
T
(
x
0
)
)
≤
α
d
(
x
1
,
x
0
)
⟹
d
(
x
m
+
1
,
x
m
)
≤
α
m
d
(
x
1
,
x
0
)
(1)
\begin{aligned} &d(x_{m+1},x_m) = d(T(x_m),T(x_{m-1})) \leq \alpha d(x_m,x_{m-1}) \\ &d(x_{m},x_{m-1}) = d(T(x_{m-1}),T(x_{m-2})) \leq \alpha d(x_{m-1},x_{m-2}) \\ &\cdots \ \cdots \\ &d(x_2,x_1) = d(T(x_1),T(x_0)) \leq \alpha d(x_1,x_0) \\ &\Longrightarrow d(x_{m+1},x_m) \leq \alpha^m d(x_1,x_0) \tag{1} \end{aligned}
d(xm+1,xm)=d(T(xm),T(xm−1))≤αd(xm,xm−1)d(xm,xm−1)=d(T(xm−1),T(xm−2))≤αd(xm−1,xm−2)⋯ ⋯d(x2,x1)=d(T(x1),T(x0))≤αd(x1,x0)⟹d(xm+1,xm)≤αmd(x1,x0)(1)
对于任意
m
<
n
m<n
m<n,重复应用三角不等式,
d ( x m , x n ) ≤ d ( x m , x m + 1 ) + d ( x m + 1 , x n ) ≤ d ( x m , x m + 1 ) + d ( x m + 1 , x m + 2 ) + d ( x m + 2 , x n ) ≤ d ( x m , x m + 1 ) + . . . + d ( x n − 1 , x n ) d(x_m,x_n) \leq d(x_m,x_{m+1}) + d(x_{m+1},x_n)\leq d(x_m,x_{m+1}) + d(x_{m+1},x_{m+2}) + d(x_{m+2},x_{n})\leq d(x_m,x_{m+1}) +...+ d(x_{n-1},x_{n}) d(xm,xn)≤d(xm,xm+1)+d(xm+1,xn)≤d(xm,xm+1)+d(xm+1,xm+2)+d(xm+2,xn)≤d(xm,xm+1)+...+d(xn−1,xn)
代入 ( 1 ) (1) (1)式,得:
d
(
x
m
,
x
n
)
≤
(
α
m
+
α
m
+
1
+
.
.
.
+
α
n
−
1
)
d
(
x
1
,
x
0
)
=
α
m
1
−
α
n
−
m
1
−
α
d
(
x
1
,
x
0
)
⟶
m
→
+
∞
0
d(x_m,x_n) \leq (\alpha^m + \alpha^{m+1}+ ...+\alpha^{n-1})d(x_1,x_0)=\alpha^m \frac{1-\alpha^{n-m}}{1-\alpha}d(x_1,x_0)\stackrel{m \rightarrow + \infty}{\longrightarrow}0
d(xm,xn)≤(αm+αm+1+...+αn−1)d(x1,x0)=αm1−α1−αn−md(x1,x0)⟶m→+∞0
即
{
x
n
}
\{x_n\}
{xn}是柯西数列。
而
<
X
,
d
>
<X,d>
<X,d>是完备的,所以
∃
x
∗
∈
X
\exists x^{*} \in X
∃x∗∈X,使得
l
i
m
n
→
∞
x
n
=
x
∗
(
2
)
\underset {n \rightarrow \infty}{lim} x_n = x^{*} \qquad (2)
n→∞limxn=x∗(2)
第二步:由(2)式可得:
l
i
m
n
→
∞
x
n
−
1
=
x
∗
\underset {n \rightarrow \infty}{lim} x_{n-1} = x^{*}
n→∞limxn−1=x∗
又由于 T ( x ) T(x) T(x)是连续函数,且 x n = T ( x n − 1 ) x_n = T(x_{n-1}) xn=T(xn−1),两边取极限:
左 边 : l i m n → ∞ x n = x ∗ 左边:\underset {n \rightarrow \infty}{lim} x_{n} = x^{*} 左边:n→∞limxn=x∗
右 边 : l i m n → ∞ T ( x n − 1 ) = T ( l i m n → ∞ x n − 1 ) = T ( x ∗ ) 右边:\underset {n \rightarrow \infty}{lim} T(x_{n-1}) = T(\underset {n \rightarrow \infty}{lim}x_{n-1}) = T(x^{*}) 右边:n→∞limT(xn−1)=T(n→∞limxn−1)=T(x∗)
从而 T ( x ∗ ) = x ∗ T(x^{*}) = x^{*} T(x∗)=x∗, x ∗ x^{*} x∗是不动点。
4 MRP(马尔科夫奖励过程)中的贝尔曼期望方程
MRP中,假设状态集
S
=
s
1
,
s
2
,
.
.
.
,
s
n
S = s_1,s_2,...,s_n
S=s1,s2,...,sn ,贝尔曼期望方程(Bellman Equation):
v
(
s
)
=
R
s
+
γ
∑
s
′
∈
S
P
s
s
′
v
(
s
′
)
v(s) = R_{s} + \gamma \sum\limits_{s′\in{S}}P_{ss′}v(s′)
v(s)=Rs+γs′∈S∑Pss′v(s′)
可以写成如下矩阵的形式:
v
=
R
+
γ
P
v
v= R + \gamma Pv
v=R+γPv
它表示:
[
v
(
s
1
)
⋯
v
(
s
n
)
]
=
[
R
1
⋯
R
n
]
+
γ
[
P
11
⋯
P
1
n
⋯
⋯
⋯
P
n
1
⋯
P
n
n
]
[
v
(
s
1
)
⋯
v
(
s
n
)
]
\begin{bmatrix}v(s_1) \\ \cdots \\ v(s_n) \end{bmatrix} = \begin{bmatrix} R_1 \\ \cdots \\ R_n \end{bmatrix} + \gamma \begin{bmatrix} P_{11} \cdots P_{1n} \\ \cdots \ \cdots \ \cdots \\ P_{n1} \cdots P_{nn}\end{bmatrix} \begin{bmatrix}v(s_1) \\ \cdots \\ v(s_n) \end{bmatrix}
⎣⎡v(s1)⋯v(sn)⎦⎤=⎣⎡R1⋯Rn⎦⎤+γ⎣⎡P11⋯P1n⋯ ⋯ ⋯Pn1⋯Pnn⎦⎤⎣⎡v(s1)⋯v(sn)⎦⎤
则映射函数为:
T
(
v
)
=
R
+
γ
P
v
T(v) = R + \gamma Pv
T(v)=R+γPv
4.1 定义度量空间
对于状态集
S
=
s
1
,
s
2
,
.
.
.
,
s
n
S = s_1,s_2,...,s_n
S=s1,s2,...,sn,我们定义状态值函数向量:
V
=
[
v
(
s
1
)
v
(
s
2
)
.
.
.
v
(
s
n
)
]
V = \begin{bmatrix} v(s_1) \\ v(s_2) \\ ...\\ v(s_n) \end{bmatrix}
V=⎣⎢⎢⎡v(s1)v(s2)...v(sn)⎦⎥⎥⎤
该向量属于值函数空间 V V V,我们考虑 V V V是一个 n n n维全空间。定义该空间的度量是无穷范数,即:
d ( u , v ) = m a x s ∈ S ∣ u ( s ) − v ( s ) ∣ d(u,v) = \underset{s \in S}{max}|u(s)-v(s)| d(u,v)=s∈Smax∣u(s)−v(s)∣
由 V V V于是向量全空间,因此 < V , d > <V,d> <V,d>是一个完备的度量空间。
4.2 T(v)是压缩映射
d
(
T
(
u
)
,
T
(
v
)
)
=
∣
∣
(
R
+
γ
P
u
)
−
(
R
+
γ
P
v
)
∣
∣
∞
=
∣
∣
γ
P
(
u
−
v
)
∣
∣
∞
≤
∣
∣
γ
P
∣
∣
u
−
v
∣
∣
∞
∣
∣
∞
≤
γ
∣
∣
u
−
v
∣
∣
∞
=
γ
d
(
u
,
v
)
\begin{aligned} d(T(u),T(v)) &= ||(R+\gamma Pu) - (R+\gamma Pv)||_{\infty} \\ &=||\gamma P(u-v)||_{\infty} \\ &\leq ||\gamma P||u-v||_{\infty}||_{\infty} \\ &\leq \gamma ||u-v||_{\infty} = \gamma d(u,v) \end{aligned}
d(T(u),T(v))=∣∣(R+γPu)−(R+γPv)∣∣∞=∣∣γP(u−v)∣∣∞≤∣∣γP∣∣u−v∣∣∞∣∣∞≤γ∣∣u−v∣∣∞=γd(u,v)
根据压缩映射定理,我们可以直接得到如下的结论:
- 贝尔曼期望方程收敛于唯一的 V V V;
- 迭代式策略评价算法以 γ \gamma γ的线性速率收敛于 v v v;
- 策略迭代收敛于 v ∗ v^{*} v∗。