【AI基本模型】图卷积网络GCN简化原理
时间:2024-04-19 17:31:05 来源:网络cs 作者:言安琪 栏目:跨境风云 阅读:
目录
一、说明
二、图卷积网络
三、图卷积网络是如何工作的?
四、如何手动计算图卷积网络(GCN)?
4.1 构建网络
4.2 开始执行训练(参见上图)
五、图卷积网络的应用
一、说明
图卷积网络 (GCN) 于 2017 年推出,已成为分析和解释结构为图的数据的强大工具。对于非线性的关系,如拓扑形结构,CNN将出现规模上的爆炸,因此,这里涌现出了很多方法,例如GNN、DeepWalk、node2vec等等,GCN只是其中一种,这里只讲GCN,其他的后面有空再讨论。
二、图卷积网络
GCN,图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding),可见用途广泛。因此现在人们脑洞大开,让GCN到各个领域中发光发热。
图卷积网络 (GCN) 是处理图结构数据的神经网络架构。想象一下,你有一组对象(节点)通过关系(边)连接,形成一个网络。GCN旨在通过分析节点之间的关系来学习这种网络结构。
将 GCN 视为强大的模式识别工具,用于扫描图中节点的局部邻域。就像卷积神经网络 (CNN) 扫描图像中的局部邻域一样,GCN 扫描图形中的局部邻域。
GCN 学习根据不同节点与相邻节点的关系为它们分配重要性。他们学会关注图结构中的模式,这些模式对给定任务有信息,例如对节点进行分类或预测节点之间的关系。
三、图卷积网络是如何工作的?
图卷积网络 (GCN) 是设计用于处理图结构数据的神经网络,其中节点(对象)通过边(关系)连接。它们的工作方式类似于卷积神经网络 (CNN),后者用于图像处理。
将图形想象成一组由边缘连接的节点,就像一个社交网络,其中节点代表人,边缘代表友谊。GCN 通过聚合来自相邻节点的信息来学习“卷积”每个节点周围的信息。
图卷积网络
数据准备:以适合 GCN 的格式表示图形。这涉及将图转换为节点邻接矩阵 (A) 和节点特征矩阵 (X)。邻接矩阵描述图拓扑,而特征矩阵包含节点属性。卷积运算:GCN 使用可学习的权重矩阵对节点特征矩阵执行卷积运算。这些卷积运算是专门为图形设计的,与图像处理中使用的二维卷积不同。非线性激活:GCN 将非线性激活函数应用于卷积节点特征,使它们能够学习更复杂的表示。训练和预测:GCN 在监督学习任务(例如节点分类或链路预测)期间使用反向传播进行训练。经过训练后,GCN 可用于按照相同的步骤对新的图形结构数据进行预测。简单来说,图卷积网络的工作原理是通过聚合来自相邻节点的信息来学习“卷积”每个节点周围的信息。这些网络是为图结构数据而设计的,当理解图中节点之间的关系很重要时,这些网络特别有用。
四、如何手动计算图卷积网络(GCN)?
本练习演示了 GCN 如何在一个简单的应用程序中工作:二元分类。
4.1 构建网络
预测图形中的节点是否为 X。
1)建立两层GCN层(与CNN类似)
🟪 图卷积网络 (GCN)
1.GCN1(4,3)
2.GCN2(3,3)
2)连接层
🟦 全连接网络 (FCN)
1.线性1(3,5)
2.ReLU
3.线性2(5,1)
4. sigmoid
3) 简单化
• 相邻矩阵未归一化。
• ReLU 直接应用于消息。
4.2 开始执行训练(参见上图)
[1] 给定
↳ 具有五个节点 A、B、C、D、E 的图形
[2] 🟩 邻接矩阵:邻域
↳ 为邻域的每条边加 1
↳ 在两个方向上重复(例如,A->C、C->A)
↳ 对两个 GCN 层重复
[3] 🟩 邻接矩阵:自
↳ 为每个自循环添加 1
↳ 等效于添加恒等矩阵
↳ 对两个 GCN 层重复
[4] 🟪 GCN1:消息
↳ 将节点嵌入🟨与权重和偏差相乘
↳ 应用 ReLU(负数 → 0)
↳ 结果是每个节点一条消息
[5] 🟪 GCN1:池
化↳ 将消息与相邻矩阵相乘
↳ 目的是池化来自每个节点的邻居以及节点本身的消息。
↳ 结果是每个节点都有一个新功能
[6] 🟪 GCN1:可视化
↳ 对于节点 1,可视化消息如何汇集以获得新功能以便更好地理解
↳ [3,0,1] + [1,0,0] = [4,0,1]
[7] 🟪 GCN2:消息
↳ 将节点特征与权重和偏差相乘
↳ 应用 ReLU(负数 → 0)
↳ 结果是每个节点一条消息
[8] 🟪 GCN2:池
化↳ 将消息与相邻矩阵
相乘↳ 结果是每个节点都有一个新功能
[9] 🟪 GCN2:可视化
↳ 对于节点 3,可视化消息如何汇集以获得新功能以便更好地理解
↳ [1,2,4] + [1,3,5] + [0,0,1] = [2,5,10]
[10] 🟦 FCN:线性 1 + ReLU
↳ 使用权重和偏差乘以节点特征
↳ 应用 ReLU(负数 → 0)
↳ 结果是每个节点
都有一个新特征↳ 与 GCN 层不同,不包含来自其他节点的消息。
[11] 🟦 FCN:线性 2
↳ 使用权重和偏差对节点特征进行乘法
[12] 🟦 FCN:Sigmoid
↳ 应用 Sigmoid 激活函数
↳ 目的是获得每个节点
的概率值↳ 手动✍️计算 Sigmoid 的一种方法是使用以下近似值:
• >= 3 → 1
• 0 → 0.5
• <= -3 → 0
— 输出 —
A:0(极不可能)
B:1(极有可能)
C:1(极有可能)
D:1(极有可能)
E:0.5(中性)
五、图卷积网络的应用
图卷积网络 (GCN) 由于能够分析复杂的图结构数据,因此在各个领域都有广泛的应用。以下是 GCN 产生影响的一些关键领域:
计算机视觉:GCN 已应用于各种计算机视觉任务,例如图像和视频处理。它们可用于对象识别、语义分割和动作识别,方法是将图像或视频视为图形,其中节点表示像素或帧,边缘表示空间或时间关系。自然语言处理 (NLP):GCN 越来越多地用于 NLP,特别是用于处理句子或文档等顺序数据。在NLP中,图形可以表示单词之间的句法或语义关系,GCN可以学习捕获这些关系。应用程序包括命名实体识别、依赖关系分析和情感分析。推荐系统:GCN 可用于对推荐系统中的用户-项目交互进行建模。例如,它们可用于社交网络中的链接预测,GCN可以学习预测用户之间建立新友谊或联系的可能性。社交网络分析:GCN 对于分析社交网络特别有用,其中节点表示用户,边缘表示连接。它们可用于社区检测、用户行为分析和链接预测等任务。药物发现和化学:GCN通过对分子图进行建模,在药物发现和化学方面显示出巨大的前景。GCN可用于预测药物-靶点相互作用、设计新药和预测化学性质。生物信息学: GCN 在生物信息学中可用于蛋白质结构预测、蛋白质-蛋白质相互作用预测和基因表达分析等任务。蛋白质结构预测:GCN 可用于将蛋白质结构建模为图形,其中节点表示原子,边缘表示化学键。它们可用于预测蛋白质结构,这对于了解蛋白质功能和开发新药至关重要。推荐系统: GCN 可用于对推荐系统中的用户-项目交互进行建模。例如,它们可用于社交网络中的链接预测,GCN可以学习预测用户之间建立新友谊或联系的可能性。交通预测和交通:GCN 可用于将交通网络建模为图形,其中节点表示交叉路口或停靠点,边表示道路或路线。它们可用于预测交通拥堵、优化路线和规划交通系统。图像和信号处理:GCN 可用于图像去噪、超分辨率和异常检测等任务,方法是将图像或信号视为图形,其中节点表示像素或数据点,边缘表示空间或时间关系。这些只是图卷积网络众多应用中的几个例子。GCN 是分析复杂图形结构数据的强大工具,并且越来越多地应用于各个领域,以获得洞察力和做出预测。
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/fengyun/2024-04-19/160408.html,文章来源:网络cs,作者:言安琪,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
上一篇:R语言的ggplot2如何设置x轴和y轴的范围和刻度
下一篇:返回列表