DeepMind 提出了一种机器学习系统,用于根据任务的文本描述生成代码

DeepMind公司以其在人工智能领域的发展以及构建能够在人类水平上玩计算机和棋盘游戏的神经网络而闻名,该公司提出了AlphaCode项目,该项目正在开发一种机器学习系统,用于生成可以参与的代码参加 Codeforces 平台上的编程竞赛并展示平均成绩。该开发的一个关键功能是能够以 Python 或 C++ 生成代码,并将带有英文问题陈述的文本作为输入。

为了测试该系统,我们选择了 10 场新的 Codeforces 比赛,参与者超过 5000 人,这些比赛在机器学习模型训练完成后举行。完成任务的结果使 AlphaCode 系统进入了这些比赛评级的大约中间位置(54.3%)。 AlphaСode 的预测总体评分为 1238 分,这确保了在过去 28 个月内至少参加过一次比赛的所有 Codeforces 参与者中进入前 6%。值得注意的是,该项目仍处于开发初期,未来计划提高生成代码的质量,以及将AlphaCode开发为有助于编写代码的系统,或可用于编写代码的应用程序开发工具。供没有编程技能的人使用。

该项目使用 Transformer 神经网络架构结合采样和过滤技术来生成与自然语言文本相对应的各种不可预测的代码变体。经过过滤、聚类和排序后,从生成的选项流中剔除最优的工作代码,然后进行检查以确保获得正确的结果(每个竞赛任务指示一个输入数据的示例以及该示例对应的结果) ,应在执行程序后获得)。

DeepMind 提出了一种机器学习系统,用于根据任务的文本描述生成代码

为了粗略地训练机器学习系统,我们使用了公共 GitHub 存储库中提供的代码库。准备好初始模型后,根据 Codeforces、CodeChef、HackerEarth、AtCoder 和 Aizu 竞赛参与者提出的问题示例和解决方案的代码集合,进行了优化阶段。总共使用了来自 GitHub 的 715 GB 代码和超过一百万个典型竞赛问题的解决方案示例进行训练。在进入代码生成之前,任务文本经历了规范化阶段,在此期间消除了所有不必要的内容,只留下重要部分。

DeepMind 提出了一种机器学习系统,用于根据任务的文本描述生成代码


来源: opennet.ru

添加评论