DeepMind的一组研究人员已经解决了另一项艰巨的任务——生成计算机代码以满足自然语言请求。在他们发表在《科学》杂志上的论文中,该小组描述了他们在创建人工智能应用程序时使用的方法,并概述了它在与人类程序员对抗时的表现。卡内基梅隆大学的J.ZicoKolter在同一期期刊上发表了一篇Perspective文章,概述了让计算机生成计算机代码所涉及的许多问题以及伦敦团队所做的工作。
生成计算机代码以创建将执行预期目的的程序或应用程序从简单到极其复杂各不相同。几十年来,人类一直在简化这种方法,试图让个人或团体以合理有效的方式创建更复杂的程序。最近,计算机科学家开始考虑让计算机进行编程的想法——这种方法代表了计算机可以做的事情的巨大转变。
如果可以使计算机在运行中创建代码,那么任何用户都可以要求他们的计算机专门为他们创建程序以满足他们的独特需求——并且可以快速免费地完成。问题是科学家必须首先弄清楚如何实现该目标。目前的希望是深度学习神经网络可以完成这项工作。如果可以教会这样的网络编程是如何工作的,以及如何使用它编写的代码实现预期的结果,它应该能够通过审查自己的结果和其他人的结果来随着时间的推移提高自己的能力。简而言之,这就是DeepMind团队正在做的事情。
该团队创建了一个名为AlphaCode的系统,该系统能够“聆听”人声(或在计算机屏幕上阅读)告诉它需要计算机程序做什么,然后“思考”提示。接下来,它必须将提示转化为行动计划。一旦有了行动计划,它就必须将用户的提示转化为一系列可以转化为计算机代码的步骤。毫无疑问,这整个过程对计算机科学家来说听起来很熟悉,因为它构成了系统编程的基础并且已经存在了很多年。
在这项新的努力中,研究人员并没有试图通过向系统展示代码结构的工作原理来教他们的系统如何编码——相反,他们只是用大量代码对其进行训练,并让它通过观察来学习。该方法似乎有效,AlphaCode在参加编程竞赛时获得了“平均”评级,这是一个令人印象深刻的开端,考虑到该项目仍处于早期阶段。