On the capacity of face representation
Capacity of face representation
人脸特征模型 M M M是一个带参数的embedding函数,用来将某个ID c \ c c的人脸图像 s s s映射到向量空间 x ∈ R p x \in \mathbb{R}^{p} x∈Rp,即 x = f M ( s ; θ p ) \mathbf{x} = f_{M}\left( \mathbf{s};\mathbf{\theta}_{p} \right) x=fM(s;θp),其中 θ p \mathbf{\theta}_{p} θp为参数
我们将人脸特征模型占据的空间建模为一个嵌入在高维空间
P
∈
R
p
{P\mathbb{\in R}}^{p}
P∈Rp的低维的population
manifold
M
∈
R
m
\mathcal{M \in}\mathbb{R}^{m}
M∈Rm。在该模型下,一个身份为
c
c
c的人脸特征组成了一个manifold
M
c
⊆
M
\mathcal{M}_{c} \subseteq \mathcal{M}
Mc⊆M。直接估计这些manifold的support和volumes是非常有挑战的,特别是考虑到在
R
p
\mathbb{R}^{p}
Rp中的manifold可能是高度纠缠(entangle)的。所以,我们首先学习一个映射,将population
manifold投影并展开到其密度、support以及volume可以更可靠的估计的低维空间。
我们的投影和展开基于Multidimensional
scaling(MDS),其目的是在将样本潜入低维空间以后,他们之间的局部距离(相似度)依然能够保持。设
X
=
{
x
1
,
⋯
,
x
n
}
\mathbf{X} = \left\{ x_{1},\cdots,x_{n} \right\}
X={x1,⋯,xn}为高维空间zhong的样本点,
Y
=
{
y
1
,
⋯
,
y
n
}
\mathbf{Y} = \left\{ y_{1},\cdots,y_{n} \right\}
Y={y1,⋯,yn}为对应的低维空间中的点。则MDS问题可以形式化为
min ∑ i < j ( d H ( x i , x j ) − d L ( y i , y j ) ) 2 \min\sum_{i < j}^{}\left( d_{H}\left( \mathbf{x}_{i},\mathbf{x}_{j} \right) - d_{L}\left( \mathbf{y}_{i},\mathbf{y}_{j} \right) \right)^{2} mini<j∑(dH(xi,xj)−dL(yi,yj))2
其中 d H ( . ) d_{H}\left( . \right) dH(.)和 d L ( . ) d_{L}\left( . \right) dL(.)分别为高维和低维空间的距离度量。
我们使用DNN来学习这个映射,即通过 y = f P ( x ; θ M ) \mathbf{y} = f_{P}\left( \mathbf{x};\mathbf{\theta}_{\mathcal{M}} \right) y=fP(x;θM)来学习,则目标变为
min ∑ i < j ( d H ( x i , x j ) − d L ( f ( x i ; θ M ) , f ( x j ; θ M ) ) ) 2 + λ ∥ θ M ∥ 2 2 (2) \min\sum_{i < j}^{}{\left( d_{H}\left( \mathbf{x}_{i},\mathbf{x}_{j} \right) - d_{L}\left( f\left( \mathbf{x}_{i};\mathbf{\theta}_{\mathcal{M}} \right),f\left( \mathbf{x}_{j};\mathbf{\theta}_{\mathcal{M}} \right) \right) \right)^{2} + \lambda\left\| \mathbf{\theta}_{\mathcal{M}} \right\|_{2}^{2}}\tag{2} mini<j∑(dH(xi,xj)−dL(f(xi;θM),f(xj;θM)))2+λ∥θM∥22(2)
我们选择 d H ( x i , x j ) = 1 + x i T x j ∥ x i ∥ 2 ∥ x j ∥ 2 d_{H}\left( \mathbf{x}_{i},\mathbf{x}_{j} \right) = 1 + \frac{\mathbf{x}_{i}^{T}\mathbf{x}_{j}}{\left\| \mathbf{x}_{i} \right\|_{2}\left\| \mathbf{x}_{j} \right\|_{2}} dH(xi,xj)=1+∥xi∥2∥xj∥2xiTxj, d L ( y i , y j ) = ∥ y i − y j ∥ 2 d_{L}\left( \mathbf{y}_{i},\mathbf{y}_{j} \right) = \left\| \mathbf{y}_{i} - \mathbf{y}_{j} \right\|_{2} dL(yi,yj)=∥yi−yj∥2(为什么两个不一样?)
Estimating Uncertainities in Representations
前一章节学习到的模型只能用来估计manifold中的单个样本,无法给出不确定度。要准确估计人脸特征的不确定度,需要对特征中由于人脸特征提取过程中不同的噪声(例如姿态、光照等)导致的不确定度进行建模。
由黑盒模型
M
t
M_{t}
Mt(教师网络,其参数为
{
θ
P
,
θ
M
}
\left\{ \mathbf{\theta}_{\mathcal{P}},\mathbf{\theta}_{\mathcal{M}} \right\}
{θP,θM})产生的噪声embedding
y
\mathbf{y}
y的概率模型为
p ( y ∣ S ∗ , Y ∗ ) = ∫ p ( y ∣ s , S ∗ , Y ∗ ) p ( s ∣ S ∗ , Y ∗ ) d s = ∫ ∫ p ( y | s , θ ) p ( θ | S ∗ , Y ∗ ) p ( s ∣ S ∗ , Y ∗ ) d θ d s \begin{aligned} p\left( \mathbf{y}|\mathbf{S}^{*},\mathbf{Y}^{*} \right) &= \int_{}^{}{p(\mathbf{y}|\mathbf{s,S}^{*},\mathbf{Y}^{*}})p\left( \mathbf{s|S}^{*},\mathbf{Y}^{*} \right)d\mathbf{s} \\ &= \int_{}^{}{\int_{}^{}{p\left( \mathbf{y} \middle| \mathbf{s,\theta} \right)p\left( \mathbf{\theta} \middle| \mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right)p\left( \mathbf{s|}\mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right)d\mathbf{\theta}d\mathbf{s}}} \\ \end{aligned} p(y∣S∗,Y∗)=∫p(y∣s,S∗,Y∗)p(s∣S∗,Y∗)ds=∫∫p(y∣s,θ)p(θ∣S∗,Y∗)p(s∣S∗,Y∗)dθds
其中, Y ∗ = { y 1 , ⋯ , y N } \mathbf{Y}^{*} = \left\{ \mathbf{y}_{1},\cdots,\mathbf{y}_{N} \right\} Y∗={y1,⋯,yN}和 S ∗ = { s 1 , ⋯ , s N } \mathbf{S}^{*} = \left\{ \mathbf{s}_{1},\cdots,\mathbf{s}_{N} \right\} S∗={s1,⋯,sN}为用于训练参数 θ \mathbf{\theta} θ的样本。 p ( y | s , θ ) p\left( \mathbf{y} \middle| \mathbf{s,\theta} \right) p(y∣s,θ)是aleatoric(data)不确定度, p ( θ | S ∗ , Y ∗ ) p\left( \mathbf{\theta} \middle| \mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right) p(θ∣S∗,Y∗)是epistemic(model)不确定度, p ( s ∣ S ∗ , Y ∗ ) ∼ N ( μ g , Σ g ) p\left( \mathbf{s|}\mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right)\mathcal{\sim N}\left( \mu_{g},\Sigma_{g} \right) p(s∣S∗,Y∗)∼N(μg,Σg)是对噪声embedding的manifold的高斯近似。另外,我们假设从图像 s \mathbf{s} s到无噪声的embedding μ \ \mathbf{\mu} μ的映射是一个确定的未知的函数 μ = f ( s , θ ) \mathbf{\mu} = f\left( \mathbf{s},\mathbf{\theta} \right) μ=f(s,θ)
教师网络的黑盒特性使得模型只能给出了训练集 D = { s i , y i } i = 1 N \mathcal{D =}\left\{ \mathbf{s}_{i},\mathbf{y}_{i} \right\}_{i = 1}^{N} D={si,yi}i=1N中的一个样本(意思是无法对分布进行建模),所以需要用一个学生网络 M s M_{s} Ms(其参数为 w w w)来模拟教师网络,更具体的说,学生网络是用来输出近似数据不确定度 p ( y i | s i , w ) ∼ N ( μ i , Σ i ) p\left( \mathbf{y}_{i} \middle| \mathbf{s}_{i},\mathbf{w} \right)\mathcal{\ \sim\ N}\left( \mathbf{\mu}_{i},\mathbf{\Sigma}_{i} \right) p(yi∣si,w) ∼ N(μi,Σi),其中 μ i \mathbf{\mu}_{i} μi表示的是无噪声的embedding的数据相关的均值近似, Σ i \mathbf{\Sigma}_{i} Σi表示数据相关的不确定度。所以,学生网络可以看作是教师网络的无法知道的分布的近似,通过该模型,输入一张图像 s \mathbf{s} s,产生一个噪声embedding,其对应的无噪声embedding为 μ \mathbf{\mu} μ。即 p ( y i ∣ s i , w ) ≈ p ( y i | μ i , θ ) p\left( \mathbf{y}_{\mathbf{i}}\mathbf{|}\mathbf{s}_{\mathbf{i}}\mathbf{,w} \right)\mathbf{\approx}p\left( \mathbf{y}_{\mathbf{i}} \middle| \mathbf{\mu}_{\mathbf{i}}\mathbf{,\theta} \right) p(yi∣si,w)≈p(yi∣μi,θ)。
然后,我们用变分分布来近似教师网络的模型不确定度,即 p ( w | S ∗ , Y ∗ ) ≈ p ( θ ∣ S ∗ , Y ∗ ) p\left( \mathbf{w} \middle| \mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right)\mathbf{\approx}p\left( \mathbf{\theta|}\mathbf{S}^{\mathbf{*}}\mathbf{,}\mathbf{Y}^{\mathbf{*}} \right) p(w∣S∗,Y∗)≈p(θ∣S∗,Y∗)
如何学习: 关键是学习学生网络。给定训练图像及其教师网络的embedding。我们用学生网络来学习高斯分布的参数,然后再通过高斯分布来模拟教师网络的embedding。
具体来说,我们用两个网络,
μ
i
=
f
(
s
i
;
w
μ
)
\mathbf{\mu}_{i} = f\left( \mathbf{s}_{i};\mathbf{w}_{\mathbf{\mu}} \right)
μi=f(si;wμ)和
Σ
i
=
f
(
s
i
;
w
Σ
)
\mathbf{\Sigma}_{i} = f\left( \mathbf{s}_{i};\mathbf{w}_{\mathbf{\Sigma}} \right)
Σi=f(si;wΣ)来表示数据的不确定度
p
(
y
i
∣
s
i
,
w
)
p\left( \mathbf{y}_{i}|\mathbf{s}_{i},\mathbf{w} \right)
p(yi∣si,w),其中
w
=
{
w
μ
,
w
Σ
}
\mathbf{w}\mathbf{=}\left\{ \mathbf{w}_{\mathbf{\mu}}\mathbf{,}\mathbf{w}_{\mathbf{\Sigma}} \right\}
w={wμ,wΣ}。对于模型不确定度,这里简单的用dropout来近似变分分布(可以看成是网络权重的伯努利采样的不确定度,这里直接用dropout是否太简单,用variational
inference会不会更好?可参考论文1506.02142,1505.05424以及《Weight
uncertainty in neural networks》)
我们的模型参数为 ϕ = { w μ , w Σ , μ g , Σ g } \phi = \left\{ \mathbf{w}_{\mathbf{\mu}}\mathbf{,}\mathbf{w}_{\mathbf{\Sigma}}\mathbf{,}\mathbf{\mu}_{g}\mathbf{,}\mathbf{\Sigma}_{g} \right\} ϕ={wμ,wΣ,μg,Σg},学习采用最大似然估计,即最小化观察值 Y = { y 1 , ⋯ , y N } \mathbf{Y} = \left\{ \mathbf{y}_{1},\cdots,\mathbf{y}_{N} \right\} Y={y1,⋯,yN}的负log-likelihood。
整体的loss函数为
min ϕ L s + λ L g + γ L r s + δ L r g (4) \min_{\phi}{\mathcal{L}_{s} + \lambda\mathcal{L}_{g} + \gamma\mathcal{L}_{r_{s}} + \delta\mathcal{L}_{r_{g}}} \tag{4} ϕminLs+λLg+γLrs+δLrg(4)
其中 L r s = 1 2 N ∑ i = 1 N ∥ Σ i ∥ F 2 \mathcal{L}_{r_{s}} = \frac{1}{2N}\sum_{i = 1}^{N}\left\| \mathbf{\Sigma}_{i} \right\|_{F}^{2} Lrs=2N1∑i=1N∥Σi∥F2和 L r g = 1 2 N ∑ i = 1 N ∥ Σ g ∥ F 2 \mathcal{L}_{r_{g}} = \frac{1}{2N}\sum_{i = 1}^{N}\left\| \mathbf{\Sigma}_{g} \right\|_{F}^{2} Lrg=2N1∑i=1N∥Σg∥F2是正则项, L s \mathcal{L}_{s} Ls是学生网络用高斯分布 N ( μ i , Σ i ) \mathcal{N}\left( \mathbf{\mu}_{i},\mathbf{\Sigma}_{i} \right) N(μi,Σi)来表示噪声特征 y i \mathbf{y}_{i} yi的log似然,即
L s = 1 2 ∑ i = 1 N ln ∣ Σ i ∣ + 1 2 Trace ( ∑ i = 1 N Σ i − 1 [ ( y i − μ i ) ( y i − μ i ) T ] ) \mathcal{L}_{s} = \frac{1}{2}\sum_{i = 1}^{N}{\ln{\left| \mathbf{\Sigma}_{i} \right| + \frac{1}{2}}}\text{Trace}\left( \sum_{i = 1}^{N}{\mathbf{\Sigma}_{i}^{- 1}\left\lbrack \left( \mathbf{y}_{i} - \mathbf{\mu}_{i} \right)\left( \mathbf{y}_{i} - \mathbf{\mu}_{i} \right)^{T} \right\rbrack} \right) Ls=21i=1∑Nln∣Σi∣+21Trace(i=1∑NΣi−1[(yi−μi)(yi−μi)T])
L
g
\mathcal{L}_{g}
Lg是population
manifold(即所有人的manifold)的log-likelihood,形式为多元高斯
N
(
μ
g
,
Σ
g
)
\mathcal{N}\left( \mathbf{\mu}_{g},\mathbf{\Sigma}_{g} \right)
N(μg,Σg)。注意与
L
s
\mathcal{L}_{s}
Ls的区别,
L
g
\mathcal{L}_{g}
Lg是总的,所以要对统计所有样本才能算方差,所以求和是在最里面,
L
s
\mathcal{L}_{s}
Ls是对单个人的,loss是考虑所有人,所以求和是在
Σ
i
−
1
\mathbf{\Sigma}_{i}^{- 1}
Σi−1之外。
L g = N 2 ln ∣ Σ g ∣ + 1 2 Trace ( Σ g − 1 ∑ i = 1 N [ ( y i − μ g ) ( y i − μ g ) T ] ) \mathcal{L}_{g} = \frac{N}{2}\ln{\left| \mathbf{\Sigma}_{g} \right| + \frac{1}{2}\text{Trace}\left( \mathbf{\Sigma}_{g}^{- 1}\sum_{i = 1}^{N}\left\lbrack \left( \mathbf{y}_{i} - \mathbf{\mu}_{g} \right)\left( \mathbf{y}_{i} - \mathbf{\mu}_{g} \right)^{T} \right\rbrack \right)} Lg=2Nln∣Σg∣+21Trace(Σg−1i=1∑N[(yi−μg)(yi−μg)T])
为了计算方便,我们假设协方差矩阵 Σ \mathbf{\Sigma} Σ是一个对角阵,这也意味着我们假设embedding的各个维度的不确定度是独立的。这个假设会带来两个便利:1)学生网络只需要预测协方差矩阵的对角元素;2)半正定约束在对角矩阵中,只需要保证对角元素非负即可。由于对角元素非负,我们可以计算对角元素的log值, l j = log σ j 2 l_{j} = \log\sigma_{j}^{2} lj=logσj2。(为什么要强调非负呢,方差不是一定为正吗,关键原因是这是网络预测的,不是计算出来的),基于此假设,我们可以简化
L s = 1 2 ∑ i = 1 N ∑ j = 1 d l i j + 1 2 ∑ i = 1 N ∑ j = 1 d ( y i j − μ i j ) 2 exp ( l i j ) \mathcal{L}_{s} = \frac{1}{2}\sum_{i = 1}^{N}{\sum_{j = 1}^{d}l_{i}^{j}} + \frac{1}{2}\sum_{i = 1}^{N}{\sum_{j = 1}^{d}\frac{\left( y_{i}^{j} - \mu_{i}^{j} \right)^{2}}{\exp\left( l_{i}^{j} \right)}} Ls=21i=1∑Nj=1∑dlij+21i=1∑Nj=1∑dexp(lij)(yij−μij)2
同样,我们可以对 L g 、 L r s 、 L r g \mathcal{L}_{g}、\mathcal{L}_{r_{s}}、\mathcal{L}_{r_{g}} Lg、Lrs、Lrg进行简化。
在实际学习参数时,我们用所有训练样本的平均脸作为 μ g \mathbf{\mu}_{g} μg,然后学习其他三组参数 { w μ , w Σ , Σ g } \left\{ \mathbf{w}_{\mathbf{\mu}}\mathbf{,}\mathbf{w}_{\mathbf{\Sigma}}\mathbf{,}\mathbf{\Sigma}_{g} \right\} {wμ,wΣ,Σg}
推断: 对于一张人脸图像 s \mathbf{s} s,数据不确定度可以如下计算
μ = f ( s ; w μ ) \mathbf{\mu} = f\left( \mathbf{s};\mathbf{w}_{\mathbf{\mu}} \right) μ=f(s;wμ)
Σ = f ( s , w Σ ) \mathbf{\Sigma} = f\left( \mathbf{s},\mathbf{w}_{\mathbf{\Sigma}} \right) Σ=f(s,wΣ)
模型不确定度可以通过对模型参数 w \mathbf{w} w的不同采样求蒙特卡洛积分得到。具体来说,对 w \mathbf{w} w的不同采样通过dropout来实现,经过 T T T轮估计,最终可得模型不确定度可通过蒙特卡洛积分计算
μ ^ i = 1 T ∑ t = 1 T μ i t Σ ^ i = 1 T ∑ t = 1 T ( μ i t − μ ^ i ) ( μ i t − μ ^ i ) T + 1 T ∑ t = 1 T Σ i t {{\widehat{\mu}}_{i} = \frac{1}{T}\sum_{t = 1}^{T}\mu_{i}^{t} }{{\widehat{\Sigma}}_{i} = \frac{1}{T}\sum_{t = 1}^{T}{\left( \mu_{i}^{t} - {\widehat{\mu}}_{i} \right)\left( \mu_{i}^{t} - {\widehat{\mu}}_{i} \right)^{T}} + \frac{1}{T}\sum_{t = 1}^{T}\Sigma_{i}^{t}} μ i=T1t=1∑TμitΣ i=T1t=1∑T(μit−μ i)(μit−μ i)T+T1t=1∑TΣit
其中 μ i t \mu_{i}^{t} μit和 Σ i t \Sigma_{i}^{t} Σit是学生网络预测的数据不确定度
manifold approximation
近似manifold的方法可以有参数化和无参数化两种,参数化的方法(比如多元高斯)计算简单,泛化性能好,但对density和support的估计没那么准(相当于模型的bias偏大,但variance正常),无参数化方法则相反(bias小而variance大)。本文采用参数化方法
,在embedding投影的低维空间中使用多元高斯模型来近似population和单个类别的manifold的近似。
之所以要选择多元高斯,是因为(1)从概率的角度来看,更鲁棒、计算manifold的密度更简单;(2)从几何角度来看,多元高斯假设manifold呈超椭球,这在计算指定误报下的manifold的support和volume有好处;(3)通过MDS得到的低维映射本身包含了将同一人的图像聚在一起的要求,所以使用
高斯分布来近似manifold也是合理的
计算方法如下,population embedding的均值计算方法为 μ y c = 1 C ∑ c = 1 C μ ^ c \mathbf \mu_{{\mathbf y}_c} = \frac 1 C \sum_{c=1}^C \mathbf{\hat \mu}^c μyc=C1∑c=1Cμ^c,其中 μ ^ c = 1 N c ∑ i = 1 N c μ ^ i c \mathbf{\hat \mu}^c = \frac 1 {N_c} \sum_{i=1}^{N_c}\mathbf{\hat \mu}_i^c μ^c=Nc1∑i=1Ncμ^ic。population embedding的方差 Σ y c \Sigma_{ \mathbf{y}_c} Σyc估计如下
KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at position 25: …ligned} \tilde \̲m̲a̲t̲h̲b̲f̲ ̲\Sigma^c &= \un…
Σ z c = 1 N c T ∑ i = 1 N c ∑ t = 1 T [ ( μ i t − μ ^ i ) ( μ i t − μ ^ i ) T + Σ i t ] (9) \Sigma_{ \mathbf{z}_c}= \frac{1}{N_cT}\sum_{i=1}^{N_c}\sum_{t=1}^{T} \left[ \left( \mathbf{\mu}_i^t - \mathbf{\hat{\mu}}_i \right) \left( \mathbf{\mu}_i^t - \mathbf{\hat{\mu}}_i \right)^T + \mathbf \Sigma_i^t \right] \tag{9} Σzc=NcT1i=1∑Nct=1∑T[(μit−μ^i)(μit−μ^i)T+Σit](9)
model capacity
下面我们要建立population和单个类的manifold与FAR的函数关系
我们用一个多元高斯分布来建模population manifold,对每一个类的噪声embedding也用一个多元高斯模型来建模。在此设定下,判别函数决定了决策边界以及分类正确率。
如何引入FAR呢?实际上,对于二分类来说,分类面决定了阈值,从而关联到FAR。对于多类分类来说,判别函数是被所有两两分类的分类面包围的表面(如下图黄色区域),可以渐进的用超椭球表示
该超椭球的support可以用可以接受的FAR来决定。
在多类分类设定下,capacity估计问题可以等价于ellipse packing问题,即估计在一个大椭球里,最多可以包裹多少个小椭球的问题(对于人脸识别来说,大椭球是所有人撑起的空间,小椭球是单个人)。超椭球的容量
V
V
V对应于马氏距离
r
2
=
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
r^2=(x-\mu)^T\Sigma^{-1}(x-\mu)
r2=(x−μ)TΣ−1(x−μ),其中,协方差矩阵
Σ
\Sigma
Σ计算公式为
V
=
V
d
∣
Σ
∣
1
2
r
d
V=V_d \left| \Sigma \right|^{\frac{1}{2}}r^d
V=Vd∣Σ∣21rd,其中
V
d
V_d
Vd为d维超球的容量。人脸特征的capacity的上限可以用population的volume和单个人的volume之比
来计算
C
≤
(
V
y
c
,
z
c
V
z
c
)
=
(
V
d
∣
Σ
y
c
+
Σ
z
c
∣
1
2
r
y
c
d
V
d
∣
Σ
z
c
∣
1
2
r
z
c
d
)
=
(
∣
Σ
y
c
+
Σ
z
c
∣
1
2
r
y
c
d
∣
Σ
z
c
1
2
∣
r
z
c
d
)
=
(
∣
Σ
ˉ
y
c
,
z
c
∣
1
2
∣
Σ
ˉ
z
c
∣
1
2
)
(10)
\begin{aligned} C & \le \left( \frac{V_{y_c,z_c}}{V_{z_c}} \right)\\ &= \left( \frac{V_d \left| \Sigma_{y_c} + \Sigma_{z_c}\right|^{\frac{1}{2}} r_{y_c}^d}{V_d \left| \Sigma_{z_c} \right|^{\frac{1}{2}} r_{z_c}^d} \right) = \left( \frac{\left| \Sigma_{y_c} + \Sigma_{z_c}\right|^{\frac{1}{2}}r_{y_c}^d}{\left| \Sigma_{z_c}^{\frac{1}{2}} \right|r_{z_c}^d} \right) \\ &= \left( \frac{\left| \bar\Sigma_{y_c,z_c} \right|^{\frac{1}{2}} }{\left| \bar \Sigma_{z_c} \right|^{\frac{1}{2}}} \right) \tag{10}\\ \end{aligned}
C≤(VzcVyc,zc)=(Vd∣Σzc∣21rzcdVd∣Σyc+Σzc∣21rycd)=⎝
⎛∣
∣Σzc21∣
∣rzcd∣Σyc+Σzc∣21rycd⎠
⎞=⎝
⎛∣
∣Σˉzc∣
∣21∣
∣Σˉyc,zc∣
∣21⎠
⎞(10)
其中, V y c , z c V_{y_c,z_c} Vyc,zc为population超椭球的容量, V z c V_{z_c} Vzc为单个类的容量。population超椭球的size r y c r_{y_c} ryc通过设定包含多少个人(类别)来确定, r z c r_{z_c} rzc决定了单个类别的size。 Σ ˉ y c , z c \bar \Sigma_{y_c,z_c} Σˉyc,zc以及 Σ ˉ z c \bar \Sigma_{z_c} Σˉzc为包围进来的population和单个类的effective size
实际如何做
设
Ω
=
{
x
∣
r
2
≥
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
}
\Omega=\{ x | r^2 \ge (x-\mu)^T \Sigma^{-1} (x-\mu)\}
Ω={x∣r2≥(x−μ)TΣ−1(x−μ)}为图中黄色的超椭球,不失一般性的,假设单个类的超椭球中心在原点,则误报
q
q
q可以计算如下
q
=
1
−
∫
x
∈
Ω
1
(
2
π
)
d
∣
Σ
∣
exp
(
−
x
T
Σ
−
1
x
2
)
d
x
q=1-\int_{x\in\Omega} \frac{1}{\sqrt{(2\pi)^d\left| \Sigma \right|}}\exp \left( -\frac{x^T\Sigma^{-1}x}{2} \right) dx
q=1−∫x∈Ω(2π)d∣Σ∣1exp(−2xTΣ−1x)dx
设
y
=
Σ
−
1
2
x
y=\Sigma^{-\frac{1}{2}}x
y=Σ−21x,则有
Ω
=
{
y
∣
r
2
≥
y
T
y
}
\Omega=\{y|r^2 \ge y^Ty\}
Ω={y∣r2≥yTy},q为
q
=
1
−
∫
y
∈
Ω
1
(
2
π
)
d
exp
(
−
y
T
y
2
)
d
y
(12)
q=1-\int_{y\in\Omega}\frac{1}{\sqrt{(2\pi)^d}}\exp \left( -\frac{y^Ty}{2} \right) dy \tag{12}
q=1−∫y∈Ω(2π)d1exp(−2yTy)dy(12)
其中,
{
y
1
,
⋯
,
y
n
}
\{y_1,\cdots,y_n\}
{y1,⋯,yn}为独立的标准归一化的随机变量。马氏距离
r
2
r^2
r2服从卡方分布
χ
2
(
r
2
,
d
)
\chi^2(r^2,d)
χ2(r2,d),自由度为
d
d
d,
1
−
q
1-q
1−q为卡方分布
χ
2
(
r
2
,
d
)
\chi^2(r^2,d)
χ2(r2,d)的CDF(为什么?),所以,给定FAR
q
q
q,对应的马氏距离
r
z
c
r_{z_c}
rzc可以从卡方分布的inverse CDF计算得到。同样,population超椭球的size
r
y
c
r_{y_c}
ryc
可以从
χ
2
(
r
y
2
,
d
)
\chi^2(r_y^2,d)
χ2(ry2,d)的inverse CDF计算得到。然后就可以计算得到capacity
C
C
C
算法流程如下
实验
数据集
CASIA: 训练教师学生网络
LFW & IJB-A/B/C: 估计教师网络的capacity
Face Representation performance
学生网络:每个卷积层以及manifold projection之前都有dropout
manifold projection and unfolding部分使用CASIA WebFace来训练,训练样本为随机选择的
x
i
x_i
xi和
y
i
y_i
yi。使用ADAM,正则化参数为
λ
=
3
×
1
0
−
4
\lambda = 3 \times 10^{-4}
λ=3×10−4,
用cos学习率下降方式对训练mapping至关重要
学生网络的训练目标是优化公式(4)中的loss。卷积的dropout ratio为0.05,FC层为0.2
inference阶段,每张图都过学生网络1000遍,然后计算蒙特卡洛积分来计算image embedding的均值和方差
实验: 在LFW、IJB-A、IJB-B、IJB-C来评估。
实验结果如下
说明学生网络能接近教师网络的性能
Face Representation Capacity
实现细节
我们用公式10来估计模型的capacity,对于每个测试集,都需要估计population的
Σ
y
c
\Sigma_{y_c}
Σyc和单个类的
Σ
z
c
\Sigma_{z_c}
Σzc,具体计算是在inference时加入dropout,对每张图进行1000次
前向,为了去除outlier的影响,对于LFW,我们选择2张以上的类,对于IJB-A/B/C,则选择5张以上的类。