到2040年大多数软件由机器来编写!(附论文)

2017 年 12 月 6 日 云头条

不过人们在编写代码方面仍会发挥作用。


美国能源部下属橡树岭国家实验室的研究人员推测,到2040年,机器学习和自然语言处理等人工智能(AI)学科领域迎来的进步将使编写大多数软件的主体由人类转为机器。


在一篇经由ArXiv发表的论文《人类在2040年是否还会编写代码,这对计算界的极端异质性而言意味着什么?》中,橡树岭国家实验室的几位研究人员杰伊•杰伊•比林斯(Jay Jay Billings)、亚历山大•麦卡斯基(Alexander McCaskey)、杰弗洛伊•瓦利(Geoffroy Vallee)和格雷格•沃特森(Greg Watson)表示,20年以后,机器将完成大部分编程工作。


这四位研究人员表示:“无论在研究机构还是在市场,都已经存在将帮助编写和采用机器生成的代码的主要技术。”


他们还预计,各有关方在努力提高生成代码的效率,可能会使编程变成一种相当平常的工作。


他们表示,如果人们果真需要编写一些代码,“他们可能会发现,使用自动完成和代码推荐功能比自己编写一行行新代码还要来得费时间。”


他们提到了表明当前研究趋势的几个例子:美国国防高级研究计划局(DARPA)推动机器学习的概率编程(PPAML)计划,该项目旨在让机器学习具有更广泛的可用性和适用性;DeepCoder和AutoML,这两个项目利用机器学习生成代码;用有限的输入来构建知识的本体生成工具,比如用于有向无环图的Dresden本体生成器(DOG4DAG);以及代码生成技术,比如Eclipse建模框架(Eclipse Modeling Framework)和Sirius。


他们还表示,面向科学代码库的应用编程接口(API)正在变得标准化,因而学术界只需要了解问题领域,不需要很精通使用API这方面。


无法保证未来肯定是这样,不过目前的DevOps(开发运维)实践/做法高度依赖自动化,由于AI方面的进展和人类程序员使管理大规模技术基础设施的工作实现系统化,将来只会更加依赖自动化。如今还在涌现出采用各种编程语言(比如Go)的工具,用于编写专门编写其他应用程序的应用软件。


这种系统面临的主要挑战之一将是,处理迥异不同的硬件架构和软件需求。研究人员预计机器学习系统会需要进一步的抽象层跨异构系统进行操作。不过他们提到了Facebook的最近研究项目,声称这表明机器也许可以彼此协商,传达各自的需求。


在无需码农即可编写代码这条路上面临的另一块绊脚石是,需要更深入地了解如何分配硬件资源,以便每个系统都得到最优化使用。只有在此基础上,自动化编程系统才可以利用IBM受人脑启发的神经形态芯片True North(这种芯片处理模式识别起来比双精度算法更胜一筹),选择算法和实现细节。然后,它可能转而使用量子计算机来优化代码。


比林斯、麦卡斯基、瓦利和沃特森认为自动化编码是专注于更高层问题的一条途径。 他们下结论道:“机器在人类指导下编写代码只会进一步提高我们探索宇宙、享受生活、高速传输Netflix视频流的能力,如果它让我们无需操心学习如何让极其不同的异构系统协同工作带来的麻烦,更是如此。”


卡内基•梅隆大学人机交互研究所的副教授杰夫•比格姆(Jeff Bigham)在发给IT外媒The Register的电子邮件中也表示,程序设计的性质在未来几年会发生变化,不过他对橡树岭国家实验室研究人员的一些假设提出了质疑。


他说:“到2040年,你仍需要懂得如何将问题分解成计算任务的人员(也就是计算思维方面的专家),但是那些人可能没必要像现在的程序员那样需要谙熟计算机语言、数据格式和API等方面的具体细节。”


他预计,23年后编程会变得更自然,高级语言能够适应句法上不正确的伪代码(pseudo code)。他把这个飞跃比作编程界在过去二十年所发生的变化。


他说:“1997年,我得知道几乎每个部分是如何工作的,我所能参考的是一些书,也许还有某个在线新闻组。而如今,我只要知道大体方向,然后我可以在Stack Overflow网站上找到具体细节。到2040年,机器学习将填补我目前希望有人在Stack Overflow上为我填补的空白。那将很了不起,不过还不是计算机真正为我编程。”


比格姆表示,自然语言处理异常困难,计算机仍然不是很擅长这方面。


他还对论文中提出的这一个问题提出了质疑:“给我一杯早晨的星巴克咖啡,按照标准假设,十分钟后咖啡温度是多少?”


该论文提出这个问题好比可通过自动化代码来加以克服的某种编程挑战。


比格姆表示,不应该作出这样的“标准假设”,因为这样一来掩盖掉了原本可以顺利编写出咖啡温度预测算法的好多问题,比如杯子材料、外面的温度、咖啡冷下来后有没有被喝掉,等等。


他说:“如果你认为现在程序员的角色是拿来一个完全明确的问题作为输入内容,然后把它变成机器可以理解的一种语言,那么到2040年,这样的程序员可能为数不多。即便是如今编写得最好的规范,也包含许多未明确说明的常识性假设。”


论文:


相关阅读:

中高端IT圈人群,欢迎加入!

赏金制:欢迎来爆料!长期有效!



登录查看更多
5

相关内容

人们为了让计算机解决各种棘手的问题,使用编程语言 编写程序代码并通过计算机运算得到最终结果的过程。
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
255+阅读 · 2020年6月10日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
医疗知识图谱构建与应用
专知会员服务
373+阅读 · 2019年9月25日
数据科学即将迎来“无代码”时代
大数据文摘
4+阅读 · 2018年10月21日
快讯 | Facebook将推出PyTorch 1.0,整合Caffe2 + PyTorch
大数据文摘
3+阅读 · 2018年5月3日
人工智能与机器学习技术在医疗保健行业中的应用
深度学习与NLP
10+阅读 · 2018年3月25日
吴恩达说,AI论文够多了,赶紧搞吧!
云头条
20+阅读 · 2017年11月13日
资源 | 适合AI新手的9款人工智能开源软件
AI100
3+阅读 · 2017年11月13日
基于机器学习的KPI自动化异常检测系统
运维帮
12+阅读 · 2017年8月16日
Arxiv
3+阅读 · 2019年3月1日
Arxiv
4+阅读 · 2018年11月7日
Arxiv
8+阅读 · 2018年5月1日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关VIP内容
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
255+阅读 · 2020年6月10日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
医疗知识图谱构建与应用
专知会员服务
373+阅读 · 2019年9月25日
相关资讯
相关论文
Top
微信扫码咨询专知VIP会员