AI正在各个行业内掀起一场革命,但很多人还没有想好该如何迎接它。
近日,CMU计算机科学学院副教授David Kosbie、院长Andrew W. Moore以及外联副院长Mark Stehlik三人联名在《哈佛商业评论》上发表了一篇题为《如何让下一代人为AI经济下的工作做好准备》的文章,在文章中,针对即将到来的AI时代,三人在对下一代人的教育方面给出了自己的看法,既谈及了现状,也提出了建议。
他山之石,可以攻玉。
量子位将原文编译如下,希望读者能有所收获:
大部分人将自动驾驶汽车、语音助手以及其他人工智能技术看作一场革命。
然而,对于下一代人而言,这些曾经难以置信的科技也许将会伴随他们一生。AI对于他们而言将不仅仅是一种工具,在许多情况下,AI会是他们的合作者,以及生活中不可或缺的一部分。
如果要让下一代人有效地利用起AI和大数据,让他们理解这些技术固有的局限性并创造出更好的平台和智能系统,我们需要让他们现在就准备好。这意味着要在基础教育方面做出某些调整,更进一步,需要对现有的计算机科学教育进行一些必要的、早该完成的升级。
举个例子。想想孩子们是如何同AI和其他自动化科技进行互动的:对Siri说一句“给我看一些穿着橙色裙子的名人的照片”,不到一秒后,就能在智能手机上看到一幅泰勒·斯威夫特的影像——这看上去就像一场魔术。
但这显然不是魔术。
在设计AI系统时,人们会将一个大问题细致地分解成许多小问题,并使这些针对小问题的解决方案能够联系在一起。在上面的例子中,AI程序会将音频分成一些数据块,将它们上传到云,确定其可能的意义并将结果转化为一组搜索请求;随后,系统会将数百万种针对这些请求的可能答案进行分类和排序。因为云的可扩展性,这一过程只需要耗费几十毫秒。
这并不是特别困难的事,但仍然包含许多要素:用于转译音频的波形分析、用来教会机器识别裙子的机器学习、保护信息的加密技术等等。虽然,这其中有许多都是在各种应用上被用了一遍又一遍的标准技术,却也不是某个孤独天才闭门造车就能搞出来的东西。
创造这类技术的人必须学会建立团队,在团队中工作,并能够从其他团队做出的解决方案中获取灵感——而这些同样是我们需要教会下一代的技能。
以及,随着AI开始接管工作场所中的日常事务信息以及手工作业,我们需要额外强调那些将人类工作者同AI区分开来的品质——创造力、适应性以及人际交往能力。
从基本层面看,这代表我们要着重强调那些能够激励他们解决问题的训练,同时教会他们如何进行团队合作。令人高兴的是,在K-8(美国绝大部分私校采用的八年学制)层级上,有很多探索式学习、专案式学习方面的尝试——尽管我们不知道有多少地区在实践这条路线。
在每一层级的教育上,伦理学都应该更多地被关注。AI技术从出生起就始终面临着伦理困境——举个例子,如何将种族、伦理和性别方面的偏见排除出机器的自主决策?在乘客和行人的生命之间,一辆无人车会做出什么样的选择?不论是编程者,还是其他参与这些规则制定的人,都需要在深思熟虑之后审慎决定。
△ MIT推出的图形化编程语言Scratch
在基础教育阶段,我们并不用急着去教孩子们写代码。当然,Snap!和Scratch这类图形化编程语言在教学中十分有用,如果孩子乐在其中,从小就学编程也没什么不好。但写代码这件事,孩子们晚些时候同样能学起来。
不过,要是觉得不想做码农的孩子根本不需要学编程,就不太对了。随着世界变得进一步数字化,计算机科学在艺术和科学世界里已经变得与写作、数学一样重要了。不论一个人是否选择成为一名计算机科学家,会写代码都能帮助他在自身领域中完成更多的事情。这也是为什么我们相信,在九年级的课程中应该开设一门基本的电脑编程课。
目前只有40%左右的美国学校会教授编程,而且这些课程的质量和严谨性全都参差不齐。参加计算机科学方面大学先修课程考试的学生数量正在显著增加,但与308000名参加大学先修微积分课程考试的学生数量相比,这个数字依然显得苍白无力。甚至有三分之一的学校没有将计算机科学课程的学分纳入毕业所需条件。
在这方面美国已经落后于很多国家了。
以色列已经将计算机科学课程纳入自己的大学预科课程框架内;英国近来在“Computing at School”项目上取得了长足进步;德国和俄罗斯同样走在了我们前面。奥巴马总统在他2016年国情咨文中提到的“Computer Science for All”计划来得虽然有些迟,但仍然走在正确的方向上;然而现在,它正因为特朗普政府的可能提出的预算削减而风雨飘摇。
在高中阶段推广计算机科学不仅对学生有益,通过鼓励更多的、拥有更为丰富背景的学生进入这一行业,计算机科学领域本身也将得到进一步发展。
当去年秋天发现卡梅隆内基大学的大一新生中接近一半是女生时,我们一度非常兴奋;但尽管如此,我们仍在为增加计算机科学领域内女性和少数族裔的人数而努力。在系统中构建智能,从无处不在的数据中寻得意义——更为多元化的科研力量将帮助我们更好地实现这些任务。
要取得成功,及时对所学知识进行更新是非常重要的一点。
有太多时候,我们还在按上世纪90年代的方式教授编程,那时代码的细节还被认为是计算机科学的核心。如果你能一头扎进代码之中,苦心钻研,你可能多少会学到点东西——但这件事本不该这样完成。
写代码是一项非常富有创造力的活动,因此我们设计的编程课程也应该是有趣和令人激动的。举个例子,在纽约,“女童军”开设了一个教女孩们用Javascript来创作和美化视频的项目——因为这件事既有趣,又与生活息息相关,孩子们就非常乐意参与其中。为什么我们的学校不能效仿呢?
九年级之后,我们认为学校应该提供诸如机器人学、计算科学、计算艺术一类的选修课,来培养那些有兴趣、有天赋的学生们,让他们有机会成为计算机科学家,或任何需要计算机来提升自身领域工作水平的人。
除了准备大学计算科学预科考试所必须的核心训练之外,很少有美国高中能在这方面走得更远,尽管,我们已经在如纽约城的Stuyvesant高中、弗吉尼亚州的Thomas Jefferson科学技术高中以及达拉斯的TAG (The School for the Talented and Gifted)学校,看到一些非常成功的案例。
同时,我们强烈建议高中的数学课更多地将关注点放在那些与计算机科学直接相关的数学领域,比如统计学、概率论、图形理论和逻辑学。在未来数据驱动型的工作中,这些都将成为最有用的技能。
需要克服的一个主要障碍是,我们正面临着计算机科学领域师资的严重短缺。而在这点上,美国的科技公司能帮上非常大的忙。比如,微软就赞助了TEALS项目,每周都会安排几个小时的时间,来让计算机专家和高中教师进行合作教学。
但我们仍然需要成千上万,乃至更多的教育者参与进来。在学术界,德州大学在奥斯汀的UTeach项目为教师的培训树立了一个标杆。目前,这个项目已经推广到21个州以及哥伦比亚特区的44所大学。
我们还需要更多。
在科学、数学方面,我们需要政府来为K-12层面的计算机科学教育制定标准,包括教科书、课程,以及高质量的师资。计算机科学教师协会在这方面一直是领导者,他们发布了一个标准框架以及若干条过渡性的标准条件。