张雄涛,黄 旭,曾孟佳,2,吴小红,蒋云良
(1.湖州师范学院 信息工程学院,浙江 湖州 313000;2.湖州学院,浙江 湖州 313000)
人工智能(artificial intelligence, AI)是研究开发模拟、延伸、扩展人的智能的理论、方法、技术及应用系统的一门新技术科学[1].2017年7月,国务院发布了《新一代人工智能发展规划》(国发〔2017〕35号)[2],标志着发展人工智能已上升为国家战略,人工智能领域的人才培养进入了新阶段.2018年4月,教育部发布了《高等学校人工智能创新行动计划》(教技〔2018〕3号)[3],提出要围绕新一代人工智能发展优化学科体系布局,提升人才培养质量,为我国跻身创新型国家前列提供科技支撑和人才保障.同时,针对进一步提升高校人工智能领域科技创新、人才培养和服务国家需求的能力,提出了四个坚持:“坚持创新引领、坚持科教融合、坚持服务需求、坚持军民融合”.因此,人工智能领域的人才培养应注重需求引领和实践训练,着重在教学模式与实训体系方面进行深入研究.
计算机技术的发展经历了计算机基础教育、算法与程序设计教育、软件开发与应用教育,现已逐步过渡到智能技术研究与应用教育.计算机技术教育的受众也逐渐从专业人才向社会大众铺开,如办公软件、图像和音视频处理软件的使用,以及软件开发工具和开发语言的使用等,已逐渐被广大的人群所接受,智能技术应用也必将经历这样一个过程.目前,国家对人工智能技术高度重视.从专业建设的角度来说,需在智能技术研究与应用方面合理规划,科学设计专业课程体系[4-5].本科生人工智能技术教学,一方面要注重基本原理,使学生深刻理解由“计算”到“智能”是如何实现的;另一方面要注重社会应用,结合实际产业需求设计并建设人工智能应用系统.这两方面的教育与研究生阶段的教育不同,更侧重对现有智能计算模型的理解,以及在现实社会需求的基础上对现有智能计算平台的使用.本文主要从本科生人工智能教学模式与实训体系两方面进行阐述.
目前,人工智能教学涵盖的教学层次已从研究生教育拓展到本科教育甚至高中教育.与研究生教育相比,本科生人工智能教学应在了解并掌握相关技术方法的基础上侧重技术应用.整个教学过程分为基础技术方法教学和应用系统设计教学两个阶段,如图1所示.
图1 本科生人工智能教学过程示意图Fig.1 Schematic diagram of artificial intelligence teaching process for Undergraduates
1.1.1 基础技术方法
人工智能教学对教学模式提出了与以往不同的要求[6],尤其是在新工科背景下注重实践能力已成为目前工科教学的重要要求[7].对人工智能而言,基础性与实践性之间的矛盾更加突出,因此教师更应合理安排教学内容,设计教学过程.在教学内容方面,应尽可能精简,选择较成熟且基础性较强的机器学习算法,如KNN、K-Means、PageRank、朴素贝叶斯、SVM、EM等,避免涉及过于前沿、复杂的算法;在教学方法方面,可采用“实际问题引入—提炼科学问题—讨论算法流程—展示算法描述—总结与补充”的方法,针对每个算法设计相应的问题引入方法.
针对相关算法流程,教师应将其分为基本思路、基本过程、伪代码、代码等几个层面.以KNN算法为例,首先应强调“近朱者赤、近墨者黑”的哲学源头,让学生理解算法的总体思路;然后讨论分析如何确定“远”“近”,如何确定哪些是“朱”“墨”,并通过简单的例子手工计算距离和相应类别元素的数量;再用语言或形式化方法描述这个过程,并形成伪代码;最后让学生编写代码.学生熟悉整个算法流程后,再讨论相关参数设置问题,包括参数的确定原则、确定方法等.
针对基础技术的教学,教师应着重突出思考方法,使学生从宏观到微观、由粗到精逐步理解、掌握,强化学生的自学能力,使其对新技术、新算法能够快速认知与理解.
1.1.2 应用系统设计
人工智能教学应突出系统设计方面的训练.应用系统设计最重要的是要融合开放式工程项目化方法[8].学生的设计能力及对系统的总体把握能力源于其对实际系统的观摩、思考、模仿、参与.在教学的不同阶段,教师应适当引入相关系统,让学生不同程度地参与进来,以提升学生应用系统的设计能力.具体而言,一是要着重激发学生的学习欲望,让学生想学、愿意学,引导学生关注人工智能应用系统,并大胆猜测其工作原理,培养学生独立思考的习惯;二是要提供机会,让学生接触系统的结构和工作原理,引导学生将自己的想法与系统的实际工作过程进行对照,并分析各自的优缺点及如何改进、提升等;三是结合课程教学,组织不同难度层次的系统设计案例,开展设计训练.
层次化观点在应用系统设计中应得到进一步加强.提升学生的设计能力是教学的最终目标,但不同的学生其设计能力所体现的层次应有所区别,因此需进一步突出个性化培养.
1.2.1 教学过程
人工智能教学总体上可分为4个阶段:一是激发兴趣;二是技术研究;三是系统设计;四是总结提升.首先要让学生想学、愿意学;其次要让学生学以致用,获得成就感,增强探究学习的欲望;最后逐步形成“以问题为导向—应用案例导学—理论奠基—研讨解决方案—项目实践”的主动探究式教学过程.在这个过程中,学生成为了学习的主人,从中能获得成就感和乐趣感.
课程教学后,教师不应终止学生的学习,而应进一步拓展相关知识的应用.在具体实施中,教师可以让学生参与课题组相关的科研项目,或引导学生总结学到的知识,申报各类学生科研项目或参与相关学科竞赛,最终形成“以项目促学—以科研促学—以竞赛促学”的良性互动.
人工智能教学通过探究问题、解决问题来激发学生的主观能动性,并通过正向引导和反馈加以强化,再通过合理的考核机制进一步加强和满足学生的学习需求.在这个过程中,教师的身份从单一的课堂主体转变为“提问者”“导师”“协助者”“考核人”等多重身份,学生从被动的填鸭式学习转变为主动的探究式学习,不仅学习理论知识,还学习如何运用这些知识解决实际问题,真正从“为了学而学”的状态中解放出来.
1.2.2 教学评价
为激发学生的参与热情,提高学生的主动参与度,并从结果上激励学生,可以采用多元智能评价方法对教学进行立体评价,即“基础知识+自主学习+合作学习+师生互动+项目拓展度”综合考评.多元智能评价观是一种基于多元智能理论,旨在促进学生全面发展的评价思想.它比传统的评价观更强调满足教学效率,更多地体现平等和发展的思想,是解决当前教育公平和教育效率问题的一个有效途径.目前,教学评价主要采用“平时成绩+期末成绩”的方式,并没有将学生主观参与的状态加入考评体系.此次教学评价改革的主要思想是:一方面将学生的课堂或项目表现在平时成绩中体现出来;另一方面将学生在项目中的表现加入教师、学生互评的打分项,多维度、多指标地对学生进行综合考评,从而使评价结果更客观、更全面.
计算机是理论与实践结合最紧密的学科之一.人工智能作为计算机技术发展的较高级阶段,在其教学过程中仍需注重理论与实践相结合.本科生人工智能实训体系涉及3个过程:一是面向基本算法原理的验证性实训过程;二是面向算法应用的工程性实训过程;三是面向社会需求的集成创新性实训过程.前两个过程与基础教学内容相结合,目的是促进学生对基础知识和基本技能的理解与掌握;第三个从社会实际问题出发,开展探究性、设计性实践,并开展工程实施.要强调的是这一过程不宜采用教材中固化的内容,而应着眼于产业实际.人工智能实训体系如图2所示.
图2 本科生人工智能实训体系Fig.2 Artificial intelligence training system for Undergraduates
验证性实训侧重对现有成熟智能算法的学习、理解和再现.学生通过算法学习,并结合设计实例进行结果分析,深入理解算法原理.验证性实训分为两种类型:一是通过简单数据,结合人工算法进行相互验证,理解算法的工作流程;二是通过实际数据,结合对结果的认知,理解算法的工作效果.如在机器学习经典算法——KNN分类算法的学习过程中,首先通过简单数据进行验证,如给出二维平面中的5个点,请学生按KNN的计算方法进行手工计算,最终给出分类结果,并与KNN算法的运行结果相对照,以加深学生对算法的理解;给出具体领域的数据,如花卉识别、病虫害识别、车牌识别等,通过分析算法运行结果进一步加强学生对算法的理解.
在本科教学中,基础方法和基本算法的工作原理是学生首先要掌握的.这一过程的实训也是本科生人工智能实训的基础环节.这一过程主要在课内完成,所用数据要便于手工计算和易于直观理解,多数需教师自行设计或加以改造.
工程性实训主要训练学生的工程实施能力.我国工程教育形成了专科生、本科生、硕士生、博士生4个层次的培养体系[9],其中本科层次的工程教育是让学生获得工程师的基本训练.因此,在本科阶段的人工智能教学中,教师应围绕成熟的人工智能工程项目,强化学生的工程实施能力.一是通过观摩已有工程,熟悉工程实施规范.这些工程项目应源于产业实际,并经教师总结、改造,所提供的资料可删繁就简,突出重点.二是进行模仿、复现.学生观摩后,教师应给出一定时间让学生就该工程进行复现,学生可针对其中的重点环节进行复现,也可针对工程全部进行复现.在这个过程中,教师应让学生尽量模拟真实的工程项目实施过程,并邀请工程师全程指导.同时,教师对每个环节的操作流程可能出现的问题要有预案,以便各阶段给予指导.
工程性实训也可与正在运行的工程项目相结合,如人脸识别门禁系统项目、市民服务中心的语音导览机器人项目、智慧农业病虫害识别系统项目等,通过实地参观体验、剖析系统结构、访谈建设过程等强化学生对工程项目的认识.
创新性实训主要面向现实问题,由学生自主分析问题,提出解决方案,进行项目实施,开展项目评估.该过程的实训不提供现成的素材,由学生根据以往算法训练、工程训练中的积累创新完成.教师和工程师对各环节进行监控和指导.如门禁系统如何进一步提升识别速度,如何提升个性化动作识别度,以及语音导览项目中如何增加方言对话……这些内容都可以根据新的应用需求提出,同时与工程性实训中的内容相关联,让学生把实践经验应用到新项目的实施中.尤其要注意的是,学生提出的解决方案未必是最优的,教师要引导学生通过自行分析、项目评估等得出结论.
创新性实训是人工智能实训体系的高级层面,也是本科生人工智能教学的目标.学生在掌握基本原理和基本工程技能的基础上,应针对各类智能计算需求,提出方案并实施项目建设,最终解决相关问题.
湖州师范学院信息工程学院自2016年在本科生中开设“人工智能与模式识别”课程以来,学院以该课程为核心,整合智能信息处理、人工智能导论、模式识别导论、大数据分析技术、大数据开发平台等课程,组建了“智能计算”课程组,着重强化学生的计算模型与数据处理能力.课程组深入研究离散数学基础知识、模式识别、机器学习、人工智能、图形学、数字图像处理等知识体系与教学方法,研究大数据分析技术与平台应用相关知识体系和教学方法,强化计算模型与数据处理方法教学,构建了面向高层智能应用的基础知识教学体系.
在具体教学过程中,学院有效落实人工智能教学模式与人工智能实训体系方面的改革措施.一是将每届学生安排到市联通公司、电信公司、移动公司,以及市大数据管理局、计算服务提供商等设置的现代科技成果展厅学习和观摩,以全面提升学生对智能计算的兴趣;二是以课程组为载体,组织相关教师对人工智能教学方法进行深入研讨,并组织教师参加国家级教学名师等组织的人工智能教学研讨会,以全面提升教师的人工智能教学水平;三是邀请相关企业工程师参与课程建设,凝练教学内容,编写实践案例,并参与部分课堂教学,以全面提升课程与产业的紧密度.
经过几年的实践与探索,湖州师范学院相应专业的学生对人工智能领域的认识和理解不断深化,在智能计算相关方法上的知识积累日益增加.学生参与科研项目的比例越来越大,2017年以来,学生承担浙江省新苗计划项目9项、国家级大学生创新创业计划项目15项;参与学科竞赛率达100%,获得各级奖项150余项,其中国家级奖项34项、省级一等奖9项.