ECC的卷积操作和常规的二维图像卷积操作都是一种加权平均操作,不同之处在于ECC可以作用在任何图结构上,并且其权重由节点间的边权所决定.

考虑$G=(V,E)$, 其中$|V|=n$ 边 $E \in V*V$ , 其中$|E|=m$, 具有$l \in {0,....l_{max}}$ 前向神经网络. 假设 边和顶点有相同的label, 存在一个

顶点的特征表示为$X^{l}:V \rightarrow \mathbb{R}^{d_{l}}$,  每个边的特征表示 $L: E \rightarrow \mathbb{R}^{s}$,  可以得到顶底的特征矩阵 和 边的特征矩阵:

$X^{l} \in \mathbb{R}^{n * d_{l}}, L \in \mathbb{R}^{m * s}$

顶点i的邻居节点表示为:

$N(i) = {j;(j,i) \in E } \bigcup {i}$

计算顶点$i$ 第l层的特征向量 $X^{l}(i) \in \mathbb{R}^{d_{l}}$, 可以通过l-1层他的邻居节点特征的加权和得到$X^{l-1}(j) \in R^{d_{l}-1}$ , 借用动态滤波器网络的思想,

定义了一个filter-generating 网络(核心):


$F^{l} : R^{s} \rightarrow \mathbb{R}^{d_{l}*d_{l-1}}$

将边标签$L(j,i)$ 作为输入, 输出 每条边决定的权重矩阵:

$\Theta_{j,i}^{l} \in  \mathbb{R}^{d_{l} * d_{l-1}}$

这个边条件卷积(ECC)能够表示为:

$X^{l}(i) =\frac{1}{|N(i)|} \sum_{j \in N(i)} F^{l}(L(j,i),; w^{l}) X^{l-1} (j) + b^{l}$

$= \frac{1}{|N(i)|} \sum_{j \in N(i)} \Theta_{ji}^{l}(j) + b^{l} $

$F^{l}$是由可学习网络权值$w^{l}$的参数化。$\Theta_{ji}^{l}(j)$是为特定输入图中的边标签动态生成的参数。

其中filter-generating 网络$F^{l}$ 能够通过MLP 产生.

ECC ~ Edge-Conditioned Filter in CNN on Graphs的更多相关文章

  1. filter 过滤器的基本使用

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  2. Flask filter过滤器

    简单的数据集体添加样式输出用管道过滤,除了flask模块以外不需要导其他的包 <head> <meta charset="UTF-8"> <meta ...

  3. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) - filter(5)

    自定义fieldType时,通常还会用到filter.filter必须跟在tokenizer或其它filter之后.如: <fieldType> <analyzer> < ...

  4. 【solr filter 介绍--转】http://blog.csdn.net/jiangchao858/article/details/54989025

    Solr的Analyzer分析器.Tokenizer分词器.Filter过滤器的区别/联系 Analyzer负责把文本字段转成token stream,然后自己处理.或调用Tokenzier和Filt ...

  5. vue2 filter过滤器的使用

    本章主要讲vue2的过滤器的使用 1.先介绍下vue1与vue2的filter区别,也就是vue2更新的地方 a: 2.0将1.0所有自带的过滤器都删除了,也就是说,在2.0中,要使用过滤器,则需要我 ...

  6. graph_tool源码及其注释

    #! /usr/bin/env python # -*- coding: utf-8 -*- # # graph_tool -- a general graph manipulation python ...

  7. Graph Visualization

    1. 什么是graph visualization? Graph visualization is a way of representing structural information as di ...

  8. Convolution Fundamental I

    Convolution Fundamental I Foundations of CNNs Learning to implement the foundational layers of CNN's ...

  9. [C6] Andrew Ng - Convolutional Neural Networks

    About this Course This course will teach you how to build convolutional neural networks and apply it ...

随机推荐

  1. 【运维】Vmware虚拟机静态IP的设置

    这几天学习大数据,搭建的集群服务器由于Vmware内部实现的虚拟网关,动态分配ip,使得每次ip更改后,均需要修改集群节点的每个hosts文件,不然集群间联系会出错,因此为了杜绝这个问题,这里修改集群 ...

  2. Dubbo工作流程

    一.dubbo整体架构 其中Service 和 Config 层为 API,对应服务提供方来说是使用ServiceConfig来代表一个要发布的服务配置对象,对应服务消费方来说ReferenceCon ...

  3. 刷题[WUSTCTF2020]朴实无华

    解题思路 打开是一个这样的页面,查看源码发现什么人间极乐bot,试试是不是robots.txt,查看发现类似flag文件,查看发现是假的flag,但是burp抓包后发现,返回的头部有信息 源码出来了, ...

  4. Apollo系列(二):Apollo在ASP.NET Core 3.1中使用

    关于Apollo怎么安装,我就不介绍,可以看这篇文章:https://www.cnblogs.com/vic-tory/p/13736192.html 一.Apollo使用: 1.创建项目 2.添加配 ...

  5. Tomcat 中 catalina.out、catalina.log、localhost.log 和 access_log 的区别

    打开 Tomcat 安装目录中的 log 文件夹,我们可以看到很多日志文件,这篇文章就来介绍下这些日记文件的具体区别. catalina.out 日志 catalina.out 日志文件是 Tomca ...

  6. 读完这篇,让你真正理解Redis持久化

    什么叫持久化? 用一句话可以将持久化概括为:将数据(如内存中的对象)保存到可永久保存的存储设备中. 持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中. XML 数据文件中等等. 也 ...

  7. 1-浅谈 python变量

    浅谈 python变量 python变量概念 程序执行的过程中,很多数据都在变化的过程,我们需要一种机制把这种变化体现出来,变量是我们记录这种变化的方式. python以及其它各种语言的变量 ,其作用 ...

  8. 提升GAN的技术 Tips for Improving GAN

    Wasserstein GAN (WGAN) 在一些情况下,用 JS散度来衡量两个分布的远近并不适合: 1. 数据是高维空间中的低维流形(manifold),两个分布在高维空间中的 overlap 少 ...

  9. 【Python】数据结构

    列表的更多特性 list.append(x) 在列表的末尾添加一个元素.相当于 a[len(a):] = [x] . list.extend(iterable) 使用可迭代对象中的所有元素来扩展列表. ...

  10. java 反射之静态and动态代理

    首先说一下我们什么情况下使用代理? (1)设计模式中有一个设计原则是开闭原则,是说对修改关闭对扩展开放,我们在工作中有时会接手很多前人的代码,里面代码逻辑让人摸不着头脑(sometimes the c ...