现代工业环境充满了传感器和智能组件,所有这些设备一起产生了丰富的数据。当今大多数工厂尚未深入开发的这些数据,为各种令人兴奋的新应用提供了动力。事实上,据 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 流程?是否有记录设备故障的维修数据库?
- 它适合无监督机器学习吗?
最后,这里有一些技巧可以帮助确保成功:
- 在开始项目之前做好功课并制定策略。
- 从小处着手,以较小的规模解决错误。
- 请确保解决方案是可扩展的,您应该不会希望最终陷入试点项目的炼狱。
- 考虑与合作伙伴合作。所有类型的机器学习都需要专业知识。寻找合适的工具和合作伙伴来实现自动化。不要重新发明轮子。您可以付费在内部培养必要的技能,也可以将您的资源用于提供您最擅长的产品和服务,同时让合作伙伴和生态系统处理繁重的工作。
在工业环境中收集的数据可能是一种宝贵的资源,但只有在适当利用的情况下。无监督机器学习可以成为分析数据集以提取可操作见解的强大工具。采用该技术可能具有挑战性,但它可以在充满挑战的世界中提供显着的竞争优势。