目录

自编码器

变分自编码器与自编码器的区别

变分自编码器

图自编码器GAE

编码器

解码器

变分图自编码器VGAE

在学习图自编码器之前先了解一下自编码器与变分自编码器。

自编码器与变分自编码器

自编码器与变分自编码器

自编码器

        自编码器(auto-encoder, AE)是一类在半监督学习和无监督学习中使用的人工神经网络(Artificial Neural Networks, ANNs),其功能是通过将输入信息作为学习目标,对输入信息进行表征学习。 结构通常包括一个输入层一个或多个隐藏层一个输出层。自编码器的目标是学习将输入数据压缩到隐藏层中,并能够通过解码器将其从压缩表示中重建出输入数据。


        自编码器通常包括两部分:编码器解码器编码器将输入数据映射到隐藏层,通常通过一系列的非线性变换和特征提取来实现。解码器则将隐藏层的表示映射回到重构的输入数据,同时也通过非线性变换和特征提取来实现。

变分自编码器与自编码器的区别

        自编码器和变分自编码器都是属于无监督学习的神经网络模型,可以用于数据降维、特征提取、数据压缩等任务。主要区别在于训练细节和用途。

        自编码器的训练目标是最小化重建误差,也就是使输入和输出保持尽量一致。自编码器的输出通常是通过一组非线性变换和解码器映射回输入空间的重构数据。因此,自编码器常用于数据降维、特征提取等任务中。

        变分自编码器的训练目标是最小化重建误差和一个正则项。正则项通过引入潜在变量,实现对数据分布进行建模。变分自编码器通过从分布中采样潜在变量,从而可以生成新的数据样本。因此,变分自编码器常用于数据生成、异常检测等任务中。

变分自编码器

        变分自编码器不仅学习将输入数据压缩成一个低维的表示,同时还会学习这个低维表示的概率分布。这个概率分布对应着原始数据的隐空间,这使得我们可以从隐空间中生成全新的数据。概率分布的意义就是在隐空间中表示输入数据的总体分布情况也就是将输入数据映射到隐空间中的概率分布。这个映射过程是非线性的,通过变分自编码器的训练可以学习到这个映射的权重和偏置。因此VAE不仅可以重构原始数据,还可以生成与原始数据类似但并不存在于训练数据中的新数据,相当于对数据进行了无损压缩和有损压缩。

        并且这个概率分布通常选择高斯分布,它有两个参数:均值标准差均值描述了概率分布的期望值,而标准差描述了概率分布的广度

        总之,变分自编码器可以通过将隐含空间中的数据转换为概率分布进行编码,然后在解码过程中,通过随机采样的方式生成新的数据。而且,这个过程是可逆的,也就是说新的数据可以再次通过编码过程映射到隐空间中。这使得变分自编码器在生成新数据时能够保持一定的一致性,保持过程的可逆性,从而对于一些任务,如数据压缩、降维、数据重建和数据生成等都有很好的效果。

        生成新数据的核心是基于概率分布进行随机采样的过程。在训练过程中,变分自编码器通过学习到训练数据的概率分布,即隐空间中对应于原始数据的概率分布,从而生成新的数据。

下面进入正题!!!

图自编码器GAE

        GAE是图卷积神经网络GCN在Auto-Encoders (AE)的应用,隐变量Z是图上的N个节点经过GCN后的N*F维特征,编码器就是两层GCN, 解码器就是向量点积。可以将隐变量Z理解为某种意义上图的节点的相似度,通过向量点积得到的两个图节点的相似度越大,则两个节点之间存在边的概率越大。

        一个图自编码器,包含一个编码器目的是映射输入图到一个更低的维度一个解码器目的是从更低维度的嵌入来重构输入图。换句话说,解码器的输出为重构的邻接矩阵A*,目的就是优化模型使得重构损失即A*与原始图输入A的差异最小。

编码器

        GAE 使用 GCN 作为 encoder,来得到节点的潜在表示(或者说 embedding),这个过程
可用一行简短的公式表达:
Z=GCN(X,A)
两层的GCN定义为:
GCN(X,A)=\widetilde{A}ReLU(\widetilde{A}XW_{0})W_{1}
        整个encoder只有两层,每一层采用的均是切比雪夫多项式的一阶近似作为卷积核处理数据。GCN就相当于一个以节点特征和邻接矩阵为输入、以节点嵌入信息为输出的函数,目的是为了得到节点的嵌入向量Z。

解码器

GAE采用inner-product(内积)作为decoder来重构原始的图:
\widehat{A}=\sigma (ZZ^{T}) 即重构出来的邻接矩阵。

变分图自编码器VGAE

        VGAE是GCN在VAE的应用。编码器用两个两层GCN分别得到N个均值和标准差,这两个GCN会共享第一层的参数,从而得到N个正态分布;解码器仍然是向量inner-product(内积)。变分图自动编码器,它是基于变分自编码器(VAE)的无监督学习图结构数据的框架,该模型利用了潜在变量,并且有可能学习无向图的可解释潜在表示。

        在GAE中,一旦GCN中的W_{0}W_{1} 确定了,那么GCN就是一个确定的函数,给定X和A,输出的Z 就是确定的。而在 VGAE 中,Z不再由一个确定的函数得到,而是从一个(多维)高斯分布中采样得到。更明确些,就是先通过GCN确定一个(多维)高斯分布,再从这个分布中采样得到Z。

         高斯分布可以唯一地由二阶矩确定。故确定一 个高斯分布,只需要知道均值和方差。VGAE利用GCN来分别计算均值和方差:

\mu =GCN_{\mu }(X,A)

log\sigma =GCN_{\sigma }(X,A)

        通过均值和方差就能唯一确定一个多维高斯分布,从中进行采样得到节点的嵌入表示Z。采样操作无法提供梯度信息对神经网络来说是无意义的,可通过重采样得到节点的向量表示,即服从标准高斯分布N(0,1)。
学习总结到此就结束lu!!!
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐