Deep-Clustering-for-Unsupervised-Learning-of-Visual-Features
Deep-Clustering-for-Unsupervised-Learning-of-Visual-Features
一、核心观点
核心: 通过cluster方式学习一个特征提取器,来初始化需要进行分类预测的网络的特征提取器
原因: 待求解的任务中数据的标签在某些类别中缺失或者非常的少
二、文章发表时间及团队
- 文章于2019由Facebook AI Research实验室完成
三、文章开展的主要工作:
- 聚类(Cluster) 是一种经典的无监督学习方法,但是鲜有工作将其与深度学习结合。这篇文章提出了一种新的聚类方法DeepCluster,将端到端学习与聚类结合起来,同时学习网络的参数和对网络输出的特征进行聚类。作者将DeepCluster成功应用到大规模数据集和一些迁移任务上,性能超过了当前state of art的无监督工作。表明结合简单的聚类算法,无监督方式也可以学习到很好的特征。
四、研究背景
- 预训练的卷积模型在各类任务中都发挥了极大的作用,比如目标检测、语义分割,这些预训练模型提取了一些很好通用的特征,可以应用于不同的任务上。
- 在这个过程中ImageNet起到了很好的助推,虽然ImageNet含有100万+的图片,但是在实际中这个数量还是很小的,并且ImageNet的多样性不够。如何去处理更大规模的无标签数据,需要一种有效无监督学习的方法。
五、文章主要技术方法
框架
- 本文提出了一种将聚类与深度结合的方法,这种方法可以学习到一些有用的通用特征,这个框架如下图所示,整个过程包含对特征进行聚类,然后基于聚类的结果作为伪标签,更新网络的参数,让网络预测这些伪标签,这两个过程依次进行。这个过程看起来很简单,但能够取得比以往无监督方法更好的性能。
- 用数学公式表达整个过程就是下面两个公式。第一个公式就是通过聚类产生伪标签,第二个公式是计算基于伪标签的损失值,然后更新网络参数。
避免平凡解
- 上述交替聚类和模型更新这种方式容易使网络找到一些取巧的方式,从而得到一些无意义的结果。
Empty clusters
- 具体来讲,使用模型来预测伪标签,可能使得网络产生的特征经过聚类都位于某个簇心周围,而使得其他簇心没有样本,这个问题是由于没有限制某个簇心不能没有样本。
- 一个解决方法是限制每个簇心最少的样本数,这需要计算整个数据集,代价太高;
- 另一种方式是当某个簇心为空时,随机选择一个非空的簇心,在其上加一些小的扰动作为新的簇心,同时让属于非空簇心的样本也属于新的簇心。
- 具体来讲,使用模型来预测伪标签,可能使得网络产生的特征经过聚类都位于某个簇心周围,而使得其他簇心没有样本,这个问题是由于没有限制某个簇心不能没有样本。
Trivial parametrization
- 另外一个问题是大量的数据被聚类到少量的几类上,一种极端场景是被聚类到一类上,这种情况下网络可能对于任意的输入都产生相同的输出。
- 解决这个问题的方法是根据类别(或伪标签)对样本进行均匀采样。
实现细节
- **结构:**AlexNet,使用BN代替LRN;VGG16+BN。
- **训练数据:**ImageNet;数据使用了一个基于Sobel的算子进行处理去除了颜色信
- **优化:**聚类的时候使用center crop的样本特征,训练模型时使用数据增强(左右翻转、随机大小和长宽比的裁剪),其他训练都是常见的配置。另外聚类时使用了PCA降维到256维。
六、实验验证
- 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©).
- 基于激活值的线性分类
- 使用不同的卷积层特征训练一个线性分类器,在ImageNet 和 Places数据集上进行实验,结果在下表中。在ImageNet上,DeepCluster在conv2 - conv5层的性能都不同幅度的超过了其他方法。
- 数据集Pascal VOC 2007 上实验
- 将使用DeepCluster方法提取的特征应用到数据集Pascal VOC 2007上,比较了不同任务下的性能,包括图像分类,目标检测,语义分割,实验结果如下,可以看出DeepCluster在三个任务上都有不同程度的提升。
七、Future work和讨论
上面的实验都是基于ImageNet 和 AlexNet结构,下面来对比下使用不同数据集,不同结构下的结果。
- 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相关推荐
- Deep Cluster:Deep Clustering for Unsupervised Learning of Visual Features
DeepCluster,一种联合学习神经网络参数和结果特征的聚类分配的聚类方法.DeepCluster使用标准聚类算法kmeans对特征进行迭代分组,并使用后续分配作为监督来更新网络的权 ...
- facebook新无监督论文-Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
最近比较关注无监督论文,因此只要发现有新的文章都会读一遍,facebook近期刚出了一篇Unsupervised Learning of Visual Features by Contrasting ...
- Unsupervised Learning of Visual Features by Contrasting Cluster Assignments(SwAV)---论文阅读笔记
Unsupervised Learning of Visual Features by Contrasting Cluster Assignments 文章目录 摘要 介绍 方法 数据增强方法 总结 ...
- DTC(Deep Temporal Clustering--Fully Unsupervised Learning of Time-Domain Features)论文理解
DTC网络模型图: 整体网络模型的损失函数为:重构损失+聚类损失,即MSE+KL 一.MSE 经过TAE(temporal autoencoder)层,在输出和输入之间求重构损失MSE,TAE层具体网 ...
- Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
文章目录 前言 一.相关知识 1.在线学习和离线学习 离线学习 在线学习 2.对比学习 数据增强 编码 损失最小化 二.前言 2.方法 前言 无监督图像表示显著地减少了与监督预训练的差距,特别是与对比 ...
- SwAV:Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
无监督对比方法通常在线工作,并且依赖于大量显式的成对特征比较,这在计算上具有挑战性. 在本文中,我们提出了一种在线算法 SwAV,它利用对比方法而无需计算成对比较.SwAV在对数据进行聚类的同时强制为 ...
- PULT:Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习)
Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习 ) 因为是无监督学习,所以需要对样本数据充 ...
- 自监督学习(十)Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles
Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles Introduction Method 排列选择 p ...
- ECCV2016【论文笔记】Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles
1.INTRO 本文作者旨在通过解决拼图问题来进行self-supervised learning,这样可以训练一个网络去识别目标的组成部分. 2.Solving Jigsaw Puzzles 当前一 ...
- Online Deep Clustering for Unsupervised Representation Learning-CVPR2020
联合聚类和特征学习方法在无监督表示学习中表现出了显著的性能.然而,训练计划在特征聚类和网络参数更新之间交替,导致视觉表示学习不稳定.为了克服这一挑战,我们提出了在线深度聚类(ODC),它可以同时进行聚 ...
最新文章
- 【转载】Eclipse 最常用快捷键 (动画讲解),最简单的一些快捷键
- python 用途-python主要用途
- 海康威视主机升级固件_海康威视网络广播主机DSKAM6HG1S
- jquery 数组indexof_如何实现一个简化版的 jQuery
- eclispe 下载与安装
- 鸟哥的Linux私房菜知识点总结(持续更新中)
- 【jzoj1747】马蹄印
- 尼基塔·丹尼诺夫《梦想者》
- maya正交视图锁定与解锁
- 设计师们如何高调拒绝免费工作
- 蓝牙mesh中的TTL解读
- toString方法和String方法
- java日志使用笔记
- os.chdir()
- Eclipse 出现 Failed to Download Index 提示框
- 在网页版 BOSS直聘 上实现 批量打招呼,发信息等操作
- 从 firefox 缓存中提取视频
- 艾创科技机器人_临沂艾创机器人
- Protel常用元器件封装总结
- 【DeepCTR库】学习入门笔记02
热门文章
- svn导出项目到myeclipse,运行报ClassNotFoundException
- Openlayer 3 的画图测量面积
- SicilyBrackets Matching
- 20145106java实验四
- android热门消息推送横向测评![转]
- 装了xcode3.2 后再装xcode4.1 出现的问题 永远build不过
- Redis的5大Value的使用场景
- 靠谱测试人员需具备业务分析能力
- 一阶电路误差分析_电动涡旋压缩机转子的模态分析及试验研究
- sf | 空间矢量对象的“聚合”操作