摘" 要:MATLAB是“新工科”数据研究的基础工具之一,具有较强的实用性。MATLAB课程需要学生具有一定的软件编程能力,其中的函数与功能众多使学生的学习时间成本较高,限制了很多非计算机专业学生。为了丰富MATLAB课程内容,在教学中引入AI(Artificial Intelligence)大模型作为辅助工具,其能够有效提高学习效率,在错误诊断、示范方法等方面提供有效帮助。AI大模型可以使学生及时获得正反馈,对快速建立学生对该课程的信心和兴趣十分有益。同时文章分析了AI大模型在MATLAB教学中存在的问题,并给出了教学改革建议。
关键词:MATLAB;AI大模型;辅助工具;技术应用
中图分类号:TP39;G434 文献标识码:A 文章编号:2096-4706(2024)24-0195-04
Application of AI Big Model in MATLAB Course Teaching
ZHANG Wenyu1, ZHANG Zhigang1, YAN Xiaoting2, LI Jiehao1
(1.South China Agricultural University, Guangzhou" 510642, China;
2.Zhongkai University of Agriculture and Engineering, Guangzhou" 510225, China)
Abstract: MATLAB is one of the fundamental tools for data research in the “new engineering”, and it has strong practicality. The MATLAB course requires students to possess a certain ability of software programming. The numerous functions and features of MATLAB lead to a higher time cost for students learning, which limits many non-computer science students. To enrich the content of the MATLAB course, AI (Artificial Intelligence) big model has been introduced as auxiliary tool in teaching. It can effectively enhance learning efficiency and provide effective support in error diagnosis, demonstration methods, and other aspects. AI big model can provide students with timely positive feedback, which is highly beneficial for quickly building their confidence and interest in the course. At the same time, this paper analyzes the problems of AI big model in MATLAB teaching and offers suggestions for educational reform.
Keywords: MATLAB; AI big model; auxiliary tool; technical application
0" 引" 言
大力倡导“新工科”教学的背景下,学习使用MATLAB成为大学生必不可少的技能之一,其被广泛应用于科学研究中,特别是在工程、物理学、生物学、信号处理、图像处理、控制系统、机器学习以及数据分析等领域[1]。该课程教会学生处理数据的方法,进而学习复杂运算以及简化复杂数学问题的途径。然而MATLAB毕竟是一款专业软件,课程学习对学生的软件编程能力有一定的要求,其中函数与功能众多也提高了学习时间成本,限制了很多非计算机专业的学生的学习效率。现代AI大模型的出现将改变原有的靠记忆函数和掌握功能为主体的教学内容,转向注重锻炼底层逻辑、掌握基本原理和设计目标架构的教学模式。从机械记忆学习到转向举一反三的推理能力学习,更符合新时代的工具软件教学。
1" MATLAB课程的特点和难点
要准确运用AI协助教学,必须分析现有课程的特点以及难点。课程主要教授MATLAB的几个主要功能:线性代数和数值计算;绘制各种图表,如线图、散点图等;以及涵盖了信号处理、图像处理、控制系统设计的工具箱的使用。MATLAB的设计初衷是为了方便矩阵和数组的计算,它提供了大量的矩阵和数组操作函数,这使得在进行线性代数和数值计算等任务时十分高效,同时MATLAB的普及性和通用性使得它成为不同学科之间合作交流的桥梁。无论是学物理的学生、生物学生还是经济学生,都可以通过MATLAB共享数据和模型,促进跨学科研究的深入发展[2-3]。
但是MATLAB的学习曲线较为陡峭,想熟练掌握其丰富的函数和工具箱,需要花费一定的时间和精力。特别是对于初学者来说,建立对MATLAB编程环境和操作方式的认知需要一定时间。MATLAB的调试工具虽然功能强大,但在某些复杂情况下,可能会遇到难以调试的问题。这要求用户具备较高的编程素养和调试技巧,才能够迅速定位并解决问题。作为一门实践性很强的课程,学生在掌握理论知识的同时需要进行大量的实践操作。然而,在实际教学中往往存在理论教学与实践操作脱节的问题,导致学生难以将所学知识用于解决实际问题,形成恶性循环。为了克服这些难点,教师需要采用灵活多样的教学方法,激发学生的学习兴趣和积极性,借助AI是弥补学生在编程能力方面的不足的有效手段。
2" AI大模型在教学中的优势
AI大模型具有强大的自然语言分析能力,区别于一般搜索引擎,只能匹配有限的字符进行推荐,AI大模型基于自注意力机制,通过让模型内部不同部分相互“注意”并关联处理输入数据,从而实现对语言的更深层次理解与生成。自注意力机制能动态捕捉数据中的依赖关系,无须考虑数据间距离,极大地增强了模型处理复杂序列信息的能力,如自然语言理解和生成,推动了AI在多个领域的突破性进展[4-8]。针对MATLAB课程教学,老师可以引导学生如何直接使用自然语言描述所遇到的计算问题,并借助AI大模型寻求相对应的帮助,AI大模型会在庞大的数据库中统计并分析相关内容,综合获取概率最高的问题答案,节省了学生区分有效资源的时间。
3" AI大模型在MATLAB教学中的改革实例
文心大模型作为国内的较为完善的AI大模型,通过从大规模知识图谱和海量无结构数据中学习,实现了知识增强的特性,能够有效辅助MATLAB教学,本文主要采用该模型进行举例。
3.1" 协助MATLAB图像去噪代码生成
图像去噪是信号处理的一个重要方向[9-10],以图像去噪为例,在该章节的教学中需要学生掌握MATLAB中文件读取、图像处理和结果显示等函数,传统教学流程是查阅相关书籍,再使用PPT呈现,学生记忆相关函数并复现,这样的模式扩展性不灵活,如果学生想进一步学习更多方法需要查阅书籍,但是书籍的时效性一般不强。在文心大模型中输入“MATLAB,对带噪声图片进行去噪”。AI模型会直接推荐主流的滤波方法,包括使用均值滤波、中值滤波、高斯滤波,以及更高级的技术如维纳滤波(Wiener Filter)和小波去噪(Wavelet Denoising)等,并给出测试代码1,大模型给出的高斯噪声去噪代码如下:
1)读取图像,代码为:
noisyImage = im2double(imread(gzt.jpg)); %图像路径
% 如果是彩色图像则转换为灰度图像
if size(originalImage, 3) == 3
originalImage = rgb2gray(originalImage);
end
2)添加高斯噪声,代码为:
noiseLevel = 0.03; % 噪声水平
noisyImage = imnoise(originalImage, gaussian, 0, noiseLevel);
3)使用高斯滤波进行去噪,代码为:
sigma = 2; % 标准差
denoisedImage = imgaussfilt(noisyImage, sigma);" %高斯滤波函数
4)显示结果,代码为:
figure;
subplot(1, 3, 1); imshow(originalImage); title(原始图像);
subplot(1, 3, 2); imshow(noisyImage); title(带噪声图像);
subplot(1, 3, 3); imshow(denoisedImage); title(去噪后图像);
计算效果如图1所示,上述实例中AI大模型提供了具体的代码和必要的注释,方便学生学习理解,学生在接触知识内容的同时获取了可执行的程序,获得直接的反馈。教师着重讲解imgaussfilt函数,同时可以输入进一步的问题,以获得更深入的回答。
3.2" 利用AI跟进前沿技术方法
如果想使用先进的深度残差卷积神经网络DnCNN(Deep Convolutional Neural Network)进行图像去噪处理,可以将“使用matlab中的dncnn网络去图像去噪”信息输入到大模型中,大模型输出可运行代码2,并提示:确保你已安装Deep Learning Toolbox;更改your_image.png为你的图像文件路径。其中denoisingNetwork和denoiseImage函数为2024版最新功能,结果表明去噪效果优于传统方法,能保留更多有效信息。早期出版的教材没有相关内容,最新的教材不能及时出版,大模型由于在持续学习训练,具有较强的时效性,可以帮助学生紧跟技术前沿。DnCNN去噪代码如下,去噪效果如图2所示。
1)加载DNCNN网络,代码为:
net = denoisingNetwork(DnCNN);
2)读取图像,代码为:
originalImage = im2double(imread(your_image.png)); %图像路径
3)添加高斯噪声,代码为:
noiseLevel = 0.1; % 噪声水平
noisyImage = imnoise(originalImage, gaussian, 0, noiseLevel);
4)使用DNCNN进行去噪,代码为:
denoisedImage = denoiseImage(noisyImage, net);
5)显示结果,代码为:
figure;
subplot(1, 3, 1); imshow(originalImage); title(原始图像);
subplot(1, 3, 2); imshow(noisyImage); title(带噪声图像);
subplot(1, 3, 3); imshow(denoisedImage); title(去噪后图像);
3.3" 协助MATLAB程序Debug
软件编程的学习过程难免遇到错误代码(bug),老师可以教授一些调试(debug)方法,但是问题的种类繁多,对于学习者来说,某些程序中的bug解决往往具有较大的挑战性。而AI大模型能够为此提供有效支持,用户只需将程序及相关提示输入模型,即可获得关于代码修改的建议。根据这些提示进行相应的调整,不仅可以帮助学习者更快地解决问题,还能显著提高学习和工作的效率。通过反复操作学习提示,还能够对MATLAB的编写规律有更深入的认识。同时由于解决错误的时间减少,学习MATLAB的信心得以加强,使学生积极性提高。例如下列小波去噪的程序代码3存在bug,不能通过编译,将错误提示复制到对话框,即可获得修改建议,根据建议运行及获得正确结果。“[denoisedImage,L] = wdenoise(double(noisyImage),wavelet,db1,level,3);”插入到代码1中间,替换编号3的内容,使用MATLAB 2021a软件出现的报错内容如下:
错误提示1:
错误使用 wdenoisegt;parseinputs (第 401 行)
没有为 level 提供值。名称-值对组参数需要一个名称并后跟一个值。
出错 wdenoise (第 176 行)
NoiseEstimate,Lo_D,Hi_D,Lo_R,Hi_R] = parseinputs(N,varargin{:});
出错 test21 (第 17 行)
[denoisedImage,L] = wdenoise(double(noisyImage),wavelet,db1,level,2);
该提示表明没有为level提供值,学生很容易误以为是level参数没有赋值,根据之前的学习经验“2”应该就是所赋的值,不应该报错,对于经验不足的学生来说很难解决该问题。常规的教学方法是检索正确的参数配置方法,但是可能由于教材版本不同无法获取到对应版本的内容。把错误提示直接复制到AI大模型对话框,AI能自动联想到之前的提问,不需要再次输入,模型给出的建议是:如果您仍然遇到相同的错误,可能是因为wdenoise函数的调用格式不正确。请确保以下几点:一是确保MATLAB版本支持。某些版本的MATLAB可能对wdenoise的参数要求不同。请确认您使用的版本支持您尝试的参数。二是参数格式正确。确保提供的参数以正确的名称-值对格式传递。下面是一个更新的示例代码,确保每个参数都在正确的位置。并给出了修改建议代码“[denoisedImage, L] = wdenoise(double(noisyImage), 2, wavelet, db1);”。这里主要是版本的问题,并不是MATLAB提示字面上的名字没有匹配值,使用AI大模型准确定位错误,给出合理建议,使用新的建议代码能够通过编译运行获得结果,最终试验的结果如图3所示。
4" 问题与建议
在利用AI大模型进行MATLAB教学的过程中,尽管其提供了便捷的信息获取和代码支持,但仍存在两大问题。一是示例代码存在错误情况:大模型是基于概率统计理论建立的系统,其是否真正理解事物的规律还尚待研究,所以生成的MATLAB代码有一定的概率存在语法错误或逻辑错误,这可能会影响教学效果,当学生自己使用时也会遇到障碍,这种问题现阶段的技术水平难以克服。二是解决高阶问题能力有限:对于复杂或步骤较多的问题,AI无法提供深入的分析或解决方案,影响学生对高级MATLAB应用的理解。以三维茶壶的绘制为例,AI大模型所提供的解决方案执行到圆柱的生成就出现了问题,模型对茶壶的理解存在偏差,运行结果如图4所示,其目标架构的能力有待提高。
针对示例代码错误问题,本文建议老师在课堂上多进行实例程序的验证和纠正,示范不同错误的解决方法以帮助学生快速理解正确的语法逻辑,减少困惑。同时也可以利用AI模型自纠错,询问错误的原因与解决方法,通过多次大模型运算,降低概率性错误概率。针对高阶问题处理能力有限的问题,教师可以提供补充材料和案例,帮助学生理解高级MATLAB应用的核心概念和技巧。同时教导学生分解复杂问题实现目标架构的方法,将复杂的问题分解成有明确定义的简单步骤,AI大模型大大提高了解决简单问题的概率,再将每一步的结果串联起来,以实现复杂问题的解决。
5" 结" 论
AI大模型在教育领域具有潜力,可以提供个性化学习与即时反馈,同时提供多样化资源和强互动性。在MATLAB的教学中AI大模型可以将自然语言问题直接转换成编程范例,实现举一反三,能够协助学生快速定位和解决bug,充分利用大模型教学可以有效提升学生的正反馈,激发学习兴趣,更快地掌握MATLAB软件工具。在教学方法层面进行基础规则的学习和思路训练,着重培养学生目标架构的能力,使学生具有正确分解任务和读懂AI提供范例的能力,拓宽知识面等,是新的改革方向。
参考文献:
[1] 崔少华,宗桂林,张亚萍,等.工程教育背景下MATLAB在通信原理教学中应用 [J].淮北师范大学学报:自然科学版,2024,45(3):83-86.
[2] 赵健.MATLAB四十周年:数学领域的“矩阵革命” [J].中国工业和信息化,2024(7):70-75.
[3] 席敏燕.MATLAB在“自动控制原理”课程中的应用 [J].现代信息科技,2022,6(19):185-187.
[4] 方海光,洪心,舒丽丽,等.基于课堂智能分析大模型的教师教学能力分析框架及其应用研究 [J].现代教育技术,2024,34(2):43-52.
[5] 苏循宇.MATLAB在高中物理信息化教学中的设计与应用 [D].大连:辽宁师范大学,2023.
[6] 廖勇,韩小金,刘金林,等.可解释性人工智能研究进展 [J/OL].计算机工程,2024:1-28(2024-10-30).https://doi.org/10.19678/j.issn.1000-3428.0069925.
[7] REN L,WANG H T,LAILI Y J. Diff-MTS: Temporal-augmented Conditional Diffusion-based AIGC for Industrial Time Series Toward the Large Model Era [J].IEEE Transactions on Cybernetics(Early Access),2024:1-11.
[8] 黄婷,刘力凯.基于大模型的数智化语言教学探索与应用 [J].连云港职业技术学院学报,2023,36(4):73-79.
[9] 李子亮,李兴春.《科学计算与MATLAB语言》课程知识图谱的构建 [J/OL].智能计算机与应用,2024:1-8(2024-09-12) .https://doi.org/10.20169/j.issn.2095-2163.24082004.
[10] 张玉柳,罗江华.生成式人工智能增强学科教学适应性的逻辑理路与实践路径 [J].电化教育研究,2024,45(11):100-107.
作者简介:张闻宇(1985—),男,汉族,湖北武汉人,助理研究员,博士,研究方向:农业智能化;通信作者:李杰浩(1989—),男,汉族,广东肇庆人,副教授,博士,研究方向:智能农机装备。