用MATLAB為AI做好準備

AI(人工智慧)無處不在。它不僅推動了智慧助理、機器翻譯和自動駕駛等應用的發展,還為工程師和科學家提供了一套處理日常任務的新技術。但最近的調查顯示,雖然許多企業都認識到了AI的價值和潛力,但很少能夠真正實踐 - 國際調研機構Gartner最近對3,000家公司進行的調查顯示,開始計畫使用AI的約為50%,而實際上使用AI的只有4%。1

    許多機構都被他們自認執行AI的巨大挑戰嚇到無法行動,常見的迷思有:
  • 相信要做AI就必須成為資料科學的專家
  • 顧慮開發AI系統既費時又花錢
  • 缺乏高品質的標記資料
  • 將AI整合到現有演算法和系統之中成本高而且很複雜

藉由此篇文章,我們將列舉三個真實的例子,展示如何透過MATLAB輕鬆使用AI技術。MATLAB可以提供類似於Caffe和TensorFlow等專用AI工具的人工智慧應用功能 - 更重要的是,只有MATLAB才備有把AI整合到完整的工作流程中的能力,讓你開發全面工程化的系統。

Get Ready for AI with MATLAB
AI模型只是開發全面工程化系統的完整工作流程的一部分。

深度學習入門之旅

準備好你的MathWorks帳號,跟我們踏上了解深度學習的旅程,您將學習在 MATLAB®中使用深度學習技巧進行影像辨識。電腦不用安裝MATLAB也可操作,兩小時迅速建立觀念,隨時可暫停! 完成課程可下載證書

現在開始

AI是什麼?它是如何實現的?

AI 首次定義出現在20世紀50年代,至今定義仍然廣為使用“機器模仿人類行為的能力”。當機器不僅可以模仿,而且可以匹敵甚至超過人類的表現時,AI也就變得越來越有趣。它可以讓我們擺脫重複作業,甚至將任務完全交給電腦,實現更安全和更高效的工作。

精確來說,當今人們在提及AI時,他們所說的其實是機器學習:訓練機器學習人類期望的行為。

傳統程式設計過程一般會先撰寫一個程式進行資料處理,然後產生期望成果。 機器學習的步驟則恰好相反:先輸入資料和期望的輸出,然後讓電腦幫你寫程式。機器學習程式(或更準確地說,模型)可被視為黑盒子。它們可以產生希望成果,但它們不像傳統程式或演算法那樣由執行列所構成。

如今,一種稱為深度學習(deep learning)的特殊機器學習為我們帶來了許多令人驚喜的成果。深度學習使用神經網路。(專有名詞:“深度”是指網路中的層數 - 層數越多,網路越深。)深度學習的一個關鍵優勢是,它不需要手動資料處理,其技巧也不需要掌握額外的產業專門知識。

機器學習和深度學習可被視為實現AI的方法 - 這是當今最常用的技術。

AI是什麼?它是如何實現的?

首先,第一個例子將展示科學家如何利用MATLAB學習和應用機器學習,解決她以往無法以任何其他方式解決的問題。

利用機器學習檢測零食的脆度

食品科學家Solange Sanahuja需要開發一種可重複的方法來確定零食的鬆脆度。她嘗試開發零食的物理模型,但這不起作用。其他科學家使用信號處理來分析咬碎零食的聲音,但沒有人能夠開發出一種能檢測出非常新鮮和不太新鮮之間差異的方法。

當Sanahuja博士看到MATLAB支援機器學習,就決定嘗試一下。她進行了數百次實驗,記下咬碎不同新鮮度零食的聲音和力度,並由訓練有素的試吃員記錄新鮮度。

接著,她利用食品科學家的專業知識從測量的力度中提取特徵,計算硬度和脆度等數值。然後又嘗試了幾種不同的方法從錄音中提取其他特徵,最終發現倍頻程分析(octave analysis)效果最好。

接下來的步驟對她來就開始陌生:根據所選特徵開發模型。由於選擇太多,很難找到合適的模型。Sanahuja博士使用統計與機器學習工具箱(Statistics and Machine Learning Toolbox™)中的Classification Learner應用程式(MATLAB APP)自動驗證每種可能的模型,而不是手動嘗試每個選項。

她開始選擇了用於訓練模型的資料。接著,她使用MATLAB訓練所有可能的模型 – MATLAB產生一個模型清單,對每個模型進行訓練,並顯示其全體準確率成效圖

Classification Learner (分類學習器)

基於這些結果,Sanahuja博士選擇了二次支援向量機(quadratic support vector machine),作為該專案的最佳模型。該模型準確度約為90-95%,甚至能夠檢測出我們察覺脆度不同的微小差異。


在下一個範例中,工程師使用深度學習來解決複雜的影像辨識問題。從頭開始訓練深度學習網路需要大量資料。但是透過使用遷移學習(transfer learning),工程師即使只有有限的資料也能夠應用深度學習。

透過深度學習實現高效隧道開挖

日本建築公司大林組株式會社(Obayashi Corporation)採用了一種名為新奧工法(New Austrian Tunneling Method)的挖掘技術。地質學家透過在挖掘過程中監測隧道洞門的強度,評估各種指標,如裂縫間距等。雖然這種方法降低了施工成本,但也有一些侷限性。分析一個現場可能需要幾個小時,因此只能偶爾執行分析。此外,熟練掌握該技術的地質學家也很少。

於是,大林組決定透過深度學習來解決這些侷限性: 根據隧道洞門的影像辨識各種指標,訓練一個深度學習網路。目前最好的深度學習網路已針對數百萬張影像進行訓練,但是大林組只有70幅,如何獲取足夠的資料便成為他們最大的挑戰。

大林組的地質學家首先針對每幅影像標記了三個區域,記錄了每張影像的風化蝕變和斷裂狀態等指標的值。然後他們將這些標記區域劃分為更小的圖片,最終產生約3,000個標記好的影像。由於從頭開始培訓深度學習網路需要大量的時間、專業知識和影像,因此他們選擇透過遷移學習建立一個以預先訓練的深度學習網路模型AlexNet為基礎的自訂網路。

AlexNet已經接受了數百萬幅影像的訓練,可以識別食物、家居用品和動物等常見物體,但是還無法透過隧道的圖片來解釋地質條件。利用遷移學習,大林組的工程師只重新訓練了AlexNet的一小部分,令其根據隧道的圖片來估算地質條件。

遷移學習工作流程

到目前為止,經大林組重新訓練的網路已可評估風化蝕變和斷裂狀態,預測準確度將近於90%。

將AI整合到完整的工程系統中

根據之前提到的範例,我們可以看到,即便您沒有AI 開發經驗或缺少資料,您也可以使用MATLAB建立和訓練機器學習模型或深度學習網路。當然,工作並未就此結束。在大多數情況下,您需要將模型整合到更大的系統中。

我們的最後一個例子彙集了建構AI系統並將其整合到生產系統所需的所有元素。

自動化農業收割機裝填操作

凱斯紐荷蘭公司(Case New Holland,)的大型FR9000系列牧料收割機能夠以每小時300噸以上的輸送量收割玉米、牧草和其他作物,同時將作物切割成短至4毫米的碎片。除了轉向和保持最佳速度之外,收割機操作員還必須將作物流引導到拖車中,並監控其填充水準。由於需要同時專注於駕駛和填充任務,複雜的工作變得更加困難。

他們無法在實驗室中複製複雜的操作條件。並且由於收穫季節太短,也無法在現場進行廣泛的原型設計。於是,他們將AI演算法導入他們的Simulink系統模型中,並在桌面上執行閉合迴路(Closed-loop)模擬系統,並使用3D場景模擬器來模擬現場條件。

凱斯紐荷蘭公司模擬框架的簡圖
凱斯紐荷蘭公司模擬框架的簡圖
模擬結果。左:收割機吊杆和拖車。右上:攝影機結果。 右下:距離和填充水準。
模擬結果。左:收割機吊杆和拖車。右上:攝影機結果。 右下:距離和填充水準。

使用桌面模擬進行功能測試後,他們就將具有電腦視覺和控制方法的筆記型電腦放入正在工作的收割機中,根據操作人員的回饋即時調整AI演算法。

他們透過控制器模型產生C程式碼,並將其轉碼到收割機用於執行顯示面板軟體的ARM®9處理器之中。

操作人員報告指出,該系統的執行狀況與在筆記型電腦上執行模擬時一樣。New Holland IntelliFill™系統現已在FR9000系列牧料收割機上導入使用。

總結

有了MATLAB,就算您沒有機器學習的經驗,也可以使用人工智慧。您可以使用應用程式快速嘗試不同的方法,並應用您的專業知識來準備資料。

如果無法辨識資料中的特徵,您可以使用深度學習,讓它在訓練過程中為您辨識特徵。深度學習需要大量資料,但您可以使用遷移學習來擴展現有網路以使用您手邊的資料。

最後,您可以將模型作為完整AI系統的一部分轉碼到嵌入式設備上。

1 《人工智慧的真相》發表於2018年3月在Gartner資料與分析峰會上。