目录
5.4 Passing messages between parts of the graph
5.5 Learning edge representations
distill博客:A Gentle Introduction to Graph Neural Networks (distill.pub)
什么是图?
图是由一些点和一些线构成的,能表示一些实体之间的关系,图中的点就是实体,线就是实体间的关系。如下图,v就是顶点,e是边,u是整张图。attrinbutes是信息的意思,每个点、每条边、每个图都是有信息的。
怎么表示一张图,可以参考下面这个例子
每个顶点、边和整张图都可以用一个向量来表示,在这个例子中,顶点的向量有六个值,柱体的高矮就表示该值的大小,每条边用一个长为8的向量来表示,全局用一个长为5的向量来表示
图分为两种,一种是有向图,一种是无向图。有向图就是单边关系图,比如A暗恋B,而B并没有暗恋A,这就是一个单边关系;无向图就是互为这种关系,比如说情侣,双方互相喜欢。
二、怎么把一些内容表示成图
2.1 怎么把图片表示成图
比如说一张图片可以表示为一个244*244*3的tensor,244*244个像素,3个rgb通道。就可以像下图这样表示,点表示的是像素,边表示的是像素间的邻接关系,建议大家去博客看一看,可以互动,更为直观。
2.2 将一句话表示成图
句子中的每个单词可以表示成一个节点,有向边表示这些单词的链接关系.
2.3 其他信息转换成图的例子
2.3.1 分子结构表示成图
每个原子表示成一个节点,原子间的连接键表示成一个边
2.3.2 社会人物关系表示成图
比如将“Othello”中的人物关系表示成图,点代表人物,边代表这两个人物同时在一个场景中出现过
再比如,有一个武术培训班,两个老师和很多学生,点表示人,边表示两者间做过比赛
2.3.3 其他可以表示成图的信息
作为图表的引用网络。科学家在发表论文时经常引用其他科学家的工作。我们可以将这些引文网络可视化为一个图表,其中每篇论文都是一个节点,每个有向边缘都是一篇论文和另一篇论文之间的引用。此外,我们可以将有关每篇论文的信息添加到每个节点中,例如摘要的词嵌入。(请参见 [9]、 [10]、 [11])。
其他示例。在计算机视觉中,我们有时想要在视觉场景中标记对象。然后,我们可以通过将这些对象视为节点,将它们的关系视为边缘来构建图形。机器学习模型、编程代码[12]和数字方程式[13]也可以表述为图形,其中变量是节点,边缘是将这些变量作为输入和输出的操作。您可能会在其中一些上下文中看到术语“数据流图”。
一些在实际中碰到的图的大小
三、哪些类型的问题有图结构数据
图上面有三种常规类型的预测任务:图层面,节点层面,边层面。
3.1 图层面的任务
在这个任务中,目标是预测图形的属性,辨别图中是否含有两个环;该任务是分类问题
3.2 节点层面的任务
前面武术班的例子,假如说两个老师决裂,根据该社交图预测学生会选择哪个老师
3.3 边层面的任务
先给出一张图片,然后经过语义分割将人物给分割出来,然后预测人物间的关系;这个图中顶点已经有了,相当于是预测边的属性。
这样就介绍了在图上面的三种不一样的任务问题。
四、神经网络用在图上面的挑战
核心问题是怎样表示图才能是和神经网络是兼容的。图上有四种信息:顶点的属性,边的属性,全局信息以及连接性(即为每条边连接的是哪两个顶点)。前三个信息都能用向量来表示,怎么表示连接性呢?
我们可以用邻接矩阵来表示,该矩阵会是一个方阵,但是有一些问