人工智能课程实践教学改革
——虚拟仿真实验平台建设
2022-04-07李艳玲孙昌霞司海平
李艳玲,孙昌霞,司海平,张 琦
(河南农业大学信息与管理科学学院,河南 郑州 450002)
0 引言
虚拟仿真实验教学是国家信息化教育战略的重要实践内容,而加速信息化教学建设是很多高校“十三五”规划的重要建设内容之一[1]。高校建设虚拟仿真实验教学中心的目的在于服务和发展学科专业建设[2],虚拟仿真实验教学突破了高校传统的实验教学模式,是当前实验教学的发展方向[3]。人工智能是在计算机科学、控制论、信息论等多学科研究的基础上发展起来的综合性很强的交叉学科[4],涉及的内容广,知识点多。人工智能课程难点在实践,存在对于计算资源需求高,应用场景复杂,实验框架环境多样,大规模并行实验环境平台搭建困难等诸多问题[5],因此如何切实提升该课程的实验教学质量、提高学生学习本课程兴趣度和学习效率是教学首要考虑的问题。互联网学习资源的出现,使得学生在理论知识获取的方式上更加快捷、有效和灵活。相对于理论知识资源,实验教学资源由于受场地、时间等物理条件的限制,导致学生开展实践性学习严重受限。在传统模式下,实验教学资源已经越来越难以满足理论教学的需求。根据调研,目前人工智能课程实验教学主要存在以下问题:(1)实验设置主要以验证性实验为主,学生无法通过实验课程提高项目设计与开发能力,不能适应社会对培养富有实践能力与创新思维的应用型人才的需求。(2)实验室教学资源有限,物理设备无法有效开放共享,很难开展大型人工智能综合设计性实验项目。(3)实验过程无法有效记录和量化,难以评估学习效果。
为有效地解决上述问题,本文结合虚拟仿真实验教学的多样性和灵活性特点,开展基于虚拟仿真的人工智能实验教学改革研究。通过整合人工智能实验教学资源,开发人工智能虚拟仿真实验平台,构建多元化的考核评价体系,形成与真实实验教学相辅相成、优势互补的新型实验教学模式。使学生随时随地通过实验来熟悉和掌握人工智能基本原理及方法,对人工智能的相关理论有更深刻认识,同时可以使学生规范地掌握人工智能问题求解技术,在培养学生掌握人工智能实验的基本操作、基本技能和基本知识的同时,培养学生创新能力和创新意识。
1 虚拟仿真实验平台建设
1.1 虚拟仿真实验平台的体系构建
在深度分析学生学习特点和人工智能课程培养能力需求的基础上,在建构主义学习理论和混合式学习理论的指导下,结合虚拟仿真实验教学平台设计的基本原则,秉着实现“教、学、做”一体化教学进行仿真实验设计,下面以人工神经网络章节为例。
(1)实验项目设计与导入。本章的知识点是基本神经网络和卷积神经网络,针对本章内容,设计两个设计型实验项目:MNIST手写数字识别(基于tensorflow实现单层神经元和多层神经元进行MNIST数据集中的手写数字识别)和CIFAR-10图像识别(基于tensorflow的CIFAR-10数据集的图像识别)。然后,借助虚拟仿真实验平台,导入这两个实验的项目任务及目标,让学生对项目有一个直观的认识,然后再布置具体的学习任务;利用虚拟仿真实验环境,让学生明确自己应当完成的具体任务和完成任务后可以得到哪些知识以及达到什么样的水平。
(2)实施计划。学生在虚拟仿真实验平台上按照已经制定好的计划逐步完成项目任务(比如在基于MNIST数据集的手写数字识别实验项目中,制定实验计划步骤:①训练数字识别神经网络的样本位图;②反向传播 BP算法;③神经网络建瓯的表示;④使用误差反向传播算法训练神经网络的泛化能力;⑤神经网络训练完毕后,将网络中的权值保存起来供实际应用)。教师借助虚拟仿真实验平台对学生进行指导,实现教师和学生以及学生之间的交流。学生通过应用已学习的知识完成工作任务,进行知识的构建,形成职业岗位能力。
(3)展示与评价。学生在虚拟仿真实验平台上展示自己的项目成果和提交实验报告,学生通过对自己在实验纪律、实验过程、实验完成质量以及实验结果等方面的评价,各小组间进行互评和监督,教师结合学生和小组的评价以及实际课堂中的监督情况,完成对学生的综合评价,形成以学生为主体、小组间互评、教师启发、引导、监督的一种虚拟仿真实验教学模式。
1.2 虚拟仿真实验平台的总体设计
为实现基于人工智能课程的虚拟仿真实验系统的管理,本系统设计了学生端,教师端,管理员端三大主题功能模块和若干子功能模块。“学生端首页”子功能模块主要实现对课程实验的集成,包括课程实验的详细介绍、课程视频的观看、实践项目的训练等。“个人中心”子功能模块主要实现对学生个人信息的管理包括个人基础信息的添加、编辑、发布的信息、收到的通知信息以及实践项目记录。“教师端课程”管理模块实现了对课程实验的管理包括类别的添加,课程实验的查询、添加、删除以及课程视频的更新和编辑等功能。管理员端中“系统管理”设定角色类型和用户的信息编辑。“教师管理模块”是设定教师角色并且对其信息进行更改。“轮播管理”是对前端首页中轮播图进行一系列的更新和删除等操作。
1.3 人工智能课程实验功能设计
由于人工智能课程实验需要python编程环境,本文中使用Skulpt工具。Skulpt是一种可以完全依赖在浏览器端来模拟和实现Python语言操作的工具,其最大特点是不需任何预处理、插件及服务端的支持,只需直接通过Python语言进行载入即可。由于编写的Python代码全部都是直接在浏览器窗口中被执行出来的,所以用户完全可以不必再担忧“服务器崩溃”问题。
课程实验功能是核心功能模块,能够使学生在线学习人工智能实验课程,帮助学生完成实验的练习。老师在后台根据实际课程需要发布相应的课程实验的项目。发布成功后,系统将课程呈现在前端页面,方便学生后续学习课程。学生可以进入课程学习,并进行相关实验。
2 虚拟仿真平台的实现和使用
基于人工智能课程的虚拟仿真平台采用的开发工具为IDEA,采用的操作系统是Windows10操作系统。该仿真系统采用的是前端后端分离技术。系统前端页面采用HTML、css、JavaScript;系统后台软件开发采用J2EE程序语言,数据库MySQL8.0、SpringBoot技术、Mybatis技术;可视化工具采用的是SQLyog。
2.1 课程实验发布
创建课程实验的时候,教师需要对课程实验的基本信息、实验任务、实验内容、实验步骤等进行记录与填写。首先添加实验的信息,包括实验简介、实验内容、试验任务和实验步骤等。添加完成后,跳转到创建成功的页面中。当教师保存完课程实验之后,课程实验管理列表就可以显示出课程实验列表中的实验操作状态为“修改,删除”,教师可以选择任意操作。如果选择“修改”,就可以重新完善该课程实验信息。如果选择“删除”操作,就会把该实验信息从实验管理列表中删除;如果选择“修改视频”,可单独对课程实验中的教学视频进行修改。此外,还可通过导入Excel表实行对课程实验信息的直接导入;对于导出功能,选定相关课程之后,点击导航栏中的导出按钮,就可以以图片的形式对课程实验信息进行导出。
2.2 课程实验操作
学生点击登录后,通过在前端用户界面点击课程,进入课程,学习完相关的课程实验之后,进入实验,根据提示信息,了解实验任务以及实验步骤,进入实验界面,编写代码并运行。
本文为了更好地展示课程实验的详细效果,以经典人工智能过河问题实验进行阐述。学生可以在平台中浏览实验介绍和实验步骤。实验介绍如下:
本实验需要解决的是一般情况下的传教士和野人问题(M-C问题)。通过对问题的一般化,我们用一个三元组定义了问题的状态空间,并根据约束条件制定了一系列的操作规则,最后通过两个启发式函数,来优化搜索过程,并通过讨论,探究两个函数是否能够求取到最优解。实验内容为:有N个传教士和N个野人需要过河,在河边有一条船,船上每次至多乘坐k人。为了传教士的安全考虑,需要如何规划过河方案,使得在任何时候,都能够保证河两岸以及船上的野人数目总是不超过传教士的数目(否则不安全,传教士有可能被野人吃掉)。实验目的:求解使得传教士和野人从左岸全部乘船过河到右岸的过程中,不管在任何时刻都满足M(传教士数)≥C(野人数)和M+C≤k的过河方案。
实验步骤如下:
(1)设置状态变量并确定值域。M为传教士人数,C为野人人数,B为船数,要求M>=C且M,C<=3,L表示左岸,R表示右岸。
(2)确定状态组,列出初始状态集和目标状态集。可以用三元组来表示:(ML,CL,BL)(均为左岸状态)其中0<=ML<=3,0<=CL<=3,BL∈{0,1},S0:(3,3,1)—->Sg:(0,0,0),S0是初始状态,表示所有的野人和传教士都在河的左岸;Sg是目标状态,表示全部成员都从河的左岸坐船到了右岸。
(3)定义并确定规则集合。以河的左岸为基点来考虑,定义操作Pij为:把船从左岸划向右岸。其中,i表示船上坐的传教士人数,j表示船上坐的野人数;同理,定义操作Qij为:把船从右岸划回左岸,下标的定义同前。
然后学生在运行实验界面编写本实验的代码。学生点击运行代码之后,页面调用skupt.js以及网页内相关函数,保证代码可以正常运行。输入代码后运行结果如下:
第1条路:
[(3,3,1),(3,1,0),(3,2,1),(3,0,0),(3,1,1),(1,1,0),(2,2,1),(0,2,0),(0,3,1),(0,1,0),(0,2,1),(0,0,0)]
第2条路:
[(3,3,1),(3,1,0),(3,2,1),(3,0,0),(3,1,1),(1,1,0),(2,2,1),(0,2,0),(0,3,1),(0,1,0),(1,1,1),(0,0,0)]
第3条路:
[(3,3,1),(2,2,0),(3,2,1),(3,0,0),(3,1,1),(1,1,0),(2,2,1),(0,2,0),(0,3,1),(0,1,0),(0,2,1),(0,0,0)]
第4条路:
[(3,3,1),(2,2,0),(3,2,1),(3,0,0),(3,1,1),(1,1,0),(2,2,1),(0,2,0),(0,3,1),(0,1,0),(1,1,1),(0,0,0)]
如果代码错误,系统会提示相关错误。
2.3 虚拟仿真平台的使用
教师进行虚拟人工智能实验相关理论教学,并且在平台上上传相关数字化资料如微课、视频、文献等,学生通过平台进行理论知识的个性化学习。老师可以进行相关设置,比如:学生只有通过理论知识的自测,才能认为已经掌握了相关实验理论,才能进入之后的环节。
学生在计算机终端通过账号密码登录进入虚拟仿真实验模块,学生首先通过实验简介和实验内容对实验有个大致的了解,然后在虚拟仿真实验环境下,参考实验步骤和实验,进行实验操作和代码编写,让学生通过交互模式以第一视角体验实验操作。平台将对学生的操作痕迹(如是否按照实验步骤操作、是否符合操作规范)进行形成性评价。
平台自动记录、跟踪、评价学生虚拟仿真实验的过程和结果,教师通过平台可以查看学生虚拟仿真实验的成绩及各步骤的得分情况,并对学生输出的实验报告进行批改。
3 结语
本文针对人工智能课程的实践环节存在的学生不能随时随地进行实验的问题,设计和实现了虚拟仿真实验平台,探索了信息化教学中的技术与教学深度融合的途径。通过该平台的实施,可以拓展人工智能课程实践教学的广度和深度、延伸人工智能课程实践教学的时间和空间、提升人工智能课程的实验教学质量和水平。虚拟仿真实验教学平台的实施,可以与真实实验教学形成相辅相成、优势互补的新型实验教学模式。