当前位置: 首页 > 编程日记 > 正文

hung-yi lee_p18_图神经网络(cont.)

文章目录

    • 1. 简介
    • 2. 怎么把图喂到神经网络里面呢
    • 3. 为什么需要GNN
    • 4. 训练GNN遇到的问题
    • 5. 后面的内容安排
    • 6. GNN要做的事,常用数据集和基准
    • 7. 第一种实现GNN的方法(Spatial-based GNN)
      • 7.1 NN4G
      • 7.2 DCNN
      • 7.3 DGC
      • 7.4 MoNET
      • 番外:聚集的几种方法
      • 7.5 GAT
      • 7.5 GIN
    • 8. 图信号处理(Graph Signal Processing)
    • 9. 第二种实现GNN的方法(Spectral-based GNN)

1. 简介

Graph Neural Network(GNN)
图:rb-tree(红黑树)是一种特殊的图,由节点(node)和边(edge)组成
在这里插入图片描述
这也可以是图,边因为连接结点的不同而不同
在这里插入图片描述
这也可以是图
在这里插入图片描述
下面的路线图也是图
在这里插入图片描述
举以上几个例子是想说明,图是由节点和边组成的,节点有节点的性质,边有边的性质

2. 怎么把图喂到神经网络里面呢

这是GNN主要处理的问题

3. 为什么需要GNN

GNN可处理的问题1:分类
判断一个分子会不会产生突变
在这里插入图片描述
GNN可处理的问题2:生成
合成新药,y可以控制其合成的可行性、难易程度
在这里插入图片描述
上面两个是看着像的,还有不太像的
GNN可处理的问题3:分类
找凶手
在这里插入图片描述
每个角色都有性质,即人物信息,把这些当特征输入训练一个人的分类器
在这里插入图片描述
而这些人物之间又是有关系的
在这里插入图片描述

4. 训练GNN遇到的问题

①如何利用结构和关系来训练模型
②当这个图特别大,例如有两万个节点时,该怎么办
③当没有办法给所有数据都打标签的时候,该怎么办
在这里插入图片描述
来看下面的例子
如图是一个图,没有标签的节点多于有标签的节点,现在要想利用这些有标签的节点节点之间的关系训练出一个好的网络
弹幕说:图区别于一般向量/矩阵的重要属性就是有邻接的概念,所以要重点考虑neighbor
在这里插入图片描述
可以认为一个节点和邻居节点相似程度比较大
但是问题是怎么利用邻居节点去训练模型呢?(这是一个半监督学习)

现在提出的想法是将节点嵌入到特征空间里使用卷积的方式
运用这种方式有两个解法(后面会展开讲)
①Spatial-based(基于空间)
利用CNN里面本就有的、卷积会根据邻居节点来更新特征图(feature map)
②Spectral-based(基于光谱)
用上了信号处理的理论,先把信号转到filter domain里面,再把转到filter domain里面的信号和filter response做相乘,相乘后???
(万能弹幕:时域信号变频域,频域相乘,输出变回时域)
在这里插入图片描述

5. 后面的内容安排

A.分别介绍两种方法(Spatial-based和Spectral-based)常用的模型
在这里插入图片描述
B.再介绍一些偏理论的模型
在这里插入图片描述
其中最常用的模型还是:第一种里面的GAT,第二种里面的GCN
C.后面要用GNN解决的问题(Tasks)
在这里插入图片描述
representation learning即想要学到一个比较好的特征,不管是不是图(?)
D.图神经网络在自然语言处理方面的应用
Natural Language Processing
(万能弹幕:不要被这些模型名字吓到,每种模型其实就是在最基本的GNN上面做一些小修小补)

6. GNN要做的事,常用数据集和基准

基准是用来衡量模型性能的
在这里插入图片描述

7. 第一种实现GNN的方法(Spatial-based GNN)

怎么根据卷积的原理
在这里插入图片描述
把左边的更新成右边的在这里插入图片描述
对于h3这个结点来说,我们要利用它的邻居节点h0,h2,h4来更新下一时刻的它,这个过程叫做聚集(aggregate)
在这里插入图片描述
但是要做的不仅仅是预测出单个节点的隐藏层状态,还要预测出整个图的结构,这个过程叫做读出(readout)
在这里插入图片描述
全过程如下
在这里插入图片描述

7.1 NN4G

Neural Networks for Graph
NN4G是如何做聚集的(提示:此图根据层应该从下往上看)——所有邻居相加,乘上一个共同权重
在这里插入图片描述
NN4G是如何做读出的(提示:此图根据层也应该从下往上看)——每层相加,再把层结果处理
在这里插入图片描述

7.2 DCNN

Diffusion-Convolution Neural Network(传播卷积神经网络)
聚集:
第二层(从下往上数)的输入是第一层
第三层的输入还是第一层
对于h3,第二层是将第一层中距其距离为1的结点相加
对于h3,第三层是将第一层中距其距离为2的结点相加
在这里插入图片描述
读出:
1.将每一层叠在一起
在这里插入图片描述
2. ??
在这里插入图片描述

7.3 DGC

Diffusion Graph Convolution(传播图卷积)
与上一个相比就是直接全部加起来(??)
在这里插入图片描述

7.4 MoNET

Mixture Model Networks(混合模型网络)
该模型的重要思想是认为不同邻居拥有不同权重
下图中的u代表的是距离
在这里插入图片描述

番外:聚集的几种方法

1.将邻居全部加起来
2.对邻居做max-pooling
3.对邻居做LSTM
在这里插入图片描述

7.5 GAT

Graph Attention Networks
在MoNET的基础上,权重是让网络自己学的

如下图所示算出h0,h2,h4对h3的重要性,用e(energy)表示
在这里插入图片描述
再用得到的e作为权重对下一层的h3做聚集
在这里插入图片描述

7.5 GIN

Graph Isomorphism Network
给出结论:要用sum 不要用mean pooling和max pooling
在这里插入图片描述

8. 图信号处理(Graph Signal Processing)

信号与系统预备知识

9. 第二种实现GNN的方法(Spectral-based GNN)

将输入的图和卷积核都做傅里叶变换(Fourier Transform),将结果相乘(multiplication)就能得到下一层
在这里插入图片描述

相关文章:

SQL Server2008附加数据库之后显示为只读

SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定。 方案二: 使用sa登录…

java maven项目使用sonar审核代码

为什么80%的码农都做不了架构师&#xff1f;>>> 一、pom增加插件 <plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>3.1.1</version> </plugin> 二…

ERP成功全球实施十大成功案例

、美铝公司&#xff08;Alcoa&#xff09; 公司简介 美铝公司创办于19世纪80年代中期&#xff0c;目前是世界最大的氧化铝、电解铝和铝加工产品的生产商&#xff0c;活跃于包括基础研究和开发、技术及回收利用等铝工业的所有主要领域。美铝产品应用于航空航天、汽车、包装、建筑…

CentOS安装Oracle全过程

1.准备工作 &#xff08;1&#xff09;安装Java环境 &#xff08;2&#xff09;增大SWAP空间 1.1 切换为root用户 1.2 dd if/dev/zero of/home/swap bs1024 count204800 1.3 /sbin/mkswap /home/swap 1.4 /sbin/swapon /home/swap 1.5 free -m 1.6 vi /etc/fstab 添加 /home/…

Hide the common top menu in Ubuntu 12.04

隐藏&#xff1a;1、sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt2、reboot恢复&#xff1a;1、sudo apt-get install appmenu-gtk appmenu-gtk3 appmenu-qt2、reboot转载于:https://www.cnblogs.com/wiessharling/p/3569616.html

在IBatisNet中使用存储过程

其实在IBatisNet中使用存储过程应该很简单了&#xff0c;应为IBatisNet本来就是基于Sql Mapping的。想着Npetshop中应该有例子看一下就行了&#xff0c;可是查了查map文件&#xff0c;发现没有&#xff0c;只要自己动手搞搞了。 在建立的测试数据库中建立一个简单的存储过程del…

人工智能时代,教育如何做人工智能的“弄潮儿”?

汇新杯新兴科技互联网创新大赛报名火热进行中 汇新杯大赛报名入口&#xff1a;https://www.chuangcheng.org.cn/4552016年人工智能火了&#xff0c;它被行业公认为是继互联网、移动互联网之后的又一重大机遇和挑战&#xff0c;并将成为各个领域的“水电煤”&#xff0c;成为行业…

centOS安装Java环境全过程

1.通过ssh将安装包从本地传到/usr/local文件夹下 2.解压安装包 tar -zxvf /usr/local/jdk-**** 3.给解压后的文件夹改名 mv /usr/local/jdk1.8.0_271 /usr/local/java 4.修改配置文件&#xff0c;配置环境变量 vi /etc/profile export JAVA_HOME/usr/local/java export PAT…

vue组件的传参练习

为什么80%的码农都做不了架构师&#xff1f;>>> 首先是父组件与子组件沟通 父组件告诉子组件&#xff0c;“嘿&#xff0c;孩子&#xff0c;我有话和你说” 组件A代码 <template><section><h1>这是组件</h1><test-B :chile-name"u…

Avayaの初体验

这个题目是不是给了你一种无法抗拒的吸引力并引起了你无限的幻想呢&#xff1f;一个名为Avaya的清纯少女……Stop&#xff01;今天我要说的是电话交换机。说来惭愧&#xff0c;本来是个学通信的&#xff0c;到后来却不务正业搞了软件&#xff0c;到现在突然组织又需要我去搞Ava…

Git fetch和git pull的区别

原文&#xff1a;http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令&#xff1a;1. git fetch&#xff1a;相当于是从远程获取最新版本到本地&#xff0c;不会自动merge git fetch origin master git log -p master..origin/mas…

powerdesigner中类图的内部类画法

点击一个已有类 点击1看到2 选择3 输入类名 右键类名选择Properties设置内部类的方法和参数 结果 如果在第二步里面找不到inner classfiers怎么办 自己添上

js获取页面属性

一些常用的页面属性获取&#xff1a; 网页可见区域宽&#xff1a;document.body.clientWidth;网页可见区域高&#xff1a;document.body.clientHeight; 类似视口宽度 网页正文全文宽&#xff1a;document.body.scrollWidth;网页正文全文高&#xff1a;document.body.scrollHeig…

jquery-12 折叠面板如何实现(两种方法)

jquery-12 折叠面板如何实现&#xff08;两种方法&#xff09; 一、总结 一句话总结&#xff1a;1、根据点击次数来判断显示还是隐藏&#xff0c;用data方法保证每个元素一个点击次数&#xff1b;2、找到元素的下一个&#xff0c;然后toggle实现显示隐藏。 1、toggle的两种用法…

上传图片并生成缩略图

前台<form id"Form1" method"post" runat"server" enctype"multipart/form-data"> <table id"Table1" cellpadding"1" cellspacing"1" width568 border"1"> …

物联网与互联网的6大区别

物联网互联网通过自动方式获取数据通过人工方式获取数据物联网是虚拟与现实的结合互联网构造了网络虚拟世界物联网是将计算机"装到"一切事务中在互联网时代把一切交给计算机去做物联网提供行业性服务互联网提供全球性公共信息服务物联网实现了信息世界与物理世界的融…

centoros 环境安装

1. nginx rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm yun install nignx 2.php yum install php yum install php-fpm 3. java yum list java* yum install java-1.7.0-openjdk.x86_64 转载于:https://www.cnblogs…

最优保险(三公子)

最优保险&#xff08;三公子&#xff09; 2018-06-29 1、消费型重疾险文章《6款消费型重疾险对比分析》、对标康惠保的一款良心产品 2、少儿重疾险文章《2款少儿重疾险对比分析》 3、定期寿险文章《4款定期寿险的对比分析》 4、医疗险文章《5款百万医疗险的对比分析》 5、意外险…

Love Java , Love IBM , Love Sun ( SunJiHai )

找java资源,找javabean,找spring,找ajax.东找西找,最后发现还是IBM牛!什么都有(Sun 当然也有),文档又好看,不得不佩服一下了.努力!!这个是IBM的DW上的JavaBean的入门:http://www-128.ibm.com/developerworks/cn/java/ejbIntro/ Sun里面的J2EE 5 的Tutorial(现在不叫J2EE了,叫 J…

RFID系统的基本工作原理

文章目录1. RFID的定义2. RFID与条码技术相比有哪些优势3. RFID标签的分类4. RFID系统的基本工作原理4.1 RFID系统的组成4.2 RFID标签的组成4.3 RFID读写器的组成4.4 RFID天线4.5 RFID基本交互原理4.6 被动式RFID标签工作原理4.7 主动式RFID标签工作原理4.8 半主动RFID标签工作…

对WEB前端的几段思考(一)——界面设计和性能优化(整理中)

尽管我并非艺术出生&#xff0c;既没有任何设计基础&#xff0c;又没有较高艺术涵养&#xff0c;也深谙在短时间内创造一定艺术造诣并非易事&#xff0c;但是既然当初选择从事网站前端开发&#xff0c;我的目光不能仅停留在前端代码上。作为一名志向在前端领域发展的人员&#…

CS研究笔记-缓存 (转)

CS中缓存对性能的优化起了非常大的作用&#xff0c;今天做一次深入的研究。经过大致的代码浏览发现CS中的缓存分为2种&#xff1a;一种采用System.Web.Caching&#xff0c;另一种采用HttpContext.Items&#xff08;由于CS大量的采用服务器端控件没有使用页面级的缓存&#xff0…

阿里云弹性计算-图形工作站(公测)发布

产品介绍&#xff1a; 阿里云图形工作站&#xff0c;基于GPU 实例&#xff0c;采用AMD 专业GPU&#xff0c;集成了高性能远程桌面功能&#xff0c;非线编软件以及数据存储系统在内的一套完整图形图像处理流程&#xff0c;旨在满足一些高端用户在使用阿里云GPU可视计算实例时的极…

软件测试:黑盒白盒与动态静态之间有必然联系吗

区分黑白盒&#xff1a;看有没有查看源码 区分动静态&#xff1a;看有没有运行程序 情况类型运行程序&#xff0c;只看输入输出动态黑盒运行程序&#xff0c;分析代码结构动态白盒不运行程序&#xff0c;只查看界面静态黑盒不运行程序&#xff0c;查看代码静态白盒

最短路径 - dijkstra

dijkstra是单源点最短路算法。 借图&#xff1a; 其基本思想是&#xff0c;设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。 初始时&#xff0c;S中仅含有源。设u是G的某一个顶点&#xff0c;把从源到u且中间只经过…

全面解读WEB 2.0

全面解读WEB 2.0文章来源: http://homepage.yesky.com/300/2295800.shtml1.什么是WEB.2.0Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表&#xff0c;以Blog、TAG、SNS、RSS、wiki等应用为核心&#xff0c;依据六…

Confluence 6 数据库表-系统信息(System information)

2019独角兽企业重金招聘Python工程师标准>>> 这些表格有存储数据相关的状态和 Confluence 站点的相关配置信息。 confversion被用来在升级系统的时候确定那个数据库的版本应该使用&#xff0c;这个表格只对数据库升级有影响。plugindata记录系统安装所有的插件的版本…

入链、出链、反向链接、内链、外链的关系

出入链和内外链没有绝对的关系 出链&#xff1a;自己网页到别的网页 入链&#xff1a;别的网页到自己网页 外链&#xff1a;来源于/去往别的网站的别的网页 内链&#xff1a;来源于/去往本网站的别的网页 反向链接入链

Palo Alto 防火墙升级 Software

今天早上豆子需要升级一下Palo Alto 防火墙的软件。上一次升级已经是半年前的事情了&#xff0c;目前使用的版本是8.0.8&#xff0c;而最新的版本是8.1.2。由于中间跨越了多个版本&#xff0c;因此升级需要从8.0.8 ->8.1.0 -> 8.1.2。每次升级之前需要备份&#xff0c;如…

bash shell 合并文件

# 按列合并文件paste file1 file2 file3 > file4# 要先 sort, 再 joinjoin -a 1 file1 file2 paste格式为:paste -d -s -file1 file2选项含义如下&#xff1a;-d 指定不同于空格或tab键的域分隔符。例如用分隔域&#xff0c;使用 -d 。-s 将每个文件合并成行而不是按行粘贴。…