首页 > 其他分享 >Graph Normalizing Flows

Graph Normalizing Flows

时间:2023-05-25 10:55:47浏览次数:51  
标签:frac Graph Flows Normalizing ij mathbf Omega partial

目录

Liu J., Kumar A., Ba J., Kiros J. and Swersky K. Graph normalizing flows. NIPS, 2019.

基于 flows 的图的生成模型.

符号说明

  • \(\mathcal{G} = (H, \Omega)\), 图;
  • \(H = (\mathbf{h}^{(1)}, \cdots, \mathbf{h}^{(N)}) \in \mathbb{R}^{N \times d_n}\), node feature matrix;
  • \(\Omega \in \mathbb{R}^{N \times N \times (d_e + 1)}\), 其中 \(\Omega_{:,:,0} \in \mathbb{R}^{N \times N}\) 表示邻接矩阵, \(\Omega_{:, :, :1:(d_e+1)}\) 表示 edge features.
  • 寻常的 MPNN 可以表述为:

    \[\mathbf{m}_{t+1}^{(v)} = \text{Agg} \Bigg( \{ M_t (\mathbf{h}_t^{(v)}, \mathbf{h}_t^{(u)}, \Omega_{u, v}) \}_{u \in \mathcal{N}}(v) \Bigg) \\ \mathbf{h}_{t+1}^{(v)} = U_t(\mathbf{h}_t^{(v)}, \mathbf{m}_{t+1}^{v}), \]

    其中 \(M_t(\cdot), U_t(\cdot)\) 分别是 message generation function 和 vertex update function.

Graph Normalizing Flows

  • 需要注意的是, 本文的 flows 和一般的 flows 有点区别, 它并不具有一个 encoder 先将 \(\mathbf{x}\) 转换为隐变量 \(\mathbf{z}\) 再 \(\mathbf{z}' = f(\mathbf{z})\) 的过程, 而是直接构造 flow \(\mathbf{z} = f(\mathbf{x})\).

  • 简单来说, flow 需要保证 \(f(\cdot)\) 是可逆的, 此时:

    \[P(\mathbf{z}) = P(\mathbf{x})|\text{det}(\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}})|^{-1}. \]

  • 作者是基于 RealNVP 进行的, 该方法将 \(\mathbf{x}\) 切分为 \(\mathbf{x}^{(0)}, \mathbf{x}^{(1)}\), 然后:

    \[\mathbf{z}^{(0)} = \mathbf{x}^{(0)} \\ \mathbf{z}^{(1)} = \mathbf{x}^{(1)} \odot \exp(s(\mathbf{x}^{(0)})) + t(\mathbf{x}^{(0)}), \]

    其中 \(s, t\) 为两个 non-linear 函数. 和显然 \(\nabla_{\mathbf{x}} \mathbf{z}\) 为一个下三角矩阵. 此时行列式就是对角线元素相乘.

GRevNets

  • 让我们来看看作者是怎么构造可以的 flow 的.

  • 首先, 对每个结点 \(v\), 将它的结点特征切分为 \(\mathbf{h}_t^{0}, \mathbf{h}_t^{1}\) (这里我们省略标识 \((v)\)).

  • 前向的过程可以表述为:

    \[H_{t+\frac{1}{2}}^0 = H_t^0 \odot \exp(F_1(H_t^1)) + F_2 (H_t^1), \quad H_{t+1}^0 = H_{t+\frac{1}{2}}^0, \\ H_{t+\frac{1}{2}}^1 = H_t^{1}, \quad H_{t+1}^{1} = H_{t+\frac{1}{2}}^1 \odot \exp(G_1(H_{t+\frac{1}{2}}^{0})) + G_2(H_{t+\frac{1}{2}}^0). \]

  • 给定 \(H_{t+1}^0, H_{t+1}^1\) 我们可以得到:

  • 于是我们有:

    \[P(H_0) = P(H_T) \prod_{t=1}^T |\text{det}(\frac{\partial H_t}{\partial H_{t-1}})|. \]

  • 我们可以通过极大化对数似然 \(\log P(H_0)\) 来优化参数.

  • 但是, 我们最终希望的其实是生成离散的图 (通过邻接矩阵 \(A\) 来刻画).

  • 所以在生成的时候, 比如我们采样 \(H_T \sim \mathcal{N}(0, 1)\), 然后通过 GNF 得到 \(H_0\), 那么我们实际上还需要一个 decoder 将 \(H_0\) 映射为 \(\hat{A}\).

  • 为此, 作者还额外设计了一个 encoder, 将 \(A, H\) 映射为隐变量 \(X\), 不过我不是特别清楚为什么 \(H\) 也是采样子正态分布而不是直接用 node features.

  • 训练编码器是通过如下损失:

    \[\mathcal{L}(\theta) = -\sum_{i=1}^N \sum_{j=1}^{N/2} A_{ij} \log (\hat{A}_{ij}) + (1 - A_{ij}) \log (1 - \hat{A}_{ij}), \]

    这里 \(N/2\) 的原因是作者假设我们生成的是无向图, 所以 \(A\) 是对称的.

  • 对于 decoder, 作者采用的是一种非常简单的方式:

    \[\hat{A}_{ij} = \frac{1}{1 + \exp(C(\|\mathbf{x}_i - \mathbf{x}_j\|_2^2 - 1))}. \]

标签:frac,Graph,Flows,Normalizing,ij,mathbf,Omega,partial
From: https://www.cnblogs.com/MTandHJ/p/17430521.html

相关文章

  • 图形学流体力学Fluid Simulation for Computer Graphics
    从水的飞溅,到火焰和烟雾的旋转,流体已经成为计算机图形学的一个重要组成部分。这本书旨在涵盖模拟这些动画效果的基本知识。让我们来看看控制它们运动的基本方程。动画中大多数有趣的流体流动都是由著名的incompressibleNavier-Stokes方程控制的。>>fluidenginedevelopment>>......
  • Graph Embedding:LINE算法
    背景 如上图所示,结点6和7是相邻结点,他们应该是相似结点,结点5和6虽然不是相邻结点,但是它们有共同的相邻的结点,因此它们也应该是相似结点。基于词观察,LINE算法提出了一阶相似性算法和二阶相似性算法  First-order我们首先如如下公式来计算结点i和j的联合概率分布:其中ui,u......
  • Graphpad Prism9.5.1 数据处理绘图软件详细安装教程 (含Win/Mac版)
    GraphPadPrismGraphPadPrism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统计图。  安装教程下面就简单的介绍一下Win版的安装教程详细图文教程......
  • Paper Reading: forgeNet a graph deep neural network model using tree-based ensem
    目录研究动机文章贡献本文方法图嵌入深度前馈网络forgeNet特征重要性评估具体实现模拟实验合成数据生成实验评估实验结果真实数据应用BRCA数据集microRNA数据Healthyhumanmetabolomics数据集优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重......
  • Combining Label Propagation and Simple Models Out-performs Graph Neural Networks
    目录概符号说明C&S代码HuangQ.,HeH.,SinghA.,LimS.andBensonA.R.Combininglabelpropagationandsimplemodelsout-performsgraphneuralnetworks.ICLR,2021.概将预测概率作为信号进行传播.符号说明\(G=(V,E)\),图;\(|V|=n\);\(X\in\mathbb{R}......
  • Graphql(五)Apollo 文件传输
    本文介绍如何在ApolloGraphQL中实现文件的传输文件传输在GrapqhQL中官方建议文章ApolloServerFileUploadBestPractices提及了实现文件上传的几种方式,分别是:SignedURLsUsinganimageuploadserviceMultipartUploadRequests本文介绍我所尝试过的第一种和第三种。......
  • POJ1737 Connected Graph ( n点无向连通图计数
    题意说明:求\(n\)个点的无向连通图个数据说已经非常典了,但是我太菜了不会组合数学,最近补档时看到这道题,决定记录下来理理思路......
  • Vulnhub: Photographer 1靶机
    kali:192.168.111.111靶机:192.168.111.132信息收集端口扫描nmap-A-v-sV-T5-p---script=http-enum192.168.111.132目标8000端口为kokencms使用enum4linux枚举目标samba服务,发现共享文件夹enum4linux-a192.168.111.132连接目标共享文件夹,发现两个文件smbcli......
  • 基于Graph-Cut算法的彩色图像深度信息提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要Graphcuts是一种十分有用和流行的能量优化算法,在图像处理领域普遍应用于前后背景分割(Imagesegmentation)、立体视觉(stereovision)、抠图(Imagematting)等,目前在医学图像领域应用较多。GraphCut(图形切割)应用于......
  • 基于Graph-Cut算法的彩色图像深度信息提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要       Graphcuts是一种十分有用和流行的能量优化算法,在图像处理领域普遍应用于前后背景分割(Imagesegmentation)、立体视觉(stereovision)、抠图(Imagematting)等,目前在医学图像领域应用较......