目录
在学习图自编码器之前先了解一下自编码器与变分自编码器。
自编码器
自编码器(auto-encoder, AE)是一类在半监督学习和无监督学习中使用的人工神经网络(Artificial Neural Networks, ANNs),其功能是通过将输入信息作为学习目标,对输入信息进行表征学习。 结构通常包括一个输入层、一个或多个隐藏层和一个输出层。自编码器的目标是学习将输入数据压缩到隐藏层中,并能够通过解码器将其从压缩表示中重建出输入数据。
自编码器通常包括两部分:编码器和解码器。编码器将输入数据映射到隐藏层,通常通过一系列的非线性变换和特征提取来实现。解码器则将隐藏层的表示映射回到重构的输入数据,同时也通过非线性变换和特征提取来实现。
变分自编码器与自编码器的区别
自编码器和变分自编码器都是属于无监督学习的神经网络模型,可以用于数据降维、特征提取、数据压缩等任务。主要区别在于训练细节和用途。
自编码器的训练目标是最小化重建误差,也就是使输入和输出保持尽量一致。自编码器的输出通常是通过一组非线性变换和解码器映射回输入空间的重构数据。因此,自编码器常用于数据降维、特征提取等任务中。
变分自编码器的训练目标是最小化重建误差和一个正则项。正则项通过引入潜在变量,实现对数据分布进行建模。变分自编码器通过从分布中采样潜在变量,从而可以生成新的数据样本。因此,变分自编码器常用于数据生成、异常检测等任务中。
变分自编码器
变分自编码器不仅学习将输入数据压缩成一个低维的表示,同时还会学习这个低维表示的概率分布。这个概率分布对应着原始数据的隐空间,这使得我们可以从隐空间中生成全新的数据。概率分布的意义就是在隐空间中表示输入数据的总体分布情况,也就是将输入数据映射到隐空间中的概率分布。这个映射过程是非线性的,通过变分自编码器的训练可以学习到这个映射的权重和偏置。因此VAE不仅可以重构原始数据,还可以生成与原始数据类似但并不存在于训练数据中的新数据,相当于对数据进行了无损压缩和有损压缩。
并且这个概率分布通常选择高斯分布,它有两个参数:均值和标准差,均值描述了概率分布的期望值,而标准差描述了概率分布的广度。
总之,变分自编码器可以通过将隐含空间中的数据转换为概率分布进行编码,然后在解码过程中,通过随机采样的方式生成新的数据。而且,这个过程是可逆的,也就是说新的数据可以再次通过编码过程映射到隐空间中。这使得变分自编码器在生成新数据时能够保持一定的一致性,保持过程的可逆性,从而对于一些任务,如数据压缩、降维、数据重建和数据生成等都有很好的效果。
生成新数据的核心是基于概率分布进行随机采样的过程。在训练过程中,变分自编码器通过学习到训练数据的概率分布,即隐空间中对应于原始数据的概率分布,从而生成新的数据。
下面进入正题!!!
图自编码器GAE
编码器
解码器
变分图自编码器VGAE
高斯分布可以唯一地由二阶矩确定。故确定一 个高斯分布,只需要知道均值和方差。VGAE利用GCN来分别计算均值和方差: