所有文章 > 正文

MIT研发出可编写代码的人工智能工具SketchAdapt

作者: Jansfer

时间: 2019-06-18 11:36

麻省理工学院的研究人员将深度学习和符号推理相结合,以一种更灵活的方式教授计算机编程。

图|Armando Solar-Lezama教授(左)和Maxwell Nye(右)(来源:KimMartineau)

编写代码意味着需要掌握如何构建一个程序,以及正确完善每一个细节,毋庸置疑,这是非常繁琐的。

SketchAdapt作为新型的编程AI,为此诞生了。经过成千上万次程序示例的训练,SketchAdapt学会了如何编写简短的高级程序,同时利用第二组算法寻找合适的子程序以填补细节。它与自动化编程的不同点在于,SketchAdapt知道何时从统计匹配模式转换为效率较低而更加通用的符号推理模式,以填补程序中的空白部分。

麻省理工学院计算机科学与人工智能实验室(CSAIL)的教授Armando Solar-Lezama说:“神经网络在构造上做得很好,但在细节上有所不足。因此,我们让神经网络处理高层结构,并使用搜索策略来填补空白,通过这种分工的方式,可以编写出高效的程序。”

SketchAdapt是由教授Solar-Lezama和麻省理工学院大脑、心智和机器中心的教授Josh Tenenbaum合作开发的。这项研究成果将于6月10日至15日在国际机器学习会议上公布。

程序生成或计算机自主编程一直是AI研究者的目标,一台可以自主编程的计算机更有可能快速学习语言、进行流利地交流,甚至模仿人类的认知。Solar-Lezama为此而着迷,并成为了该领域的研究生,为SkecthAdapt的创建打下基础。

Solar-Lezama的早期作品Sketch的理论基础是,借助高层结构,计算机可以机械地完成程序的底层细节。在其他应用程序中,Skecth触发派生程序自动为编程作业打分,并将手绘图转换为代码。后来,随着神经网络越来越受欢迎,特南鲍姆计算认知科学实验室的学生们提出了一项合作计划,并由此诞生了SketchAdapt。

SketchAdapt不是依靠专家来定义程序结构,而是通过深度学习来解决这个问题。研究人员还增加了一个新策略:当神经网络不确定要在哪里放置什么代码时,SketchAdapt会在程序中留下空白,让搜索算法来填补。

麻省理工学院(MIT)大脑和认知科学系的研究生,Maxwell Nye作为该研究的第一作者,说道:“这个系统会判断自己知道什么以及不知道什么,当它遇到问题,没有类似的模式以借鉴,就会在代码中留下占位符,然后用猜测与检验的策略来填补空缺。”

研究人员将SketchAdapt的性能和模仿微软专有软件RobustFill与DeepCoder的程序相比较,上述软件继承了Excel的快速填充特征,即在打字时通过分析相邻词组以给出可能的词汇,例如将一些名字转换为相应的邮件地址。工作中,RobustFill利用深度学习从示例中编写高级程序,DeepCoder则专门寻找并完善低级细节部分。

研究人员发现,SketchAdapt相比于RobustFill和DeepCoder的复刻版本在其各自专攻领域更加优越。在字符转换方面,SketchAdapt优于RobustFill程序,例如,编写一个程序,将社会安全号码缩写为三个数字,并根据第一个字母来命名。在编写转换数字列表的程序方面,SketchAdapt也优于类似DeepCoder的程序。当只接受三行列表处理程序的训练时,SketchAdapt能够更好地将其知识转移到新的场景中,并编写正确的四行程序。

在另一项任务中,需要将数学问题从英文叙述转换成代码并计算答案,SketchAdapt的表现同样优于这两个程序。

SketchAdapt成功的关键在于从神经匹配模式转换到基于规则的符号检索模式的能力,Rishabh Singh,一位Solar-Lezama的前研究生、现工作于Google Brain,说道:“SketchAdapt掌握了在编写程序的相似部分时,需要多少程度的模式识别,在完善包含新颖而复杂理念的细节时,需要多少程度的符号推理。”

然而,SketchAdapt仅能编写十分简短的程序,对于长程序需要的计算过多。尽管如此,研究人员认为SketchAdapt是用来辅助程序员的,而非替代他们。Nye称:“我们的重点是为程序员提供编程工具,他们可以将自己的想法告诉计算机,让计算机来编写程序。”

编程一直在进步,当Fortran在20世纪50年出现时,它是为了替代程序员。Solar-Lezama说:“Fortran的全称是Fortran Automatic Coding System,它的目标是编写无误的程序,但它真正做的事情其实是自动化程序员之前编写的程序,这不是编程的本质。”

该研究的另一位共同作者是Luke Hewitt。研究资金由美国空军科学研究办公室、MIT-IBM沃森人工智能实验室和美国国家科学基金会提供。

参考:news.mit.edu

[关于转载]:本文为“AMiner”官网文章。转载本文请联系原作者获取授权,转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“AMiner”官网。谢谢您的合作。

二维码 扫码微信阅读
推荐阅读 更多