《学习geometric deep learning笔记系列》第一篇,Non-Euclidean Structure Data之我见
FesianXu at UESTC

前言

本文是笔者在学习Geometric deep learning的过程中的一些笔记和想法,较为零散,主要纪录了非欧几里德结构数据和欧几里德结构数据之间的区别,后续会引出图卷积网络模型。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明并且联系笔者,谢谢

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

QQ: 973926198

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号


总的来说,数据类型可以分为两大类,分别是:欧几里德结构数据(Euclidean Structure Data) 以及 非欧几里德结构数据(Non-Euclidean Structure Data),接下来谈自己对这两类数据的认识。

欧几里德结构样本

在我们日常生活中,最常见到的媒体介质莫过于是图片(image)视频(video)以及语音(voice)了,这些数据有一个特点就是:“排列整齐”。什么叫做排列整齐呢?举例子来说,图片可以用矩阵来表达其像素,就如同下图所示[2]:

Fig 1. 欧几里德结构数据示例。

对于某个节点,我们很容易可以找出其邻居节点,就在旁边嘛,不偏不倚。而且,图片数据天然的,节点和邻居节点有着统计上的相关性,因此能够找出邻居节点意味着可以很容易地定义出卷积这个操作出来,而我们在深度学习的过程中知道,卷积这个操作是提取局部特征以及层次全局特征的利器,因此图片可以很容易定义出卷积操作出来,并且在深度网络中进行进一步操作。

而且,因为这类型的数据排列整齐,不同样本之间可以容易的定义出“距离”这个概念出来。我们且思考,假设现在有两个图片样本,尽管其图片大小可能不一致,但是总是可以通过空间下采样的方式将其统一到同一个尺寸的,然后直接逐个像素点进行相减后取得平方和,求得两个样本之间的欧几里德距离是完全可以进行的。如下式所见:
d ( s i , s j ) = 1 2 ∣ ∣ s i − s j ∣ ∣ 2 (1) d(\mathbf{s_i}, \mathbf{s_j}) = \dfrac{1}{2}||\mathbf{s_i}-\mathbf{s_j}||^2 \tag{1} d(si,sj)=21sisj2(1)
因此,不妨把图片样本的不同像素点看成是高维欧几里德空间中的某个维度,因此一张 m × n m \times n m×n的图片可以看成是 m × n m \times n m×n维的欧几里德样本空间中的一个点,而不同样本之间的距离就体现在了样本点之间的距离了。

这就是称之为欧几里德结构数据的原因了。 同样的,视频可以在时间轴上进行采样做到统一的目的,而音频也是一样的。因此它们都是符合欧几里德距离定义的类型的样本。

非欧几里德结构样本

非欧几里德结构的样本总得来说有两大类型[1],分别是图(Graph)数据[3]和流形数据[4],如Fig 2和Fig 3所示:

Fig 2. 图结构数据是典型的非欧几里德结构数据。

Fig 3. 流形数据也是典型的非欧几里德结构数据。

这两类数据有个特点就是,排列不整齐,比较的随意。具体体现在:对于数据中的某个点,难以定义出其邻居节点出来,或者是不同节点的邻居节点的数量是不同的[5],这个其实是一个特别麻烦的问题,因为这样就意味着难以在这类型的数据上定义出和图像等数据上相同的卷积操作出来,而且因为每个样本的节点排列可能都不同,比如在生物医学中的分子筛选中,显然这个是一个Graph数据的应用,但是我们都明白,不同的分子结构的原子连接数量,方式可能都是不同的,因此难以定义出其欧几里德距离出来,这个是和我们的欧几里德结构数据明显不同的。因此这类型的数据不能看成是在欧几里德样本空间中的一个样本点了,而是要想办法将其嵌入(embed)到合适的欧几里德空间后再进行度量。而我们现在流行的Graph Neural Network便可以进行这类型的操作。这就是我们的后话了。


另外,欧几里德结构数据所谓的“排列整齐”也可以视为是一种特殊的非欧几里德结构数据,比如说是一种特殊的Graph数据,如下图所示[5]:

Fig 4. 即便是欧几里德结构数据,也可以视为是特殊形式的非欧几里德结构数据。

因此,用Graph Neural Network的方法同样可以应用在欧几里德结构数据上,比如文献[6]中report的结果来看,的确这样是可行的。事实上,只要是赋范空间中的数据,都可以建立数据节点与数据节点之间的某种关联,都可以尝试用非欧几里德结构数据的深度方法进行实验。[7]

那么什么叫做赋范空间中的数据呢?赋范空间,指的就是定义了范数的向量空间,我认为,指的是数据中的每个样本的单元的特征维度都是一致的,比如,一张图片的像素一般都是RGB三个维度的,不同像素之间可以进行求范数的操作,再比如,一个Graph上的某个节点和另外一个节点的维度都是相同的,因此也可以定义出范数出来。不过这个是我一家之言,如有其他见解,请在评论区指出。

Fig 5. 在传统的图片上利用图神经网络进行分类,可以达到接近传统CNN方法的效果。意味着欧几里德结构数据也可以通过某种形式,用非欧几里德结构数据模型建模。

该系列的后续

  1. 《Geometric Deep Learning学习笔记》第二篇, 在Graph上定义卷积操作,图卷积网络

  2. 《Geometric Deep Learning学习笔记》第三篇,GCN的空间域理解,Message Passing以及其含义


Reference

[1]. Bronstein M M, Bruna J, LeCun Y, et al. Geometric deep learning: going beyond euclidean data[J]. IEEE Signal Processing Magazine, 2017, 34(4): 18-42.
[2]. https://www.zhihu.com/question/54504471
[3]. https://en.wikipedia.org/wiki/Graph
[4]. https://en.wikipedia.org/wiki/Manifold
[5]. Niepert M, Ahmed M, Kutzkov K. Learning convolutional neural networks for graphs[C]//International conference on machine learning. 2016: 2014-2023.
[6]. Defferrard M, Bresson X, Vandergheynst P. Convolutional neural networks on graphs with fast localized spectral filtering[C]//Advances in neural information processing systems. 2016: 3844-3852.
[7]. https://www.zhihu.com/question/54504471

《学习geometric deep learning笔记系列》第一篇,Non-Euclidean Structure Data之我见相关推荐

  1. angularjs学习第四天笔记(第一篇:简单的表单验证)

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  2. 几何深度学习(Geometric Deep Learning)技术

    几何深度学习(Geometric Deep Learning)技术 几何深度学习综述 从论文Geometric Deep Learning: Grids, Groups, Graphs, Geodes ...

  3. grad在python什么模块_深度学习(Deep Learning)基础概念1:神经网络基础介绍及一层神经网络的python实现...

    此专栏文章随时更新编辑,如果你看到的文章还没写完,那么多半是作者正在更新或者上一次没有更新完,请耐心等待,正常的频率是每天更新一篇文章. 该文章是"深度学习(Deep Learning)&q ...

  4. 【深度学习(deep learning)】花书第10章 序列建模:循环和递归网络 读书笔记

    [深度学习(deep learning)]花书第10章 序列建模:循环和递归网络 读书笔记 第10章 序列建模:循环和递归网络 [深度学习(deep learning)]花书第10章 序列建模:循环和 ...

  5. 小白学习Flink系列--第一篇(知识图谱)

    小白学习Flink系列–第一篇(知识图谱) 如何学习Flink? ​ 对于一门计算机技术来说,如何快速学习上手呢?具体的逻辑是什么呢?我认为有以下几条 了解技术的应用场景 技术的基本概念,如何使用,以 ...

  6. 【深度学习(deep learning)】花书第12章 应用 读书笔记

    [深度学习(deep learning)]花书第12章 应用 读书笔记 第12章 应用 [深度学习(deep learning)]花书第12章 应用 读书笔记 前言 一.大规模深度学习 1.快速的CP ...

  7. Geometric deep learning: going beyond Euclidean data译文

    Geometric deep learning: going beyond Euclidean data(几何深度学习:超越欧几里得数据) 摘要: 许多科学领域研究具有非欧几里德空间的底层结构的数据. ...

  8. Deep learning笔记

    Deep learning:一(基础知识_1) 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处. 前言: 最近打算稍微系统的学习下de ...

  9. 2022-ICML-EquiBind: Geometric Deep Learning for Drug Binding Structure Prediction

    2022-ICML-EquiBind: Geometric Deep Learning for Drug Binding Structure Prediction Paper: https://arx ...

最新文章

  1. 程序员必备的代码审查(Code Review)清单
  2. android u盘拷贝文件大小,用手机U盘备份或导出手机文件,还能扩容
  3. 设计模式C++实现——观察者模式
  4. CSS文件添加 @charset utf-8; 可能会引起样式在IE6下失效
  5. RabbitMQ绑定(bindings)
  6. WPF and Silverlight 学习笔记(六):WPF窗体
  7. Monitor 监测CPU与内存
  8. linux操作系统学什么,Linux学习-第一天-什么是操作系统
  9. ko学习二,绑定语法
  10. LeetCode-14.最长公共前缀(字符串的erase()函数)
  11. 求oracle学习资料(最好是视频)
  12. SPSS处理bicomb矩阵——打开txt文件只有输出文档界面显示正在运行GET DATA,并不占用cpu,原因是编码格式不匹配
  13. 二维码批量生成系统 windows的exe 程序执行 二维码工具 解压直接使用
  14. ECCV2022 | 开源:基于可分离级联查找表的实时图像增强方法
  15. Jquery点击切换播放不同的Flv视频文件
  16. 计算机演示题打不开,win10系统计算机文件打不开的修复教程
  17. C++(常函数、常对象)
  18. 微信小程序全局配置分享指定标题、图片、路径
  19. 美团点评暑期实习个人总结
  20. spark程序运行异常:java.lang.OutOfMemoryError: GC overhead limit exceeded

热门文章

  1. Don‘t Cry Over Spilt Milk
  2. 启明星辰产品解读_堡垒机
  3. watch 和mounted 执行顺序
  4. 无线WiFi安全渗透与攻防(一)之无线安全环境搭建
  5. 【jquery事件】
  6. epub与txt的区别是什么?有什么好用的epub阅读器
  7. 【快应用】account.authorize授权码模式登录报错1102
  8. 解决MySQL远程过程调用失败
  9. 博士年薪22-40万,重点大学博士给100㎡产权房,安家费30-40万,省会城市高校 | 留言送书...
  10. 计算机毕业设计php小说阅读网站