两种编码率
总体空间的编码率(coding rate):
R
(
Z
,
ϵ
)
≐
1
2
log
det
(
I
+
d
m
ϵ
2
Z
Z
⊤
)
,
R(\boldsymbol{Z}, \epsilon) \doteq \frac{1}{2} \log \operatorname{det}\left(\boldsymbol{I}+\frac{d}{m \epsilon^{2}} \boldsymbol{Z} \boldsymbol{Z}^{\top}\right),
R(Z,ϵ)≐21logdet(I+mϵ2dZZ⊤),
以及类内空间编码率:
R
c
(
Z
,
ϵ
∣
Π
)
≐
∑
j
=
1
k
tr
(
Π
j
)
2
m
log
det
(
I
+
d
tr
(
Π
j
)
ϵ
2
Z
Π
j
Z
⊤
)
.
R^{c}(\boldsymbol{Z}, \epsilon \mid \Pi) \doteq \sum_{j=1}^{k} \frac{\operatorname{tr}\left(\Pi_{j}\right)}{2 m} \log \operatorname{det}\left(\boldsymbol{I}+\frac{d}{\operatorname{tr}\left(\Pi_{j}\right) \epsilon^{2}} \boldsymbol{Z} \Pi_{j} \boldsymbol{Z}^{\top}\right).
Rc(Z,ϵ∣Π)≐j=1∑k2mtr(Πj)logdet(I+tr(Πj)ϵ2dZΠjZ⊤).
这两个公式的出发点为信息率失真函数(The Rate-Distortion Function)。
信息率失真函数
我们首先假设一个空间有 m m m个向量 w i w_i wi(这里的所有 W W W对应前面构造中的 Z Z Z),其满足: μ ≐ 1 m ∑ i w i = 0 \mu \doteq \frac{1}{m} \sum_{i} w_{i}=0 μ≐m1∑iwi=0, ε 2 \varepsilon^{2} ε2为编码每个向量所允许的平方误差,也就是说 w ^ i \hat{w}_i w^i是 w i {w}_i wi的近似,且满足 E [ ∥ w i − w ^ i ∥ 2 ] ≤ ε 2 \mathbb{E}\left[\left\|w_{i}-\hat{w}_{i}\right\|^{2}\right] \leq \varepsilon^{2} E[∥wi−w^i∥2]≤ε2,平均意义下,为每个entry的 w i {w}_i wi所允许的平方误差为 ε 2 / d \varepsilon^{2}/d ε2/d( d d d为数据维度),可进行如下建模:
w ^ i = w i + z i , z i ∼ N ( 0 , ε 2 d I ) \hat{w}_{i}=w_{i}+z_{i}, \quad \quad z_{i} \sim \mathcal{N}\left(0, \frac{\varepsilon^{2}}{d} I\right) w^i=wi+zi,zi∼N(0,dε2I)
向量 w ^ i \hat{w}_{i} w^i的协方差矩阵为:
Σ ^ ≐ E [ 1 m ∑ i = 1 m w ^ i w ^ i T ] = ε 2 d I + 1 m W W T ∈ R d × d \hat{\Sigma} \doteq \mathbb{E}\left[\frac{1}{m} \sum_{i=1}^{m} \hat{w}_{i} \hat{w}_{i}^{T}\right]=\frac{\varepsilon^{2}}{d} I+\frac{1}{m} W W^{T} \in \mathbb{R}^{d \times d} Σ^≐E[m1i=1∑mw^iw^iT]=dε2I+m1WWT∈Rd×d
这时候我们想要衡量整个空间的膨胀情况,一个直观的想法就是直接计算所有向量张成空间的体积,而这个体积正比于协方差矩阵行列式的平方根,这个是可以由几何意义看出。
其中, e 1 , e 2 e_1, e_2 e1,e2表示 W ^ \hat{W} W^的奇异向量(正交的); σ 1 , σ 2 \sigma_1, \sigma_2 σ1,σ2表示奇异值,可得 w ^ i \hat{w}_{i} w^i张成空间的体积为(相当于所有的奇异值相乘),而 W ^ \hat{W} W^的奇异值为其协方差阵特征值开根,因此有如下计算公式:
vol ( W ^ ) ∝ det ( ε 2 d I + 1 m W W T ) \operatorname{vol}(\hat{W}) \propto \sqrt{\operatorname{det}\left(\frac{\varepsilon^{2}}{d} I+\frac{1}{m} W W^{T}\right)} vol(W^)∝det(dε2I+m1WWT)
同样,每个随机向量 z z z所张成的体积为(可以理解成每个小球的体积):
vol ( z ) ∝ det ( ε 2 d I ) . \operatorname{vol}(z) \propto \sqrt{\operatorname{det}\left(\frac{\varepsilon^{2}}{d} I\right)} . vol(z)∝det(dε2I).
为了对每个向量进行编码,我们可以将所有向量所张成的区域划分为不重叠的小球进行填充。当该区域的体积远大于球体的体积时,我们能塞进该区域的小球总数大约等于:
# of spheres = vol ( W ^ ) / vol ( z ) \# \text { of spheres}=\operatorname{vol}(\hat{W}) / \operatorname{vol}(z) # of spheres=vol(W^)/vol(z)
若用二进制数来标记感兴趣区域内的所有小球,所需的比特数为:
R ( W ) ≐ log 2 ( # of spheres ) = log 2 ( vol ( W ^ ) / vol ( z ) ) = 1 2 log 2 det ( I + d m ε 2 W W T ) , \begin{aligned} R(W) & \doteq \log _{2}(\# \text { of spheres}) \\ &=\log _{2}(\operatorname{vol}(\hat{W}) / \operatorname{vol}(z))=\frac{1}{2} \log _{2} \operatorname{det}\left(I+\frac{d}{m \varepsilon^{2}} W W^{T}\right), \end{aligned} R(W)≐log2(# of spheres)=log2(vol(W^)/vol(z))=21log2det(I+mε2dWWT),
最后一个等式成立是由于:
det ( A ) / det ( B ) = det ( B − 1 A ) . \operatorname{det}(A) / \operatorname{det}(B)=\operatorname{det}\left(B^{-1} A\right). det(A)/det(B)=det(B−1A).
根据基本不等式,几何平均数小于等于算数平均值(也就是乘积可以被求和所控制),因此膨胀空间的大小是有限制的。注意到协方差阵的特征值求和就等于其trace,因此对于有限维空间而言,膨胀这一行为是有上界的。
而针对每一类内的信息率失真函数进行加权求和后,为:
R
c
(
W
,
ϵ
∣
Π
)
=
∑
j
=
1
k
tr
(
Π
j
)
2
m
log
det
(
I
+
d
tr
(
Π
j
)
ϵ
2
W
Π
j
W
⊤
)
.
R^{c}(W, \epsilon \mid \Pi) = \sum_{j=1}^{k} \frac{\operatorname{tr}\left(\Pi_{j}\right)}{2 m} \log \operatorname{det}\left(\boldsymbol{I}+\frac{d}{\operatorname{tr}\left(\Pi_{j}\right) \epsilon^{2}} W \Pi_{j} W^{\top}\right).
Rc(W,ϵ∣Π)=j=1∑k2mtr(Πj)logdet(I+tr(Πj)ϵ2dWΠjW⊤).
可以证明,上述函数是关于 Π j \Pi_{j} Πj为凹函数。因此最后优化的时候是对其取负,再结合总体空间的目标函数进行优化。