分布空间
:模型似然
p
(
x
∣
θ
)
p(x|\pmb{\theta})
p(x∣θ) 取值的空间。可以用 KL 散度度量其中任意两点之间的差异程度参数空间
:参数向量
θ
\pmb{\theta}
θ 取值的空间。由于许多机器学习模型
p
(
x
∣
θ
)
p(x|\pmb{\theta})
p(x∣θ) 在参数空间中可能会表现出较为光滑的性质,即
d
→
0
\pmb{d}\to\pmb{0}
d→0 时
K
L
[
p
(
x
∣
θ
)
∥
p
(
x
∣
θ
+
d
)
]
→
0
\mathrm{KL}[p(x|\pmb{\theta}) \| p(x|\pmb{\theta}+\pmb{d})] \to 0
KL[p(x∣θ)∥p(x∣θ+d)]→0,这使参数空间往往具有某种流形结构,即在宏观上存在曲率,但在局部上类似于欧几里得空间。梯度下降法 (Gradient descent)
将参数空间视作一种欧氏空间,梯度向量是通过对目标函数在当前点进行一阶泰勒展开得到的。这样的线性逼近在局部范围内是合理的,但由于欧氏空间不存在曲率,在高度非线性或弯曲的参数空间中,其可能不足以准确描述整个参数空间的结构,导致梯度下降过程收敛缓慢或出现震荡。自然梯度法 (Natural Gradient Descent)
将参数空间视为黎曼空间中的一个黎曼流形,这样就能在优化过程中考虑到参数空间的曲率,以缓解梯度下降法的收敛问题。该方法主要借助 费舍尔信息矩阵 (Fisher Information Matrix, FIM)
的逆度量参数空间的几何机构和曲率信息,通过适当的度量调整梯度的方向实现更好的优化过程黎曼流形 (Riemannian manifold)
黎曼空间 (Riemannian space)
黎曼度量 (riemannian metric)
费舍尔信息矩阵 (Fisher Information Matrix, FIM)
是一种特殊的黎曼度量,它本身度量了参数空间中的曲率,描述了似然函数对参数的敏感性KL散度 (KL-divergence)
的二阶泰勒展开形式与 FIM 相关,利用 FIM 可以得到一种常用的 KL 散度近似方法海森矩阵 (Hessian Matrix)
H
log
?
p
(
x
∣
θ
)
\mathrm{H}_{\log p(x|\theta)}
Hlogp(x∣θ)? 的期望的负值,可以看作对数似然函数
log
?
p
(
x
∣
θ
)
\log p(x|\theta)
logp(x∣θ) 的曲率的度量自然梯度法 (Natural Gradient Descent)
黎曼空间 (Riemannian space)
是一种以黎曼度量作为内积结构的,完备的内积空间
黎曼空间中曲面的表示形式比较简单,因而适用于解决曲面问题。如下图所示,相同的一个三维球体,在黎曼空间中的解析式比欧氏空间中简单很多
关于函数空间的更多说明,参考 函数空间一览:从线性空间到再生核希尔伯特空间
流形 (manifold)
是一种数学概念,用于描述一种特殊的拓扑空间:流形上任意一点的局部都具有欧几里德空间的拓扑结构(与欧几里德空间同胚),即每个点都有一个邻域,可以通过光滑的映射与欧几里德空间的开集一一对应。这种局部同胚性质使得我们能够在流形上引入欧几里德空间中的概念,如切空间、切向量、长度、夹角等。以下是一个流形的示意图,它从整体上看可以具有复杂的光滑或非光滑曲面结构,但是在任意局部和欧氏空间同构黎曼流形 (Riemannian manifold)
是黎曼空间中的流形,是一种引入了黎曼度量的流形
切空间 (Tangent space)
指流形上任意点
p
p
p 处的线性近似空间,记为
T
p
M
T_pM
Tp?M黎曼度量 (riemannian metric)
定义了切空间上的内积运算。设
M
M
M 是一个流形,对于其上的每个切空间,黎曼度量
g
g
g 定义了海森矩阵 (Hessian Matrix)
是由某个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。形式化地说,对于
R
n
→
R
\mathbb{R}^n\to\mathbb{R}
Rn→R 的多元实值函数
f
(
x
1
,
x
2
,
?
?
,
x
n
)
f\left(x_{1}, x_{2}, \cdots, x_{n}\right)
f(x1?,x2?,?,xn?),其在
x
\pmb{x}
x 点处的 Hessian 矩阵定义为考虑极大似然估计的过程,目标分布由
θ
m
×
1
=
[
θ
1
,
θ
2
,
.
.
.
,
θ
m
]
T
\pmb{\theta}_{m\times 1}=[\theta_1,\theta_2,...,\theta_m]^T
θm×1?=[θ1?,θ2?,...,θm?]T 参数化,首先从目标分布中收集样本
x
i
~
p
(
x
∣
θ
)
x_i \sim p(x|\pmb{\theta})
xi?~p(x∣θ) 构成数据集
X
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
\pmb{X} = \{x_1,x_2,...,x_n\}
X={x1?,x2?,...,xn?},记为
X
~
p
(
X
∣
θ
)
\pmb{X}\sim p(\pmb{X}|\pmb{\theta})
X~p(X∣θ),然后写出对数似然函数
L
(
X
∣
θ
)
=
∑
i
=
1
n
log
?
p
(
x
i
∣
θ
)
L(\pmb{X}|\pmb{\theta}) = \sum_{i=1}^n \log p(x_i|\pmb{\theta})
L(X∣θ)=i=1∑n?logp(xi?∣θ) 通过最大化对数似然函数来得到估计参数,即
θ
^
=
arg?max
?
θ
∑
i
=
1
n
log
?
p
(
x
i
∣
θ
)
\hat{\pmb{\theta}} = \argmax_\theta \sum_{i=1}^n \log p(x_i|\pmb{\theta})
θ^=θargmax?i=1∑n?logp(xi?∣θ) 在取得极值处,应该有梯度为 0,即
▽
θ
L
(
X
∣
θ
)
=
∑
i
=
1
n
▽
θ
log
?
p
(
x
i
∣
θ
)
▽
θ
L
(
X
∣
θ
)
∣
θ
=
θ
^
=
0
\begin{aligned} & \triangledown _\theta L(\pmb{X}|\pmb{\theta}) = \sum_{i=1}^n \triangledown _\theta \log p(x_i|\pmb{\theta}) \\ & \triangledown _\theta L(\pmb{X}|\pmb{\theta})\big\vert_{\theta=\hat{\theta}} = \pmb{0} \end{aligned}
?▽θ?L(X∣θ)=i=1∑n?▽θ?logp(xi?∣θ)▽θ?L(X∣θ)
?θ=θ^?=0?
基于以上观察,我们将关于任意样本
x
x
x 的对数似然函数的梯度定义为得分函数 (score function)
,利用它评估
θ
^
\hat{\pmb{\theta}}
θ^ 估计的良好程度
s
(
x
∣
θ
)
m
×
1
=
▽
θ
L
(
x
∣
θ
)
=
▽
θ
log
?
p
(
x
∣
θ
)
s(x|\pmb{\theta})_{m\times 1} = \triangledown _\theta L(x|\pmb{\theta})= \triangledown _\theta \log p(x|\pmb{\theta})
s(x∣θ)m×1?=▽θ?L(x∣θ)=▽θ?logp(x∣θ) 注意得分函数是标量对向量
θ
\pmb{\theta}
θ 求导,因此
s
(
x
∣
θ
)
s(x|\pmb{\theta})
s(x∣θ) 是和
θ
\pmb{\theta}
θ 相同尺寸的向量。得分函数的重要性质是其期望为 0,即
E
x
~
p
(
x
∣
θ
)
[
s
(
x
∣
θ
)
]
=
0
\mathbb{E}_{x\sim p(x|\pmb{\theta})}\left[ s(x|\pmb{\theta})\right]=\pmb{0}
Ex~p(x∣θ)?[s(x∣θ)]=0,证明如下
E p ( x ∣ θ ) [ s ( x ∣ θ ) ] = E p ( x ∣ θ ) [ ? log ? p ( x ∣ θ ) ] = ∫ ? log ? p ( x ∣ θ ) p ( x ∣ θ ) d x = ∫ ? p ( x ∣ θ ) p ( x ∣ θ ) p ( x ∣ θ ) d x = ∫ ? p ( x ∣ θ ) d x = ? ∫ p ( x ∣ θ ) d x = ? 1 = 0 m × 1 \begin{aligned} \underset{p(x| \pmb{\theta})}{\mathbb{E}}[s(x|\pmb{\theta})] & =\underset{p(x |\pmb{\theta})}{\mathbb{E}}[\nabla \log p(x |\pmb{\theta})] \\ & =\int \nabla \log p(x |\pmb{\theta}) p(x |\pmb{\theta}) \mathrm{d} x \\ & =\int \frac{\nabla p(x |\pmb{\theta})}{p(x |\pmb{\theta})} p(x |\pmb{\theta}) \mathrm{d} x \\ & =\int \nabla p(x |\pmb{\theta}) \mathrm{d} x \\ & =\nabla \int p(x |\pmb{\theta}) \mathrm{d} x \\ & =\nabla 1 \\ & =\pmb{0}_{m\times 1} \end{aligned} p(x∣θ)E?[s(x∣θ)]?=p(x∣θ)E?[?logp(x∣θ)]=∫?logp(x∣θ)p(x∣θ)dx=∫p(x∣θ)?p(x∣θ)?p(x∣θ)dx=∫?p(x∣θ)dx=?∫p(x∣θ)dx=?1=0m×1??
因此可以用大量样本的 s ( x ∣ θ ) s(x|\pmb{\theta}) s(x∣θ) 期望评估参数估计值 θ ^ \hat{\pmb{\theta}} θ^ 的质量,即 E p ( x ∣ θ ) [ s ( x ∣ θ ^ ) ] \mathbb{E}_{p(x|\pmb{\theta})}\left[ s(x|\hat{\pmb{\theta}})\right] Ep(x∣θ)?[s(x∣θ^)] 越接近 0 \pmb{0} 0,估计越准确
进一步地,参数估计值
θ
^
\hat{\pmb{\theta}}
θ^ 的置信度可以由大量样本的
s
(
x
∣
θ
)
s(x|\pmb{\theta})
s(x∣θ) 协方差来描述,这是一个围绕期望值的不确定度的度量,将以上期望为 0 的结果代入协方差计算公式,得到
E
p
(
x
∣
θ
)
[
(
s
(
x
∣
θ
)
?
0
)
?
(
s
(
x
∣
θ
)
?
0
)
T
]
\underset{p(x| \pmb{\theta})}{\mathbb{E}}[\left(s(x|\pmb{\theta})-\pmb{0}\right)·\left(s(x|\pmb{\theta})-\pmb{0}\right)^T]
p(x∣θ)E?[(s(x∣θ)?0)?(s(x∣θ)?0)T] 由于得分函数
s
(
x
∣
θ
)
s(x|\pmb{\theta})
s(x∣θ) 是尺寸为
m
×
1
m\times 1
m×1 的向量,以上协方差是尺寸
m
×
m
m\times m
m×m 的协方差矩阵,这就是 费舍尔信息矩阵 (Fisher information matrix)
的定义,它描述了极大似然估计参数值的置信度(不确定度)的信息,整理如下
F
=
E
p
(
x
∣
θ
)
[
s
(
x
∣
θ
)
?
s
(
x
∣
θ
)
T
]
=
E
p
(
x
∣
θ
)
[
▽
θ
log
?
p
(
x
∣
θ
)
?
▽
θ
log
?
p
(
x
∣
θ
)
T
]
≈
1
n
∑
i
=
1
n
▽
θ
log
?
p
(
x
i
∣
θ
)
?
▽
θ
log
?
p
(
x
i
∣
θ
)
T
\begin{aligned} \mathrm{F} &=\underset{p(x| \pmb{\theta})}{\mathbb{E}}[s(x|\pmb{\theta})·s(x|\pmb{\theta})^T] \\ &= \underset{p(x| \pmb{\theta})}{\mathbb{E}}[ \triangledown _\theta \log p(x|\pmb{\theta}) · \triangledown _\theta \log p(x|\pmb{\theta})^T] \\ & \approx \frac{1}{n}\sum_{i=1}^n \triangledown _\theta \log p(x_i|\pmb{\theta}) · \triangledown _\theta \log p(x_i|\pmb{\theta})^T \end{aligned}
F?=p(x∣θ)E?[s(x∣θ)?s(x∣θ)T]=p(x∣θ)E?[▽θ?logp(x∣θ)?▽θ?logp(x∣θ)T]≈n1?i=1∑n?▽θ?logp(xi?∣θ)?▽θ?logp(xi?∣θ)T?
最后看一下 wiki 百科上关于费舍尔信息矩阵的定义
In information geometry, the Fisher information metric is a particular Riemannian metric which can be defined on a smooth statistical manifold, i.e., a smooth manifold whose points are probability measures defined on a common probability space. lt can be used to calculate the informational difference between measurements. —— wiki
在信息几何学中,费舍尔信息度量是一种特殊的黎曼度量,它可以定义在光滑的统计流形上,这种流形上的点是定义在联合概率空间上的概率密度。费舍尔信息度量可以用来计算测量之间的信息差异
费舍尔信息矩阵
F
\mathrm{F}
F 是对数似然函数的海森矩阵
H
log
?
p
(
x
∣
θ
)
\mathrm{H}_{\log p(x|\theta)}
Hlogp(x∣θ)? 的期望的负值,即
F
=
?
E
p
(
x
∣
θ
)
[
H
log
?
p
(
x
∣
θ
)
]
\mathrm{F} = -\underset{p(x| \pmb{\theta})}{\mathbb{E}}[\mathrm{H}_{\log p(x|\theta)}]
F=?p(x∣θ)E?[Hlogp(x∣θ)?] 从直观上看,这意味着费舍尔信息矩阵
F
\mathrm{F}
F 可以看作对数似然函数
log
?
p
(
x
∣
θ
)
\log p(x|\theta)
logp(x∣θ) 的曲率的度量。证明如下
首先根据定义,利用求导法则展开对数似然函数的海森矩阵 H log ? p ( x ∣ θ ) H_{\log p(x|\theta)} Hlogp(x∣θ)?
H log ? p ( x ∣ θ ) = ? ? θ ( ? log ? p ( x ∣ θ ) ? θ ) = ? ? θ ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) = H p ( x ∣ θ ) p ( x ∣ θ ) ? ? p ( x ∣ θ ) ? p ( x ∣ θ ) T p ( x ∣ θ ) p ( x ∣ θ ) = H p ( x ∣ θ ) p ( x ∣ θ ) p ( x ∣ θ ) p ( x ∣ θ ) ? ? p ( x ∣ θ ) ? p ( x ∣ θ ) T p ( x ∣ θ ) p ( x ∣ θ ) = H p ( x ∣ θ ) p ( x ∣ θ ) ? ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) T \begin{aligned} \mathrm{H}_{\log p(x \mid \theta)} & =\frac{\partial}{\partial \theta}\left(\frac{\partial \log p(x \mid \theta)}{\partial \theta} \right) \\ & =\frac{\partial}{\partial \theta}\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right) \\ & =\frac{\mathrm{H}_{p(x \mid \theta)} p(x \mid \theta)-\nabla p(x \mid \theta) \nabla p(x \mid \theta)^{\mathrm{T}}}{p(x \mid \theta) p(x \mid \theta)} \\ & =\frac{\mathrm{H}_{p(x \mid \theta)} p(x \mid \theta)}{p(x \mid \theta) p(x \mid \theta)}-\frac{\nabla p(x \mid \theta) \nabla p(x \mid \theta)^{\mathrm{T}}}{p(x \mid \theta) p(x \mid \theta)} \\ & =\frac{\mathrm{H}_{p(x \mid \theta)}}{p(x \mid \theta)}-\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)^{\mathrm{T}} \end{aligned} Hlogp(x∣θ)??=?θ??(?θ?logp(x∣θ)?)=?θ??(p(x∣θ)?p(x∣θ)?)=p(x∣θ)p(x∣θ)Hp(x∣θ)?p(x∣θ)??p(x∣θ)?p(x∣θ)T?=p(x∣θ)p(x∣θ)Hp(x∣θ)?p(x∣θ)??p(x∣θ)p(x∣θ)?p(x∣θ)?p(x∣θ)T?=p(x∣θ)Hp(x∣θ)???(p(x∣θ)?p(x∣θ)?)(p(x∣θ)?p(x∣θ)?)T?
进一步取关于 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 的期望,得到
E p ( x ∣ θ ) [ H log ? p ( x ∣ θ ) ] = E p ( x ∣ θ ) [ H p ( x ∣ θ ) p ( x ∣ θ ) ? ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) T ] = E p ( x ∣ θ ) [ H p ( x ∣ θ ) p ( x ∣ θ ) ] ? E p ( x ∣ θ ) [ ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) ( ? p ( x ∣ θ ) p ( x ∣ θ ) ) T ] = ∫ H p ( x ∣ θ ) p ( x ∣ θ ) p ( x ∣ θ ) d x ? E p ( x ∣ θ ) [ ? log ? p ( x ∣ θ ) ? log ? p ( x ∣ θ ) T ] = H ∫ p ( x ∣ θ ) d x ? F = H 1 ? F = ? F . \begin{aligned} \underset{p(x \mid \theta)}{\mathbb{E}}\left[\mathrm{H}_{\log p(x \mid \theta)}\right] & =\underset{p(x \mid \theta)}{\mathbb{E}}\left[\frac{\mathrm{H}_{p(x \mid \theta)}}{p(x \mid \theta)}-\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)^{\mathrm{T}}\right] \\ & =\underset{p(x \mid \theta)}{\mathbb{E}}\left[\frac{\mathrm{H}_{p(x \mid \theta)}}{p(x \mid \theta)}\right]-\underset{p(x \mid \theta)}{\mathbb{E}}\left[\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)\left(\frac{\nabla p(x \mid \theta)}{p(x \mid \theta)}\right)^{\mathrm{T}}\right] \\ & =\int \frac{\mathrm{H}_{p(x \mid \theta)}}{p(x \mid \theta)} p(x \mid \theta) \mathrm{d} x-\underset{p(x \mid \theta)}{\mathbb{E}}\left[\nabla \log p(x \mid \theta) \nabla \log p(x \mid \theta)^{\mathrm{T}}\right] \\ & =\mathrm{H}_{\int p(x \mid \theta) \mathrm{d} x}-\mathrm{F} \\ & =\mathrm{H}_{1}-\mathrm{F} \\ & =-\mathrm{F} . \end{aligned} p(x∣θ)E?[Hlogp(x∣θ)?]?=p(x∣θ)E?[p(x∣θ)Hp(x∣θ)???(p(x∣θ)?p(x∣θ)?)(p(x∣θ)?p(x∣θ)?)T]=p(x∣θ)E?[p(x∣θ)Hp(x∣θ)??]?p(x∣θ)E?[(p(x∣θ)?p(x∣θ)?)(p(x∣θ)?p(x∣θ)?)T]=∫p(x∣θ)Hp(x∣θ)??p(x∣θ)dx?p(x∣θ)E?[?logp(x∣θ)?logp(x∣θ)T]=H∫p(x∣θ)dx??F=H1??F=?F.?
利用以上关系,在一些优化方法中可以用 F \mathrm{F} F 估计 H \mathrm{H} H,前者往往计算成本较低
KL 散度
是一种常用的度量分布
P
,
Q
P,Q
P,Q 间差异的工具,当随机变量是离散或连续值时,计算公式分别为
K
L
(
P
∥
Q
)
=
∑
i
=
1
n
p
(
x
)
log
?
p
(
x
)
q
(
x
)
K
L
(
P
∥
Q
)
=
∫
?
∞
∞
p
(
x
)
log
?
(
p
(
x
)
q
(
x
)
)
d
x
\begin{aligned} &\mathrm{KL}(P \| Q)=\sum_{i=1}^{n} p(x) \log \frac{p(x)}{q(x)}\\ &\mathrm{KL}(P \| Q)=\int_{-\infty}^{\infty} p(x) \log \left(\frac{p(x)}{q(x)}\right) d x \end{aligned}
?KL(P∥Q)=i=1∑n?p(x)logq(x)p(x)?KL(P∥Q)=∫?∞∞?p(x)log(q(x)p(x)?)dx? 值得注意的是,KL 散度是非对称的,因此并非一种真实度量,但是当参数变化量趋于零时 KL 散度渐进对称,即
P
=
p
(
x
∣
θ
)
Q
1
=
p
(
x
∣
θ
+
d
)
,
Q
2
=
p
(
x
∣
θ
?
d
)
K
L
(
P
∥
Q
1
)
≈
K
L
(
P
∥
Q
2
)
,
?
d
→
0
\begin{aligned} &P=p(x|\pmb{\theta})\\ &Q_1=p(x|\pmb{\theta}+\pmb{d}),\quad Q_2=p(x|\pmb{\theta}-\pmb{d})\\ &\mathrm{KL}(P \| Q_1)\approx \mathrm{KL}(P \| Q_2), \space \pmb{d}\to \pmb{0} \end{aligned}
?P=p(x∣θ)Q1?=p(x∣θ+d),Q2?=p(x∣θ?d)KL(P∥Q1?)≈KL(P∥Q2?),?d→0? 因此也可以将其作为度量使用。关于 KL 散度的详细说明参考 信息论概念详细梳理:信息量、信息熵、条件熵、互信息、交叉熵、KL散度、JS散度
费舍尔信息矩阵
F
\mathrm{F}
F 与 KL 散度之间有重要关系:令
d
→
0
\pmb{d}\to\pmb{0}
d→0,
K
L
[
p
(
x
∣
θ
)
∥
p
(
x
∣
θ
+
d
)
]
\mathrm{KL}[p(x|\pmb{\theta}) \| p(x|\pmb{\theta}+\pmb{d})]
KL[p(x∣θ)∥p(x∣θ+d)] 的二阶泰勒展开满足
K
L
[
p
(
x
∣
θ
)
∥
p
(
x
∣
θ
+
d
)
]
≈
1
2
d
T
F
d
\mathrm{KL}[p(x|\pmb{\theta}) \| p(x|\pmb{\theta}+\pmb{d})] \approx \frac{1}{2} \pmb{d}^T\pmb{\mathrm{F}}\pmb{d}
KL[p(x∣θ)∥p(x∣θ+d)]≈21?dTFd 证明如下
首先,给定分布 p ( x ∣ θ ) p(x|\pmb{\theta}) p(x∣θ),考察分布 p ( x ∣ θ ′ ) p(x|\pmb{\theta}') p(x∣θ′) 和它之间的 KL 散度的二阶泰勒展开式子,根据定义有
K L [ p ( x ∣ θ ) ∥ p ( x ∣ θ ′ ) ] = E p ( x ∣ θ ) [ log ? p ( x ∣ θ ) ] ? E p ( x ∣ θ ) [ log ? p ( x ∣ θ ′ ) ] \mathrm{KL}\left[p(x \mid \theta) \| p\left(x \mid \theta^{\prime}\right)\right]=\underset{p(x \mid \theta)}{\mathbb{E}}[\log p(x \mid \theta)]-\underset{p(x \mid \theta)}{\mathbb{E}}\left[\log p\left(x \mid \theta^{\prime}\right)\right] KL[p(x∣θ)∥p(x∣θ′)]=p(x∣θ)E?[logp(x∣θ)]?p(x∣θ)E?[logp(x∣θ′)] 其关于 θ ′ \pmb{\theta}' θ′ 的 一阶梯度为
? θ ′ K L [ p ( x ∣ θ ) ∥ p ( x ∣ θ ′ ) ] = ? θ ′ E p ( x ∣ θ ) [ log ? p ( x ∣ θ ) ] ? ? θ ′ E p ( x ∣ θ ) [ log ? p ( x ∣ θ ′ ) ] = ? E p ( x ∣ θ ) [ ? θ ′ log ? p ( x ∣ θ ′ ) ] \begin{aligned} \nabla_{\theta^{\prime}} \mathrm{KL}\left[p(x \mid \theta) \| p\left(x \mid \theta^{\prime}\right)\right] & =\nabla_{\theta^{\prime}} \underset{p(x \mid \theta)}{\mathbb{E}}[\log p(x \mid \theta)]-\nabla_{\theta^{\prime}} \underset{p(x \mid \theta)}{\mathbb{E}}\left[\log p\left(x \mid \theta^{\prime}\right)\right] \\ & =-\underset{p(x \mid \theta)}{\mathbb{E}}\left[\nabla_{\theta^{\prime}} \log p\left(x \mid \theta^{\prime}\right)\right] \end{aligned} ?θ′?KL[p(x∣θ)∥p(x∣θ′)]?=?θ′?p(x∣θ)E?[logp(x∣θ)]??θ′?p(x∣θ)E?[logp(x∣θ′)]=?p(x∣θ)E?[?θ′?logp(x∣θ′)]? 关于 θ ′ \pmb{\theta}' θ′ 的二阶梯度为
? θ ′ 2 K L [ p ( x ∣ θ ) ∥ p ( x ∣ θ ′ ) ] = ? ∫ p ( x ∣ θ ) ? θ ′ 2 log ? p ( x ∣ θ ′ ) d x = ? ∫ p ( x ∣ θ ) H log ? p ( x ∣ θ ′ ) d x = ? E p ( x ∣ θ ) [ H log ? p ( x ∣ θ ′ ) ] \begin{aligned} \nabla_{\theta^{\prime}}^{2} \mathrm{KL}\left[p(x \mid \theta) \| p\left(x \mid \theta^{\prime}\right)\right] &=-\int p(x \mid \theta) \nabla_{\theta^{\prime}}^{2} \log p\left(x \mid \theta^{\prime}\right) \mathrm{d} x \\ &=-\int p(x \mid \theta) \mathrm{H}_{\log p(x \mid \theta')} \mathrm{d} x \\ &=-\underset{p(x \mid \theta)}{\mathbb{E}}\left[\mathrm{H}_{\log p(x \mid \theta')}\right] \\ \end{aligned} ?θ′2?KL[p(x∣θ)∥p(x∣θ′)]?=?∫p(x∣θ)?θ′2?logp(x∣θ′)dx=?∫p(x∣θ)Hlogp(x∣θ′)?dx=?p(x∣θ)E?[Hlogp(x∣θ′)?]? 得到以上展开式后,进一步考虑在 θ ′ = θ \pmb{\theta}'=\pmb{\theta} θ′=θ 处的展开结果(注意这时把 p ( x ∣ θ ) p(x|\pmb{\theta}) p(x∣θ) 看做不变量),将 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 简记为 p θ p_\theta pθ?,有
? θ ′ K L [ p θ ∥ p θ ′ ] ∣ θ ′ = θ = ? E p ( x ∣ θ ) [ ? θ log ? p ( x ∣ θ ) ] = 0 ( 2.1.1 节得分函数性质) ? θ ′ 2 K L [ p θ ∥ p θ ′ ] ∣ θ ′ = θ = ? E p ( x ∣ θ ) [ H log ? p ( x ∣ θ ) ] = F ( 2.1.2 节 F 和 H 的关系) \begin{aligned} &\left.\nabla_{\theta^{\prime}} \mathrm{KL}\left[p_{\theta} \| p_{\theta^{\prime}}\right]\right|_{\theta^{\prime}=\theta} = -\underset{p(x \mid \theta)}{\mathbb{E}}\left[\nabla_{\theta} \log p\left(x \mid \theta\right)\right] = \pmb{0} && (2.1.1节得分函数性质) \\ &\nabla_{\theta^{\prime}}^{2} \mathrm{KL}\left[p_{\theta} \| p_{\theta^{\prime}}\right]|_{\theta^{\prime}=\theta} = -\underset{p(x \mid \theta)}{\mathbb{E}}\left[\mathrm{H}_{\log p(x \mid \theta)}\right] = \mathrm{F} && (2.1.2节 \mathrm{F} 和 \mathrm{H} 的关系) \end{aligned} ??θ′?KL[pθ?∥pθ′?]∣θ′=θ?=?p(x∣θ)E?[?θ?logp(x∣θ)]=0?θ′2?KL[pθ?∥pθ′?]∣θ′=θ?=?p(x∣θ)E?[Hlogp(x∣θ)?]=F??(2.1.1节得分函数性质)(2.1.2节F和H的关系)?
利用以上结果,考察令 d → 0 \pmb{d}\to\pmb{0} d→0 时 K L [ p ( x ∣ θ ) ∥ p ( x ∣ θ + d ) ] \mathrm{KL}[p(x|\pmb{\theta}) \| p(x|\pmb{\theta}+\pmb{d})] KL[p(x∣θ)∥p(x∣θ+d)] 的二阶泰勒展开,将 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 简记为 p θ p_\theta pθ?,有
K L [ p θ ∥ p θ + d ] ≈ K L [ p θ ∥ p θ ] + ( ? θ ′ K L [ p θ ∥ p θ ′ ] ∣ θ ′ = θ ) T d + 1 2 d T ( ? θ ′ 2 K L [ p ( x ∣ θ ) ∥ p ( x ∣ θ ′ ) ] ∣ θ ′ ) d = 0 ? 0 T d + 1 2 d T F d = 1 2 d T F d \begin{aligned} \mathrm{KL}\left[p_{\theta} \| p_{\theta+d}\right] & \approx \mathrm{KL}\left[p_{\theta} \| p_{\theta}\right]+\left(\left.\nabla_{\theta^{\prime}} \mathrm{KL}\left[p_{\theta} \| p_{\theta^{\prime}}\right]\right|_{\theta^{\prime}=\theta}\right)^{\mathrm{T}} d+\frac{1}{2} d^{\mathrm{T}} \left(\nabla_{\theta^{\prime}}^{2} \mathrm{KL}\left[p(x \mid \theta) \| p\left(x \mid \theta^{\prime}\right)\right] |_{\theta^{\prime}} \right) d \\ & = 0 - \pmb{0}^{\mathrm{T}} \pmb{d} + \frac{1}{2} \pmb{d}^{\mathrm{T}} \pmb{\mathrm{F}} \pmb{d} \\ &= \frac{1}{2} \pmb{d}^{\mathrm{T}} \pmb{\mathrm{F}} \pmb{d} \end{aligned} KL[pθ?∥pθ+d?]?≈KL[pθ?∥pθ?]+(?θ′?KL[pθ?∥pθ′?]∣θ′=θ?)Td+21?dT(?θ′2?KL[p(x∣θ)∥p(x∣θ′)]∣θ′?)d=0?0Td+21?dTFd=21?dTFd?
最速下降法 (Steepest Descent Method)
,这类方法基于损失函数/目标函数在当前位置的梯度来确定参数的更新方向(负梯度方向),以使目标函数值下降最快自然梯度法 (Natural Gradient Descent)
的主要特点在于其使用费舍尔信息矩阵这种黎曼度量来调整梯度方向,因此可以考虑到参数空间的流形结构