摘 要 人工智能课程在当今机械电子领域越来越体现其重要性。但是该课程对数学基础要求高,给机械电子工程专业学生的学习带来了挑战。本文针对机械电子工程专业学生的特点,提出了适合该专业的教学目标制定和教材内容选择方案。同时本文还给出了教学过程和考核方法的建议。这些方法提升了专业学生的学习兴趣以及解决实际问题的能力。
关键词 人工智能 机电工程 教学改革
中图分类号:G642 文献标识码:A DOI:10.16400/j.cnki.kjdks.2018.02.016
Preliminary Research on Teaching Model of Artificial Intelligence Course for Mechatronics Engineering Students
SHEN Yehu, JIANG Quansheng, WANG Bangfu, ZHU Qixin
(Suzhou University of Science and Technology, Suzhou, Jiangsu 215009)
Abstract Artificial intelligence has proved to become more and more important in the area of mechatronics recently. However this course brings challenges to the students who are major in mechatronics engineering since it requires profound background in mathematics. In this paper, we propose methods for teaching goals and course materials arrangements considering the characteristics of mechatronics engineering students. We also propose suggestions during the teaching processes and examinations. Our proposed methods improved interest and abilities to solve practical problems for the students when learning this course.
Keywords artificial intelligence; mechatronics engineering; teaching reform
0 引言
人工智能是一门涉及到计算机科学、应用数学、神经生物学、心理学等广泛交叉的前沿科学。人工智能原先是计算机专业学生的主干课程,但是近年来随着技术的进步,该技术逐渐在机械电子领域展示其强大的作用。[1][2]因此目前许多高校的机械电子专业将人工智能作为其专业课程之一。该课程对数学和计算机编程基础要求较高,此外虽然各章节间独立性较强,但是涉及较多先修课程知识点的综合应用。如果沿用面向计算机专业学生的教授方法将使得机械电子工程专业学生感到课程内容晦涩难懂、难以适应,从而失去学习兴趣。为了适应机械电子工程专业学生的知识架构特点,对人工智能课程整体教学设计和方法做针对性的调整具有重要的意义。
1 制定符合专业特点的教学目标
人工智能是计算机科学的一个核心研究领域,其研究方法大量采用了离散数学、数理逻辑、概率统计等数学工具。如果本课程的教学沿用针对计算机或自动控制专业的方法:
注重算法的理论推导和性能分析的话,将使得数学基础相对薄弱的机械电子工程专业学生的学习曲线过于陡峭,从而丧失学习信心。
幸运的是,人工智能课程的绝大多数章节内容模块化程度较高,章节之间的耦合度低。此外,机械电子领域更多的是利用人工智能的工具解决实际问题,而并非去开发和改进人工智能工具本身。在现阶段具有高性能人工智能软件工具包(如scikit-learn)的基础上,机械电子工程专业学生完全可以在理解人工智能各类方法的使用条件及其物理含义的基础上熟练使用工具包解决实际问题而无需深入了解背后复杂的数学理论支撑和计算实现方法。由此可见,对于机械电子工程专业的学生来说,教会他们如何分析问题、选择合适的人工智能工具以及对工具进行系统层面上的适应性调整才是本课程之关键目的。
因此作者把本课程的目标设定为:在了解人工智能发展历史的基础上,深入理解机器学习各类主要方法尤其是神经网络方法的原理和使用流程,能够针对机械电子领域的具体问题选用适当的算法进行解决。
2 开展适应专业学生特质的教学活动
2.1 详略得当的教学内容安排
目前国内的人工智能教材大多针对计算机或自动控制专业学生编纂,理论内容丰富,数学推理严密,对学生的数学功底要求高。而机械电子工程专业学生的知识结构与计算机或自动控制专业的学生有较大的不同。例如机械电子工程专业学生仅学习了高等数学和线性代数等工科必修课程,没有系统学习过概率论与数理统计和离散数学课程,这样大大增加了人工智能课程的理论教授难度。此外,人工智能课程作为机械电子工程的专业限选课程,课时总量有限(一般為每周2课时,总学时30课时左右)。在如此短的学时限制条件下要想做到将人工智能各方面的理论和应用讲述得十分透彻是非常困难的。
在实际操作过程中,作者结合专业学生特点以及上述教学目标整合了3套教材并且融合其各自的优点作为本课程的主要教学内容。具体来说,课程的主要章节分布和教学顺序采用了教材[3]的安排方式进行,也就是先讲述人工智能的早期技术,主要包含知识工程、推理和搜索技术。这部分的讲述主要是为了保证课程内容的完整性,以教材为主,讲授时间不超过6课时。然后讲述21世纪以来主流的并且在机械电子领域有广泛应用的机器学习技术,这一部分是本课程的核心内容,因此选用了更专业、时效性好的教材[4]作为参考。该部分教学过程主要分为两大模块:有监督和无监督的学习技术。有监督学习技术重点讲述支持向量机以及集成学习技术,无监督学习技术重点讲述聚类以及特征选择技术。该部分的讲授时间约为14课时。其次单独讲述人工神经网络,此部分内容与目前机械电子领域中使用人工智能中最为领先的技术密切相关,以期帮助学生踏上工作岗位后能够顺利上手最新技术并且具备后期进一步自学的能力。为此这部分作者选用了国外最新的权威教科书[5]并选用相关部分章节作为教材。该部分的讲授时间约为6个课时。最后结合作者自身的科研实践,为学生讲述人工智能在机械电子工程领域的应用。作者以一个具体的案例为例,讲述了从问题定义、数据预处理到算法比较选择、性能测试调优等一整套流程,特别强调了过程中可能会遇到的问题和解决方案,从而让学生构建起了课程知识到实际运用之间的桥梁,为今后踏上工作岗位解决实际问题打下了基础。该部分的讲授时间约为4课时。
2.2 强调物理意义的课程教授方式
传统的人工智能课程中包含了大量的数学公式推理过程。对于数学基础相对薄弱的机电工程专业学生来说,课堂花费大量的时间讲解各个方法背后的数学推理细节非但不会提升学生对课程内容的理解,反而会使学生对课程内容产生畏惧感,更加打击其学习兴趣。
对于面向应用的人工智能课程来说,教会学生每一种方法、参数背后的物理意义,使他们对不同的方法以及方法微调方案产生感性认识,从而能够提升学生今后在面临实际问题情况下选择合适方法去解决问题的能力。这种能力无法通过纠缠于算法数学理论严密推导来得到。例如,在教授支持向量机的过程中,我们选用了二维空间分类的例子,通过图片展示的方式让学生直观理解了支持向量机本质是寻找具有“最大间隔”的划分直线,淡化了對于支持向量机的凸二次规划求解过程讲解。在讲授核函数的过程中,我们选用二维空间线性不可分的例子,通过动画的手段形象地展示了如何将二维空间的点变换到三维空间来实现线性可分,从而增强了学生对核方法的感性理解。
2.3 以Jupyter Notebook为基石的课堂交互式展示
方法原理和编程实现是本课程的两大核心。对人工智能各种方法的编程实现构建了理论到应用之间的桥梁。因此本课程对每一种方法的原理讲解完成后会抽出专门的时间来和学生一起解读该方法代码的具体实现,以期让学生在修读完本课程后就能够上手解决实际问题。
由于在代码讲解过程中同时涉及到文字注释,代码及其对应的理论公式,代码运行中间结果的可视化展示,因此传统的软件集成开发环境无法满足该要求。本课程中我们选用了Jupyter Notebook。在备课阶段,教师输入文字注释和理论公式并把代码、运行结果保存在一个notebook中。在教学过程中,通过课堂内的计算机以网页形式在文档中执行代码。学生们可以直观地在同一网页中学习代码编写、参考文字、公式注释以及观察可视化结果,从而大大提升了学习效率和学习效果。
2.4 以AI名人访谈为核心的多媒体课后辅助学习活动
人工智能至今已经经历了60余年的发展历史,在这段历史进程中出现了多位对人工智能领域起重大推动作用的专家。他们的分享的经历和视角能给学生以醍醐灌顶的感觉,增强学生们对人工智能整个领域和现状、未来发展趋势的理解,提升学生的学习兴趣。为此本课程在课后为学生分发了形式轻松的AI名人访谈视频,供其在课余时间自行安排观看。例如,作者选择了斯坦福大学教授吴恩达采访多伦多大学教授G. Hinton和百度深度学习实验室主任林元庆等人的视频,分别从学术界和工业界的视角为学生提供了多个维度的思考和展望。
3 设计适应教学目标的多维考核模式
围绕上述教学目标,作者在课程教学过程中设计了3类考核模式:软件编程小型项目作业、论文阅读报告以及期末卷面测试。
3.1 以机械故障诊断为应用场景的软件项目作业
考虑到机械电子专业学生软件编程能力相对较薄弱,因此本课程的项目作业编程语言选用了简单易学的python语言。为了让专业学生在学习中更能贴近专业领域应用,作者在作业选题上均紧扣机械电子专业常见场景:机械设备振动故障诊断来设定问题。此外,在作业内容方面,每一次的软件项目程序不是让学生从零开始搭建整个软件系统,而是由教师事先实现整个软件的框架程序设计,学生只需要编写关键算法模块的软件实现即可。这样学生可以从与课程和专业无关的软件编程细节问题中抽身,全力解决课程内容的核心知识点实现问题,提高了学习效率,减轻了学生负担。在实际操作过程中,作者一般布置两次项目作业,分别涉及人工神经网络和K均值聚类,分别对应有监督和无监督的学习技术。这样的安排能够比较全面的涵盖人工智能主流领域,使学生能够扎实地掌握该课程的核心内容。
3.2 以开拓视野为目的的论文阅读报告
课堂的时间是有限的,课本的内容也不可能面面俱到。为了鼓励学生更深层次地钻研自己感兴趣的内容,作者在课程中安排了一次论文阅读报告撰写作业。其主要内容是:在人工智能的领域内选取一个自己感兴趣的子问题,通过网络数据库的文献调研,撰写一篇报告。该作业能够使学生在人工智能某一个子领域有更深入的理解,从而激发其学习兴趣。更重要的是该项作业提升了学生的文献查阅和撰写能力,为其今后工作尤其是进一步深造打下了基础。
3.3 以考查应用能力为目的的期末测试方案
由于本课程的考查方式较丰富,并不仅依赖于期末的卷面测试,因此作为上述两种方式补充的期末测试更倾向于考察学生对基本概念的理解以及对实际问题的分析和系统架构能力,相对淡化具体方法细节的计算。基于上述原则,期末的卷面测试主要分为选择题和简述题两种。选择题主要考察学生对课程关键知识点和基本原理的掌握情况;简述题主要围绕实际应用问题,要求学生针对具体问题描述所采用的具体系统架构方案及理由,不涉及过多的细节计算。
通过上述3中不同的考核方式,学生既能够掌握实际问题的系统架构能力,又学会了具体核心细节模块的软件实现方法,打通了利用人工智能方法解决问题的整个流程。
4 结语
人工智能是一门数学理论要求高并且又和应用紧密相关的课程,在新时代的机电专业人才知识体系结构中占据重要的地位。要使机电专业学生能够扎实理解人工智能各类方法的原理以及面对实际问题的运用方法是一个具有挑战性的课题。本文从教学目标制定、教学方法和考核模式等角度全面阐述了针对机电工程专业学生这一特定人群的人工智能课程施教方案,期望能够起到抛砖引玉的作用。通过进一步的总结与探索,作者相信必然能够培养出更多适应社会需要的新时期机电专业人才。
参考文献
[1] 陈晗,李垣江,王建华.基于引力搜索BP神经网络的柴油机故障诊断.船舶工程,2015(10).
[2] 蔡自兴.人工智能在冶金自动化中的应用.冶金自动化,2015(1).
[3] 鲍军鹏,张选平.人工智能导论[M].北京:机械工业出版社,2015.
[4] 周志华.机器学习[M].北京:清华大学出版社,2016.
[5] Ian Goodfellow,Yoshua Bengio, Aaron Curville.Deep Learning[M].Cambridge:MIT Press,2016.