



摘" 要: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—),男,漢族,廣東肇慶人,副教授,博士,研究方向:智能農機裝備。