機器視覺(jué)-今日洞察和未來(lái)展望
NI供稿
本文引用地址:http://dyxdggzs.com/article/201802/375368.htm為了比競爭對手更好地服務(wù)其目標客戶(hù),當今的嵌入式設計團隊正在尋求機器學(xué)習(ML)和深度學(xué)習(DL)等新技術(shù),以便在有限的資源下按時(shí)向市場(chǎng)開(kāi)發(fā)和部署復雜的機器和設備。借助這些技術(shù),團隊可以使用數據驅動(dòng)的方法構建復雜的單系統或多系統模型。 ML和DL算法不是使用基于物理學(xué)的模型來(lái)描述系統的行為,而是透過(guò)數據推斷出系統的模型。 傳統ML算法適用于處理數據量相對較小且問(wèn)題的復雜度較低的情況。 但如果是像自動(dòng)駕駛汽車(chē)這樣的大數據問(wèn)題呢? 解決這個(gè)挑戰需要采用DL技術(shù)。 本文介紹了這種新興技術(shù)將如何推動(dòng)我們進(jìn)入控制設計和工業(yè)物聯(lián)網(wǎng)(IIoT)應用的下一個(gè)時(shí)代。
1 ML技術(shù)在工業(yè)資產(chǎn)狀態(tài)監測中的應用
首先考慮機器學(xué)習(ML)技術(shù)在工業(yè)資產(chǎn)狀態(tài)監測中的應用。 ML有助于將基于狀態(tài)的監測應用從被動(dòng)維護和預防性維護轉變?yōu)轭A測性維護。 這些技術(shù)常用于檢測異常行為和診斷問(wèn)題,并在一定程度上預測電機、水泵和渦輪機等工業(yè)資產(chǎn)的剩余使用壽命。
基于ML的模型開(kāi)發(fā)和部署流程如圖1所示。
圖1 基于機器學(xué)習的分析流程
看看這個(gè)工作流程是如何用來(lái)監控電機的健康狀況的。 數據是從加速度計、熱電偶和連接到電機的電流傳感器等多種類(lèi)型的傳感器采集而來(lái)。 特征工程步驟通常由兩部分組成: 特征提取和特征約簡(jiǎn)。 特征提取用于從原始數據(或波形)中導出有助于了解資產(chǎn)健康情況的信息。 例如,來(lái)自電機的電流信號的頻譜中嵌入了可用于檢測故障的信息,如圖2所示。頻譜中不同頻帶上的平均振幅可用作為從電流信號中提取的特征。 從多個(gè)傳感器提取的特征可能包含冗余信息。 可以使用主成分分析(PCA)等特征約簡(jiǎn)方法來(lái)減少最終用于建立模型的特征的數量。 特征的數量減少,意味著(zhù)要使用的ML模型的復雜性降低了。 減少的特征集表示為向量(或數組),并輸入到ML算法中,ML算法將用于模型創(chuàng )建步驟。 模型創(chuàng )建和驗證是一個(gè)迭代過(guò)程,在這個(gè)過(guò)程中,您可以嘗試使用幾種ML算法,并選擇最適合您應用的算法。
圖2 對電機電流信號進(jìn)行特征約簡(jiǎn)
圖 3 特征工程
無(wú)監督的ML算法(如高斯混合模型(GMM))可用于模擬電機的正常行為,并檢測電機何時(shí)開(kāi)始偏離其基線(xiàn)。 無(wú)監督的方法不需要標記數據就可以發(fā)現數據中的隱藏模式。 無(wú)監督的技術(shù)主要用來(lái)檢測電機的異常,監督算法則用于檢測異常的原因。 在有監督的方法中,算法以輸入數據和期望輸出的組合表示。 這個(gè)數據稱(chēng)為標簽數據。 算法會(huì )學(xué)習函數將輸入映射到輸出。 用于訓練ML算法的數據包含在正常和錯誤條件下提取的特征。 使用表示電機狀態(tài)的標簽可清楚地標識特征。 常用的監督ML算法包括支持向量機(SVM)、邏輯回歸和人工神經(jīng)網(wǎng)絡(luò )。
傳統ML技術(shù)面臨的挑戰是特征提取過(guò)程。 這個(gè)過(guò)程需要專(zhuān)業(yè)的領(lǐng)域知識,而且非常容易出錯,通常是ML工作流程中的故障點(diǎn)。 因此現在越來(lái)越多人采用DL算法,因為它們無(wú)需使用特征工程步驟。 從傳感器采集的數據(原始測量數據)可以直接輸入到DL算法中,如下所示。
圖4 深度學(xué)習工作流程
DL算法基于人工神經(jīng)網(wǎng)絡(luò )。 人工神經(jīng)網(wǎng)絡(luò )學(xué)習算法受到生物神經(jīng)網(wǎng)絡(luò )的結構和功能的啟發(fā)。 這些算法采用相互連接的計算節點(diǎn)(人工神經(jīng))組的形式結構,而計算節點(diǎn)采用層的結構形式。 第一層稱(chēng)為輸入層,作為與輸入信號或數據的連接接口。 最后一層是輸出層,該層中的神經(jīng)元輸出最終的預測或決定。 在輸入層和輸出層之間,有一個(gè)或多個(gè)隱藏層(圖5)。 每一層的輸出通過(guò)加權連接的方式連接到下一層的節點(diǎn)。 神經(jīng)網(wǎng)絡(luò )通過(guò)修改這些權重來(lái)學(xué)習輸入和輸出之間的映射。 通過(guò)使用多個(gè)隱藏層,DL算法可以學(xué)習需要從輸入數據中提取的特征,而不需要將特征明確地輸入到學(xué)習算法中。 這就稱(chēng)為特征學(xué)習。
圖5 前饋人工神經(jīng)網(wǎng)絡(luò )
2 IIoT中應用DL需要考慮的因素
深度學(xué)習最近在IIoT應用中取得了成功,主要歸功于更強大的硬件計算能力、龐大的標記訓練數據庫、學(xué)習算法和網(wǎng)絡(luò )初始化的突破性進(jìn)展以及開(kāi)源軟件框架的可用性。
以下是使用此技術(shù)設計系統的一些主要考慮因素。
拓撲結構-深度學(xué)習是一個(gè)不斷發(fā)展的領(lǐng)域,目前有許多網(wǎng)絡(luò )拓撲已經(jīng)得到應用[1]。 接下來(lái)將討論其中一些有望用于控制和監測IIoT應用的網(wǎng)絡(luò )。
· 完全連接的深度神經(jīng)網(wǎng)絡(luò )通過(guò)許多隱藏層完全連接人工神經(jīng)網(wǎng)絡(luò )(因此稱(chēng)為深度神經(jīng))。 這些網(wǎng)絡(luò )都是出色的函數逼近器,比如,可以用于電力電子控制的應用。 如果要使用深層網(wǎng)絡(luò )來(lái)構建控制器,可以使用要控制的系統的仿真模型來(lái)生成訓練數據。 借此,您可以探索使用傳統方法通常難以控制的狀態(tài)(邊界/轉角條件)。
· 卷積神經(jīng)網(wǎng)絡(luò )設計為可利用輸入圖像或語(yǔ)音信號等輸入信號的二維結構。 卷積網(wǎng)絡(luò )由一個(gè)或多個(gè)卷積層(濾波層)組成,隨后是完全連接的多層神經(jīng)網(wǎng)絡(luò )。 這些網(wǎng)絡(luò )可成功檢測圖像中的缺陷以及識別對象, 現已應用到先進(jìn)駕駛員輔助系統中的場(chǎng)景理解。
· 遞歸神經(jīng)網(wǎng)絡(luò )(RNN)采用的是基于順序(或歷史)信息進(jìn)行預測的算法。 這些網(wǎng)絡(luò )適用于時(shí)間序列分析。 傳統的神經(jīng)網(wǎng)絡(luò )假定所有的輸入(和輸出)在時(shí)間或到達順序上是相互獨立的。 RNN記錄的是狀態(tài)信息,能夠存儲關(guān)于過(guò)去的信息,并使用當前已計算的信息進(jìn)行下一個(gè)預測。 在IIoT應用中,RNN有助于學(xué)習歷史行為,并根據歷史行為來(lái)預測未來(lái)事件,如資產(chǎn)的剩余使用壽命(RUL)。 長(cháng)短期記憶(LSTM)網(wǎng)絡(luò )非常適用于這類(lèi)應用。[2]
· 深度強化學(xué)習(DRL)適用于設計在復雜動(dòng)態(tài)環(huán)境中運行的自適應控制系統。 比如控制倉庫操作機器人,這些機器人必須動(dòng)態(tài)適應新任務(wù)。 以強化學(xué)習為基礎的控制器通過(guò)執行任務(wù)后所獲得的獎勵來(lái)一步步完成目標。 例如,控制器接收顯示機器人手臂當前位置的攝像機圖像,并通過(guò)圖像中的信息學(xué)習如何將手臂移近目標。[3] 基于DL的控制器可以使用機器人模擬器或通過(guò)觀(guān)察操作中的機器人來(lái)進(jìn)行訓練。
圖6 用于機器人控制應用的深度強化學(xué)習
訓練 - 深度神經(jīng)網(wǎng)絡(luò )需要大量的訓練數據,最好包括網(wǎng)絡(luò )要學(xué)習的所有不同狀態(tài)或條件的數據。 對于大多數應用來(lái)說(shuō),可用的數據主要來(lái)自系統的正常工作狀態(tài),僅對其他狀態(tài)的數據進(jìn)行少量的采樣。 數據增強技術(shù)可改善數據中的這一不平衡性,您可以從已有的少量樣本為基礎,通過(guò)轉換數據創(chuàng )建更多合成版本。 您也可以使用系統的仿真模型來(lái)創(chuàng )建訓練數據。 另一個(gè)挑戰是要采集訓練這些網(wǎng)絡(luò )所需的龐大數據非常困難。 遷移學(xué)習可以解決這個(gè)問(wèn)題。 借助遷移學(xué)習,您可以以一個(gè)預先訓練的神經(jīng)網(wǎng)絡(luò )為起點(diǎn)(大多數DL軟件框架提供了經(jīng)過(guò)完全訓練的模型,而且可供下載),并使用應用程序中的數據對其進(jìn)行微調。
硬件—訓練深度網(wǎng)絡(luò )對處理性能的要求非常高。 GPU已經(jīng)成為訓練深度網(wǎng)絡(luò )的主要選擇。 由于高計算性能、大內存、高內存帶寬和多種編程工具選擇,GPU成為最受歡迎的選擇,而且幾乎成為深度網(wǎng)絡(luò )訓練的必需技術(shù)。 此外,FPGA是部署經(jīng)過(guò)訓練的網(wǎng)絡(luò )的理想終端選擇。 FPGA提供了更低的延遲、更高的功效以及更高的確定性,尤其適用于在嵌入式設備上部署這些網(wǎng)絡(luò ),適用于與I/O進(jìn)行緊密循環(huán)操作的控制系統。
軟件 - 深度學(xué)習之所以能夠快速得到應用并獲得成功的一個(gè)原因是有成熟的軟件框架。 一些常見(jiàn)的框架包括TensorFlow、Caffe、Keras和CNTK。[4][5][6][7] 這些框架支持Windows和Linux等不同的操作系統,以及Python和C ++等語(yǔ)言。 這些框架中的大多數還可支持實(shí)現最新的DL網(wǎng)絡(luò )或提供相關(guān)的示例, 而且還支持在GPU上學(xué)習。
3結論
深度學(xué)習是人工智能一個(gè)激動(dòng)人心的新方向,有望能夠解決工業(yè)控制設計應用的下一代問(wèn)題。 深度學(xué)習的一個(gè)快速入門(mén)方法是下載上面提到的開(kāi)源框架,并使用教程示例動(dòng)手進(jìn)行操作實(shí)踐。 從與您應用程序類(lèi)似的示例開(kāi)始,并使用遷移學(xué)習快速運行。
評論