【Pytorch神经网络理论篇】 29 图卷积模型的缺陷+弥补方案

简介: 多层全连接神经网络被称为万能的拟合神经网络。先在单个网络层中用多个神经元节点实现低维的数据拟合,再通过多层叠加的方式对低维拟合能力进行综合,从而在理论上实现对任意数据的特征拟合。

同学你好!本文章于2021年末编写,获得广泛的好评!


故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现,


Pytorch深度学习·理论篇(2023版)目录地址为:


CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录

本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!

https://v9999.blog.csdn.net/article/details/127587345


欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~

815902569f6a467a99304f9ac1482386.png


图卷积模型在每个全连接网络层的结果中加入了样本间的特征计算。其述质是依赖深度学特征与缺陷。


2e1c79faa4704353357c38d6696c6af0.jpg


1.1 全连接网络的特征与缺陷


多层全连接神经网络被称为万能的拟合神经网络。先在单个网络层中用多个神经元节点实现低维的数据拟合,再通过多层叠加的方式对低维拟合能力进行综合,从而在理论上实现对任意数据的特征拟合。


4a97be1275f54818adf494cba15f1dae.png


图10-12左侧的两幅图表示前一层的两个神经元节点将数据在各自的直角坐标系中分成了两类。


图10-12中右侧的图表示后一层神经元将前一层的两个神经元结果融合到一起,实现最终的分类结果。


1.1.1 缺陷①:容易过拟合


从理论上来讲,如果全连接神经网络的层数和节点足够多,那么可以对任意数据进行拟合。然而,这一问题又会带来模型的过拟合问题。全连接神经网络不但会对正常的数据进行拟合,而且会对训练中的批次、样本中的噪声、样本中的非主要特征属性等进行拟合。这会使模型仅能使用在训练数据集上,无法用在类似于训练数据集的其他数据集上。


1.1.2 缺陷②:模型过大且不容易训练


目前,训练模型的主要方法都是反向链式求导,这使得全连接神经网络一旦拥有过多层数,就很难训练出来(一般只能支持6层以内)。即使使用BN分布式逐层训练等方式保证了多层训练的可行性,也无法承受模型中过多的参数带来的计算压力和对模型运行时的算力需求。


1.2 图卷积模型的缺陷(依赖于全连接网络的图模型的通病)


图卷积只是按照具有顶点关系信息的卷积核在每层的全连接网络上额外做一次过滤。


因为在图卷积模型中,也使用反向链式求导的方式进行训练,对图卷积模型深度的支持一般也只能到6层。


图卷积模型在层数受限的同时,也会存在参数过多且容易过拟合的问题。该问题也存在于GAT模型中。


1.3 弥补图卷积模型缺陷的方法(与全连接网络相同)


1.3.1 图卷积模型的层数受限


使用BN、分布式逐层训练等方法


1.3.2 图卷积模型容易出现过拟合


可以使用Dropout、正则化等方法,BN也有提高泛化能力的功能。


1.3.3 参数过多


使用卷积操作代替全连接的特征计算部分,使用参数共享来减小权重。


1.3.4 使用更好的模型


在图神经网络领域,还有一些更好的模型(例如SGC、GfNN和DGl等模型)。它们利用图的特性,从结构上对图卷积模型进行了进一步的优化,在修复图卷积模型原有缺陷的同时,又表现出了更好的性能。


1.4 从图结构角度理解图卷积原理及缺陷


图卷积模型的缺陷,其思路是将图结构数据当作矩阵数据,在规整的矩阵数据基础之上融合深度学习的计算方法。


在DGL库中实现的图卷积方法是基于图结构(空间域)的方式进行处理的。从效率角度来看,这样做有更大的优势,也更符合图计算的特点。


从基于图顶点传播的角度来看,图神经网络的过程可以理解为:基于顶点的局部邻居信息对顶点进行特征聚合,即将每个顶点及其周围顶点的信息聚合到一起以覆盖原顶点。


1.4.1 图神经网络的计算过程


如下图所示,描述目标顶点A在图神经网络中的计算过程:对于每一次计算,目标顶点A都对周围顶点特征执行一次聚合操作(任意深度)。


50bb532e95974e3bb68bf98515e81645.png


1.4.2 图卷积神经网络无法搭建过多层的原因


图卷积神经网络可以理解为每次执行聚合操作时都要对特征进行一次全连接的变换,并对聚合后的结果取平均值。层数过深会导致每个顶点对周围邻居的聚合次数过多。这种做法会导致所有顶点的值越来越相似,最终会收敛到同一个值,无法区分每个顶点的个性特征。


1.4.3 图注意力机制也存在无法搭建过多层的情况


图注意力机制中与图卷积的结构几乎一致,只不过是在顶点聚合的过程中对邻居顶点加入了一个权重比例。


e23b4b6182064456b82bd45d8a587f49.png

目录
相关文章
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
401 2
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
336 1
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
11月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
1064 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
525 60
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.0性能优化实战:4种常见代码错误严重拖慢模型
我们将深入探讨图中断(graph breaks)和多图问题对性能的负面影响,并分析PyTorch模型开发中应当避免的常见错误模式。
612 9
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
545 57
|
10月前
|
边缘计算 人工智能 PyTorch
130_知识蒸馏技术:温度参数与损失函数设计 - 教师-学生模型的优化策略与PyTorch实现
随着大型语言模型(LLM)的规模不断增长,部署这些模型面临着巨大的计算和资源挑战。以DeepSeek-R1为例,其671B参数的规模即使经过INT4量化后,仍需要至少6张高端GPU才能运行,这对于大多数中小型企业和研究机构来说成本过高。知识蒸馏作为一种有效的模型压缩技术,通过将大型教师模型的知识迁移到小型学生模型中,在显著降低模型复杂度的同时保留核心性能,成为解决这一问题的关键技术之一。
832 6
|
10月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
11月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
670 2

热门文章

最新文章

推荐镜像

更多