摘" 要:MATLAB是“新工科”數(shù)據(jù)研究的基礎(chǔ)工具之一,具有較強(qiáng)的實(shí)用性。MATLAB課程需要學(xué)生具有一定的軟件編程能力,其中的函數(shù)與功能眾多使學(xué)生的學(xué)習(xí)時(shí)間成本較高,限制了很多非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生。為了豐富MATLAB課程內(nèi)容,在教學(xué)中引入AI(Artificial Intelligence)大模型作為輔助工具,其能夠有效提高學(xué)習(xí)效率,在錯(cuò)誤診斷、示范方法等方面提供有效幫助。AI大模型可以使學(xué)生及時(shí)獲得正反饋,對(duì)快速建立學(xué)生對(duì)該課程的信心和興趣十分有益。同時(shí)文章分析了AI大模型在MATLAB教學(xué)中存在的問(wèn)題,并給出了教學(xué)改革建議。
關(guān)鍵詞:MATLAB;AI大模型;輔助工具;技術(shù)應(yīng)用
中圖分類(lèi)號(hào):TP39;G434 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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" 引" 言
大力倡導(dǎo)“新工科”教學(xué)的背景下,學(xué)習(xí)使用MATLAB成為大學(xué)生必不可少的技能之一,其被廣泛應(yīng)用于科學(xué)研究中,特別是在工程、物理學(xué)、生物學(xué)、信號(hào)處理、圖像處理、控制系統(tǒng)、機(jī)器學(xué)習(xí)以及數(shù)據(jù)分析等領(lǐng)域[1]。該課程教會(huì)學(xué)生處理數(shù)據(jù)的方法,進(jìn)而學(xué)習(xí)復(fù)雜運(yùn)算以及簡(jiǎn)化復(fù)雜數(shù)學(xué)問(wèn)題的途徑。然而MATLAB畢竟是一款專(zhuān)業(yè)軟件,課程學(xué)習(xí)對(duì)學(xué)生的軟件編程能力有一定的要求,其中函數(shù)與功能眾多也提高了學(xué)習(xí)時(shí)間成本,限制了很多非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生的學(xué)習(xí)效率?,F(xiàn)代AI大模型的出現(xiàn)將改變?cè)械目坑洃浐瘮?shù)和掌握功能為主體的教學(xué)內(nèi)容,轉(zhuǎn)向注重鍛煉底層邏輯、掌握基本原理和設(shè)計(jì)目標(biāo)架構(gòu)的教學(xué)模式。從機(jī)械記憶學(xué)習(xí)到轉(zhuǎn)向舉一反三的推理能力學(xué)習(xí),更符合新時(shí)代的工具軟件教學(xué)。
1" MATLAB課程的特點(diǎn)和難點(diǎn)
要準(zhǔn)確運(yùn)用AI協(xié)助教學(xué),必須分析現(xiàn)有課程的特點(diǎn)以及難點(diǎn)。課程主要教授MATLAB的幾個(gè)主要功能:線性代數(shù)和數(shù)值計(jì)算;繪制各種圖表,如線圖、散點(diǎn)圖等;以及涵蓋了信號(hào)處理、圖像處理、控制系統(tǒng)設(shè)計(jì)的工具箱的使用。MATLAB的設(shè)計(jì)初衷是為了方便矩陣和數(shù)組的計(jì)算,它提供了大量的矩陣和數(shù)組操作函數(shù),這使得在進(jìn)行線性代數(shù)和數(shù)值計(jì)算等任務(wù)時(shí)十分高效,同時(shí)MATLAB的普及性和通用性使得它成為不同學(xué)科之間合作交流的橋梁。無(wú)論是學(xué)物理的學(xué)生、生物學(xué)生還是經(jīng)濟(jì)學(xué)生,都可以通過(guò)MATLAB共享數(shù)據(jù)和模型,促進(jìn)跨學(xué)科研究的深入發(fā)展[2-3]。
但是MATLAB的學(xué)習(xí)曲線較為陡峭,想熟練掌握其豐富的函數(shù)和工具箱,需要花費(fèi)一定的時(shí)間和精力。特別是對(duì)于初學(xué)者來(lái)說(shuō),建立對(duì)MATLAB編程環(huán)境和操作方式的認(rèn)知需要一定時(shí)間。MATLAB的調(diào)試工具雖然功能強(qiáng)大,但在某些復(fù)雜情況下,可能會(huì)遇到難以調(diào)試的問(wèn)題。這要求用戶具備較高的編程素養(yǎng)和調(diào)試技巧,才能夠迅速定位并解決問(wèn)題。作為一門(mén)實(shí)踐性很強(qiáng)的課程,學(xué)生在掌握理論知識(shí)的同時(shí)需要進(jìn)行大量的實(shí)踐操作。然而,在實(shí)際教學(xué)中往往存在理論教學(xué)與實(shí)踐操作脫節(jié)的問(wèn)題,導(dǎo)致學(xué)生難以將所學(xué)知識(shí)用于解決實(shí)際問(wèn)題,形成惡性循環(huán)。為了克服這些難點(diǎn),教師需要采用靈活多樣的教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性,借助AI是彌補(bǔ)學(xué)生在編程能力方面的不足的有效手段。
2" AI大模型在教學(xué)中的優(yōu)勢(shì)
AI大模型具有強(qiáng)大的自然語(yǔ)言分析能力,區(qū)別于一般搜索引擎,只能匹配有限的字符進(jìn)行推薦,AI大模型基于自注意力機(jī)制,通過(guò)讓模型內(nèi)部不同部分相互“注意”并關(guān)聯(lián)處理輸入數(shù)據(jù),從而實(shí)現(xiàn)對(duì)語(yǔ)言的更深層次理解與生成。自注意力機(jī)制能動(dòng)態(tài)捕捉數(shù)據(jù)中的依賴(lài)關(guān)系,無(wú)須考慮數(shù)據(jù)間距離,極大地增強(qiáng)了模型處理復(fù)雜序列信息的能力,如自然語(yǔ)言理解和生成,推動(dòng)了AI在多個(gè)領(lǐng)域的突破性進(jìn)展[4-8]。針對(duì)MATLAB課程教學(xué),老師可以引導(dǎo)學(xué)生如何直接使用自然語(yǔ)言描述所遇到的計(jì)算問(wèn)題,并借助AI大模型尋求相對(duì)應(yīng)的幫助,AI大模型會(huì)在龐大的數(shù)據(jù)庫(kù)中統(tǒng)計(jì)并分析相關(guān)內(nèi)容,綜合獲取概率最高的問(wèn)題答案,節(jié)省了學(xué)生區(qū)分有效資源的時(shí)間。
3" AI大模型在MATLAB教學(xué)中的改革實(shí)例
文心大模型作為國(guó)內(nèi)的較為完善的AI大模型,通過(guò)從大規(guī)模知識(shí)圖譜和海量無(wú)結(jié)構(gòu)數(shù)據(jù)中學(xué)習(xí),實(shí)現(xiàn)了知識(shí)增強(qiáng)的特性,能夠有效輔助MATLAB教學(xué),本文主要采用該模型進(jìn)行舉例。
3.1" 協(xié)助MATLAB圖像去噪代碼生成
圖像去噪是信號(hào)處理的一個(gè)重要方向[9-10],以圖像去噪為例,在該章節(jié)的教學(xué)中需要學(xué)生掌握MATLAB中文件讀取、圖像處理和結(jié)果顯示等函數(shù),傳統(tǒng)教學(xué)流程是查閱相關(guān)書(shū)籍,再使用PPT呈現(xiàn),學(xué)生記憶相關(guān)函數(shù)并復(fù)現(xiàn),這樣的模式擴(kuò)展性不靈活,如果學(xué)生想進(jìn)一步學(xué)習(xí)更多方法需要查閱書(shū)籍,但是書(shū)籍的時(shí)效性一般不強(qiáng)。在文心大模型中輸入“MATLAB,對(duì)帶噪聲圖片進(jìn)行去噪”。AI模型會(huì)直接推薦主流的濾波方法,包括使用均值濾波、中值濾波、高斯濾波,以及更高級(jí)的技術(shù)如維納濾波(Wiener Filter)和小波去噪(Wavelet Denoising)等,并給出測(cè)試代碼1,大模型給出的高斯噪聲去噪代碼如下:
1)讀取圖像,代碼為:
noisyImage = im2double(imread('gzt.jpg')); %圖像路徑
% 如果是彩色圖像則轉(zhuǎn)換為灰度圖像
if size(originalImage, 3) == 3
originalImage = rgb2gray(originalImage);
end
2)添加高斯噪聲,代碼為:
noiseLevel = 0.03; % 噪聲水平
noisyImage = imnoise(originalImage, 'gaussian', 0, noiseLevel);
3)使用高斯濾波進(jìn)行去噪,代碼為:
sigma = 2; % 標(biāo)準(zhǔn)差
denoisedImage = imgaussfilt(noisyImage, sigma);" %高斯濾波函數(shù)
4)顯示結(jié)果,代碼為:
figure;
subplot(1, 3, 1); imshow(originalImage); title('原始圖像');
subplot(1, 3, 2); imshow(noisyImage); title('帶噪聲圖像');
subplot(1, 3, 3); imshow(denoisedImage); title('去噪后圖像');
計(jì)算效果如圖1所示,上述實(shí)例中AI大模型提供了具體的代碼和必要的注釋?zhuān)奖銓W(xué)生學(xué)習(xí)理解,學(xué)生在接觸知識(shí)內(nèi)容的同時(shí)獲取了可執(zhí)行的程序,獲得直接的反饋。教師著重講解imgaussfilt函數(shù),同時(shí)可以輸入進(jìn)一步的問(wèn)題,以獲得更深入的回答。
3.2" 利用AI跟進(jìn)前沿技術(shù)方法
如果想使用先進(jìn)的深度殘差卷積神經(jīng)網(wǎng)絡(luò)DnCNN(Deep Convolutional Neural Network)進(jìn)行圖像去噪處理,可以將“使用matlab中的dncnn網(wǎng)絡(luò)去圖像去噪”信息輸入到大模型中,大模型輸出可運(yùn)行代碼2,并提示:確保你已安裝Deep Learning Toolbox;更改your_image.png為你的圖像文件路徑。其中denoisingNetwork和denoiseImage函數(shù)為2024版最新功能,結(jié)果表明去噪效果優(yōu)于傳統(tǒng)方法,能保留更多有效信息。早期出版的教材沒(méi)有相關(guān)內(nèi)容,最新的教材不能及時(shí)出版,大模型由于在持續(xù)學(xué)習(xí)訓(xùn)練,具有較強(qiáng)的時(shí)效性,可以幫助學(xué)生緊跟技術(shù)前沿。DnCNN去噪代碼如下,去噪效果如圖2所示。
1)加載DNCNN網(wǎng)絡(luò),代碼為:
net = denoisingNetwork('DnCNN');
2)讀取圖像,代碼為:
originalImage = im2double(imread('your_image.png')); %圖像路徑
3)添加高斯噪聲,代碼為:
noiseLevel = 0.1; % 噪聲水平
noisyImage = imnoise(originalImage, 'gaussian', 0, noiseLevel);
4)使用DNCNN進(jìn)行去噪,代碼為:
denoisedImage = denoiseImage(noisyImage, net);
5)顯示結(jié)果,代碼為:
figure;
subplot(1, 3, 1); imshow(originalImage); title('原始圖像');
subplot(1, 3, 2); imshow(noisyImage); title('帶噪聲圖像');
subplot(1, 3, 3); imshow(denoisedImage); title('去噪后圖像');
3.3" 協(xié)助MATLAB程序Debug
軟件編程的學(xué)習(xí)過(guò)程難免遇到錯(cuò)誤代碼(bug),老師可以教授一些調(diào)試(debug)方法,但是問(wèn)題的種類(lèi)繁多,對(duì)于學(xué)習(xí)者來(lái)說(shuō),某些程序中的bug解決往往具有較大的挑戰(zhàn)性。而AI大模型能夠?yàn)榇颂峁┯行еС?,用戶只需將程序及相關(guān)提示輸入模型,即可獲得關(guān)于代碼修改的建議。根據(jù)這些提示進(jìn)行相應(yīng)的調(diào)整,不僅可以幫助學(xué)習(xí)者更快地解決問(wèn)題,還能顯著提高學(xué)習(xí)和工作的效率。通過(guò)反復(fù)操作學(xué)習(xí)提示,還能夠?qū)ATLAB的編寫(xiě)規(guī)律有更深入的認(rèn)識(shí)。同時(shí)由于解決錯(cuò)誤的時(shí)間減少,學(xué)習(xí)MATLAB的信心得以加強(qiáng),使學(xué)生積極性提高。例如下列小波去噪的程序代碼3存在bug,不能通過(guò)編譯,將錯(cuò)誤提示復(fù)制到對(duì)話框,即可獲得修改建議,根據(jù)建議運(yùn)行及獲得正確結(jié)果?!癧denoisedImage,L] = wdenoise(double(noisyImage),'wavelet','db1','level',3);”插入到代碼1中間,替換編號(hào)3的內(nèi)容,使用MATLAB 2021a軟件出現(xiàn)的報(bào)錯(cuò)內(nèi)容如下:
錯(cuò)誤提示1:
錯(cuò)誤使用 wdenoisegt;parseinputs (第 401 行)
沒(méi)有為 'level' 提供值?名稱(chēng)-值對(duì)組參數(shù)需要一個(gè)名稱(chēng)并后跟一個(gè)值?
出錯(cuò) wdenoise (第 176 行)
NoiseEstimate,Lo_D,Hi_D,Lo_R,Hi_R] = parseinputs(N,varargin{:});
出錯(cuò) test21 (第 17 行)
[denoisedImage,L] = wdenoise(double(noisyImage),'wavelet','db1','level',2);
該提示表明沒(méi)有為'level'提供值,學(xué)生很容易誤以為是'level'參數(shù)沒(méi)有賦值,根據(jù)之前的學(xué)習(xí)經(jīng)驗(yàn)“2”應(yīng)該就是所賦的值,不應(yīng)該報(bào)錯(cuò),對(duì)于經(jīng)驗(yàn)不足的學(xué)生來(lái)說(shuō)很難解決該問(wèn)題。常規(guī)的教學(xué)方法是檢索正確的參數(shù)配置方法,但是可能由于教材版本不同無(wú)法獲取到對(duì)應(yīng)版本的內(nèi)容。把錯(cuò)誤提示直接復(fù)制到AI大模型對(duì)話框,AI能自動(dòng)聯(lián)想到之前的提問(wèn),不需要再次輸入,模型給出的建議是:如果您仍然遇到相同的錯(cuò)誤,可能是因?yàn)閣denoise函數(shù)的調(diào)用格式不正確。請(qǐng)確保以下幾點(diǎn):一是確保MATLAB版本支持。某些版本的MATLAB可能對(duì)wdenoise的參數(shù)要求不同。請(qǐng)確認(rèn)您使用的版本支持您嘗試的參數(shù)。二是參數(shù)格式正確。確保提供的參數(shù)以正確的名稱(chēng)-值對(duì)格式傳遞。下面是一個(gè)更新的示例代碼,確保每個(gè)參數(shù)都在正確的位置。并給出了修改建議代碼“[denoisedImage, L] = wdenoise(double(noisyImage), 2, 'wavelet', 'db1');”。這里主要是版本的問(wèn)題,并不是MATLAB提示字面上的名字沒(méi)有匹配值,使用AI大模型準(zhǔn)確定位錯(cuò)誤,給出合理建議,使用新的建議代碼能夠通過(guò)編譯運(yùn)行獲得結(jié)果,最終試驗(yàn)的結(jié)果如圖3所示。
4" 問(wèn)題與建議
在利用AI大模型進(jìn)行MATLAB教學(xué)的過(guò)程中,盡管其提供了便捷的信息獲取和代碼支持,但仍存在兩大問(wèn)題。一是示例代碼存在錯(cuò)誤情況:大模型是基于概率統(tǒng)計(jì)理論建立的系統(tǒng),其是否真正理解事物的規(guī)律還尚待研究,所以生成的MATLAB代碼有一定的概率存在語(yǔ)法錯(cuò)誤或邏輯錯(cuò)誤,這可能會(huì)影響教學(xué)效果,當(dāng)學(xué)生自己使用時(shí)也會(huì)遇到障礙,這種問(wèn)題現(xiàn)階段的技術(shù)水平難以克服。二是解決高階問(wèn)題能力有限:對(duì)于復(fù)雜或步驟較多的問(wèn)題,AI無(wú)法提供深入的分析或解決方案,影響學(xué)生對(duì)高級(jí)MATLAB應(yīng)用的理解。以三維茶壺的繪制為例,AI大模型所提供的解決方案執(zhí)行到圓柱的生成就出現(xiàn)了問(wèn)題,模型對(duì)茶壺的理解存在偏差,運(yùn)行結(jié)果如圖4所示,其目標(biāo)架構(gòu)的能力有待提高。
針對(duì)示例代碼錯(cuò)誤問(wèn)題,本文建議老師在課堂上多進(jìn)行實(shí)例程序的驗(yàn)證和糾正,示范不同錯(cuò)誤的解決方法以幫助學(xué)生快速理解正確的語(yǔ)法邏輯,減少困惑。同時(shí)也可以利用AI模型自糾錯(cuò),詢(xún)問(wèn)錯(cuò)誤的原因與解決方法,通過(guò)多次大模型運(yùn)算,降低概率性錯(cuò)誤概率。針對(duì)高階問(wèn)題處理能力有限的問(wèn)題,教師可以提供補(bǔ)充材料和案例,幫助學(xué)生理解高級(jí)MATLAB應(yīng)用的核心概念和技巧。同時(shí)教導(dǎo)學(xué)生分解復(fù)雜問(wèn)題實(shí)現(xiàn)目標(biāo)架構(gòu)的方法,將復(fù)雜的問(wèn)題分解成有明確定義的簡(jiǎn)單步驟,AI大模型大大提高了解決簡(jiǎn)單問(wèn)題的概率,再將每一步的結(jié)果串聯(lián)起來(lái),以實(shí)現(xiàn)復(fù)雜問(wèn)題的解決。
5" 結(jié)" 論
AI大模型在教育領(lǐng)域具有潛力,可以提供個(gè)性化學(xué)習(xí)與即時(shí)反饋,同時(shí)提供多樣化資源和強(qiáng)互動(dòng)性。在MATLAB的教學(xué)中AI大模型可以將自然語(yǔ)言問(wèn)題直接轉(zhuǎn)換成編程范例,實(shí)現(xiàn)舉一反三,能夠協(xié)助學(xué)生快速定位和解決bug,充分利用大模型教學(xué)可以有效提升學(xué)生的正反饋,激發(fā)學(xué)習(xí)興趣,更快地掌握MATLAB軟件工具。在教學(xué)方法層面進(jìn)行基礎(chǔ)規(guī)則的學(xué)習(xí)和思路訓(xùn)練,著重培養(yǎng)學(xué)生目標(biāo)架構(gòu)的能力,使學(xué)生具有正確分解任務(wù)和讀懂AI提供范例的能力,拓寬知識(shí)面等,是新的改革方向。
參考文獻(xiàn):
[1] 崔少華,宗桂林,張亞萍,等.工程教育背景下MATLAB在通信原理教學(xué)中應(yīng)用 [J].淮北師范大學(xué)學(xué)報(bào):自然科學(xué)版,2024,45(3):83-86.
[2] 趙健.MATLAB四十周年:數(shù)學(xué)領(lǐng)域的“矩陣革命” [J].中國(guó)工業(yè)和信息化,2024(7):70-75.
[3] 席敏燕.MATLAB在“自動(dòng)控制原理”課程中的應(yīng)用 [J].現(xiàn)代信息科技,2022,6(19):185-187.
[4] 方海光,洪心,舒麗麗,等.基于課堂智能分析大模型的教師教學(xué)能力分析框架及其應(yīng)用研究 [J].現(xiàn)代教育技術(shù),2024,34(2):43-52.
[5] 蘇循宇.MATLAB在高中物理信息化教學(xué)中的設(shè)計(jì)與應(yīng)用 [D].大連:遼寧師范大學(xué),2023.
[6] 廖勇,韓小金,劉金林,等.可解釋性人工智能研究進(jìn)展 [J/OL].計(jì)算機(jī)工程,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] 黃婷,劉力凱.基于大模型的數(shù)智化語(yǔ)言教學(xué)探索與應(yīng)用 [J].連云港職業(yè)技術(shù)學(xué)院學(xué)報(bào),2023,36(4):73-79.
[9] 李子亮,李興春.《科學(xué)計(jì)算與MATLAB語(yǔ)言》課程知識(shí)圖譜的構(gòu)建 [J/OL].智能計(jì)算機(jī)與應(yīng)用,2024:1-8(2024-09-12) .https://doi.org/10.20169/j.issn.2095-2163.24082004.
[10] 張玉柳,羅江華.生成式人工智能增強(qiáng)學(xué)科教學(xué)適應(yīng)性的邏輯理路與實(shí)踐路徑 [J].電化教育研究,2024,45(11):100-107.
作者簡(jiǎn)介:張聞?dòng)睿?985—),男,漢族,湖北武漢人,助理研究員,博士,研究方向:農(nóng)業(yè)智能化;通信作者:李杰浩(1989—),男,漢族,廣東肇慶人,副教授,博士,研究方向:智能農(nóng)機(jī)裝備。