Deep Clustering via Joint Convolutional Autoencoder Embedding and Relative Entropy Minimization

论文地址1:
http://openaccess.thecvf.com/content_iccv_2017/html/Dizaji_Deep_Clustering_via_ICCV_2017_paper.html
论文地址2:
https://arxiv.org/abs/1704.06327

Abstract

—————————-略—————————-

1. Introduction

—————————-略—————————-

—————————-略—————————-

3. Deep Embedded Regularized Clustering

3.1. DEPICT Algorithm

有N个样本X={x1,..,xn}X={x1,..,xn}
,将其分为K个类别,其中每个样本xidxxi∈Rdx
。原始样本对应的映射子空间(embedding subspace)Z={z1,...,zn}Z={z1,...,zn}
,其中每个样本zidzzi∈Rdz
的维度要远小于原始样本(i.e.dzdxdz≪dx
)。给定映射函数,我们使用多目标LR(Softmax)fθ:ZYfθ:Z→Y
来预测其属于各个簇的概率:

pik=P(yi=k|zi,Θ)=exp(θTkzi)Kk=1exp(θTkzi),(1)(1)pik=P(yi=k|zi,Θ)=exp⁡(θkTzi)∑k′=1Kexp⁡(θk′Tzi),


其中 Θ={θ1,...,θk}dz×KΘ={θ1,...,θk}∈Rdz×K
为Softmax的参数, pikpik
表示第 ii
个样本属于第 k
k


个簇的概率。
为了定义我们的聚类目标函数,我们使用辅助目标变量Q来迭代地修正模型预测。 为此,我们首先使用Kullback-Leibler(KL)散度来减小模型预测P和目标变量Q之间的距离。

=KL(QP)=1Ni=1Nk=1Kqiklogqikpik,(2)(2)L=KL(Q∥P)=1N∑i=1N∑k=1Kqiklog⁡qikpik,


为避免将大部分样本分配给其中一个或几个簇(如,90%的样本都在前三个簇中)以将离群点样本也加入到簇中,需要加入正则化项。为此,先定义Q的Label经验分布(empirical label distribution):

fk=P(y=k)=1Niqik,(3)(3)fk=P(y=k)=1N∑iqik,

概率分布函数 F(x)F(x)
或概率密度函数 p(x)p(x)
未知的情况下,依泛函空间的大数定律,可通过该未知分布函数下的样本集 xixi
构造的经验分布函数 Fl(x)Fl(x)
依概率收敛去逼近 F(x)F(x)
.

可以将 fkfk
看作是聚类结果中各个样本属于第 kk
簇的近似概率。 我们可以将该经验分布加入到KL散度公式来加强聚类性能,得到损失函数(Loss function)。

=KL(QP)+KL(fu)=[1Ni=1Nk=1Kqiklogqikpik]+[1Nk=1Kfklogfkuk]=1Ni=1Nk=1Kqiklogqikpik+qiklogfkuk(4)



(4)








L






=


K


L


(


Q





P


)


+


K


L


(


f





u


)








=


[



1


N








i


=


1



N








k


=


1



K




q



i


k




log







q



i


k





p



i


k





]


+


[



1


N








k


=


1



K




f


k



log







f


k




u


k




]








=



1


N








i


=


1



N








k


=


1



K




q



i


k




log







q



i


k





p



i


k





+



q



i


k




log







f


k




u


k








其中 uu
是 Label 经验分布的先验。
可以看出,式(4)的第一项使目标变量Q和模型预测P之间的相似度尽可能的高,而第二项则是起到平衡簇中样本数量的作用。最终我们可间接的得到分布更均衡的预测(cluster assignments) P 。另外,可以根据任意分布的样本很方便的来更改目标函数的经验分布的先验 u
u


这里没有理解透,翻译的不太准确。原文是 “It is also simple to change the prior from the uniform distribution to any arbitrary distribution in the objective function if there is any extra knowledge about the frequency of clusters.”

使用交替学习步骤来优化目标函数。期望步骤 (expectation step):固定参数,估计目标变量Q。最大化步骤 (maximization step):假设目标变量Q已知,同时更新参数。即:

minQ1Ni=1Nk=1Kqiklogqikpik+qiklogfkuk,(5)(5)minQ1N∑i=1N∑k=1Kqiklog⁡qikpik+qiklog⁡fkuk,


其中目标变量被约束到 kqik=1∑kqik=1
中。可使用梯度进行求解,偏导如下:

qiklog(qikfkpik)+qikNi=1qik+1,(6)(6)∂L∂qik∝log⁡(qikfkpik)+qik∑i′=1Nqi′k+1,


因为样本的数量足够大,所以可以忽略式(6)中的第二项,把这项去掉得到近似梯度。令偏导等于0,得到闭式解:

qik=pikipikkpikipik,(7)(7)qik=pik∑i′pi′k∑k′pik′∑i′pi′k′,


对于最大化步骤 (maximization step) 我们使用如下目标函数的目标估计变量来更新网络参数 ψ={Θ,W}ψ={Θ,W}
:

minψ1Ni=1Nk=1Kqiklogpik,(8)(8)minψ−1N∑i=1N∑k=1Kqiklog⁡pik,


这也是分类任务的标准交叉熵损失函数,并且可以通过反向传播来更新参数 ψ={Θ,W}ψ={Θ,W}
,因吹斯汀。

3.2. DEPICT Architecture

在本节中,我们使用去噪自动编码器来 (denoising autoencoder) 扩展我们的聚类损失函数。深度映射函数 (deep embedding function) 对于捕捉输入数据的非线性特征非常有用; 然而,它可能会伪造数据相关性,产生过拟合情况,并在训练过程中陷入局部最小值。为了避免这种情况,我们采用自动编码器结构 (autoencoder structures),并重构损失函数加入数据相关正则化来训练参数。因此,我们将堆叠多层卷积自动编码器顶部的 softmax 层组成 DEPICT。由于卷积具有良好的提取特征性能,所以我们在编码器 (encoder) 中采用卷积,在解码器 (decoder) 通道中采用反卷积 (strided convolutional),并避免空间池化层(如 maxpooling)。反卷积层允许网络学习它自己的上采样空间,提供更好的重构样本能力。

反卷积本质上还是卷积,只不过把步骤反过来而已。

学习方法去不同于传统的去噪自编码器(其中包含分层预训练,然后微调),我们同时学习所有的自动编码器和softmax层。 如图所示,DEPICT 包含以下组件:


论文中这一段在堆公式,我自己讲一下吧。

  • Noisy Encoder 作为 Inference 与 Decoder 相连进行数据的重构。
  • Clean Encoder 与 Noisy Encoder 共享参数。如图所示,其作用是用于 Decoder 重构数据以及结合式 (1) 得到最终的聚类分配结果。
  • Clean Encoder 第 ll
    层的输出为 zl

    z


    l


  • Decoder 第 ll
    层的输出为 ẑl



    z


    ^




    l


DEPICT 的算法过程如下:


Algorithm 1: DEPICT Algorithm

Input: data set X={x1,..,xn}X={x1,..,xn}

Output: Cluster result C1,,CkC1,…,Ck


  1. Initialize Q using a clustering algorithm
  2. while not converged do
  3. 1234minψ1Ni,kqiklogp̃ik+1Ni,l1|zli|zli|ẑli|221234minψ−1N∑i,kqiklog⁡p~ik+1N∑i,l1|zil|‖zil|−z^il|‖22
  4. 1234p(t)ikexp(θTkzLi)1234pik(t)∝exp⁡(θkTziL)
  5. 1234q(t)ikpikipik1234qik(t)∝pik∑i′pi′k
  6. end

4. Experiments

只贴出 DEPICT 的打靶效果表,详情请阅读论文。


对我个人来说整篇论文只有 Clean Encoder 与 Noisy Encoder 结合这里有帮助。
对于比较熟悉 AutoEncoder 的同学来说,闪光点也就在这了。

(论文翻译)AutoEncoder 聚类算法 - DEPICT相关推荐

  1. 【论文翻译】聚类算法研究

    论文题目:聚类算法研究 论文来源:聚类算法研究 翻译人:BDML@CQUT实验室 聚类算法研究 孙吉贵 , 刘 杰 , 赵连宇 Clustering Algorithms Research SUN J ...

  2. 论文翻译:ViBe+算法(ViBe算法的改进版本)

    论文翻译:ViBe+算法(ViBe算法的改进版本) 原文地址: <Background Subtraction: Experiments and Improvements for ViBe> ...

  3. 论文翻译—3D NDT算法论文(节选6.1-6.2)

    文章目录 第6章 正态分布变换 6.1 用于表面表达的NDT 6.2 NDT 扫描配准 6.2.1 2D NDT 6.2.2 3D NDT 参考文献 第6章 正态分布变换 本章详细描述了正态分布变换以 ...

  4. 聚类算法 距离矩阵_论文阅读9——AP聚类算法

    Affinity Learning for Mixed Data Clustering 论文提出了基于混合对数据进行聚类的学习框架,具体研究内容包括:1)如何处理具有混合类型属性的数据.2)如何学习数 ...

  5. CW聚类算法原理 -- 译自《Chinese Whispers》论文

    Chinese Whispers-一个有效的图聚类算法及其在自然语言处理问题中的应用 克里斯.比曼 莱比锡大学,自然语言处理学院 注:由于这里不好复制图片和公式,展示并不理想,可在我的github:h ...

  6. 【点云论文速读】点云分层聚类算法

    点云PCL免费知识星球,点云论文速读. 标题:PAIRWISE LINKAGE FOR POINT CLOUD SEGMENTATION 作者:Lu, Xiaohu and Yao, Jian and ...

  7. ML之Clustering之普聚类算法:普聚类算法的相关论文、主要思路、关键步骤、代码实现等相关配图之详细攻略

    ML之Clustering之普聚类算法:普聚类算法的相关论文.主要思路.关键步骤.代码实现等相关配图之详细攻略 目录 普聚类算法的相关论文 普聚类算法的主要思路 普聚类算法的关键步骤 普聚类算法的代码 ...

  8. 【转】分布式一致性算法:Raft 算法(Raft 论文翻译)

    编者按:这篇文章来自简书的一个位博主Jeffbond,读了好几遍,翻译的质量比较高,原文链接:分布式一致性算法:Raft 算法(Raft 论文翻译),版权一切归原译者. 同时,第6部分的集群成员变更读 ...

  9. 巩膜:论文翻译《一种改进的眼角检测算法》An Improved Algorithm for Eye Corner Detection

    1509.04887.pdf论文翻译 An Improved Algorithm for Eye Corner Detection Anirban Dasgupta, Anshit Mandloi, ...

最新文章

  1. 技术剖析 | Axonius为什么能获得 2019 RSAC创新大奖
  2. Nagios监控服务器安装和部署
  3. java堆设置成多少合适_jvm~xmx设置多少合适
  4. parentNode,parentElement,childNodes,children的区别
  5. python与linux关系_如何处理Linux / Python依赖关系?
  6. (93)Verilog HDL系统函数和任务:$fread
  7. H2最完整的资料下载地址:
  8. Java集合——TreeMap源码详解
  9. 网络拓扑结构_全球网络拓扑测绘这样来实现
  10. 天下数据服务器搭建网站,王者天下架设教程1-服务端配置.doc
  11. 【图像分割】基于matlab最大类间方差法(otsu)图像分割【含Matlab源码 121期】
  12. 坚果pro官方固件_坚果Pro线刷包_坚果Pro刷机包_坚果Pro固件包_坚果Pro救砖包 - 线刷宝ROM中心...
  13. 各种语系的unicode对应以及local编码方式
  14. 一元享移动怎么样_中国移动终于认怂?29元享100G流量还不限速,网友:后悔携号转网了...
  15. 【目标检测】(10) Mosaic 数据增强方法,附Python完整代码
  16. vb.net 教程 3-4 窗体编程 公共控件6 PictureBox ProgressBar
  17. 这次,AMD又将数据中心标准提高了一大截
  18. Soot的安装及其初步使用
  19. HTTP协议详解(二)
  20. 市净率PB,市盈率PE

热门文章

  1. 背景与字体的搭配经验
  2. 骨传导蓝牙耳机哪个好,五款热门骨传导蓝牙耳机推荐
  3. Writeback和Writethrough区别
  4. 5G标准协议中的简写和缩略语
  5. java根据生日判断生日和星座
  6. NaN == NaN 的结果是什么?
  7. 消防产品在酒店行业的应用
  8. 【17 提高 1】 给
  9. Python中模块的使用1
  10. 双鱼和射手怎样能合拍(图