我是靠谱客的博主 魁梧舞蹈,最近开发中收集的这篇文章主要介绍通俗易懂 | 图神经网络入门笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作者 | Rosey

拜读了Jure Leskovec的《Representation Learning on Networks》才明白图神经网络到底在学什么,是如何学的,不同GNN模型之间的关系是什么。总的来说,不同类型的模型都是在探讨「如何利用图的节点信息去生成节点(图)的embedding表示」

图表示学习的两大主流思想

  • 线性化思想

    • Deepwalk,Node2vec,LINE

  • 图神经网络

    • GCN,GraphSAGE,Gated GNN,subgraph embedding

Node embedding

「目标」:编码节点使其在embedding空间的相似性「近似」为在原网络的相似性

  • 定义编码器encoder

  • 定义节点相似性函数

  • 优化参数使

可以看出,前两步是node embedding的核心。

第一个问题:如何映射节点到低维空间?

参考word2vec,借助embedding-lookup就可以

第二个问题:如何定义节点相似性?

「1. Adjacency-based similarity」

  • Similarity function 定义为原网络中两节点之间的边的权重

  • 用点积近似边是否存在

  • 找到使损失最小化的 embedding matrix

「2. Multi-hop similarity」

考虑 k-hop 节点

上述方法的大致思想都是:

  • 定义节点对的相似性

  • 优化embedding去近似它们的相似性

「3.Random walk approaches」

DeepWalk,Node2vec等,具体可参见之前的文章

  • DeepWalk:图网络与NLP的巧妙融合

  • Node2Vec:万物皆可Embedding

  • LINE:不得不看的大规模信息网络嵌入

Graph neural networks

图G定义为:

  • V 顶点集

  • A 邻接矩阵

  • 为节点特征矩阵

    • 文本、图像,例如社交网络中人口学信息

    • 节点的度,聚类系数等

「如何表示节点」

  • 核心思想:根据邻居节点生成节点的embedding

    每个节点拥有独立的计算图

  • how to aggregate information across the layers

    • 最简单的方法就是 求均值

    • 其他方法......

  • 定义loss训练模型

    • 无监督

    • 有监督

下面不同的GNN算法都是在「探索如何利用邻域节点生成当前节点的embedding表示」

  • 「GNN基础思想」

  • 「GCN」

  • 「GraphSAGE」

    AGG函数可以定义为:

    • Mean

    • Pool

    • LSTM

  • 「Gated Graph Neural Networks」

「上述方法都是nodel-level embeddings」,如何embedding图?

  • Subgraph Embeddings

    • 可以对子图的节点求和

    • 引入“虚拟节点”表示子图

以上内容仅是对图神经网络初步了解的学习,《Representation Learning on Networks》[1]非常适合入门GNN,推荐大家阅读,有问题欢迎交流。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

本文参考资料

[1]

《Representation Learning on Networks》: http://snap.stanford.edu/proj/embeddings-www/

[2]

Graph Representation Learning: https://jian-tang.com/files/AAAI19/aaai-grltutorial-part0-intro.pdf

END -



业务,工程和算法的互殴现场

2021-03-03

如何将用户行为和属性用于推荐系统?

2021-03-02

SDNE:深度模型图网络

2021-03-01

FLAT——中文NER该怎么做

2021-02-19

最后

以上就是魁梧舞蹈为你收集整理的通俗易懂 | 图神经网络入门笔记的全部内容,希望文章能够帮你解决通俗易懂 | 图神经网络入门笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部