2020 CVPR 论文分享会|Session2:机器学习
Model-based robustness v.s. sample-based robustness
对样本扰动,模型预测结果不变
Circle Loss:
统一视角
个类内相似性分数
个类间相似性分数
Graph-TER:
基本假设:
目的 是 E 能学到图的本质特征
三维点云:平移、旋转、剪切 shearing
E可以看成特征提取器
上式的意义:原始 X 和 变换后 X~ ,同态映射,即结构不变
即:E提取出了 “共变” 表征
E提取每个节点的特征
D:估算变换 t^
Ls 是原始变换 t 和 预测变换 t^ 的MSE
t^ 由解码器预测
后一个期望在 采样得到的图 X 和 t 上求
前一个期望(Ls的计算)在采样得到的节点集合 S 上求
转化为 Encoder 和 Decoder 的联合训练问题
算法:
【GraphTER】通过逐点变换实现无监督图神经网络共变特征学习MAPLE(maple-lab.net)实验室
GraphTER: Unsupervised Learning of Graph Transformation Equivariant Representations via Auto-Encoding Node-wise Transformations Xiang Gao, Wei Hu, and Guo-Jun Qi GraphTER: Unsupervised Learning of Graph Transformation Equivariant Representations via Auto-Encoding Node-wise Transformationshttps://github.com/gyshgx868/graph-ter本论文已被CVPR2020收录,是我们Auto-Encoding Transformations (AET)模型在图计算神经网络上的扩展,并被应用于3D点云数据的分类和分割问题中。 关于更多 AET在不同问题(无监督图像训练、GAN 模型的训练)上的应用,欢迎点击下面的回答。 如何评价 CVPR 2020的论文接收结果?有哪些亮点论文?
一、引言 图(Graph)是不规则数据/非欧几里得数据(例如3D点云、社交网络、引文网络、脑网络等)的一种自然而有效的表征。由于图的强大表现力,图数据的机器学习越来越受到重视,如近年来提出的图卷积神经网络(Graph Convolutional Neural Network, GCNN)。不过,现有的GCNN模型大多以监督或半监督的方式进行训练,这需要大量的标记样本才能学习到有效的特征表示。由于标记成本较高(特别是在大规模的图上),现有方法难以进行广泛应用。因此,我们需要以无监督的方式来学习图特征表示,以便适应更多图的学习任务。 代表性的无监督学习方法包括自动编码器(Auto-Encoders,AEs)和生成对抗网络(Generative Adversarial Networks,GANs)。基于AE和GAN,许多方法通过学习“变换共变表征”(Transformation Equivariant Representations,TERs)来进一步提高无监督特征学习的质量。在TER学习中,通常假定在数据上施加变换会引起数据特征空间的共变,因此能够从变换前的和变换后的数据的特征表示中重构施加在数据上的变换,以此来学习数据的特征表示,如Zhang等人提出的AET [1]。然而,AET着重于对图像进行变换共变表征进行学习,难以直接拓展到非欧几里得空间的图数据。 因此,在本文中我们提出在自动编码器框架下,以无监督的方式编码图中节点的变换方式来实现“图变换共变表征”(Graph Transformation Equivariant Representations,GraphTER)学习,如图1所示。我们的方法的创新性体现在两个方面:1)我们定义图信号变换,并提出了一种基于图的自动编码器网络。该网络对原始图和变换后的图进行编码,以便可以从这两种特征表示中重建出图信号上的变换;2)相比于将全局空间变换应用于整个图像的AET,我们对图上的节点进行逐点变换,使得每个节点可以具有不同的变换。因此,通过借助节点邻居信息来解码这些节点的变换能够揭示节点所在邻域的图结构,进而学习各个节点的特征表示。这些特征表示不仅能够捕获节点周围的局部图结构,而且通过在每个训练迭代中随机采样部分节点进行变换来揭示图的全局信息。该论文的arxiv链接是https://arxiv.org/abs/1911.08142,代码已经开源在:https://github.com/gyshgx868/graph-ter
![]() 图1:我们提出的无监督图特征学习方法GraphTER。编码器E分别对原始图信号X和邻接矩阵A,以及变换之后的图信号 X ̃ 和邻接矩阵A ̃进行特征学习。解码器D从这两种特征表示预测节点变换,从而使得自动编码器能够学习到图的本质特征。
二、图信号变换 与传统的欧几里得数据(例如图像等)不同,图信号是不规则的,因此难以定义其变换。我们将图信号变换定义为对节点上信号的滤波,如对每个节点独立滤波(平移、旋转等),或考虑邻域信息对节点进行低通/高通滤波。
假设我们从整个变换分布 变换t将应用于每个节点,与t相关联的每个节点信号的变换可以彼此不同。例如,对于平移变换,我们可以将不同的平移量应用于不同的节点。如果每个节点的变换是相同(不同)的,我们将该变换称为各向同性(各向异性)的。与变换后的图信号 其中 在本文中,我们专注于逐节点图信号变换,即每个节点各向同性或各向异性地具有自己的变换。这种做法有两个优点: (1)通过对逐节点应用变换,我们可以在图中采样部分节点来研究在各种变换下图的不同部分的特征; (2)通过解码节点的变换,我们能够学习单个节点的特征表示。此外,这些节点的特征表示不仅能够捕获局部图结构信息,而且在每个训练迭代中随机地采样部分节点施加变换,随着训练迭代的增加还能够学习到全局的图结构信息。
三、方法 给定一组包含个节点的图信号
![]()
然后,我们对S中的每个节点
![]()
具体来说,给定图信号和与其对应的邻接矩阵 其中 我们设计了自动编码器网络来学习变换共变表征:编码器 为了估计逐节点变换 在上述公式中,从解码器估计的逐节点变换表示为: 因此,我们通过反向传播该损失来迭代地更新编码器E和解码器D中的参数。
为了估计这些逐节点变换,我们设计了图卷积自动编码器网络,如图4所示。我们选择一种图卷积方法EdgeConv [2]作为自动编码器网络的基本构建模块,该图卷积通过聚合每个节点和其周围邻居的特征来学习节点的特征表示。
![]()
三、实验结果 我们以3D点云分类任务和分割任务为例来验证我们提出的GraphTER模型。 1. 3D点云分类 我们在ModelNet40数据集上来验证GraphTER模型。在该数据集中,我们将3D点云中的点视为图上的节点,3D点坐标视为图信号,并通过点坐标间的欧氏距离在点云上建立k-NN图( 表1展示了3D点云的分类结果,在实验中我们选取25%的节点应用各向同性的逐节点剪切(Shear)变换。我们与无监督方法和有监督方法进行比较。GraphTER模型在ModelNet40数据集上达到了92.0%的分类准确率,这优于最新的无监督方法。大多数的无监督模型都结合了GAN和AED的思想,例如FoldingNet,MAP-VAE和L2G-AE。结果表明,GraphTER模型相比于这些方法都有显著的提高,表明了GraphTER模型优于GAN和AED。此外,无监督的GraphTER模型还可以达到与全监督模型结果相当的分类准确率,这极大地缩小了无监督方法与全监督方法之间的差距。
![]()
2. 3D点云分割 在该任务中,我们使用ShapeNet part数据集来验证我们的模型。我们同样将GraphTER分别同无监督方法和有监督方法进行比较,如表2中所示。我们的模型达到了81.9%的mIoU,这比最先进的无监督方法MAP-VAE提升了13.9%。此外,无监督的GraphTER模型还可以达到与最新的全监督的方法相当的性能。
![]()
图5展示了GraphTER模型和两个全监督的方法(DGCNN和RSCNN)的3D点云分割的可视化结果。在第一行的“桌子”模型上,GraphTER模型带来了更准确的分割,并在其他模型上获得了相似的分割结果。
![]()
此外,我们也将GraphTER和最新的无监督方法MAP-VAE进行对别,如图6所示。与MAP-VAE相比,我们的模型能够带来更准确的分割结果,例如飞机的引擎和椅子腿的部分。
![]()
五、结论 在本文中,我们提出了一种以无监督方式自动编码节点的变换来学习图变换共变表征的方法——GraphTER。我们全局或局部地从图上采样不同的节点,然后各向同性或各向异性地进行逐节点变换,从而能够表征各种规模的图结构。通过解码这些逐节点的变换,GraphTER能够学习到图的固有表征。我们将GraphTER应用于3D点云分类和分割任务中,实验结果验证了GraphTER优于最新的无监督方法,并且大大缩小了与全监督方法性能之间的差距。我们将在未来的工作中将GraphTER模型推广到更多的应用中,例如引文网络或社交网络的节点分类。
[1] Liheng Zhang, Guo-Jun Qi, Liqiang Wang, and Jiebo Luo. AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transformations rather than Data. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 2547–2555, 2019. [2] Yue Wang, Yongbin Sun, Ziwei Liu, Sanjay E Sarma, Michael M Bronstein, and Justin M Solomon. Dynamic Graph CNN for Learning on Point Clouds. ACM Transactions on Graphics (TOG), 38(5):146, 2019. [3] Xiang Gao, Wei Hu, and Guo-Jun Qi. GraphTER: Unsupervised Learning of Graph Transformation Equivariant Representations via Auto-Encoding Node-wise Transformations. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020.
欢迎大家关注我的知乎账号 齐国君与我的专栏 深度学习前沿研究(MAPLE实验室)编辑于 2020-05-06
|
|
stochastic sparse subspace clustering
先看稀疏子空间聚类的 basics:
漫谈高维数据聚类(2):子空间聚类2016-12-22摘要如今处理高维数据的问题往往会有两座“大山”,分别是存储成本高和计算时间过长。显然,这是因为数据的高维数造成的。面对大规模的高维数据的聚类任务,传统的聚类算法有点hold不住了,正因此,子空间分割算法应运而生。 前面的一篇文章应该是解释清楚了啥是聚类,也安利了一个经典的聚类算法——K均值聚类。本篇开始正式介绍一些子空间聚类算法,以及这些聚类算法的应用实例。 1.什么是子空间聚类
![]() 从上图可以看到,总共有三个子空间,每个子空间上都有一些样本,位于同一个子空间内的样本就可以说是同一类的。每一个子空间有其相应的维数d,和一组基[b1,b2,…,bd][b1,b2,…,bd],由这组基可以表示该子空间中任意一个向量。 2.稀疏表示模型和低秩表示模型目前,有四大类主流的求解子空间聚类问题的算法,分别是: (1)基于统计的方法:混合数据假设是从服从某一概率分布(如混合高斯分布)中抽取出的独立样本集,于是数据的分割问题就转化为一模型估计问题。代表性的工作有凝聚有损压缩[2]和随机抽样一致[1]; (2)基于矩阵分解的方法:将数据矩阵分解为一正交基矩阵和一低秩矩阵的乘积,从分解结果的结构来揭示聚类的特性。当子空间含有噪声和奇异值,或者独立子空间的假设不成立时,此类方法的效果不尽人意。代表性的工作有K子空间分割[4]; (3)基于代数的方法:可以处理子空间不是相互独立的情况,但计算量大,且对噪声和奇异值敏感。代表性的工作有Generalized PCA(GPCA)[3]; (4)基于谱聚类的方法:谱聚类算法是一种对高维数据进行聚类的技术。基于谱聚类的子空间分割算法先根据观测样本求得一个相似矩阵,然后对这个相似矩阵进行谱聚类获得最终的聚类结果。代表性的工作有稀疏子空间聚类[5]和低秩表示子空间聚类[6][7]。 而我要安利的是基于谱聚类的两个算法:稀疏表示子空间聚类算法和低秩表示子空间聚类算法,这两个算法都是比较简单和直观的,是子空间聚类研究这一块的基石性的算法,很多新算法都是在这两个算法的基础上加以改进而提出来的。当然,想要弄清楚这两个算法,还是需要一些简单的线性代数知识的。 稀疏表示(Sparse Representation)稀疏表示这一概念的提出,说到底还是受到压缩感知理论[8][9]的启发。该理论认为很多高维数据是冗余的,如果其具有可压缩性,那么可以只需要通过少量的采样便可恢复原始高维数据。更简单地说就是,许多高维数据是存在其低维表示的。 学过线性代数的都应该知道线性相关这一概念,即向量组X=[x1,x2,…,xn]X=[x1,x2,…,xn],其中xixi是XX的列向量,若存在不全为0 的系数a1,a2,…,ana1,a2,…,an,使得$a_1x_1+a_2x_2+…+a_nx_n=0成立,则说成立,则说x_1,x_2,…,x_n是线性相关的,如若是线性相关的,如若a_i不等于零,那不等于零,那x_i就可以被其余向量线性表示,即就可以被其余向量线性表示,即x_i=-(a_1x_1+a_2x2+…a{i-1}x{i-1}+a{i+1}x_{i+1}+…+a_nx_n)/a_i$。 有了以上两个认知,就可以理解稀疏表示了。在前面提到过位于同一个子空间中的样本,如果样本数足够多,那么某一个样本xixi是可以被与它位于同一个子空间中的其他样本线性表示的,而我们希望用尽量少的样本来表示xixi$,这就是稀疏表示的简单理解,用数学语言描述该模型如下: 给定一个n个样本构成的矩阵$X=[x_1,x_2,…,x_n]in R^{mn},xiin R^m,其中每一列是一个样本,由,其中每一列是一个样本,由X中d个样本构成一个“字典”中d个样本构成一个“字典”D=[x{i1},x{i2},…,x{id}]in R^{md},,D$中每一列成为原子。那么,每一个样本都可以表示成“字典”中原子的线性组合:
X=DZX=DZ
其中,Z=[z1,z2,…,zn]Z=[z1,z2,…,zn]是系数矩阵,zizi是样本xixi的“表示”。而字典DD通常是过完备的,因为经常是选取全部样本作为字典,即d=nd=n。因此,上市会有多个解。但是如给系数矩阵加上约束,则会有唯一解。稀疏表示即是要求系数矩阵ZZ是最稀疏的,即
min‖Z‖1min‖Z‖1
s.t.X=DZs.t.X=DZ
其中,‖⋅‖1‖⋅‖1是求矩阵所有元素的绝对值的和。进一步,这个模型还可以加上噪声,即
min‖Z‖1+λ‖E‖Fmin‖Z‖1+λ‖E‖F
s.t.X=DZ+Es.t.X=DZ+E
低秩表示(Low-rank Representation)低秩表示模型和稀疏表示模型几乎一样,区别仅在于对系数矩阵的约束不同,在低秩表示中,它期望系数表示矩阵Z尽可能的低秩,用数学语言描述如下:
minrank(Z)minrank(Z)
s.t.X=DZs.t.X=DZ
其中,rank(Z)rank(Z)表示矩阵ZZ的秩。与ℓ0ℓ0范数一样,秩函数也具有离散组合性质,因此求解上式是一个NP难得。但是如果上式存在一个较低秩的解的话,秩优化问题可以被松弛为核范数最小化问题,即:
min‖Z‖∗min‖Z‖∗
s.t.X=DZs.t.X=DZ
其中,‖⋅‖∗‖⋅‖∗是矩阵的核范数。松弛的原理可以这么理解,一个矩阵的秩等于其非零奇异值的个数。那么矩阵的秩最小化等价于矩阵的奇异值非零个数尽量少,进一步可以松弛为矩阵的所有奇异值的和尽量小。 低秩表示模型是在稀疏表示模型之后提出来的,当然它比稀疏表示模型的性能更好,这是因为低秩表示模型中的核函数自带聚集属性,具体的原因我推荐论文[10]中的讲解(在其第五章中)。 ##上述两个模型的求解 求解这两个模型的方法有很多,有兴趣的朋友可以参阅论文[11]。 Reference |
|
原空间,各种正则:
在哪个空间做自表示:
原空间 -> 核空间、特征空间隐含自表示、通过投影、AE自编解码...
异向,关于噪声建模:
scalability:
Motivation:
两个点,不在同一个子空间,affinity graph 不连通 —— 通过 子空间preserve 就能保证
两个点,在同一个子空间,affinity graph 需要连通 —— 仅仅 通过 子空间preserve 无法保证
多了一个二次项
在贪婪选择 support 的 i* 的时候,有区别
算法的收敛性可以得到证明