一个节点就是一个人,一个节点的标签就是一个人的名字,而节点的特征就是这个人的特点。图可以是有向的或无向的:请注意,有向图也可以具有无向边图中的一个节点甚至可以有指向自身的边缘。这被称为自环(self-loop)。图可以是:
并且可以是:
粗略地说,图可以模糊地描述为:
通过将它们转化为平面形式,可以使图看起来更整洁,这基本上意味着重新排列节点,使边不相交。
当我们探索目前在各种GNN架构中使用的许多不同方法时,这些概念和术语将会派上用场。其中一些基本方法在以下方面进行了描述:有各种不同的图结构可供ML模型学习(Wheel,Cycle,Star,Grid,Lollipop,Dense,Sparse等)。
你可以遍历一个图:Jon在4个时间步骤内从Bob到Bic;他最好希望不下雪!在这种情况下,我们正在遍历一个无向图。显然,如果图是有向的,那么只需按照边的方向前进。有几种不同类型的遍历,所以要注意措辞。以下是一些最常见的图遍历术语及其含义:在遍历的概念基础上,人们还可以在图上发送消息。
Sam?更像是S-p-am(垃圾邮件)...所有的Sam的邻居都给他发送了一条消息,其中t代表时间步骤。Sam可以选择打开他的邮箱并更新自己的信息。在具有注意机制的模型中,信息在网络中传播的概念非常重要。在图中,消息传递是我们泛化卷积的一种方式。稍后会详细讨论。通过学习所有这些,你现在对图理论有了基本的理解!任何对GNNs重要的其他概念将会随着它们的出现而进行解释,但与此同时,还有一个关于图的最后一个主题我们需要涵盖。我们必须学会如何在计算中表达图。
有几种方法可以将图转化为计算机可以处理的格式;它们都是不同类型的矩阵。关联矩阵Incidence Matrix(I):关联矩阵通常在研究论文中用大写字母I表示,由1、0和-1组成,关联矩阵可以按照以下简单的模式制作:从图到关联矩阵(带权重的)邻接矩阵Adjacency Matrix(A):图的邻接矩阵由1和0组成,除非它是加权或带标签的。在任何情况下,A都可以按照以下规则构建:无向图的邻接矩阵因此在其对角线上是对称的,从左上角对象到右下角:有向图的邻接矩阵只覆盖对角线线的一侧,因为有向图的边只朝一个方向。邻接矩阵可以是“带权重的”,这基本上意味着每条边都有与之关联的值,所以不是1,而是将值放在相应的矩阵坐标中。这些权重可以代表任何你想要的东西。例如,在分子的情况下,它们可以表示两个节点(原子)之间的键的类型。在LinkedIn这样的社交网络中,它们可以表示两个节点(人)之间的1st、2nd或3rd级连接。边的权重概念是使GNNs如此强大的一个属性;它们允许我们考虑结构性(依赖性)和独立性信息。对于实际应用,这意味着我们可以考虑外部和内部信息。度矩阵(D):图的度矩阵可以通过之前介绍的度概念来找到。D本质上是一个对角矩阵,其中对角线的每个值都是其对应节点的度数。各种类型的图和矩阵(由欧洲生物信息学研究所提供)不要忘记度数只是邻接矩阵的每一行的总和。然后,这些度数被放在矩阵的对角线上(邻接矩阵的对称线)。这很好地引出了最后的矩阵:拉普拉斯矩阵(L):图的拉普拉斯矩阵是通过从邻接矩阵中减去度矩阵而得到的:度矩阵中的每个值都减去了相应的邻接矩阵中的值,如下所示:图矩阵三合一(由维基百科提供)还有其他图矩阵表示法,如关联矩阵,但绝大多数应用于图类型数据的GNN应用都使用这三个矩阵中的一个、两个或全部。这是因为它们,尤其是拉普拉斯矩阵,提供了关于实体(具有属性的元素)和关系(实体之间的连接)的重要信息。唯一缺失的是一个规则(将实体通过关系映射到其他实体的函数)。这就是神经网络派上用场的地方。深度学习是一种机器学习算法,而机器学习又是人工智能的一个子集。
一切都始于谦卑的线性方程。
如果我们将这个方程结构化为一个感知器,我们可以看到:其中输出( )是偏差( )与输入( )乘以权重( )的和( )。神经网络通常具有激活函数,它基本上决定了一个给定神经元的输出( )是否应该被认为是“激活的”,并将感知器的输出值保持在一个合理的可计算范围内(例如,sigmoid函数用于 范围,tanh函数用于 范围,ReLU函数用于 或 等)。这就是为什么我们在感知器的末端附加激活函数的原因。如上模型,它们本身都具有图形结构,或者以图形结构输出数据。
有了这些先决条件,人们可以充分理解和欣赏图学习。在高层次上,图学习进一步探索并利用了深度学习和图理论之间的关系,使用一系列设计用于处理非欧几里德数据的神经网络。
所有图都具有定义其可用或可分析操作的属性。
图是使用各种矩阵来进行计算表示的。每个矩阵提供不同数量或类型的信息。
深度学习是机器学习的一个子集,大致模拟人类大脑中神经元工作的方式。
深度学习通过在网络中前向传递信息并向后传播神经元调整来进行迭代学习。
神经网络(以及其他机器学习算法)与图理论有密切联系;