APP下载

中小学人工智能教育的五级框架

2024-06-07钟柏昌顾荣桢

中国科技教育 2024年4期
关键词:工具人工智能算法

钟柏昌 顾荣桢

如今,以自然语言处理为代表的人工智能技术在改善人们生产生活的同时,也带来了信息茧房、算法陷阱、欺诈舞弊等挑战。在此背景下,开展扎实有效的中小学人工智能教育显得极为重要。当前,国内外学者对中小学人工智能教育的目标定位颇具共识,即它并非人工智能专业人才的培养,也并非少数人的教育,而是提升未来公民均需掌握的基本生存能力——人工智能素养[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)。

在模型训练方面,目标检测模型的训练流程基本与应用级一致,只需增加对车牌的目标检测即可。目标跟踪功能可以直接调用OpenCV 库中的CSRT 或其他类似算法命令实现,但需要将之前目标检测的结果提供给目标跟踪模型。以YOLOv5 实现目标检测功能的detect 文件为例,以下是其中负责输出的部分代码:

label = names[c] if hide_conf else f'{names[c]}'

confidence = float(conf)

……

label=Noneifhide_labelselse(names[c] if hide_conf else f'{names[c]}{conf:.2f}')

annotator.box_label(xyxy,label ,color=colors(c, True))

save_one_box(xyxy, imc, file=save_dir/ 'crops' / names[c] / f'{p.stem}.jpg',BGR=True)

代码中的label 和confidence 分别包含识别到对象的标签和置信度,是判断是否将图像传输给下一个推理文件的依据;xyxy 变量则包含对象在图像中的位置信息,借助xyxy 变量可以匹配特定区域的图像,图像信息存储于变量imc 中。为了在目标跟踪模型中跟踪该目标图像,需要在推理文件中合适位置调整xyxy 和imc 参数格式并调用其实现目标跟踪。为此,需要学生能够读懂代码并正确转换各个参数的格式。

记录车牌号需要采用光学字符识别(OCR)算法,相应模型的使用需要学生具备图像预处理能力。预处理的作用主要为调整数据尺寸以契合模型的输入格式,并使图像特征更明显以便模型推理。本案例中所采用的OCR 算法为LPRNet,使用该算法涉及到的预处理包括图像尺寸调整、数值归一化、矩阵转置等操作。相应代码如下所示:

img =cv2.resize(img,(168,48))

img = img.astype(np.float32)

img = (img/255-mean_value)/std_value

img = img.transpose(2,0,1)

img = img.reshape(1,*img.shape)

除人工智能部分外,完整的系统制作还包括图形化界面设计、物联网连接等。

优化级

有别于前4 个层级,优化级需要学生尝试使用PyTorch 等人工智能框架尝试修改或制作简易的网络模型。尽管上一层级的项目任务较为完善,但尚未解决如何区分含有车牌号的真实车辆与打印或手机拍摄的车辆图片的问题[11]。解决该问题没有现成模型可以直接利用,需要学生在理解卷积层、汇合层、激活函数等网络结构作用,以及深度学习工作方式的基础上,构建简单的人工智能网络模型。

在本案例的情境中,车辆图片与真实车辆的不同之处在于图片存在明显的矩形边界,若能在摄像头捕捉画面中提取出矩形边界则说明识别对象为车辆图片。提取边界可通过使用边缘滤波器作为卷积核的方式实现。如可采用整体边缘滤波器为卷积核,设置卷积步长为1,构建特定卷积层,并设置其他卷积层及全连接层、批归一化层、随机丢弃层等结构以制作一个简易的图像识别网络模型。

还有另外一种解决问题的思路,即驶入的真实车辆与放入的车辆图片在摄像头捕捉画面上存在数据差异:真实车辆驶入镜头前的过程中,存在从外面驶入的过程,变化较为平稳,且车辆停止时,画面基本保持不变;而将车辆图片放到摄像头前时,画面呈快速变化,且因手持图片的原因,画面始终会存在一定抖动。为此,学生可以尝试提取画面前后2 帧的差异信息作为数据集,并以此构建人工智能模型区分真实和虚假的车辆。初步的数据获取代码如下:

gray_frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

frame_diff = cv2.absdiff(gray_frame_before, gray_frame)

_, thresh = cv2.threshold(frame_diff,30, 255, cv2.THRESH_BINARY)

contours,_=cv2.find Contours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

借助OpenCV 库的指令可获取前后2 帧画面的差异图像frame_diff,并提取差异区域的端点坐标信息contours。通过这些数据信息可以计算出2 帧画面差异区域面积、差异区域质心等信息,将一段时间画面变化信息进行记录即构成一个数据项。若每2 帧之间获取5 个数据信息,连续记录90 帧,则每个数据项都是形状为(90,5)的数组,数据量相对较小,使用少量全连接层、批归一化层即可完成数据处理。

本层级项目不僅对深度学习和网络结构等理论概念的理解有明显提升,而且使用的工具也为抽象程度较高的人工智能框架工具,需要特别做好相关理论知识的学习和准确把握。

总结

本文结合现有各类人工智能创作工具和实践平台,结合认知目标分类理论,构建了中小学人工智能教育的五级进阶框架,并以“停车场自动抬杆系统的优化”为例,对各级项目任务样例进行了描述。在使用该框架时,仍需注意以下几个方面的问题。

一是如何通过进阶项目促进学生人工智能素养的全面提升 中小学人工智能教育应兼顾知识、能力和情感的全面发展,以提高学生的人工智能素养[12]。通过项目实践,学生应用人工智能解决问题的能力固然会得到一定提升,但要让学生的人工智能知识和情感也获得同步提升,离不开恰当的过程性评价和良好的情境创设。使用过程性评价,可以检验学生能否在实践过程中合理应用人工智能知识;而良好的情境创设可以让学生代入个人情感,在真实情境中增强对人工智能应用价值和人机关系的理解。

二是如何在有限条件下推进人工智能教育的普及 在经济欠发达地区,教育经费往往不足以支撑人工智能设备所需[13]。智能硬件的使用會显著提高学校计算机实验室的建设成本,如体验级所提到的智能摄像头。此外,从应用级开始,中大型深度学习模型的本地训练对计算机的处理能力提出了较高要求,一个模型即便是几十轮次的训练也可能一节课也“跑”不完。一种解决困境的思路是大幅提升智能硬件的计算性能,通过边缘计算减少对计算机和云服务器算力的依赖。遗憾的是,目前市场上大部分智能硬件的算力资源有限,未来要开展大规模常态化人工智能教育,离不开学校本地服务器的算力资源。在不过分增加学校经费投入的前提下,这种算力资源要同时满足几十上百个模型的同步训练,就离不开算力资源的合理分割。从这个意义上说,如同创客教育离不开可切割结构件的激光切割机一样,人工智能教育也离不开可以切分算力(算力虚拟化)的服务器,相关技术方案的成熟发展同样需要业界作出不懈努力[14]。

虽然本文五级进阶框架的构建强调了人工智能创作工具的使用,但构建分层进阶框架的目的并非让学生停留于学会不同工具的使用方法,而是引导学生逐层探索人工智能的技术思想并理解利用人工智能解决问题的过程与方法,帮助学生实现对人工智能由外到内的认知发展过程,即获得人工智能素养。整体而言,该框架是一个开创性的人工智能教育方案,已在广东省教育厅主办的2024 年广东省学生信息科技创新大赛方案中有初步体现,期待未来有更多的同行跟进讨论和批评指正。

参考文献

[1] 钟柏昌,詹泽慧.人工智能教育的顶层设计:共识、差异与问题——基于4 套标准文件的内容分析[J].现代远程教育研究,2022,34(04):29-40.

[2][7] 钟柏昌,刘晓凡,杨明欢.何谓人工智能素养:本质、构成与评价体系.华东师范大学学报(教育科学版)[J].2024(01):71-84.

[3] Touretzky, D., Gardner-McCune, C., Martin, F.,& Seehorn, D. Envisioning AI for K-12: What ShouldEvery Child Know about AI?[J]. Proceedings of the AAAIConference on Artificial Intelligence, 2019, 33(01),9795-9799.

[4] 江波.中小学人工智能课程指南[J].华东师范大学学报(教育科学版),2023,41(03):121-134.

[5] 黄玉萍,梁炜萱,肖祖环.基于TensorFlow 和PyTorch 的深度学习框架对比分析[J].现代信息科技,2020,4(04):80-82+87.

[6] 洛林·安德森,等.(2009).布卢姆教育目标分类学(修订版).北京:外语教学与研究出版社,2009.

[8] 钟柏昌,刘晓凡.人工智能教育教什么和如何教——兼论相关概念的关系与区别[J].中国教育科学(中英文),2022,5(03):22-40.

[9] 崔铁军,李莎莎.人工系统中数据– 因素– 算力– 算法作用及相互关系研究[J].智能系统学报,2022,17(04):772-779.

[10] 邵延华,张铎,楚红雨,等.基于深度学习的YOLO 目标检测综述[J].电子与信息学报,2022,44(10):3697-3708.

[11] 钟柏昌,顾荣桢.一种防伪车牌识别方法、系统及终端:CN202311777953.4[P],2023-12-22.

[12] 钟柏昌,余峻展.新时代我国中小学人工智能教育的体系化建设[J].岭南师范学院学报,2022,43(06):1-6+22.

[13] 顾小清,李睿,李世瑾.人工智能教育现状如何?——中小学人工智能教育竞赛结果的证据回应[J].开放教育研究,2023,29(06):82-91.

[14] 钟柏昌,余峻展,谢作如.中小学人工智能课程需要何种智能硬件——现状分析与发展方向[J].远程教育杂志,2024(1):74-83.

猜你喜欢

工具人工智能算法
波比的工具
波比的工具
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
2019:人工智能
进位加法的两种算法
人工智能与就业
“巧用”工具
数读人工智能
下一幕,人工智能!