图神经网络

几种图神经网络方法总结(Graph Neural Network) 概要 今年来图神经网络受到大家越来越多的关注,在文本分类(Text classification),序列标注(Sequence labeling), 神经机器翻译(Neural machine translation),关系抽取(Relation extraction),事件抽取(Event extraction), 图像分类(Image Classification),视觉推理(Visual R... 阅读详情

现在是下午四点,我今天醒的太晚了,十二点才起床,然后打打炉石看看小说,一晃就到现在了。不过真的蛮有意思的。我得开始学习了,毕竟时间很紧张,我需要尽快达到毕业要求。
补充一下,其实喜欢看网文,一个是想象力,一个是yy,毕竟现实生活中得不到的网文里幻想一下也不错。
之前我在github上找个了简单的神经网络的项目看了看代码,现在我要去找一个图神经网络的项目。
我找了一下,但是我发现与其去找github上面的代码,不如直接问deep seek。

1

import torch
import torch.nn.functional as F
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GCNConv

# 加载 Cora 数据集
dataset = Planetoid(root='data/Cora', name='Cora')
data = dataset[0]

# 定义 GCN 模型
class GCN(torch.nn.Module):
    def __init__(self, input_dim, hidden_dim, output_dim):
        super(GCN, self).__init__()
        self.conv1 = GCNConv(input_dim, hidden_dim)
        self.conv2 = GCNConv(hidden_dim, output_dim)

    def forward(self, x, edge_index):
        # 第一层 GCN
        x = self.conv1(x, edge_index)
        x = F.relu(x)
        x = F.dropout(x, training=self.training)
        # 第二层 GCN
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# 初始化模型
model = GCN(input_dim=dataset.num_features, hidden_dim=16, output_dim=dataset.num_classes)

# 定义优化器
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)

# 训练函数
def train():
    model.train()
    optimizer.zero_grad()
    out = model(data.x, data.edge_index)
    loss = F.nll_loss(out[data.train_mask], data.y[data.train_mask])
    loss.backward()
    optimizer.step()
    return loss.item()

# 测试函数
def test():
    model.eval()
    out = model(data.x, data.edge_index)
    pred = out.argmax(dim=1)
    correct = pred[data.test_mask] == data.y[data.test_mask]
    acc = int(correct.sum()) / int(data.test_mask.sum())
    return acc

# 训练和测试
for epoch in range(200):
    loss = train()
    if epoch % 10 == 0:
        acc = test()
        print(f'Epoch {epoch:03d}, Loss: {loss:.4f}, Test Acc: {acc:.4f}')

# 最终测试
acc = test()
print(f'Final Test Accuracy: {acc:.4f}')

2

我先把cora数据集下载到本地,赞美计算机,这个计算量人来干是不可能的。我感觉pycharm什么都能打开,比笔记本强多了。这个编号为35号的论文很强啊,像是后面的1033,103482什么的引用的都是它。
在这里插入图片描述
cora.content第一列很简单,无非就是论文编号嘛,后面的一大批01其实就是这1433个词会不会出现在论文里面,最后面还有一列,代表论文属于哪一类(一共有七个类)
在这里插入图片描述

3 planetoid方法

4

我终于看懂这个初始化模型是什么意思了

# 初始化模型
model = GCN(input_dim=dataset.num_features, hidden_dim=16, output_dim=dataset.num_classes)

其实神经网络的本质就是数学操作,矩阵操作,这个cora的节点特征矩阵就是一个2708行,1433列的二维矩阵,这个num_feature代表的是节点维度特征,这个model就是根据这1433个节点维度特征,这1433个关键词判断出这篇文章到底属于哪一类。所以这个模型就是通过两层图卷积,从1433映射为16再映射为7。

5

我看了这个图神经网络的代码,我就想说这和神经网络有什么区别,都是计算损失,都是反向传播。
我终于理解什么是边索引矩阵了,边索引矩阵要以一列为单位,上边是源点,下边是目标点。
区别在于神经网络是给每一个参数加权重,然后权重*参数,但是图神经网络是对矩阵进行操作
输出的时候也是如此,图神经网络要考虑到相邻的节点。

5

我看代码看的有点烦,我去刷刷申论行测什么的

图神经网络整理和思考 一共三个维度:点、边和全图,我们的目标就是为这三个维度根据邻居关系提取特征,然后根据提取到的特征做分类或者回归。下图是一个具体的例子GCN的主要思想是取所有邻居节点特征(包括自身节点)的加权平均值。度低的节点获得更大的权重。之后,我们将得到的特征向量通过神经网络进行训练和卷积类似,GCN也可以做多层,每一层的特征输入都是上一层的输出多层卷积的优点:特征的抽象表示: 多层卷积允许模型逐渐提取数据的抽象特征表示。每一层的卷积操作都能够捕获不同层次的特征,从原始输入中提取更高级别、更抽象的表示。 阅读详情

相关推荐

【图神经网络】10种常用的图神经网络框架对比分析

图神经网络(Graph Neural Network)算法是将深度神经网络的运算(如卷积、梯度计算)与迭代图传播结合在一起:每个顶点的特征都是由其邻居顶点的特征结合一组深度神经网络来计算。

小哲的博客 6569

【图神经网络】10分钟掌握图神经网络及其经典模型

图(Graph)是一种数据结构,能够很自然地建模现实场景中一组实体之间的复杂关系。在真实世界中,很多数据往往以图的形式出现, 例如社交网络、电商购物、蛋白质相互作用关系等。因此,近些年来使用智能化方式来建模分析图结构的研究越来越受到关注, 其中基于深度学习的图建模方法的图神经网络(Graph Neural Network, GNN), 因其出色的性能已广泛应用于社会科学、自然科学等多个领域。

小哲的博客 8万+

【Graph Neural Network 图神经网络】1.Recurrent Graph Neural Network 循环图神经网络

图神经网络概述 神经网络的成功推动了模式识别和数据挖掘的研究,产生了若干种端到端的深度学习方法:卷积神经网络CNN、循环神经网络RNN、自动编码器。其中卷积神经网络CNN能够利用图像数据的平移不变性、局部连通性和可组合型,提取与整个数据集共享的局部有意义的特征,以进行各种图像分析任务。 但是在应用场景中依然有大量的数据以图Graph的形式表示,例如电子商务中的用户与产品的交互、化学中的分子结构、引文网络中的论文关系等。因为图结构可能是不规则的,图中的节点可能具有不同数量的邻居,图中实例彼此关联不独立,所以现

TsingM 6031

【图神经网络实战】深入浅出地学习图神经网络GNN(上)

V:点,每个点都有自己的特征向量(特征举例:邻居点数量、一阶二阶相似度)E:边,每个边都有自己的特征向量(特征举例:边的权重值、边的定义)U:整个图,每个图都有自己的特征向量(特征举例:节点数量、图直径)传统神经网络(CNN、RNN、DNN)要求输入格式是固定的(如2424、128128等)。但在实际场景中(例如道路交通),不同城市的道路数量和节点数量都不同,即输入数据格式不固定。对此,传统神经网络不能很好地解决,但是GNN可以用来解决此类问题。卷积:卷积核平移计算图卷积:自身信息+所有邻居信息。

知不足而奋进,望远山而前行 7万+

图神经网络实战(6)——使用PyTorch构建图神经网络

图数据集通常比简单的连接集合更加丰富,因为节点和边可以具有表示分数、颜色、单词等特征。包含这些额外信息在输入数据中对于生成最佳嵌入至关重要。在本节中,我们将使用 Cora 和 Facebook Page-Page 数据集,首先将它们视为表格数据集,观察香草神经网络在节点特征上的表现如何。然后,尝试在神经网络中加入拓扑信息,实现图神经网络 (Graph Neural Networks, GNN) 架构:一个同时考虑节点特征和边的简单模型。最后,我们将比较两种架构的性能。

盼小辉丶的博客 2万+

图神经网络实战(1)——图神经网络(Graph Neural Networks, GNN)基础

本节全面介绍了图神经网络 (Graph Neural Network, GNN) ,包括其在数据分析和机器学习中的重要性。首先探讨了图作为数据表示的相关概念及其在各个领域的广泛应用;然后深入探讨图学习的重要性,包括不同的应用和技术。最后,重点介绍了 GNN 架构,并对比了它与其他方法之间的原理和性能差异。

盼小辉丶的博客 15万+

什么是图神经网络

2019年可以说是图神经网络元年。01 什么是图神经网络?1. 图和属性图要了解图神经网络,首先要了解图。图是由节点和边组成的,如下图所示。一般图中的节点表示实体对象(比如一个用户、一件商品、一辆车、一张银行卡等都可以作为节点),边代表事件或者实体之间的特殊关系(比如用户和商品之间的购买关系)。在数学中,我们一般使用邻接矩阵来表示图,如上图右边所示。邻接矩阵中的值为 1 表示节点之间有边,即有连接关系。所以邻接矩阵其实很好的将图的这种结构信息表达出来了。还要介绍一个概念是属性图。就是说,图中的节点和边都带有

kyle1314608的博客 2万+

图神经网络实战——总结 | 图神经网络展望

短短数年时间,图神经网络 (Graph Neural Networks, GNN) 已经成为一种重要的深度学习架构,并且已经广泛应用于各个行业。通过本专栏的学习,能够对图学习和 GNN 领域有一个全面的了解,并能为各种应用设计、构建GNN模型。

盼小辉丶的博客 8608

图神经网络的池化操作

图神经网络有两个层面的任务:一个是图层面(graph-level),一个是节点(node-level)层面,图层面任务就是对整个图进行分类或者回归(比如分子分类),节点层面就是对图中的节点进行分类回归(交通网络道路流量预测)。对于图层面的任务,我们需要聚合图的全局信息(包括所有节点和所有边),并且聚合全局信息得到一个可以表示全图的向量,后续对该向量进行分类回归操作。 如何将全局信息表示为一个向量呢,在图片分类和回归任务中,我们有池化操作,在图数据中,我们一样引入池化操作。 目录 1、全局池化 1.1

qq_41459262的博客 1万+

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 748

C++结合大漠插件实现DNF自动化脚本:从原理到实战

自动化技术通过模拟用户操作,实现重复性任务的自动执行,其核心原理在于对系统输入输出接口的精确控制。在Windows平台,这通常涉及窗口管理、图像识别与键鼠模拟等技术。这些技术为软件自动化测试、办公流程自动化及特定场景的辅助工具开发提供了工程实践基础。大漠插件作为国内广泛使用的Windows自动化开发组件,封装了上述底层操作,显著降低了开发门槛。通过其提供的COM接口,开发者可以高效实现窗口绑定、后台找图找色及内存读写等关键功能。本文以《地下城与勇士》为例,详细解析如何利用C++集成大漠插件,构建一个稳定、高

weixin_34185512的博客 580

图神经网络初探

介绍随着图神经网络(Graph Neural Networks,GNN)热潮的出现,了解、掌握图神经网络相关原理以及应用相关技术越来越成来从事人工智能人员的必要条件。本文主要概述图神经网络...

Kaiyuan_sjtu的博客 8439

pwm电机调速的原理介绍与代码实现

1、pwm实现调速的原理与介绍 PWM(Pulse Width Modulation)脉冲宽度调制。 1)占空比 pwm占空比就是一个脉冲周期内有效电平在整个周期所占的比例。 通过调节PWM的占空比就能调节IO口上电压的持续性变化,因此也能够控制外设的功率进行持续性变化,也就能控制直流电机的转速快慢。 那么重点就在于如何调节PWM波形的输出。如下图所示 图中的ARR是我们给定时器的一个预装载值,CCRx的上下变化是产生PWM波的关键。我们假设ARR大于CCRx的部分输出为高电平(即t1-t2、t3-t4

Clichong 7万+

4 图神经网络—— 基本概念与手写code

1 基本概念 1.1 图神经网络中的基本元素 一般的图中包含以下几种基本元素: 节点vvv:(蓝色的点) 边X(u,v)X_{(u,v)}X(u,v)​:(黑色的边,也就是节点u,vu,vu,v之间的特征向量) 节点特征向量:XvX_vXv​ 特征向量:hvkh_v^khvk​,代表节点vvv在第kkk次循环(第kkk层)的特征向量。解释:其中每一个节点都有自己的特征,也就是说某个节点可用一个...

Mortal's blog 7447

B0505S选型

    使用B0505S-1W已经有一段时间了,一直以来使用的是下面的电路,该电路摘自《CAN总线嵌入式开发——从入门到实战》一书。 参考金升阳的用户手册,手册上写道: 为了确保该模块能够高效可靠的工作,使用时,其输出最小负载不能小于额定负载的10%。若您所需功率确实较小,请在输出端并联一个电阻(电阻消耗功率与实际使用功率之和大于等于10%的额定功率)        由于使用该电源模...

动感小麦兜的博客 1万+

实验五 循环结构第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断第4关:通过数列求自然常数e第5关:双倍余额递减法计算固定资产折旧第6关:销售统计第7关:投资年限计算

第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断 第4关:通过数列求自然常数e 第5关:双倍余额递减法计算固定资产折旧

pro_daily的博客 8170

GNN图神经网络简单理解

图:表示一些实体之间的关系顶点(研究的对象):顶点信息、邻点数目等边(两个对象之间特定的关系):边信息、边权重等全局信息:节点个数、最长路径等顶点:用向量表示边:用向量表示全局信息:用向量表示时域中的卷积运算等价于频域中的乘法运算图像是一种特殊的图数据从网络连接方式来看,二者都是局部连接(大大减少了单层网络的计算复杂度)二者卷积核的权重是处处共享的(有效地避免过拟合现象的出现)从模型的层面来看,感受域随着卷积层的增加而增加。

qq_44935334的博客 7843

Vivado FIR Complier_IP核使用方法

文章依靠该IP核对应手册PG149写的,因为笔者需求简单,没有深入挖掘功能,可以自行下载学习。

2302_80180551的博客 3996

图神经网络系列(一)介绍及基本模型

前言 在计算机视觉以及自然语言处理领域中,现有的技术大多把原始输入表示为欧几里得数据 但是现实的处理问题当中还存在大量的非欧几里得数据,如社交多媒体网络数据,化学成分结构数据,生物基因蛋白数据以及知识图谱数据等等。图神经网络的出现为这些非欧几里得数据的处理提供了新的思路。 图(Graph) 图(graph)是数据结构和算法学中最强大的框架之一。图可以用来表现多种类型的结构或系统,在很多应用上都有...

sinat_16211087的博客 9190

机器视觉框架源码——解读5(Dock和开源UI)

本文介绍了工业软件中Dock工具面板的使用方法,主要包括三个部分:添加avalonDock引用、修改属性配置(如显示样式和背景色),以及通过MVVM命令实现布局的加载和保存。加载布局通过XmlLayoutSerializer从XML文件恢复界面状态,保存布局则将当前DockManager的布局序列化为XML文件。文章提供了代码示例和截图说明,帮助开发者快速掌握Dock面板的核心功能。

Z's Palace 404

YOLO环境配置+项目启动全流程(Conda+PyCharm超详解)

YOLO(You Only Look Once)是一个基于深度学习的目标检测算法,广泛应用于智能识别领域。本篇保姆级教学将手把手教你如何从零开始运行一个YOLO项目,适合完全没有基础的新手。

一键难忘的博客 1541

图神经网络和常见的神经网络的区别

exec函数0 前言1 为什么需要图神经网络?2 图神经网络是什么样子的?3 图神经网络的几个经典模型与发展4 无监督的节点表示学习(Unsupervised Node Representation)5 Graph Pooling 参考知乎:https://zhuanlan.zhihu.com/p/136521625 0 前言 图神经网络有很多比较好的综述: 1、Graph Neural Networks: A Review of Methods and Applications. 2、A Compre

→★佐佑思维★← 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

图神经网络基础--消息传递图神经网络

消息传递图神经网络

发呆的比目鱼的博客 2290

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

长文详解图神经网络

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要25分钟跟随小博主,每天进步一丢丢链接:https://zhuanlan.zhihu.com/p/108294485编辑:王萌 澳门...

zenRRan的博客 6447

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

图神经网络,这到底是个什么?

摘要:图神经网络是一种基于图结构的深度学习方法。 1、什么是图神经网络 图神经网络(Graph Neu做ral Networks, GNNs)是一种基于图结构的深度学习方法,从其定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是我们熟悉的深度学习NN结构,如MLP,CNN,RNN等。要了解图神经网络我们需要先回顾一下“图”和“神经网络”的基本概念。 1.1图的定义 1.2典型神经网络 典型的神经网络结构有两条主线,一条主线

华为云官方博客 9842
上一篇: 简单神经网络
下一篇: 注意力机制(1)
人生无根蒂,飘如陌上尘
博客等级 码龄9年 224粉丝 228原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值