论文笔记之Learning Convolutional Neural Networks for Graphs
2016-12-06 11:07
941 查看
本篇论文是2016ICML上的一篇论文,对于如何将cnn应用在graph上提供了一种新的思路。
架构:
总体上讲,就是用w个固定size=(k+1)的子图来表示输入的graph,再将这w个子图正则化后,生成一个w(k+1)维的向量,作为传统的cnn的输入,进行学习。其实就是做了一个从graph到向量的映射的一个预处理过程。
算法流程
输入:任意一张图
输出:每个channel输出w个receptive field
Step1: graph labeling(对图的节点做标记,比如可以用节点的度做标记,做图的划分,也 可以叫做color refinement or vertex classification)
文中采用The Weisfeiler-Lehman algorithm做图的划分。由此可以得到每个节点的rank 值(为了不同的图能够有一个规范化的组织方式)
Step2:对labeling好的节点排序,取前w个节点,作为处理的节点序列。(这样就可以把不 同size的graph,变成同一个size)若不足w个节点,则,在输出中加全零的receptive field,相当于padding
Step3:采用stride=s来遍历这w个节点。文中s=1(若s)1,为了输出有w个receptive field, 也用step2的方式补全)
Step4:对遍历到的每个节点v(称作root),采用bfs的方式获得此节点的k个1-neighborhood, 如果不k个,再遍历1-neighborhood的1-neighborhood。直到满足k个,或者所有的 邻居节点都遍历完。此节点和他的k个邻居节点就生成了neighborhood graph。
Step5: step4就生成了w个(s=1)neighborhood graph。需要对着w个graph 进行labeling, 根据离root节点v的远近来计算每个节点的rank,根据算法4是离v越近,r越小。 如果每个neighborhood graph不足k个节点,用0节点补充
Step6:规范化step5得到了已经label好的graph,因为需要把它变成injective,使每个节点 的标签唯一,采用nauty的算法
通过这w个receptive field就能得到一个w(k+1)维的向量
架构:
总体上讲,就是用w个固定size=(k+1)的子图来表示输入的graph,再将这w个子图正则化后,生成一个w(k+1)维的向量,作为传统的cnn的输入,进行学习。其实就是做了一个从graph到向量的映射的一个预处理过程。
算法流程
输入:任意一张图
输出:每个channel输出w个receptive field
Step1: graph labeling(对图的节点做标记,比如可以用节点的度做标记,做图的划分,也 可以叫做color refinement or vertex classification)
文中采用The Weisfeiler-Lehman algorithm做图的划分。由此可以得到每个节点的rank 值(为了不同的图能够有一个规范化的组织方式)
Step2:对labeling好的节点排序,取前w个节点,作为处理的节点序列。(这样就可以把不 同size的graph,变成同一个size)若不足w个节点,则,在输出中加全零的receptive field,相当于padding
Step3:采用stride=s来遍历这w个节点。文中s=1(若s)1,为了输出有w个receptive field, 也用step2的方式补全)
Step4:对遍历到的每个节点v(称作root),采用bfs的方式获得此节点的k个1-neighborhood, 如果不k个,再遍历1-neighborhood的1-neighborhood。直到满足k个,或者所有的 邻居节点都遍历完。此节点和他的k个邻居节点就生成了neighborhood graph。
Step5: step4就生成了w个(s=1)neighborhood graph。需要对着w个graph 进行labeling, 根据离root节点v的远近来计算每个节点的rank,根据算法4是离v越近,r越小。 如果每个neighborhood graph不足k个节点,用0节点补充
Step6:规范化step5得到了已经label好的graph,因为需要把它变成injective,使每个节点 的标签唯一,采用nauty的算法
通过这w个receptive field就能得到一个w(k+1)维的向量
相关文章推荐
- 【论文笔记】Learning Convolutional Neural Networks for Graphs
- 论文笔记 Ensemble of Deep Convolutional Neural Networks for Learning to Detect Retinal Vessels in Fundus
- [论文阅读]Relay Backpropagation for Effective Learning of Deep Convolutional Neural Networks
- 论文笔记《Learning Multi-Domain Convolutional Neural Networks for Visual Tracking》
- deeplearning论文学习笔记(1)Convolutional Neural Networks for Sentence Classification
- 论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)
- 论文阅读:End-to-End Learning of Deformable Mixture of Parts and Deep Convolutional Neural Networks for H
- [深度学习论文笔记][Semantic Segmentation] Recurrent Convolutional Neural Networks for Scene Labeling
- [深度学习论文笔记][Video Classification] Delving Deeper into Convolutional Networks for Learning Video Repre
- 论文笔记之:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking
- 论文原创笔记:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- 《3D Convolutional Neural Networks for Human Action Recognition》论文阅读笔记
- 论文笔记:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks
- 【论文笔记】Convolutional Neural Networks for Sentence Classification
- 导读ICML2016 - Learning Convolutional Neural Networks for Graphs
- 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- 论文阅读笔记:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- deeplearning论文学习笔记(2)A critical review of recurrent neural networks for sequence learning
- 论文阅读笔记-learning multi-domain convolutional neural networks for visual tracking
- 【论文笔记】Large-Margin Softmax Loss for Convolutional Neural Networks