DeepMind,以其在人工智能领域的发展而闻名 并构建能够在人类水平上玩电脑和棋盘游戏的神经网络,最近公布 AlphaCode 项目 它描述了如何 用于代码生成的机器学习系统 您可以参加 Codeforces 平台上的编程比赛并展示平均成绩。
提到该项目 使用“Transformer”神经网络架构 结合其他采样和过滤方法,生成与自然语言文本对应的各种不可预知的代码变体。
方法 它是如何工作的 字母代码 是基于过滤、分组和排序,然后从生成的选项流中选择最佳的工作代码,然后检查以确保获得正确的结果(在比赛的每个任务中,一个例子输入数据和对应的结果)到这个例子,应该在程序执行后得到)。
我们详细介绍了 AlphaCode,它使用基于转换器的语言模型以前所未有的规模生成代码,然后智能地过滤掉一小部分有前途的程序。
我们使用 Codeforces 上举办的比赛来验证我们的表现,Codeforces 是一个流行的平台,定期举办比赛,吸引来自世界各地的成千上万的参赛者来测试他们的编码技能。 我们选择了 10 个最近的比赛进行评估,每一个都比我们的训练数据更新。 AlphaCode 与一般竞争对手大致持平,标志着 AI 代码生成系统首次在编程比赛中达到具有竞争力的性能水平。
用于近似系统训练 机器学习, 强调使用了公共 GitHub 存储库中可用的基本代码. 在准备好初始模型后,基于一组代码进行了优化阶段,其中包含向 Codeforces、CodeChef、HackerEarth、AtCoder 和 Aizu 竞赛的参与者提供的问题和解决方案示例。
总共,对于 AlphaCode 的形成 使用了 715 GB 的 GitHub 代码 以及超过一百万个竞赛典型问题的解决方案示例。 在进行代码生成之前,任务的文本经历了一个规范化阶段,其中所有多余的都被排除在外,只剩下重要的部分。
为了测试该系统,在完成机器学习模型的训练后,选择了 10 场新的 Codeforces 竞赛,参与者超过 5.000 人。
我可以肯定地说,AlphaCode 的结果超出了我的预期。 我持怀疑态度,因为即使在简单的竞争问题中,通常不仅需要实现算法,而且(这是最难的部分)发明它。 AlphaCode 设法达到了一个有前途的新竞争对手的水平。 我迫不及待地想看看会发生什么!
允许的分配结果 供 AlphaCode 系统输入 大约在这些比赛资格的中间 (54,3%)。 AlphaCode 的预测总分为 1238 分,保证在过去 28 个月内至少参加过一次比赛的所有 Codeforces 参与者中进入前 6%。
应该注意的是,该项目仍处于开发的初始阶段,未来计划提高生成代码的质量,以及开发 AlphaСode 以帮助编写代码的系统,或没有编程技能的人可以使用的应用程序开发工具。
最后 如果您有兴趣了解更多有关它的信息,您应该知道,一个关键的开发功能是能够以 Python 或 C++ 生成代码,将问题的英文陈述作为文本输入。
您可以查看详细信息 在下面的链接中。