论文笔记:Diffusion-Convolutional Neural Networks (传播-卷积神经网络)
Diffusion-Convolutional Neural Networks (传播-卷积神经网络)
2018-04-09 21:59:02
1. Abstract:
我们提出传播-卷积神经网络(DCNNs),一种处理 graph-structured data 的新模型。随着 DCNNs 的介绍,我们展示如何从 graph structured data 中学习基于传播的表示(diffusion-based representations),然后作为节点分类的有效基础。DCNNs 拥有多个有趣的性质,包括:
1). a latent representation for graphical data that is invariant under isomorphism;
2). polynomial-time prediction;
3). learning that can be represented as tensor operations;
4). efficiently implemented on a GPU.
2. Introduction:
处理结构化的数据是非常有挑战的。一方面,找到合适的方法来展示和探索数据的结构可以获得预测精度的提升;另一方面,找到这样的结构可能很困难,在模型中添加结构会使得预测复杂度显著的提升。
这个工作的目标是:设计一个灵活的模型来处理 general 类型的结构化数据,使得在改善预测精度的同时,避免复杂度的提升。为了完成这个目标,我们通过引入一种“diffusion-convolution”的操作,拓展 CNN 到 general graph-structure data。简单的说,不像传统的卷积操作那样(scanning a "square" of parameters across a grid-structured input),the diffusion-convolution operation 通过在一个 graph-structured input 上处理每一个节点,来扫描一个传播过程,以此来构建一个隐层的表示(builds a latent representation by scanning a diffusion process across each node in a graph-strucured input)。
这个模型是受到下面的启发:a representation that encapsulates (压缩) graph diffusion can provide a better basis for prediction than a graph itself. 图的传播可以表示为:a matrix power series, 提供了一个直观的机制来包含 entities 的内容信息(providing a straightforward mechansim for including contextual information about entities that can be computed in polynomial time and efficiently implemented on a GPU)。
在本文中,我们提供了一个 diffusion-convolutional neural network (DCNNs),并且在 graphical data 的不同任务上做了验证。许多技术,包括:分类任务的结构化信息,DCNNs 提供了一种互补的方法,在节点分类任务上取得了显著的提升。

3. Model:
假设我们有 T 个 graphs g。每个 graph $G_t = (V_t, E_t)$ 是由顶点和边构成的。
顶点:$N_t * F$,其中 $N_t$ 是 graph 中节点的个数;
边:$N_t * N_t$ 的邻接矩阵 At;由此我们可以计算一个 degree-normalized transition matrix $P_t$,表示了从节点 i 到 节点 j 之间跳跃的概率(that gives the probability of jumping from node i to node j in one step)。
这个图可以是加权的,也可以是不加权的;有向的或者无向的。节点也可以包含 labels Y。
我们对学习预测 Y 很感兴趣;即:来预测每一个 graph 中的每一个节点的标签;或者 每一个图的 label。在每种情况下,我们可以访问一些已标注的实例(some labeled entities),我们的工作是预测剩下无标签实例的 label(our task is predict the values of the remaining unlabeled entities)。
DCNNs 被设计用来执行符合这种形式的任意任务。DCNN 将 graph g 作为输入,然后输出 一个 hard prediction for Y 或者 一个条件分布 P(Y|X)。每一个感兴趣的 entity 被转换为一个 传播-卷积表示,which is a H*F real matrix defined by H hops of graph diffusion over F features, and it is defined by an H*F real-valued weight tensor $W^c$ and a nonliner differentiable function f that computes the activations. 所以,对于节点分类来说,graph t 的传播-卷积表示,$Z_t$,将会是 $N_t *H * F$ tensor, 如图1(a)所示。
该模型是基于一个 diffusion kernel 的,可以认为是:a measure of the level of connectivity between any two nodes in a graph when considering all paths between them, with longer paths being discounted more than shorter paths. DCNNs 没有 pooling operation.
Node Classfication.
考虑节点分类的任务,在 graph 中的每一个输入节点,都会进行标签的估计(a label Y is predicted for each input node in a graph)。
我们用 $P^*_t$ 表示为 $N_t * H * N_t$ tensor containing the power series of $P_t$,定义为:

传播-卷积激活 $Z_{tijk}$ for node i, hop j, and feature k of graph t is given by:

激活可以用 tensor 的形式更加精确的进行表达:

其中,圆圈这个符号代表 element-wise multiplication.
该模型可以由 dense layer 来完成(the model is completed by a dense layer that connects Z to Y)。对于 Y 的 hard prediction,表示为 $\hat{Y}$,可以通过取最大的 activiation 来获得;and a conditional probability distribution P(X|Y) can be found by applying the softmax function:

This keeps the same function in the following extensions.

论文笔记:Diffusion-Convolutional Neural Networks (传播-卷积神经网络)的更多相关文章
- 论文笔记——Factorized Convolutional Neural Networks
1. 论文思想 将3D卷积分解为spatial convolution in each channel and linear projection across channels. (spatial ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
https://blog.csdn.net/zouxy09/article/details/9993371 自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一 ...
- 论文笔记(1)-Dropout-Improving neural networks by preventing co-adaptation of feature detectors
Improving neural networks by preventing co-adaptation of feature detectors 是Hinton在2012年6月份发表的,从这篇文章 ...
- 【论文笔记】Progressive Neural Networks 渐进式神经网络
Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...
- 【RS】Automatic recommendation technology for learning resources with convolutional neural network - 基于卷积神经网络的学习资源自动推荐技术
[论文标题]Automatic recommendation technology for learning resources with convolutional neural network ( ...
- 论文笔记—Flattened convolution neural networks for feedforward acceleration
1. 论文思想 一维滤过器.将三维卷积分解成三个一维卷积.convolution across channels(lateral), vertical and horizontal direction ...
- [Neural Networks] (Convolutional Neural Networks)CNN-卷积神经网络学习
参考:http://blog.csdn.net/zouxy09/article/details/8781543 ( 但其中有部分错误) http://ufldl.stanford.edu/wiki/i ...
- AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...
随机推荐
- html5-css选择器
/*/**{color: red}p{color: green}#div1{background: blue;padding-top: 15px;}.kk{background: blue;borde ...
- ASP.Net 中操作Ajax
有时候,越深入去了解一个点,越发觉得自己无知,而之前当自己晓得一两个片面的点还洋洋自得,殊不知,这是多么讽刺,JQuery中有很多优势,比如异步提交值,部分刷新,给用户很好的体验感.目前为止,大部分项 ...
- px-pt-dp-rem像素单位的换算问题
px-pt-dp-rem像素单位的换算问题 dp 的意思从 MDPI 到 XXXHDPI 每单位物理尺寸的像素数越来越大.也就是说 mdpi 时 1dp = 1pxxxxhdpi 时 1dp = 4p ...
- js中利用cookie实现记住密码功能
在登录界面添加记住密码功能,代码如下: //设置cookie var passKey = '4c05c54d952b11e691d76c0b843ea7f9'; function setCookie( ...
- 高性能计算linux集群常用配置
1.检查超线程 查看线程数:grep siblings /proc/cpuinfo |uniq 查看物理核心数:grep cores /proc/cpuinfo |uniq 2.检查操作系统版本 ca ...
- Git在Eclipse中的使用
一.把远程仓库的项目clone到eclipse里面: 最新版的Eclipse上已经集成了Git插件.所以在Eclipse中可以很方便的使用Git的功能. 在使用Git功能之前,需要先进行下简单的设置. ...
- Numpy 数组简单操作
创建一个2*2的数组,计算对角线上元素的和 import numpy as np a = np.arange(4).reshape(2,2) print (a) #[[0 1] # [2 3]] n1 ...
- 搭建ELK日志分析(亲测无毒!)截图没有附上。。凑合看。搭建出来没有问题
( 1 )安装 Logstash 依赖包 JDK Logstash 的运行依赖于 Java 运行环境, Logstash 1.5 以上版本不低于 java 7 推荐使用最新版本的 Java .由于我们 ...
- java中BufferedImage类的用法
1. BufferedImage是Image的一个子类,Image和BufferedImage的主要作用就是将一副图片加载到内存中. BufferedImage生成的图片在内存里有一个图像缓冲区,利用 ...
- GC Root 对象有哪些
(1)虚拟机(JVM)栈中引用对象 (2)方法区中的类静态属性引用对象 (3)方法区中常量引用的对象(final 的常量值) (4)本地方法栈JNI的引用对象