李骏扬
人工智能并非是一门单一的学科,而是一门复杂的、具有综合性与学科交叉性的学科。[1]人工智能以数学为核心,目前通常以计算机为实现手段,以解决我们现实中遇到的各种问题。
自2017 年国务院发布《新一代人工智能发展规划》以来,“人工智能”就从一个令人敬畏的词语迅速普及到各行各业,并有以“人工智能”代替一切与之有关词汇的趋势。在教育部新修订的高中信息技术课程标准中,“人工智能初步”也已成为选择性必修的六大模块之一。[2]26当前,教育研究者们纷纷开始思考在基础教育阶段人工智能教学的标准、方法与内容。在开始正式的分析前,不妨先看下当前人工智能教育面临的一些问题。
首先是教学内容与体系上的混乱。目前市场上已经出现了大量的面向青少年的人工智能书籍,其内容主要包括图像处理、机器学习、大数据、Python、语音识别、自然语言处理、生物体特征识别、无人驾驶等等[3],也有书籍对人工智能进行更深入的哲学思考。[4]但是,以上提及的领域并不在同一个维度中,有的属于技术范畴,有的属于应用范畴,这种庞杂性往往使教学内容的编写者无所适从。
其次是师资队伍的缺乏。这也是人工智能教学实施的困难之一。很多教师对于人工智能领域不了解,也缺乏人工智能的实践经验,由此阻碍了人工智能走进课堂。[5]
最后是对人工智能概念的泛化。目前,社会机构普遍将“人工智能”的概念泛化,例如用编程教育来替代人工智能教育,用创客教育来替代人工智能教育,或用机器人教育来替代人工智能教育。尽管在这些教育的实施过程中,不乏某些与人工智能相关的案例,但不能说它们就是人工智能。人工智能教育的外延被无限扩大,这值得教育者反思与警惕。
在高中信息技术课程标准中,人工智能被定义为“通过智能机器延伸、增强人类改造自然和治理社会能力的新兴技术”[2]26。卡普兰和海恩莱因则认为人工智能系统“能够正确解释外部数据,从这些数据中学习,并利用这些学习获得的具有灵活适应性的知识,实现特定的目标和任务”[6]。这些对人工智能的诠释都揭示了:(1)人工智能通常以人造的机器(智能体)为载体;(2)这些人造的机器(智能体)具备感知、学习、决策、执行能力中一项或多项功能;(3)人工智能存在的意义在于解决现实问题。人工智能的教学内容也应该围绕着这几个关键点而展开。因此,有必要将这几个关键点逐一做解释。
首先是感知,感知即输入人工智能处理所需要的数据,这些数据包括利用传感器搜集的环境数据,也包括智能体通过网络等多种渠道获得的海量数据,或者智能体通过大数据分析得到的进一步有价值的数据。简单的数据感知只是对数据进行搜集、清洗和存储,而更智能的感知可以对数据进行更智能的处理,例如对无结构化的原始数据采用模式识别等方法进行结构化。这一部分的教学内容包括传感器、AD转换、3D 重建、机器视觉等。另外,对于大数据的部分,可以作为单独的教学模块。
其次是学习与决策。这两者是统一的,人工智能要实现决策,通常需要一个学习的过程学习,往往是通过统计的方法,对已知输入和出的数据进行分析,学习其在统计意义上的联;决策,就是将学习的结果应用到新的数据入当中,从而得到需要预测的结果。大多数过机器学习来构建的系统都有学习与决策的程。(见图1)
无论是早期比较流行的浅层学习方法,是目前非常热门的深度学习方法,都要首先建一个学习机,该学习机就像一个空白的大脑要真正发挥作用,还需要大量数据的训练(习),调整其中的参数。调整这些参数的重要段就是知道当前学习机运行的结果与真实结的偏差,因此需要大量已标注结果的数据(有督学习),而在一些特殊的场合,学习机可以通过现有的数据,而是通过规则判定来实现错对比,比如著名的AlphaGo Zero。[7]
学习与决策的过程,表面上看是程序运的结果,但关键在于算法的设计,即通过数学学习机进行建模和求解。学习者在这一领域习的内容包括模式识别、机器学习、神经网络深度学习、控制理论等等。
最后是执行。决策的结果往往需要通过实的方法来对真实世界进行影响。进行执的,可能是人,也可能是机器人、无人车、飞行等等。因此,电子、机械、电气、控制与自动化相关内容的学习,在这一领域是不可缺少的机器人工程也往往作为人工智能领域的一部分。
人工智能产业,从纵向来说,大致可以分为以下几个层次:核心层、计算层、平台层、应用层、普及层与产业层。(见图2)
核心层是数学与算法构筑起来的,这一层次主要以数学为手段研究人工智能的核心方法,所需要学习的基础内容包括高等数学、线性代数、概率论、优化方法等,并在此基础上学习机器学习、神经网络、控制理论等核心课程。
计算层通过底层代码来实现人工智能的核心程序构建,面向底层的计算机语言程序设计、数据结构、计算方法、基于GPU 的并行计算等,都是这一层次的核心学习内容。这一层级的创新是计算方法、运行效率的创新。
平台层通过整合底层算法,将整个人工智能算法体系平台化、模块化、使用简易化,典型的工作包括机器视觉领域的OpenCV,机器学习(包括深度学习)领域的TensorFlow等。人工智能工程师可以利用这一层的现有工作,以及更简洁的语言(如Python)快速构建人工智能应用系统。
基于这一层次,所学习的核心内容包括Python 语言(或者其他有效的图像化语言),人工智能的基本思想,以及相关平台的使用等等。这一层次的创新是接口的创新,工程方法的创新,这些创新使人工智能被越来越多的普通工程师所用。
应用层,即针对不同的应用领域(包括教育领域、交通领域、医疗领域、家居领域、金融领域、文化艺术领域等)所切实需要解决的问题,构建人工智能的应用系统。
人工智能在这里与其他学科高度的交叉与融合,因此在这一层次所需要学习的内容不仅仅包括人工智能应用系统的构建,也包括所面向应用领域的核心概论与核心方法。这一层级的创新则是基于应用场景、应用领域的集成创新。
在应用层之上,人工智能则向两方向分化,一方面是面向大众的人工智能科普,即普及;另一方面是将人工智能形成产业,并对国民经济的发展产生正向的推动。
普及,是让人工智能走进大众的视野,将现实的人工智能与科幻区分开,让大众了解什么是我们目前真正的弱人工智能,什么是我们未来的强人工智能,或超人工智能,并同时引发我们对人工智能与哲学、人工智能与伦理、人工智能与文化的思考。
产业,则是从更宏观的角度来思考人工智能对国民经济的整体性影响,讨论人工智能给各行各业带来的变革,以及从更长远的视角来论证,我们在教育、经济、文化等各个领域,应该采取哪些必要的措施来应对人工智能带来的变革。
面向不同的年龄与学习层次,人工智能的学习可以分为普及阶段、应用阶段、算法阶段和核心创新阶段四个逐层深入的学习阶段,图3展示了面向不同的学习层次的学习内容构建。
普及阶段主要面向小学教育,人工智能更多是以科普的形式呈现在孩子们面前:我们身边有哪些人工智能?人工智能能做什么?不能做什么?这一阶段同样涉及人工智能的各个应用场景,也涉及人工智能在技术中的各个领域,例如无人驾驶、三维重建、自然语言处理、生物特征识别等。这一阶段的人工智能教育以体验为主,利用面向儿童创设的情境,采用封装良好且易用的人工智能技术装置或软件系统,来解决情境中的问题。[8]
应用阶段主要面向初中和部分高中学生,在课程设计中面对真实问题,引领学生思考如何让人工智能在解决问题的过程中发挥作用。这里的人工智能面向不同的应用场景和技术领域,融入STEAM 的教学理念,采用图形化编程或Python 语言作为平台,进行初步的人工智能应用设计。
在高中阶段,部分对人工智能感兴趣的学生可以进入算法阶段的学习,可结合高中数学知识,理解部分人工智能的算法的基本思想,理解人工智能与数学之间的天然联系。
在大学阶段(包括硕士、博士研究生阶段),对于专业学生,可以深入核心算法的学习,并在核心领域进行创新。
在基础教育阶段,人工智能教学的实施需要注意以下几个问题:
在基础教育阶段,无论是对人工智能进行科普,还是引导学生理解算法的核心思想,人工智能都不是单一的知识学习,而是对问题的解决。因此,课程设计建议从现实问题(情境)出发,层层深入,最后回到问题的解决上来。
在此过程中,对于不同的学段或者不同的学习层次的学习者,所学习的深度是不同的。但是,课程中技术层次浅显,不代表着思维层次也可以浅显,课程设计中必须融入学习者对学习内容的思考与辨析,融入创新与创造,忌将课程教案设计为硬件组装说明书,忌在教学设计中给学生提供完整的软件代码。
计算思维是人工智能课程的重要组成部分,在以往的计算思维的基础上,教学中还必须融入数据的思维[9]和智能的思维[10]。
人工智能的多学科交叉体现在两个方面,首先在核心领域,人工智能以数学为基础,以计算机为实现手段,同时与控制、信息等领域有诸多交叉。其次,人工智能所要解决的问题,是面向不同学科领域的。因此,面向问题解决的人工智能教学,其多学科交叉是自然的,无需刻意谋划,这也对我们教师的课程设计,以及教师的自身素养提出了更高的要求。
要充分认识到数学在人工智能中的核心地位,并在各个学段的教学中,由浅入深、由少至多地融入数学的元素。尽管对于较低年龄段的学习者来说,对人工智能的核心算法缺乏数学这一基本工具,也缺乏计算机的实现手段,但是数学的基本思想是可以用语言和故事来表述的,随着学习阶段的提升,对照初中及高中的数学课标,部分数学内容完全可以和人工智能课程进行融合,以数学的思想来引领人工智能算法的核心思想。
在人工智能教学中融入数学,因为我们培养的人才不仅仅在应用领域进行创新,我们也更需要那些深入底层,能够在核心领域进行创新的人才。核心领域的创新能力才能赋予国家具有实质性优势的创新能力,也才能够真正抵御外部环境带来的技术封锁的风险。
人工智能教育已经在各个教育阶段逐步普及,但这种普及并不是平均的,而是在各地区各校之间存在巨大的差异。这种差异也会给学生未来进入新的学校学习带来负面影响,比如重复性地学习会让学生失去学习兴趣,而另一部分学生则不得不加快学习的进度以赶上班级的平均水平。学校在开展人工智能课程时也会因此带来新的挑战。在教学设计时应该充分考虑这些差异,充分考虑如何让以往对人工智能接触较少的学生赶上平均水平,也必须考虑让水平已经较高的学生可以收获更多。将课程模块化,“车轮式”地开展课程的不同模块,为不同层次的学生构建更加丰富和精准的选修形式,可能是解决这一问题的有效方法。
综上,人工智能正在以前所未有的速度走进我们的生活,走进我们的教育。对于任何教育者,都不得不迎接人工智能对我们的教学所带来的变革。与其在变革中被抛弃,不如在变革中改变。让更多的学生在课程中获得更多的收获,是构建课程内容的核心问题,这也同时值得我们在教学实践中不断地探索、完善。