1.3 人工智能会让程序员失业吗
当人工智能逐渐强大,大家开始担心:人工智能下一步又要在哪个领域“干掉”人类?AI会让人类程序员失业吗?对此问题持肯定态度的人并不在少数。
例如,美国橡树岭国家实验室(Oak Ridge National Laboratory,ORNL)在2017年发布的论文《人机混编的代码意味着什么?人类2040年还需要亲自编写代码吗? 》(“Will humans even write code in 2040 and what would that mean for extreme heterogeneity in computing?”)中表示,到了2040年,大多数的程序代码将由机器生成。
2040年距今天还有些距离,至少当下,AI没有让程序员失业,而是让程序员更贵了。在《AI时代,为什么程序员这么贵》一文中,CSDN总裁蒋涛认为,AI的发展不仅不会使程序员消亡,反而使得各行各业比现在更加需要程序员——程序员的求职范围不再局限于软件或互联网行业,社会总需求激增,人才自然也就更贵了。
当前的势头确实如此,不过,再过5~10年,程序员还会如今日行情吗?笔者认为,在不久的将来,编程将从职业技能逐步蜕变为职场通用技能。
我们可以类比“识字”这个技能来看。百十年前,大多数人还不识字。当时,识字无疑是一种职业技能,具备了这一技能,就可以获得一个比大多数人工作环境更优越、报酬也更高的职位。但到了今天,识字率已经逼近100%,仅仅“认识字”,也只能从事低端工作。
未来,编程很可能成为人人必备的一项技能。职场中的一员,除了要具备听说读写本国语言的能力外,还得能够读程序、写代码——即使一时无法覆盖全员,至少是朝着这个方向发展。而职业编程人员将越来越少。
从语言特征(词汇、语法等)的角度讲,最复杂的编程语言也远比最简单的自然语言简单得多。我们学习各种自然语言是为了日常生活与人交流、收取信息,学习编程语言又是为什么呢?我们可以用编程语言描述事物、概念,以及它们之间的相互关系和运行方式,将大千世界转化为计算机能够理解的电信号,驱动硅晶金属构造的部件去完成我们想要完成的任务。
编程的核心在于通过各种各样的算法去实现具体的业务逻辑,把繁杂的过程抽象化、可计算化。从纯粹软件的角度讲,图灵奖获得者尼古拉斯·沃斯曾说过“Algorithm + Data Structures = Programs”,即“算法 + 数据结构 = 程序”。
受过计算机科班教育的读者一定上过一门课——数据结构与算法,这门课是计算机科学的基础。最简单的算法有排序、查找等,进阶的算法有动态规划、分治、回溯等,这些算法都是几代计算机科学家从解决现实问题中提取出的解决方案——这些才是编程的核心。
今天的程序员学习编程,首先了解编程语言的语法特征,其次掌握编译或解释的过程,以及编译器/解释器的性能、调试方法、工具等,然后配合算法,实现业务逻辑,这样几乎就可以用计算机做任意的事情了。
但把目光放长远些,只会这些还远远不够。
虽然目前基础算法和机器学习还是泾渭分明的两部分内容,但我们认为未来这两部分终将合流。
随着落地点和应用越来越多,机器学习必将融入常规编程之中。反过来,能够让越来越多的人在编程中运用机器学习的成果,也是计算机技术发展的结果。虽然人类对于用数值表达事物,用运算推演事物联系的研究已经持续了数千年,但在没有计算机的年代,稍微复杂些的数值计算就需要数学家、统计学家的介入,普通人难以胜任。后来,有了Excel之类的工具,一般人也可以胜任常用的数据统计工作了。
机器学习也是一样的道理,大量工具、框架的涌现,使得运用算法处理数据、训练模型的过程越来越简单高效。那些曾经高高在上的机器学习模型变得触手可及,只要编写几行代码,就能拿来使用了。这种便捷使得所有具备编程经验的人都可以轻松上手机器学习。
工具虽多,但要用对地方,还得掌握其基本原理。通过使用统计工具,我们可以很方便地计算均值、方差、中位数等指标,但要让计算结果有用,总要先明确这些指标的定义、计算公式和物理意义。同理,在机器学习领域,我们也有若干历史悠久的经典模型,它们从实践中来,经历了千锤百炼,在数学层面被严格证明为有效。那么,学习这些经典模型的模型函数、目标函数,从模型函数到目标函数的运算过程,各个函数相应的物理意义,最优的方法……就成了使用它们的必要前提。掌握了这些模型,再与特征工程结合,就可以用来支持现实业务了。
计算机技术飞速发展,各种工具、框架、语言日新月异,但是蕴含在机器学习中的原理和公式推导却是稳定的,经得起时间考验。我们学习机器学习,不仅是为了胜任AI工程师的岗位,也是为了掌握一种通识技能。未来机器学习极有可能会像现在的四则运算一样成为大众必备的基础能力。
另外,学习机器学习也是一种对思维的训练。用数值表达现实事物,用运算描述任务目标,再通过算法处理数据,找到达到目标的最优路径——这种思维的形成过程,远比学会模型本身更为难得。经过这种思考训练内化出的思维能力,无疑是能相伴学习者终身的助力,而这种能力也很难被机器或低端劳动所替代。
读者服务:
微信扫码关注【异步社区】微信公众号,回复“e60894”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。