姜孝春 杨萍
选题背景
《新一代人工智能发展规划》将人工智能发展提升至国家战略层面,明确指出要完善人工智能教育体系,在中小学阶段设置人工智能相关课程。《义务教育信息科技课程标准(2022 年版)》中提出了对人工智能教育的具体要求。然而,纵观世界各国对于基础教育阶段的人工智能教育尚未形成完整的体系,缺少系统、科学的课程内容,更没有配套的软件平台和硬件形成合力,导致目前相关教学难以有效组织和实施。
人工智能是发展新质生产力的重要引擎,中小学人工智能教育不应仅停留在体验层面,应当结合最新的人工智能技术,深入剖析技术原理,加强应用与实践,以达成新课程标准的目标,培养具备创新思维和实践能力、能够解决真实问题的新时代青少年。
本文以发芽土豆分拣问题为导向,围绕数据、算法和算力——人工智能的三大基石同频共振,开展人工智能知识、技能与创客教育相结合的大单元教学设计。通过贴近学生生活案例激发学生的学习兴趣,在实践中系统学习人工智能知识和技能,掌握利用人工智能解决真实问题的完整流程和方法。
课程设计
课程目标
学生基于真实情境学习人工智能图像分类技术,通过数据集制作、模型训练、模型推理等一系列实践活动,体验运用人工智能技术解决真实问题的流程。通过学习和实践模型转换,使用开源硬件实现图像分类应用部署,掌握多模态交互的一般流程和方法,完成人工智能发芽土豆分拣机的制作。在项目实践中,提高学生对人工智能的兴趣,培养人工智能创新思维和问题解决能力,进行项目优化、改进和创新。
学情分析。
学生对人工智能技术有一定的兴趣和基础知识,但缺乏实践经验和动手能力,需要通过具体项目将原理与实践相结合,提高学生的创新思维和问题解决能力。
课程内容。
本课程紧扣人工智能的三大基石——数据、算法和算力展开,通过真实情境问题引导学生探索人工智能图像分类技术和硬件部署操作。课程从引导学生采集多样化的土豆图像数据开始,学习对图像进行分类用以构建数据集。学生根据任务需求选择合适的算法训练图像分类模型,进行模型推理并评价模型性能,通过实践调整训练参数,不断提升模型性能。最终学生通过模型转换与硬件应用部署,利用“行空板”等开源硬件实现多模态交互。
课时安排。
本单元共分8 个课时,内容涵盖了人工智能图像识别技术的全流程。具体课时安排和学习内容见图1。
教学准备
本单元适合在具有一定创客加工条件的计算机房进行,需要使用到的软件如下。
浦育平台:基于上海人工智能实验室的在线教育平台提供的Jupyter Notebook 运行环境和算力资源,具备数据集制作、模型训练、模型转换等功能,方便学生学习和实践人工智能图像识别技术。
Mind+:图形化编程工具,支持行空板等开源硬件和Python 程序调试运行,提供图像识别、语音输出、超声波检测、舵机控制等功能,方便学生将模型部署到开源硬件,实现人工智能发芽土豆分拣机的多模态交互和程序调试。
需要使用到的硬件如下。
行空板:采用微型计算机架构的国产开源硬件,自带Linux 操作系统和Python 运行环境,集成了LCD 彩色触摸屏、Wi-Fi、麦克风等多种常用传感器和丰富的拓展接口,支持接入摄像头、扬声器等外设和超声波传感器、舵机等开源硬件。行空板使用方便,预装了常用的Python 库,也可以快速安装人工智能运行库,同时支持Mind+ 等图形化编程工具,是一款理想的中小学人工智能教学和实践创新开发工具。
超声波传感器:判断是否有需要分拣的土豆,进而开启摄像头进行图像识别。
舵机:可以控制角度的电机,用于驱动分拣机的运动,实现土豆分拣。
土豆:用于分拣的土豆,需要有一定数量和比例的发芽土豆和不发芽土豆,方便学生进行数据集的制作和分拣机的测试。
实施过程
本单元以发芽土豆分类为实际问题,引导学生从认识图像分类算法到制作数据集,使用XEdu 工具进行模型训练、模型推理和硬件部署,最终利用多模态交互技术实现项目迭代和交流展示,全面體验人工智能项目开发和制作的全过程。
人工智能模型基石:数据集制作与优化
数据集制作是训练有效图像分类模型的基础,在课时2 的任务中,学生通过参与制作和完善高质量的数据集,体验图像分类数据集制作的一般流程。在本单元的教学中着重强调数据集的多样性、准确性和质量对模型训练的重要程度,这些因素直接影响到模型的性能和后续课程的实施。
明确分类问题需求后,收集数据并整理和完善数据集,解决发芽土豆识别问题需准备发芽、不发芽土豆的二分类数据集。教师鼓励学生参与到数据采集过程中,在家里选择合适的发芽和未发芽土豆,通过智能手机拍摄图片,每个学生都亲身参与到数据采集的过程。根据训练要求,数据需要批量预处理,步骤包括图像裁剪、调整大小和增强对比度,通过这些操作提高制作数据集的准确率。我们的基础数据集包含近1 800 张图片,大约按照8 ∶ 1 ∶ 1 的比例划分为训练集(trainning_set)、验证集(val_set)和测试集(test_set)3 个文件夹,其中训练集1 429 张图片(不发芽土豆956 张、发芽土豆478 张)、测试集180 张图片、验证集179 张图片。
教学过程中引导学生深入实际思考问题,例如为什么不发芽土豆的图片数量要远多于发芽土豆图片数量?通过设置悬念激发学生的兴趣和求知欲,让学生在后续实践中更加细心观察思考寻找原因,明白不发芽土豆容易误识别为发芽,有部分原因是土豆图片的背景杂乱造成的,反思数据集的制作,并进一步深入思考在设计土豆分拣结构中要设计相应的解决方案。如何高效地采集这些数据集图片?实践中通过手机拍摄动态视频,再使用PotPlayer 软件自动批量截取符合训练需求尺寸的JPEG 格式图像,或者使用Python 程序提取帧再批量处理,这些方法都大大提高了数据集制作的效率。
人工智能训练实战:模型训练与优化探索
模型训练部分是人工智能教学的重要环节。课时3 与课时4 的任务目标是让学生理解并实践如何通过机器学习处理和分析数据训练模型。教学中详细介绍模型训练的步骤,包括选择合适的算法、数据集、设置训练参数、执行训练过程及评估模型性能。使用XEdu 工具实践操作发芽土豆图像分类模型的训练,让学生通过优化超参数调整,不断提升模型性能,在此过程中深入理解数据、算法、算力对模型训练的重要作用。
发芽土豆图像分类模型训练教学实践在上海人工智能实验室浦育平台上进行,通过创建一个“人工智能工坊”XEdu Notebook 编程项目进行。模型训练流程包括:①导入MMEdu深度学习库;②根据任务需求实例化模型;③配置模型训练参数,如训练轮数、学习率、批量大小等;④使用发芽土豆图像数据集开始训练模型,观察训练过程,找出最佳权重文件;⑤使用最佳权重文件为预训练模型继续训练,微调参数使模型达到更好的效果,以适应发芽土豆图片的分类任务。
在实践教学过程中学生使用浦育平台XEdu 工具在CPU 版和GPU 版服务器运行环境切换,在相同参数条件下感受CPU 与GPU不同的算力对训练效率的影响。在训练参数教学环节可采用分组实验,对比训练轮数、学习率、批量大小等不同参数对模型训练效果的影响。学生通过实践操作从头训练模型和使用预训练模型训练,观察模型性能变化,从而理解预训练模型训练具有提高模型性能、节省训练时间和计算资源、增强模型泛化能力、迁移学习能力等优点。训练出的模型权重文件准确率达到98.324%,学生在数据集制作到模型训练的完整过程中感受算法、算力和数据相互支撑、相互促进,共同推动模型性能的提升。
模型推理:人工智能实践的关键一步
模型推理是将模型训练成果转化为人工智能应用的桥梁。课时5 的目标是将模型训练的成果应用于解决真实问题——推理土豆图片发芽或未发芽的可能性。学生将学习如何运用训练好的模型进行实际推理的方法和操作流程,并深入理解模型推理的原理与应用价值。
使用模型推理识别发芽土豆图像的教学同样在浦育平台XEdu Notebook编程项目进行,模型推理流程包括:①加载模型,学生导入必要的库、实例化模型,并加载之前训练好的模型;②推理数据准备,学生重新拍摄或搜索获得不同土豆的照片(不同于数据集的图片),将图片上传到项目文件用于模型推理;③执行推理,学生指定图片并启动推理过程,模型将根据学习结果对输入图片进行分类,判断其是否发芽;④推理结果解析,学生对结果进行分析,观察模型在不同情况下的表现,分析误判分类的原因,从而进一步理解模型的性能与局限性。
模型推理过程是图像分类技术的核心,学生面对真实问题,亲身参与体验图像分类从理论知识到模型应用,通过实践获得成功开发人工智能的喜悦。同时,面对诸如背景复杂的土豆图片出现误判的情况,深入思考如何改进模型,如何设计土豆分拣机结构,以适应复杂的真实问题挑战。
多模态交互应用:人工智能发芽土豆分拣机部署实践
多模态交互是一种融合多种感官信息的交互方式,为学生提供更丰富、更有趣的学习体验。在本课程中,将模型转换为onnx格式并部署到行空板上,通过超声波传感器实现物体的识别,进一步启动外接摄像头采集土豆图像进行图像识别,运用图像、文字和语音输出检测结果。学生通过人工智能发芽土豆分拣机的模型部署和开源硬件交互,深入探索多模态交互在人工智能项目中的应用方法与实践操作。
人工智能发芽土豆分拣机使用行空板作为硬件平台,行空板自带Linux 操作系统和Python 运行环境,集多种常用传感器和丰富的拓展接口,支持接入摄像头、舵机等开源硬件。行空板自带pinpong 库,可用于超声波物体检测和舵机控制,也可以快速安装人工智能运行库。教学中使用行空板终端pip 命令安装所需的库,比如onnxruntime 库支持onnx 模型的运行,pyttsx3 库实现离线文字转语音功能等。需要注意的是,在安装库的过程中需要使用网络,可以通过电脑连接行空板,打开Wi-Fi 连接无线网络再安装。
行空板支持Mind+ 等图形化编程工具,Python 不熟练的学生也可以使用图形化编程完成传感器与舵机的程序调试,再将图形化程序转化为Python 代码,在教师的指导下完成与onnx 模型转换生成的图像识别程序进行融合,最终完成人工智能发芽土豆分拣机的程序编写。通过程序控制实现人工智能发芽土豆分拣机的几个关键功能:①使用超声波传感器判断土豆是否进入识别区域,并控制图像识别的启动和停止;②使用外接摄像头获取实时图像并输入到模型中进行识别;③使用行空板自带显示屏显示图像和文字结果;④将识别结果以语音形式输出到音箱;⑤使用外接舵机对识别好的土豆进行分拣。人工智能和多模态交互实践不仅提高了学生的编程能力和创新思维,也为人工智能技术在实际场景中的应用提供了有益的参考。
学习成果
本课程在8 年级部分班级开展了教学实验,项目经历了多次迭代,并对教学进行优化。本单元的教学设计重在引导学生学习和运用人工智能技术解决真实问题,项目涵盖了人工智能图像识别技术的全流程,包括数据集制作、模型训练、模型推理、模型转换、模型部署等,让学生能够全面、清晰地了解和掌握人工智能图像识别技术的原理和方法,明确运用人工智能技术解决真实问题的思路。
学生成功地将训练完成的模型转换并部署到硬件平台,实现了多模态交互的功能,包括超声波检测、图像分类、语音输出、舵机控制等,提升了学生对人工智能应用创作的良好体验。项目具有一定的可拓展性,可以根据实际情况进行创新,训练新的模型实现其他物品的分类。
学生在模型训练方面展现出了极高的热情和创造力,在理论学习和实践操作中都有了明显的进步。他们不仅掌握了人工智能的核心技术,还学会了如何将这些技术应用于解决实际问题。这些学习成果将为他们未来在人工智能领域的深入学习和发展奠定坚实的基础。
反思与提高
本单元的教学展示了如何利用人工智能技术解决实际问题的完整流程,从理论到实践的转化过程清晰而完整。丰富的教学活动不仅加深了学生对人工智能技术的理解,也锻炼了他们运用人工智能技术解决真实问题的实践操作能力。
在未来的教学中,我们将在以下几个方向进行探索与优化:
项目可以尝试使用更先進的数据集制作方法,如使用视频拍摄加程序抽帧批量获取图片、批量处理、结合数据清洗提高数据集的质量和数量,提高模型的准确率。
项目可以尝试使用更优化的模型训练方法,使用预训练模型等技术进一步提高模型的训练效果和效率,降低模型的训练成本和时间。
项目可以尝试使用更简化的硬件搭建,使用更易用的外设和连接线接入摄像头、扬声器、超声波传感器等,简化硬件的搭建过程和难度,提高硬件的稳定性和可靠性。
我们也将持续关注学生的反馈,不断调整和优化教学方法,确保教学活动的有效性和趣味性。为学生提供更丰富、更高质量的人工智能学习体验,激发中小学生对人工智能技术的兴趣和热情,培养学生的人工智能创新思维和问题解决能力,为人工智能创新教学贡献一份力量。