有些研究課題是為了回答理論問題。有些研究課題是為了解決研究人員自己的問題。伊斯坦布爾理工大學的人工智能和智能系統實驗室主任、控制和自動化工程教授 Tufan Kumbasar 的研究就屬于后一種情況。
控制和自動化工程師經常使用反饋控制架構 (FCA) 來設計閉環控制,目的是管理或調節系統的行為以實現預期的結果。系統會反饋當前狀態并將其與期望狀態進行比較,然后系統進行調整以保持期望狀態。這種類型的控制系統用于設置汽車的巡航控制、調節加熱系統和管理工廠。
通常,講授控制理論的教授會在白板上繪制 FCA。為了展示和分析系統的動態行為(即,它在各種輸入下的行為),教授會在模塊圖旁邊繪圖。但這需要時間,而且每次更改 FCA 后都要重新繪圖。解讀這些繪圖可能也很困難。
FCA 白板繪圖示例。(圖片所有權:伊斯坦布爾理工大學)“學生面臨的主要挑戰是識別我的板書和我糟糕的繪圖,它們根本不成比例,”Kumbasar說。“他們很難理解這種圖。”
一種替代方法是在 MATLAB和 Simulink 等科學計算軟件中重新創建FCA,并將計算出的繪圖投影到屏幕上。“MATLAB 有很好的可視化能力,”Kumbasar 說。”但在課堂上編碼需要花費額外的時間和精力。”
然后,Kumbasar 想到了應用人工智能 (AI) 來幫助控制系統課堂上的教學。
“初衷有點自私,”他說。“當時我擔任學院副院長,忙于許多行政工作。我同時承擔部分教學工作。有一天,我筋疲力盡,告訴我的研究生,我真的很累。我的教學要么都在計算機上完成,要么都在白板上完成。”
然后,他找到正在積極合作研究深度學習方法的研究生 Dorukhan Erdem 和 AykutBeke。“我說’Dorukhan,既然你們在一起研究新穎的結構。為我創建一個應用程序怎么樣?我就當你們的實驗小白鼠。’”
Kumbasar教授設想的應用程序是一個深度學習系統,它可以拍攝白板的照片并在 MATLAB 中自動重新創建 FCA。這種想法在 MathWorks 框架內是可行的,其中像Simulink 這樣的控制工具與基于學科的工具箱(如 Deep Learning Toolbox 和 Computer VisionToolbox)在相同的環境中工作。
▼使用深度學習將白板轉換為模型
甘作實驗小白鼠意味著需要繪制很多 FCA。Erdem 對這些繪圖進行拍攝并標注,以便計算機基于它們進行學習。五個院系的教師為六種 FCA 中的每一種至少繪制 10 個模塊圖,總共得到 306 張圖像。教師在不同光照條件下繪制草圖,使這個挑戰更具有現實意義。然后,Erdem 和 Beke 手動標注所有模塊和其中的符號。在訓練期間,深度學習模型會猜測這些標簽,并在不正確時調整其內部參數。
最終的應用程序流程發表在《IEEE Access》期刊上,包括五個步驟。
將白板草圖轉換為代碼的步驟圖。(圖片所有權:伊斯坦布爾理工大學)
首先是識別草圖與六種架構類型中的哪一種最匹配。Kumbasar 的團隊使用了一種稱為ResNet-50 的預訓練深度神經網絡,它使用 50 個網絡層和一些跳過中間層的長距離連接,從而提高性能。
306張圖像對于訓練神經網絡來說并不算多,尤其是這么大的神經網絡,因此團隊采用了兩個技巧。首先是一種稱為遷移學習的做法。他們使用預訓練的 ResNet-50網絡(該網絡基于成千上萬張日常物品的照片進行訓練)并替換了網絡的最終層,從而僅基于他們自己的照片訓練該層。第二個技巧是數據增強,該團隊通過創建經過稍微旋轉或縮放的版本來增加圖像的數量。經過訓練后,他們的流程的第一個步驟在對手寫反饋控制架構進行分類方面達到了89% 的準確度。
流程中的第二個步驟是檢測模塊。程序將圖像轉換為二值圖像- 在黑色背景上顯示白線,沒有其他顏色或灰色。然后,它去除了字符和噪聲。接下來,它填充封閉的形狀,并將模塊與由模塊之間的反饋回路創建的封閉形狀分離開來。
第三個步驟是,流程識別在模塊中書寫的字符,包括數字和算術運算符。它將圖像二值化,圍繞每個字符進行裁剪,并應用基于3920 個圖像進行訓練的另一個神經網絡。
遇到的一個困難是區分“5”和“s”。Kumbasar 說,“我寫的 5 和 s太相似了。Dorukhan 總是抱怨我的書寫很糟糕。控制工程師憑直覺會認為我不會寫 55+1,寫的應該是 5s+1。但 AI系統不具備這種直覺。”盡管如此,此階段的準確率達到了 96%。
第四個步驟是,應用程序將字符組合成 MATLAB函數。如果一個字符位于另一個字符的右上方,系統稱之為指數,并插入“^”。如果一條水平線的上下都有字符,系統將其視為除法而不是減法。
用深度學習分割和區分字符。(圖片所有權:伊斯坦布爾理工大學)
在第五個步驟中,工作流將這些函數放到正確的模塊中,在 MATLAB 中將它們連接成一個完整的FCA。它還基于團隊創建的模板創建一個 Simulink 圖。
Erdem表示,對于使用 ResNet-50 這樣的神經網絡進行深度學習來說,MATLAB 是有用的解決方案。Kumbasar 補充說,通過 MATLAB可以方便地進行流程步驟之間的集成。他認為,“在MATLAB 中,將數據數組和圖像從一個工具箱發送到另一個工具箱或從同一個工作區中讀取數據是很容易的。”
▼從草圖開始“當這個 FCA 應用程序實時工作時,我感到很驚訝,”Kumbasar 說。“我們在不同光照條件下測試整個流程,并混合了各人的書寫,可以說是盡一切可能增加了難度。
各個單獨部分都能良好地工作。Kumbasar 補充說,“但一旦您連接整個流程,如果一個部分出錯,另一個也會受到影響。因此,誤差始終會在從輸入到輸出的過程中放大。”在這里,一切都在按部就班進行。“Dorukhan說這是有趣的工程,讓他充滿動力。他找了很多超高難度的測試圖像。”
整個系統的成功程度很難度量,該團隊尚未考察學生在實際教學中對該系統的體驗,新冠疫情就出現了。他們在YouTube上發布了一段視頻,視頻中教師在白板上繪制FCA。片刻后,相同的 FCA 出現在白板上方的 Simulink 投影中,隨后是展示其行為的繪圖。
提供白板繪圖的教授之一 ?lker üsto?lu 說,他對此印象深刻。如果該應用程序作為產品推出,他會使用它。“它為教學提供了便利。”
FCA 白板繪圖實時轉換為 Simulink。(視頻所有權:伊斯坦布爾理工大學)▼進入理論領域不管該系統多么出色,仍有部分課堂不準備用 MATLAB 轉換白板 FCA。Erdem 對該應用程序進行了優化,例如將 ResNet 限制在 50 層,使其可以僅在一個 GPU 上實時運行,但它仍需要一臺高分辨率相機和一臺具有GPU的筆記本電腦,而許多課堂并未配備這些設備。
“科學研究或者是出于好奇,或者是出于滿足需求。這項研究是滿足我的個人需求。”—— Tufan Kumbasar,伊斯坦布爾理工大學人工智能和智能系統實驗主任、控制和自動化工程教授
借助深度學習,應用程序能夠將不同風格的書寫轉換為 MATLAB 函數,并將函數放在正確的模塊中。(圖片所有權:伊斯坦布爾理工大學)
與此同時,研究人員正在考慮進行幾項改進。Erdem 希望該程序能夠處理六種以上的架構。當字符接觸到周圍的框時,系統也會難以識別,因此 Kumbasar 增加了置信水平,使系統能夠指示其標簽的確定性。
集成模糊邏輯也是一個優先事項。“在模糊邏輯中,您不會說超過一定身高的每個人都是高個子,而其他人都不是,”Kumbasar 解釋道。“人們可能會說個子有點高,從而導致后續更微妙的決定。在 MATLAB 中很容易建立模糊層,模糊層將其與神經網絡結合使用,或用于組成完整的模糊系統。”
如果該流程真的成為一種產品,其應用范圍可能不僅限于課堂上。教授可能會用它將學生的手寫試卷或課下作業轉換為 MATLAB 模型來評分。學生可能用它將自己的課堂筆記數字化,并在 MATLAB 中使用 FCA。Kumbasar 說他想在研究中做同樣的事情。MathWorks 的工程師 Marco Rossi 指出,許多學生和研究人員更喜歡用筆和紙來分析問題,然后將手寫內容放入 Simulink 中來生成 C 代碼。這種習慣可能源于控制理論的教學方式。但有了類似 Kumbasar 推出的這種工具,可能會促使人們在設計過程中更早地從紙上轉移到屏幕上,從而更輕松地使用模塊。
除了解決他自己的問題和推進到理論研究之外,Kumbasar 還提到此項目的另一個好處。“這項研究也能很好地激勵本科生,”他說。讓他們認識到工程靈感可以來自每天面對的難題。“科學研究或者是出于好奇,或者是出于滿足需求。”Kumbasar 說。“這項研究滿足了我的個人需求。”
審核編輯:湯梓紅
-
控制系統
+關注
關注
41文章
6628瀏覽量
110647 -
深度學習
+關注
關注
73文章
5504瀏覽量
121221 -
FCA
+關注
關注
1文章
24瀏覽量
5216
原文標題:教學前沿 | 深度學習將教授的白板草圖轉換為可用的模型
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論