APP下载

中小学AI教育 需要怎样的学习工具

2022-06-20

中国信息技术教育 2022年12期
关键词:俊杰代码创客

夸美纽斯在其开创“教育学”这一学科的巨著《大教学论》的第十一章中,曾指出“在此以前没有一所完善的学校”,这句话在目前同样适用。因为我们目前也正处于一个“重新定义教育和学习”的新时代。就像在夸美纽斯的学校中,每个人都平等地接受语文、数学、科学和艺术教育一样,人工智能教育的出现,给了我们一种重新看待学校和学习的视角。人工智能需要普及,仅仅将人工智能看成学习方式的观点需要被修正甚至变革。这样,我们面临的首个问题就是人工智能教育的教学内容是什么。

本期对话,北京师范大学的在读博士吴俊杰、上海人工智能实验室的戴娟和浙江省温州中学的谢作如老师,将共话中小学AI教育需要怎样的工具,从学习工具角度分析AI教育教什么和怎么教的问题,从这个意义上说,人工智能教育的“大教学论”的序幕才算是拉开了。

北京师范大学在读博士,创客教育普惠课程发起人,www.chinaaitest.com人工智能创客素养能力测评专家。研究方向为创客教育的评价及教师专业发展、科创教育指导下的跨学科项目课程与拔尖创新人才培养。

上海人工智能实验室智能教育中心主任,商汤科技教育研究院院长,曾任职美国苹果Siri部门产品总监和美国微软Window Phone部门资深产品经理。

》 谢作如

浙江省温州中学人工智能实验室负责人,正高级教师,省特级教师,省“万人计划”教学名师,中国电子学会現代教育技术分会副主任委员,中国教育技术协会信息技术教育专委会常务理事,上海人工智能实验室智能教育中心AI科创教育顾问,浙江教育出版社出版的高中信息技术教材分册主编,清华大学“大、中、小学一条龙教学研究”实验教材编写组信息技术教材副主编。

AI教育和创客教育、智慧教育的关系

吴俊杰:我知道谢作如老师目前在领衔研发一款AI教育工具。准确地说,是他对当前的AI学习工具不满意,决定“出山”自己来做一个新的。因此,我想先问谢作如老师一个问题:近两年,“AI教育”在中小学是一个热词,是不是可以用AI教育来替代创客教育,或者说AI教育已经替代了创客教育?

谢作如:我不认同AI教育替代了创客教育这一说法。AI教育与创客教育,从来就不是替代和被替代的对立关系。虽然创客教育强调的是在造物中学习,而AI教育关注的是技术学习,用AI技术去解决问题。但是二者关系非常密切,因为创客总是会用更先进的工具去解决问题,当AI技术的门槛降下来了,或者说AI技术“大规模业余化”了,创客们就自然而然会用AI作为工具,去造智能的物,解决更多的问题。

我给学生上人工智能课的时候,会有意识地找一些身边的真实问题作为案例,让学生去解决。创客教育强调的是“为解决问题而学习”,学习AI要解决的问题不能局限在计算机本身,应该源自真实的物理世界,这样才能激发学生的学习兴趣。所以,AI教育也会像创客教育一样,采用项目式学习的理念。例如,这十来年中,我和学生经常在创客空间研究各种识别人体姿势的技术,这些研究项目既可以说是创客教育,也可以说是AI教育。因而,AI教育和创客教育是互补的,不是对立的。

吴俊杰:记得2017年时,我们在北京组织了一次小型研讨会,和AI行业专家一起探讨如何开展AI教育。那时,国务院《新一代人工智能发展规划》发布不久,人工智能成为一个热词,但中小学却不知道如何实施。后来我们把研讨会的主要观点整理为一期对话,标题是“人工智能教育:袪魅、进展与实务”。一转眼五年过去了,当时的一些观点,是否发生了变化?

谢作如:想起那次会议我记忆犹新。记得我们讨论了整整半天后得出结论:AI教育至少有两个教育目标,一是培养适应AI时代的人,二是培养能研发AI应用的人。对于中小学来讲,重点是先要解决第一个目标,每一个孩子都必须学会如何与AI和平相处。下一步是吸引一部分孩子对AI产生兴趣,试着用AI解决一些问题。而要做到这些,需要有一系列AI项目和一套AI课程,还需要好的AI开发和学习工具。

吴俊杰:现在还有一个教育名词叫做智慧教育,它和人工智能教育似乎也有很多关联,能否简单分析一下?

谢作如:因为常常有人将人工智能教育简化为“智能教育”,这就和智慧教育看起来特别像。其实智慧教育就是教育信息化,关注的是以物联网、大数据、人工智能为代表的新技术在教育中的应用,与今天讨论的将人工智能作为学生学习内容的教育是两回事。但我一直将智慧教育中的很多应用场景,如智慧教室、智慧校园作为学生研究人工智能技术的实践场,让学生从智慧教育的用户走向工程师、设计师。

AI课程及其与学习工具的关系

吴俊杰:戴娟老师既是实验室智能教育中心的负责人,也是一名资深的中小学AI教育研究者,早在2018年就带着团队开发AI课程。我想请戴娟老师谈谈在中小学AI教育深耕多年后的心得。

戴娟:我学的就是AI专业,2018年,一个偶然的契机让我走上了青少年AI教育之路。这是一项开创性的工作,我们的想法和认知随着实际教学活动的反馈也在发生改变。通常的人工智能的定义是制造出能思考、能学习、能推理、能决策和能行动的机器。基于这一点,我们努力去开发能够体验和应用AI的课程,帮助中小学生更好地了解AI技术及其应用。

随着研究的深入,我们逐步认识到了AI教育对于孩子成长还有另一层意义。因为AI也是一种认知科学,当教孩子们训练计算机来理解语言和作文的时候,他们需要深入理解语言的本质;当教孩子们如何教会机器学习并且了解机器有哪些学习的方法的时候,他们需要思考关于学习的问题;当教孩子们如何教会机器推理和决策(机器的思考)的时候,他们需要研究关于思考的问题。人类的大脑具有思考其自身的能力,AI作为一种人造的体外智能,可以帮助孩子们将其形式化的心智和认知发展转化为具象的学习过程。

吴俊杰:谢老师长期工作在一线,您能否评价一下当前的中小学AI教育现状,并说说对AI教育的期望?

谢作如:我认为到现在为止,AI教育并没有得到很好的发展。虽然中小学冠名为AI教育的课程很多,但是良莠不齐。我将当前的中小学AI课程分成三类,第一类是“浑水摸鱼”型,就是把之前的编程、机器人课程,甚至包括乐高积木拼搭之类的课程改个名。第二类是“阳春白雪”型,把高校的人工智能课直接拿过来给中小学,可惜代码太复杂,只能体验。第三类是“挠痒痒”型,或者称为AI应用课程。这类课程把AI部分交给了硬件,如智能摄像头、离线语音识别模块,对学生来说,无非用了功能更强大一点的电子模块,哪怕做出了智能作品,但对AI的原理并不了解。

在我眼里,真正的AI教育是第四类课程。通过这类课程的学习,学生能够掌握机器学习的方法,亲历整理数据、选择模型、训练模型以及最终解决问题的过程。学生只有亲历了用机器学习解决问题的过程,才能深刻理解数据、算法和算力对人工智能的意义。2019年,我在编写初中AI教材和初中信息科技教材时,就希望能编写出这样的课程,但因为缺少好的AI学习工具,很多想法没办法落地。对初学者而言,现有的AI开发框架都太难了,且不说TensorFlow和Pytorch了,就连Keras对中学生的代码能力要求也太高了。

吴俊杰:我在景山学校当了十几年的创客教师,能深刻理解学习工具对课程开发的重要性。记得在开源硬件Arduino出现之前,学习单片机是挺难的;在掌控板和SIoT(一款开源MQTT服务器)出现之前,學习物联网也是挺难的。现在,我已经明白了开发AI学习工具的初衷了——因为当前的AI开发工具太难,学生掌握起来有难度,而图形化类自称能做AI编程的工具又太简单。那么,谢老师您认为一个好的AI学习工具应该是什么样的?

谢作如:这几年,我一直在找一款好的AI学习工具,我希望这个工具入门简单,让学生用简洁的代码就能完成深度学习的训练,训练出来的模型能够部署为真正的AI应用,借助这一工具又能体验最新的AI算法模型。简单地说,这款工具同时具有学习工具和开发工具的特点,就如Python一样,代码简单,又能用来解决真实问题。

吴俊杰:我很认同您的分析,因为找不到这样的学习工具,那就自力更生做一个,对吧?谢老师研发的AI学习工具叫什么名字?

谢作如:因为是源自开源AI算法框架OpenMMLab,针对中小学在语法方面做优化,降低技术门槛,因而取名为MMEdu。

MMEdu是一个什么样的工具

吴俊杰:戴娟老师能否简单介绍一下OpenMMLab?

戴娟:OpenMMLab最早来自香港中文大学的MultiMediaLab(MMLab)实验室,由汤晓鸥教授领衔建设。上海人工智能实验室在2021世界人工智能大会上发布了新一代OpenMMLab,作为深度学习时代计算机视觉领域具有影响力的开源算法平台,OpenMMLab升级后涵盖更广泛的算法领域和应用场景,实现了从训练到部署的全链条价值。

MMEdu项目的出发点是将OpenMMLab“降维”,希望将技术门槛降到中小学生也能使用。目前MMEdu项目的负责人就是谢作如老师,研发团队主要是实验室的实习生,分别来自上海交大、中国科学院大学、上海科技大学等高校的AI专业大四学生或者研究生。他们大多是OpenMMLab的用户,具有很强的AI研究和开发能力。

吴俊杰:我明白了,相当于是基于OpenMMLab团队的科研成果,延续其在工业和科研领域的硬实力,开发了针对中小学的以“实干兴邦”为导向的真正的人工智能工具MMEdu。谢老师,您参与了好几个版本的AI教材编写,能不能从教材编写的角度来谈谈MMEdu的开发?

谢作如:当前的中小学教材里用到的大部分AI工具,基本上都是由国外团队开发的软件。以高中的《人工智能初步》教材为例,六个版本的教材涉及机器学习和神经网络的,全部使用Google公司的AI开发框架TensorFlow。因为TensorFlow有个前端的工具叫做Keras,教材中所有的神经网络都用Keras搭建,但Keras的使用门槛还是比较高,它不是为中小学生的学习开发的。

因为缺少好的AI工具,教材中的机器学习案例都局限于解决一些鸢尾花识别、手写体识别的分类问题,几乎不会涉及更复杂一点的AI识别问题,如图片中的目标检测,即图片里面有多少个手表或者是有多少支笔之类的问题。

吴俊杰:所以,您认为大部分的人工智能教材里的例子,在难度上太简单,很难用这些AI知识去解决生活中的真实问题,是吗?

谢作如:在高中人工智能教材编写过程中,的确能看出情境单一、应用窄化、知识陈旧的问题,如机器学习算法停留在决策树和回归上,卷积神经网络内容非常浅,甚至回避,深度学习更是一片空白。“人工智能初步”模块是选修课程,学生一旦选学以后,就意味着要走一条深入学习人工智能的专业道路,可教材并没有提供这条道路,没有让学生学到最关键最有用的东西。但是,不能因为这一点去指责教材的编写者,没有好的工具谁也没办法。我也不例外,对自己前几年编写的AI教材不太满意,才有了强烈的开发一个好工具的想法。

吴俊杰:我也教过AI课程,讲过机器学习和蚁群算法,但一直觉得深度学习很高深,还没有研究过。那么,中小学生能掌握这些连我现在都还不太理解的技术吗?

谢作如:这一轮人工智能的兴起,就在于深度学习的成功。而深度学习背后的原理,到目前为止还存在一个技术瓶颈,那就是“不可解释性”。也就是说,现在大家都是把深度学习作为一个黑箱子去使用,因而才有AI工程师戏称训练模型过程为“炼丹”。对于中小学生来说,并不是一定要弄清楚原理才能去使用深度学习这一技术。例如,现在几乎每个孩子打开平板就会用它上网、玩游戏,但他们知道“触屏”技术的原理吗?知道TCP/IP和HTTP协议吗?从这一点看,要让中小学生把AI当作“黑盒”工具先用起来,至于背后的数学原理,等上了高校再研究吧,这点神秘感还能成为他们探索未知的动力。

基于这样的认识,我就特别想让学生去接触一些前沿的AI应用,如目标检测和对抗神经网络等。我第一次看到对抗神经网络的案例是在创客空间,一位学生用百度的PaddlePaddle运行了自动生成猫脸,身边的其他同学和我一样,眼睛都亮了。只可惜代码太复杂,写教材的时候我没有办法将这样的例子写进去。因而,当我了解到OpenMMLab愿意为中小学做“降维”的时候,就特别激动,因此才有了MMEdu的故事。

吴俊杰:您不擔心这个工具开发出来以后,它也会像借用AI开放平台接口技术的编程语言一样,学生只是敲了几行代码去调用,并没有学到真正的技术?

谢作如:我们先来看两段代码吧(如下页图1)。

前面一段是调用某AI开放平台的代码,后面是MMEdu的模型推理代码,功能都是识别一张手势的图,输出结果。如果去除了开放平台的一些必要用户信息,两段代码都非常简洁,很容易理解。但不同的是,前者调用的是部署在云端的公用AI模型,后者则是用自己在本地训练的模型权重文件(“latest.pth”)做的推理。前者如同用“翻译软件”读英语,自己并没有真正懂英语,而后者是真正地掌握了技术,可以根据自己的需要训练不同的AI模型。

那么,用MMEdu训练一个AI模型困难吗?我们再来看一段用MMClassification模块训练的图片分类模型的代码(如图2)。

现在,吴老师是不是已经发现MMEdu的模型训练和推理的代码都非常简洁也很好理解,读起来非常像伪代码?其实,深度学习本来就不复杂,无非是找到一组数据(数据集),搭建一个神经网络模型,然后开始训练,当训练出来的模型识别效果不错或者发现继续训练准确度也不会再提高时,就可以停止训练,保存这个相应的权重文件,如图3所示。

为什么MMEdu代码可以做到这么简洁?吴老师看“model = MMClassification(backbone='LeNet')”这句代码,“LeNet”是一个典型的神经网络,用于手写数字和字母的识别效果特别好,也是卷积神经网络中必学的内容。如果用Keras写代码,搭建LeNet网络需要挺长的一段代码,而MMEdu写出网络名称就能直接调用。这就是用OpenMMLab研究AI的优势所在。请戴娟老师来解释一下背后的原理,她在香港中文大学读书时参与过OpenMMLab的开发。

戴娟:OpenMMLab现任负责人林达华老师曾经这样归纳——OpenMMLab助力开发者缩短AI项目路径。这是因为OpenMMLab内置很多类似“LeNet”的经典网络,如MobileNet、yolov3等。这些内置的经典网络也叫做SOTA模型,SOTA是“state-of-the-art”的缩写,指在某项研究任务中,目前表现最好、最先进的模型。在科技届有句名言叫“不要重复造轮子”(Stop Trying to Reinvent the Wheel),也就是说,像这些SOTA模型本来就没有必要让开发人员费力去重新搭建,直接调用就可以了。

谢作如:OpenMMLab的这一功能让我想到了Python。以排序为例,以前我们教VB,所以要学习冒泡、选择之类的排序算法。现在用Python了,要排序就直接用“sorted”或者“sort()”,非常方便。必修教材也不再介绍排序算法了,只有在研究算法的时候(如“算法基础”模块)才会自己写代码演示排序的原理。同样,MMEdu虽然内置了很多SOTA模型,但用户也可以借助MMBase模块,一层一层地搭建出个性化的模型。

吴俊杰:我理解了。的确,开源硬件的出现也是如此,是为了降低单片机开发的难度,用Arduino的引脚代码控制引脚就很简单,像PWM、舵机控制的代码,直接封装为函数,不用单独去写。这样看来,创客教育的经历为谢老师开发AI学习工具提供了很好的经验。那么,MMEdu在代码简化方面还做了哪些工作?

谢作如:除了内置SOTA模型,MMEdu还统一了数据集的格式,如图片分类采用了ImageNet,物体检测采用了COCO。学生按照数据集的要求整理好数据,在代码中指定路径就可以了。我们认为学生整理数据集也是一种通用的能力,像物理实验素养一样,可以称为人工智能实验素养。

此外,MMEdu简化了训练时的各种参数。我们请项目组的同学给这些参数都设定好缺省值,这样一来,虽然牺牲了一部分的性能,但入门就简单了。目前,MMEdu训练时一般只需要写一个参数,那就是Epoch,即训练的轮次。

需要说明的是,训练参数虽然都设置了缺省值,但是学生如果理解了某个参数的价值,训练时就可以添加这个参数,如默认“validate”为“True”,表示训练时能看到准确率,改为“False”则能够提高一点速度。这就给学生们一种暗示:掌握的AI知识越多,训练出来的模型可能就越好,速度也可能更快。这些参数添加的方式和OpenMMLab完全一致,也就是说当学生掌握了MMEdu,再迁移到OpenMMLab是无缝的。

吴俊杰:您的这段话也启发了我,在物理课程与教学论专业有一个词叫做概念的进阶,指学生对概念的理解就像台阶一样。例如,“力”这个概念,在小学阶段“力”就是一种来自身体的直观感受;到了初中,“力”可以通过测力计之类的工具测量,能看到具体的数值;到了高中,就进阶到牛顿第二定律、牛顿第三定律的层次;到了大学,“力”这个概念可能不一定存在了,变成动量的一种流动形式。我感觉用MMEdu学习AI,也是这样逐步“进阶”的过程。那能不能用简短的一句话来定义MMEdu是一个怎样的工具?

谢作如:我的定义是一款“开箱即用”的AI学习或者开发工具。这里的“开箱即用”不仅仅是内置了SOTA模型之类,还包括了环境的配置。MMEdu直接解压就能使用,老师们再也不用为环境配置而发愁了。

吴俊杰:我再问一个初级的问题。在一般老师看来,调用AI开放平台就能实现很多的AI应用,那么,学生用MMEdu自己训练模型,与使用AI开放平台相比有什么区别?我是指能不能解决某些用AI开放平台无法解决的问题?

谢作如:现在的AI开放平台的确功能非常强大,已经能够实现很多AI识别功能。以某AI开放平台为例,上传一张动物的照片,能够返回准确度很高的识别结果。但是,如果用户仅仅想识别出自己家的宠物,则需要启用“EasyDL定制动物识别”功能,虽然这一过程并不用写代码,但是操作非常烦琐,而且还要收费。在MMEdu上,学生们只要自己給宠物多拍几张不同角度的照片,再找一些其他的动物照片,分为两组,按照前面的代码开始训练就可以了。只要数据集做得好,识别效果也是相当不错的。

用简单的语言去概括:AI开放平台提供的是通用的AI能力,而自己训练的模型,实现的是个性化的AI能力。最重要的是,通过MMEdu训练模型得到的AI解决问题能力是真实的、永久的。

吴俊杰:这是一个有说服力的例子,我也心动了。我记得谢老师在前面提到过很多工具,如TensorFlow、Pytorch和Keras,还有PaddlePaddle。MMEdu和这些工具之间是什么关系呢?

戴娟:TensorFlow、Pytorch和PaddlePaddle都可以称为AI开发框架,而Keras、OpenMMLab可以称为前端的API工具,是基于AI开发框架的封装。MMEdu则是对OpenMMLab进一步封装(如下页图4)。TensorFlow和Pytorch目前是AI领域最大的两个阵营,PaddlePaddle的用户规模要少很多。实际上,Keras也是支持Pytorch的,而OpenMMLab修改底层后也能够支持TensorFlow或者PaddlePaddle。但因为TensorFlow并没有真正开源,因而目前学术界使用Pytorch的越来越多了。

吴俊杰:那用MMEdu训练出来的模型,能不能运行在树莓派、虚谷号之类的迷你电脑上?

戴娟:目前MMEdu已经能够部署到树莓派和Jetson Nano上。当然,你可别期望在迷你电脑上训练模型,速度真的太慢了。另外,OpenMMLab中有个模块叫做MMDeploy,是一个模型部署工具,其功能是把机器学习训练生成的算法模型,部署到各类移动或者边缘计算设备上去,并使之高效运行,从而将算法模型实际地应用到现实生活的各类任务中去。目前MMDeploy所支持的算法模块有检测(MMDetection)、分割(MMSegmentation)、分类(MMClassification)、编辑(MMEditing)和文字识别(MMOCR)等,支持后端推理引擎类型有ONNX Runtime、TensorRT和OpenVINO等。相信在不久的将来,用MMEdu训练出来的模型,能够部署到更多的迷你终端上。

谢作如:再补充一点,MMEdu还内置了siot、pinpong、PyWebIO等与开源硬件或者物联网互动的库,学生可以在自己的计算机或者算力服务器上训练模型,然后部署到各种开源硬件上。在温州中学人工智能实验室里,就部署了好几个学生设计的AI与智能家居设备互动的作品。学生们已经把智慧校园真正当作了AI技术的实践场。

MMEdu的未来展望

吴俊杰:聊了这么多,回到一个传统的问题, OpenMMLab是个开源的工具,是否要求他人用MMEdu的训练结果(指模型和权重文件)也开源?或者说MMEdu能不能用于商用项目?

戴娟:我们的确很希望有更多的人来贡献他们的数据集和训练出来的模型权重,所以后面在策划做一个社区。智能教育中心目前有一个团队专门做社区,但问题在于需要建设一个怎样的机制,才能吸引师生们参与到这个社区中去,开源他们的研究成果?靠着某种协议强制开源似乎不可行。我想只要我们坚持把MMEdu做好,开源的机制总会慢慢设计出来。

谢作如:MMEdu肯定能用于商用项目,正如很多创客会用开源硬件来做产品原型一样。我倒特别期待有团队用MMEdu做商业项目,因为这更能说明MMEdu是一个真正的AI开发工具。

对话后记

完成了这一次的对话,让我认识了一个既熟悉又陌生的谢作如。我认识谢作如老师很多年,他一直在研究前沿技术,而我一直只研究成熟技术的普及,此次MMEdu的出现,在中小学AI教育领域让人工智能成为一种成熟的技术,并且可以成为提高教育的社会生产力的一种通用工具了。

人工智能是科学,科学是全人类的财富,科学家是促进社会进步最重要的一支力量,科学普及是教育也是育人,真正的教育是直接产生社会价值的,也会让社会变得更加美好。我相信,依靠人类的力量,一个属于人工智能教育的“大教学”的时代,即将来临。

(吴俊杰)

猜你喜欢

俊杰代码创客
表演大师
我的同桌
校园创客交流平台的设计与实现
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
创客,你是什么段位?
近期连续上涨7天以上的股
创客时代
我给桌子“洗脸”