澳门新葡亰信誉平台游戏AI 要抢“码农”饭碗?微软剑桥联合推出 DeepCoder

by admin on 2020年4月19日

微软和剑桥大学的研究员近日发布了一篇论文,文中阐述了其科研成果——一个会编程的机器学习系统。

澳门新葡亰信誉平台游戏 1

该系统叫DeepCoder,能够解决编程比赛所涉及到的基础编程题目,为不会编程的人提供了制作简易程序的可能。

Kite,那个能为“程序猿”们减少写Python代码时的重复劳动的“自动完成AI”,近日宣布,为了回应社区的反馈,它已经添加了对Ubuntu
16.04+、Debian、Fedora、Archlinux、Linux Mint的Linux支持。

论文地址:

现在,在Linux环境中编写代码的Python开发人员可以使用他们喜欢的代码编辑器编写更高效的软件。

澳门新葡亰信誉平台游戏 2

Kite 是TEEC天使基金投资项目,名列2016年度最热门新工具前五名
。Kite是一款将人工智能技术应用到开发工具里的应用程序,它可以为用户带来智能补全式的新一代开发体验。

DeepCoder的创造者之一,在剑桥大学参与微软研究项目的 Marc Brockschmidt
表示:“该程序最终可以让非编程人员通过向计算机描述自己的程序构想来获得想要的程序,系统会自动写就。”

Kite相当于一个人工配对程序员。在编写代码时,它会显示用户使用的库和终端命令的示例文档。
Kite甚至可以自动检测并解决用户的简单的错误和需求,使用户专注编程的整体项目,无需担心细节问题。

DeepCoder所用的技术叫程序合成( program
synthesis),通过截取已有软件的代码行来组成新的程序,不得不承认,当下很多程序员也是这样做的。通过学习一系列代码片(code
fragment)的输入(inputs)和输出(outputs)数据,DeepCoder能自动摘取出对目标任务有用的代码片。

“在Kite,我们的目标是帮助开发人员在更短的时间内创建更好的程序,”Kite的首席执行官兼创始人亚当·史密斯(Adam
Smith)说。

在Copy代码这件事情上,AI可能比你牛

“Linux受到世界各地程序员的喜爱,所以我们很高兴能够添加Linux支持,使开源开发人员能够使用我们的代码行预测完成技术更快地编写代码。”

机器的检索速度、广度、及深度强于人类程序员,这很好理解。更重要的是,机器能够以其出其不意的方式组合代码片,换句话说,该系统或许正以其“机器视角”革新编程这件事。

在耗资1700万美元的首轮融资之后,Kite推动了AI辅助编程的前沿,它使开发人员可以使用自动完成建议(类似于Gmail中的智能组合)更快地完成Python代码的完整行。

基于以上原因,该系统编写代码的速度远快于人类。旧有的编程AI需要不断地尝试代码片组合以使程序成功运行,一般来说这一过程需要几分钟。但DeepCoder可以在一秒钟之内写出能够跑通的程序。随着DeepCoder的编程经验增加,其分辨有用及无用的代码片的能力增加,其生成程序的速度将会越来越快。

Python程序员可以使用Kite以更少的麻烦构建可转换的应用程序,而不是复制和粘贴StackOverflow,编写样板代码,并反复修改简单的错误。

不过麻省理工大学研究员
Solar-Lezama表示,程序员并不会因此而失业,“在程序员为DeepCoder搭建起程序框架之后,就能够将精力放在更复杂、更需要经验驱动的事情上”。

自从Kite在1月份首次推出新的代码行完成引擎以来,用户在编码时的代码使用完成量增加了一倍。

目前DeepCoder只能生成五行左右代码的程序。但对于某些编程语言来说,五行代码就足够了,不是吗?

通过改进其类型推断引擎,允许在名称中间输入补全,Kite将显示给用户的代码补全数量增加了40%。

不能一口吃个胖子

这使得选择Kite的用户的代码行完成率增至以前的两倍。

目前让机器自动生成一个大规模的程序还不现实,但大程序也是由小的代码片堆成的。

Kite在PyCon上发布了支持Linux的新闻,PyCon是最大的Python用户会议,在会上他们展示了开发人员如何使用Kite消除重复工作,并在Windows、Mac和Linux环境中达到编码效率的峰值。

在知名评论网站Hacker News上,有网友就此事评论道:

Kite使用来自高阶开发人员的数千个公开可用的代码源来训练它的机器学习模型。

“论文里的方法很特别,旧有的GPs、GA技术耗时长,错误率大。”

全世界有超过40,000名Python开发人员使用Kite,目前它可用于所有流行的Python编码环境,包括Atom、Pycharm、Sublime
Text、Vim和VS代码。

另有网友做出了挑战生成模型根本性的疑问:

Kite的创始团队由多位毕业于斯坦福,牛津,MIT,伯克利等名校的工程师组成,定位于San
Francisco,致力于改变人们开发产品的方式。

“和监督学习不同,这些能够生成人脸、画作、代码的生成模型,并没有客观的测试集来验证它们是否真的‘生成’了东西。你怎么知道这些被生成的东西不是从训练数据集里简单提取拼凑的呢?”

不过,“程序猿”们目前并不用担心这种人工智能的出现会让他们失业。目前,能自动完成编程的人工智能通常还只能完成较为简单的任务,所需运行时间也很长,距离能代替人类程序员的程度还有很长的路要走。

来源:人工智能头条

Kite并非“独一无二”

以色列初创公司Codota所开发的人工智能辅助编程项目通过在线对接Eclipse这类开源集成开发平台,可以为程序员在编程时实时推荐代码方案,而且可以推荐大段的代码语句,而非只是零散的代码。

搭建Codota的基础代码来自GitHub和StackOverflow等开源平台,Codota的创始人Dror
Weiss和Eran Yahav
通过将开源代码注入机器学习模型中,使Codota能够读懂复杂的代码含义。

Google AutoML
系统也能够自主编写机器学习代码,其效率在某种程度上竟然超过了专业的研发工程师。

AutoML更进一步,实现了训练过程的自编码,通过类似Axure的拖拽方式就能完成对话操作。

AutoML
在机器学习系统的编程上,远胜于创造它的研究人员。在某个图像识别任务中,其实现了创纪录的
82%
的准确率。即使在一些复杂的人工智能任务中,其自创建的代码也比人类程序员优越。它可以在图像中标记多个点,准确率达到
42%;作为对比,人类打造的软件只有 39% 。

微软和剑桥2017年发布的论文中也阐述了一个会编程的机器学习系统DeepCoder,能够解决编程比赛所涉及到的基础编程题目。DeepCoder的创造者之一,在剑桥大学参与微软研究项目的
Marc
Brockschmidt表示:“该程序最终可以让非编程人员通过向计算机描述自己的程序构想来获得想要的程序。”

DeepCoder所用的技术叫程序合成( program
synthesis),通过截取已有软件的代码行来组成新的程序。

来自彭博和英特尔实验室的两位研究人员也号称实现了首个能够自动生成完整软件程序的AI系统“AI
Programmer”,这个“AI程序员”利用遗传算法和图灵完备语言,开发的程序理论上能够完成任何类型的任务。

虽然现在AI
Programmer生成的程序,复杂程度与人类新手程序员编写的结果相当。但研究人员认为,AI
Programmer编写的程序完全可以超越传统范畴,不受人类时间和智慧的局限。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图