訂閱
糾錯
加入自媒體

機器學習之于IOT淺見

2018-11-27 11:45
喔家archiself
關注

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

圖5 前饋人工神經(jīng)網(wǎng)絡

面向深度學習的系統(tǒng)設計

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

下面是用深度學習系統(tǒng)的主要考慮因素。

拓撲

深度學習是一個不斷發(fā)展的領域, 目前正在使用許多網(wǎng)絡拓撲[1]。其中一些網(wǎng)絡顯示了對控制和監(jiān)控物聯(lián)網(wǎng)應用的承諾:

深層神經(jīng)網(wǎng)絡(Deep Neural Network, DNN)是一種完全連接的人工神經(jīng)網(wǎng)絡, 具有許多隱藏層(因此深層)。 這些網(wǎng)絡是極好的函數(shù)逼近器, 例如, 可用于電力行業(yè)中電子控制的應用?刂葡到y(tǒng)的仿真模型可用于使用深度網(wǎng)絡構建控制器, 并生成訓練數(shù)據(jù)。通過這種方法, 可以探索通常難以使用傳統(tǒng)方法控制的狀態(tài)(邊界/交叉條件)

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

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

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

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

訓練

DNN需要大量的訓練數(shù)據(jù), 這些數(shù)據(jù)最好包括來自學習所需要的所有不同狀態(tài)或條件的數(shù)據(jù)。對于大多數(shù)應用而言, 現(xiàn)有數(shù)據(jù)主要來自系統(tǒng)的正常工作狀態(tài), 其中包括從其他狀態(tài)獲取的少量數(shù)據(jù)。

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

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

硬件

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

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

軟件

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

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

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

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

References:

Veen, Fjodor Van. "The Neural Network Zoo." The Asimov Institute. October 28, 2016. Accessed September 20, 2017.

"Long short-term memory." Wikipedia. August 27, 2017. Accessed September 20, 2017.

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.

"TensorFlow." TensorFlow. Accessed September 20, 2017.

"Caffe." Caffe | Deep Learning Framework. Accessed September 20, 2017.

"Keras: The Python Deep Learning library." Keras Documentation. Accessed September 20, 2017.

"Video: Unlock deeper learning with the new Microsoft Cognitive Toolkit." Microsoft Cognitive Toolkit. Accessed September 20, 2017.

<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號