IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【GNN】GNN图神经网络工具箱的应用和matlab仿真 -> 正文阅读

[人工智能]【GNN】GNN图神经网络工具箱的应用和matlab仿真

1.软件版本

matlab2019a

2.系统概述

图神经网络(Graph Neural Network,GNN)是一种基于信息扩散机制的神经网络模型。在GNN模型中,其包括一组处理单元,每个处理单元的表示图中的一个节点,各个节点之间具有一定的连通性。当这些节点相互交换信息的时候,系统将逐渐收敛并达到平衡状态。

GNN图神经网络的输出由每个节点本地计算的单元状态获得。为保证GNN各个节点中平衡点的唯一性,需要对其扩散机制进行约束。GNNs不同于传统的细胞神经网络,其可以用于处理更一般的图类,例如各类循环图、有向图和无向图,GNNs还可以处理以节点为中心的系统模型,而无需对系统做任何预处理。

? ? ? 在图神经网络中,图的各个节点将被认为是目标对象,每一个目标对象通过各自的特征信息来关联其他目标的特征。然后通过顶点包含的信息以及其邻域的信息,如图1所示。

?

???????GNN图神经网络的处理过程包括状态更新,学习过程两个环节,下面对其主要处理过程进行原理介绍。

在GNN中,全局状态变量X(t+1)的迭代更新方式可以表示为:

?公式3中,对于任意个节点v其局部状态变量Xv(t+1)的迭代更新方式可以表示为:

在公式中,GNN其包含了一个编码网络,其结构如下图所示

?图2中,局部变换函数fw和局部输出函数gw的基本结构如图3所示。

? ? ? ?由图3可知,编码网络在结构上属于递归神经网络,其每一层网络结构对应一个时刻,并且包含编码网络所有单元的副本。不同时刻的两个层之间的网连接取决于编码网络的连接。神经元之间的连接可以分为内部连接和外部连接,内部连通性由用于实现该单元的神经网络结构决定,外部连接取决于处理图形的边缘。

? ? ? ? GNN的训练过程主要为权值参数w的估计过程,根据公式3可知,GNN的学习任务可以通过如下LOSS函数来表示:

?

3.GNN工具箱调用方法

% Mutagenesis example
clc;
clear;
close all;
warning off;
rng(1);

addpath 'GNN_1.1.c-master\comparisonNet\'
addpath 'GNN_1.1.c-master\datasets\'
addpath 'GNN_1.1.c-master\experiments\'
addpath 'GNN_1.1.c-master\initialization\'
addpath 'GNN_1.1.c-master\isomorphism\'
addpath 'GNN_1.1.c-master\MLP\'
addpath 'GNN_1.1.c-master\neuralNetworks\'
addpath 'GNN_1.1.c-master\private\'
addpath 'GNN_1.1.c-master\systemModels\'
addpath 'GNN_1.1.c-master\utils\'
addpath 'GNN_1.1.c-master\database\'
addpath 'GNN_1.1.c-master\'
startSession
% Create a 10-fold cross validation data set
makeMutagenicDataset
global multidata
% Train the GNN by only 1 data set
dataSet = multidata(1);

dataSet.trainSet

LEN=0.1;
Configure('GNN3.config')
learn

LEN=0.2;
Configure('GNN3.config')
learn

LEN=0.3;
Configure('GNN3.config')
learn

LEN=0.4;
Configure('GNN3.config')
learn

LEN=0.5;
Configure('GNN3.config')
learn

LEN=0.6;
Configure('GNN3.config')
learn

LEN=0.7;
Configure('GNN3.config')
learn

LEN=0.8;
Configure('GNN3.config')
learn

LEN=0.9;
Configure('GNN3.config')
learn

LEN=10;
Configure('GNN3.config')
learn
 
plotTrainingResults;
% Test
% test
close all;

t1=learning.history.forwardItHistory;
t2=learning.history.backwardItHistory;
KK=32;
for i = 1:length(t1);
    if i<=KK
       t1b(i)=mean(t1(1:i)); 
       t2b(i)=mean(t2(1:i)); 
    else
       t1b(i)=mean(t1(i-KK:i));  
       t2b(i)=mean(t2(i-KK:i));  
    end
end
figure;
plot(t1b,'b--'); 
hold on
plot(t2b,'r'); 
hold off
legend('Forward iterations', 'Backward iterations');   
xlabel('训练次数');
ylabel('训练误差%'); 

    

    
figure;
plot([1:size(learning.history.trainErrorHistory,2)],learning.history.trainErrorHistory/10,'b');
hold on
t=[learning.config.stepsForValidation:learning.config.stepsForValidation:...
    learning.config.stepsForValidation*(size(learning.history.validationErrorHistory,2))];
t(end)=learning.current.nSteps-1;  
% xlim([0,250]);    
xlabel('训练次数');    
ylabel('训练误差%');      
    
load data.mat%调用10次训练的结果
figure;
plot(X,ERR,'b-o');
xlabel('训练样本数量');
ylabel('训练误差%');
axis([1000,10000,0,40]);
grid on  
    

其中GNN工具箱内部代码列表如下:

4.仿真结论

?

5.参考文献

[1]Gnana J B , Rani S M M . Graph Neural Network for Minimum Dominating Set[J]. International Journal of Com- puter Applications, 2012, 56(1):12-16.A05-87

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-23 00:53:40  更:2022-06-23 00:53:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:27:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码