GRCNN: Graph Recognition Convolutional Neural Network for Synthesizing Programs from Flow Charts
GRCNN:从流程图中合成程序的图识别卷积神经网络论文使用了一种新型的卷积神经网络,从图像中识别图结构。对GRCNN进行端到端训练,可以同时预测流程图的边缘信息和节点信息。实验表明,合成一个程序的准确率为66.4%,识别边缘和节点的准确率分别为94.1%和67.9%。平均而言,合成一个程序大约需要60毫秒。为什么提出这个框架?要合成一个程序,必须提供规范。形式语言的规范可以准确地表示用户的意图,并
GRCNN:从流程图中合成程序的图识别卷积神经网络
论文使用了一种新型的卷积神经网络,从图像中识别图结构。对GRCNN进行端到端训练,可以同时预测流程图的边缘信息和节点信息。实验表明,合成一个程序的准确率为66.4%,识别边缘和节点的准确率分别为94.1%和67.9%。平均而言,合成一个程序大约需要60毫秒。
为什么提出这个框架?
要合成一个程序,必须提供规范。形式语言的规范可以准确地表示用户的意图,并用于演绎程序综合[3]。然而,很少有人拥有正式语言的知识,因此它不能使大多数最终用户受益。示例在用输入-输出示例在电子表格中自动进行字符串处理、基于组件的表整合和转换任务的合成,在编程时使用规范不足,而通过演示进行编程:归纳学习公式则使用编程。规范不足不需要语言知识,而且大多数最终用户都可以访问。然而,由于可能有多个程序来满足规范,如何选择正确的程序来捕获用户的意图仍然是一个开放的问题。
优点:
我们提出了一种被称为GRCNN(图识别卷积神经网络)的新技术,它以输入流程图作为精确的规范,并使用深度卷积神经网络(CNN)来分析给定的图像,并将获得的信息编译成程序代码。GRCNN是一个端到端网络,它共享一个丰富的卷积特征向量的计算,并同时预测边缘和节点信息。流程图是表示程序工作流的关系图。它在教科书中被广泛用于教授编程和说明程序。此外,流程图是直观的,它允许用户关注编程逻辑,而不是语言细节。
流程
结果
计算结果表明,在边缘网络和节点网络之间共享卷积向量是可行的。在我们的合成测试数据集上的实验表明,合成一个程序的准确率为66.4%,预测边缘和节点的准确率分别为94.1%和67.9%。在另一个手工转换数据集上的实验表明,合成程序的准确率为63.6%,预测边缘和节点的准确率分别为72.7%和81.8%。合成一个程序的平均时间约为60毫秒。
我们介绍了GRCNN,一个深度卷积神经网络,它从流程图中解析图数据结构,并自动生成与流程图相匹配的源代码。GRCNN同时预测边缘信息和节点信息。实验表明,我们可以共享特征向量的计算量。在我们的测试数据集上,GRCNN对图、边和节点的精度分别达到了66.4%、94.1%和90.6%,在真实数据集上达到了接近的精度
启发
和卷积神经网络相结合 从图像中,流程图中合成程序,本文合成的是一般程序,
或许可以考虑合成Linux,sql,Java等语言,或者从其他图像中识别程序,比如实例图。
更多推荐
所有评论(0)