不动点理论在《A Distributional Perspective on Reinforcement Learning》上的应用

本文围绕Fixed point理论展开,先介绍其迭代算法,回顾收缩映射定义与不动点定理,通过线性方程组求解说明迭代过程。接着解析Distributional Bellman算法的不动点,对比传统与分布式Bellman方程,证明算子收缩性,给出pytorch实现流程,融合基础算法与深度学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fixed point理论是 Banach Space 中重要的理论工具。它常被用来讨论某个空间解的存在性,并由此发展出通过迭代的方式进行问题求解的算法。在[1]中,Fixed Piont理论处于整个算法的核心位置,是以分布式Bellman方程代替期望值Bellman方程的理论基础。本文将分成两个部分浅析之:第一部分 Fixed Point的迭代算法介绍;第二部分 Distributional 算法的不动点解析。

一、Fixed Point的迭代算法

首先要回顾以下 Fixed Point 原理,首先要给出的是收缩映射(Contraction)的定义[2]。
Definition 4.13(原书【2】的编号,下同)
A function f : X → Y f:X\to Y f:XY between metric spaces is called a contraction if there exists a real number α \alpha α with 0 ≤ α &lt; 1 0\le \alpha \lt 1 0α<1, such that :
d Y ( f ( x 1 ) , f ( x 2 ) ) ≤ α d X ( x 1 , x 2 ) d_Y(f(x_1), f(x_2))\le \alpha d_X(x_1, x_2) dY(f(x1),f(x2))αdX(x1,x2)
[简析]
所谓收缩(Contraction),指的是映射 f f f 的一个属性,映射前 x 1 , x 2 ∈ X x_1,x_2\in X x1,x2X 的距离 d X ( x 1 , x 2 ) d_X(x_1, x_2) dX(x1,x2) 大于映射后的距离 d Y ( f ( x 1 ) , f ( x 2 ) ) d_Y(f(x_1), f(x_2)) dY(f(x1),f(x2))。这里要注意的是,原像空间 X X X 的测度定义可以与像空间 Y Y Y 的测度定义不同。

如上定义,若原像空间 X X X 与像空间 Y Y Y 相同,而且测度定义不变,且 X X X 是Banach 空间(即完备的赋范空间,Complete Normed Space),则有如下不动点定理:
Theorem 4.8 (Banach Fixed-Point Theorem)
If X X X is a complete non-empty metric spaces and f : X → X f:X\to X f:XX is a contraction, then f f f has a unique fixed-point x 0 ∈ X x_0\in X x0X,
f ( x 0 ) = x 0 f(x_0)=x_0 f(x0)=x0
Banach空间是一种特殊的非空、完备的测度空间(metric space),Fixed-Point Theorem 能够保证任意在Banach空间的contraction函数都有且只有一个固定点(a unique fixed-point)。任取一个初始点 x 1 x_1 x1,经contraction映射后得到 x 2 x_2 x2,再将 x 2 x_2 x2 代入映射得到 x 3 x_3 x3,如此迭代,得到序列 { x n } n ≥ 1 \{x_n\}_{n\ge 1} { xn}n1,此序列收敛于 x 0 x_0 x0,即 x n → x 0 x_n\to x_0 xnx0。若求解问题可以转换成在banach空间内不动点问题,就可以通过此迭代方法进行求解。这便是 fixed point 的迭代算法。以下通过一个例子进行说明。

例:线性方程组求解的迭代算法
考虑线性方程组:
∑ i = 1 n a k i x i = b k ( k = 1 , 2 , ⋯ &ThinSpace; , n ) ( 1.1 ) \sum^n_{i=1} a_{ki}x_{i} = b_k \quad (k=1,2,\cdots,n)\qquad(1.1) i=1nakixi=bk(k=1,2,,n)(1.1)
写成矩阵形式为 A x = b \mathbf A\mathbf x=\mathbf b Ax=b,其中 A \mathbf A A n × n n\times n n×n 矩阵, x = ( x 1 , x 2 , ⋯ &ThinSpace; , x n ) T \mathbf x=(x_1, x_2,\cdots,x_n)^T x=(x1,x2,,xn)T b = ( b 1 , b 2 , ⋯ &ThinSpace; , b n ) T \mathbf b=(b_1,b_2,\cdots,b_n)^T b=(b1,b2,,bn)T,于是有:
A x = b ⇒ x = ( I n − A ) x + b ( 1.2 ) \mathbf A\mathbf x=\mathbf b\Rightarrow \mathbf x=(\mathbf I_n-\mathbf A)\mathbf x + \mathbf b\qquad(1.2) Ax=bx=(InA)x+b(1.2)
其中, I n \mathbf I_n In n × n n\times n n×n 单位矩阵。考虑算子(operator) F = I n − A F=\mathbf I_n- \mathbf A F=In

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值