关于人工智能未来的畅想,除了家庭服务机器人,快递无人机,医用机器人等等,Lucas Carlson 认为人工智能在另外一个领域的可能带来的变革,却没有引起公众的足够注意——这就是:让计算机自己编程。 2016年11月末,Lucas Carlson 撰文:
2017年2月23日 NewScientist 报道,微软和剑桥大学的研究员近日发布了一篇论文,文中阐述了其科研成果 DeepCoder:一个会编程的机器学习系统。 英文论文:https:///pdf?id=ByldLrqlx 微软和剑桥大学研究人员联合创建的机器学习系统 DeepCoder 学会了如何自己写代码。它能让人们在没有掌握必要编程知识的情况下,更轻松的构建出简单的应用程序。 未来,非程序员可以通过简单的描述出一个程序的想法,然后让机器学习系统将其构建出来。DeepCoder 使用了被称为「程序合成」的技术,将来自现有软件的一行行源代码拼接在一起。 给定每一个代码片段的输入和输出列表,DeepCoder 学会要实现预期结果需要使用到哪部分代码。它的一大优势是速度,能在几分之一秒内创建出一个可工作的程序。在了解了哪一部分源代码能工作,哪一部分不能之后,DeepCoder 能改进每一次创建的新程序。 目前DeepCoder只能生成五行左右代码的程序。但如果采用了适当的编程语言,几行代码也能抵上一段复杂的代码了。 没有参与 DeepCoder 的麻省理工学院 Armando Solar-Lezama 认为,这项技术在自动化方面的潜能,将极大减少在开发代码方面的精力消耗。但想一下子生成一大段代码,这有点不现实。但一段代码,是可以有很多的小段代码组合而成。 Solar-Lezama 同时认为,DeepCoder 并不会让程序员失业下岗。因为「程序合成」是把编程阶段枯燥部分自动化了,程序员能把更多精力放在更为复杂的任务上。 除了自动编程的,还有自动修 Bug 的程序 2015 年 6 月下旬,麻省理工学院的研究人员展示了一个新系统,可以通过从其他更加安全的应用中自动导入相关功能,借以修复原来软件中的危险漏洞。 这个引人注目的系统叫做 CodePhage ,它借用其他程序时并不需要访问借主应用的源码。相反,该系统分析这个应用的执行情况,并标记出其安全检查类别的特性。因此,即使所编写的语言与被修复应用的语言不同,该系统仍然可以从中导出检查功能用来修复应用。 CodePhage 将代码导入易受攻击的程序后,还会进行进一步分析以确保漏洞被修复。 MIT 计算机科学与人工智能研究室(CSAIL)的研究员,CodePhage 的研发领导人员 Stelios Sidiroglou-Douskos 表示:
会编程的 AI ,加上会修 Bug 的 AI,等于什么 ? 大家一起来畅想一下,欢迎在评论中留言。 参考: Solidot、伯乐在线、MIT News、VentureBeat、NewScientist 看完本文有收获?请转发分享给更多人 关注「程序员的那些事」,提升编程技能
|
|