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函数中,对图片xxx及特征v=fθ(x)v=f_\theta (x)v=fθ​(x),被识别为第iii的样例的概率为:

    P(i∣v)=exp(wiTv)∑j=1nexp(wjTv)P(i|v)=\frac {exp(w_i^{T}v)} {\sum_{j=1}^n exp(w_j^Tv)} P(i∣v)=∑j=1n​exp(wjT​v)exp(wiT​v)​

  • Non-Parametric Classifier

    使用viTvv_i^{T}vviT​v来替换wiTvw_i^{T}vwiT​v,τ\tauτ用来控制concentration level of distribution。

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

  • Mermory Bank

    使用Mermory Bank V 来存储上述的{vjv_jvj​},在每个iteration对应修改其值fi→vif_i\to v_ifi​→vi​,在初始化时通过单位随机向量对V进行初始化。

2.Noise-Contrastive Estimation

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

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

P(i∣v)=exp(vTfi/τ)ZiP(i|v)=\frac {exp(v^{T}f_i/\tau)} {Z_i} P(i∣v)=Zi​exp(vTfi​/τ)​

Zi=∑j=1nexp(vTfi/τ)Z_i=\sum_{j=1}^n exp(v^{T}f_i/\tau)Zi​=j=1∑n​exp(vTfi​/τ)

我们设定噪声分布为一个均匀分布:Pn=1/nP_n=1/nPn​=1/n,假设噪声样本的频率是数据样本的mmm倍,那么样本iii及特征vvv来自数据分布(D=1D=1D=1)的后验概率为:

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

训练目标为最小化 JNCE(θ)=−EPd[log⁡h(i,v)]−m⋅EPn[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)]−m⋅EPn​​[log(1−h(i,v′)]

其中,PdP_dPd​指代真实数据分布,对PdP_dPd​而言vvv是xix_ixi​的特征;v′v^\primev′是来自另一幅图片,从噪声分布PnP_nPn​中随机采样得到。注:vvv和v′v^\primev′都是从Memory Bank中采样得到的。

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

Z≈Zi≈nEj[exp(vjTfi/τ)]=nm∑k=1mexp(vjkTfi/τ)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)Z≈Zi​≈nEj​[exp(vjT​fi​/τ)]=mn​k=1∑m​exp(vjk​T​fi​/τ)

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

3.Proximal Regularization

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

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

总的loss function为:JNCE(θ)=−EPd[log⁡h(i,v)−λ∣∣vi(t)−vi(t−1)∣∣22]−m⋅EPn[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(t−1)​∣∣22​]−m⋅EPn​​[log(1−h(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

如果有补充,再来更新。

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

  1. 论文阅读笔记:SCAN: Learning to Classify Images without Labels

    论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...

  2. 论文阅读|node2vec: Scalable Feature Learning for Networks

    论文阅读|node2vec: Scalable Feature Learning for Networks 文章目录 论文阅读|node2vec: Scalable Feature Learning ...

  3. 论文阅读笔记之《Learning Deep Correspondence through Prior and Posterior Feature Constancy》

    本篇博客记录一下最近看的一篇KITTI2015上排名第二的网络结构iResNet-i2e2 一 论文贡献 二 基础知识 a 贝叶斯推导 b 概念解释 三 iResNet-i2e2的网络结构 1 组成 ...

  4. 论文阅读笔记《SuperGlue:Learning Feature Matching with Graph Neural Networks》

    核心思想   本文提出一种基于图神经网络的特征点匹配方法,把图像中的特征点看作图的节点,通过注意力机制聚合特征信息,得到用于匹配的特征向量.然后把匹配问题看作一个可微的最优运输问题(different ...

  5. 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关工作 神经投影网络(Neural Projection Networks) Pro ...

  6. 自监督论文阅读笔记 Urban feature analysis from aerial remote sensing imagery using self-supervised and semi-s

    "Urban feature analysis from aerial remote sensing imagery using self-supervised and semi-super ...

  7. 论文阅读笔记——[MPN]: Multi-task Learning with Coarse Priors for Robust Part-aware Person Re-identification

    论文:Multi-task Learning with Coarse Priors for Robust Part-aware Person Re-identification TPAMI 2022 ...

  8. 论文阅读笔记--Federated Continual Learning with Weighted Inter-client Transfer

    本文提出了一种新的场景,联邦学习(FL)的每个client各自执行一系列的持续学习(Continual Learning)任务,为了说明这个场景的实际意义,文章给出了这样一个场景: 若干个医院要通过一 ...

  9. 论文阅读笔记《Few-Shot Learning with Global Class Representations》

    小样本学习&元学习经典论文整理||持续更新 核心思想   本文提出一种基于度量学习的小样本学习算法.与其他算法将训练集分成基础类别和新类别,进行两个阶段的训练方式不同,本文将包含大量样本的基础 ...

  10. 论文阅读笔记《Meta-Transfer Learning for Few-Shot Learning》

    小样本学习&元学习经典论文整理||持续更新 核心思想   本文提出一种基于迁移学习的元学习算法(Meta-Transfer Learning,MTL)用于解决小样本学习问题,通过对深层卷积神经 ...

最新文章

  1. spring mvc异常统一处理(ControllerAdvice注解)
  2. VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能...
  3. easyui表格编辑事件_Unity手游开发札记——从Odin插件聊基于元数据的编辑器实现
  4. fzu 2139 久违的月赛之二
  5. SQL语句中大于等于小于的写法
  6. android studio debug设置,在Android Studio中使用Flutter进行调试时如何“设置值...”
  7. .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑
  8. 个人总结:网站优化之title、meta、keywords写法
  9. 【NOI2002】银河英雄传说
  10. php session失效
  11. 塔望3W消费战略全案|绿力冬瓜茶:老品牌的升级保卫战
  12. Python记录程序运行的时间
  13. 高度可定制可用于商用目的全流程供应链系统(全部源码)
  14. 墨尘 - UE4 入门教程笔记 —— 二
  15. 分享123个ASP整站程序源码,总有一款适合您
  16. 关于oracle账户被锁定的解决办法
  17. 华硕飞行堡垒6打开tpm
  18. 基于MVC个人信息管理系统
  19. AP5186 三功能内部VDD稳压管过温保掮 LED驱动IC
  20. Windows显示与隐藏文件扩展名

热门文章

  1. Dart —— 函数 函数参数 匿名函数
  2. 三门问题的计算机模拟,三门问题(Monty Hall problem)的代码模拟
  3. 内存调试: GC_CONCURRENT freed
  4. 连花清瘟胶囊新冠应用 大健康医药·李喜贵:微量元素作用解密
  5. 迪尤肯大学计算机专业,迪尤肯大学
  6. openlayers之地图测距侧面
  7. linux安装redisDocker安装redis集群
  8. 使用Google浏览器做真机页面调试
  9. 怎样用matlab建立igbt的仿真分析模型,基于MATLAB/Simulink的IGBT导通模型研究
  10. [luogu] P2345 MooFest G 树状数组