前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 遗传算法自动编写软件:新研究让AI开始代替程序员工作

学界 | 遗传算法自动编写软件:新研究让AI开始代替程序员工作

作者头像
机器之心
发布2018-05-08 12:00:54
5640
发布2018-05-08 12:00:54
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

机器之心编译

参与:李亚洲、李泽南

人工智能究竟会在未来代替哪些人类的工作?程序员似乎在这个问题中永远排在最后一位。不过,这样的看法似乎并不准确。最近,来自 Bloomberg 和英特尔实验室的研究人员提出了一种基于遗传算法的人工智能程序 AI Programmer,它可以在普通计算机的硬件基础之上为指定任务生成程序。

从计算机被发明以来,正确、高效地开发软件程序一直是个根本性挑战。为了帮助解决该问题,软件开发领域已经作出了无数的突破。一些突破包括在静态、动态、渐进式系统中的安全、灵活的进步;使用自动化存储管理和垃圾收集系统作出的简化、安全、稳健的进步;在通用与特定领域语言的普通和特定发展;当然还包括以各种方式协助程序员的众多工具。

目前,在硬件创新领域中,新发展也在以类似的频率在发生,例如越来越多的通用性能多核 CPU,带有高级的硬件扩展,或者是低能耗 SoC 边缘计算设备、接近先前超级计算机性能的高性能嵌入式协处理器;宽泛数据并行的 GPU;适合神经网络和计算机视觉的 ASIC,等等。

在硬件进展持续扩展计算的深度与广度的同时,副作用就是把软件开发与人类写代码的效率之间的紧张关系变得越来越复杂、恶劣。

在这篇论文中,作者们探索了一种取代传统人类软件开发的方式,也就是使用遗传算法自动创造软件程序,只需要少量的人类指导。

据论文介绍,该研究的技术贡献在于:

1. 史无前例的提出了软件生成框架 AI Programmer,使用遗传算法结合全新简化编程语言构建程序。

2. 给出多种批评观测系统,包括一个嵌入式注释器和模拟器解决方案,保证机器学习生成的软件的安全与优化。

3. 在硬件上完整生成了多个软件程序,给出了经验式结果证明 AI Programmer 的功效与效率。

图 1:AI Programmer 的软件架构

AI Programmer 由 C# .NET. 上的模块化框架组成。它包括用于运行遗传算法的引擎,用于基因组图的编码器和解码器,用于模拟程序执行的沙箱解释器,以及将代码转换为二进制可执行文件的编译器。虽然 AI Progammer 使用 C#,但它的应用范围不仅限于 C#。AI Programmer 的软件框架是可以扩展的,开发者们可以在此基础上构建适合自己的工具,通过指导系统的遗传算法,不断改进自己的软件程序。

表 2:AI Programmer 的结果

论文:AI Programmer: Autonomously Creating Software Programs Using Genetic Algorithms

链接:https://arxiv.org/abs/1709.05703

摘要:在此论文中,我们史无前例的提出了一种名为 AI Programmer 的机器学习系统,只需少量的人类指导就能生成完整软件程序。AI Programmer 的核心是使用遗传算法,加上极其约束的编程语言最小化其机器学习搜索空间。AI Programmer 的部分创新性来自于其独特的系统设计,包括一个嵌入式、手动注释器来提高效率与安全;还有它对遗传算法的增强,包括遗传指令随机捆绑和程序特定语言基因构建和消除技术。我们给出了 AI Programmer 系统设计的详细测试,系统运行原理的详细示例,以及只使用主流 CPU 证明软件生成能力和性能的试验数据。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
边缘可用区
腾讯云边缘可用区(TencentCloud Edge Zone,TEZ)是腾讯云的本地扩展,适用于解决计算、存储和服务可用性问题。腾讯云边缘可用区可为您带来云的诸多优势,例如弹性、可扩展性和安全性。借助腾讯云边缘可用区,您可以在靠近最终用户的地理位置运行对延迟敏感的应用程序,基本消除延迟问题。腾讯云边缘可用区提供与中心节点一致的体验,助力业务下沉,具备更低延时、更广覆盖、更少成本等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档