终止分析研究了打算检测非终止的程序的终止行为,这众所周知会导致各种程序错误(例如悬挂程序,拒绝服务漏洞)。除了正式的方法外,已经进行了各种尝试来估计使用神经网络的程序的终止行为。但是,这些方法中的大多数继续依靠形式方法来提供强大的健全性保证,因此受到了类似的限制。在本文中,我们摆脱了形式的方法,拥抱机器学习模型的随机性质。我们的目标不是要通过解决方案来解释的严格保证,而是提供估计程序的终止行为,以及程序员可以将其用于调试目的的可能性不终止的可能原因(如果适用)。与以前使用神经网络进行程序终止的方法相比,我们还通过采用图形神经网络来利用程序的图表表示。为了进一步协助程序员理解和调试非终止错误,我们适应了以前用于其他应用程序域的注意力和语义细分的概念。总体而言,我们设计和实现了基于图形卷积网络和图形注意网络的程序终止的分类器,以及语义分割图形神经网络,该神经网络本地定位可能导致非终止的AST节点。我们还说明了如何将语义细分提供的信息与程序切片结合在一起,以进一步帮助调试。
translated by 谷歌翻译
现代组织病理学图像分析依赖于细胞结构的分割,以导出生物医学研究和临床诊断所需的定量度量。最先进的深度学习方法主要在分割中施加卷积层,通常以特定的实验配置高度定制;通常无法概括到未知数据。随着经典卷积层的模型容量受到有限的学习内核的限制,我们的方法使用图像的图形表示,并在多个放大率上侧重于节点转换。我们提出了一种新的细胞核的语义分段建筑,对实验配置的差异如染色和细胞类型的变异。该结构包括基于残留图注意层的新型神经塑形图注意网络,并同时优化表示组织病理学图像的多倍倍率水平的图形结构。通过投影生成节点特征的图形结构的修改对于架构是图形神经网络本身的重要性。它确定可能的消息流和关键属性以优化关注,图形结构和节点更新在平衡放大率损耗中。在实验评估中,我们的框架优于最先进的神经网络的整合,通常需要一部分神经元,并为新的核数据集进行分割的新标准。
translated by 谷歌翻译
Graph classification is an important area in both modern research and industry. Multiple applications, especially in chemistry and novel drug discovery, encourage rapid development of machine learning models in this area. To keep up with the pace of new research, proper experimental design, fair evaluation, and independent benchmarks are essential. Design of strong baselines is an indispensable element of such works. In this thesis, we explore multiple approaches to graph classification. We focus on Graph Neural Networks (GNNs), which emerged as a de facto standard deep learning technique for graph representation learning. Classical approaches, such as graph descriptors and molecular fingerprints, are also addressed. We design fair evaluation experimental protocol and choose proper datasets collection. This allows us to perform numerous experiments and rigorously analyze modern approaches. We arrive to many conclusions, which shed new light on performance and quality of novel algorithms. We investigate application of Jumping Knowledge GNN architecture to graph classification, which proves to be an efficient tool for improving base graph neural network architectures. Multiple improvements to baseline models are also proposed and experimentally verified, which constitutes an important contribution to the field of fair model comparison.
translated by 谷歌翻译
动态类型的语言如JavaScript和Python已成为最受欢迎的使用中的使用中。重要的优势可以从动态类型的程序中的类型注释累积。逐渐键入的这种方法是由Querecript编程系统示例,允许程序员指定部分键入的程序,然后使用静态分析来推断剩余类型。然而,通常,静态类型推断的有效性受到限制,取决于程序结构和初始注释的复杂性。结果,对于可以在动态类型的程序中可以在静态预测类型中推进本领域的新​​方法的强大动机,并且该具有可接受的性能用于交互式编程环境。以前的工作表明了使用深度学习的概率类型推断的承诺。在本文中,我们通过引入一系列图形的神经网络(GNN)模型来推进过去的工作,该模型在新型流程图(TFG)表示上运行。 TFG表示输入程序的元素,作为与语法边缘和数据流边缘连接的图表节点,并且我们的GNN模型训练以预测给定输入程序的TFG中的类型标签。我们为我们的评估数据集中的100种最常见类型的GNN模型研究了不同的设计选择,并显示了我们最佳的准确性的两个GNN配置,分别实现了87.76%和86.89%的前1个精度,优于两个最密切相关的深度学习型推断从过去的工作 - 矮人的前进剂,顶级1的精度为84.62%,兰丹特精确为79.45%。此外,这两种配置的平均推理吞吐量为353.8和1,303.9文件/秒,而DeepTyper的186.7个文件/秒和LambDanet的1,050.3文件/秒。
translated by 谷歌翻译
即使机器学习算法已经在数据科学中发挥了重要作用,但许多当前方法对输入数据提出了不现实的假设。由于不兼容的数据格式,或数据集中的异质,分层或完全缺少的数据片段,因此很难应用此类方法。作为解决方案,我们提出了一个用于样本表示,模型定义和培训的多功能,统一的框架,称为“ Hmill”。我们深入审查框架构建和扩展的机器学习的多个范围范式。从理论上讲,为HMILL的关键组件的设计合理,我们将通用近似定理的扩展显示到框架中实现的模型所实现的所有功能的集合。本文还包含有关我们实施中技术和绩效改进的详细讨论,该讨论将在MIT许可下发布供下载。该框架的主要资产是其灵活性,它可以通过相同的工具对不同的现实世界数据源进行建模。除了单独观察到每个对象的一组属性的标准设置外,我们解释了如何在框架中实现表示整个对象系统的图表中的消息推断。为了支持我们的主张,我们使用框架解决了网络安全域的三个不同问题。第一种用例涉及来自原始网络观察结果的IoT设备识别。在第二个问题中,我们研究了如何使用以有向图表示的操作系统的快照可以对恶意二进制文件进行分类。最后提供的示例是通过网络中实体之间建模域黑名单扩展的任务。在所有三个问题中,基于建议的框架的解决方案可实现与专业方法相当的性能。
translated by 谷歌翻译
深度学习方法的最新突破引发了人们对基于学习的错误探测器的兴趣。与传统的静态分析工具相比,这些错误检测器是直接从数据中学到的,因此更容易创建。另一方面,它们很难训练,需要大量数据,而这些数据不容易获得。在本文中,我们提出了一种称为Meta Bug检测的新方法,该方法比现有基于学习的错误探测器具有三个至关重要的优势:Bug-Type通用(即,能够捕获在培训期间完全没有观察到的错误类型),可以自我解释(即能够在没有任何外部可解释方法的情况下解释其自身的预测)和样本有效(即,比标准错误检测器所需的培训数据要少得多)。我们的广泛评估表明,我们的元错误检测器(MBD)有效地捕获了各种错误,包括NULL指针解除,阵列索引外部漏洞,文件句柄泄漏甚至是并发程序中的数据竞赛;在此过程中,MBD还大大优于几个值得注意的基线,包括Facebook推断,一种著名的静态分析工具和FICS,即最新的异常检测方法。
translated by 谷歌翻译
深度学习在各种软件工程任务中广泛使用,例如,节目分类和缺陷预测。虽然该技术消除了特征工程所需的过程,但源代码模型的构建显着影响了这些任务的性能。最近的作品主要集中在通过引入从CFG提取的上下文依赖项来补充基于AST的源代码模型。但是,所有这些都关注基本块的表示,这是上下文依赖性的基础。在本文中,我们集成了AST和CFG,并提出了一种嵌入了分层依赖项的新型源代码模型。基于此,我们还设计了一种神经网络,这取决于图表关注机制。特殊地,我们介绍了基本块的句法结构,即其对应的AST,在源代码模型中提供足够的信息并填补间隙。我们在三种实际软件工程任务中评估了该模型,并将其与其他最先进的方法进行了比较。结果表明,我们的模型可以显着提高性能。例如,与最佳性能的基线相比,我们的模型将参数的比例降低了50 \%并实现了对程序分类任务的准确性的4 \%改进。
translated by 谷歌翻译
Deep learning has revolutionized many machine learning tasks in recent years, ranging from image classification and video processing to speech recognition and natural language understanding. The data in these tasks are typically represented in the Euclidean space. However, there is an increasing number of applications where data are generated from non-Euclidean domains and are represented as graphs with complex relationships and interdependency between objects. The complexity of graph data has imposed significant challenges on existing machine learning algorithms. Recently, many studies on extending deep learning approaches for graph data have emerged. In this survey, we provide a comprehensive overview of graph neural networks (GNNs) in data mining and machine learning fields. We propose a new taxonomy to divide the state-of-the-art graph neural networks into four categories, namely recurrent graph neural networks, convolutional graph neural networks, graph autoencoders, and spatial-temporal graph neural networks. We further discuss the applications of graph neural networks across various domains and summarize the open source codes, benchmark data sets, and model evaluation of graph neural networks. Finally, we propose potential research directions in this rapidly growing field.
translated by 谷歌翻译
由不同类型的节点和边缘组成的学习异质图增强了均匀图技术的结果。这样的图形的一个有趣示例是代表可能的软件代码执行流的控制流图。由于此类图代表了代码的更多语义信息,因此为这些图形开发技术和工具可能对检测软件中的漏洞的可靠性非常有益。但是,现有的异质图技术仍然不足以处理复杂的图形,在处理复杂的图形中,不同类型的节点和边缘数量较大且可变。本文集中于以太坊智能合约作为由构建在控制流图和包含不同类型的节点和链接的呼叫图的异质合同图表示的软件代码样本。我们提出了曼多(Mando),这是一种新的异质图表示,以学习这种异质合同图的结构。 Mando提取自定义的Metapaths,该Metapaths在不同类型的节点及其邻居之间建立了关系连接。此外,它开发了一个多米达异构图注意网络,以学习不同类型的节点及其在异质合同图中的多层嵌入,可以更准确地捕获智能合约的代码语义,并便利两者。 - 水平和粗粒合同级别的漏洞检测。我们对大型智能合同数据集的广泛评估表明,曼多(Mando)在粗粒合同水平上改善了其他技术的脆弱性检测结果。更重要的是,它是第一种基于学习的方法,能够在细粒度的线条层面上识别漏洞,并在F1分数方面将基于代码分析的传统漏洞检测方法显着提高了11.35%至70.81%。
translated by 谷歌翻译
在线零售平台,积极检测交易风险至关重要,以提高客户体验,并尽量减少财务损失。在这项工作中,我们提出了一种可解释的欺诈行为预测框架,主要由探测器和解释器组成。 Xfraud探测器可以有效和有效地预测进货交易的合法性。具体地,它利用异构图形神经网络来从事务日志中的信息的非渗透键入实体中学习表达式表示。 Xfraud中的解释器可以从图表中生成有意义和人性化的解释,以便于业务部门中的进一步进程。在我们对具有高达11亿节点和37亿边缘的实际交易网络上的Xfraud实验中,XFraud能够在许多评估度量中倾销各种基线模型,同时在分布式设置中剩余可扩展。此外,我们表明,XFraud解释者可以通过定量和定性评估来显着帮助业务分析来产生合理的解释。
translated by 谷歌翻译
Graphs are ubiquitous in nature and can therefore serve as models for many practical but also theoretical problems. For this purpose, they can be defined as many different types which suitably reflect the individual contexts of the represented problem. To address cutting-edge problems based on graph data, the research field of Graph Neural Networks (GNNs) has emerged. Despite the field's youth and the speed at which new models are developed, many recent surveys have been published to keep track of them. Nevertheless, it has not yet been gathered which GNN can process what kind of graph types. In this survey, we give a detailed overview of already existing GNNs and, unlike previous surveys, categorize them according to their ability to handle different graph types and properties. We consider GNNs operating on static and dynamic graphs of different structural constitutions, with or without node or edge attributes. Moreover, we distinguish between GNN models for discrete-time or continuous-time dynamic graphs and group the models according to their architecture. We find that there are still graph types that are not or only rarely covered by existing GNN models. We point out where models are missing and give potential reasons for their absence.
translated by 谷歌翻译
Pre-publication draft of a book to be published byMorgan & Claypool publishers. Unedited version released with permission. All relevant copyrights held by the author and publisher extend to this pre-publication draft.
translated by 谷歌翻译
近年来,异构图形神经网络(HGNNS)一直在开花,但每个工作所使用的独特数据处理和评估设置会让他们的进步完全了解。在这项工作中,我们通过使用其官方代码,数据集,设置和超参数来展示12个最近的HGNN的系统再现,揭示了关于HGNN的进展的令人惊讶的结果。我们发现,由于设置不当,简单的均匀GNN,例如GCN和GAT在很大程度上低估了。具有适当输入的GAT通常可以匹配或优于各种场景的所有现有HGNN。为了促进稳健和可重复的HGNN研究,我们构建异构图形基准(HGB),由具有三个任务的11个不同数据集组成。 HGB标准化异构图数据分割,特征处理和性能评估的过程。最后,我们介绍了一个简单但非常强大的基线简单 - HGN - 这显着优于HGB上以前的所有模型 - 以加速未来HGNN的进步。
translated by 谷歌翻译
高吞吐量数据处理应用的高效硬件加速器设计,例如深度神经网络,是计算机架构设计中有挑战性的任务。在这方面,高级合成(HLS)作为快速原型设计的解决方案,从应用程序计算流程的行为描述开始。这种设计空间探索(DSE)旨在识别帕累托最佳的合成配置,其穷举搜索由于设计空间维度和合成过程的禁止计算成本而往往不可行。在该框架内,我们通过提出在文献中,有效和有效地解决了设计问题图形神经网络,该神经网络共同预测了合成的行为规范的加速性能和硬件成本给出了优化指令。考虑到性能和成本估计,学习模型可用于通过引导DSE来快速接近帕累托曲线。所提出的方法优于传统的HLS驱动DSE方法,通过考虑任意长度的计算机程序和输入的不变特性。我们提出了一种新颖的混合控制和数据流图表示,可以在不同硬件加速器的规格上培训图形神经网络;该方法自然地转移到解除数据处理应用程序。此外,我们表明我们的方法实现了与常用模拟器的预测准确性相当,而无需访问HLS编译器和目标FPGA的分析模型,同时是更快的数量级。最后,通过微调来自新目标域的少量样本,可以在未开发的配置空间中解放所学习的表示。
translated by 谷歌翻译
代码搜索目标是根据自然语言查询检索相关的代码片段,以提高软件生产力和质量。但是,由于源代码和查询之间的语义间隙,自动代码搜索是具有挑战性的。大多数现有方法主要考虑嵌入的顺序信息,其中文本背后的结构信息不完全考虑。在本文中,我们设计了一个名为GraphsearchNet的新型神经网络框架,通过共同学习源代码和查询的富集语义来启用有效和准确的源代码搜索。具体地,我们建议将源代码和查询编码为两个图,其中双向GGNN以捕获图表的本地结构信息。此外,我们通过利用有效的多主题来增强BigGNN,以补充BigGNN错过的全球依赖。关于Java和Python数据集的广泛实验说明了GraphSearchNet优于当前最先进的工作原位。
translated by 谷歌翻译
由于现实世界编程语言语法的复杂性,因此从原始源代码中的学习程序语义是具有挑战性的,并且由于难以重建长距离关系信息在程序中使用标识符暗示表示的长距离关系信息。在解决第一点时,我们将约束的Horn条款(CHC)视为程序验证问题的标准表示,提供了一种简单而编程的语言独立语法。对于第二个挑战,我们探索CHC的图表表示,并提出了一个新的关系超图神经网络(R-HYGNN)体系结构来学习程序功能。我们介绍了CHC的两个不同的图表。一个称为约束图(CG),并通过将符号及其关系分别翻译成键入节点和二进制边缘,并强调CHC的句法信息,并将其构造为抽象语法树的约束。第二个称为控制和数据流超图(CDHG),并通过表示通过三元超过的控制和数据流来强调CHC的语义信息。然后,我们提出了一种新的GNN体系结构R-HYGNN,扩展了关系图卷积网络,以处理超图。为了评估R-HYGNN从程序中提取语义信息的能力,我们使用R-HYGNN在两个图表上训练模型,以及使用CHC-COMP 2021的基准作为培训数据,在五个具有越来越多的代理任务上进行了越来越多的困难。最困难的代理任务要求该模型预测反例中的条款的出现,这是CHC的满意度。 CDHG在此任务中达到90.59%的精度。此外,R-HYGNN对由290多个条款组成的图表之一具有完美的预测。总体而言,我们的实验表明,R-HYGNN可以捕获复杂的程序功能,以实现指导验证问题。
translated by 谷歌翻译
组合优化是运营研究和计算机科学领域的一个公认领域。直到最近,它的方法一直集中在孤立地解决问题实例,而忽略了它们通常源于实践中的相关数据分布。但是,近年来,人们对使用机器学习,尤其是图形神经网络(GNN)的兴趣激增,作为组合任务的关键构件,直接作为求解器或通过增强确切的求解器。GNN的电感偏差有效地编码了组合和关系输入,因为它们对排列和对输入稀疏性的意识的不变性。本文介绍了对这个新兴领域的最新主要进步的概念回顾,旨在优化和机器学习研究人员。
translated by 谷歌翻译
疾病预测是医学应用中的知名分类问题。 GCNS提供了一个强大的工具,用于分析患者相对于彼此的特征。这可以通过将问题建模作为图形节点分类任务来实现,其中每个节点是患者。由于这种医学数据集的性质,类别不平衡是疾病预测领域的普遍存在问题,其中类的分布是歪曲的。当数据中存在类别不平衡时,现有的基于图形的分类器倾向于偏向于主要类别并忽略小类中的样本。另一方面,所有患者中罕见阳性病例的正确诊断在医疗保健系统中至关重要。在传统方法中,通过将适当的权重分配给丢失函数中的类别来解决这种不平衡,这仍然依赖于对异常值敏感的权重的相对值,并且在某些情况下偏向于小类(ES)。在本文中,我们提出了一种重加权的对抗性图形卷积网络(RA-GCN),以防止基于图形的分类器强调任何特定类的样本。这是通过将基于图形的神经网络与每个类相关联来完成的,这负责加权类样本并改变分类器的每个样本的重要性。因此,分类器自身调节并确定类之间的边界,更加关注重要样本。分类器和加权网络的参数受到侵犯方法训练。我们在合成和三个公共医疗数据集上显示实验。与最近的方法相比,ra-gcn展示了与最近的方法在所有三个数据集上识别患者状态的方法相比。详细分析作为合成数据集的定量和定性实验提供。
translated by 谷歌翻译
图表神经网络(GNN)已被广泛用于学习图形结构数据的矢量表示,并实现比传统方法更好的任务性能。 GNN的基础是消息传递过程,它将节点中的信息传播到其邻居。由于该过程每层进行一个步骤,因此节点之间的信息传播的范围在下层中很小,并且它朝向更高的层扩展。因此,GNN模型必须深入地捕获图中的全局结构信息。另一方面,众所周知,深入的GNN模型遭受性能下降,因为它们丢失了节点的本地信息,这对于良好的模型性能至关重要,通过许多消息传递步骤。在本研究中,我们提出了用于图形级分类任务的多级注意汇总(MLAP),这可以适应图表中的本地和全局结构信息。对于每个消息传递步骤,它具有注意池层,通过统一层方格图表示来计算最终图表示。 MLAP架构允许模型利用具有多个级别的本地图形的结构信息,因为它在由于过度的过天气丢失时保留了层面信息。我们的实验结果表明,与基线架构相比,MLAP架构提高了图形分类性能。此外,图表表示的分析表明,来自多个级别的地方的聚合信息确实具有提高学习图表表示的可怜的潜力。
translated by 谷歌翻译
图表表示学习是一种快速增长的领域,其中一个主要目标是在低维空间中产生有意义的图形表示。已经成功地应用了学习的嵌入式来执行各种预测任务,例如链路预测,节点分类,群集和可视化。图表社区的集体努力提供了数百种方法,但在所有评估指标下没有单一方法擅长,例如预测准确性,运行时间,可扩展性等。该调查旨在通过考虑算法来评估嵌入方法的所有主要类别的图表变体,参数选择,可伸缩性,硬件和软件平台,下游ML任务和多样化数据集。我们使用包含手动特征工程,矩阵分解,浅神经网络和深图卷积网络的分类法组织了图形嵌入技术。我们使用广泛使用的基准图表评估了节点分类,链路预测,群集和可视化任务的这些类别算法。我们在Pytorch几何和DGL库上设计了我们的实验,并在不同的多核CPU和GPU平台上运行实验。我们严格地审查了各种性能指标下嵌入方法的性能,并总结了结果。因此,本文可以作为比较指南,以帮助用户选择最适合其任务的方法。
translated by 谷歌翻译