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