一.前言

笔记参考b站同济子豪兄的视频而成,源于斯坦福CS224W

学完本章,你将会对图神经网络有初步的了解,同时对于应用层面也有初步的印象

1.1关键词

图机器学习、图数据挖掘、图神经网络(GNN)、图卷积神经网络(GCN)、知识图谱、知识计算、对话问答、推荐系统、社会计算、媒体计算、网络智能、搜索引擎、社交网络、情感计算

1.2 学习路径

斯坦福CS224W(子豪兄的中文精讲版)、知识图谱实战

1.3 必读论文

  • Deepwalk、Node2vec
  • PageRank
  • GNN、GCN、Gragh-SAGE、GIN、GAT
  • Trans-E、Trans-R

二.图

2.1 为什么要做图神经网络?

在大自然当中图无处不在,很多自然现象都可以用图中的结点以及结点之间的的连接来表示。由于我们获取的大部分数据中,存在数据与数据之间的关联现象,我们称之为关联数据,关联数据表示数据之间是存在联系的,而就可以用来描述关联数据,简言之,图:描述关联数据的通用语言

在传统机器学习以及数据挖掘中,每一个数据相互之间都是独立的,我们称其满足独立同分布(iid),同时每一个数据彼此之间都是无关的,例如每一朵鸢尾花之间,每一个手写数字图像之间,每一张猫狗图像之间,这些图像本身是没有任何关系的

但是现在我们用图将这些数据联系起来

2.2 身边的图

例如事件关系图,计算机网络之间形成的关系,病毒的传播路径,食物链,地铁站


社交网络,经济网络,通信网络,论文之间的引用网络,互联网中各个网页形成的网络,以及人脑神经元之间形成的网络

医疗知识图谱(疾病和某些药物、手术、甚至营养物质等进行关联)、基因与蛋白质的调控网络、场景图(比如蔡徐坤、背带裤之间的联系,一个人的各个关节如头,肩膀等之间的联系推断出这个人在做什么)、代码中的操作、运算、函数等抽象为图(例如神经网络中的计算图,包含卷积池化等)、分子抽象为一个图(元素之间以化学键以及相互作用力为连接,应用于药物设计)、3D建模等

2.3 图论

图论最早起源于哥尼斯七桥问题

本质是将现实中复杂的问题抽象为结点与连线的简单形式,易于理解

3.如何用图数据进行数据挖掘?

3.1 传统机器学习方法

传统机器学习里面分类和回归中,数据与数据之间不知道彼此的存在,例如猫狗图像分类,这张猫的图片是不知道另外一张狗的图片的存在的,因为不需要关注这些。在图像分类中,只需要一条直线或者曲线形状的决策边界来划分类别,而不需要考虑数据与数据之间的关系。回归中也是如此,我们只需要一条线来拟合数据,至于挖掘出数据之间的关系对于回归任务来说是不重要的。

3.2 神经网络在数据中的应用

我们知道卷积神经网络(CNN)可以用于处理图像数据,图像数据本质上是矩阵数据(一张图像实际上就是由一个个像素点组成)。而循环神经网络(RNN)用来处理文本或者语音这种序列数据.2017年提出的transformer则在图像、语音、文本数据方面都有应用,例如图像处理的swintransformer,文本语音的bert、gpt等,都是transformer的应用。

我们知道上述神经网络可以用来处理矩阵、表格、序列数据,那么有没有一种神经网络可以用来处理图这种关联数据呢?那就是图神经网络

2018年比较热火的有元学习、连续学习等,直到2020年,图神经网络已经成为新的大热门,图神经网络已经变得更加重要了

3.3 图深度学习为何如此难?

  • 难点一:图是任意尺寸的,例如全国的社交网络和全村的社交网络,这需要图神经网络能兼容任意尺寸的输入以及复杂的拓扑结构。与文本或者图像数据不一样的是,一张图片的大小或者一个句子的长度总是有限的,而图则是任意尺寸的,想一想全国的社交网络,这得有多大,一次性全输进去,爆炸~。
  • 难点二:对于一个图来说,它没有固定的结点顺序(所以应该先输入哪个结点?)也没有参考的锚点(对于图像来说,我们是知道卷积要从上到下从左到右,序列数据也是从句子的第一个字/词到最后一个来处理的,这个最先处理的部分叫做参考的锚点,而图是任意的,没有锚点的)
  • 难点三:图是动态变化的(对于全国社交网络而言,每时每刻都在动态变化,不断有新的结点加入)
  • 难点四:图是多模态的,对于音乐app中的一首歌,又有音频,又有评论,又有歌手的图片、mv视频等等等,如何充分利用这些多模态特征也是传统的神经网络无法解决的

我们需要图神经网络能解决以上挑战,以兼容复杂而带关联的数据类型

3.4 图神经网络简图

我们仍然把它先当作一个黑箱模型,输入是一个图,输出可以是结点的类别、某两个结点的新的连接、一个新的图或者子图。

而中间的黑箱模型包含图卷积操作、激活函数、正则化、DropOut等操作,这一点在后面再进行详细介绍

这个黑箱模型可以实现端到端的表示学习,而不需要我们人为去提取图数据的某一个特征,与传统神经网络一样,图神经网络也可以帮我们自动筛选特征。这里的端到端就是说不需要我们去辅助,一个黑箱,硬train一发就能解决

这里表示学习意味着一个结点可以被映射为一个d维的向量,而这个d维的向量就包含了这个节点的语义信息,整个将图映射为嵌入向量的过程叫做图嵌入,例如一个图有256个结点,那么该图经过图嵌入,转换为256行d维的向量

4.课程概述

4.1 课程概述

  • 1.传统方法:Graphlets,Graph Kernels
  • 2.结点嵌入方法(node embedding):DeepWalk,Node2Vec
  • 3.图神经网络(GNN):GCN(图卷积),GraphSAGE,GAT,Theory of GNNs(GNN的理论、表示能力、潜在的缺陷、如何改进等等)
  • 4.知识图谱和推理(Knowledge graphs and reasoning):TransE,BetaE
  • 5.生成图的深度模型(Deep generative models for graphs):GraphRNN
  • 6.图数据挖掘在生物医学、科学、工业中广泛的应用

4.2 课程大纲

课程大纲如下

主要有20讲

  • 第一讲:图机器学习导论
  • 第二讲:图机器学习传统方法
  • 第三讲:图嵌入(结点嵌入)
  • 第四讲:谷歌:PageRank算法
  • 第五讲:结点分类
  • 第六、七、八、九讲:GNN的表示能力、背后的理论、在各行各业的应用
  • 第十、十一讲:知识图谱的嵌入、推理和补全
  • 第十二、十三讲:社群检测,对子图层面进行挖掘
  • 第十四、十五讲:图生成
  • 第十六、十七讲:图神经网络的高阶应用
  • 第十八、十九讲:课程的一些讲座

5. 图机器学习编程工具

5.1 一些图机器学习的库

  • PyG:斯坦福大学自制图神经网络的库,向pytorch一样可以搭积木
  • NetworkX:“瑞士军刀”,和sklearn一样有各种各样的工具和算法,可以自行构建知识图谱
  • DGL:复现了很多顶会的论文,比较适合学术研究

5.2 辅助库

  • 图数据可视化

    • AntV
    • Echarts:百度和阿帕奇联合制作

5.3 图数据库

图数据库是用来存储、推理、索引图数据的数据库

第一名是Neo4j,一般就用这个Neo4j就可以了

6.图机器学习应用

6.1 应用层面分类

6.1.1 任务层面

  • 1.最短途径的搜索与查找(Pathfinding & Search)

    • 例如高德地图的导航
  • 2.结点重要性(Centrality Importancce)
    • 衡量各个节点的重要性,例如某个大客户和一个普通用户的区别
    • 著名的PageRank算法用来解决这个问题(谷歌搜索里面哪个网页比较重要,就会排在前面)
  • 3.社群检测(Community Detection)
    • 比如一群结点会有一个共同的祖先结点(可以理解为树干是祖先,树枝是子结点),这个由祖先结点领导的群体就叫做一个社群
    • 比如在银行卡信用欺诈里面,可以把一整个老赖村找出来
  • 4.联系预测(Link Prediction)
    • 社交平台里面,会推荐你可能认识的人
    • 推荐系统:我给一个商品点赞,这个商品可能会推荐给我身边的人
  • 5.结点相似度分析(Similarity)
    • 可能在知识图谱中两个结点哥的6很远,但是可能会有相似性
  • 6.嵌入(Embeddings)
    • 将结点映射为向量
6.1.2 结构层面

  • 结点层面(Node level):对某一个结点进行分类,分析用户是否信用卡欺诈?
  • 连接层面(Edge-level):例如社交网络推荐你可能认识的人、推荐一些商品、推荐一些短视频
  • 社群层面(Community level):对用户进行聚类等
  • 图层面(Graph-level):分子是否有毒,生成新的分子等等

6.2 原理

6.2.1 结点层面

由已知结点推断未知结点

6.2.2 连接层面
  • 最常见的是推荐系统

    • A和B同时购买了a商品,而A又购买了b商品,因此系统可能会把b商品也推荐给B
    • 本质上是由已知的连接推断出未知的连接
    • 当你购买了某一个商品,会推荐给你相似的商品
  • 药物联合副作用
    • 由于不同的药物一起服用可能会产生额外的副作用,而不同药物的服用组合太多而不可能一一验证,只有通过已知的药物同时服用的副作用,以及组成该药物的蛋白质,来推断出未知组合药物的副作用
6.2.3 子图层面
  • 导航

    • 结点:将一条条道路作为结点
    • 连接:道路与道路之间的连通性
    • 从A到B会产生不同的子图,选择距离最短和通行时间最少的子图作为导航路段,同时通过其他用户的数据来实时预测该路段的拥挤程度,进而综合预测通行时间
6.2.4 图层面
  • 药物设计

    • 结点:原子
    • 连接:化学键
    • 潜在未知抗生素的种类是天文数字,我们不可能一个一个画出可能的结构然后合成并尝试,可以用图机器学习先选出一些有潜力的分子
  • 物理模拟
    • 游戏、元宇宙等等都要进行粒子的模拟,比例流体力学、土壤、粘土等
    • 把每一个粒子都当成是一个结点,粒子之间的距离和相互作用力作为连接,由图神经网络来预测下一粒子的位置和速度,然后不停的迭代这个过程,就可以实现粒子的模拟
  • 预测蛋白质空间结构
    • 最近爆火的AlphaFold
    • 通过氨基酸多肽链的一维结构来得到三维结构

7.扩展学习与继续学习

刘焕勇 http://liuhuanyong.github.io

公众号:老刘说NLP

8.其他

开源排行榜:http://open-leaderboard.x-lab.info
通过开源项目的活跃度等信息计算综合排序,也可以通过项目的热度来发现风头

【CS224w图机器学习】第一章 图机器学习导论相关推荐

  1. CNN的Python实现——第一章:机器学习基础

    文章目录 第一章:机器学习简介 1.1 引言 1.2 基本术语 1.3 重要概念 1.4 图像分类 1.5 MNIST数据集简介 第一章:机器学习简介 1.1 引言 比如挑西瓜,怎么能挑出好西瓜呢?我 ...

  2. 模式识别与机器学习·第一章——概论

    模式识别与机器学习·第一章--概论 开篇 模式识别 模式 识别 机器学习 研究目的 发展历史 模式识别简史 机器学习简史 系统方法 系统目标 假说的获得 系统的构成 小结 开篇 这系列博客主要用来回忆 ...

  3. python 机器学习第一章

    机器学习是一门能够发掘数据价值的算法和应用,是计算机科学中最激动人心的一个领域之一. 接下来的时间,开始学习吧! python机器学习第一章 1.机器学习方法分为三类:监督学习,无监督学习,强化学习. ...

  4. 【从零开始数学建模(1)】第一章 建立数学模型~导论

    系列文章目录 第一章 建立数学模型~导论 文章目录 ​​​​​​​​​​​ 前言 1.1 从现实对象到数学模型 1.2 数学建模的基本方法与步骤 1.3 数学模型的特点与分类 1.4 从三个建模示例来 ...

  5. 第一章 微型计算机系统导论【微机原理】

    第一章 微型计算机系统导论 第一章 微型计算机系统导论 1.1 引言 1.2 计算机的发展状况 1.3 微型计算机硬件系统 1.3.1 基于总线的微型计算机硬件系统 1.3.2 微处理器 1.3.3 ...

  6. 《消费者行为学》读书笔记 第一章 消费者行为学导论

    第一篇作为市场中的消费者 第一章消费者行为学导论 根据消费者的年龄.性别.收入或职业进行归类是必要的,相同类别的消费者有着相似的消费偏好,这对于产品的目标市场定位是必要的. 群体中的每个成员承受着一种 ...

  7. 机器学习第一章之大数据分析与机器学习简介

    大数据分析与机器学习简介 1.1 大数据分析与机器学习概述 1.1.1 大数据分析与机器学习的应用领域 1.1.2 机器学习的基本概念 1.1.3 Python在数据科学中的作用 1.2 Python ...

  8. 第一章 介绍-机器学习老师板书-斯坦福吴恩达教授

    第一章 介绍 1.1 欢迎 1.2 什么是机器学习 1.3 监督学习 1.4 无监督学习 1.1 欢迎 1.2 什么是机器学习 1.3 监督学习 1.4 无监督学习

  9. PRML读书会第一章 Introduction(机器学习基本概念、学习理论、模型选择、维灾等)...

    主讲人 常象宇 大家好,我是likrain,本来我和网神说的是我可以作为机动,大家不想讲哪里我可以试试,结果大家不想讲第一章.估计都是大神觉得第一章比较简单,所以就由我来吧.我的背景是统计与数学,稍懂 ...

最新文章

  1. UA MATH563 概率论的数学基础1 概率空间2 可列状态空间
  2. VS2010 C++下编译调试MongoDB源码
  3. 007_Web to lead
  4. 我和老公清北毕业,我能接受自己的孩子读三流学校吗?
  5. 51nod 1174 区间最大值(RMQ and 线段树)
  6. c语言中反余切三角函数,三角函数(反双曲)正弦,余弦,正切,余切,正割,余割在线计算器_三贝计算网_23bei.com...
  7. 8086 CPU 寄存器
  8. java 内存 检测_Java内存使用情况检测代码
  9. 「面试必背」Elasticsearch面试题(收藏)
  10. 计算机技术与应用论文,计算机应用技术论文
  11. 一键登陆网易163邮箱
  12. 第14章 垃圾回收概述
  13. su与su - 命令详解
  14. 10个深度学习的工具
  15. 亲身经历:一次sql缺少where条件的惨案,绩效奖金差点没啦~
  16. Thread starvation or clock leap detected
  17. SSRS日期参数的初始化
  18. 使用计算机拍摄制作电视盒电影,如何远程控制电视机顶盒?这个方法让你不在家也能给爸妈点播电影电视剧!...
  19. 【先楫HPM6750系列】GPIO点灯和按键控制
  20. i7 1160g7参数 i71160G7怎么样

热门文章

  1. 《数据结构与算法分析》 思维导图复习
  2. JAVA 拍照 exif GPS_读取图片EXIF块中GPS信息,转换为高德地图API坐标
  3. 不同字符集倒库的方法
  4. 新定义智能家居,华为真的准备好了?
  5. 从赞美和欣赏别人开始
  6. air换电池 macbook_macbook air更换电池
  7. 网友盘点囧囧奥运记者的弱智提问
  8. 2015.4.8-C#入门基础(二)
  9. 数往知来 2016曲面显示器市场展望
  10. 本人男,27岁技术经理,收入太高,心头慌得一比