转载:强化学习中Bellman最优性方程背后的数学原理?

转载:强化学习中Bellman最优性方程背后的数学原理?


一. Bellman最优
贝尔曼方程在强化学习(RL)中无处不在,它是由美国应用数学家理查德·贝尔曼(Richard Bellman)提出,用于求解马尔可夫决策过程。
转载:强化学习中Bellman最优性方程背后的数学原理?
贝尔曼最优性方程

贝尔曼最优性方程是一个递归方程,对于Model_based环境可由动态规划(dynamic programming,DP)算法求解,可以通过求解该方程可以找到最优值函数和最优策略。

  1. 对于任何有限的MDP,都存在一个最佳策略π*,满足其他所有可能的策略π都不会比这个策略更好。
  2. 如果对于状态空间中的每个状态,使用π1派生的值函数在此状态的值都大于或等于使用π2派生的值函数在此状态的值,则可以说策略π1优于策略π2转载:强化学习中Bellman最优性方程背后的数学原理?
  3. 采用巴拿赫不动点定理证明始终存在一个比所有其他策略都更好的策略,方法是证明贝尔曼最优算子是对带有L-无穷范数度量实数完备度量空间上的闭映射

二、Banach不动点

(如果某个函数在某个点收敛,那么该函数在那个收敛点的值就是收敛点本身。因此,这个收敛点就是不动点。)
转载:强化学习中Bellman最优性方程背后的数学原理?
如果函数是收敛的,那么它必须收敛到某个值,比方说, x*。选择一任意值 x0并在其上无限次应用函数f(.)以获得 x*,然后使用它来解决不动点问题:
转载:强化学习中Bellman最优性方程背后的数学原理?


三、度量空间

度量空间只是一个定义了度量的集合,度量则是定义了集合中任何两个元素之间距离。例如,欧几里德空间是度量空间,其距离定义为欧几里德距离。因此,**度量空间 M 可表示为(X, d) **,其中X是集合,d 是某种度量。一个度量d 必须满足以下四条性质:

单位性:d(x,x) = 0

非负性:d(x, y) >0

对称性:d(x,y) = d(y,x)

三角不等式:d(x,z) ≤ d(x,y)+d(y,x)


四. 柯西序列

对于度量空间(X,d),集合X中的元素组成的序列(x1,x2,x3 … xn)是柯西序列, 如果对于任意正实数ε, 存在一个整数N,使得以下等式成立:
转载:强化学习中Bellman最优性方程背后的数学原理?
度量空间元素组成的序列如果在某个点收敛(它们无限接近于某个点),这个序列就是柯西序列


五、压缩映射

度量空间 (X, d) 元素上定义的函数(算子或映射)是一个压缩映像(或压缩子),如果存在某个常数γ∈[0,1),使得对于度量空间中任意两个元素x1 和x2,满足以下条件:
转载:强化学习中Bellman最优性方程背后的数学原理?
意味着在将元素x1 和 x2上应用了映射 f(.) 之后,它们彼此之间的距离至少在小于1的一个乘数因子γ意义下更接近 。而且,该常数的最小值被称为Lipschitz常数(这是生成对抗网络的重要常数)。另外,如果γ=1,则映射不再是压缩映射,而是短映射。直观上来说,在应用压缩映射后,元素之间序列值会越来越接近。


六、Banach不动点定理与性质

如何求解最优值?
对于一个完整的度量空间,将压缩映射一遍又一遍地应用到集合的元素上,我们最终将得到唯一的一个最优值。我们知道:

  1. 压缩映射将集合中元素聚集到一起。

  2. 不断运用压缩映射,得到一个柯西序列

  3. 完备度量空间中的柯西序列始终会收敛自身中的一个值

令(X, d)是一个完备的度量空间,函数f: X->X是一个压缩映射,
则f具有唯一一个不动点 x*∈ X (即,f(x *)=x *) ,
使得序列 f(f(f(…f(x))))收敛至x *。
  1. 唯一性:
    假设收敛值不是唯一的,并且x1*和x2 *是压缩映射序列收敛的两个值,那么:
    转载:强化学习中Bellman最优性方程背后的数学原理?
    x1 *和x2 *是最优值,压缩映射已在这两点收敛,距离不再会变。
    由于f是压缩映射,因此必须具有以下性质:
    转载:强化学习中Bellman最优性方程背后的数学原理?
    现在,由于γ∈[0,1),无法同时满足等式1和2,导出矛盾(因为此处假定两点距离大于零)。因此,我们的假设是错误的,*x 必是唯一的

  2. 存在性:
    令(x1, x2, x3, …. xn)为重复应用压缩映射所形成的序列。
    转载:强化学习中Bellman最优性方程背后的数学原理?
    假设序列(x1, x2, x3, …. xn)是柯西序列,我们知道该序列将收敛到某个点,例如,x *。而且,由于度量空间是完整的,所以该收敛点x *属于度量空间(X,d)。现在,我们只需要证明此序列是柯西序列即可。我们取序列中xnxm中两个元素,使得m >> n,并使得m足够大,然后通过重复应用度量d的三角形不等式性质来证明此序列是柯西序列, 有:
    转载:强化学习中Bellman最优性方程背后的数学原理?
    由于f是压缩映射,我们知道:
    转载:强化学习中Bellman最优性方程背后的数学原理?
    重复运用压缩映射不等式,我们可进一步将d(xm, xn)化为如下形式 :
    转载:强化学习中Bellman最优性方程背后的数学原理?
    现在,通过选择一个足够大的n,我们可以使上式的右边小于任何正实数 ε 。因此,序列序列(x1, x2, x3, …. xn)是柯西序列,并且存在最优的x *∈X。这就证明了巴拿赫不动点定理。


七、Bellman算子
转载:强化学习中Bellman最优性方程背后的数学原理?
B是一个递归算子。因此,对初始值函数重复运用此算子将生成一系列值函数。如果我们可以证明B确实是某个度量空间(X,d)上的压缩映射,那么根据巴拿赫不动点定理,我们可以得出结论,最优贝尔曼算子的重复应用最终将导出唯一的最优值函数通过值函数可以得到最优策略。因此,我们的工作现在都简化为证明B是压缩映射.
定义度量空间如下:度量空间(X,d):集合X是值函数的取值空间,如下:
转载:强化学习中Bellman最优性方程背后的数学原理?

对此度量空间,我们使用的L-无穷范数定义如下:
转载:强化学习中Bellman最优性方程背后的数学原理?
L-无穷范数

根据此度量空间范数的定义,两个值函数之间的距离等于两个值函数向量各方向绝对值之差的最大值。同样,对于有限奖励的有限MDP,值函数将始终在实数空间中。因此,此有限空间是完备的。

1. 定理:贝尔曼算子B是有限空间(X, L-infinity)上的压缩映射

2. 证明:假设V1和V2是两个值函数。则:转载:强化学习中Bellman最优性方程背后的数学原理?
第二步中,我们通过用a代替第二个值函数中的a’来引入不等式。这是因为通过将最优动作a替换为其他动作 a’,降低了其总价值,从而引入了不等式。

第四步中,我们通过在状态空间 s’上取最大值来移除L-无穷范数

最后一步中,因为概率和始终为1,消去了求和号。

3. 结论:最后,在贝尔曼最优性方程中,由于γ∈[0,1)(现在暂时忽略γ= 1的可能性),因此贝尔曼算子是压缩映射。

  1. (X, L-infinity) 是一个完备的度量空间

  2. 贝尔曼算子B是压缩映射


因此,根据巴拿赫不动点定理,我们得出结论:
对每个MDP,存在唯一的最优值函数V *,使用这个值函数,我们可以得到最优策略π *。

因此证明,对于任何有限的MDP,都存在一个最优策略π *,不差于其他所有可能的策略π。


参考:

  1. 强化学习的四要素中:策略和模型的区别是什么?
  2. 强化学习中无处不在的贝尔曼最优性方程,背后的数学原理知多少?
  3. 强化学习(二):马尔科夫决策过程(Markov decision process)
  4. 强化学习原理与python实现
上一篇:图像畸变矫正算法实现 matlab版


下一篇:相机标定