刘光曹 朱喜娜 沈熠辉 冯 建 饶绪黎
(福州职业技术学院 福建 福州:350108)
近年来,在我国数字经济高速发展的背景下,人工智能产业取得了快速增长。据艾瑞预测,2021年人工智能核心产业规模预计达到1998亿元,2026年将超过6000亿元,2021到2026年的年复合增长率为24.8%。从社会发展趋势来看,人工智能将大量替代程序性、简单重复、计算繁琐或工作环境恶劣的劳动工作岗位。高等职业院校学生掌握一定的人工智能专业知识,有利于适应人工智能对社会生活的深刻影响和企业生产模式的变革,为拓宽就业面和提升就业率起到积极有效的帮助[1]。
2019年10月,教育部批准高职院校新增人工智能技术服务专业[2]。2021年3月专业名称更改为人工智能技术应用。在教育部政策的支持下,人工智能成为高职院校新增最热门的专业[3]。同期,高职院校的人工智能相关专业课程建设也在陆续开展。深度学习作为人工智能先进技术的代表,成为人工智能专业建设的核心课程之一。目前优秀的深度学习课程主要面向本科生或研究生层次,如吴恩达在斯坦福的公开课、李宏毅的《机器学习》课程、李沐的《动手学深度学习》课程、吴明晖教授在慕课网开设的《深度学习应用开发—Tensor Flow实践》云课堂[4]等。高等职业教育的深度学习课程建设尚未见诸文献。本文基于三年多的实践经验,对如何更好地建设面向高职教育的深度学习课程进行了探讨。
高等职业教育人工智能技术应用专业的就业,主要面向人工智能的应用开发、系统管理与维护、市场营销与服务等工作[5-6]。从就业需求出发,高职学生需要学习人工智能的技术原理,注重掌握人工智能的技术应用方法。相应地,深度学习课程的建设目标是:通过课程学习,了解深度学习技术典型应用场景,掌握深度学习的技术原理,具备数据准备、模型和参数训练优化、应用开发的能力,为从事人工智能技术的应用开发、系统运维、产品营销、技术支持等岗位工作打好基础。
人工智能技术应用专业中深度学习课程的先导课程为高等数学(微积分)、线性代数、概率学、Python语言程序设计、Python数据分析、机器学习。由于高等职业教育工科一般只有3年,数学要求也相应降低,一般不单独安排线性代数、概率学两门课程,改设人工智能数学课程,将线性代数、概率学以及人工智能所需的其他数学原理囊括在内。
目前,深度学习课程与计算机视觉、自然语言处理两门课程存在一定程度的内容交叉,将深度学习、计算机视觉安排在同一学期,自然语言处理安排在后一学期。由深度学习课程主导专业核心课程的学习,有助于学生系统地掌握人工智能的专业技术。高等数学和机器学习等课程在它之前,有利于课程相关原理理解;中间与计算机视觉课程在图像的数据增强等知识点上互相呼应;后续接上自然语言处理课程,递进地学习近年来发展的语言预训练模型。
教材选用方面,针对高职学生学习的侧重点在“应用”的需求,避免选用理论占比较大的教材,推荐使用近年来编写的一些深入浅出、原理和实例相结合的教材。深度学习框架可以在Tensorflow、PyTorch、百度飞桨等框架中任选一种。PyTorch框架可以使用吕云翔等编著的《Python 深度学习实战——基于PyTorch》;Tensorflow框架可以使用用张玉宏编著的《深度学习与Tensorflow实践》。整个课程的教学始终保持使用同一种框架,通过不断练习强化,让学生在有限时间内对一种框架进行充分学习和掌握。
深度学习课程由知识模块和课堂实践组成。
2.4.1 知识模块
根据课程建设目标,在总共64个学时内,组织授课内容如表1,分为序章、主体和选讲3个部分。
表1 课程内容
第一章初识深度学习作为序章导入课程,通过列举深度学习在图像、文本、语音等领域的应用,激发学生对这门课程的兴趣;然后对主流深度学习框架进行对比,并介绍学习框架的使用。
第二章到第六章是课程知识模块的主体部分,包括网络模型的搭建训练和优化、卷积神经网络的使用;广泛应用于自动化控制、时序数据分析预测的序列网络等。这些是当今计算机视觉、自然语言处理都广泛应用的深度学习方法。
主体部分之后的两章,对于高职学生来说适合作为选讲内容,二选一讲授。2020年以前,许多深度学习的课程会讲授生成对抗网络,为学生从事计算机视觉中涉及图像生成的工作提供知识储备。近年来,随着自注意力机制Transformer等网络在语言翻译、智能对话等方面的应用成熟和性能提升,相关内容被纳入深度学习课程,对学生从事文本、语音方面人工智能技术应用工作有更多帮助。
在课程内容的组织方法上,知识原理和对应的代码实例相互配合。学生只有掌握了代码实现,才真正掌握了这门课的知识。在企业研发中,许多项目的难点都在于缺乏足够的数据来训练模型。因此,在提升课程的实用性方面,讲授一些常规的应对数据不足问题的思路和方法,包括减少模型参数、数据增强、迁移学习等。这些方法对学生以后从事工人智能开发与测试、数据处理等岗位的工作,会有较大的帮助。
2.4.2 课堂实践
面向高职的深度学习课程将许多代码编程练习置于课堂中进行。一方面有利于老师现场对学生进行指导答疑;另一方面减少了学生课后由于自觉性不足没有完成代码练习的可能性。课堂实践有:MNIST手写数字识别;用简单卷积神经网络对人脸表情图片分类;用残差网络对CIFAR10图片物体分类;LSTM用于商品销售情况预测等。对高职学生而言,应重点完成神经网络基础部分和卷积神经网络的实验。网络模型的搭建、训练、测试,是对深度学习框架(Tensorflow或PyTorch等)逐步熟悉的过程,也是课程培养的基本要求。对于复杂的模型,课堂实践提供从GitHub/Gitee获取的现成模型,学生直接进行训练和测试。在使用模型的过程中,学生需要处理模型环境搭建过程中遇到的各种问题,这在很大程度上强化了学生的动手实践能力。
在人工智能时代,高技能人才的培养需要更加注重学习能力、创新能力和对新技术环境的适应能力[7]。今天深度学习课堂上讲授的内容是十年前的课堂所未有的;深度学习技术发展迅速,今天的许多内容也许十年后也会被认为是过时的技术;同时,课堂讲授的内容相对有限,更多知识需要学生通过自学去获取。现在深度学习的发展中每一类算法模型都在不断更新,鼓励学生课后根据兴趣爱好自学相关知识;鼓励学生对深度学习技术应用提出创新性想法。笔者在此推荐哔哩哔哩APP上UID 273674001的UP主提供的李宏毅老师的课程。李宏毅老师的课程逐年更新,包含了近年来的技术研究和发展趋势,并且课堂生动活泼、原理浅显易懂,对于学生开拓视野、学习先进技术具有积极意义。
深度学习课程建设经过了3年多的探索,通过不断改进课程教学内容和优化课堂实验,学生的学习效果逐步提升。大多数学生能够掌握深度学习基础理论知识,开展模型的数据准备、训练、测试,具备应用开发能力,达到了课程建设的目标。在2020“一带一路暨金砖国家技能发展与技术创新大赛——首届人工智能训练与应用(人工智能训练师)大赛国内赛(高校组)”的比赛中,本校两位同学获得了一等奖的佳绩。
从高等职业教育的视角来看,课程建设可进一步改进。
第一,增加学习使用公有云的现有模型服务进行开发。这适合作为高职学生深度学习专业课的特色学习内容。通常课程讲授的网络模型涉及的应用场景和功能有限,限制了学生对深度学习应用的想象空间。相比之下,百度、阿里等云计算服务商为常用的深度学习功能提供了精良的网络模型,这些公有云上相关功能丰富多样,并根据应用场景进行了归类。通过公有云,学生可以从更高的视角去全面系统地了解深度学习各种模型功能。老师可以在课程中增加百度EasyDL的图像分类、检测及分割等内容。学生能快速上手使用EasyDL,高效地利用现有模型服务搭建出实际应用,如快速实现对手机上的照片进行分类或人脸检测等。公有云的这些服务真正降低了深度学习的使用门槛,让学生获得了非常丰富实用的人工智能工具箱,并启发学生去开发各种各样的市场应用。
第二,课堂实验中学生练习所接触的场景,相比研发生产中的场景还有较大的差距。课堂所用的数据集一致性比较好,而生产研发中所采集到的数据质量往往参差不齐、噪音较多,需要投入很大的工作量做好数据预处理。课堂实验改进方向是做成工单任务的模式,让数据集尽可能更贴近实际生产,从而使得学生的技能培养具备更强的实用性。
现在,智能化已成为时代发展的潮流和趋势。深度学习作为人工智能的核心技术,在信息化时代起到了重要的技术提升作用。深度学习是人工智能技术应用专业最重要的专业核心课程,它为高职学生从事相关行业的工作提供了必要的知识储备和能力素养。由于深度学习本身是一个快速发展、不断更新迭代的技术,相应的课程知识点和配套实例都需要及时更新,才能体现其先进性。高职院校的教育改革一直在路上,深度学习课程建设的步伐同样无法停歇。