DAG-GNN: DAG Structure Learning with Graph Neural Networks
概
有向无环图 + GNN + VAE.
主要内容
先前已经有工作(NOTEARS)讨论了如何处理线性SEM模型
\]
\(A \in \mathbb{R}^{m \times m}\)为加权的邻接矩阵, \(m\)代表了有向无环图中变量的数目, \(Z\)是独立的noise. 需要特别说明的是, 在本文中, 作者假设每一个结点变量\(X_i\)并非传统的标量而是一个向量 (个人觉得这是很有意思的点, 有点胶囊的感觉), 故\(X \in \mathbb{R}^{m \times d}\), 这里\(X_i\)为\(X\)的第\(i\)行.
本文在此基础上更进一步, 考虑非线性的情况:
\]
如果\(g\)可逆, 则可以进一步表示为
\]
为了满足这一模型, 作者套用VAE, 进而最大化ELBO:
\]
整个VAE的流程是这样的:

encoder:
\[M_Z, \log S_Z = f_4((I - A^T)f_3(X)), \\
Z \sim \mathcal{N}(M_Z, S_Z^2).
\]decoder
\widehat{X} \sim \mathcal{N}(M_X, S_X^2).
\]
注: 因为每个结点变量都不是标量, 所以考虑上面的流程还是把\(X, Z\)拉成向量\(md\)再看会比较清楚.
此时
\]
仅最大化ELBO是不够的, 因为这并不能保证\(A\)反应有向无环图, 所以我们需要增加条件
\]
具体推导看NOTEARS, 这里\(\alpha=\frac{c}{m}\), \(c>0\)是一个超参数, 这个原因是
\]
所以合适的\(c\)能够让条件更加稳定.
最后目标可以总结为:
\mathrm{s.t.} \quad h(A) = 0.
\]
同样的, 作者采用了augmented Lagrangian来求解
\lambda^{k+1} = \lambda^k + c^k h(A^k), \\
c^{k+1} =
\left \{
\begin{array}{ll}
\eta c^k, & \mathrm{if} \: |h(A^k)| > \gamma |h(A^{k-1})|, \\
c^k, & otherwise.
\end{array}
\right.
\]
这里\(\eta > 1, \gamma < 1\), 作者选择\(\eta=10, \gamma=1/4\).
注: \(c\)逐渐增大的原因是, 显然当\(c = +\infty\)的时候, \(h(A)\)必须为0.
注: 作者关于图神经网络的部分似乎就集中在\(X\)的模型上, 关于图神经网络不是很懂, 就不写了.
代码
DAG-GNN: DAG Structure Learning with Graph Neural Networks的更多相关文章
- 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》
论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...
- 《Graph Neural Networks: A Review of Methods and Applications》阅读笔记
本文是对文献 <Graph Neural Networks: A Review of Methods and Applications> 的内容总结,详细内容请参照原文. 引言 大量的学习 ...
- 3D Graph Neural Networks for RGBD Semantic Segmentation
3D Graph Neural Networks for RGBD Semantic Segmentation 原文章:https://www.yuque.com/lart/papers/wmu47a ...
- [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)
译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...
- 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》
论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...
- 论文阅读 Streaming Graph Neural Networks
3 Streaming Graph Neural Networks link:https://dl.acm.org/doi/10.1145/3397271.3401092 Abstract 本文提出了 ...
- 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》
论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...
- 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》
论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...
- (转)Understanding, generalisation, and transfer learning in deep neural networks
Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017 Thi ...
随机推荐
- Shell $()、${}、$[]、$(())
目录 Shell中的 $().${}.$[].$(()) $().${} 替换 ${} 变量内容的替换.删除.取代 数组 $[].$(()) 运算符 Shell中的 $().${}.$[].$(()) ...
- A Child's History of England.30
CHAPTER 10 ENGLAND UNDER HENRY THE FIRST, CALLED FINE-SCHOLAR Fine-scholar, on hearing of the Red Ki ...
- 【vector的输出问题】 洛谷 P1996 约瑟夫问题
题目:P1996 约瑟夫问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 可恶啊,本来是一道不算难的题,硬是因为cin,cout同步流卡了我一天qwq 关闭cin,cout同步流 ...
- VUE页面实现加载外部HTML方法
前后端分离,后端提供了接口.但有一部分数据,比较产品说明文件,是存在其他的服务器上的.所以,在页面显示的时候,如果以页面内嵌的形式显示这个说明文件.需要搞点事情以达到想要的效果.本文主要和大家介绍VU ...
- 11.Vue.js-事件处理器
事件监听可以使用 v-on 指令: <div id="app"> <button v-on:click="counter += 1">增 ...
- 【力扣】剑指 Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: 输入:1->2->4, 1->3->4输出:1->1->2->3-> ...
- 【手帐】Bullet Journal教程
最近觉得自己的日程记录本有待提高,于是从今年开始开始入坑了手帐. *内容源自Bullet Journal官网.https://bulletjournal.com/pages/learn 快速笔记 Bu ...
- numpy基础教程--浅拷贝和深拷贝
在numpy中,使用等号(=)直接赋值返回的是一个视图,属于浅拷贝:要完整的拷贝一个numpy.ndarray类型的数据的话,只能调用copy()函数 # coding = utf-8 import ...
- 如何推翻JAVA的统治地位
"java越来越过份了."php狠狠的说,他转头看着C:"C哥,您可是前辈,java最近砸了我不少场子,你老再不出来管管,我怕他眼里就没有您了啊." C哥吸烟, ...
- centos源码部署lua-5.3
目录 一.介绍 二.部署 三.测试 一.介绍 Luat语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大. 二.部 ...