当人工智能遇上青少年科技创新活动
作者: 谢作如
近年来,人工智能技术发展突飞猛进,各种应用不断刷新人们的想象力。从识别准确度超过人眼的计算机视觉开始,人工智能逐步走向产业化。而以ChatGPT 为代表的AIGC(人工智能生成内容)兴起则再次告诉人们,人工智能将必然成为推动科技跨越发展、生产力整体跃升的驱动力量。与人工智能的快速发展几乎同步,中小学人工智能教育也在受到越来越多关注。2017 年发布的《普通高中信息技术课程标准》在必修课程中增加了“人工智能”的要求,《义务教育信息科技课程标准(2022 年版)》则将“人工智能”作为重要的学习内容。
科技创新活动与科普活动是中小学跨学科学习活动最典型的代表,也是学有余力的学生的重要选择。很多科学工作者和工程师都是因为少年时期参加科技创新活动得到启蒙,从而确定了人生目标。我们深信,人工智能很快会成为继计算机、互联网、开源硬件与物联网之后,最重要的青少年学习和工作的助手,融合了人工智能技术的科技创新活动呼之欲出。
人工智能是青少年科技创新活动的新研究工具
随着人工智能的发展,机器学习成为科学发现中日益重要的核心工具,它能够对大规模科学实验数据进行建模与分析。科学家认为“机器猜想+ 科学智能”将成为科学发现的新范式,并在这方面取得了许多令人瞩目的重大进展,典型例子如地球科学领域的预测天气、生物科学领域的预测折叠蛋白质结构等。2023 年,科技部会同自然科学基金委启动了“人工智能驱动的科学研究”专项部署工作。
既然人工智能终将成为科学发现的主要研究工具,那么在科技创新活动中强调人工智能,培养利用人工智能解决问题的意识和能力,能够帮助青少年对未来科学研究工作形成全新的认识。而深度学习的兴起,促使人工智能的技术门槛开始降低。只要拥有足够丰富的数据,借助算力与开源算法,很多人都能训练出人工智能模型。换句话说,只要掌握了机器学习的流程,即使不了解原理,甚至不熟悉编程,都能用人工智能解决问题——因为智能可以通过“喂数据”而获得。那么,人工智能在青少年科技创新活动中可以发挥哪些作用呢?
方向之一:解放人力,处理复杂繁琐的事务
在当前的青少年科技创新活动中,数据探究这一活动主题逐步受到重视(典型活动如长三角中学生数据探究大赛、国际青少年人工智能交流展示会深度学习挑战赛等),但收集与整理数据恰恰又是科技创新活动中最复杂、最繁琐的工作之一。利用人工智能完成重复繁琐的数据处理工作,能够很好地体现出人工智能的重要价值,即解放人力。比如,在科学观察实验中用摄像头实现自动识别,在种子发芽实验中用摄像头统计数量,对大量的非结构化数据进行智能处理等。
案例1. 利用人工智能助力科学观察 科学课程中有很多关于观察植物的探究活动,但往往只要求学生用肉眼观察植物的每天生长情况,以文字形式记录在本子上。这样的观察记录无法提供具体的监测数据。如果要探究植物的生长情况与环境(如土壤湿度、光照等)的关系,那不仅需要定时拍摄照片,还要同步记录数据,二者结合才能够更加直观分析植物在不同环境下的生长情况,从而了解植物的习性特点。温州中学学生编写了一个能够同步记录图像与传感器数据的信息系统。这个“科学观察辅助工具”(图1)可以运行在“行空板”或者“虚谷号”上,使用摄像头采集画面,通过土壤湿度传感器记录土壤信息。当摄像头的画面发生变化(如开花、结果、有害虫等),或者传感器的数值发生变化,则自动保存图像,并在图像上标注相应信息。其中判断是否开花结果与虫害,使用了MMEdu 训练的目标识别人工智能模型。借助这类系统,能够将人从繁琐、无聊的观测工作中解放出来。
案例2. 利用摄像头统计种子发芽情况 种植活动是劳动教育的重要组成部分,而研究不同条件下(如光照、温度、pH 值等)种子萌发的差异则是常见的科学实验。通过种子萌发实验,取得实验数据,分析检验就可以获知不同条件下种子萌发是否存在差异。一般来说,这种研究都会采用对照实验的方式开展。种子萌发实验并不复杂,但要得到较好的统计意义,避免小数据带来的误差,数据量应该要大一些。可是种子数量一多,定时统计就成为一种较重的负担。广州的曾祥潘老师探索了一种利用计算机视觉辅助观察的研究方法。他在实验过程中用摄像头定时拍照记录,再利用深度学习目标检测算法识别照片中的发芽种子,取得实验数据,最后使用R 语言对两组数据进行检验。在发芽种子的识别方面,他使用了YOLO v5算法和SAHI 深度学习推理辅助工具。
案例3. 对“好问题大赛”数据的深度探究 不同地区的学生在见识方面是否一致?他们的提问能力有什么不同?而这些差别与地区GDP 是什么关系?带着这样的问题,温州中学的章锦阳等同学深度探究了中国学生好问题征集评选活动的100 多万条数据。他们选择了上海和赣州两个地区,借助分词和词频统计等技术进行多方面比较,最后得出相关结论。在这一过程中,他们遇到的最大困难在于如何确定问题的类别,毕竟100 多万条数据不可能一一靠人力标注。他们最终找到了清华大学开源的中文文本分类工具包(THUCTC)。借助这一工具,简单编程后批量完成了这个工作(图2)。有趣的是,学生发现THUCTC 的文本分类效果并不够好,因为模型是基于长文本(新浪网站文章)进行训练,对短文本并不适用,于是他们选择了计算机专业进行学习,立志要设计更好用的文本分类工具。
方向之二:另辟蹊径,通过采集数据解决数学难题
科技创新活动关注生活中的真实问题,学生常常会遇到一些需要用数学知识解决的难题,如用数学公式表征多组数据之间的关系。很多有趣的科技创新活动主题就因为受限于学生的数学知识而无法普及。有时候学生还会遇到有些数据彼此关联密切,却又找不到精确数学公式表示的情况,如工程应用和经济分析领域。那么,用采集数据加上训练模型的方式拟合多种物理量之间的关系,显然是一种有效的解决问题方式。我们可以把神经网络看成万能数据拟合工具,即使是一个黑箱子,也不妨碍人工智能成为学生开展科技创新活动的好帮手,从而培养数据意识和计算思维。
案例4. 用超声波传感器检测障碍物的方向 2017 年,我曾经与学生研究用超声波传感器识别前方障碍物的方向,即利用三角函数知识,通过障碍物和不同传感器的距离计算出角度(原理见图3)。根据超声波传感器测量障碍物的方向,可以应用在无人车驾驶、目标跟踪等场景。因为背后的数学公式有点复杂,没有学过三角函数的小学生是难以理解的。2022年,我们重新设计了这一案例,采用深度学习模拟这一数学公式,现在小学高年级的学生也能用收集数据训练模型的方式完成障碍物角度的计算了。经过测试,我们使用BaseNN(上海人工智能实验室开发的神经网络库),仅仅搭建了3 层全连接神经,不到200 轮的训练(借助CPU 训练也仅花了1 分钟),就很好地模拟了这个函数的曲线。BaseNN 的代码简洁,很容易理解(图4)。
方向之三:模式识别,简化复杂场景的数据编程
在青少年科技创新活动中应用各种传感器已经非常普遍,如各类机器人的开发。单一传感器的编程并不复杂,但涉及到的传感器一多,编程的难度就呈指数级别上升。机器人竞赛中的追球、投篮等场景,会涉及到视觉、距离、方向等传感器,就连巡线任务也会使用1 组传感器。有些应用场景与时间、空间相关,即使涉及的传感器不多,编程也很复杂。如判断人的运动状态,不管使用视觉传感器还是加速度传感器,都是经典的难题。因为加速度与坐标在运动过程中是不断变化的,识别某种状态需要得到运动过程中的所有数据,而每次检测到的数据不可能完全相同,总会因为速度的快慢、形状的偏差而产生相近但不相同的数据。面对这些较复杂的场景,如果使用机器学习的方式解决,编程难度会大大减低。
案例5. 利用机器学习做一个魔法棒 对魔法感兴趣的学生希望设计一个魔法棒,配合不同角度的挥动,就可以实现奇特的效果,比如点燃火把、拉开窗帘等。挥动魔法棒其实是改变各个方向的运动速度,而衡量运动速度变化的物理量是加速度。温州中学的徐浩森等同学采用深度学习成功识别出了魔法棒的常见“法术”。他们选择了掌控板,先通过不断重复手势而得到标注过的加速度数据,然后用神经网络训练出模型用于识别新的数据。经过测试,仅仅采用了3 层全连接神经网络,就能获得不错的识别效果(图5)。虽然掌控板不能直接部署模型推理环境,但可以通过网络将数据发送到服务器再返回结果的方式实现。
人工智能是青少年科技创新活动的新研究对象
与其他经典计算机算法不同的是,人工智能模型的训练与数据集的关联特别密切。当面对一个真实的问题情境,即使在最新SOTA 模型(SOTA 是state-of-the-art 的缩写,指在某项研究任务中目前表现最好、最先进的模型)的支持下,也需要微调很多参数,因而人工智能专家会戏称训练人工智能模型为“炼丹”。要训练出一个优秀的模型,得做大量实验,甚至需要对经典模型进行细节处理,值得不断研究。
另外,虽然对青少年的知识储备来说,很难做到独立设计性能优秀的算法模型,但是对现有的SOTA 网络进行一些细节调整,如修改Dropout 层的参数或者增加几层全连接网络,有时也能产生很不错的效果。因此,人工智能不仅是青少年的科学研究工具,也是值得探索的研究对象。
方向之一:不同算法模型的联合工作
面对一些较为复杂的识别任务,业界的常见做法是搭建一个层数较多的复杂网络模型。对青少年来说,也有一种看起来“笨拙”却有效的做法,即采用多种SOTA 模型进行灵活组合。比如要在图像中识别做出点赞动作的嘉宾,可以先利用目标检测中的人体识别模型找出人体,再采用图像分类的方式进行判断;也可以采用多目标检测的方式同时识别人体和点赞手势,再找出和这个点赞手势坐标重合的人体。不同的算法模型组合后,能够解决很多复杂任务。
案例6. 一种基于投票机制的图像分类算法实现 2023 年的国际青少年人工智能交流展示会发布了一个深度学习挑战赛,数据集为“令人困惑的动物”。因为图片的相似度很高,采用当前常用的SOTA 模型MobileNet,只能取得不足60% 的准确率;即使用了数据增强技术,增加训练次数,也难以提升准确率。来自温州中学的金驰洲等学生借鉴“三个臭皮匠,顶个诸葛亮”的古语,设计了基于投票的集成深度学习方法,即将多种SOTA 模型联合使用,采用投票机制获得更好的学习效果。他们先后训练了DenseNet121、DenseNet201、InceptionV3、NASNetMobile、ResNet50V2和Xception 等模型。研究证明,这些模型联合投票后准确率居然超过了86%,有非常显著的提升(图6)。
方向之二:低算力环境下的人工智能算法设计
在中小学阶段算力匮乏是普遍现象。如何在有限的算力中训练模型,或者在有限的算力中实现快速推理,都值得深入研究。相对来讲,一些内置模型的人工智能应用平台运行速度较快,如OpenCV 识别人脸,MediaPipe 识别人脸特征点、识别手势的速度,比我们自行训练的网络要快,充分利用人工智能应用平台快速识别的特点,在其识别结果的基础上进一步训练模型,是一种可行的低算力解决方案。
案例7. 基于循环神经网络(RNN)的时序动作识别 时序动作识别是常见问题,如人的手势动作、表情变化、行为趋势等。无论是图像分类还是目标检测技术,通过一张静态图像都很难准确判断。要读懂动态图像,一般要使用光流(Optical Flow)或者时空卷积技术,但这些算法模型都比较复杂,对算力的要求也比较高。上海人工智能实验室智能教育中心提供了一个简单方案识别人的动作。他们选择了Recognition of human actions 数据集,数据中包含6 种类型的人类行为(步行、慢跑、跑步、拳击、挥手和拍手)。先使用MediaPipe 逐帧获取视频中人体的骨骼信息,转化为一组坐标,然后借助循环神经网络(RNN)训练一个能够预测动作的模型,模型很小,效果却很不错,训练时间也很短,模型推理对算力要求很低。