科技传媒网讯据国外科技新闻报道,知名科技公司微软近日联合剑桥大学共同发明了一种能够编程的AI。如此看来,继蓝领工人、记者、陪护等职业之后,程序员也将被列为有可能被人工智能取代的职业之一。
据了解这是一种由微软与剑桥大学合作开发的一个新算法,名叫DeepCorder。DeepCorder采用一种原创的编程语言(至于为什么原创,因为普通的编程语言太难了),内置了基本的四则运算以及一些基本函数。DeepCorder使用简单的DSL语言,这种语言允许机器将小的语句和程序块逐个拼接成更大的部分(类似于微软的LINQ语言),如此一来,你以为机器在思考,实际上它只是在做执行。
DeepCoder使用被称作“程序组合”(programsynthesis)的方法,只要给定系统输入值和需要的输出结果,DeepCoder便可透过搜寻其他程序的程序代码,挑出适合的程序代码片段,再组合成可运作的程序,让程序顺利生成需要的结果。事实上,这个步骤就像许多工程师常做的事:在程序问答网站StackOverflow上搜寻适合的程序代码,再“复制贴上”他们认为可行的程序代码片段。
研究团队指出,和人类工程师相比,DeepCoder能更全面、广泛地搜寻程序码范例,因此程序代码的组合方式可能是过去人类从未想过的。此外,DeepCoder将机器学习应用在每次的搜寻和组合程序代码,相较于旧有系统需要花费好几分钟才能选出正确的程序组合,DeepCoder只需几秒就能写好程序,且速度还会随着练习越来越快。
但是与传统的枚举法不同的是,DeepCorder采用神经网络来辅助搜索过程。尽管如此,目前让人工智能技术DeepCorder来代替程序员依然是不可能实现的。DeepCoder完成的程序生成是一种叫做InductiveProgramSynthesis(IPS,归纳式程序合成)的特例;在这种程序生成方法中,机器通过观察输入输出的样例组合来生成一个“与当前样例数据行为一致”的程序。也就是说,机器依靠的不是思考,而是大量数据基础上的“猜”。
如此看来,广大程序员们依然不必为了一个名字叫DeepCorder的AI来伤脑筋,人类的智慧依然不是现在的人工智能技术所能比拟的,但是未来,十年二十年之后,笔者就不确定了。所以,程序员们趁现在抓紧挣钱吧。
赞赏