什么是机器学习、深度学习、图神经网络?
人工智能是追求目标,机器学习是实现手段,深度学习是其中一种方法。
1 机器学习
机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达。需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化(Generalization)能力。
1.1 机器学习步骤
1.2 机器学习路线图
机器学习是一个庞大的家族体系,涉及众多算法,任务和学习理论,下图是机器学习的学习路线图。
*参考资料:https://blog.csdn.net/hohaizx/category_7207750.html
2 深度学习
深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言处理领域。
2.1 深度学习与机器学习的区别
机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识。
深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,将数据从一层传递到另一层来构建更复杂的模型。通过训练大量数据自动得出模型,不需要人工特征提取环节。
2. 数据量和计算性能要求
深度学习需要的执行时间远多少于机器学习,深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数。
第一、深度学习需要大量的训练数据集;第二、训练深度神经网络需要大量的算力,可能要花费数天、甚至数周的时间,才能使用数百万张图像的数据集训练出一个深度网络。所以深度学习通常需要强大的GPU服务器来进行计算,需要全面管理的分布式训练与预测服务——比如谷歌 TensorFlow 云机器学习平台。
3. 算法代表
机器学习
朴素贝叶斯、决策树等
深度学习
神经网络
2.2 深度学习模型、训练过程和应用简述
1. 典型的深度学习模型
卷积神经网络( convolutional neural network)、深度信任网络模型(DBN)、堆栈自编码网络(stacked auto-encoder network)模型等。
2. 深度学习训练过程包括有自下上升的非监督学习和自顶向下的监督学习。
(1) 自下上升的非监督学习
就是从底层开始,一层一层地往顶层训练。采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,这也是和传统神经网络区别最大的部分,可以看作是特征学习过程。具体的,先用无标定数据训练第一层,训练时先学习第一层的参数,这层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层,由于模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到n-l层后,将n-l层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。 [6]
张荣, 李伟平, 莫同. 深度学习研究综述[J]. 信息与控制, 2018, v.47(04):5-17+30.
郭元祥. 深度学习:本质与理念[J]. 新教师, 2017, 000(007):11-14.
3 图神经网络
3.1 有哪些图神经网络?
3.2 图卷积网络(Graph Convolution Networks,GCN)
在下面,我们分别简单介绍了基于频谱的GCN和基于空间的GCN。
在基于频谱的图神经网络中,图被假定为无向图,无向图的一种鲁棒数学表示是正则化(规范化)图拉普拉斯矩阵,即
正则化图拉普拉斯矩阵具有实对称半正定的性质。利用这个性质,正则化拉普拉斯矩阵可以分解为:
U是由L的特征向量构成的矩阵,是对角矩阵,对角线上的值为L的特征值。正则化拉普拉斯矩阵的特征向量构成了一组正交基(U中的特征向量/每一列是正交的)。
为了更好地理解图的傅里叶变换,从它的定义我们可以看出,它确实将输入图信号投影到正交空间,在正交空间中,基由正则化图拉普拉斯矩阵L的特征向量构成。
转换后得到的信号的元素是新空间(正交空间)中图信号的坐标,因此原来的输入信号可以表示为:
其中,是我们定义的滤波器;表示Hadamard product(对应位置元素相乘)。
基于频谱的图卷积网络都遵循这样的模式,它们之间关键的不同点在于选择的滤波器不同。
基于频谱的图卷积神经网络方法的一个常见缺点是,它们需要将整个图加载到内存中以执行图卷积,这在处理大型图时是不高效的。
在一般性方面,基于频谱的模型假定一个固定的图,使得它们很难在图中添加新的节点。另一方面,基于空间的模型在每个节点本地执行图卷积,可以轻松地在不同的位置和结构之间共享权重。
3.3 图注意力网络(Graph Attention Networks)
注意力机制如今已经被广泛地应用到了基于序列的任务中,它的优点是能够放大数据中最重要的部分的影响。这个特性已经被证明对许多任务有用,例如机器翻译和自然语言理解。如今融入注意力机制的模型数量正在持续增加,图神经网络也受益于此,它在聚合过程中使用注意力,整合多个模型的输出,并生成面向重要目标的随机行走。在本节中,我们将讨论注意力机制如何在图结构数据中使用。
- Graph Attention Network(GAT)
图注意力网络(GAT)是一种基于空间的图卷积网络,它的注意机制是在聚合特征信息时,将注意机制用于确定节点邻域的权重。GAT的图卷积运算定义为:
其中α(·)是一个注意力函数,它自适应地控制相邻节点j对节点i的贡献。为了学习不同子空间中的注意力权重,GAT还可以使用多注意力:
- Gated Attention Network(GAAN)
门控注意力网络(GAAN)还采用了多头注意力机制来更新节点的隐藏状态。然而,GAAN并没有给每个head部分配相等的权重,而是引入了一种自注意机制,该机制为每个head计算不同的权重。更新规则定义为,
其中 是反馈神经网络,而是第k个注意力head的注意力权重.
- Graph Attention Model(GAM)
图形注意力模型(GAM)提供了一个循环神经网络模型,以解决图形分类问题,通过自适应地访问一个重要节点的序列来处理图的信息。GAM模型被定义为:
其中,是一个LSTM网络,是一个step network,它会优先访问当前节点优先级高的邻居并将它们的信息进行聚合。
除了在聚集特征信息时将注意力权重分配给不同的邻居节点,还可以根据注意力权重将多个模型集合起来,以及使用注意力权重引导随机行走。尽管GAT和GAAN在图注意网络的框架下进行了分类,但它们也可以同时被视为基于空间的图形卷积网络。GAT和GAAN的优势在于,它们能够自适应地学习邻居的重要性权重。然而,计算成本和内存消耗随着每对邻居之间的注意权重的计算而迅速增加。
3.4 Graph Autoencoders
图自动编码器是一类图嵌入方法,其目的是利用神经网络结构将图的顶点表示为低维稠密向量。典型的解决方案是利用多层感知机作为编码器来获取节点嵌入,其中解码器重建节点的邻域统计信息,如positive pointwise mutual information (PPMI)或一阶和二阶近似值。最近,研究人员已经探索了将GCN作为编码器的用途,将GCN与GAN结合起来,或将LSTM与GAN结合起来设计图自动编码器。我们将首先回顾基于GCN的AutoEncoder,然后总结这一类别中的其他变体。
目前基于GCN的自编码器的方法主要有:Graph Autoencoder (GAE)和Adversarially Regularized Graph Autoencoder (ARGA)
图自编码器的其它变体有:
Network Representations with Adversarially Regularized Autoencoders (NetRA)
Deep Neural Networks for Graph Representations (DNGR)
Structural Deep Network Embedding (SDNE)
Deep Recursive Network Embedding (DRNE)
DNGR和SDNE学习仅给出拓扑结构的节点嵌入,而GAE、ARGA、NetRA、DRNE用于学习当拓扑信息和节点内容特征都存在时的节点嵌入。图自动编码器的一个挑战是邻接矩阵A的稀疏性,这使得解码器的正条目数远远小于负条目数。为了解决这个问题,DNGR重构了一个更密集的矩阵,即PPMI矩阵,SDNE对邻接矩阵的零项进行惩罚,GAE对邻接矩阵中的项进行重加权,NetRA将图线性化为序列。
3.5 Graph Generative Networks
图生成网络的目标是在给定一组观察到的图的情况下生成新的图。图生成网络的许多方法都是特定于领域的。例如,在分子图生成中,一些工作模拟了称为SMILES的分子图的字符串表示。在自然语言处理中,生成语义图或知识图通常以给定的句子为条件。最近,人们提出了几种通用的方法。一些工作将生成过程作为节点和边的交替形成因素,而另一些则采用生成对抗训练。这类方法要么使用GCN作为构建基块,要么使用不同的架构。
基于GCN的图生成网络主要有:
Molecular Generative Adversarial Networks (MolGAN):将relational GCN、改进的GAN和强化学习(RL)目标集成在一起,以生成具有所需属性的图。GAN由一个生成器和一个鉴别器组成,它们相互竞争以提高生成器的真实性。在MolGAN中,生成器试图提出一个伪图及其特征矩阵,而鉴别器的目标是区分伪样本和经验数据。此外,还引入了一个与鉴别器并行的奖励网络,以鼓励生成的图根据外部评价器具有某些属性。
Deep Generative Models of Graphs (DGMG):利用基于空间的图卷积网络来获得现有图的隐藏表示。生成节点和边的决策过程是以整个图的表示为基础的。简而言之,DGMG递归地在一个图中产生一个节点,直到达到某个停止条件。在添加新节点后的每一步,DGMG都会反复决定是否向添加的节点添加边,直到决策的判定结果变为假。如果决策为真,则评估将新添加节点连接到所有现有节点的概率分布,并从概率分布中抽取一个节点。将新节点及其边添加到现有图形后,DGMG将更新图的表示。
其它架构的图生成网络主要有:
GraphRNN:通过两个层次的循环神经网络的深度图生成模型。图层次的RNN每次向节点序列添加一个新节点,而边层次RNN生成一个二进制序列,指示新添加的节点与序列中以前生成的节点之间的连接。为了将一个图线性化为一系列节点来训练图层次的RNN,GraphRNN采用了广度优先搜索(BFS)策略。为了建立训练边层次的RNN的二元序列模型,GraphRNN假定序列服从多元伯努利分布或条件伯努利分布。
NetGAN:Netgan将LSTM与Wasserstein-GAN结合在一起,使用基于随机行走的方法生成图形。GAN框架由两个模块组成,一个生成器和一个鉴别器。生成器尽最大努力在LSTM网络中生成合理的随机行走序列,而鉴别器则试图区分伪造的随机行走序列和真实的随机行走序列。训练完成后,对一组随机行走中节点的共现矩阵进行正则化,我们可以得到一个新的图。
3.6 Graph Spatial -Temporal Networks
图时空网络同时捕捉时空图的时空相关性。时空图具有全局图结构,每个节点的输入随时间变化。例如,在交通网络中,每个传感器作为一个节点连续记录某条道路的交通速度,其中交通网络的边由传感器对之间的距离决定。图形时空网络的目标可以是预测未来的节点值或标签,或者预测时空图标签。最近的研究仅仅探讨了GCNs的使用,GCNs与RNN或CNN的结合,以及根据图结构定制的循环体系结构。
目前图时空网络的模型主要有:
Diffusion Convolutional Recurrent Neural Network (DCRNN)
CNN-GCN
Spatial Temporal GCN (ST-GCN)
Structural-RNN
3.7 图神经网络的应用
- Computer Vision
图形神经网络的最大应用领域之一是计算机视觉。研究人员在场景图生成、点云分类与分割、动作识别等多个方面探索了利用图结构的方法。
在场景图生成中,对象之间的语义关系有助于理解视觉场景背后的语义含义。给定一幅图像,场景图生成模型检测和识别对象,并预测对象对之间的语义关系。另一个应用程序通过生成给定场景图的真实图像来反转该过程。自然语言可以被解析为语义图,其中每个词代表一个对象,这是一个有希望的解决方案,以合成给定的文本描述图像。
在点云分类和分割中,点云是激光雷达扫描记录的一组三维点。此任务的解决方案使激光雷达设备能够看到周围的环境,这通常有利于无人驾驶车辆。为了识别点云所描绘的物体,将点云转换为k-最近邻图或叠加图,并利用图论进化网络来探索拓扑结构。
在动作识别中,识别视频中包含的人类动作有助于从机器方面更好地理解视频内容。一组解决方案检测视频剪辑中人体关节的位置。由骨骼连接的人体关节自然形成图表。给定人类关节位置的时间序列,应用时空神经网络来学习人类行为模式。
此外,图形神经网络在计算机视觉中应用的可能方向也在不断增加。这包括人-物交互、少镜头图像分类、语义分割、视觉推理和问答等。
- Recommender Systems
基于图的推荐系统以项目和用户为节点。通过利用项目与项目、用户与用户、用户与项目之间的关系以及内容信息,基于图的推荐系统能够生成高质量的推荐。推荐系统的关键是评价一个项目对用户的重要性。因此,可以将其转换为一个链路预测问题。目标是预测用户和项目之间丢失的链接。为了解决这个问题,有学者提出了一种基于GCN的图形自动编码器。还有学者结合GCN和RNN,来学习用户对项目评分的隐藏步骤。
- Traffic
交通拥堵已成为现代城市的一个热点社会问题。准确预测交通网络中的交通速度、交通量或道路密度,在路线规划和流量控制中至关重要。有学者采用基于图的时空神经网络方法来解决这些问题。他们模型的输入是一个时空图。在这个时空图中,节点由放置在道路上的传感器表示,边由阈值以上成对节点的距离表示,每个节点都包含一个时间序列作为特征。目标是预测一条道路在时间间隔内的平均速度。另一个有趣的应用是出租车需求预测。这有助于智能交通系统有效利用资源,节约能源。
- Chemistry
在化学中,研究人员应用图神经网络研究分子的图结构。在分子图中,原子为图中的节点,化学键为图中的边。节点分类、图形分类和图形生成是分子图的三个主要任务,它们可以用来学习分子指纹、预测分子性质、推断蛋白质结构、合成化合物。
- Others
除了以上四个领域外,图神经网络还已被探索可以应用于其他问题,如程序验证、程序推理、社会影响预测、对抗性攻击预防、电子健康记录建模、脑网络、事件检测和组合优化。
*参考资料:https://blog.csdn.net/sdu_hao/category_9626807.html
什么是机器学习、深度学习、图神经网络?相关推荐
- 机器学习/深度学习/图机器学习 学习小结
目录 前言 学习小结 一.机器学习部分 二.深度学习部分 三.图神经网络 概念清晰!概念清晰!概念清晰! 磨刀不误砍柴工! 最难的是开始,最简单的也是开始! 前言 历时将近一年吧,因为疫情原因在家,终 ...
- 深度学习-强化学习-图神经网络-自然语言处理等AI课程超级大列表-最新版
本篇文章内容整理自网络,汇集了大量关于深度学习.强化学习.机器学习.计算机视觉.语音识别.强化学习.图神经网络和自然语言处理相关的各种课程.之前分享过一次,经过一年的更新,又补充了很多2019.202 ...
- 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本篇博文主要为大家介绍一个课程网站,汇集了机器学习,深度学习.强化学习的各个方面, ...
- 人工智能、机器学习、深度学习和神经网络的区别
人工智能 背景:人工智能最初可以追溯至1956年,当时多名计算机科学家在达特茅斯会议上共同提出了人工智能的概念.在随后几十年中,人工智能一方面被认为是人类文明未来的发展方向,另一方面也被认为是难以企及 ...
- 机器学习——深度学习之卷积神经网络(CNN)——AlexNet卷积神经网络结构
目录 一.AlexNet卷积神经网络结构模型 1.数据库ImageNet 2.AlexNet第一层卷积层 二.AlexNet卷积神经网络的改进 1.非线性变化函数的改变--ReLU 2.最大池化(Ma ...
- 机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构
目录 一.卷积神经网络 1.卷积神经的作用 2.LeNet 1)数据库准备--minst 2)模型· 二.关于卷积神经网络结构的一些术语定义 1.特征图(Feature map) 2.height(长 ...
- 机器学习、深度学习、神经网络学习资料集合(开发必备)
最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...
- AI:人工智能领域主要方向(技术和应用)、与机器学习/深度学习的关系、数据科学关键技术与知识发现/数据挖掘/统计学/模式识别/神经计算学/数据库的关系(几张图理清之间的暧昧关系)
AI:人工智能领域主要方向(技术和应用).与机器学习/深度学习的关系.数据科学关键技术与知识发现/数据挖掘/统计学/模式识别/神经计算学/数据库的关系(几张图理清之间的暧昧关系) 目录 人工智能主要领 ...
- 看懂人工智能、机器学习、深度学习与神经网络之间的区别与关系
刚刚接触人工智能的内容时,经常性的会看到人工智能,机器学习,深度学习还有神经网络的不同的术语,一个个都很高冷,以致于傻傻分不清到底它们之间是什么样的关系,很多时候都认为是一个东西的不同表达而已,看了一 ...
- 人工智能,机器学习,深度学习,神经网络,四者的含义和关系
人工智能,机器学习,深度学习,神经网络,四者的含义和关系 人工智能 机器学习 深度学习 神经网络 四者的关系 在很多关于人工智能的书中都提到了这些词:人工智能,机器学习,深度学习,神经网络. 为了弄懂 ...
最新文章
- HDU——1106排序(istringstream的使用、STLvector练习)
- linux进程间通信:POSIX 共享内存
- pandas计算特征与所有数值特征的相关性并排序可视化:包含pearson、spearman、kendall
- hashmap boost
- c#异常处理_C#异常处理能力问题和解答 套装4
- 【C语言】通过原子操作实现加减乘除操作Ⅱ
- C#中哈希表(HashTable)的用法详解
- 后台管理系统推荐(PHP)
- RHEL7CentOS7 精简操作指令
- 入门神经网络优化算法(五):一文看懂二阶优化算法Natural Gradient Descent(Fisher Information)
- Chrome浏览器数据本地备份
- 日期对象 date.getDate() date.getDay()的区别
- [分享] Hyper-V 安装Win7激活后黑屏
- 侍魂微信第一个服务器,在游戏中,武者大大们来到的第一个地图叫什么名字?...
- 【JZOJ 5405】【NOIP2017提高A组模拟10.10】Permutation
- 《翻转组件库之init项目》
- HTML制作简单网页(京东新闻资讯页,歌曲推荐网页)
- oj1904: 寄居蟹与海葵
- 支付宝福卡破解——居中的ViewPager
- 怎样规划学习Linux,就业方向有哪些?