當前位置:
首頁 > 最新 > 機器學習之於IOT淺見

機器學習之於IOT淺見

為了更好地服務於目標客戶, 嵌入式設計團隊也在研究新技術, 如機器學習和深度學習。 深度學習允許這些設計師以有限的資源更快地開發和部署複雜的系統和設備。 通過這些技術, 設計團隊可以使用數據驅動的方法建立系統或複雜的系統模型。

機器學習和深度學習不是用基於物理的模型來描述系統的行為, 而是從數據推導出系統的模型。當需要處理的數據量相對較小, 而且問題的複雜性較低時, 傳統的機器學習演算法是有用的。但是, 如果有更多的數據, 比如無人機, 那麼更大的問題又如何呢? 這個挑戰需要深度學習技術。 這種技術將把我們推向下一個控制設計和物聯網應用的時代。

機器學習在工業資產中的應用

首先, 考慮機器學習技術在工業資產狀態監測中的應用。機器學習將基於條件的監測應用從被動和預防性維護的時代過渡到預測性維護。 這些技術用來檢測異常行為, 診斷問題, 並在某種程度上預測了工業資產的剩餘使用壽命, 比如馬達, 水泵和渦輪機等等。

基於機器學習開發和部署模型的工作流程如圖1所示:

圖1 分析工作流程與機器學習

看看這個流程是如何用來監測馬達健康狀況的。數據來自於多種類型的感測器, 如加速度計, 熱電偶和電動機上的電流感測器等。 特徵工程通常由兩部分組成: 特徵提取和特徵提煉(圖2)。

圖2 特徵工程

特徵提取是用來從原始數據(或波形)中獲取有用信息, 以了解資產的健康狀況。例如, 從電動機發出的電流信號的頻譜包含了可用於檢測故障的信息, 如圖3所示。 頻譜中不同頻段的平均振幅可以作為從當前信號中提取的特徵。 從多個感測器中提取的特徵可能有冗餘信息。

圖3 從電機電流信號中提取特徵

一種特徵提煉的方法是主成分分析(PCA) , 可以用來減少最終用於構建模型的特性數量。、特徵數量的縮減可以減少所使用機器學習模型的複雜性。縮減的特徵集被表示為向量(或數組) , 並輸入到模型使用的機器學習演算法中。

機器學習的類型

模型創建和驗證是一個迭代過程, 通過這個過程, 可以實驗幾種機器學習演算法, 並選擇最適合目標應用的演算法。一種非監督的機器學習演算法, 如高斯混合模型(GMM) , 可以用來模擬電機的正常行為, 並檢測電機何時開始偏離其基線。 非監督的方法有利於發現數據中隱藏的模式, 而無需對數據進行標記。

雖然非監督學習可以用來檢測馬達中的異常, 而監督學習則需要檢測異常的原因。 在監督學習中, 提出了一對輸入數據和所需輸出的演算法。這些數據被稱為標記數據。該演算法是將輸入映射到輸出的函數。用於訓練機器學習演算法的數據包括在正常和錯誤條件下提取的特徵。 這些特特徵是用一組標籤來清楚地標識出馬達的狀態。 支持向量機、 Logit模型和人工神經網路是常用的監督式機器學習演算法。

對傳統機器學習技術的挑戰是特徵提取過程。 這是一個脆弱的過程, 需要領域專家的知識, 通常是機器學習工作流程中的勝負關鍵。

向深度學習工作流程的邁進

深度學習演算法最近越來越流行, 可能是因為它們不再需要特徵工程步驟。從感測器獲得的數據(原始測量)可以直接輸入 DL 演算法, 如圖4所示。

圖4 深度學習的工作流程

深度學習演算法是基於人工神經網路的。人工神經網路演算法受到了生物神經網路結構和功能方面的啟發。這些演算法的結構形式是由一組相互連接的計算節點(人工神經元)組成的層次結構。 第一層被稱為輸入層, 它是輸入信號或數據的介面。最後一層是輸出層, 這一層中神經元輸出最終的預測或結果。

在輸入和輸出層之間, 有一個或多個隱藏層(圖5)。 一層的輸出通過加權後連接到下一層的節點。網路通過修改這些權重來學習輸入和輸出之間的映射。通過使用多個隱藏層, 深度學習演算法從輸入數據中提取特徵, 而不需要明確地將特徵輸入到演算法中。 這被稱為"特徵學習"。

圖5 前饋人工神經網路

面向深度學習的系統設計

深度學習最近在軟體應用領域取得了成功, 主要是因為技術部件的成熟, 比如硬體中的計算能力增強, 大量的訓練數據被標記, 學習演算法和網路初始化方面的突破, 以及開放源碼軟體框架的可用性。

下面是用深度學習系統的主要考慮因素。


深度學習是一個不斷發展的領域, 目前正在使用許多網路拓撲[1]。其中一些網路顯示了對控制和監控物聯網應用的承諾:

深層神經網路(Deep Neural Network, DNN)是一種完全連接的人工神經網路, 具有許多隱藏層(因此深層)。 這些網路是極好的函數逼近器, 例如, 可用於電力行業中電子控制的應用。控制系統的模擬模型可用於使用深度網路構建控制器, 並生成訓練數據。通過這種方法, 可以探索通常難以使用傳統方法控制的狀態(邊界/交叉條件)

卷積神經網路(Convolutional Neural Network, 簡稱 CNN)是利用輸入信號的二維結構, 如輸入圖像或語音信號。一個卷積網路由一個或多個卷積層(過濾層)組成, 然後是一個完全連接的多層神經網路。 這些網路在成像和目標識別中的缺陷檢測等問題上取得了成功。它們也被用於駕駛員援助系統(ADAS)中的場景。

循環神經網路(Recurrent Neural Network, RNN)是基於利用順序(或歷史)信息進行預測的演算法。這些網路有利於時間序列分析。傳統的神經網路假設所有的輸入(和輸出)在時間或到達的順序上相互獨立。記錄狀態信息, 存儲過去的信息, 並使用迄今為止計算出來的信息進行下一個預測。 在物聯網應用中, RNN有利於學習歷史行為, 並用於預測未來的事件, 例如資產的剩餘使用壽命。 長短期記憶(LSTM)網路也適用於這類應用[2]。

深度強化學習(DRL)對於在複雜動態環境中運行的自適應控制系統是有好處的。 考慮控制在倉庫操作中部署的機器人, 這些機器人必須動態地適應新的任務。 以強化學習為基礎的控制者學習一項任務時, 它們通過執行一個動作, 使他們更接近目標而獲得的獎勵。例如, 控制器接收來自攝像機的圖像, 該照片顯示了機器人手臂的當前位置, 並利用圖像中的信息來學習如何將手臂移近目標(圖6)[3]。 基於DLC的控制器可以通過機器人模擬器或者通過觀察實際的機器人來訓練。

圖6 機器人控制應用的深度強化學習


DNN需要大量的訓練數據, 這些數據最好包括來自學習所需要的所有不同狀態或條件的數據。對於大多數應用而言, 現有數據主要來自系統的正常工作狀態, 其中包括從其他狀態獲取的少量數據。

數據增強/泛化是一種用來改善數據不平衡的技術, 可以從現有的小樣本集開始, 通過數據轉換創建額外的合成版本,還可以使用該系統的模擬模型來創建訓練數據。

另一個挑戰是難以收集訓練這些網路所需的大量數據。轉移學習是可以用來緩解這個問題的方法之一。 使用轉移學習, 可以從預訓練的神經網路開始(大多數深度學習框架提供了可以下載的經過完全訓練的模型) , 並用應用中的數據對其進行微調。


訓練深度網路有著巨大的處理要求。GPU已經成為訓練深度網路的主要選擇。由於計算性能高, 內存大, 以及編程工具的選擇, GPU很有吸引力, 幾乎成為訓練的必要條件。

此外, FPGA是部署訓練網路的良好目標。FPGA提供了更低的延遲, 更好的功率效率,特別是在嵌入式設備上部署這些網路, 用於與I/O緊密操作的控制系統。


快速採用和成功的一個原因是成熟軟體框架的可用性。 一些常見的框架有 TensorFlow, Caffe, Keras 和 Computational Network Toolkit (CNTK)[4,5,6,7]。 這些框架支持不同的操作系統, 如 Windows 和 Linux, 以及 Python 和 C語言。 大多數這些框架都有支持或實例來實施最新的深度網路,也支持GPU的使用。

深度學習: IoT 控制設計的新方向

深度學習是人工智慧領域中一個令人興奮的新方向, 也是解決工業控制設計應用中一個有前途的技術。

快速開始掌握深度學習的方法是下載前面提到的開源框架, 並且用教程示例進行實驗。 從一個類似於應用程序的示例開始, 然後使用轉移學習來快速操作。

References:

Veen, Fjodor Van. "The Neural Network Zoo." The Asimov Institute. October 28, 2016. Accessed September 20, 2017. http://www.asimovinstitute.org/neural-network-zoo/.

"Long short-term memory." Wikipedia. August 27, 2017. Accessed September 20, 2017. https://en.wikipedia.org/wiki/Longshort-termmemory.

Zhang, Fangyi, Jürgen Leitner, Michael Milford, Ben Upcroft, and Peter Corke. "Towards Vision-Based Deep Reinforcement Learning for Robotic Motion Control." [1511.03791] Towards Vision-Based Deep Reinforcement Learning for Robotic Motion Control. November 13, 2015. Accessed September 20, 2017. https://arxiv.org/pdf/1511.03791.pdf.

"TensorFlow." TensorFlow. Accessed September 20, 2017. https://www.tensorflow.org/.

"Caffe." Caffe | Deep Learning Framework. Accessed September 20, 2017. http://caffe.berkeleyvision.org/.

"Keras: The Python Deep Learning library." Keras Documentation. Accessed September 20, 2017. https://keras.io/.

"Video: Unlock deeper learning with the new Microsoft Cognitive Toolkit." Microsoft Cognitive Toolkit. Accessed September 20, 2017. https://www.microsoft.com/en-us/cognitive-toolkit/.

http://www.embedded-computing.com/hardware/machine-learning-now-and-into-the-future


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

機器學習應用程序:如何將AI和ML應用到您的應用程序中
智能駕駛——機器學習環境搭建指南之CPU指南

TAG:機器學習 |