Deep-Clustering-for-Unsupervised-Learning-of-Visual-Features

一、核心观点

核心: 通过cluster方式学习一个特征提取器,来初始化需要进行分类预测的网络的特征提取器

原因: 待求解的任务中数据的标签在某些类别中缺失或者非常的少


二、文章发表时间及团队

  • 文章于2019由Facebook AI Research实验室完成

三、文章开展的主要工作:

  • 聚类(Cluster) 是一种经典的无监督学习方法,但是鲜有工作将其与深度学习结合。这篇文章提出了一种新的聚类方法DeepCluster,将端到端学习与聚类结合起来,同时学习网络的参数和对网络输出的特征进行聚类。作者将DeepCluster成功应用到大规模数据集和一些迁移任务上,性能超过了当前state of art的无监督工作。表明结合简单的聚类算法,无监督方式也可以学习到很好的特征。

四、研究背景

  • 预训练的卷积模型在各类任务中都发挥了极大的作用,比如目标检测、语义分割,这些预训练模型提取了一些很好通用的特征,可以应用于不同的任务上。
  • 在这个过程中ImageNet起到了很好的助推,虽然ImageNet含有100万+的图片,但是在实际中这个数量还是很小的,并且ImageNet的多样性不够。如何去处理更大规模的无标签数据,需要一种有效无监督学习的方法。

五、文章主要技术方法

框架

  • 本文提出了一种将聚类与深度结合的方法,这种方法可以学习到一些有用的通用特征,这个框架如下图所示,整个过程包含对特征进行聚类,然后基于聚类的结果作为伪标签,更新网络的参数,让网络预测这些伪标签,这两个过程依次进行。这个过程看起来很简单,但能够取得比以往无监督方法更好的性能。

  • 用数学公式表达整个过程就是下面两个公式。第一个公式就是通过聚类产生伪标签,第二个公式是计算基于伪标签的损失值,然后更新网络参数。

避免平凡解

  • 上述交替聚类和模型更新这种方式容易使网络找到一些取巧的方式,从而得到一些无意义的结果。
  1. Empty clusters

    • 具体来讲,使用模型来预测伪标签,可能使得网络产生的特征经过聚类都位于某个簇心周围,而使得其他簇心没有样本,这个问题是由于没有限制某个簇心不能没有样本。

      • 一个解决方法是限制每个簇心最少的样本数,这需要计算整个数据集,代价太高;
      • 另一种方式是当某个簇心为空时,随机选择一个非空的簇心,在其上加一些小的扰动作为新的簇心,同时让属于非空簇心的样本也属于新的簇心。
  2. Trivial parametrization

  • 另外一个问题是大量的数据被聚类到少量的几类上,一种极端场景是被聚类到一类上,这种情况下网络可能对于任意的输入都产生相同的输出。
  • 解决这个问题的方法是根据类别(或伪标签)对样本进行均匀采样。

实现细节

  • **结构:**AlexNet,使用BN代替LRN;VGG16+BN。
  • **训练数据:**ImageNet;数据使用了一个基于Sobel的算子进行处理去除了颜色信
  • **优化:**聚类的时候使用center crop的样本特征,训练模型时使用数据增强(左右翻转、随机大小和长宽比的裁剪),其他训练都是常见的配置。另外聚类时使用了PCA降维到256维。

六、实验验证

  1. Preliminary study
  • 实验部分首先来看随着训练过程的进行DeepCluster的一些变化。这里采用NMI(Normalized Mutual Information)来度量两个随机变量的相互依赖性。比如当两个随机变量完全独立,直到其中一个对推断另一个不提供任何信息,NMI值也为0。

  • 下面来看簇心与图片真实标签(Fig 2(a))的关系,从Fig 2(a)可以看出簇心与label之间的依赖程度随着训练过程越来越高,表明特征逐渐地包含了图片类别的信息。
  • 再来看第t-1epoch的簇心与第t epoch的簇心的关系(Fig 2(b)),从Fig 2(b)可以看出NMI在逐渐升高,表明簇心逐渐趋于稳定。但是最后NMI饱和值小于0.8,表明每个epoch都有一批样本在频繁的变换归属的簇心。
  • 最后看一下选择不同的K对精度的影响(Fig 2©).
  1. 基于激活值的线性分类
  • 使用不同的卷积层特征训练一个线性分类器,在ImageNet 和 Places数据集上进行实验,结果在下表中。在ImageNet上,DeepCluster在conv2 - conv5层的性能都不同幅度的超过了其他方法。
  1. 数据集Pascal VOC 2007 上实验
  • 将使用DeepCluster方法提取的特征应用到数据集Pascal VOC 2007上,比较了不同任务下的性能,包括图像分类,目标检测,语义分割,实验结果如下,可以看出DeepCluster在三个任务上都有不同程度的提升。

七、Future work和讨论

上面的实验都是基于ImageNet 和 AlexNet结构,下面来对比下使用不同数据集,不同结构下的结果。
  1. ImageNet versus YFCC100M
  • ImageNet是一个面向目标的分类,它每个类别的分布相对均匀,DeepCluster对于这种情况是比较适应的,并且聚类的数量与ImageNet的类别数量相匹配。为了衡量这种数据分布的影响,从YFCC100M中随机选100万张图片来做预训练,基于hashtag的统计表明这批数据不均匀。基于ImageNet 和 YFCC 100M的预训练的特征用在不同的任务上的性能。可以看出DeepCluster对于数据分布是鲁棒的,能够得到一些较好的通用特征。

2. AlexNet versus VGG

  • 在监督学习中,越深的网络往往有更好的性能,我们希望DeepCluster也有类似的效果。将在ImageNet训练得到的特征用于Pascal VOC 2007目标检测上,可以看出VGG-16 能够取得比AlexNet 更好的性能。

更好的性能,我们希望DeepCluster也有类似的效果。将在ImageNet训练得到的特征用于Pascal VOC 2007目标检测上,可以看出VGG-16 能够取得比AlexNet 更好的性能。

Deep-Clustering-for-Unsupervised-Learning-of-Visual-Features相关推荐

  1. Deep Cluster:Deep Clustering for Unsupervised Learning of Visual Features

           DeepCluster,一种联合学习神经网络参数和结果特征的聚类分配的聚类方法.DeepCluster使用标准聚类算法kmeans对特征进行迭代分组,并使用后续分配作为监督来更新网络的权 ...

  2. facebook新无监督论文-Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    最近比较关注无监督论文,因此只要发现有新的文章都会读一遍,facebook近期刚出了一篇Unsupervised Learning of Visual Features by Contrasting ...

  3. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments(SwAV)---论文阅读笔记

    Unsupervised Learning of Visual Features by Contrasting Cluster Assignments 文章目录 摘要 介绍 方法 数据增强方法 总结 ...

  4. DTC(Deep Temporal Clustering--Fully Unsupervised Learning of Time-Domain Features)论文理解

    DTC网络模型图: 整体网络模型的损失函数为:重构损失+聚类损失,即MSE+KL 一.MSE 经过TAE(temporal autoencoder)层,在输出和输入之间求重构损失MSE,TAE层具体网 ...

  5. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    文章目录 前言 一.相关知识 1.在线学习和离线学习 离线学习 在线学习 2.对比学习 数据增强 编码 损失最小化 二.前言 2.方法 前言 无监督图像表示显著地减少了与监督预训练的差距,特别是与对比 ...

  6. SwAV:Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    无监督对比方法通常在线工作,并且依赖于大量显式的成对特征比较,这在计算上具有挑战性. 在本文中,我们提出了一种在线算法 SwAV,它利用对比方法而无需计算成对比较.SwAV在对数据进行聚类的同时强制为 ...

  7. PULT:Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习)

    Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习 ) 因为是无监督学习,所以需要对样本数据充 ...

  8. 自监督学习(十)Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

    Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles Introduction Method 排列选择 p ...

  9. ECCV2016【论文笔记】Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

    1.INTRO 本文作者旨在通过解决拼图问题来进行self-supervised learning,这样可以训练一个网络去识别目标的组成部分. 2.Solving Jigsaw Puzzles 当前一 ...

  10. Online Deep Clustering for Unsupervised Representation Learning-CVPR2020

    联合聚类和特征学习方法在无监督表示学习中表现出了显著的性能.然而,训练计划在特征聚类和网络参数更新之间交替,导致视觉表示学习不稳定.为了克服这一挑战,我们提出了在线深度聚类(ODC),它可以同时进行聚 ...

最新文章

  1. 【转载】Eclipse 最常用快捷键 (动画讲解),最简单的一些快捷键
  2. python 用途-python主要用途
  3. 海康威视主机升级固件_海康威视网络广播主机DSKAM6HG1S
  4. jquery 数组indexof_如何实现一个简化版的 jQuery
  5. eclispe 下载与安装
  6. 鸟哥的Linux私房菜知识点总结(持续更新中)
  7. 【jzoj1747】马蹄印
  8. 尼基塔·丹尼诺夫《梦想者》
  9. maya正交视图锁定与解锁
  10. 设计师们如何高调拒绝免费工作
  11. 蓝牙mesh中的TTL解读
  12. toString方法和String方法
  13. java日志使用笔记
  14. os.chdir()
  15. Eclipse 出现 Failed to Download Index 提示框
  16. 在网页版 BOSS直聘 上实现 批量打招呼,发信息等操作
  17. 从 firefox 缓存中提取视频
  18. 艾创科技机器人_临沂艾创机器人
  19. Protel常用元器件封装总结
  20. 【DeepCTR库】学习入门笔记02

热门文章

  1. svn导出项目到myeclipse,运行报ClassNotFoundException
  2. Openlayer 3 的画图测量面积
  3. SicilyBrackets Matching
  4. 20145106java实验四
  5. android热门消息推送横向测评![转]
  6. 装了xcode3.2 后再装xcode4.1 出现的问题 永远build不过
  7. Redis的5大Value的使用场景
  8. 靠谱测试人员需具备业务分析能力
  9. 一阶电路误差分析_电动涡旋压缩机转子的模态分析及试验研究
  10. sf | 空间矢量对象的“聚合”操作