从CNN到GCN的联系与区别:

https://www.zhihu.com/question/54504471/answer/332657604

更加详解Laplacian矩阵:

https://www.zhihu.com/question/54504471/answer/630639025

GCN 实践:

https://mp.weixin.qq.com/s/sg9O761F0KHAmCPOfMW_kQ

深度学习时代的图模型,图网络综述:

https://mp.weixin.qq.com/s/WW-URKk-fNct9sC4bJ22eg

一、GCN图卷积神经网络

1.算法创新

卷积神经网络CNN主要应用于图像领域,但CNN处理的数据是具有显著标准的空间结构的,而网络拓扑图的数据并不具有标准空间结构。GCN 是对CNN在图论上的自然推广,GCN理论基础是谱图理论。

本质上,GCN 是谱图卷积的局部一阶近似,可以用于对局部图结构与节点特征信息进行编码生成节点Embedding。GCN适用性极广,能适用于任意网络拓扑结构图。

2.算法原理

GCN算法原理主要包括传播、聚合和非线性变换,具体解释如下:

传播是指图中的每一个节点将自身的特征信息发送给相邻的邻居节点。

聚合是指图中每个节点将邻居节点的特征信息汇聚的过程,是对节点的局部结构信息进行融合。局部结构信息可以理解为CNN的感知域,共享卷积核权重,正比于神经网络的层数;迭代开始时,每个节点包含了直接连接邻居的特征信息,当计算神经网络第二层时就能把邻居的邻居节点的特征信息聚合进来,从而使参与运算的信息就更多更充分。

层数越多,感知域就更广,参与运算的节点信息就越多。

对聚合之后特征信息做非线性变换,增加模型的表示能力。

二、GraphSAGE通用归纳框架

1.算法创新

《Inductive Representation Learning on Large Graphs》论文提出了GraphSAGE (SAmple and aggreGatE),是一种归纳框架。

它可以利用节点特征信息来高效地为未出现过的节点生成Node Embedding。它不是为每个节点专门训Embedding,而是训练得到一个函数,这个函数功能是从节点的局部邻居节点采样并聚合特征信息。

图一是采样Sampling,以节点为中心进行广度优先遍历方式采样邻居节点,得到包含中心节点和它的邻居节点的子集。

使用采样一定程度上解决了计算资源压力的问题,使图神经模型可以在大规模图数据集上训练;

图二是训练一组聚合函数,这些函数学习如何从一个节点的局部邻居节点聚合所有的特征信息。

图三是连接中心节点特征信息和聚合来自邻居节点特征信息,预测图的上下文环境和节点的标签类别。

三、图神经网络在反欺诈上应用

在反欺诈领域,根据业务场景构建图,再结合图神经网络技术,挖掘欺诈团伙。

比如反垃圾注册场景,我们可以共用设备来构图,也可以构建账号和设备的异构图,这里的设备主要包括设备的deviceid、mac、imei和imsi等信息,

算法采用图神经网络GCN对图中结构信息和自身的特征进行有效的信息抽取和分析,挖掘垃圾注册团伙,能够大幅提高识别效果。

 
链接:https://zhuanlan.zhihu.com/p/59862502

GCN: Graph Convolutional Network的更多相关文章

  1. Graph Embedding Review:Graph Neural Network(GNN)综述

    作者简介: 吴天龙  香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...

  2. Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition

    Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition 摘要 基于骨架的动作识别因为 ...

  3. 《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》 代码解读

    论文链接:https://arxiv.org/abs/1811.05320 博客原作者Missouter,博客链接https://www.cnblogs.com/missouter/,欢迎交流. 解读 ...

  4. Graph Convolutional Network

    How to do Deep Learning on Graphs with Graph Convolutional Networks https://towardsdatascience.com/h ...

  5. GCN(Graph Convolutional Network)的简单公式推导

    第一步:从前一个隐藏层到后一个隐藏层,对结点进行特征变换 第二步:对第一步进行具体实现 第三步:对邻接矩阵进行归一化(行之和为1) 邻接矩阵A的归一化,可以通过度矩阵D来实现(即通过D^-1*A来实现 ...

  6. 关于Graph Convolutional Network的初步理解

    为给之后关于图卷积网络的科研做知识积累,这里写一篇关于GCN基本理解的博客.GCN的本质是一个图网络中,特征信息的交互+与传播.这里的图指的不是图片,而是数据结构中的图,图卷积网络的应用非常广泛 ,经 ...

  7. 《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》 论文解读

    论文链接:https://arxiv.org/abs/1811.05320 最近发现博客好像会被CSDN和一些奇怪的野鸡网站爬下来?看见有人跟爬虫机器人单方面讨论问题我也蛮无奈的.总之原作者Misso ...

  8. GRAPH CONVOLUTIONAL NETWORK WITH SEQUENTIAL ATTENTION FOR GOAL-ORIENTED DIALOGUE SYSTEMS

    面向领域特定目标的对话系统通常需要建模三种类型的输入,即(i)与领域相关的知识库,(ii)对话的历史(即话语序列)和(iii)需要生成响应的当前话语. 在对这些输入进行建模时,当前最先进的模型(如Me ...

  9. 论文阅读笔记(十)【CVPR2016】:Recurrent Convolutional Network for Video-based Person Re-Identification

    Introduction 该文章首次采用深度学习方法来解决基于视频的行人重识别,创新点:提出了一个新的循环神经网络架构(recurrent DNN architecture),通过使用Siamese网 ...

随机推荐

  1. 阿里云ECS服务器设置端口(允许访问设置)

    1.登录阿里云找到对应的服务器按照如下箭头指示: 2.点击“安全组配置”后进入到如下界面,点击“配置规则”进入详情配置界面. 3.点击“修改”可对特定的端口进行访问配置,如下图: 至此结束.

  2. 阿里云ECS部署maven项目

    1.配置JDK和tomcat: https://www.cnblogs.com/congcongdi/p/11227771.html 2.使用eclipse打包项目 在项目上点击右键-->run ...

  3. 关于C++模板不能分离编译的问题思考

    C++模板不支持分离编译的思考 前言 在我初入程序员这行时,因为学生阶段只写一些简单的考试题,所以经常是将声明和实现统一写到一个文件中,导致同事在用我的代码时一脸懵逼,因此还有一段悲惨的往事. 为什么 ...

  4. vs中找到接口和抽象类的具体实现类

    如何找到接口和抽象类的具体实现类 1,可以使用:ctrl+k clrl+t打开调用层次结构窗口: 2,移动到实现节点: 3,然后可以转到具体实现: 第二种安装插件 ReSharper 第三种方法: 在 ...

  5. 剑指Offer(三十三):丑数

    剑指Offer(三十三):丑数 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baidu_31 ...

  6. No.1.测试Synchronized加锁String字符串后的多线程同步状况

    测试目的描述 Synchronized关键字锁定String字符串可能会带来严重的后果, 尽量不要使用 synchronized(String a) 因为JVM中,因为字符串常量池具有缓冲功能! 接下 ...

  7. A Beginner’s Guide to Webpack 4 and Module Bundling

    原文: https://www.sitepoint.com/beginners-guide-webpack-module-bundling/ ----------------------------- ...

  8. HDU2870 Largest Submatrix

    Largest Submatrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  9. 关于devexpress报表XtraReport,动态修改报表样式(.repx格式),动态添加数据并使用的理解

    一.基本概念: XtraReports 中的每个报表都由 XtraRepot 类的一个实例表示,或者由该类的子类来表示(这种情况更常见). 因此,每个报表都作为带区的容器使用,而每个带区中都包含报表控 ...

  10. 项目后端 - 虚拟环境搭建 | pycharm使用虚拟环境

    虚拟环境的搭建 优点 1.使不同应用开发环境相互独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.防止出现包管理混乱及包版本冲突 windows 安装 # 建议使用pip3安装到 ...