图神经网络通用框架 —— NLNN非局部神经网络

简介: 图神经网络通用框架 —— NLNN非局部神经网络

前言

大家好,我是阿光。

本专栏整理了《图神经网络》,内包含了不同图神经网络的原理以及相关代码实现,详细讲解图神经网络,理论与实践相结合,如GCN、GraphSAGE、GAT等经典图网络,每一个代码实例都附带有完整的代码+数据集。

正在更新中~ ✨

🚨 我的项目环境:

  • 平台:Windows10
  • 语言环境:python3.7
  • 编译器:PyCharm
  • PyTorch版本:1.11.0
  • PyG版本:2.1.0

💥 项目专栏:【入门图神经网络】


一、NLNN

在图像任务当中,常用卷积运算CNN来进行提取图像的纹理信息,每个卷积核通过共享参数来处理一张图像的局部特征,如果要提取更大的物体信息,那么就需要通过增大卷积核以及不断堆叠大的卷积核来实现。

对于文本任务,常用循环神经网络RNN来提取语义信息,想要捕捉高层次的语义信息就需要捕捉长时间依赖,也就是要考虑长文本信息。

这二者都是在处理局部淋雨信息,无法捕捉全局以及长程依赖关系,目前提出了NLNN非局部神经网络,能够将非本地操作作为捕获长程依赖关系的通用构建块族。受计算机视觉中经典的非局部均值方法的启发,非局部运算将一个位置处的响应计算为所有位置处特征的加权和。类似于自我注意里模块,处理每个位置的信息是考虑所有能够考虑位置的信息。

二、非局部神经网络层

该文章作者根据非局部平均运算,提出了一般非局部运算定义:

image.png

上面的 C(x) 代表归一化因子,因为信息聚合求和后会导致数据规模不一致,xixj 分别代表当前位置特征信息和其它位置的特征信息,f ( x i , x j ) f(x_i,x_j)f(xi,xj) 是一个函数能够通过两个x计算出对应的相似性分数,这个可以看成自注意力机制模块中的注意力分数,就是不同特征之间的关联程度,g ( x j ) g(x_j)g(xj) 是将 x j x_jxj 进行特征变换。

2.1 f ff 函数

image.png

该式子是高斯函数,作者提出的f函数实例,就是通过两个特征向量计算出一个标量,x i T x j x_i^Tx_jxiTxj 是通过点积计算相似度,因为点积这个模块很容易实现,同时归一化因子定义为 C(x)=jf(xi,xj)

image.png

该式子是嵌入高斯函数,与普通高斯不同的是在计算相似度之前通过一个可学习的W矩阵进行了映射。

2.2 g gg 函数

image.png

对于g 函数就是一个普通的MLP网络块,其中Wg 是一个可学习的参数矩阵,将原始输入特征映射到一个新的特征空间。

三、非局部网络块

作者在上述基础上提出了一个非局部网络块,为了能够将其封装到一个非本地块中,该块可以并入许多现有架构中。

image.png

上面的yi 就是yi=C(x)1jf(xi,xj)g(xj),然后使用了 W z W_zWz 进行特征映射,然后又加了一个 x i x_ixi ,这是一个残差结构,在非局部网络层的基础上加上原始输入,使用残差连接允许非局部网络块可以插入到任何预训练的模型中,而不会破坏模型参数,如果该层残差无效,只需要将 W z W_zWz 初始化为0即可。


目录
相关文章
|
3月前
|
机器学习/深度学习 算法 量子技术
GQNN框架:让Python开发者轻松构建量子神经网络
为降低量子神经网络的研发门槛并提升其实用性,本文介绍一个名为GQNN(Generalized Quantum Neural Network)的Python开发框架。
80 4
GQNN框架:让Python开发者轻松构建量子神经网络
|
1月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
|
1月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
185 0
|
1月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
|
4月前
|
机器学习/深度学习 API TensorFlow
BayesFlow:基于神经网络的摊销贝叶斯推断框架
BayesFlow 是一个基于 Python 的开源框架,利用摊销神经网络加速贝叶斯推断,解决传统方法计算复杂度高的问题。它通过训练神经网络学习从数据到参数的映射,实现毫秒级实时推断。核心组件包括摘要网络、后验网络和似然网络,支持摊销后验估计、模型比较及错误检测等功能。适用于流行病学、神经科学、地震学等领域,为仿真驱动的科研与工程提供高效解决方案。其模块化设计兼顾易用性与灵活性,推动贝叶斯推断从理论走向实践。
156 7
BayesFlow:基于神经网络的摊销贝叶斯推断框架
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
238 17
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
196 10
|
10月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
208 10
|
10月前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章