On the capacity of face representation

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} xRp,即 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} PRp的低维的population
manifold
M ∈ R m \mathcal{M \in}\mathbb{R}^{m} MRm。在该模型下,一个身份为 c c c的人脸特征组成了一个manifold
M c ⊆ M \mathcal{M}_{c} \subseteq \mathcal{M} McM。直接估计这些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+λθM22(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+xi2xj2xiTxj 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)=yiyj2(为什么两个不一样?)

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(yS,Y)=p(ys,S,Y)p(s∣S,Y)ds=p(ys,θ)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(ys,θ)是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(yisi,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(yisi,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(wS,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(yisi,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=2N1i=1NΣiF2 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=2N1i=1NΣgF2是正则项, 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=1NlnΣi+21Trace(i=1NΣi1[(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} Σi1之外。

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(Σg1i=1N[(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=1Nj=1dlij+21i=1Nj=1dexp(lij)(yijμij)2

同样,我们可以对 L g 、 L r s 、 L r g \mathcal{L}_{g}、\mathcal{L}_{r_{s}}、\mathcal{L}_{r_{g}} LgLrsLrg进行简化。

在实际学习参数时,我们用所有训练样本的平均脸作为 μ 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=1TμitΣ i=T1t=1T(μitμ i)(μitμ i)T+T1t=1TΣ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=C1c=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=Nc1i=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=1Nct=1T[(μ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Σzc21rzcdVdΣyc+Σzc21rycd)= Σzc21 rzcdΣyc+Σzc21rycd = Σˉ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)\} Ω={xr2(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=1xΩ(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\} Ω={yr2yTy},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=1yΩ(2π)d 1exp(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 1q为卡方分布 χ 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

算法流程如下
algorithm1

实验

数据集

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×104
用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张以上的类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值