
近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视。图机器学习(Graph Machine Learning,Graph ML)是一类基于机器学习的处理图域信息的方法,机器学习领域关于图机器学习的研究热情日益高涨,图机器学习已经成为各大深度神经网络顶会的研究热点。
在建筑施工图领域,CAD 图面呈现的各种图元及块都是矢量数据。若使用目前最为成熟的基于位图的CNN-based图像识别算法,需要将这些矢量图转化成位图,这个过程无疑会丢失关键的坐标信息,损失数据精度,并且大大提升数据体积。在大规模的的图纸场景中,这种做法越发难以为继。因此,直接基于矢量图像数据出发进行图纸空间的特征提取与语义识别成为 AI 自动出图需要解决的关键问题。矢量图像数据可以被抽象成为一种图结构。近年来图机器学习的研究突破使得我们在筑绘通生产环境中大规模使用 GNN-based 方法来直接处理矢量图元数据成为可能。
图机器学习处理非结构化数据时的出色能力,使其在网络数据分析、推荐系统、物理建模、自然语言处理和图上的组合优化问题方面都取得了新的突破。由于其较好的性能和可解释性,图机器学习 最近已成为一种广泛应用的图分析方法。下面跟随小览来了解一下图机器学习的概念及应用吧。
Graph
「What Graph」
图(Graph)是由顶点的有穷非空集合和顶点之间的集合组成,通常表示为G[V, E],其中G表示一个图,V是图G的顶点集合,E是图G中边的集合。

图是描述和分析具有交互关系的实体的通用语言。这意味着我们不是将世界或给定域视为一组孤立的数据点,而是根据这些实体之间的网络和关系来真正的考虑它。我们认为这些实体是具有相互关联的关系的,可以通过图的结构来体现这些关系。
同时,很多类型的数据可以自然地表示为图结构。例如,计算机网络、物理学中的粒子结构、社交网络以及食物链都可以用图结构来表达。这些域本质上都是网络或者图,也意味着,在这些域中,我们可以得到不同的事件或者实体之间的关系。

「Why Graph」
图是一种解决关系问题时的通用语言,各种情况下的统一数学表示。将问题抽象成图,可以用同一种机器学习算法解决所有问题。在复杂领域中存在的丰富的关系结构,可以被表示为关系图relational graph,通过显式地建模关系,来获得更好的表现。

图机器学习
机器学习是通过数据及先验知识,自动改进计算机算法的研究。人类的学习过程是,通过归纳总结以往的经验,形成规律。在遇到新的问题时,通过规律,预测结果或未来。机器学习与人类的学习过程类似,机器学习的重点是数据与模型。机器学习研究的是从数据中通过选取合适的算法,自动的归纳逻辑或规则,并根据这个归纳的结果模型,输入新的数据来预测未来。

为什么要用机器学习?
机器学习的用途主要有两点:
1。机器学习可以自动化一些功能,这些功能对于人类来说很容易做到,但是对于计算机来说却很难描述。
真实世界的数据是有噪声的,有许多复杂的子结构。像“在这幅图中勾勒出人物轮廓”这样的任务对人类来说很容易,但很难转化为单个算法。深度学习允许我们将大量的数据转换为某种函数,从而实现特定任务的自动化。
2。机器学习可以在人类无法进行的尺度内转换信息。
计算机可以处理人类无法处理的数据量(由于所需的时间或精力)。这使得新的分析成为可能,例如分析数十亿个交易网站的指纹欺诈。
什么是图机器学习?
图机器学习就是将机器学习应用于图数据。图数据往往会包含大量有价值的关系数据。然而,许多之前的机器学习模型往往只关注每个样本的特征,而没有考虑到样本之间的关系数据或没有很好的方法来利用和建模这些关系数据。图机器学习为我们提供了利用这些关系数据的方法,它使得我们可以同时考虑图中每个节点的自身特征、邻节点以及邻节点的特征,以获取更好的性能。
图机器学习的实现方法一般分为两种:
1。基于graph结构,通过图表示学习,学习数据特征,并用传统的机器学习方法实现。
2。将graph建模为network,或者通过自然图(natural graphs)结构,使用基于深度网络的Graph Neural Network(GNN)实现。
「图表示学习」
在传统机器学习流程中,我们需要对原始数据进行特征工程,例如手动提取特征等。但是现在我们可以直接使用图表示学习的方式来自动学习到数据的特征,直接应用于下流的预测任务。

图的表示学习可以学习到图数据用于机器学习的,且与下游任务无关的特征,我们希望这个向量能够抓住数据的结构信息。这个数据被称作特征表示(feature representation)或嵌入(embedding)。

「Graph Neural Network」
最后,让我们来看看GNN。图神经网络(Graph Neural Networks,GNN)是一类基于深度学习的处理图域信息的方法,深度学习领域关于图神经网络的研究热情日益高涨,图神经网络已经成为各大深度学习顶会的研究热点。图神经网络(GNN)的概念最早是Scarselli等人在2009 年提出的,它扩展了现有的神经网络,用于处理图中表示的数据。在图中,每个节点是由其特性和相关节点定义的。
GNN与NN的区别
对于图结构而言,并没有天然的顺序而言,如果使用顺序来完整地表达图的话,那么就需要将图分解成所有可能的序列,然后对序列进行建模。显然,这种方式非常的冗余以及计算量非常大。与此相反,GNN采用在每个节点上分别传播(propagate)的方式进行学习,由此忽略了节点的顺序,相当于GNN的输出会随着输入的不同而不同。
图结构的边表示节点之间的依存关系。然而,传统的神经网络中,依存关系是通过节点特征表达出来的。传统的神经网络不能显式地表达这种依存关系,而是通过不同节点特征来间接地表达节点之间的关系。通常来说,GNN通过邻接节点的加权求和来更新节点的隐藏状态。
「图机器学习的应用」

图机器学习任务可以被分为四类:
1。节点级别
2。边级别
3。子图级别
4。图级别,包括预测任务和图生成任务
节点级别:解决蛋白质折叠问题 — AlphaFold [1]
AlphaFold系统是DeepMind于2020年在CASP14大赛上推出的GNN网络,它在蛋白质结构预测方面表现出了无与伦比的正确性。AlphaFold将被折叠的蛋白质视作是一个空间图(spatial graph),氨基酸残基视作节点,在相近的节点之间建立边,形成图结构,搭建深度学习模型,预测节点在空间中的位置。
#输入:AlphaFold的输入是一个氨基酸List,每一个位置的元素代表了链上的一个氨基酸单元。
#输出:在接收到这个单一序列的输入之后,AlphaFold通过深度神经网络,预测这一个氨基酸链条会如何折叠,输出一个拓扑结构。

边级别:Graph Machine Learning using 3D Topological Models [2]
这是一个图神经网络的应用。作者将建筑空间的关系表现成图结构数据,用节点表示空间位置,连边表示空间的相连关系,然后训练图卷积神经网络(DGCNN)来预测建筑的标签属性。比较可惜的是,作者使用的数据集是脚本生成的,而不是真实的建筑数据,建筑类型也仅限于规整方形的建筑。


子图级别:YOLaT [3]
YOLat利用Dual-Stream GNN,可以提高针对矢量图形的识别率。Dual-Stream可以在每一层神经元上,聚合到边缘方向的特征,且不会因提前聚合特征而影响到性能。实验表明,基于YOLaT的矢量图形识别效果,要优于其它的GNN或CNN方法。

图级别:Graph Evolution — Physics Simulation [4]
Graph Evolution将整个物质表示为图(proximity graph),用GNN来预测粒子的下一步活动,例如,组成一个新位置或者新图。

参考文献:
[1] Jumper J, Evans R, Pritzel A, et al. Highly accurate protein structure prediction with AlphaFold[J]. Nature, 2021, 596(7873): 583-589.
[2] Jabi W, Alymani A. Graph machine learning using 3D topological models[J]. 2020.
[3] Jiang X, Liu L, Shan C, et al. Recognizing Vector Graphics without Rasterization[J]. Advances in Neural Information Processing Systems, 2021, 34.
[4] Sanchez-Gonzalez A, Godwin J, Pfaff T, et al. Learning to simulate complex physics with graph networks[C]//International Conference on Machine Learning. PMLR, 2020: 8459-8468.
?版权归品览所有 未经授权请勿转载

品览是AI建筑设计智造者,专注于建筑设计AI服务,致力于为地产企业和设计院客户提供AI设计出图服务。自主研发的建筑AI智能设计云平台AlphaDraw「筑绘通」,基于计算机视觉技术,建筑设计知识库和生成式强化学习算法帮助客户自动完成施工图设计。仅需上传建筑方案图纸就可以自动完善成套施工图,并符合各地设计规范,助力企业标准化出图、效率质量双提升。


如若转载,请注明出处:https://www.zzibang.com/3037.html