面向机器学习的课程设计研究

2018-12-01 05:11尹剑飞何玉林
计算机教育 2018年11期
关键词:模板机器案例

尹剑飞,何玉林

(深圳大学 计算机与软件学院,广东 深圳 518060)

0 引 言

随着人工智能、机器学习等知识在各个行业的应用,如何培养人工智能相关领域高素质人才成为学术界和产业界共同关注的问题。正如《国务院关于印发新一代人工智能发展规划的通知》中指出,把高端人才队伍建设作为人工智能发展的重中之重,坚持培养和引进相结合,完善人工智能教育体系,加强人才储备和梯队建设,但从目前机器学习相关领域的本科教学实践来看,主要存在内容较为单一、实操性不强等问题。

1 机器学习的知识层次

机器学习学科涉及多方面的知识,内容广、基础宽,若按应用方向划分,可以得到表1中的机器学习知识层次。第1层给出了最大粒度的划分,分为监督、无监督和强化学习3个主要的分类研究;第2层在第1层的基础上做了较细粒度的划分,如分类和回归属于监督学习、聚类属于无监督学习、强化学习可分为有模型假设和无模型假设的学习等;第4层是具体的算法大类,如CNN是第3层深度神经网络的一种表现形式;第5层是更为通用的技术方法,在第4层算法大类中被广泛采用。

在机器学习相关的本科教学课程配置方面,一般为大学三年级的学生准备了一个学期的1~2门选修课,如机器学习导论、数据挖掘导论,涉及的教学内容主要有数据预处理技术、PCA、LDA、LLE、聚类分析、关联规则、SVM、朴素贝叶斯分类器、AdaBoost等,考核方式为课程论文或与项目相结合。考虑到课程学习量的减负和学科建设的均衡性,这样的课程安排有一定的合理性,但在参照表1中机器学习知识层次的情况下,课程安排在广度和深度两方面都有一定缺失[1],特别是深度方面缺少通用技术方法的介绍,掌握像Adam、随机采样、变分推断等基础性算法的原理对于提高解决问题的能力具有重要意义;缺少通用算法原则的训练,如基于梯度的数值优化算法设计、基于贝叶斯原则的优化目标函数设计、基于分布的抽样优化算法等;缺少新知识点的引入和复杂工程训练,如深度学习方面,包括基于CNN、RNN、LSTM的算法设计,如强化学习方面,包括DQN、Actor-Critic等算法以及游戏对弈、智能体等应用。

若从技术视角入手,如机器学习著名学者M. I. Jordan所言,机器学习是概率和优化两方面相结合的一种综合应用,可以得到表2中的知识层次。对比表1和表2可知有一些知识点是重叠的,如表1第5层的极大似然、核方法、EM算法与表2的极大似然、MAP 、点积空间、MM算法有共同之处,但表1中还有不少知识点具有应用的独特性,如Batch规范化、Dropout、Adam这些源自深度神经网络训练的算法,与表2中一些概念有联系但又有较多的改变,如Batch规范化与概率论的zscore数据预处理有相似性,但应用场景从一维随机变量的正规化变成应用嵌套非线性函数的神经网络激活单元的输出正规化;又如Adam算法可以看作对梯度下降算法进行自适应步长和梯度方向正规化的改进,以服务于深度神经网络大量参数值的搜索过程。

表1 按应用划分的机器学习知识层级示例

表2 按技术划分的机器学习知识层级示例

从大学教育的能力培养角度来讲,应该更多地加强以表1的第5层和表2的第3层为代表的基础概念和算法方面的训练,因为它们具有更广泛的应用场景,通过组合这些基础知识可以创造新的算法、解决更广泛的机器学习和优化问题。然而,在课程教学编排上如果直接讲述表2第3层和表1第5层的内容,就会产生以下几个问题:①单个知识点涉及的数学背景知识较深,需要较多的基础知识铺垫,如无监督学习的子空间聚类研究方向的谱聚类算法就应用了谱分解这一知识点,位于表2的第3层,若要从矩阵论的角度讲清楚它,则需要了解对称矩阵、特征根、正交矩阵、谱线性空间、特征向量、超椭球的几何关系等相关知识,这样容易陷入更多的数学细节而偏离应用上下文;②缺少应用上下文的导引,降低课程的趣味性,也削弱多个知识点构成的整体性;③不是每个知识点都需要覆盖,对于相近的知识点,如Hellinger距离与搬土距离,只需选择一个即可。因此,如何在有限的教学课时内,有选择地覆盖表1第5层和表2第3层的基础概念和算法,如何设计一组机器学习主题将这些基础知识点串联起来,是很值得研究的课题。

2 教学设计

多数机器学习书籍[2-5]将知识点按照应用方向,即监督学习、无监督学习和强化学习进行归类,在每个方向下罗列较多的具体算法,如属于监督学习方向的SVM、神经网络、RNN、LSTM、决策树等。这种知识点编排对课程教学具体实施提出挑战,存在以下问题:①在某个应用方向的算法教学上停留过多时间,影响机器学习的全局观把握,容易陷入特定应用的固定思维模式,如监督学习作为应用主流,一般给予较多的课时,监督学习的基本过程有特征选择、特征变换、标签设计、目标函数设计与正则化、数据集的训练、验证与测试划分、交叉验证、模型选择、超参数搜索等,虽然这些基本过程中的其他部分可以用于无监督学习、强化学习等应用方向,但是数据集的划分、交叉验证和模型选择这3个部分就不适于无监督学习、强化学习,归根结底,这3个部分需要标签信息的参与,因而带有鲜明的监督学习特征。进一步而言,绝大多数监督学习方法使用批数据,对于流数据缺乏相关介绍。②对每个细分的学习算法做了过于精致的叙述,缺少综合应用场景的案例讲解,如文献[2]关于神经网络的自动梯度推导,对于本科生来说有较高难度,况且主流的机器学习工具如tensorf l ow、pytorch等都提供了自动梯度计算支持[6]。因此,对于某些较深的技术内容可以作适当裁剪,有助于保证全局知识体系的有效掌控而不是陷入某个技术细节,同时有助于提高学习的产出性。

鉴于上述原因,一种适合于本科机器学习的课程设计方案应该以具有贯穿性的应用案例为主线,开发逐渐增强的案例版本,在有新知识加入的同时保证过程的完整性。应用案例模板示例如图1所示。

图1给出了3种应用案例模板,A模板对应于一般性的无监督学习算法执行过程;B模板对应一般性的监督学习算法流程。通过对比A和B,可知监督学习在标签设计、模型参数调整方面显著不同,这是从目标函数设计和参数更新的角度刻画无监督学习与有监督学习的细微差别。C模板对应一般性的在线学习或强化学习执行流程,通过对比C与AB发现,在线学习或强化学习的参数调整是连续进行的,而监督学习或无监督学习在参数调整方面都有一个明显的分界点,该分界点划分出模型运行前与运行后。在ABC应用案例模板的基础上,可以将表1和表2 的知识点有选择地替换或插入相应的环节,形成多个具体应用案例,如用维度化简PCA替换特征变换,用极大似然、Batch规范化和DNN替换目标函数设计,用Adam替换优化算法,用贝叶斯优化方法替换超参调整,可以设计出一个基于DNN的监督学习案例。

3 教学效果

为验证提出的课程设计方案,我们在图1的基础上设计了若干机器学习案例,包括基于流形学习和基于深度学习相结合的监督学习案例、基于重要性采样的变分推断和强化学习相结合的在线学习案例等,并将这些案例融入我院大数据班的教学过程。通过概念(Concept)、问题解决(ProbSolv)、编程能力(Prog)、数据分析(DataAna)、流程创新(FlowInno)考查应用案例的教学效果,对比普通班与大数据班在这5个方面的成绩分布情况,如图2所示。

其中,Concept以表1和表2的知识点为主要考查内容,以客观题的形式检查学生对各类知识点的理解程度和关联情况。ProbSolv则以实际项目开发过程中遇到的各种数据处理子任务为原型,开发了一组算法和编程问题,涉及模式识别与预测、金融时序数据预测与分析、工业数据预测与分析、智能体运动设计等方面的背景案例。ProbSolv以项目形式开展,要求学生以小型开发团队方式完成,同一名学生在不同项目中承担不同的角色,如程序员、数据分析员、数据建模者等,这种多项目、多分工的安排有助于考查学生不同方面的综合能力,同时兼顾团队协作能力的培养。Prog涉及程序设计、工具掌握情况、软件可维性等方面的软件工程技术能力考查。DataAna涉及实验性数据分析、聚类、趋势分析、数据可视化等方面的内容。FlowInno主要考查学生在ProbSolv项目中的数据处理环节是否有创新性以及对于问题的简化处理能力。

由图2可知,在问题解决、数据分析、流程创新3方面,大数据班学生获得了较好的能力提升,这主要归功于教学模型的柔性设计和案例创新。

图2 能力对比

4 结 语

在当前机器学习和人工智能人才需求与供应不匹配的情况下,对于如何改进机器学习课程的本科教学工作,提出了一种可变流程的课程设计方案,通过可定制的应用案例模板将各类知识点进行柔性编排,从实际项目抽取问题开展教学实践,并在大数据班的本科生中进行试点。实际教学效果显示,该方案能有效提高学生在机器学习领域的问题解决、数据分析、流程创新等方面的能力,为实现机器学习人才培养提供一条具有较高可操作性的思路。

猜你喜欢
模板机器案例
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
机器狗
机器狗
特高大模板支撑方案的优选研究
案例4 奔跑吧,少年!
TWO VILLAS IN ONE CEDIA 2020案例大赛获奖案例
Bespoke Art Deco Media Room CEDIA 2020案例大赛获奖案例
Inventors and Inventions
未来机器城