[论文解读] GRCNN: Graph Recognition Convolutional Neural Network for Synthesizing Programs from Flow Charts
本文提出GRCNN,一种深度卷积神经网络,通过联合识别图结构中的节点和边,从流程图图像中合成程序。端到端训练下,GRCNN在合成数据上实现66.4%的程序合成准确率,在真实世界教科书示例上达到63.6%,边识别准确率为94.1%,节点识别准确率为67.9%,每张流程图处理时间约为60毫秒。
Program synthesis is the task to automatically generate programs based on user specification. In this paper, we present a framework that synthesizes programs from flow charts that serve as accurate and intuitive specifications. In order doing so, we propose a deep neural network called GRCNN that recognizes graph structure from its image. GRCNN is trained end-to-end, which can predict edge and node information of the flow chart simultaneously. Experiments show that the accuracy rate to synthesize a program is 66.4%, and the accuracy rates to recognize edge and nodes are 94.1% and 67.9%, respectively. On average, it takes about 60 milliseconds to synthesize a program.
研究动机与目标
- 通过直观的可视化流程图而非形式化或示例化规范,实现程序合成。
- 解决利用深度学习从流程图图像中准确识别图结构(节点和边)的挑战。
- 开发一种统一的端到端深度学习框架,从单张图像输入中联合预测节点内容和边连接。
- 评估使用流程图为准确且用户友好的程序合成规范的可行性和性能。
提出的方法
- GRCNN采用共享主干卷积神经网络,从缩放后的流程图图像中提取通用特征表示。
- 网络使用检测头通过边界框定位节点,使用基于序列的解码器识别头预测节点文本内容。
- 边预测头通过在所有节点对上使用分类头预测节点间连接,生成邻接矩阵。
- 模型通过结合节点检测、文本识别和边分类损失的联合损失函数进行端到端训练。
- 应用空间变换网络(STN)以提升定位鲁棒性,但消融实验表明其略微降低边识别准确率。
- 系统通过预定义的节点类型和边连接映射,将预测的图结构编译为源代码。
实验结果
研究问题
- RQ1深度神经网络能否以端到端方式准确识别流程图图像中的节点内容和边连接?
- RQ2与传统程序合成方法相比,GRCNN在从流程图规范中合成正确程序方面的有效性如何?
- RQ3在节点和边分支之间共享主干特征表示在不牺牲准确率的前提下,对效率的提升程度如何?
- RQ4与合成数据集相比,该模型在真实世界教科书流程图上的表现如何?
- RQ5如STN等架构增强对节点和边识别准确率的影响如何?
主要发现
- GRCNN在合成数据集上实现66.4%的程序合成准确率,在真实世界教科书数据集上达到63.6%。
- 在合成数据上边识别准确率达到94.1%,在真实世界数据上为72.7%,表明具有较强的结构理解能力。
- 在合成数据上节点识别准确率为90.6%,在真实世界数据上为81.8%,其中67.9%的图像所有节点均被正确预测。
- 程序合成的平均推理时间约为60毫秒,证明了其实时可行性。
- 消融实验表明,尽管STN增强提升了节点检测和识别性能,但略微降低了边识别准确率,从而降低了整体图结构准确率。
- 与独立网络相比,采用共享主干特征的端到端训练将推理时间减少5.8%(3.5毫秒),证实了计算效率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。