[PED01]Deep Subspace Clustering Networks
论文作者:Pan Ji(University of Adelaide) Tong Zhang、Hongdong Li(Australian National University)等
论文类型:NIPS2017
目录
- 一句话描述
- Introduction
- Method (DSC-Nets)
- 目标函数
- 网络结构
- 训练策略
- Experiments
- 总结
一句话描述
提出DSC-Nets,在编码器和解码器中间添加一个自表示层,可以处理非线性可分的数据。
使用预训练+微调的策略训练网络,使得网络咋在小数据集上也可以work
Introduction
- subspace clustering
- 目的:以无监督的方式将来自低维子空间的点聚类
- 步骤:先学到相似度矩阵,在谱聚类。
- 分类:
- 分解法
- 高阶模型法
- 基于自表达方法。比分解法更鲁棒,相对基于局部模型的高阶法而言考虑所有数据点的连接。
- 存在问题:
- 目前的工作都是对线性子空间进行聚类。然而现实世界中的数据并不一定符合线性子空间模型。如某一主题的人脸图像位于非线性子空间中。
- 现有的方法解决非线性问题通常使用核技巧。用预定义核(如多项式核或者高斯核)代替数据矩阵的内积。
- 核方法存在问题:
- 选择什么样的核,通常是根据经验。
- 没有明确的解释可以说明预定义核对应的隐式特征空间是真正适合子空间聚类的。
- 提出方法:
- 学习一个可以很好的适合子空间聚类的非线性映射。通过自动编码器的编码层将数据非线性的映射到潜在空间(Latent space)。
- 在编码器和解码器之间引入一个自表达层。全连接、没有偏移量、没有非线性激活。这个层可以编码数据的自表达性质。
- AEs (Auto-encoders)
- 可以将数据非线性地转换到潜在空间中。
- 将深度学习和子空间聚类结合到一起的,到目前为止(2017)只有:
- [36] X. Peng, S. Xiao, J. Feng, W.-Y. Yau, and Z. Yi. Deep subspace clustering with sparsity prior. In IJCAI,2016.
- 与[36]区别:[36]是使用得到的深度特征再进行聚类。本文是直接学习相似度矩阵。
Method (DSC-Nets)
目标函数
深度自编码器
通过编码器得到输入数据 xix_ixi 的潜在表示 ziz_izi ,通过解码器将潜在表示 ziz_izi 重建成 x^i\hat{x}_ix^i。
自表达
自表达性质是指数据点可以通过与其在同一个子空间的其他数据点的线性组合来表示。表示为:
X=XCX=XCX=XC
其中C是自表达组合系数矩阵。假设子空间之间互相独立,那么通过最小化C的范数(公式1),可以保证C具有对角结构。这样就可以利用C来构造相似度矩阵。
对C用的范数不同,可以延伸出不同的方法:- L1:Sparse Subspace Clustering (SSC)
- 核范数:Low Rank Representation (LRR)、Low Rank Subspace Clustering(LRSC)
- L2范数
有噪声和数据损坏的情况:X=XC+EX=XC+EX=XC+E,需要最小化∥E∥F\|E\|_F∥E∥F,也就是如下形式:
但是,自表达性质只适用于线性空间。前面提到了核方法的一些缺点,因此本文在深度自编码器中加入自表达的概念。
- 基于自表达的深度自编码器
希望训练一个深度自编码器可以学到适合子空间聚类的潜在表示。因此,引入一层编码自表达的概念。
损失函数中,有重建误差和自表达的误差和正则化项。- 在自表达这一项,表示每个潜在空间中的点ziz_izi可以通过其他点zjz_jzj以权重cijc_ijcij进行线性组合来近似表示。这可以通过一个全连接层来表示。不进行非线性激活。
- 其中,C采用了两种范数来进行试验。L1L_1L1和L2L_2L2。
- 因此,为了解这个式子,我们可以把C看做一个网络层的参数Θs\Theta_sΘs。这样就可以通过反向传播联合优化自编码器的参数Θ\ThetaΘ和Θs\Theta_sΘs了。如果采用交替优化Θ\ThetaΘ和Θs\Theta_sΘs的方法,由于目标函数非凸,所以不能保证收敛。
目标函数转化为:
网络结构
- 包括三部分:编码器、自表达层、解码器。
- 采用卷积自动编码器。参数少,易训练。全连接的也可以用。
- 卷积层:2 ×\times× 2步长的核、ReLU非线性激活。
- 一次把所有的样本放进一个batch中。
- 参数量
- 自动编码器的参数量:∑i2ki2ni−1ni+∑i2ni−n1+1\sum_i2k^2_i n_{i-1}n_i+\sum_i2n_i-n_1+1∑i2ki2ni−1ni+∑i2ni−n1+1
- 样本数为N,自表达层参数为N2N^2N2
训练策略
直接训练具有数百万个参数的网络很困难。提出 预训练+微调 策略。
- 首先预训练没有自表达层的网络。然后用预训练的参数初始化编码器和解码器。
- 微调阶段:大batch所有数据,用梯度下降来最小化损失函数。用Adam。
- 网络训练好后用自表示层的参数构造相似度矩阵。∣C∣+∣CT∣|C|+|C^T|∣C∣+∣CT∣
- 最后进行某种聚类算法得到聚类结果。
Experiments
- 数据集:
face clustering Dataset:Extended Yale B [21] and ORL [39]
general object clustering Dataset:COIL20 [31] and COIL100 [30]. - Extended Yale B
- ORL
- COIL20 and COIL100 Datasets
总结
使用深度自编码器和自表达层直接学习到相似度矩阵,来做子空间聚类。
预训练+微调的的训练策略,使得网络可以处理具有挑战性的小数据集。
[PED01]Deep Subspace Clustering Networks相关推荐
- 过完备深度子空间聚类网络:《Overcomplete Deep Subspace Clustering Networks》
论文:<Overcomplete Deep Subspace Clustering Networks> 论文原文链接:有道云笔记 论文讲解链接:子空间聚类入门(一)overcomplete ...
- Deep Subspace Clustering Networks
1.Introduction 本文引入了一个novel deep neural network来无监督地学习非线性mapping,它也适用于子空间聚类.本文的deep subspace cluster ...
- DSN: Deep Subspace Clustering Networks
文章:ICM 2017 代码:TensorFlow实现:pytorch实现 深度学习与子空间聚类的结合.与普通的自编码器相比,增加了低维特征空间的子表示层(蓝色框框). 表示 顾名思义,自表示,即一个 ...
- Deep Multimodal Subspace Clustering Networks
Deep Multimodal Subspace Clustering Networks 作者:Mahdi Abavisani , Student Member, IEEE, and Vishal M ...
- 论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强
论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强 摘要 1 介绍 2 相关工作 带增强的聚类方法 具有一致 ...
- Deep Subspace Clustering with Sparsity Prior 翻译
Deep Subspace Clustering with Sparsity Prior 翻译 摘要: 子空间聚类旨在通过隐式地寻找子空间以匹配每个类别,来将未标记的样本聚类成多个簇.大多数现有方法基 ...
- 【论文阅读】Deep Adversarial Subspace Clustering
导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...
- 论文学习 Deep Adversarial Subspace Clustering
deep adversarial subspace clustering 前提知识 1. 子空间聚类 2.LRR(低秩表示) 摘要 introduction Method 原理 生成器 操作步骤: G ...
- 论文阅读”Efficient Deep Embedded Subspace Clustering“(CVPR2022)
论文标题 Efficient Deep Embedded Subspace Clustering 论文作者.链接 作者: Cai, Jinyu and Fan, Jicong and Guo, Wen ...
最新文章
- HBase眼高手低从Shell到IDEA编程、心路笔记、踩坑过程
- 完美解答35K月薪的MySQL面试题(一)MySQL是如何存储数据的
- 3Delight粒子渲染,真快。
- 我写的几篇技术文章之一:Windows消息拦截技术的应用
- android api文档_【粉丝投稿】无需额外注解的 SpringBoot API文档生成工具
- Spring boot的helloword
- opencv的Mat与Eigen的Matrix相互转换
- mysql日志模式默认是raw还是_深入学习MySQL 02 日志系统:bin log,redo log,undo log
- office 办公软件使用笔记
- Python简单电影推荐算法原理实现
- 码头tsb_码头工人及其内部
- Facebook反爬虫注册策略分析及养号实战
- 老猿学5G随笔:RAN、RAT以及anchor移动性锚点的概念
- ueditor插入视频无法播放解决方法
- matplotlib如何绘制圆
- java+ElementUI前后端分离旅游项目第六天 移动端开发下
- MATLAB实现分支定界法求解整数规划
- uniapp商城隐私政策锚点
- 疫情过去女朋友想去重庆玩,python批量爬取小猪短租重庆民宿信息
- 安检机出彩色图及三点一线校准问题
热门文章
- Vmware虚拟机NAT模式设置IP
- Oracle 中的 unique index 和 non unique index的区别
- antv g2字体阴影_antv-g2学习手册-中
- 二阶系统的单位阶跃响应_数学推导
- SQL语句——处理函数
- Unknown column 'salary' in 'field list'
- 学python编程从入门到实践方法-python自学Day07(自学书籍python编程从入门到实践)...
- CTF 流量分析Wireshark Certificate例题
- 软件性能测试的几种方法
- form表单内子元素组件按钮button事件冲突 - Vue