码迷,mamicode.com
首页 > 其他好文 > 详细

08-GNN 图机器学习之图神经网络

时间:2020-02-07 00:49:21      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:res   encoder   翻页   引用   预处理   node   info   多公司   lan   

图神经网络
技术图片

node embedding
回顾了之前node2vec的例子以及深度学习卷积的一些基础
浅层encoder的局限性:
参数数量O(v):节点间没有共享参数,每个节点有自己的embedding
不能表征未见过的节点
没有综合考虑节点特征
技术图片
本节学习图神经网络,多层的非线性的
技术图片
技术图片


那么,在图中,如何做卷积?
如果输入是邻接矩阵,那么模型不能适配各种规模的网络;对节点的顺序也没有敏感性
技术图片


图的深度学习基础
技术图片

技术图片
起初,对于一个图G
V:节点集合
A:邻接矩阵
X:节点的特征向量
技术图片
图卷机网络
思路:图的邻居定义计算图
信息传播→计算节点特征
技术图片


邻居聚合:局部网络邻居
intuition:节点通过神经网络,从邻居聚合信息
intuition:网络的邻居定义计算图→每个节点基于自身的邻居定义计算图
技术图片
技术图片
技术图片

深度模型:多层结构
模型可以是任意深度的:
节点在每一层都有embedding
第0层的embedding是输入特征x
第k层的embedding得到的信息是通过经过k跳的节点而得
技术图片

关键的区分在于信息通过不同的层是如何聚合的?
技术图片
基础的方法:平均+神经网络
技术图片

第0层初始化为节点的特征
公式如下
技术图片

那么如何训练模型?定义损失函数?
技术图片
模型参数
W B 
随机梯度下降,训练得到参数
技术图片

非监督的学习
相似的节点有相似的embedding
技术图片
监督学习:训练模型用于节点分类
例如,药品是否有毒
技术图片


技术图片


模型设计:
定义邻居聚合函数;定义loss函数;训练:生成节点的embedding
技术图片



技术图片

技术图片

聚合参数是所有节点共享的
因此可为未见过的节点生成embedding;甚至是为相近的全新网络生成embedding
技术图片


技术图片


技术图片


图卷积网络和GraphSAGE
技术图片

有比平均更好的聚合方法吗?
技术图片

对每一层的embedding进行L2正则化
技术图片
不相加而是拼接
技术图片

3中聚合方法:平均;池化;LSTM
技术图片
小结:
技术图片


高效的实现
通过对稀疏矩阵的操作
技术图片

更多的图卷积网络
技术图片


Graph Attention Network (GAT)
技术图片

所有节点一视同仁
技术图片

每个节点的贡献力是否可以使用权重来区分
技术图片
技术图片
技术图片
技术图片
例子:
引用网络
技术图片


应用例子
技术图片
拼趣:Pinterest采用的是瀑布流的形式展现图片内容,无需用户翻页,新的图片不断自动加载在页面底端,让用户不断的发现新的图片。
Pinterest堪称图片版的Twitter,网民可以将感兴趣的图片在Pinterest保存,其他网友可以关注,也可以转发图片。索尼等许多公司也在Pinterest建立了主页,用图片营销旗下的产品和服务。
技术图片
技术图片
技术图片
为每个节点生成一个embedding
从相邻的节点借用信息
技术图片
技术图片


给用户推荐相关的pins
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片


使用小贴士
数据预处理是非常重要的:正则化;变量规模的初始化;网络数据的清洗
训练优化器
relu可以获得较好的成效
输出层不需要激活函数
每一层需要偏置
GCN的层在64或128已经很好了,不需要过深
技术图片
模型:
在训练集上需要过拟合!!
仔细检查loss函数
仔细检查可视化
技术图片


























































08-GNN 图机器学习之图神经网络

标签:res   encoder   翻页   引用   预处理   node   info   多公司   lan   

原文地址:https://www.cnblogs.com/combfish/p/12271485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!