摘要
程序生成是人工智能的核心研究问题之一,当前输入-输出样例驱动的神经网络模型是非常流行的研究方法.面临的主要挑战是泛化能力差、生成程序准确率保证、难以处理复杂程序结构(如分支、循环、递归等),主要原因是模型的输入信息单一(输入-输出对)和完全依赖神经网络.显然单一地通过输入输出样例倒推程序行为存在歧义性,而神经网络的记忆容量很难满足常规程序的变量存储需求.提出一种人工与神经网络生成相协作的编程模型,融合神经网络和程序员各自的优势,其中程序员用高级编程语法编写程序框架,神经网络自动学习生成程序局部的琐碎细节,从而促进自动化程序生成方法更好地应对实际应用挑战.实验表明,研究方法是有效的,跟同类代表性研究方法相比表现出更好的学习性能.
基金项目
中国科学院战略性先导科技专项(A类)(Y8XD373105)
中国科学院前沿科学重点研究计划项目(ZDBS-LY-JSC038)