note

  • GNN应用场景:社交网络、知识图谱、复杂的文件系统等;节点、链路、子图分类任务等。
  • 图机器学习的编程工具:(Graphgym、pyG、networkx、dgl、Pytorch、AntV、Echarts)
  • 图机器学习和其他深度学习的区别:前者,非结构化数据;后者如CV NLP为网格、序列数据。
  • 举几个Bipartite Graph(二分图)的例子:球员与俱乐部,列车与火车站

一、导论

本讲介绍了图数据挖掘的常见任务、典型方法、应用场景、编程工具。图是描述大自然各种关联现象的通用语言,图无处不在。不同于传统数据分析中样本独立同分布假设,图数据自带了关联结构,需要使用专门的图神经网络进行深度学习。
本讲介绍了斯坦福CS224W公开课的课程大纲;在节点、连接、子图、全图各个层面进行图数据挖掘的典型任务,以及在蛋白质结构预测、生物医药、内容推荐、文献挖掘、社交网络、开源项目评价等领域的应用。

在这里插入图片描述
DL,如NLP是在文本数据sequence上进行建模,CV在grid上建模(图片具有平移不变性)。

1.1 图机器学习编程工具

PyG:www.pyg.org

NetworkX:networkx.org

DGL:www.dgl.ai

AntV图可视化工具Graphin:graphin.antv.vision

AntV图可视化工具G6:g6.antv.antgroup.com

Echarts可视化:echarts.apache.org/examples/zh/index.html#chart-type-graphGL

1.2 网络与图

在这里插入图片描述

  • networks / natural graphs:自然表示为图
    • Social networks: Society is a collection of 7+ billion individuals
    • Communication and transactions: Electronic devices, phone calls, financial transactions
    • Biomedicine: Interactions between genes/proteins regulate life(大概是基因或蛋白质之间互动从而调节生理活动的过程)
    • Brain connections: Our thoughts are hidden in the connections between billions of neurons
  • graphs:作为一种表示方法
    • Information/knowledge are organized and linked
    • Software can be represented as a graph
    • Similarity networks: Connect similar data points
    • Relational structures: Molecules, Scene graphs, 3D shapes, Particle-based physics simulations

传统ML中需要对原始数据进行特征工程,但是表示学习representation learning可以自动学习到数据的特征,用于下游任务。
在这里插入图片描述
而图表示学习即学习到每个节点的embedding,同一实体在节点空间上靠近,即在向量空间上相似。
在这里插入图片描述

  • 图机器学习的四类任务:
    • 三类:节点、边、子图分类
    • 还有一类:图级别:包括预测任务 graph-level prediction 和 图生成任务 graph generation
  • 为研究问题确定合适的表示方法:如用论文之间的引用关系,比用论文题目含有同一单词,作为关系,学习到的GNN embedding效果会更好。

在这里插入图片描述

1.3 CS224W概览

cs224w本课程将聚焦图的机器学习和表示学习多个领域,课程大纲如下:
Traditional methods: Graphlets, Graph Kernels
Methods for node embeddings: DeepWalk, Node2Vec
Graph Neural Networks: GCN, GraphSAGE, GAT, Theory of GNNs
Knowledge graphs and reasoning: TransE, BetaE
Deep generative models for graphs
Applications to Biomedicine, Science, Industry

对应的原版课程时间(可以调整自己的学习时间):
在这里插入图片描述

二、Choice of Graph Representation

需要思考以啥作为节点,以啥作为边。如在设计知识图谱时,想做得了某些病后能吃啥,不能吃啥的图谱——则需要将疾病和食物作为节点,

2.1 有向图or无向图

在这里插入图片描述
异质图的定义:
在这里插入图片描述
很多情况都是异质图:
在这里插入图片描述
另外还有二分图:
在这里插入图片描述

2.2 节点的度数degree

有向图和无向图的节点度数不同。
在这里插入图片描述

2.3 Representing Graphs

邻接矩阵、edge list连接列表、邻接列表(如2:3,4,5记录2节点指向的节点)等。

2.4 节点和边的属性

  • Weight (e.g., frequency of communication)
  • Ranking (best friend, second best friend…)
  • Type (friend, relative, co-worker)
  • Sign: Friend vs. Foe, Trust vs. Distrust
  • Properties depending on the structure of the rest of the graph: Number of common friends

2.5 Weighted / Unweighted

无向图的邻接矩阵是对阵矩阵。显然和其他深度学习技术一样,需要首先将图结构转为矩阵形式,但是绝大数图都是稀疏图。

下图右边是带权重的无向图,邻接矩阵同样是对称阵,
在这里插入图片描述
其他图:
在这里插入图片描述

2.7 Connectivity

  • 无向图的Connectivity
    • connected:任意两个节点都有路径相通
    • disconnected:由2至多个connected components构成
      最大的子连接图:giant component
      isolated node
      这种图的邻接矩阵可以写成block-diagonal的形式,数字只在connected components(即连通域)之中出现

在这里插入图片描述

  • 有向图的Connectivity
    • strongly connected directed graph(强连通,即图中任意两个节点都可以相互到达): has a path from each node to every other node and vice versa (e.g., A-B path and B-A path)
    • weakly connected directed graph: is connected if we disregard the edge directions

在这里插入图片描述

  • strongly connected components

在这里插入图片描述

三、异质图 heterogeneous graph

  • 定义: G = ( V , E , R , T ) \boldsymbol{G}=(V, E, R, T) G=(V,E,R,T)
    • Nodes with node types v i ∈ V v_i \in V viV
    • Edges with relation types ( v i , r , v j ) ∈ E \left(v_i, r, v_j\right) \in E (vi,r,vj)E
    • Node type T ( v i ) T\left(v_i\right) T(vi)
    • Relation type r ∈ R r \in R rR

在这里插入图片描述

四、思考题

  • 简述AlphaFold的基本原理,它解决了哪些以前解决不了的问题?
    • 预测蛋白质的三维结构:AlphaFold需要通过预测蛋白质中每对氨基酸之间的距离分布,以及连接它们的化学键,将所有氨基酸对的测量结果汇总成2D的距离直方图,AlphaFold是通过CNN学习图片构建蛋白质的3D结构;AlphaFold2加入了attention机制+GNN,构建三重自注意力机制,计算氨基酸之间的关系图。
    • 论文地址:https://www.nature.com/articles/s41586-021-03819-2_reference.pdf

在这里插入图片描述

  • 如何设计本体图Ontology?(以下是从知识图谱角度回答)
    • 1.确定本体图的目标:首先,需要确定本体图的目标,以便确定本体图的范围和内容。
    • 2.收集信息:收集有关本体图的信息,包括文档、网页、图书等。
    • 3.建立概念:根据收集的信息,建立本体图的概念,并将概念之间的关系进行建模。
    • 4.定义概念:为每个概念定义一个明确的定义,以便更好地理解概念之间的关系。
    • 5.定义属性:为每个概念定义一组属性,以便更好地描述概念之间的关系。
    • 6.定义关系:为每个概念定义一组关系,以便更好地描述概念之间的关系。
    • 7.测试本体图:测试本体图,以确保本体图的正确性和完整性。

附:AlphaFold相关内容

AlphaFold官网:https://www.deepmind.com/research/highlighted-research/alphafold

AlphaFold蛋白质数据库:https://alphafold.ebi.ac.uk

AlphaFold博客1:https://www.deepmind.com/blog/alphafold-using-ai-for-scientific-discovery-2020

AlphaFold博客2:https://www.deepmind.com/blog/alphafold-reveals-the-structure-of-the-protein-universe

AlphaFold自然杂志论文:https://www.nature.com/articles/s41586-019-1923-7.epdf?author_access_token=Z_KaZKDqtKzbE7Wd5HtwI9RgN0jAjWel9jnR3ZoTv0MCcgAwHMgRx9mvLjNQdB2TlQQaa7l420UCtGo8vYQ39gg8lFWR9mAZtvsN_1PrccXfIbc6e-tGSgazNL_XdtQzn1PHfy21qdcxV7Pw-k3htw%3D%3D

AlphaFold代码:https://github.com/deepmind/deepmind-research/tree/master/alphafold_casp13

百度文心·生物计算大模型:https://wenxin.baidu.com/wenxin/paddlehelix

人工智能在药物发现和生物技术中的应用:2022年回顾与关键趋势:https://mp.weixin.qq.com/s/ZuDpd2YqHpDiRqw9GIXolw

附:时间安排

任务任务内容截止时间注意事项
2月11日开始
task1图机器学习导论2月14日周二完成
task2图的表示和特征工程2月15、16日周四
task3NetworkX工具包实践2月17、18日周六
task4图嵌入表示2月19、20日周一
task5deepwalk、Node2vec论文精读2月21、22日周三
task6PageRank2月23、24日周五
task7标签传播与节点分类2月25、26日周日
task8图神经网络基础2月27、28日周二
task9图神经网络的表示能力3月1日周三
task10图卷积神经网络GCN3月2日周四
task11图神经网络GraphSAGE3月3日周五
task12图神经网络GAT3月4日周六

Reference

  • cs224w(图机器学习)2021冬季课程学习
  • https://github.com/TommyZihao/zihao_course
  • 官方原版视频: https://web.stanford.edu/class/cs224w/
  • Youtube视频:https://www.youtube.com/watch?v=JAB_plj2rbA&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=1
  • https://www.youtube.com/watch?v=JAB_plj2rbA&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=2
  • 课程主页https://web.stanford.edu/class/cs224w
    Graph Representation Learning Book:https://www.cs.mcgill.ca/~wlh/grl_book/
  • Lecture 1.1 - Why Graphs:https://www.youtube.com/watch?v=JAB_plj2rbA&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=1
  • 其它阅读材料
    李笑来-惊喜与创造惊喜的方法论:https://zhuanlan.zhihu.com/p/475615463
  • 哥尼斯堡七桥问题:https://zhuanlan.zhihu.com/p/519123688
  • 2022 IDEA大会|BIOS V2正式发布,数据驱动构建超级医学知识图谱:https://mp.weixin.qq.com/s/vuHGUtWbiIH-pJ6MZaxl5Q
  • 图的基本表示
    同济子豪兄-中文精讲视频:https://www.bilibili.com/video/BV1n84y1e7SF
  • 斯坦福原版视频:https://www.youtube.com/watch?v=P-m1Qv6-8cI&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=3
  • 扩展阅读
    如何解释人际交往中的「六度空间」理论,它是如何证明的?:https://www.zhihu.com/question/27492995/answer/37841402
  • Jure Leskovec
    个人主页:https://cs.stanford.edu/people/jure/
    谷歌学术主页:https://scholar.google.com/citations?user=Q_kKkIUAAAAJ&hl=zh-CN
  • 子豪兄视频
  • 广泛应用的二分图:球员与俱乐部,列车与火车站|集智百科
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐