MindSpore实践图神经网络01开篇

举报
孙小北 发表于 2022/07/30 21:24:53 2022/07/30
【摘要】 本文主要介绍了图和图神经网络的基础概念,以及MindSpore的环境安装与配置。本系列实践内容包含MindSpore的基础使用方法和GNN的实践过程。

  • 图是一种结构化数据类型,由节点(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的基础使用方法和GNN的实践过程。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。