论文阅读笔记:Improving Generalization via Scalable Neighborhood Component Analysis
Problem Statement
- Parametric Softmax适用于带标签的大数据训练,而应用在开放式场景中(有新类别、样本少)是不可取的。
- Non-Paramertric embedding的各种方法有被用来处理视觉任务,但是并没有取得有竞争力的结果(如在ImageNet、MSCOCO)。
Research Object
- 通过优化特征embeddings取代parametric classifiers来处理视觉任务。
- 发掘Non-Parametric methods的泛化能力。
Contributions
- 改进NCA来处理大规模的数据集和深层的神经网络,使用augmented memory来存储non-parametric embeddings。
- 证明最近邻分类器可以在ImageNet这种具有挑战性的数据集上取得优秀的表现,媲美parametric methods。
- 训练出来的features具有良好的泛化能力,可应用于子类别识别和小样本识别。
Methods
图片到特征的映射:
v
=
f
θ
(
x
)
v=f_\theta(x)
v=fθ(x),
θ
\theta
θ来自数据集
D
D
D,
D
′
D^\prime
D′指进行搜索的数据集,有3种情况:
1. D ′ = D D^\prime=D D′=D,这样就是closed-set recognition如ImageNet;
2. D ′ D^\prime D′有标签,但是和 D D D不同,这样就是open-set recognition如子类别识别和小样本识别;
3. D ′ D^\prime D′有标签不完整,可用于泛化的基于内容的图像检索。
1.Neighborhood Component Analysis
-
Non-parametric formulation of classification
s i j s_{ij} sij表示样本 i i i和 j j j的相似程度( v i v_i vi和 v j v_j vj经过l2标准化): s i j = c o s ( ϕ ) = v i T ∣ v i ∣ ∣ v j ∣ = v i T v j s_{ij}=cos(\phi)=\frac {v_i^T}{|v_i||v_j|}=v_i^Tv_j sij=cos(ϕ)=∣vi∣∣vj∣viT=viTvj
x i x_i xi选择 x j x_j xj作为其邻居的概率为: p i j = e x p ( s i j / σ ) ∑ k ≠ i e x p ( s i k / σ ) , p i i = 0 p_{ij}=\frac {exp(s_{ij}/\sigma)}{\sum_{k\neq i}exp(s_{ik}/\sigma)},p_{ii}=0 pij=∑k=iexp(sik/σ)exp(sij/σ),pii=0
让 Ω i = { j ∣ y j = y i } \Omega_i=\lbrace j|y_j=y_i \rbrace Ωi={j∣yj=yi}表示和 x i x_i xi具有相同标签的图片的下标集合,那么 x i x_i xi被正确识别的概率为 p i = ∑ j ∈ Ω i p i j p_i=\sum_{j\in \Omega_i}p_{ij} pi=∑j∈Ωipij
那么全局目标就是最小化 J = 1 n ∑ i J i = − 1 n log ( p i ) J=\frac {1}{n} \sum_i J_i = - \frac{1}{n}\log(p_i) J=n1∑iJi=−n1log(pi)
梯度计算:
∂ J i ∂ v i = 1 σ ∑ k p i k v k − 1 σ ∑ k ∈ Ω i p ~ i k v k \frac {\partial J_i}{\partial v_i}=\frac {1}{\sigma} \sum_k p_{ik}v_k -\frac {1}{\sigma} \sum_{k\in \Omega_i}\tilde{p}_{ik} v_k ∂vi∂Ji=σ1k∑pikvk−σ1k∈Ωi∑p~ikvk
∂ J i ∂ v j = { 1 σ ( p i j − p ~ i j ) v i , j ∈ Ω i 1 σ p i j v i , j ∉ Ω i \frac {\partial J_i}{\partial v_j}= \begin{cases} \frac{1}{\sigma}(p_{ij}-\tilde{p}_{ij})v_i, j \in \Omega_i \\ \frac{1}{\sigma}p_{ij}v_i, j\notin\Omega_i \end{cases} ∂vj∂Ji={σ1(pij−p~ij)vi,j∈Ωiσ1pijvi,j∈/Ωi
p ~ i k = p i k / ∑ j ∈ Ω i p i j \tilde{p}_{ik}=p_{ik}/\sum_{j\in \Omega_i}p_{ij} p~ik=pik/j∈Ωi∑pij
-
Differences from parametric softmax
主要区别还是在于一个是对样本分类,一个是对样本之间的相关性进行计算。
-
Computational challenges for learning
为了减少计算的复杂度,采取以下两个措施:
1.只计算 ∂ J i / ∂ v i {\partial J_i}/{\partial v_i} ∂Ji/∂vi而不计算 ∂ J i / ∂ v j {\partial J_i}/{\partial v_j} ∂Ji/∂vj;
2.只计算 ∂ J i / ∂ v i {\partial J_i}/{\partial v_i} ∂Ji/∂vi的开销也比较大,使用augmented memory来存储embeddings。
2.Learning with Augmented Memory
我们将整个数据集的特征表示作为augmented non-parametric memory,
假设当前正开始第 t + 1 t+1 t+1次iteration,网络参数为 θ ( t ) \theta^{(t)} θ(t),Memory为 M ( t ) = { v 1 ( t ) , v 2 ( t ) , . . . , v n ( t ) } M^{(t)}=\lbrace v_1^{(t)},v_2^{(t)},...,v_n^{(t)} \rbrace M(t)={v1(t),v2(t),...,vn(t)}
因为Memory总是随着迭代而不断变换,可以近似地认为 v i ( t ) ≈ f θ ( t ) ( x i ) , i = 1 , 2 , . . . , n v_i^{(t)}\approx f_{\theta^{(t)}}(x_i),i=1,2,...,n vi(t)≈fθ(t)(xi),i=1,2,...,n
那么在计算梯度时可以近似为: ∂ J i ∂ v i = 1 σ ∑ k p i k v k ( t ) − 1 σ ∑ k ∈ Ω i p ~ i k v k ( t ) \frac {\partial J_i}{\partial v_i}=\frac {1}{\sigma} \sum_k p_{ik}v_k^{(t)} -\frac {1}{\sigma} \sum_{k\in \Omega_i}\tilde{p}_{ik} v_k^{(t)} ∂vi∂Ji=σ1k∑pikvk(t)−σ1k∈Ωi∑p~ikvk(t)
再计算网络参数 θ \theta θ的梯度 ∂ J i ∂ θ = ∂ J i ∂ v i ⋅ ∂ v i ∂ θ \frac {\partial J_i}{\partial \theta}=\frac {\partial J_i}{\partial v_i}\cdot\frac {\partial v_i}{\partial \theta} ∂θ∂Ji=∂vi∂Ji⋅∂θ∂vi
另外每次算完 v i v_i vi后,对Memory进行如下更新: v i ( t + 1 ) ← m ⋅ v i ( t ) + ( 1 − m ) ⋅ v i v_i^{(t+1)}\leftarrow m\cdot v_i^{(t)}+(1-m)\cdot v_i vi(t+1)←m⋅vi(t)+(1−m)⋅vi。
Experiment
1.在ImageNet ILSVRC挑战上进行性能度量,ResNet作为基本结构,kNN进行测试准确度;
2.sub-category discovery,只对粗粒度标注进行训练,转移用于细粒度的标签预测;
3.few-shot recognition。
Conclusion
我们提出了一种用于视觉识别的非参数近邻方法。我们学习CNN将图像嵌入到低维特征空间中,其中图像之间的距离度量根据NCA准则保存分类标签的语义结构。我们通过使用外部扩充存储来处理NCA的计算需求,从而使得NCA可扩展用于大数据集和深层神经网络。我们的实验不仅为这种简单的非参数方法提供了对ImageNet分类的显著性能,但最重要的是,对于子类别发现和小样本识别而言,最重要的是更通用的特征表示。在未来,需要重新研究非参数化方法,用于其他视觉识别问题,如检测和分割。
Notes
类的显著性能,但最重要的是,对于子类别发现和小样本识别而言,最重要的是更通用的特征表示。在未来,需要重新研究非参数化方法,用于其他视觉识别问题,如检测和分割。