中小学人工智能教育的五级框架
作者: 钟柏昌 顾荣桢
如今,以自然语言处理为代表的人工智能技术在改善人们生产生活的同时,也带来了信息茧房、算法陷阱、欺诈舞弊等挑战。在此背景下,开展扎实有效的中小学人工智能教育显得极为重要。当前,国内外学者对中小学人工智能教育的目标定位颇具共识,即它并非人工智能专业人才的培养,也并非少数人的教育,而是提升未来公民均需掌握的基本生存能力——人工智能素养[1-2]。人工智能素养的培养离不开高质量的人工智能教育资源。虽然目前相关课程资源的开发并不鲜见,但绝大部分来自高等教育领域,需要学习者具备较高的理工科专业基础,并不适用于中小学师生。毋庸置疑,人工智能的跨学科性和前沿性决定了其具有较高的技术门槛,这显然与人工智能素养的普及培养存在矛盾。能否有效解决这个矛盾,决定了人工智能教育普及开展的成败。为此,本文构建了中小学人工智能教育的五级进阶框架,通过降低门槛、逐层递进的方式提升学生的人工智能素养。为帮助读者理解,本文以“停车场自动抬杆系统的优化”为例,设计并详述了基于五层进阶框架的项目式教学案例作为参考。
拾级而上:中小学人工智能教育的五个层级
对人工智能教育进行分层的做法并非鲜见,国内外已有一些研究做出了积极的探索。例如,《美国K—12 人工智能教育行动计划指南》将人工智能教育分为K—2 年级、3—5 年级、6—8 年级、9—12 年级4 个阶段[3]。又如,国内《中小学人工智能课程指南》根据小学、初中、高中3 个阶段分别对人工智能课程内容提出不同要求[4]。然而,这些研究主要是从学段角度进行教育目标和教育内容的分层,缺乏学理依据的说明。同时,学段分层对大部分成熟学科而言可能是合理的,但对于人工智能这种新兴学科而言则力有不逮:一方面是人工智能处在快速发展阶段且学科体系尚不成熟,简单作学段内容切分难以周全;另一方面是人工智能技术存在门槛过高的问题,对人工智能技术作简单条块切分无法有效降低中小学生的进入门槛。相比之下,较为科学合理的方案是对人工智能技术做降维处理后再迁移至中小学人工智能教育。需注意的是,中小学生覆盖不同年龄阶段,在认知水平和能力上具有动态发展性,因此,人工智能技术的降维处理应当具有不同的样态,以适应不同认知发展阶段的学生;教师也需要借此设计不同抽象层次的学习项目,引导学生循序渐进、层层深入地把握人工智能的本质。换言之,以不同降维处理的人工智能创作工具(平台)作为脚手架,对人工智能教育进行合理分层,引导学生由外向内逐层探索人工智能技术,像剥洋葱一样打开人工智能的黑箱,才有可能有效提升中小学生的人工智能素养。
为便于分层,首先要按照不同降维程度对人工智能创作工具进行分类。最基础的人工智能创作工具是深度学习框架,例如PyTorch、TensorFlow 等,它们是深度学习算法经模块化封装形成的人工智能学习库,可以满足用户模型训练、测试等需求[5],我们将此类工具称为“人工智能框架工具”。此类工具的使用要求用户熟谙神经网络的各层结构,即具备较高的人工智能开发水平。在此基础上经第一次降维处理后的工具便是各类已有算法的开源文件, 如YOLO(You Only Look Once:Unified, Real-Time Object Detection)算法、SSD(Single Shot MultiBox Detector)算法等,我们将此类工具称为“算法代码工具”。用户无须考虑网络结构,依据实际需要下载开源文件并作一定调整后即可使用此类工具。将算法代码封装,以图形交互界面呈现的程序或网页,可以视作人工智能创作工具的第二次降维处理,我们将此类工具称为“程序交互工具”。例如飞桨(PaddlePaddle)、浦育(OpenInnoLab)等平台中提供的人工智能体验功能,用户只需上传数据集至平台并点击“训练”按钮即可训练模型。除以上3 类创作工具外,还有一类更直观的工具,它不涉及模型训练,主要为各式人工智能应用程序编程接口(API)和智能传感器设备,如各类智能云API 和智能摄像头,我们将此类工具称为“编程体验工具”。针对此类工具,用户只需将现成的模型进行部署即可制作智能交互系统。综上,根据抽象维度,可以将人工智能创作工具由高到低划分为人工智能框架工具、算法代码工具、程序交互工具和编程体验工具4 个类别。
其次,由于任何工具都离不开用户主体,人工智能教育的分层还需特别关注学习者的认知水平。依据修订版的布卢姆认知目标分类框架,学生的认知水平可以分为记忆、理解、应用、分析、评价和创造6 个层次[6]。本文认为这一分类非常契合中小学人工智能教育,不仅因为人工智能教育属于素养教育,体现了认知目标与情感目标的交叠关系[7],还因为上述人工智能创作工具在抽象维度的降维处理与认知水平具有内在一致性。
为此,可以将4 种人工智能创作工具与6个认知层次进行关联:编程体验工具的使用门槛最低,学生只需记住模型接口、模型名称及其功能,进而在图形化编程环境中直接调用预训练模型即可,因而可与记忆层次的认知水平对应;尽管程序交互工具需要准备数据集和训练模型,但其采用的是可视化的按钮操作环境,操作简单,有利于用户理解模型的训练过程,故与理解层面的认知水平相当;不同算法代码工具所需修改应用的难度差异较大,根据不同使用方法可覆盖应用和分析2 个认知层次,例如直接调用已有算法进行模型训练属于应用水平,而结合实际需求综合运用多个算法模型则需要分析综合的能力;人工智能框架工具的抽象水平最高,要求学生不仅要深入了解不同框架、模型、算法的技术思想和功能差异,还要在评估实际问题需求的基础上创新运用工具,因此可与评价和创造水平相对应。综上,基于4 种工具和6 个认知水平之间的5 种对应关系,可以形成人工智能教育的五级水平,我们将其称之为体验级、理解级、应用级、综合级和优化级(见表1)。结合前述人工智能创作工具特点和项目实践需求,可进一步细化每一级的目标要求(见表2)。
迭代实践:停车场自动抬杆系统的五级项目案例
停车场自动抬杆系统是以图像识别为核心技术的人工智能交互系统,能满足从体验级到优化级各级项目式教学的需要。首先,该系统在生活中较为常见,符合注重解决实际问题的项目式教学要求;其次,相较于数据分析等其他人工智能领域,图像识别具有可视化特点,识别结果简单易懂,便于学生理解。此外,与图像识别相关的人工智能创作工具更为多样,便于开展分级教学。下面以此为例介绍不同层级的项目式学习内容。
体验级
体验级需要学生借助编程体验工具认识人工智能,该层级不要求学生训练模型,因此设计学习活动时只需考虑所用工具的模型功能能否满足项目需求即可。停车场自动抬杆系统的基本功能是摄像头识别汽车后自动抬杆放行,其核心在于车辆的自动识别。就本层级而言,可以调用API 函数或智能摄像头实现车辆自动识别,本案例以后者为例,采用二哈识图(HUSKYLENS)智能摄像头开展实践。该摄像头包含多个预训练模型,包括用VOC 2007数据集训练而成的20 类物品识别模型,能够对鸟、汽车、人、沙发等20 种物体进行图像识别。智能摄像头物体识别功能的图形化(模块化)编程指令如图1 所示。
作为人工智能教育的第一层级,体验级的教学内容仍以创客教育为主。创客教育是人工智能教育实施的主要路径,是人工智能教育不可替代的有机组成部分[8],良好的创客教育基础是后续各层级开展的前提。当然,体验级并未真正涉及人工智能的核心算法与模型,适合作为从传统创客教育到人工智能教育的过渡阶段。以本项目为例,可以先让学生基于红外传感器或按钮开关等硬件制作简易抬杆控制系统,再让学生尝试使用智能摄像头将其改造为智能抬杆系统,以供学生比较智能系统之于普通控制系统的优势,体悟智能传感器与普通传感器的区别。
理解级
理解级需要学生经历人工智能模型的开发过程,包括生成数据集、模型训练和模型部署3 个部分。为实现汽车的自动识别,本案例采用OpenInnoLab 平台“AI 体验”模块中的图像分类工具(如图2),对生成数据集和模型训练两部分进行简化操作,以支持学生快速完成项目任务。为提高项目难度,可进一步细化项目任务要求,要求学生在智能抬杆的基础上实现按类型统计车辆等功能,例如制作可区分轿车、货车等不同车辆类型的图像识别模型。
相较于体验级,理解级项目的重难点在于调整数据集以训练出更有效的模型。数据在人工智能系统中处于核心地位[9],也是人工智能学习的重要知识点。在制作作品前,可让学生反复尝试修改数据集,体验数据对人工智能模型训练效果的影响。例如,在制作识别车辆种类的模型时,让学生尝试轿车数据集均采用黑色轿车图片,货车数据集均采用白色货车图片,再用黑色货车图片评估模型训练后的识别效果,则可以理解过拟合概念。除此之外,欠拟合、训练数据集、测试数据集等概念也可通过体验不同数据集的方式学习。
此外,模型部署还涉及不同的模型文件格式。OpenInnoLab 平台训练模型后所获得的模型文件为TensorFlow.js 模型文件, 需要将其转为ONNX(Open Neural NetworkExchange)模型文件以便部署模型,因为大部分智能硬件都兼容该类文件格式。ONNX 模型可用Netron 等工具实现模型结构的可视化,以帮助学生直观理解图像识别的工作原理。举例说明,图3 为本案例模型可视化后的部分结构,包括转置层、卷积层等信息,学生由此可初步理解图像识别是图像数据输入模型后经过逐层计算得出结果的过程。
应用级
应用级要求学生使用算法代码工具(如开源的人工智能算法训练模型)制作智能交互系统。根据本层级要求,可以将项目任务确定为目标检测,即在图像中找到并框出车辆位置,所采用的算法工具为YOLOv5。YOLO 系列是目标检测领域中速度- 精度均衡的佼佼者[10],且YOLOv5 提供了yolov5s.pt 等模型作为预训练模型,效果较好且对算力需求相对较低,适用于中小学生使用。
本层级项目需要生成的数据集相比理解级更为复杂。首先,相比图像分类,目标检测在生成数据集部分需要学生对图像进行标注。常用的标注工具有LabelImg、LabelMe 等,如图4 为LabelImg 的标注界面,标注信息以xml格式保存。此外,还需要学生正确整理数据集的格式。以YOLOv5 为例,使用该算法读取数据时,需要先将xml 文件转换为txt 文件,文件名需与图片名对应,并将文件保存在命名为“labels”的文件夹中。具体格式要求可参考所用开源算法的说明文件。
应用级学习的重点在于模型训练,学生使用算法代码工具训练模型时,需要调整超参数。在卷积神经网络中,主要的超参数包括学习率(learning rate)、训练次数(epochs)、批次大小(batch_size)等。这些超参数的使用,需要学生了解前向传播和反向传播等基本概念。掌握基本概念后,可让学生在较低训练次数下尝试修改学习率和批次大小,通过比较模型训练效果加深对各个参数的理解。此外,模型训练的耗时、批次大小的上限也与硬件条件有关,有利于加深学生对算力、处理器运算能力单位、GPU 等概念的认识。
综合级
相较于应用级,综合级需要学生分解实际项目问题并形成问题链,再灵活运用不同的模型解决这些问题。例如一些新闻报道提及某些小汽车采用作弊行为逃缴停车费,包括利用同伴车辆刷卡掩护出闸、使用打印或手机拍摄的虚假车牌号等现象。为解决此类问题,需要改进现有的停车场自动抬杠系统。本层级项目将以防止车辆掩护出闸为例对原有系统进行改进,需要实现的主要功能包括:①检测摄像头前是否出现车辆,如出现则抬杆放行;②跟踪车辆运动方向,如有倒车等掩护出闸情形则适时降杆止行;③检测车辆的车牌位置,并识别和记录车牌号。在厘清系统功能后,需要学生通过分析形成问题链,并选用合适的模型进行训练和整合。整个系统需要解决3 个问题和使用3 类人工智能模型,一是如何提取图像中车辆位置和车牌位置,需要用到目标检测模型;二是如何跟踪前一个模型中检测到的车辆,需要用到目标跟踪模型;三是如何将提取的车牌图片转换为文字,需要用到字符识别模型。将3 类模型串联使用,即可实现系统的主要功能(如图5)。