如何理解作为教学实践的人工智能教育

2019-07-19 06:06向金吴俊杰
中国信息技术教育 2019年12期
关键词:俊杰编程模型

向金 吴俊杰

作为一个每周上几节课的老师,虽然很向往教育学者侃侃而谈、著书立说的那种感觉,但对于很多具体的问题还是会说:“要不然您拿一节课,最好是自己上一节课给我讲讲?”此次关于人工智能与教育的对话,我请到了在技术上和教学上都十分优秀的西安交通大学附属小学的向金老师,一起聊聊作为教学实践的人工智能教育。

——吴俊杰

吴俊杰:向金老师,非常感谢您能参与本次对话,其实我们已经很熟悉了,但还是要问,您是如何走上人工智能与教育相结合这条路的?

向金:感谢您的邀请。首先,我以前是语文教师,并不是专业的科班出身的信息技术教师,说起如何走上这条路的,还是有点机缘巧合。我就读师范时就特别喜欢信息技术,那时用的计算机还是286,最高端的还是苹果机。有一位新毕业的教师给我们上编程课,我记得特别清楚,当时讲的是BASIC语言,很多同学都没有听懂,而我听懂了。我觉得很有意思,对它非常感兴趣。

吴俊杰:向金老师一不小心暴露了年龄。

向金:是啊,我一个语文专业的师范生,理论上计算机是可学可不学的,但兴趣促使了我的探索,计算机老师给了我一把钥匙,让我没事就去机房,从此就开启了我的编程梦想。也因此,我觉得有一位好的老师非常重要,他能够为学生开启未来的一扇大门。从那以后,大部分时间我都泡在计算机机房里,用BASIC做各种小游戏,写各种代码。学生时代,就这样子过了有两三年,后来包括寒暑假,我都在外面参加各种进修,也积累了一些技术。

上班后,因为学的是中文,所以还是做语文老师,但并没有放弃计算机这个爱好,在1995年我租了第一台电脑,那时候买不起电脑只能租。到2004年,毕业十年的时候,一个偶然的机会,我接触到了智能机器人,然后就开始了机器人领域的教学和研究。而真正开始将人工智能和教育结合起来,是在两年前。

吴俊杰:是在国务院发布人工智能的相关政策文件的时候?

向金:是的,有政策因素,也有自己对技术趋势的把握。例如,有时候为了能够找到好的解决方案,我需要大量的数据,并尝试用数据模型的思想来解决问题,但当时我还没有意识到这就是人工智能的重要思想。学生们也会去分析竞赛中产生的各种数据之间的关系,并与程序结合起来。后来,我们在思考一个问题,就是能不能做一个万能的工具,不用每个赛道单独编写一个程序,这个想法其实是学生们提出来的。一开始我们也写了一些万能的程序,但是总觉得不够满意。后来我们就想用数组一类的方法去解决这个问题,沿着这个思路找规律,在查阅资料的过程中慢慢发现,这其实就是人工智能里面很重要的一部分——基于数据训练模型。我们觉得这个过程很有用,效果也非常好,所以自然而然,就从机器人圈子进入到了人工智能的圈子。

吴俊杰:是的,寻找一个能自动适应各种赛道的机器人方案,是一个“通用問题求解”的过程,这确实和我们之前看到的机器人程序不同,而且也是人工智能的重要研究领域。

向金:当我们从机器人自然而然地走向人工智能时,发现人工智能这个教育领域其实比想象的更广、更宽,它代表着一种比简单的编程更为通用的思维能力,数据、知识及模型之间的关系,这种思维方式可以移植到很多学科。例如,我一直在做的这个课程,希望人工智能和数学结合起来,不是让人工智能帮助学生学已知的数学,而是让学生借助人工智能的思想去重新认识数学,然后让他们理解人工智能所需要的一些理论基础,为他们以后真正做人工智能核心的算法进行一定的积累。

吴俊杰:很感谢您,分享了很多我并不太知道的故事。兴趣是最好的老师,这一句话在您身上体现得特别明显。在学科层面上,目前常见的做法是把人工智能分成两个方向,第一个方向是把它作为信息技术学科为先导的一个系统的教学内容,另一方向是用人工智能来辅助传统学科的教学,这可以称为“人工智能+”,感觉和“互联网+”类似,数学还是讲原来的东西,只是有了人工智能的学伴。而您对人工智能的理解,似乎超越了这两个方向,是从人工智能的思想方法出发,去解决实际问题,各个学科都可以用,但用的过程又不是本学科原本的用法,是方法导向而非知识导向的一种做法,是综合的而非孤立的。这很像LOGO语言之父、Scratch语言所在的“终身幼儿园”项目的创始人——西蒙·帕佩特先生的思想轨迹的一条延长线——计算机是一种思维的飞跃,而非传统学科的拐杖。人工智能的通用方法是人工智能作为实践教学的核心。

向金:人工智能一定少不了编程,这是最基本的知识,但它跟编程又有不同的方式,如编程的思维方式是人帮着计算机解决问题,而人工智能的思维方式是用数据去训练模型,要想办法获得大量的数据,然后用生成的模型去解决问题。这是人工智能和传统的编程教学很大的一个区别,这种思维方式我觉得在教学中一定要让学生去理解,否则的话,他们会把人工智能跟编程等同起来,将来可能只会成为一个简单的码农,缺乏做出开创性贡献的思维基础。

而你说的“人工智能+”也可以分为浅层和深层的应用,我更关注深层的应用。人工智能教育编程是基础,但是并不是以编程为目标的。除了编程之外,还有一个很重要的问题是要搞清楚数据从哪里来,数据获取有很多的方式和方法,人工智能的兴起,数据功不可没。这也是必须让学生理解未来的社会数据很重要的原因。学生不仅要知道数据在网络安全中有用,而且要知道公平地用数据、科学地用数据,注重数据的共享性的同时还要注重数据应用的伦理原则。

有了这种思维方式,然后要学习的就是一些关于数学上的东西,我认为这也是可以做的一件事情,就是怎么样把“数学”与“数据”结合在一起,然后用数学的一些方式,去找到数据之间内在的关系。开始,我们可以让学生自己去找,然后用人工智能的方式再去验证。这样就形成了一个对比,让学生理解什么是人工智能,明白人工智能其实还是要跟人的思维方式进行匹配。这样做的好处是让学生在做项目时,一开始就能够区别传统的编程模式,而不是把它理解为只是为了完成一个项目而去做的数据处理分析,整个过程主要还是让学生对人工智能的思维过程有全面的了解。

吴俊杰:通过您的讲解,我对一些概念的理解有了很大的提升,之前我认为信息技术学科视角的人工智能教育可能是一个主流的状态,现在我认为跨学科视角的人工智能教育发展潜力巨大,我们可以借由人工智能与教育的结合,对学科教学进行更加大刀阔斧的改革。

向金:接下来,我介绍一下我一直在做的课程的设置背景。在我所在的学校中,机器人课是单独的课,而未来计划把它与编程课放在一起,因为学习机器人肯定要学编程,但也不完全等同,因为机器人还涉及结构、传动这些物理知识。另外一个课程是3D打印,该课程大多是针对建模的。目前这些课程由一个课程团队实施,都是大班教学的状态。下一学期,我计划在大班开设人工智能课。其实每个学科,都可以去做人工智能的整合,举个例子,之前西安交通大学联合中小学,做了一个知识图谱的课题。这个课题是与人工智能相关的国家重点课题,就是用人工智能的方式来处理所有的学科的知识图谱,目前已经实现22个学科的知识系统。这就是以“人工加智能”的方式去做的,因为目前要完全靠人工智能去做还是很困难,但在未来,这种图谱在评价上就很有用。学生可以学习构建这个图谱的过程,也可以应用这个知识图谱来学习。这更合适“人工智能+教育”的执行方式,知识图谱也可以帮助教师进行决策,当某一个学生的知识点出现问题时,我们通过知识图谱去查阅他,看看如何提供个性化的帮助。

吴俊杰:真的很希望有机会能够开放这些相关的课程,给全国的教师们看一看。当然人工智能的教学还是需要一些教学平台和硬件设备,这样就能够从一个教学场景出发,具体告诉教师这些硬件和编程环境是如何在小学教学中实施的。

向金:那么我来举两个比较典型的教学场景。

一个是两列数组,第一列是1、2、3、4、5、6、7、8这种自然数,第二列是2、4、6、8、10、12、14、16,在课堂教学中,教师会让学生去找这两列数的规律,这个规律其实处理起来还是很容易的。但是,最重要的是要让学生知道人工智能做法:第一步,把数据导入进去(如图1);第二步,把数据加载到一个模型里,对于这个模型的核心算法,小学生无法完成,但接下来学生可以去训练该模型。

之后,则会生成该模型,这就相当于规律已经找到了,后续学生要验证该规律,而验证的过程是将一个原数据之外的数据放进去,看一看计算机的训练结果(如下页图2)。当学生验证时,发现人工智能找到的规律并不一定是二倍的关系,这就涉及一些类似损失函数之类的概念,在后面的学习中学生就可以去慢慢理解了。

接下来,就是进行优化,把模型调得更好,这里会有很多方法,如提高数据的数量、增加训练的数目、调整参数值,甚至改进底层算法。我们能够看出,编程过程并不是特别复杂,简单几步就可以做好,但其解决问题的方式与传统的编程是截然不同的,而这一切我们現在都把它放在一个我们开发的类似Scratch的图形化编程平台上。

另一个就是无人车的案例。我们都知道,无人车一般情况需要安装很多的传感器,而我们这个无人车并没有使用太多的传感器,我们使用摄像头。其实如果只单纯地用图像识别的方式去做,工作量是相当大的,但用数据训练的思路,我们会让学生知道只是把之前让人工智能找数学规律的过程迁移过来。

首先是采集数据,我们边遥控边拍照,获得的图片全部存到SD卡上或者云端。其次是生成模型,当然这个过程具体的算法很复杂,使用本机常常需要几个小时,后来我们建立了一个云端的GPU系统优化了这个过程。完成后系统就会输出一个类似函数的东西,通过这个模型就可以开始测试无人驾驶的效果(如图3)。其实这与第一个案例也是非常相似的,验证是不是实现了真正的无人驾驶。如果效果不好,就要看是不是原始数据有误或者数据的品质有误。由此可以拓展,如何让无人驾驶能够更加智能,如增加语音识别或设计更为复杂的环境。当然这个过程都是要经历类似“准备数据—生成模型—验证模型—改进模型”的过程,我们称其为人机建模,这与之前程序教学当中更注重过程和逻辑的教学模式是不同的,其重点也有区别。

吴俊杰:实际上这就是数据和模型驱动下的人工智能教育。该思维方式应该是在一开始就明确地告诉学生的,这是人工智能时代学生的数据素养、信息素养的一个重要组成部分。我觉得这种思想方法,也可以用在物理学的学习中,我们在做物理实验的时候也是从数据中去证明一些结论或者发现一些新结论,您的做法也给了我很大的启示。就是说能不能从物理学科的角度出发,去训练人工智能,去发现一些可能会忽略的有规律性的概念,就像阿尔法狗发现了千百年来围棋大师们所没有尝试过的棋局形态一样。这也是人工智能时代对我们传统的科学素养概念的一个提升。

这么来看,数据素养、科学素养和信息素养在人工智能时代是三位一体的关系,共同构成了人工智能时代的劳动力结构。同时,这种关系和数字科学家2.0的理念也不谋而合,您的观点也给了我很大的启示。

向金:用物理的实验数据去找内在规律,这是非常好的一种思路。其实,与人找规律相比,人工智能能够发现我们没有发现的一些规律,沿着这个思路,我们也可以尝试用人工智能的方式去做更多的课程整合。

不仅是针对物理,还有很多其他学科的应用。例如,艺术类的案例,我们做了一个非常有趣的小型实验,就是研究什么样的画学生会觉得更美。这其实就是对人工智能进行训练,把这些画都放进去,让学生来给画贴标签,是美还是不美。然后,再把年龄标签、性别标签都放进去,你会发现特别奇特的现象,很有意思,即用人工智能数据给出的结果是不一样的,基本上你就能够推导出下一幅画学生是喜欢还是不喜欢。但是,模型中到底有什么样的规律我们很难判断,因为这里存在着一些没有办法量化的东西。

吴俊杰:这就有点像量子力学,一切都是概率性的东西,至于它具体在哪里,是不能够具体量化的。各个学科的应用场景,让我想到了“未来学校”的概念,您觉得在人工智能驱动下的未来学校会是一个什么样子?人工智能对未来学校会有怎样的影响呢?

向金:我觉得未来的学校会是一个跨平台的事物,就像我们梳理的知识图谱一样。很多基础知识的学习会在线上完成,且这是一个更加跨领域、跨地域的学习状态。人工智能对未来学校的影响首先是大数据支持的学习诊断,如果数据足够多,就可以推导出学生的学习方向和趋势。其次,学生的每一次学习、每一个项目、每一个研究、每一次与别人的沟通、每一次线下的诊断、每一次与他人的互助,都会形成数据沉淀下来。这样,传统意义上的学校的概念就会被打破。总结起来看,线上更像是现在知识传授型的学校,而线下则更像是一家医院或者一个社区。

吴俊杰:您说的这些我很期待,而且离我们也并不遥远。说实话,从2009年开始接触Scratch,到后来的创客教育,在2012年的时候就已经形成了一些基本的观点,如软硬件结合的好处、编程中的系统思維、互动媒体中的艺术规律,还有开源文化和未来社会的关系。在之前我看到的很多人工智能的教学案例中,并没有跳出这些核心概念,让我有一种旧瓶装新酒的感觉。但是听了您关于人工智能与教育结合的这些思路,包括对未来学校的畅想,从方法论的层面上,给了我一些新的思路。最后一个问题,您如何看待这种形态的人工智能教育在实施方面可能会遇到的一些困难?

向金:肯定是会遇到一些困难,而且现在就遇到了第一个困难,即人工智能领域中的项目及产品特别多,且相关算法也特别多,虽然一些已经被开源出来,但对中小学来说还是太难了,根本就没有办法去落地实施。

因而,我们目前就要做一个开放平台,即人工智能面向中小学的开放平台,与Scratch一样,具备很多图标,学生根据需求就可以把它拖进来。虽然这些核心的源代码不是我们原创的,但我们希望把这些开源的东西整合到一个平台上,同时能够真正地把它图形化,并让它能够用起来。只有这样,学生才能把复杂的问题简单化。当然,封装时不能太死,要给学生留有可发挥的余地,基本的思路是要保证人工智能最基本的一些特性,特别是人机建模的思维过程。

面临的第二个问题就是,未来人工智能的算力问题,特别是在进行大班教学时,算力是非常难解决的问题。以小组学习为例,几个学生同时在计算,对计算机、本地服务器的压力都是很大的。如果采用云端的方式,也只能10到20个学生同时进行测算,而且五六分钟左右才能出数据。如果更大规模则可能有一些延迟或延误,这就影响了教学体验。所以我想,未来我们可能会联合一些厂商或者一些志同道合的大企业贡献一定的“算力”,或者是使用一些专用的芯片来解决问题。

可预见的还有第三个问题,就是到了一定层次的课程之后,在核心算法层面,还需要像剥洋葱一样一层一层把它剥出来,这可能需要更专业的人来加入进来,这也是我们下一步的重点。

猜你喜欢
俊杰编程模型
自制空间站模型
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
表演大师
编程屋完成数百元万天使轮融资
我的同桌
学编程,先画画
模型小览(二)
圆周运动与解题模型
离散型随机变量分布列的两法则和三模型