MindSpore:【MindSpore易点通】MindSpore实践图神经网络01开篇

  • 图是一种结构化数据类型,由节点(nodes)和边(edges)组成,同时图本身也可以作为数据点。
    image-20220730211159482.png

  • 图是一种非欧几里得数据,这也意味着它们可以存在于3D中。与图像、文本和音频等其他数据类型不同,图数据具有不规则性和高复杂的邻接关系。
    image-20220730160014667.png

CV里的图像数据(左)和GNN中图数据(右)

  • 欧式空间中的卷积操作实际上是用固定大小可学习的卷积核来抽取像素的特征
  • 而图上邻居结点不固定,所以传统的卷积核不能直接用于抽取图上结点的特征

图神经网络

人工神经网络(简称NN)及其扩展族,包括卷积神经网络(CNN)、递归神经网络(RNN),以及现在的图神经网络(GNN)。CNN与RNN的操作数据是规则的序列(文本)和网格(图像)数据,应用对象单一且固定。

但是,现实世界中存在许多复杂系统,这些系统常常表现为复杂网络的形式,如社交网络,交通网络,蛋白质交互网络,由于这些复杂网络的不规则性,传统的神经网络很难直接应用于图数据。而GNN的出现,使得深度学习能够更好地处理图数据。GNN可以实现节点分类,链路预测,图分类等图相关的任务。
image-20220730155905239.png

图神经网络框架

几何深度学习揭示了如何在图形上使用深度学习。图神经网络GNN是几何深度学习的一部分,研究具有结构属性、拓扑性质的数据的学习和预测任务。图神经网络的每一个特征提取层都会对节点的特征和连接的特征进行更新,这种更新模式被叫作消息传递机制。

消息传递机制指的是要更新某一个点的特征,需要考虑周边和它相连的点的特征,这里就要用到消息函数。消息函数通常是由一个网络对节点和周边节点关系的刻画。然后用另一个网络整合周边节点信息,接着加和到这个节点本身的特征中,这两步更新模式就构成了一个基本的消息传递机制。其核心在于聚合邻居结点的信息
image-20220730160746386.png
消息传递机制示意图

MindSpore及环境配置(Windows11)

(1)安装Minicanda

  • 安装Minicanda,创建Python环境
# 创建环境
conda create --name py39_ms18 python=3.9.0
# 输入y

image-20220730205431024.png

# 切换到环境
conda activate py39_ms18

# 查看安装版本
python --version
# 3.9.0

# 更新环境
pip install --upgrade pip

image-20220730210338217.png

(2)安装MindSpore

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.8.0/MindSpore/cpu/x86_64/mindspore-1.8.0-cp39-cp39-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

image-20220730210621933.png

  • Linux版本(可选): Linux+CUDA101+Python39+MindSpore18
# CUDA101
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.8.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.8.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

# CPU
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.8.0/MindSpore/cpu/x86_64/mindspore-1.8.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

(3)验证是否安装成功

python -c "import mindspore;mindspore.run_check()"

image-20220730210946320.png

小结

本文首先介绍了图和图神经网络的基础概念,带领大家简单入门图学习相关的基本概念。图神经网络的出现使得深度学习能够在图结构数据上进行表征学习,这一突破促进了图表示学习的快速发展,并在社交网络分析,交通预测,推荐系统等领域得到广泛应用。

其次,针对实践所需的环境进行了安装和配置,主要是MindSpore的环境安装与配置。此次选择了在自己电脑上进行安装和搭建,MindSpore选择安装了最新1.8版本,正好也可以体验一下新功能特性。

本系列实践内容主要包含MindSpore的基础使用方法和GNN的实践两部分,第一部分主要介绍MindSpore的基本使用,第二部分主要是基于MindSpore实现一些基础的图神经网络模型。

posted @ 2022-08-11 16:53  Skytier  阅读(64)  评论(0编辑  收藏  举报