泉州手机模板建站,北京传媒公司排名,wordpress 头像缓存到本地,微信运营者和管理员的区别本文使用 Zhihu On VSCode 创作并发布Paper | Code本文一作实在是太大佬了#xff0c;让我和小伙伴焦虑了好一阵子。作者主页送你们#xff0c;将这份焦虑传递下去。Introduction图生成有很多用处#xff1a;建模physical and social interactions发现新的化学和分子结构构建…本文使用 Zhihu On VSCode 创作并发布 Paper | Code本文一作实在是太大佬了让我和小伙伴焦虑了好一阵子。作者主页送你们将这份焦虑传递下去。Introduction图生成有很多用处建模physical and social interactions发现新的化学和分子结构构建知识图谱本文摘要直接指出了图生成问题的难点图生成模型需要学习到图的结构分布然而图具有非唯一 (non-unique)高维以及给定图的边之间存在复杂、非局部的依存关系。因此直接对复杂的图分布直接进行建模并从这些分布中进行有效采样是一项挑战。目前图生成面临的挑战有要让模型在没有图结构假设的情况下从一组观察到的图中直接学习生成模型具备从多个图以及大图中学习生成的能力Large and variable output spaces 个节点的图需要输出的值才能完整表示且每个图的边和节点也不是固定的数值Non-unique representations如果我们想学习一个有 个节点的图的结构然而它最多可以表示为 个等效邻接矩阵这会让训练变得很难。Complex dependencies很明显图中的边关系不可能简单地看作相互独立的它们之间有复杂的依存关系。GraphRNN为解决上述问题本文提出了 GraphRNN以 autoregressive (or recurrent) 作为一系列新节点和边的添加方式绘制 graph来捕获图中所有节点和边的复杂联合概率。GraphRNN 可以视作一种级联形式由两个RNN组成graph-level RNN维护图的状态并生成新节点edge-level RNN为新生成的节点生成新的边。符号定义GraphRNN 思路Key Idea 将不同节点顺序下的图表示为序列并在这些序列上构建一个自回归的生成模型。将graph建模成序列定义从graphs到sequences的映射 其中每个元素 表示节点和先前所有节点之间的边的邻接向量 如图一注意下面的向量依次对应右上方的graph。由此 的序列就可以表示整个无向图这里用一个反向的映射表示在此基础上对于图分布 的学习就可以转化为联合分布 的边缘分布这时我们只需要学习 就可以了。由于它又是个序列模型所以可以分解为条件分布的乘积定义最后一个元素 为序列终止 EOS。GraphRNN 框架即使 被分解成了 这仍然很棘手。因为它需要在之前的节点的连接基础上得到节点 如何与之前的节点连接。这又是一个复杂的概率关系本文打算用RNN来建模这种关系包含状态转移函数和输出函数 是一个编码了到目前为止生成的图的状态的向量 是最近一个生成节点的邻接向量 指定了下一个节点邻接向量的分布 。文中指出 可以用任意神经网络表示本文开源代码用了两个GRU。 也可以是任意形态分布。算法总结为 利用 BFS 处理变长度的序列由于RNNs需要固定长度的输入向量然而的长度是随着 i 变化的因此本文旨在利用 BFS 广度优先搜索 的节点序列而不是任意节点序列来学习图的生成。这样做的好处据说是不是一般性将式1改为BFS 以一个随机顺序 为输入将 作为起点按照 中的先后顺序将它的邻居依次添加到 BFS 队列中。好处如下BFS 是一对多的一个 BFS 序列可以转化为多个节点排序。因此我们需要训练的数量少了。BFS排序通过减少 edge-level RNN 中进行的边缘预测的数量来使学习变得更容易。因为如果我们新加入一个节点那么它的连接边只能处在BFS搜索前沿的节点当搜索完成时可以想象成树的叶子节点定义描述就是Proposition 1. Suppose is a BFS ordering of nodes in graph , and but for some then and 这个性质是我们可以将可变长度的 定义为固定长度的 M 维向量表示节点 与当前BFS队列中最大大小为M的节点之间的连通性至于这个 M 怎么去估计见本文附录吧。扩展到具有节点、边特征的GraphGraphRNN可以扩展到具有节点和边特征的Graph生成在节点顺序 下图 与它的节点特征矩阵 和边特征矩阵 相关联。因此可以将 的定义扩展为 。在 模块用一个 MLP 来生成 edge-level RNN 来生成 。作者的开源代码好像并没有这部分我已经在github上发了issues。