?無監督機器學習如何使工業自動化受益?
現代工業環境充滿了傳感器和智能組件,所有這些設備一起產生了豐富的數據。當今大多數工廠尚未深入開發的這些數據,為各種令人興奮的新應用提供了動力。事實上,據 IBM 稱,平均每個工廠每天都會產生 1TB 的生產數據。然而,只有大約 1% 的數據被轉化為可操作的見解。
機器學習 (ML) 是一項基礎技術,旨在利用這些數據并釋放大量價值。使用訓練數據,機器學習系統可以建立數學模型來教一個系統在沒有明確指令的情況下執行特定任務。
ML 使用對數據起作用的算法在很大程度上無需人工干預即可做出決策。工業自動化領域最常見的機器學習形式是監督機器學習,它使用人類標記的大量歷史數據來訓練模型(即人類監督算法的訓練)。
這對于軸承缺陷、潤滑故障或產品缺陷等眾所周知的問題非常有用。監督機器學習的不足之處在于無法獲得足夠的歷史數據,標記過于耗時或昂貴,或者用戶不確定他們在數據中尋找的確切內容。這就是無監督機器學習發揮作用的時候。
無監督機器學習旨在使用擅長識別模式和查明數據異常的算法對未標記的數據進行操作。正確應用的無監督機器學習服務于各種工業自動化用例,從狀態監測和性能測試到網絡安全和資產管理。
監督學習vs.無監督學習
監督機器學習比無監督機器學習更容易執行。使用經過適當訓練的模型,它可以提供非常一致、可靠的結果。有監督的機器學習可能需要大量歷史數據--正如包含所有相關案例所需要的那樣,即,為了檢測產品缺陷,數據需要包含足夠數量的有缺陷產品案例。標記這些海量數據集可能既耗時又昂貴。此外,訓練模型是一門藝術。它需要大量數據,經過適當的整理,才能產生良好的結果。
如今,使用 AutoML 等工具對不同的 ML 算法進行基準測試,這一過程得到了顯著簡化。同時,過度約束訓練過程可能會導致模型在訓練集上運行良好,但在實際數據上效果不佳。另一個關鍵缺點是監督機器學習在識別數據中的意外趨勢或發現新現象方面不是很有效。對于這些類型的應用程序,無監督機器學習可以提供更好的結果。
常見的無監督機器學習技術
與監督機器學習相比,無監督機器學習僅對未標記的輸入進行操作。它為數據探索提供了強大的工具,無需人工幫助即可發現未知模式和關聯。對未標記數據進行操作的能力可以節省時間和金錢,并使無監督機器學習能夠在生成輸入后盡快對數據進行操作。
不利的一面是,無監督機器學習比監督機器學習更復雜。它更昂貴,需要更高水平的專業知識,并且通常需要更多數據。它的輸出往往不如有監督的 ML 可靠,并且最終需要人工監督才能獲得最佳結果。
無監督機器學習技術的三種重要形式是聚類、異常檢測和數據降維。
聚類
顧名思義,聚類涉及分析數據集以識別數據之間的共享特征并將類似的實例組合在一起。因為聚類是一種無監督的 ML 技術,所以算法(而不是人類)決定了排序的標準。因此,聚類可以帶來令人驚訝的發現,并且是一種出色的數據探索工具。
舉一個簡單的例子:想象三個人被要求在一個生產部門對水果進行分類。一種可能按水果類型排序--柑橘、核果、熱帶水果等;另一種可能按顏色排序;而第三種可能按形狀排序。每種方法都突出了一組不同的特征。
聚類可以分為多種類型。最常見的是:
互斥聚類(Exclusive Clustering):一個數據實例被獨占分配給一個集群。
模糊或重疊聚類(Fuzzy Clustering):一個數據實例可以分配給多個集群。例如,橘子既是柑橘類水果,也是熱帶水果。在對未標記數據進行操作的無監督 ML 算法的情況下,可以分配數據塊正確屬于 A 組與 B 組的概率。
層次聚類(Hierarchical clustering):該技術涉及構建聚類數據的分層結構,而不是一組聚類。橘子是柑橘類水果,但它們也包含在較大的球形水果組中,可以進一步被所有水果組吸收。
讓我們看一組最流行的聚類算法:
- K-均值
K 均值(K-means)算法將數據分類到 K 聚類中,其中 K 的值由用戶預設。在過程開始時,算法隨機分配 K 個數據點作為 K 個聚類的質心。接下來,它計算每個數據點與其聚類的質心之間的均值。這會導致將數據訴諸集群。此時,算法重新計算質心并重復均值計算。它重復計算質心和重新排序聚類的過程,直到它到達一個恒定的解(參見圖1)。
圖 1:K-means 算法將數據集劃分為 K 個集群,首先隨機選擇 K 個數據點作為質心,然后在集群中隨機分配剩余的實例。
K-means算法簡單高效。它對于模式識別和數據挖掘非常有用。不利的一面是,它需要一些數據集的高級知識來優化設置。它也受到異常值的不成比例的影響。
- K-中值
K-中值(K-median)算法是 K-means 的近親。它使用基本相同的過程,只是它不是計算每個數據點的平均值,而是計算中值。因此,該算法對異常值不太敏感。
以下是聚類分析的一些常見用例:
- 聚類對于細分等用例非常有效。這通常與客戶分析相關聯。它還可以應用于資產類別,不僅用于分析產品質量和性能,還可用于識別可能影響產品性能和使用壽命的使用模式。這對于管理資產"車隊"的OEM公司很有幫助,例如智能倉庫中的自動化移動機器人或用于檢查和數據收集的無人機。
- 它可以作為圖像處理操作的一部分用于圖像分割。
- 聚類分析還可用作預處理步驟,以幫助為受監督的 ML 應用程序準備數據。
異常檢測
異常檢測對于從缺陷檢測到狀態監控再到網絡安全的各種用例至關重要。這是無監督機器學習中的一項關鍵任務。在無監督機器學習中會使用多種異常檢測算法,讓我們來看看兩個最受歡迎的:
- 隔離森林算法
異常檢測的標準方法是建立一組正常值,然后對每條數據進行分析,看它是否偏離正常值以及偏離多少。在處理 ML 中使用的那種海量數據集時,這是一個非常耗時的過程。隔離森林(Isolation forest)算法采用相反的方法。它將異常值定義為與數據集中的其他實例既不常見又非常不同。因此,它們更容易與其他實例上的其余數據集隔離開來。
隔離森林算法的內存需求最小,所需時間與數據集的大小呈線性關系。他們可以處理高維數據,即使它涉及不相關的屬性。
- 局部異常因子 (LOF)
僅通過與質心的距離來識別異常值的挑戰之一是,距離小集群短距離的數據點可能是異常值,而距離大集群看似很遠的點可能不是。LOF 算法就是為了做出這種區分而設計的。
LOF 將異常值定義為局部密度偏差遠大于其相鄰數據點的數據點(參見圖 2)。盡管與 K-means 一樣,它確實需要提前進行一些用戶設置,但它可能非常有效。當用作半監督算法并僅在正常數據上進行訓練時,它也可以應用于新穎性檢測。
圖 2:局部異常值因子 (LOF) 使用每個數據點的局部密度偏差來計算異常分數,從而區分正常數據點和異常值。
以下是異常檢測的幾個用例:
- 預測性維護:大多數工業設備經久耐用,停機時間最短。因此,可以使用的歷史數據通常很有限。因為無監督 ML 即使在有限的數據集中也可以檢測到異常行為,它可以潛在地識別這些情況下的發展缺陷。在這里,它也可用于車隊管理,提供缺陷預警,同時最大限度地減少需要審查的數據量。
- 質量保證/檢驗:操作不當的機器可能會生產出不合格的產品。無監督機器學習可用于監控功能和流程以標記任何異常情況。與標準 QA 流程不同,它可以在沒有標簽和培訓的情況下做到這一點。
- 圖像異常的識別:這在醫學成像中特別有用,可以識別危險的病理。
- 網絡安全:網絡安全的最大挑戰之一是威脅在不斷變化。在這種情況下,通過無監督 ML 進行異常檢測可能非常有效。一種標準的安全技術是監控數據流。如果通常向其他組件發送命令的 PLC 突然開始接收來自非典型設備或 IP 地址的穩定命令流,這可能表示入侵。但是,如果惡意代碼來自受信任的來源(或不良行為者欺騙受信任的來源)怎么辦?無監督學習可以通過在接收命令的設備中尋找非典型行為來檢測不良行為者。
- 測試數據分析:測試在設計和生產中都起著至關重要的作用。所涉及的兩個最大挑戰是所涉及的數據量巨大,以及在不引入固有偏見的情況下分析數據的能力。無監督機器學習可以解決這兩個挑戰。當測試團隊甚至不確定他們在尋找什么時,它在開發過程或生產故障排除中可能是一個特別的好處。
降維
機器學習基于大量數據,而且通常數量非常巨大。可以篩選到十個到幾十個特征的數據集是一回事。具有數千個特征的數據集(它們肯定存在)可能是壓倒性的。因此,ML 的第一步可以是降維以將數據減少到最有意義的特征。
用于降維、模式識別和數據探索的常用算法是主成分分析 (PCA)。對該算法的詳細討論超出了本文的范圍。可以說它可以幫助識別相互正交的數據子集,即它們可以從數據集中刪除而不影響主要分析。PCA 有幾個有趣的用例:
- 數據預處理:談到機器學習,人們常說的理念是越多越好。也就是說,有時更多就是更多,特別是在無關/冗余數據的情況下。在這些情況下,無監督機器學習可用于刪除不必要的特征(數據維度),加快處理時間并改善結果。在視覺系統的情況下,無監督機器學習可用于降噪。
- 圖像壓縮:PCA 非常擅長降低數據集的維數,同時保留有意義的信息。這使得該算法非常擅長圖像壓縮。
- 模式識別:上面討論的相同功能使 PCA 可用于面部識別和其他復雜圖像識別等任務。
無監督機器學習并不比監督機器學習更好或更差。對于正確的項目,它可能非常有效。也就是說,最好的經驗法則是保持簡單,因此通常僅在監督機器學習無法解決的問題上使用無監督機器學習。
思考下面是幾個問題,以確定哪種機器學習方式最適合您的項目:
- 問題是什么?
- 什么是商業案例?量化的目標是什么?該項目將多快帶來投資回報?這與監督學習或其他更傳統的解決方案相比如何?
- 有哪些類型的輸入數據可用?你有多少?它與您要回答的問題相關嗎?是否有已經產生標記數據的流程,例如,是否有識別有缺陷產品的 QA 流程?是否有記錄設備故障的維修數據庫?
- 它適合無監督機器學習嗎?
最后,這里有一些技巧可以幫助確保成功:
- 在開始項目之前做好功課并制定策略。
- 從小處著手,以較小的規模解決錯誤。
- 請確保解決方案是可擴展的,您應該不會希望最終陷入試點項目的煉獄。
- 考慮與合作伙伴合作。所有類型的機器學習都需要專業知識。尋找合適的工具和合作伙伴來實現自動化。不要重新發明輪子。您可以付費在內部培養必要的技能,也可以將您的資源用于提供您最擅長的產品和服務,同時讓合作伙伴和生態系統處理繁重的工作。
在工業環境中收集的數據可能是一種寶貴的資源,但只有在適當利用的情況下。無監督機器學習可以成為分析數據集以提取可操作見解的強大工具。采用該技術可能具有挑戰性,但它可以在充滿挑戰的世界中提供顯著的競爭優勢。