技术文章

使用 MATLAB 向工程专业的大一新生介绍深度学习和物联网

作者 王超,亚利桑那州立大学


美国工程教育协会企业成员委员会最近进行的一项调查指出,工程专业毕业生与以下两个领域的行业需求仍存在一定差距:人工智能 (AI) 和物联网 (IoT)。

在亚利桑那州立大学 (ASU) 的 Ira A. Fulton 工程学院,我们正在采取措施,通过在工程专业学生的大学生涯早期向他们介绍 AI 和物联网概念来弥补这一技能差距。具体来说,我在大一学生的《工程简介》课程中添加了一个新的学习模块,让学生使用 MATLAB® 完成 AI 和物联网实操练习。在这些练习中,学生使用深度学习网络进行图像分类,然后将分类结果发送到 ThingSpeak™ 物联网分析平台执行聚合和分析。该模块不要求事先具备 MATLAB 编程经验,也不需要额外的硬件,学生使用自己的笔记本电脑、平板电脑和网络摄像头即可。同样重要的是,该模块几乎不需要教师备课,因为练习由 MathWorks 工程师设计、实现并验证。在亚利桑那州立大学,我几个小时就准备好在课程中使用该模块了。

用有意义的练习激励学生

工程简介是亚利桑那州立大学所有工程专业大一新生的必修课程。因此,对各种工程学科感兴趣的学生都会报名参加。学生的编程经验也参差不齐。我们在课程中引入的任何练习都必须考虑到这种多样性。具体来说,这些练习必须取得平衡:它们必须有足够的挑战性以让学生有足够的兴趣和动力,但又不至于太难以至于打击学生的信心,尤其是当练习与学生计划学习的学科没有直接关系时。

在这些要求的限制下,AI 和物联网模块已证明非常适合本课程。该模块不仅可以在一次授课中完成,其练习还提供了对 AI 和物联网有意义的实操介绍,否则学生可能要到几年后才能在课程中接触这两个概念。我在讲授这门课程时特意告诉学生,将来的所有工程学科,包括机械、航空航天、化学、电气和其他学科,都将越来越多地融入机器学习和 AI 方法,包括他们在这门课程中学习的方法。

使用《MATLAB 入门之旅》做好准备

在我将 AI 和物联网内容添加到课程内容之前,《工程简介》中有一个三节课的模块,向学生介绍 MATLAB 的数据分析和可视化。这一模块很重要,因为学生需要对 MATLAB 有基本的了解才能完成后期学习的许多高级课程(包括我讲授的一门信号处理课程)的作业、试验和项目。

为了给新的深度学习和物联网模块腾出时间,我将现有的 MATLAB 模块从三节课压缩为两节课。为此,我将 MATLAB 入门之旅(可在 2 小时内完成的免费入门教程)布置为课前作业让学生完成。学生在浏览器中完成教程的过程中会通过完成带有自动评估和即时反馈的练习来学习 MATLAB 基础知识。

完成《MATLAB 入门之旅》后,学生在进入这三节课的课程时就已经熟悉 MATLAB 了。在第一节课中,我会快速回顾学生所学的基础知识,让他们练习使用 MATLAB 编写和运行脚本;定义和访问标量、向量和矩阵变量;并根据从文本文件导入的数据创建二维绘图。在本系列的第二节课中,学生会使用 MATLAB 求解各种工程学科的问题。例如,我让学生从文件中导入试验数据,并创建图来可视化输入和输出变量之间的关系(图 1)。我还让学生练习所有工程学科都需要的数据分析技能,如曲线拟合、内插和外插。

MATLAB 绘图的截图,可视化输入和输出变量之间的关系。

图 1. MATLAB 绘图,可视化输入和输出变量之间的关系。

学习深度学习和物联网模块

学生在基本了解 MATLAB 命令和脚本后就准备好了学习第三节课中的深度学习和物联网模块。我让他们带一台带摄像头的笔记本电脑或平板电脑以及一些物品(如水果),以在模块的第一个练习中进行分类。

在开始之前,我会简单介绍一下 AI、机器学习和深度学习。然后,我会让学生使用 MATLAB Online(图 2)查看并执行 MATLAB 脚本。该产品不需要下载或安装。该脚本是 MathWorks 为该模块提供的三个脚本之一,它使用学生设备上的摄像头拍摄照片,然后使用预训练的深度学习模型 AlexNet 对图像进行分类。

截图,显示课程练习之一使用的 MATLAB 脚本。

图 2. 第一个练习的 MATLAB 脚本。

运行脚本后,学生将查看其结果,包括他们拍摄的物品的 AlexNet 分类以及置信度分数(图 3)。

学生拍摄的物品的 AlexNet 分类的图像以及置信度分数。

图 3. 具有相关联的置信度分数的 AlexNet 分类的结果。

接下来,我会向学生概述物联网及其常见的应用和优势,为进入下一个练习做好准备。然后,学生将使用 MATLAB 把从深度学习模型中获得的分类标签发送到一个公共 ThingSpeak 通道。在该模块的第三个(也是最后一个)练习中,学生会使用 MATLAB 从 ThingSpeak 实时读取整个班级的汇总分类数据,然后通过绘制直方图将其可视化(图 4)。

直方图的截图,y 轴上显示的是检测到的次数,x 轴上显示的是物品类型。

图 4. 直方图示例,显示分类物品的聚合数据。

学生评估和后续步骤

在深度学习和物联网模块的结尾,我会要求学生完成一项情景动机量表 (SIMS) 调查,以评估其自我决心和动机。此项调查的两个结果引起了我的注意。第一个结果是,新模块的自我决心索引均值为 5.85,高于学生过去几年完成的课程活动的均值分数 5.47。第二个结果是,女生比男生有更高的自我决心值。当我开始讲授《工程简介》时,只有少数几个女生。如今,班上女生大约占四分之一。像深度学习和物联网模块这样的活动似乎对女生很有吸引力,这可能会鼓励她们继续学习工程专业。这反过来有助于增加项目中的学生多样性,而增加学生多样性对我和许多同事来说一直是很重要的问题。

除了该项调查之外,我还收到了学生对该模块的非正式反馈。虽然他们喜欢该模块并从学习到了知识,但有几个人对 AlexNet 提供的分类有疑问,因为在一些情况下该分类并不准确。我借此机会跟他们聊了聊分类误差,误差产生的原因,及其在实际应用中会产生什么后果。展望将来,我计划在模块中使用其他预训练网络进行试验,看看另一个网络是否会提供更准确的分类。我还计划在 MATLAB 课程中添加更多数据科学和数据分析练习,以便向大一新生介绍这些重要的概念。

关于作者

王超博士是亚利桑那州立大学 Ira A. Fulton 工程学院的高级讲师,主要为大一新生讲授信号处理和系统领域的工程和电气工程课程。她的研究兴趣包括工程教学、嵌入式系统、信号处理、机器学习和物联网。

2022年发布

查看文章,了解相关功能