论文阅读笔记:Unsupervised Feature Learning via Non-Parametric Instance Discrimination

Unsupervised Feature Learning via Non-Parametric Instance Discrimination

论文下载地址

github代码地址

Summary

这篇论文主要论述如何通过非参数的实例判别进行无监督的特征学习。本文使用CNN backbone,原始图片输入网络后输出一个经过L2标准化的128维向量,通过Non-Parametric Softmax Classifier计算每个单一样本被识别正确的概率,同时使用Memory Bank存储特征向量,通过NCE来近似估计softmax的数值减少计算复杂度,最后使用Proximal Regularization稳定训练过程的波动性。主要的思想是将每个单一实例都看作不同的“类”

Problem Statement

  • 许多有监督模型的成功依赖于其背后大量的带标签数据,而获取带标签的数据往往是需要巨大的成本或者难以实现的。
  • 能否仅通过特征表示表示来区分不同的实例。
  • 能否通过纯粹的判别学习(discriminative learning)反应样例间的相似性。
  • 将不同个例都看作不同的“类”,那么这个数量将是巨大的,如何进行处理。

Research Object

在无监督的情况下学习从实例本身到其特征表示的映射 v = f θ ( x ) v=f_\theta(x) v=fθ(x)

Methods

在这里插入图片描述

1.Non-Parametric Softmax Classifier

  • Parametric Classifier

    在传统的参数softmax函数中,对图片 x x x及特征 v = f θ ( x ) v=f_\theta (x) v=fθ(x),被识别为第 i i i的样例的概率为:

    P ( i ∣ v ) = e x p ( w i T v ) ∑ j = 1 n e x p ( w j T v ) P(i|v)=\frac {exp(w_i^{T}v)} {\sum_{j=1}^n exp(w_j^Tv)} P(iv)=j=1nexp(wjTv)exp(wiTv)

  • Non-Parametric Classifier

    使用 v i T v v_i^{T}v viTv来替换 w i T v w_i^{T}v wiTv τ \tau τ用来控制concentration level of distribution。

    P ( i ∣ v ) = e x p ( v i T v / τ ) ∑ j = 1 n e x p ( v j T v / τ ) P(i|v)=\frac {exp(v_i^{T}v/\tau)} {\sum_{j=1}^n exp(v_j^Tv/\tau)} P(iv)=j=1nexp(vjTv/τ)exp(viTv/τ)

  • Mermory Bank

    使用Mermory Bank V 来存储上述的{ v j v_j vj},在每个iteration对应修改其值 f i → v i f_i\to v_i fivi,在初始化时通过单位随机向量对V进行初始化。

2.Noise-Contrastive Estimation

当n特别大时计算Non-Parametric Softmax的开销过大,于是使用NCE来估算。其基本思想是将多分类问题转化为一组二分类问题,其中二分类任务是区分数据样本和噪声样本。

Memory bank中特征表示 v v v对应于第 i i i个样例的概率为:

P ( i ∣ v ) = e x p ( v T f i / τ ) Z i P(i|v)=\frac {exp(v^{T}f_i/\tau)} {Z_i} P(iv)=Ziexp(vTfi/τ)

Z i = ∑ j = 1 n e x p ( v T f i / τ ) Z_i=\sum_{j=1}^n exp(v^{T}f_i/\tau) Zi=j=1nexp(vTfi/τ)

我们设定噪声分布为一个均匀分布: P n = 1 / n P_n=1/n Pn=1/n,假设噪声样本的频率是数据样本的 m m m倍,那么样本 i i i及特征 v v v来自数据分布( D = 1 D=1 D=1)的后验概率为:

h ( i , v ) : = P ( D = 1 ∣ i , v ) = P ( i ∣ v ) P ( i ∣ v ) + m P n ( i ) h(i,v):=P(D=1|i,v)=\frac {P(i|v)}{P(i|v)+mP_n(i)} h(i,v):=P(D=1i,v)=P(iv)+mPn(i)P(iv)

训练目标为最小化 J N C E ( θ ) = − E P d [ log ⁡ h ( i , v ) ] − m ⋅ E P n [ log ⁡ ( 1 − h ( i , v ′ ) ] J_{NCE}(\theta)=-E_{P_d}[\log h(i,v)]-m \cdot E_{P_n}[\log(1-h(i,v^\prime)] JNCE(θ)=EPd[logh(i,v)]mEPn[log(1h(i,v)]

其中, P d P_d Pd指代真实数据分布,对 P d P_d Pd而言 v v v x i x_i xi的特征; v ′ v^\prime v是来自另一幅图片,从噪声分布 P n P_n Pn中随机采样得到。注: v v v v ′ v^\prime v都是从Memory Bank中采样得到的。

Z i Z_i Zi的计算量过大,我们把它当作常量,由蒙特卡罗算法估计得到:

Z ≈ Z i ≈ n E j [ e x p ( v j T f i / τ ) ] = n m ∑ k = 1 m e x p ( v j k T f i / τ ) Z\approx Z_i\approx nE_j[exp(v_j^Tf_i/\tau)]=\frac {n}{m}\sum_{k=1}^m exp(v_{j_k}^Tf_i/\tau) ZZinEj[exp(vjTfi/τ)]=mnk=1mexp(vjkTfi/τ)

{ j k j_k jk}是indices的随机子集,NCE将每个样例的计算复杂度从 O ( n ) O(n) O(n)减少到 O ( 1 ) O(1) O(1)

3.Proximal Regularization

由于每个“类”只有1个样例,在每个epoch中,一个“类”只被访问一次,训练的过程比较不稳定。

假设在 t t t次iteration时, v i ( t ) = f θ ( x i ) v_i^{(t)}=f_\theta(x_i) vi(t)=fθ(xi),memory bank的值 V = v ( t − 1 ) V={v^{(t-1)}} V=v(t1),对于 P d P_d Pd的loss function定义为: − log ⁡ h ( i , v i ( t − 1 ) ) + λ ∣ ∣ v i ( t ) − v i ( t − 1 ) ∣ ∣ 2 2 -\log h(i,v_i^{(t-1)})+\lambda||v_i^{(t)}-v_i^{(t-1)}||^2_2 logh(i,vi(t1))+λvi(t)vi(t1)22

总的loss function为: J N C E ( θ ) = − E P d [ log ⁡ h ( i , v ) − λ ∣ ∣ v i ( t ) − v i ( t − 1 ) ∣ ∣ 2 2 ] − m ⋅ E P n [ log ⁡ ( 1 − h ( i , v ′ ) ] J_{NCE}(\theta)=-E_{P_d}[\log h(i,v)-\lambda||v_i^{(t)}-v_i^{(t-1)}||^2_2]-m \cdot E_{P_n}[\log(1-h(i,v^\prime)] JNCE(θ)=EPd[logh(i,v)λvi(t)vi(t1)22]mEPn[log(1h(i,v)]

使用后效果如图:
在这里插入图片描述

4.Weighted k-Nearest Neighbor Classifier

进行测试,根据余弦相似度与Memory Bank进行对比,选出最相近的k个样例,根据样例的类别与自身的实际类别判定是否查询正确。

Experiment

1.在CIFAR-10上比较Parametric Softmax和Non-Parametric Softmax

在这里插入图片描述

2.在ImageNet上比较本方法和其它无监督学习方法

在这里插入图片描述
图上conv1~conv5下面对应的Accuracy是对应网络相应层输出的特征输入线性SVM得到的结果,kNN下面的Accuracy是最后128D维特征向量输入kNN得到的结果。可以看出来,当层数加深时,我们使用的方法的Accurary一直增加,而别的无监督学习方式则是呈下降的趋势,说明我们的方法对更深层的网络具有良好的适应性。
在这里插入图片描述
上图是直接使用之前训练好的模型进行测试的结果。
在这里插入图片描述
特征向量维数对top-1 accuracy的影响。
在这里插入图片描述
训练集大小对accuracy的影响。

3.半监督学习任务上的应用在这里插入图片描述
4.目标检测任务上的应用

在这里插入图片描述

Notes

如果有补充,再来更新。

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封闭回路的无监督学习结构化表示 封闭回路的无监督学习结构化表示是一种机器学习方法,旨在通过建立闭环反馈以自动地学习数据之间的结构化表示。在无监督学习中,我们通常没有标签的辅助信息,因此要求模型能够从数据中自动发现隐藏的结构和模式。 封闭回路的无监督学习方法的关键思想是通过对模型输出和输入进行比较来进行训练。在这个闭环中,模型的输出被重新注入到模型的输入中,从而形成了一个持续的迭代过程。模型通过调整自身的参数来最小化输入和输出之间的差异,以此来改善所学到的表示。 使用封闭回路进行无监督学习的一个例子是自编码器。自编码器是一种神经网络模型,它的输入和输出都是相同的。模型的目标是通过学习如何将输入编码为一个低维的表示,并且能够从这个低维表示中重构出输入。在训练过程中,自编码器通过最小化输入和重构输出之间的差异来调整自身的参数。 封闭回路的无监督学习方法有许多优点。首先,由于无需标签,这种方法可以适用于大量未标记的数据。其次,学习到的结构化表示可以用于许多任务,如数据压缩、降噪、特征提取等。此外,通过引入封闭回路,模型可以在训练过程中不断自我纠正,从而改善表示的质量。 总之,封闭回路的无监督学习方法通过建立闭环反馈来自动地学习数据之间的结构化表示。该方法可以应用于无标签数据,并且通过迭代过程来不断改善所学到的表示。这种方法在很多任务中都具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值