SpectralNet: Spectral Clustering Using Deep Neural Networks

论文:ICLR 2018
代码:tensorflow 1.

文章中的训练好的SpectralNet可以实现将输入点到输出图拉普拉斯矩阵的本征空间的映射,并且实现聚类。训练SpectralNet包含三个部分:

  1. 通过AutoEncoder网络对输入数据进行编码;使用孪生网络–Siamese network,对已编码的数据进行距离度量学习,得到自适应的距离;

  2. 通过在强制正交性的同时优化谱聚类目标,利用神经网络无监督地学习映射 F θ F_\theta Fθ;

  3. 将得到的特征再用k-means分类得到最终的结果。

1. Siamese 网络

Siamese网络通常训练一组相似(正)和不相似(负)的数据点。 当标记数据可用时,可以基于标记信息选择这样的对(即,具有相同标记的点对被认为是正的,而具有不同标记的点对被认为是负的)。 在未标记的数据集这种情况下,可以直接从欧几里德距离或图距来学习关系矩阵例如通过“标记”点 x i x_i xi; 如果 ∣ ∣ x i − x j ∣ ∣ ||x_i-x_j|| xixj很小则 x j x_j xj为正,否则为负。 在文章中,我们从每个点的最近邻居构建正对,负对由远距离较大的点构成。 因此,Siamese网络被训练以学习自适应最近邻居度量。

  • Siamese 是一种神经网络的框架,而不是具体的某种网络,就像seq2seq一样,具体实现上可以使用RNN也可以使用CNN。

  • Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的。(共享权值即左右两个神经网络的权重一模一样)

  • siamese network的作用是衡量两个输入的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。

siamese network
如果左右两边不共享权值,而是两个不同的神经网络,称为pseudo-siamese network,伪孪生神经网络。
pseudo-siamese network

孪生神经网络用于处理两个输入**“比较类似"的情况。伪孪生神经网络适用于处理两个输入"有一定差别”**的情况。比如,我们要计算两个句子或者词汇的语义相似度,使用siamese network比较适合;如果验证标题与正文的描述是否一致(标题和正文长度差别很大),或者文字是否描述了一幅图片(一个是图片,一个是文字),就应该使用pseudo-siamese network。也就是说,要根据具体的应用,判断应该使用哪一种结构,哪一种Loss。

损失函数

Contrastive Loss
L = 1 2 N ∑ n = 1 N y d 2 + ( 1 − y ) m a x ( m a r g i n − d , 0 ) 2 L=\frac{1}{2N}\sum_{n=1}^Nyd^2+(1-y)max(margin-d,0)^2 L=2N1n=1Nyd2+(1y)max(margind,0)2

d = ∣ ∣ a n − b n ∣ ∣ 2 d=||a_n - b_n||_2 d=anbn2代表两个样本特征的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。

这种损失函数最初来源于Yann LeCun的Dimensionality Reduction by Learning an Invariant Mapping,主要是用在降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。

观察上述的contrastive loss的表达式可以发现,这种损失函数可以很好的表达成对样本的匹配程度,也能够很好用于训练提取特征的模型。当y=1(即样本相似)时,损失函数只剩下 ∑ y d 2 \sum yd^2 yd2,即原本相似的样本,如果在特征空间的欧式距离较大,则说明当前的模型不好,因此加大损失。而当y=0时(即样本不相似)时,损失函数为 ∑ ( 1 − y ) m a x ( m a r g i n − d , 0 ) 2 \sum (1-y)max(margin-d,0)^2 (1y)max(margind,0)2,即当样本不相似时,其特征空间的欧式距离反而小的话,损失值会变大,这也正好符号我们的要求。

从 Siamese网络输出的是两个输入数据相关的特征向量,想要得到相似度需要借助距离函数,比如欧式距离、Jaccard距离,本文使用的是欧氏距离,并且用此距离代替谱聚类中邻接矩阵 高斯核函数里的欧式距离。

代码

孪生网络入门(下) Siamese Net分类服装MNIST数据集(pytorch)

孪生网络实验记录_狂小p只和傻子玩的博客

2. SpectralNet

原始特征X,低维特征Y,相似度矩阵W。使用神经网络从X学习低维特征Y.

L S p e c t r a l = 1 m 2 ∑ i , j = 1 m W i , j ∣ ∣ y i − y j ∣ ∣ 2 L_{Spectral}=\frac{1}{m^2}\sum_{i,j=1}^m W_{i,j}||y_i-y_j||^2 LSpectral=m21i,j=1mWi,jyiyj2

为了防止所有的点在网络映射中被分组到同一个簇中,输出的y在期望中必须是标准正交的。

Algorithm 1: SpectralNet training

参考连接:
bestrivern-孪生神经网络
weixin_45492636-孪生神经网络
autocyz–Contrastive Loss

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这句话的意思是,使用快速局部谱滤波在图上进行卷积神经网络。在这个过程中,图像被表示为一个图,节点表示像素,边表示它们之间的关系。然后使用谱滤波器来处理这些图像,以便更好地捕捉它们之间的关系。由于使用了快速局部谱滤波器,因此可以有效地减少计算量,并提高计算效率。 ### 回答2: 卷积神经网络(CNN)在计算机视觉领域中被广泛应用,而针对图像上的卷积运算也得到了很好的改进。但是,对于图结构数据,卷积操作却变得更加困难。近年来出现了一些新的关于卷积神经网络用于图结构数据的方法,如基于图卷积网络(GCN)等。本文要介绍的“convolutional neural networks on graphs with fast localized spectral filtering”,即基于图谱的局部快速滤波的卷积神经网络,是另一种针对图结构数据的卷积方法。 传统的CNN通常采用局部的、线性的滤波器来提取图像的空间特征。而对于图结构数据,由于图上两个节点之间的关系是任意的,以及节点的特征不一定是有序的,因此无法直接地应用局部的卷积操作。但是,与图结构数据相对应的,是一个特殊的函数——图谱,它提供了丰富的图结构信息。 图谱(即拉普拉斯矩阵)是一个对称的稀疏矩阵,反映了图结构和节点特征之间的关系。将图谱的特征值和特征向量作为滤波器,就可以将图上的卷积操作转化为图谱卷积的形式。尤其是,利用局部滤波器就可以实现对图上节点嵌入向量的快速计算。 该方法涉及到了图谱嵌入、拉普拉斯矩阵、小批量图谱卷积核的设计等方面的内容。其中,图谱嵌入是将图结构数据映射为一个低维向量表示的过程,具有降维和特征抽取的作用;拉普拉斯矩阵是反应了图结构的一类矩阵,与图谱嵌入有密切关系;在卷积核设计方面,考虑到图结构的多样性和规模,将设计小批量卷积核进行快速的局部卷积操作,以提高计算效率。 该方法的优点在于,可以处理任意结构的图像和非图像数据,并且具有较好的鲁棒性和泛化能力。是否可以进一步提高计算效率,仍需更多的研究来探索。 ### 回答3: 卷积神经网络是一种基于多层神经元的深度学习算法,被用于图像、文本和声音等领域。最近,学者们开始研究如何将卷积神经网络应用于图形数据,如社交网络、交通网络和化学分子。其中,卷积神经网络特别适合处理图形数据,因为它可以学习局部特征,并保持局部空间关系。因此,卷积神经网络在图形任务上取得了许多优秀成果。 然而,之前的卷积神经网络模型存在一些不足,比如缺乏设计可解释性、效率低下、过度拟合等。为了解决这些问题,一种新的基于谱滤波的图形卷积神经网络被提出,即convolutional neural networks on graphs with fast localized spectral filtering。 这种方法在卷积层引入了局部谱滤波器,能够提高模型的效率和可解释性。谱滤波器可以学习图形数据的空间结构特征,能够捕捉节点之间的相邻关系和密度。而局部谱滤波器则针对每个节点的邻居子图进行滤波,使模型能够更好地识别图形数据中的局部特征。 此外,该方法还能够解决过拟合问题。过拟合是神经网络经常遇到的问题,即模型在训练集上表现极佳,但在测试集上表现不佳。谱滤波器可以在输入数据中学习的特征不够显著时,利用图形数据的全局谱信息进行补充,并减少过拟合的发生。 总之,convolutional neural networks on graphs with fast localized spectral filtering是一种高效、可解释、稳定的图形卷积神经网络。此方法在实际应用中有很大的潜力,如社交网络分析、城市交通预测、生物学和化学分子分析等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值