偶然看到这部分内容,在这儿记录一下。
1.图自编码器:
图自编码器(Graph Autoencoder, 简称 GAE)是一种无监督学习模型,用于学习图数据的嵌入表示。GAE结合了自编码器和图结构的特点,能够从图数据中提取节点的潜在表示(即低维嵌入),并且能够很好地捕捉图结构和节点特性。
1.1基本思想
图自编码器的目标是学习一个编码器-解码器框架,通过压缩图结构信息到低维空间(编码),并尝试重构原始图的邻接矩阵或其他特性矩阵(解码)。通过这种方式,模型能够提取节点嵌入,同时保留图的局部和全局结构信息。
1.2 结构组成
(1) 编码器
编码器负责将原始图数据映射到一个低维嵌入空间,通常基于图神经网络(GNN)来实现。
常用的编码器方法包括:
- 图卷积网络(GCN): 使用图卷积算子,将节点的特征通过邻接关系进行聚合。
- 其他GNN变体: 如GraphSAGE、GAT等。
编码器的公式通常是:
Z=Encoder(A,X)Z=Encoder(A,X)
其中:
- A 是图的邻接矩阵;
- X 是节点的特征矩阵;
- Z 是节点的低维嵌入矩阵。
(2) 解码器
解码器根据节点的低维嵌入表示 Z,尝试重构图的结构信息(如邻接矩阵 A 或边权重)。
常见的解码方法:
- 内积解码: 假设节点嵌入 Z 的内积能够近似表示两个节点之间的边连接概率:
- MLP解码: 使用一个多层感知机(MLP)来建模边的连接概率。
这里 A^是重构的邻接矩阵,σ 是激活函数(如sigmoid)。
1.3损失函数
GAE的训练目标是最小化原始图 A 和重构图 A^ 的差异,常用的损失函数包括:
- 重构误差: 使用均方误差(MSE)或交叉熵来衡量 A 和 A^ 之间的差异:
或
- 正则化: 为了防止过拟合,可以对节点嵌入 ZZ 加正则化,如
。
2.变体:图变分自编码器
在GAE的基础上,G-VAE(Graph Variational Autoencoder, G-VAE)引入了变分推断思想,将节点嵌入表示为概率分布(而非确定性向量)。具体地,编码器输出节点的均值和方差,用以定义一个高斯分布:
损失函数包括两部分:
- 重构误差(如上所述);
- Kullback-Leibler (KL) 散度,用于使分布 q(Z) 接近先验分布(通常是标准正态分布)。
2.1 应用场景
- 节点分类: 利用低维嵌入表示,进行节点特征的分类任务。
- 图结构预测: 预测图中缺失的边(链路预测)。
- 社区发现: 根据嵌入表示聚类节点,发现社区结构。
- 推荐系统: 将GAE用于社交网络中的用户推荐。
2.2 优点和挑战
优点:
- 灵活性: 可以适应不同类型的图数据(有权图、异质图等)。
- 表达能力强: 能够捕获复杂的图结构和节点特性。
挑战:
- 扩展性: 对于大规模图数据,计算邻接矩阵的重构可能带来较高的内存和计算成本。
- 训练复杂性: 对于稀疏图,训练可能需要额外的采样策略(如负采样)以加速优化。
3.相关知识库
3.1变分推断思想
变分推断(Variational Inference, VI)是一种用于概率模型中推断后验分布的方法,主要用于复杂的概率分布建模和推断问题,特别是在后验分布无法显式计算的情况下。变分推断的核心思想是将概率推断问题转化为优化问题。
1 背景:后验推断的难点
在贝叶斯推断中,我们希望计算后验分布 p(Z∣X),即:
其中:
- Z 是潜在变量;
- X 是观测变量;
- p(X∣Z)是似然函数;
- p(Z)是先验分布;
是边际似然。
计算后验分布的主要难点是分母 p(X),即边际似然。这通常涉及对潜在变量 Z 的积分,而这个积分在许多实际情况下(例如高维空间)无法显式计算。
2 核心思想
核心思想:用变分分布 q(Z)近似后验分布 p(Z∣X)。为了避开直接计算后验 p(Z∣X),变分推断引入一个易于处理的分布 q(Z)来近似 p(Z∣X)。具体地,我们选择一个参数化的 q(Z),并通过优化让 q(Z)尽可能接近 p(Z∣X)。
衡量 q(Z)和 p(Z∣X)之间距离的常用工具是 Kullback-Leibler (KL) 散度:
KL 散度的值越小,表示 q(Z)和 p(Z∣X)越接近。
3 变分下界
变分下界 (Evidence Lower Bound, ELBO):为了优化 q(Z),我们不能直接最小化 KL(q(Z)∥p(Z∣X)),因为 p(X)(后验分布的分母)是未知的。因此,我们通过重构 KL 散度,得到一个优化目标,即变分下界(ELBO)。
重构公式:
这意味着:
其中:
关键性质:
- 目标:最大化 ELBO。由于 KL 散度始终非负(KL(q(Z)∥p(Z∣X))≥0),最大化 ELBO 等价于最小化 KL(q(Z)∥p(Z∣X))。
- 最大化 ELBO 不仅近似了 p(Z∣X),还为对数边际似然 logp(X)提供了一个下界,因此称为 证据下界。
分解的两项:
- 第一项:重构误差(数据拟合项)
Eq(Z)[logp(X∣Z)]:表示给定潜在变量 ZZ,对观测数据 XX 的重建能力。 - 第二项:正则项
KL(q(Z)∥p(Z)):衡量近似分布 q(Z) 和先验分布 p(Z) 的差异,防止过拟合。
4. 优化过程
选择近似分布 q(Z):
定义一个参数化的,例如高斯分布
,参数为
。
优化目标:
最大化变分下界(ELBO),以优化 q(Z)的参数 ϕ:
优化方法:
使用梯度下降等优化算法,通过样本 Z∼q(Z)进行蒙特卡洛估计,计算梯度并更新参数。
5 VAE变分推断
在变分自编码器(Variational Autoencoder, VAE)中,变分推断被用来学习潜在变量的分布。其框架如下:
编码器(变分分布 q(Z∣X)):
使用神经网络建模 q(Z∣X),输出潜在变量 Z的均值 μ和标准差 σ。
解码器(似然分布 p(X∣Z)):
给定 Z,通过另一个神经网络生成 X 的分布。
损失函数:
结合重构误差和正则化项,定义为:
6 总结
- 变分推断的目标: 用易处理的近似分布 q(Z)逼近难以计算的后验分布 p(Z∣X)。
- 关键步骤: 定义 q(Z),最大化变分下界(ELBO)。
- 优势: 高效、可扩展,适用于复杂模型(如深度生成模型)。
- 局限: 近似分布的选择(q(Z))会影响推断精度;优化过程中可能存在局部最优问题。
变分推断是现代生成模型(如VAE、深度贝叶斯模型等)的重要理论基础,也是概率推断的重要工具。
3.2.后验推断
1. 后验分布的定义
根据贝叶斯公式,后验分布 p(Z∣X)为:
公式各部分的含义:
p(Z∣X):后验分布
这是我们希望计算的分布,表示在给定观测数据 XX 的条件下,潜在变量 ZZ 的概率分布。
p(X∣Z):似然函数
描述在某个潜在变量 ZZ 下,生成观测数据 XX 的概率。
p(Z):先验分布
描述潜在变量 ZZ 的先验知识,通常是我们假设的分布,比如标准正态分布。
p(X):边际似然(或证据)
表示观测数据 XX 的概率,计算公式为:
它是通过对所有可能的 ZZ 进行积分,边缘化掉潜在变量 ZZ 后得到的值。
2. 计算后验分布的难点
后验分布的计算主要难在分母 p(X),因为它涉及对潜在变量 Z 的积分:
- 如果 Z 是高维连续变量,这个积分往往难以计算,尤其是在 p(X∣Z) 和 p(Z)没有解析形式的情况下。
- 因此,直接计算 p(Z∣X)是不可行的。
3. 近似后验推断
由于 p(X)很难显式计算,后验推断通常采用近似方法。其中两种主要方法是:
- 采样方法(如 MCMC): 使用随机采样来逼近后验分布。
- 变分推断: 用易处理的分布 q(Z)近似 p(Z∣X)。
以下我们重点分析变分推断的推导公式。
4. 变分推断公式推导
4.1. 用 KL 散度定义近似目标
在变分推断中,我们引入一个可控的近似分布 q(Z),并通过优化 q(Z) 的参数,让 q(Z)尽可能接近真实后验 p(Z∣X)。衡量两者差异的指标是 KL 散度:
我们的目标是最小化这个 KL 散度。
4.2. 将 KL 散度展开
利用贝叶斯公式 ,KL 散度可写为:
将分母 p(X)提到外部,得到:
整理后:
4.3. 变分下界(ELBO)
将上式重新排列,得到:
这意味着:
是两部分的和:
- 第一部分是
,称为变分下界(ELBO)。
- 第二部分是
。
- 第一部分是
- KL≥0,所以变分下界是
的一个下界。
记作:
4.4. 最大化 ELBO
由于 是固定值,最小化 KL 散度等价于最大化 ELBO:
进一步展开为两部分:
- 第一项
:重构误差,用于衡量生成数据 XX 的能力。
- 第二项
:正则化项,用于让 q(Z) 接近先验分布 p(Z)。
5. 总结公式关系
核心公式
- 贝叶斯公式:
- 边际似然(证据):
- KL 散度:
- 变分下界(ELBO):
推断的核心思想
- 通过最大化 ELBO,我们找到一个近似分布 q(Z) 来逼近后验分布 p(Z∣X)。
- 同时,通过优化,我们能够有效地学习潜在变量 ZZ 的分布和观测数据 XX 的生成机制。
这个过程是现代深度生成模型(如 VAE)的理论基础,也是变分推断的精髓所在。