一种融合程序员和神经网络的自动化程序生成方法

2021-04-01 01:19:20武延军
计算机研究与发展 2021年3期
关键词:程序方法模型

周 鹏 武延军 赵 琛

1(中国科学院软件研究所 北京 100190) 2(中国科学院大学 北京 100049) 3(计算机科学国家重点实验室(中国科学院软件研究所) 北京 100190)

(zhoupengwork01@163.com)

教会机器理解代码、编写程序或构造可自学习的智能软件一直是人工智能的重要挑战问题之一[1].当前基于神经网络的深度学习在图像处理、语音识别、自然语言处理等领域从研究到应用取得了很大的成功,但是在程序生成上距离研究到实用仍有明显差距.许多学者在程序处理领域也使用神经网络深度学习方法进行了积极探索,提出了不少研究方法,取得了很好的效果,但是仍然未能有效解决泛化能力差、程序正确性、难以处理复杂程序结构的问题.当前基于神经网络的程序生成研究主要包括基于程序输入-输出数据样例的方法[2-6]、基于标注程序执行轨迹样例的方法[7-8]和基于标注源码的方法[9-13].

1) 基于程序输入-输出样例的方法.该方法以神经网络为待学习控制器,从输入-输出样例训练控制器学习预测对神经网络扩展外部存储的操作序列.该方法完全依赖输入输出数据对,存在从数据倒推操作序列的歧义性、泛化能力差、限定一个小的DSL(domain specific language)语言[14]空间、只能处理非常简单的程序结构等问题.比如著名的微软DeepCoder[2]只能处理自定义的一个小型DSL语言,主要预测5行以内、每行只有一个主标识符、顺序结构的平铺程序,不能处理分支、递归、跳转等复杂控制结构,因此习得的程序非常简单.

2) 基于标注程序执……

登录APP查看全文

猜你喜欢
程序方法模型
一半模型
重尾非线性自回归模型自加权M-估计的渐近分布
试论我国未决羁押程序的立法完善
人大建设(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
环球时报(2017-03-30)2017-03-30 06:44:45
3D打印中的模型分割与打包
用对方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
创卫暗访程序有待改进
中国卫生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕鱼