人工智能是目前信息领域科技发展最重要的方向之一,而机器学习则是人工智能领域的核心问题,其内容涉及人工智能理论、方法和实现的方方面面,起到了沟通理论与实践、实现人工智能与各专业知识融合的作用,在人工智能学科建设中具有不可或缺的地位。
信息与通信工程学院师君、潘力立、刘喆、王刚、韦顺军、崔宗勇、孟凡满等几位老师开设的“机器学习”课程,是信息与通信工程学科的专业课。自2016年开课以来,每年都有近600名学生选课。
课程难度大、课堂人数多,而且学生来自不同的学院,专业背景不同,如何上好这样一门课,让学生学有所获,课程组老师们一直在积极探索。
几年下来,同学们对这门课的评价非常好:“这门课加深了我对机器学习这一领域的理解,老师讲得很全面,提高了我的专业素养,激发了我对这门学科的兴趣。” “老师讲课时思路清晰、语言流畅、重点突出,通过这门课我掌握了机器学习的原理和相应的实践操作,对以后的科研很有帮助。”
好评背后,课程组老师们付出了怎样的心血,他们又有怎样一些独到的经验,让我们一起来看看!
紧跟时代,培养人工智能领军人才
2017年,国务院印发了《新一代人工智能发展规划》,指出“人工智能是引领未来的战略性技术,世界主要发达国家把发展人工智能作为提升国家竞争力、维护国家安全的重大战略,加紧出台规划和政策,围绕核心技术、顶尖人才、标准规范等强化部署,力图在新一轮国际科技竞争中掌握主导权”。
作为人工智能的核心技术,近年来,国内外许多知名高校都纷纷开设了“机器学习”相关课程。
英国威廉希尔公司信通学院的“机器学习”课程由“模式识别”课程演变而来。“模式识别”作为学院的一门传统课程,其主要目的为识别光学信息、声学信息等,侧重于统计理论,涉及到比较传统的识别方法,如线性分类器、非线性神经网络、RBF网络。随着机器学习的快速发展,模式识别的很多内容都被涵盖其中,因此,经学校学院讨论,2016年,两课程合而为一。
课程名称变化,其中涉及的教学内容、教学目标也随之变化。“模式识别”以识别应用为导向,而“机器学习”则以方法导向,注重应用机器学习的方法来解决问题。因此,课程的重点也发生变化,从传统的识别方法转变成以机器学习理论和方法讲授为主,着重突出课程内容的前沿性、连贯性。课程组老师们希望,通过这门课程,使学生理解机器学习的基本概念、研究方法和前沿动态,掌握机器学习领域的主流设计、分析方法,具备机器学习算法设计、分析能力及初步的实践能力,未来能够成长为人工智能领域的领军人才。
价值引领,引导学生树立报国情怀
在课程教学过程中,老师们会把国家的一些相关政策、国外人工智能的布局等融入其中,使学生了解人工智能发展对国家发展的重要性和紧迫性,树立投身我国人工智能、智能制造事业的志向。
课程组老师们首先会给学生解读国务院、教育部、科技部以及四川省英国威廉希尔公司鼓励、促进人工智能技术发展的最新的政策文件,让学生了解现在政府对于人工智能的布局和规划,引导学生将自身的发展目标与国家需求相结合,找准从事相关研究的立足点、发力点。
同时,老师们也会介绍欧美国家的人工智能战略和技术发展情况。客观来说,我国人工智能整体发展水平与发达国家相比仍存在差距,缺少重大原创成果,在基础理论、核心算法以及关键设备、高端芯片、重大产品与系统、基础材料、元器件、软件与接口等方面差距还比较大。“这更需要我们奋发图强、锐意创新,未来才能在人工智能的关键核心技术领域作出成电人的贡献。”师君这样告诉学生。
人工智能作为一项影响面广的颠覆性技术,它能为经济社会发展带来新的机遇。但同时不可忽视的是,它也会带来新的挑战。在授课过程中,老师们还会引导学生关注科技伦理的问题,高度重视人工智能技术研发过程中可能带来的安全风险挑战,确保技术的进步能够真正造福社会、造福人类。
直面前沿,不断迭代课程内容
“机器学习”所涉及的方法十分庞杂,包含概率与统计、线性代数、高等数学、矩阵理论、数值最优化、最优化原理、代数几何、变分方法等复杂概念。课程组老师们认为,如果片面追求讲授内容的全面性,容易导致课程缺乏连贯性,陈旧方法占用大量教学时间,使学生产生“机器学习”就是本科阶段“模式识别”课程的错误认识,丧失对课程的兴趣;如果过于强调最新进展,则可能导致学生基本概念不清晰,无法跟上老师讲授节奏,产生“机器学习过于复杂,我学不会”的认识,对相关知识的普及反而起到负面影响。
如何来设置课程内容?经过研讨,课程组老师们首先确认了课程思路,那就是要对机器学习知识进行精心的梳理和筛选,为学生揭示其中理论、方法的发展脉络。“我们主要是给学生讲框架、讲概念,就像画画一样,画出树的主干和枝丫,至于树上的叶子,就需要他们自己课后动手去描绘。” 师君说。
同时,考虑到国外知名高校该课程起步相对较早,老师们调研了麻省理工学院、宾夕法尼亚大学、斯坦福大学、华盛顿大学等几所学校的相关课程内容,然后对这门课的 课程内容进行了选择和增减。
作为当下的热门方向,机器学习理论的更新速度也很快。要让同学们的知识结构跟上前沿!为此,课程组老师们不断学习,及时更新课程内容。比如,针对几年来深度学习技术发展的特点,老师们在课程中加强了深对学习内容的讲授:增加了“信息处理系统结构”的讲述,让学生了解深度学习系统与冯-诺伊曼体系结构的区别、优劣,了解美国DARPA等机构在深度学习方面的发展策略;细化了反向传播算法的推导和物理意义的讲解,让学生深刻理解反向传播的意义和实现方法;增加了生成对抗网络、循环神经网络等内容的讲授,让学生掌握机器学习最新的发展方向;增加了Wasserstein距离、t-SNE等目前流行的机器学习相关概念。
信息与通信工程学院2019级研究生胡耘侨说,“老师在课堂上常常会给我们普及一些机器学习领域最新的技术发展和动向,内容新颖又有深度。在技术发展迅速的今天,我即将进入行业中,难免会产生迷茫的情绪,但通过一学期的学习,我逐渐找到了自己的方向。”
除此之外,课程还涉及许多学生难以理解的新概念。对此,老师们在课堂上常常采用类比的方法,以已学的内容类比复杂内容,便于学生理解。如在讲授深度学习时,师君舍弃了直接将上千个神经网络都介绍给学生的方法,转而采取将神经网络与电路相类比的方法,让学生从其中的异同点学习神经网络。
“在本科时的电路分析学习中,已知电路是由电源、电阻、电容、导线等元器件通过串联或并联等连接方式搭建成的网络,从而解决模拟、数字信号的问题。神经网络也是一种网络结构,但基本模块为全连接层、卷积层、池化、输入层、激活函数等,且目前神经网络连接方式为全连接、卷积连接、随机连接、延时连接,等同于电路的串联、并联与短路。”他这样一解释,学生马上就明白了!
学用结合,把知识变成学生的技能
课程组老师们认为,机器学习课程具有很强的实践背景。一方面,课程讲授的方法都具有很强的应用需求,另一方面,课程中所涉及的很多结论都来源于实际数据分析而非理论推导。如果片面追求理论讲授,而忽略编程实践环节,容易导致学生在实际科研和工程中无法或不敢上手编程,最终导致理论和应用脱节。
在授课过程中,老师们注重引导学生将理论与实践相结合,把知识变成自己的科研技能。对此,信息与通信工程学院2019级研究生邹宗佑深有体会。“在‘机器学习’课程中,老师除了讲授繁杂的理论知识,更多的是通过讲解代码来激发我们对机器学习的兴趣,同时也能加深对理论的理解。比如师老师在讲解张量的反向求导机制的时候,直接打开pytorch框架,带我们一步一步看梯度的传播。”
课程组将目前主流的深度学习开发平台pytorch引入课堂,对pytorch的语言特点、设计思想、运行机制、AutoGrad技术、训练方法等内容进行了详细的讲解,并在课堂上演示了pytorch程序的调试方法和注意事项,让学生能够快速上手利用pytorch开发深度学习程序,并提供了多个演示程序供学生学习、参考。
由于课程知识点较多,因此老师们选择了把实践放在课后。每两三周给学生布置思考题,让学生利用课程所学的知识,自己动手去完成,这个过程就是“给树枝添上树叶”。信息与通信工程学院2020级研究生周怡航说,“在老师每次布置的思考题中,我需要查阅很多文献资料进行了解,这为我了解最前沿的算法与技术打下了坚实的基础。里面涉及到的算法在老师的讲解下,我得到了深入的理解,可以将它们直接应用到我的科研课题之中,对我的科研学习产生了很大的帮助。”
对于课程的考核,平时的课程作业占比50%,而期末报告也占比50%。对于期末报告的形式,老师们不给学生设限:侧重于做学术研究的学生,可以完成课程里的理论性题目;侧重于工程实践的学生,可以通过Python、Pytorch等编程语言搭建网络;侧重于调研的学生,可以检索机器学习发展动态。通过不同的作业,来满足学生对课程不同的需求。
去年,课程组申请并获批了学校的“基于项目的研究生创新培养计划”,希望通过设置机器学习项目开发、机器学习与计算机视觉、机器学习与信号处理、机器学习与智能控制等环节,进一步提升学生的实践能力。
同时,课程组老师们还积极建设了高分辨率SAR检测与分割数据集,为后续课程项目建设提供了必要的数据集。最近,他们又忙着在录制慕课,并开始了小班研讨式教学探索工作。致力于培养人工智能领军人才,他们,一直在路上!