用声音检测工业设备中的异常的联合学习的制作方法



1.本公开总体上涉及机器学习和iot设备。


背景技术:



2.许多组织可能依赖于企业软件应用,包括例如企业资源规划(erp)软件、客户关系管理(crm)软件等。这些企业软件应用可以提供各种功能,包括例如工厂运营和维护、开发票、采购、薪资管理、时间和出勤管理、招聘和入职、学习和发展、绩效和薪酬、劳动力规划、设备跟踪等。一些企业软件应用可以由云计算平台托管,使得由企业软件应用提供的功能可以被计算设备处的多个终端用户远程访问。例如,企业软件应用可以作为基于云的服务(包括例如软件即服务(saas)等)而可用。


技术实现要素:



3.在一些示例实施例中,可以提供一种方法,该方法包括:在第一边缘节点处接收由中央服务器提供的机器学习模型,该中央服务器被配置为提供在包括第一边缘节点的多个边缘节点之间的联合学习;在第一边缘节点处接收从至少一个音频传感器获得的第一音频数据,该至少一个音频传感器监视位于第一边缘节点处的至少一个机器;在第一边缘节点处训练机器学习模型,该训练基于第一音频数据;响应于该训练,由第一边缘节点向中央服务器提供参数信息,以便使得能够进行在包括第一边缘节点的多个边缘节点之间的联合学习;响应于联合学习,由第一边缘节点接收由中央服务器提供的聚合的机器学习模型;由包括聚合的机器学习模型的第一边缘节点检测至少一个机器的异常状态,该异常状态是基于从至少一个音频传感器接收的第二音频数据检测的;以及由第一边缘节点向中央服务器报告异常状态。
4.在一些变型中,本文公开的包括以下特征的特征中的一个或多个可以可选地包括在任何可行的组合中。参数信息可以包括关于由第一边缘节点训练的机器学习模型的配置信息。配置信息可以包括训练的机器学习模型的一个或多个权重。可以通过至少基于到达时间过滤第一音频数据以至少部分地去除与其他机器相关联的其他音频数据,来预处理第一音频数据。可以通过至少将第一音频数据变换到频域来预处理第一音频数据。机器学习模型可以包括卷积神经网络或生成对抗网络中的至少一个。聚合的机器学习模型可以包括由第一边缘节点提供的参数信息和由多个边缘节点中的其他边缘节点提供的其他参数信息的平均。可以在中央服务器不访问第一边缘节点处的第一音频数据或其他边缘节点处的其他音频数据的情况下生成聚合的机器学习模型。该训练可以还包括提供第一音频数据作为机器学习模型的输入,该第一音频数据包括时间戳信息和指示是否存在异常的标签信息。第一音频数据可以对应于训练机器学习模型的训练数据。第二音频数据可以表示在没有指示异常是否存在的标签信息的情况下的操作数据。
5.还描述了存储指令的非暂时性计算机程序产品(即,物理上体现的计算机程序产品),所述指令当被一个或多个计算系统的一个或多个数据处理器执行时,引起至少一个数
据处理器执行本文的操作。类似地,还描述了可以包括一个或多个数据处理器和耦合到一个或多个数据处理器的存储器的计算机系统。存储器可以临时或永久地存储指令,这些指令引起至少一个处理器执行本文描述的操作中的一个或多个。此外,各方法可以由单个计算系统内或分布在两个或多个计算系统中的一个或多个数据处理器来实施。这种计算系统可以被连接,并且可以经由一个或多个连接(包括通过网络(例如,因特网、无线广域网、局域网、广域网、有线网络等)的连接、经由多个计算系统中的一个或多个之间的直接连接等)来交换数据和/或命令或其他指令等。
6.本文描述的主题的一个或多个变型的细节在附图和下面的描述中阐述。从说明书和附图以及从权利要求中,本文描述的主题的其他特征和优点将是明显的。
附图说明
7.结合在本说明书中并构成其一部分的附图示出了这里公开的主题的某些方面,并且与描述一起帮助解释与公开的实施方式相关联的一些原理。在附图中,
8.图1a-1b示出了根据当前主题的一些实施方式的系统的示例;
9.图2a-2c描绘了根据当前主题的一些实施方式的传感器(诸如声学传感器)的示例;
10.图3描绘了根据当前主题的一些实施方式的机器学习模型的示例,该机器学习模型被配置为基于音频传感器数据来检测异常并确定何时执行维护;
11.图4描绘了根据当前主题的一些实施方式的用户界面的示例;
12.图5a-5b示出了根据当前主题的一些实施方式的过程的示例;和
13.图6是根据当前主题的一些实施方式的系统的另一示例。
具体实施方式
14.工厂和其他类型的设施和工业,诸如采矿、石油和天然气等,可以包括机械,诸如泵、马达、风扇、阀、滑轨、致动器和/或其他类型的机器。有时,这些机器可能需要以更换、调整等形式进行维护。如果维护被执行得过于频繁(诸如在真正需要维护之前),维护会导致不必要的停机。但是,如果维护不够频繁,机器出现意外故障的可能性会越来越大,从而导致意外停机。
15.机器学习可用于学习何时对向机器提供维护。例如,机器学习(ml)模型可以学习确定何时应该对机器执行维护(例如,预测故障已经发生或预测故障即将发生)。在一些情况下,传感器可以用于监视机器,并向ml模型提供传感器数据,使得ml模型学习预测机器何时需要维护以避免例如故障。当ml模型是经训练的时,ml模型可以检测到指示机器需要维护的异常。
16.然而,在基于机器学习的解决方案的情况下,来自正被监视的机器中的一个或多个机器的传感器数据可能导致巨大的数据量,并且可能(如果远程云平台用于托管ml模型)需要超可靠、低延迟的通信来耦合到远程云平台。并且由于正从机器收集的传感器数据的适当性和/或私密本质,终端用户可能不愿意与远程云服务器共享原始传感器数据或者与具有相同或相似类型机器的其他终端用户共享传感器数据。这样,ml模型可能在网络的“边缘”(例如,工厂或被监视的机器所在的位置)处被托管。然而,与受益于来自多个终端用户
位置的更大、更健壮、更大的训练数据集的机器学习模型相比,仅使用工厂或机器处本地可用的传感器数据可能提供用不足的数据集训练并因此训练得不那么健壮的机器学习模型。
17.在一些示例实施例中,提供了一种联合(federated)学习模型,该模型使用维护主机器学习模型、并向边缘节点中的每一个(诸如,如先前示例中所述的机器所在的工厂)提供该主机器学习模型的副本的中央服务器。在边缘节点中的每一个处,主机器学习模型的副本被本地地用作本地机器学习模型。例如,在给定的边缘节点,传感器数据(从监视机器的至少一个传感器本地获得)用于本地训练本地机器学习模型。接下来,边缘节点中的每一个可以向中央服务器提供反馈,诸如本地机器学习模型的参数(例如,用于本地机器模型的配置的权重、梯度和/或其他参数),但是边缘节点不共享本地传感器数据。中央服务器然后可以聚合从边缘节点接收的参数信息,以更新主机器学习模型。参数信息指的是定义ml模型的配置的参数,诸如神经网络的权重。这个更新的主机器学习模型(本文中也称为聚合的学习模型)可以再次被复制并与边缘节点共享(以重复所述过程)。在联合学习中,中央服务器可以汇集(pool)在边缘节点的机器学习模型中的每一个处发生的学习,而中央服务器无需访问给定边缘节点处的本地传感器数据。
18.图1a描绘了根据一些示例实施例的系统100的示例。系统100可以包括可以在云平台180中实施的中央服务器182。中央服务器可以被配置为控制边缘节点中的每一个处的联合学习过程,在该示例中,边缘节点位于工厂112a和工厂112b(尽管其他类型的位置也可以托管边缘节点)。
19.中央服务器182可以耦合到中央数据存储装置184。在一些实施例中,中央服务器可以向边缘节点中的每一个提供主ml模型186的副本,其充当边缘节点中的每一个处的本地ml模型106a-c。这些本地ml模型可以是以下中的一个或多个:预先配置的默认ml模型(例如,已经至少部分训练的ml模型);初始化的本地ml模型(例如,尚未被训练的ml模型,因此ml模型可以具有随机或初始化的设置作为参数);或者主ml模型的更新副本。
20.当工厂112a和112b处的本地边缘节点训练它们的本地ml模型106a-c时,中央服务器182也可以从每个边缘节点接收参数信息,诸如ml模型参数信息或神经网络参数信息(例如,关于正在被训练的本地ml模型或神经网络的权重、梯度和/或其他信息)。如上所述,边缘节点共享描述本地ml模型的配置的参数信息,但是边缘节点不与中央服务器共享本地传感器数据。中央服务器可以处理(例如,聚合、组合、平均等)从边缘节点接收的参数信息。中央服务器可以使用经处理的参数信息来更新主ml模型186。中央服务器然后可以通过向边缘节点中的每一个提供(例如,发布、发送等)更新的主ml模型186,更新的主ml模型186在边缘节点中的每一个处再次用作本地ml模型106a-b,来重复该过程。这个过程可以重复,直到ml模型收敛(converge)(或达到确定何时维护给定机器的阈值准确度)。简而言之,中央服务器负责聚合来自边缘节点中的每一个的参数信息,以便生成主ml模型(其考虑了跨边缘节点发生的训练或学习)。并且,主ml模型用中央服务器训练,该中央服务器具有由边缘节点处的传感器生成的传感器数据输出。
21.中央数据存储装置184可以存储一个或多个主ml模型(以及用于不同类型机器的其他ml模型)、参数信息和/或其他元数据。
22.在一些实施例中,中央数据存储装置可以存储用于特定类型机器的ml模型。例如,中央数据存储装置可以为不同类型的机器存储多个不同的ml模型。在这种情况下,可以由
中央服务器182基于在边缘节点被监视的机器来选择ml模型。例如,可以为作为机器102a被监视的风扇(或特定类型或型号的风扇)选择第一机器学习模型,可以为作为机器102b被监视的泵(或特定类型或型号的泵)选择第二机器学习模型,并且可以为另一泵选择第三本地机器学习模型,等等。
23.云平台180可以被实施为公共云平台(例如,亚马逊网络服务、azure等)和/或经由私有云(例如,专为单个组织运营的云平台)被实施。云平台可以经由网络150b(例如,互联网和/或任何其他类型的通信媒介)耦合到第一工厂112a和第二工厂112b。在图1a的示例中,描绘了边缘网络150a和150b。边缘网络可以对应于接入网络,例如无线局域网(wlan)、wifi网络、5g本地专用蜂窝网络和/或其他类型的网络(包括超可靠、低延迟的边缘网络)。在这个示例中,工厂处的边缘节点由此耦合到边缘网络。尽管图1a描绘了云平台180,但是也可以使用其他类型的处理器平台。
24.在图1a的示例中,第一工厂112a可以包括一个或多个机器,诸如机器102a。机器102a可以对应于任何类型的机器,诸如泵、致动器、钻机、风扇、发电机和/或可以由传感器监视的任何其他类型的机器。
25.机器102a可以由一个或多个传感器监视,诸如传感器104a。例如,传感器104a可以包括测量、得出和/或收集关于机器的数据的传感器,并且该传感器数据可以被本地ml模型106a使用(例如,用于训练(在训练阶段期间)和/或预测(在操作阶段)何时应该对由传感器104a监视的机器102a进行维护)。传感器104a可以包括声音传感器(例如,诸如声学传感器、麦克风等)、温度传感器、压力传感器、换能器和/或任何其他类型的传感器。传感器可以是耦合到计算设备(诸如托管本地机器学习模型106a的训练节点105a)的有线传感器。替代地或附加地,传感器可以是无线耦合到计算设备的无线传感器(例如,iot传感器)。
26.在一些实施例中,训练节点105a可以从传感器104a接收传感器数据,诸如声音数据,将传感器数据保存到数据存储装置108a,用传感器数据训练本地机器学习模型106a,用本地ml模型106a预测异常,以及与工厂服务器110a通信(例如,提供参数信息、关于更新的ml模型的可用性的查询、异常检测信息等)。在一些实施例中,训练节点105a至少托管机器学习模型106a。训练节点105a还可以跟踪是否存在传感器数据(例如,来自传感器104a的音频传感器数据可用于训练本地ml模型106a或生成指示机器102a处异常的异常分数)。训练节点还可以跟踪(例如,查询或接收关于)中央服务器处的更新的机器学习模型的可用性(的通知)。
27.在一些实施例中,传感器104a包括音频传感器,诸如麦克风,其捕获来自诸如工厂112a的位置处的一个或多个机器的声音。此外,传感器104a可以包括多个音频传感器,诸如声学阵列。在诸如具有许多不同声源的工厂的位置,声学阵列可以使得能够进行对接收的声音的源位置的声音定位,从而可以确定从传感器到声音的源位置的方向和距离。例如,声学阵列可以定位源自机器102a的位置的声音。这种定位可以允许来自机器102a的声音被处理,而来自工厂中其他位置的声音(或传感器数据)被过滤掉或忽略。声音定位可以使用到达时分(tdoa)来执行。tdoa可以用来过滤声音以及对声源的位置进行三角测量,尽管也可以使用其他技术。
28.工厂服务器110a可以被配置为从传感器104a接收传感器数据,与训练节点105a协调本地ml模型106a的本地训练,和/或与中央服务器182通信(例如,接收ml模型,提供ml模
型的参数信息,接收更新的ml模型等)。工厂服务器可以向中央服务器发送本地ml模型的参数信息(例如,权重等),和/或向中央服务器查询更新的ml模型。此外,工厂服务器可以接收异常分数和/或异常警报,并且可以将异常分数和/或警报转发给其他计算设备,使得异常分数/警报可以在用户界面处呈现,以指示给定机器处的异常(例如,需要维护)。例如,本地ml模型106a(当被训练时和/或在训练期间)可以发出异常警报,指示(基于来自传感器104a的传感器数据)机器102a可能需要维护。该警报可以在耦合到工厂服务器110a或云平台180的计算设备的用户界面上呈现。该警报还可以用作传感器数据的标签,使得与异常警报的时间相关联的传感器数据可以用于进一步训练本地ml模型106a。在一些情况下,呈现异常警报的用户界面可以请求确认异常警报确实是准确的或者异常警报是错误的(例如,用户界面处的用户选择用户界面元素来确认或拒绝机器的异常警报)。这种确认也可以被提供有标签,以进一步训练本地ml模型。尽管训练节点105a和工厂服务器110a被描述为独立的设备,但是训练节点105a可以被实施为工厂服务器110a的一部分。
29.数据存储装置108a可用于存储传感器数据(其可包括由传感器104a收集的声音数据)、本地ml模型和其他元数据。
30.在一些实施例中,工厂112a可以包括被监视的多个机器102a等。在这种情况下,每个机器,诸如机器102a,可以具有一个或多个传感器104a,诸如声音传感器和/或其他类型的传感器。这些声音传感器,诸如麦克风,可以接收和记录每台机器的声音(或声学传感器数据)。此外,每个机器可以被分配机器学习模型,该机器学习模型训练成基于由机器学习模型接收的传感器数据(诸如声音传感器数据)来确定何时应该维护机器。
31.图1a还描绘了工厂112b,工厂112b也可以包括正由传感器104b-c监视的机器102b-c,以使得能够在训练节点105b-c处训练相应的ml模型106b-c。数据存储装置108b和工厂服务器110b可以以与上面关于数据存储装置108a和工厂服务器110a描述的相同或相似的方式操作。
32.图1b描绘了根据一些示例实施例的系统199。系统199在某些方面类似于系统100,但是示出了一些另外的特征。例如,图1b描绘了计分器(标记为“异常计分器”)122a-b、模型管理器114a-b、聚合器190、仪表板服务195a、仪表板ui 195b、仪表板储存库195c和模型服务192。
33.计分器122a-b(标记为异常计分器)每个计算异常分数。例如,机器学习模型106a可以基于传感器数据来训练。该传感器数据可以由传感器104a收集,然后带有时间戳地被存储在本地数据存储装置108a中。在训练期间,传感器数据可以包括一个或多个标签,诸如如指示异常(例如,机器故障或可以表示故障或故障前兆的其他机器问题)以及异常发生的时间(例如,时间戳)的标签。标记的时间戳数据然后可以用作参考数据来训练本地ml模型106a。
34.例如,当新的传感器数据(例如,用于训练或检测异常)可用时,也可以通知计分器122a。当在中央服务器处更新ml模型时,也可以通知计分器。计分器还可以使用本地ml模型和聚合的ml模型对传感器数据(例如,音频数据)进行计分。计分器可以向中央服务器182或其他设备发送心跳消息(例如,指示机器的异常分数),以使得能够处理心跳消息(例如,为用户界面生成警报)。
35.工厂服务器110a可以包括音频检索器,该音频检索器提供用于接收对音频传感器
数据(或其他类型的传感器数据)的请求的表征状态转移(representation state transfer,rest)端点。该请求可以从用户界面或其他设备接收。音频检索可以响应于该请求,从数据存储装置108a中检索传感器数据(例如,音频片段),并且用传感器数据(诸如,音频数据)来响应该请求。工厂服务器110a可以包括音频馈送器,该音频馈送器被配置为通知系统199(或100)的其他组件,诸如计分器、训练器等,存在可用于处理的新传感器数据(例如,音频片段)。
36.在图1b的示例中,工厂服务器110a包括模型管理器114a。模型管理器可以被通知在训练节点可用的新的本地机器学习模型;将新的本地机器学习模型的参数信息(例如,连接权重)发送124到模型聚合器190;从模型聚合器接收126新的聚合的机器学习模型;向计分器通知新的本地机器学习模型和/或聚合的机器学习模型用于计分;和/或通知本地机器学习模型的训练节点训练停止(off)。
37.当被训练时,本地机器学习模型106a可以从传感器104a接收传感器数据作为输入,并输出是否存在异常的指示。计分器122a可以在消息120中转发异常指示(从本地机器学习模型获得)。该消息120可以是指示机器的标识(例如,机器102a的标识)、时间戳(例如,日期和/或时间)和/或异常指示(例如,其可以指示异常类型)的心跳消息120的形式。例如,本地机器学习模型106a可以接收声音数据(由传感器104a收集),并输出机器102a具有需要立即或在接下来的24小时内维护的风扇叶片的指示。计分器122a可以在心跳消息120中将指示转发给中央服务器182,并且具体地,转发给生成警报的用户界面服务195a,以呈现在正在被分配给(或负责)机器102a的终端用户197查看的用户界面195b(标记为仪表板ui)上。仪表板储存库195c提供用于用户界面195b使用的用户界面元素的储存库。
38.在一些实施例中,发送到聚合器190的心跳消息120包括以下一个或多个:来自本地ml模型的异常分数;来自聚合的ml模型的异常分数;本地ml模型和/或聚合的ml模型的版本的标识;与异常相关联的传感器数据标识符(例如,该标识符可用于在数据存储装置108a处搜索传感器数据);和时间戳。在一些实施例中,机器学习模型生成并提供异常分数作为输出。机器学习模型生成(基于作为机器学习模型的输入提供的传感器数据)异常分数。该异常分数表示关于机器是否处于异常(例如,故障或故障前)状态的可能性、概率或其他指示。
39.在图1b的示例中,机器102a正由被配置为至少监视声音的传感器(诸如传感器104a)监视。例如,传感器104a可以生成代表机器102a发出的声音的信号。该传感器数据(在该示例中是声音传感器数据,或者更简单地,声音数据)可以被提供给训练节点105a。训练节点可以处理来自传感器104a和机器102a的声音数据,以训练本地机器学习模型106a。这种训练可以是连续的,或者不定期发生。这个过程的结果将创建/更新边缘容器中的本地模型。
40.在图1b的示例中,模型管理器192(标记为“聚合模型服务”)存储ml模型,跟踪对ml模型的更新,向边缘节点提供更新的ml模型,并将ml模型存储在中央数据存储装置184中。
41.在图1b的示例中,系统199包括聚合器190。聚合器可以提供对由边缘节点提供的参数信息的聚合。例如,聚合器可以从其中一个或多个本地机器学习模型监视一个或多个特定机器的边缘节点(例如,模型管理器114a)接收(如124所示)参数信息。如上所述,本地机器学习模型中的每一个可以被分配来监视特定类型的机器(例如,泵、特定类型的泵或特
定型号的泵)。当聚合器190接收到来自边缘节点的参数信息时,聚合器可以组合参数信息。例如,在ml模型权重的情况下,聚合器可以通过对权重进行平均,然后将经平均的权重相加来组合权重,以更新主ml模型186。这个更新的主ml模型也可以被称为聚合的ml模型。聚合器190可以将聚合的ml模型发送到模型管理器192、集中式数据存储装置184和/或边缘节点(如126所示)。聚合器190还可以将聚合的ml模型的元数据(例如,聚合的模型的版本信息等)提供到ui仪表板服务195a。
42.聚合器190还可以在主模型被更新(由聚合模型服务)以包括更新的或聚合的权重时通知边缘节点。换句话说,当聚合模型服务192生成更新的聚合的模型时,更新模型的参数信息作为更新被发布到边缘节点,因此边缘节点可以更新它们的本地ml模型。
43.如上所述,系统199可以包括用户界面服务(标记为仪表板服务)195a。用户界面服务处理导致显示在用户界面(诸如,呈现在计算设备上的仪表板(这里诸如可靠性或维护工程师的终端用户可以查看机器的状态))上的动作和/或警报。用户界面服务195a可以生成警报,诸如视觉、音频和/或触觉警报,使得终端用户被警告机器需要维护。警报可以经由用户界面传达给终端用户。
44.如上所述,用户界面服务195a可以提供用户界面,诸如在195b处的仪表板。例如,该仪表板还可以包括关于机器102a处的异常的警报。该仪表板还可以包括与机器102a处的异常相关联的音频。仪表板还可以基于心跳消息提供机器状态的图表。该图表可以包括代表时间的x轴和代表异常分数的y轴。异常分数值越高,机器出现异常的概率越大。
45.仪表板可以提供表示状态(rest)端点,用于从数据存储装置读取设备主数据和配置设置,接收心跳消息(例如,从异常计分器),和/或从聚合器190接收新构建的聚合的机器学习模型的版本/元数据。仪表板195a还可以充当(例如,使得被呈现)终端用户用户界面(例如,来呈现设备主数据、呈现用于来自心跳消息的本地和聚合的机器学习模型的异常分数的趋势的可视化、从边缘节点检索音频片段、和/或呈现可视化)。
46.在一些实施例中,如上所述,传感器104a可以从机器收集声音。该数据可以被记录并存储在数据存储装置中,诸如数据存储装置108a。此外,声音数据可以用指示故障何时发生的时间戳来标记。例如,传感器可以记录来自泵的随时间变化的声音。当在给定时间发生故障时,声音数据可以用给定时间的时间戳来标记。该标记的数据可用于训练机器学习模型。在一些示例实施例中,传感器104a可以包括多个传感器,诸如被配置为定位声音的声音传感器阵列。
47.图2a描绘了麦克风202a-h的阵列的示例。该阵列使得能够进行声音定位。例如,声音记录可以从麦克风阵列200(例如,麦克风202a-h)收集。在图2a的示例中,相同类型的麦克风被使用,并且以等距方式与相邻的麦克风间隔,如图2a所示。虽然图2a描述了特定数量的麦克风,但是也可以使用其他数量的麦克风。
48.图2b描绘了从麦克风阵列200到4种不同类型的机器204a-d的距离和方向。麦克风202a-h可以(例如,连续地和/或间歇地)记录嘈杂的工厂环境中的声音,这些声音在被分段成给定的长度(例如,10秒)(因此每个片段包括用于每个片段的8个单独的通道)。
49.图2c描绘了阵列200的麦克风220a-e中的一些,以说明由多个麦克风提供的声音定位。来自麦克风中的每一个的到达时间差(tdoa)可以用于确定到声源的方向和到声源的距离。
50.从一个或多个传感器(例如,麦克风220a-h)收集的声音可以以包括时间戳的数字格式存储,以使得能够与机器故障进行关联。此外,声音也可以用其他方式处理。例如,诸如傅立叶变换的变换可用于将时域声音信号转换为频域信号,如220a-b所示。例如,当在给定时间发生故障时,频域和/或时域声音数据可标记有给定机器处的故障的时间(例如,时间戳),以训练机器学习模型。
51.图3描绘了根据一些示例实施例的示例ml模型300。ml模型300包括卷积神经网络(cnn),尽管也可以使用其他类型的ml模型(例如,生成对抗网络)。ml模型包括第一最大池化层302、随后是第一卷积层304、随后是第二最大池化层306、随后是第二卷积层308、随后是第三最大池化层310、随后是第三卷积层312、随后是第四最大池化层314和致密层316。ml模型300的输入350a对应于用作特征的传感器数据。ml模型的300输出350b对应于机器处是否存在异常。
52.例如,在ml模型300的训练阶段期间,在350a处提供传感器数据作为输入。该传感器数据可以包括与正常操作的机器相关联的传感器数据和与具有异常的机器相关联的传感器数据。此外,传感器数据可以具有时间信息(例如,时间戳)。在图3的示例中,传感器数据对应于由监视来自机器102a(在该示例中是风扇)的声音的传感器104a(例如,麦克风)捕获的时域声音信息。例如,在风扇的情况下,存在不同类型的工业风扇,因此针对特定子集的风扇(和/或特定型号的风扇)进行训练。传感器104a收集随时间变化的声音(例如,音频)数据,并且在此时间期间机器正常操作(例如,没有异常)和异常操作(例如,有异常)。传感器数据包括正常状态下风扇的音频数据的示例和异常状态下的音频数据的示例。正常和异常声音传感器数据然后在350a处作为输入呈现(连同指示异常状态和/或正常状态的标签)。例如,1016个正常音频文件和359个异常音频文件可以在输入350a处循环,直到ml模型学习(例如,配置其权重等)来提供正确的输出350b(例如,当音频文件正常时,在输出处将其分类为正常,而当音频文件对应于异常状态时,将输出分类为异常)。输出350b可以包括值(例如,输入数据350a是异常的概率或可能性)。
53.在图3的示例中,音频传感器数据在被提供在输入350a处之前被预处理。例如,音频数据可以在被提供在输入350a处之前被转换成频域表示。为了说明,音频文件可以被加窗,并且对每个窗口执行快速傅立叶变换,并且y轴被转换成mel标度,因此每个窗口对应于频谱(x轴)和mel标度(y轴)。图3描绘了用于正常操作的机器的音频传感器数据的第一谱图360a和用于异常操作的机器的音频传感器数据的第二谱图360b。如上所述,这些谱图360a-b在输入350a处被提供,直到cnn收敛其权重(例如,内部参数)以正确分类在输入处提供的训练数据。
54.在训练了ml模型之后,工厂服务器110a可以将ml模型的参数信息转发给中央服务器182。并且在训练了ml模型300之后,ml模型300可以用作本地ml模型,以对来自机器102a的传感器数据104a进行分类,从而检测异常。在示例实施方式中,cnn 300可以在检测传感器数据(诸如音频传感器数据)中的异常时获得大于约98.6%的准确度。
55.图4描绘了根据一些示例实施例的用户界面400的示例。用户界面400可以呈现给终端用户(例如,工程师)以评估机器104a以及其他机器的健康状况。如果本地ml模型106a检测到异常,则警报402(在这个示例中是“!”,尽管也可以生成其他类型的警报)将会在用户界面上指示。
56.例如,边缘节点或设备,诸如节点112a,可以确定异常分数。异常分数可以经由心跳消息提供给中央服务器182。基于异常分数,用户界面400可以突出显示或指示机器,诸如该示例中的机器102a,是否处于异常状态。此外,经由用户界面400选择机器102a可以提供关于机器和/或异常的附加信息。例如,在用户界面400处选择机器102a可以呈现机器102a的音频视图。音频视图410以规则的间隔呈现机器102a的异常分数。
57.在音频视图410的示例中,绘制了本地分数414和聚合分数412。本地分数414表示相对于本地ml模型计算的分数,该本地模型仅基于本地可用的传感器数据(诸如来自传感器104a的音频数据)构建。聚合分数412表示相对于聚合的ml模型计算的分数,该聚合的ml模型是由中央服务器以基于跨多个边缘节点的学习的联合方式构建的。随着时间的推移,聚合的ml模型比本地ml模型更好地运行,因为聚合的ml模型是在来自多个设备的更大数据集上构建的。在该示例中,边缘节点能够使用本地机器学习模型(其仅使用本地传感器数据来训练)来操作,并且使用聚合的机器学习模型(其基于由中央服务器182提供的联合学习和聚合来生成)来操作。
58.音频视图410显示随时间(x轴)生成的本地异常分数414(y轴),随时间(x轴)生成的聚合异常分数412(y轴)。在图4的示例中,三角形元素(例如,415)表示异常警报。异常警报表示何时异常分数超过阈值分数418,并且因此可能与正被监视的机器处的异常事件相关联。在一些实施方式中,元素415是可选择的,以获得异常的附加信息(例如,异常类型、时间、机器位置以及与异常相关联的传感器数据,诸如音频数据)。
59.图5a描绘了根据一些示例实施例的过程500的示例。
60.在502,边缘节点可以接收本地ml模型。例如,在第一位置处的计算设备可以从中央服务器接收要在第一位置处本地使用的ml模型。例如,中央服务器182可以向多个边缘节点112a-c中的每一个提供主ml模型186的副本,其在边缘节点中的每一个处充当本地ml模型106a-c。本地ml模型可以包括预先配置的默认ml模型(例如,已经至少部分训练的ml模型);初始化的本地ml模型(例如,尚未被训练的ml模型,因此ml模型可以具有随机或初始化的设置作为参数);或者更新或聚合的ml模型(其是主ml模型的副本)。
61.在504,边缘节点可以从监视至少一个机器的音频传感器接收音频数据。例如,机器102a可以由传感器104a(诸如音频传感器(例如麦克风))监视,以便监视机器的状态并检测机器102a的异常状态,使得当异常状态发生时(例如,故障或阻碍故障),可以对机器102a进行维护。可以预处理音频传感器数据,以便确定声音的位置。例如,音频阵列可以确定声音的源位置,使得只有来自机器102a的声音被处理以检测异常(而其他机器和噪声可以被过滤掉)。可替换地或附加地,音频传感器数据可以被预处理,以使用例如傅立叶变换(例如,快速傅立叶变换或其他类型的变换)将音频数据从时域变换到频域。此外,音频数据是在诸如工厂112a本地的边缘节点处本地收集的数据,并且在ml模型训练期间,该音频数据可以不与其他终端用户和/或中央服务器182共享。
62.在506,边缘节点可以基于在504接收的音频传感器数据来训练本地ml模型。例如,传感器102可以生成来自被监视的机器102a的随时间变化的音频传感器数据。该音频传感器数据可以包括时间戳和一个或多个指示给定时间戳处的音频传感器数据是否异常的标签。该音频传感器数据(可以如上所述进行预处理和/或使用音频阵列针对机器的位置进行过滤)可以通过ml模型106a循环(也参见上面关于图3的描述),直到ml模型学会提供正确的
输出,诸如异常分数或指示输入传感器数据是否对应于异常的概率或可能性的其他类型的输出。
63.在508,边缘节点可以向正在跨多个边缘节点执行联合学习的中央服务器提供本地ml模型的参数信息。例如,工厂112a处的计算设备可以向中央服务器182提供本地ml模型的参数信息,以允许中央服务器以跨多个边缘节点ml模型的联合方式进行学习。如上所述,中央服务器可以聚合参数信息以生成更新的ml模型(也称为聚合的ml模型)。这个更新的ml模型可以与边缘节点共享。
64.在510,边缘节点可以接收更新的ml模型,其中更新的ml模型包括由中央服务器提供的聚合学习。更新的ml模型然后可以在边缘节点处(诸如在工厂112a的计算设备处)被用作本地ml模型。
65.在一些实施例中,在本地ml模型的训练阶段期间,在512处过程502-510重复(例如,直到本地ml模型收敛到准确度的阈值水平内以提供异常检测)。在一些实施例中,边缘节点可以在操作阶段使用本地ml模型来在514检测机器的异常状态。例如,本地ml模型可用于生成异常分数(例如,音频数据指示机器处异常状态的可能性350b的指示),并将该分数作为心跳消息、警报等报告给其他计算设备。
66.在520,本地ml模型可以生成异常分数作为传感器数据,诸如由传感器104a生成的音频数据。响应于异常分数超过阈值,可以生成警报,该警报可以被发送到诸如中央服务器182的其他计算设备,呈现在用户界面上,等等。阈值可以是预定的、由边缘节点配置的、由中央服务器配置的、由终端用户配置的和/或由ml模型学习的。
67.在过程500,训练阶段502-510中使用的音频数据可以与操作阶段514-522期间使用的音频数据相同或不同。在训练阶段期间,音频数据可以是训练音频数据,其包括指示异常的标签(例如,第一音频样本可以具有指示机器处的异常的标签,以及第二音频样本可以指示状态不异常),以使得能够进行机器学习模型训练。在操作阶段期间,机器学习模型被训练,因此提供给机器学习模型的音频数据可以不被标记(因为检测异常是训练的ml模型的任务)。然而,操作阶段音频数据也可以用于机器学习模型的训练。例如,如果机器学习模型指示异常,并且该异常被证明是真的或被确认,则边缘节点可以使用操作阶段音频数据来随后训练机器学习模型。
68.图5b描绘了根据一些示例实施例的过程599的示例。
69.在552,中央服务器可以向一个或多个边缘节点提供本地ml模型。例如,中央服务器182可以向一个或多个边缘节点112a-c中的每一个提供本地ml模型。参考图1a,中央服务器可以提供主ml模型的副本(其可以是ml模型的初始版本、ml模型的预定义版本或更新/聚合的ml模型)。
70.在554,中央服务器可以接收本地ml模型的参数信息,以使得能够进行联合学习。例如,中央服务器182可以在124(例如,图1b)从边缘节点112a和112b接收参数信息,诸如权重。
71.在556,中央服务器可以聚合参数信息以生成更新的ml模型(也称为聚合的ml模型)。中央服务器可以通过组合或平均参数信息来聚合来自边缘节点的参数信息。例如,在124提供的权重信息可以被平均。
72.在558,中央服务器可以向一个或多个边缘节点提供更新/聚合的ml模型。例如,更
新的或聚合的ml模型(其基于组合或平均的参数信息生成)可以在126被提供给其中更新或聚合的ml模型可以被用作本地ml模型的边缘节点。
73.在一些实施例中,在本地ml模型的训练阶段期间(在560)过程552-558重复。在一些实施例中,边缘节点可以在操作阶段使用本地ml模型(或聚合的本地ml模型)来检测异常分数,并在562向中央服务器提供异常分数。异常分数可以在120被包括在心跳消息中,如上文所述,或者也以其他格式被传送到中央服务器。如果异常分数超过阈值,则可以生成警报。参考图4的示例,当异常分数超过阈值418时,这可以生成警报,该警报可以在402呈现在用户界面上,或者也可以以其他方式呈现或传送给终端用户。
74.在一些实施方式中,当前主题可以被配置为在系统600中实施,如图6所示。例如,包括图1a、1b和图3,在这里描述或描绘的任何组件可以被包括在系统600中。为了进一步说明,工厂服务器、训练节点、传感器、异常计分器、模型管理器、聚合器、仪表板服务、模型服务等可以使用诸如系统600的物理系统来实施。系统600可以包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610-640中的每一个可以使用系统总线650互连。处理器610可以被配置为处理用于在系统600内执行的指令。在一些实施方式中,处理器610可以是单线程处理器。在替代实施方式中,处理器610可以是多线程处理器或图形处理器单元(gpu)。处理器610还可以被配置为处理存储在存储器620或存储设备630上的指令,包括通过输入/输出设备640接收或发送信息。存储器620可以存储系统600内的信息。在一些实施方式中,存储器620可以是计算机可读介质。在替代实施方式中,存储器620可以是易失性存储器单元。在一些实施方式中,存储器620可以是非易失性存储器单元。存储设备630能够为系统600提供大容量存储。在一些实施方式中,存储设备630可以是计算机可读介质。在替代实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备、磁带设备、非易失性固态存储器或任何其他类型的存储设备。输入/输出设备640可以被配置为向系统600提供输入/输出操作。在一些实施方式中,输入/输出设备640可以包括键盘和/或指点设备。在替代实施方式中,输入/输出设备640可以包括用于显示图形用户界面的显示单元。
75.本文公开的系统和方法可以以各种形式来体现,包括例如数据处理器(诸如还包括数据库的计算机)、数字电子电路、固件、软件或它们的组合。此外,本公开实施方式的上述特征和其他方面和原理可以在各种环境中实施。这种环境和相关应用可以被专门构建用于执行根据所公开的实施方式的各种过程和操作,或者它们可以包括由代码选择性激活或重新配置以提供必要功能的通用计算机或计算平台。本文公开的过程并不固有地与任何特定的计算机、网络、架构、环境或其他装置相关,并且可以通过硬件、软件和/或固件的适当组合来实施。例如,各种通用机器可以与根据所公开的实施方式的教导编写的程序一起使用,或者构建专用装置或系统来执行所需的方法和技术可能更方便。
76.本文公开的系统和方法可以被实施为计算机程序产品,即有形地体现在信息载体中(例如,在机器可读存储设备中或在传播信号中)的计算机程序,用于由数据处理装置(例如,可编程处理器、计算机或多台计算机)执行或控制其操作。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以被部署为在一个计算机上、或位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
77.如本文所使用的,术语“用户”可以指任何实体,包括人或计算机。
78.虽然序数,如第一、第二等,在某些情况下可以与顺序有关;但是如本文中所使用的序数不一定意味着顺序。例如,序数可以仅用来区分一个项目和另一项目。例如,为了区分第一事件和第二事件,但不需要暗示任何时间排序或固定的参考系统(使得说明书的一段中的第一事件可以不同于说明书的另一段中的第一事件)。
79.这些也可以称为程序、软件、软件应用、应用组件或代码的计算机程序,包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实施。如本文所使用的,术语“机器可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备,例如磁盘、光盘、存储器和可编程逻辑设备(pld),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。机器可读介质可以非暂时性地存储这样的机器指令,例如像非暂时性固态存储器或磁硬盘驱动器或任何等效的存储介质那样。机器可读介质可以替代地或附加地以暂时方式存储这样的机器指令,诸如像与一个或多个物理处理器核相关联的处理器高速缓存或其他随机存取存储器那样。
80.为了提供与用户的交互,本文描述的主题可以在具有如下各项的计算机上实施:显示设备,例如阴极射线管(crt)或液晶显示器(lcd)监视器,用于向用户显示信息;以及键盘和指点设备,例如鼠标或轨迹球,用户可以通过其向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括但不限于声音、语音或触觉输入。
81.本文描述的主题可以在计算系统中实施,该计算系统包括后端组件(例如一个或多个数据服务器),或者包括中间件组件(例如一个或多个应用服务器),或者包括前端组件(例如一个或多个具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本文描述的主题的实施方式交互),或者这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括但不限于局域网(“lan”)、广域网(“wan
””
)和互联网。
82.计算系统可以包括客户端和服务器。客户端和服务器通常但不排除地彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过运行在相应计算机上并且彼此之间具有客户端-服务器关系的计算机程序产生的。
83.前述描述中阐述的实施方式不代表与本文描述的主题一致的所有实施方式。相反,它们仅仅是与所描述主题的相关方面一致的一些示例。尽管上面已经详细描述了一些变化,但是其他修改或添加也是可能的。特别地,除了本文阐述的特征和/或变化之外,还可以提供进一步的特征和/或变化。例如,上述实施方式可以针对所公开特征的各种组合和子组合和/或以上公开的几个进一步特征的组合和子组合。此外,附图中描绘的和/或本文描述的逻辑流程不一定需要所示的特定顺序或依次顺序来实现期望的结果。其他实施方式可以在以下权利要求的范围内。

技术特征:


1.一种方法,包括:在第一边缘节点处,接收由中央服务器提供的机器学习模型,所述中央服务器被配置为提供在包括所述第一边缘节点的多个边缘节点之间的联合学习;在所述第一边缘节点处,接收从至少一个音频传感器获得的第一音频数据,所述至少一个音频传感器监视位于所述第一边缘节点处的至少一个机器;在所述第一边缘节点处,训练所述机器学习模型,所述训练基于所述第一音频数据;响应于所述训练,由所述第一边缘节点,向所述中央服务器提供参数信息,使得能够进行在包括所述第一边缘节点的多个边缘节点之间的联合学习;响应于所述联合学习,由所述第一边缘节点,接收由所述中央服务器提供的聚合的机器学习模型;由包括所述聚合的机器学习模型的所述第一边缘节点,检测所述至少一个机器的异常状态,所述异常状态是基于从所述至少一个音频传感器接收的第二音频数据检测的;和由所述第一边缘节点,向所述中央服务器报告所述异常状态。2.根据权利要求1所述的方法,其中所述参数信息包括关于由所述第一边缘节点训练的机器学习模型的配置信息,并且其中所述配置信息包括用于训练的机器学习模型的一个或多个权重。3.根据权利要求1所述的方法,其中,通过至少基于到达时间过滤所述第一音频数据以至少部分地去除与其他机器相关联的其他音频数据,来预处理所述第一音频数据。4.根据权利要求1所述的方法,其中,通过至少将所述第一音频数据变换到频域来预处理所述第一音频数据。5.根据权利要求1所述的方法,其中,所述机器学习模型包括卷积神经网络或生成对抗网络中的至少一个。6.根据权利要求1所述的方法,其中,所述聚合的机器学习模型包括由所述第一边缘节点提供的参数信息和由所述多个边缘节点中的其他边缘节点提供的其他参数信息的平均。7.根据权利要求6所述的方法,其中,所述聚合的机器学习模型是在所述中央服务器不访问所述第一边缘节点处的所述第一音频数据或所述其他边缘节点处的其他音频数据的情况下生成的。8.根据权利要求1所述的方法,其中,所述训练还包括提供所述第一音频数据作为对所述机器学习模型的输入,所述第一音频数据包括时间戳信息和指示是否存在异常的标签信息。9.根据权利要求8所述的方法,其中,所述第一音频数据对应于训练所述机器学习模型的训练数据,并且其中,所述第二音频数据表示在没有指示是否存在异常的标签信息的情况下的操作数据。10.一种系统,包括:至少一个处理器;和至少一个包括程序代码的存储器,所述程序代码当由所述至少一个处理器执行时,引起包括以下的操作:在第一边缘节点处,接收由中央服务器提供的机器学习模型,所述中央服务器被配置为提供在包括所述第一边缘节点的多个边缘节点之间的联合学习;
在所述第一边缘节点处,接收从至少一个音频传感器获得的第一音频数据,所述至少一个音频传感器监视位于所述第一边缘节点处的至少一个机器;在所述第一边缘节点处,训练所述机器学习模型,所述训练基于所述第一音频数据;响应于所述训练,由所述第一边缘节点,向所述中央服务器提供参数信息,使得能够进行在包括所述第一边缘节点的多个边缘节点之间的联合学习;响应于所述联合学习,由所述第一边缘节点,接收由所述中央服务器提供的聚合的机器学习模型;由包括所述聚合的机器学习模型的所述第一边缘节点,检测所述至少一个机器的异常状态,所述异常状态是基于从所述至少一个音频传感器接收的第二音频数据检测的;和由所述第一边缘节点,向所述中央服务器报告所述异常状态。11.根据权利要求10所述的系统,其中,所述参数信息包括关于由所述第一边缘节点训练的机器学习模型的配置信息,并且其中,所述配置信息包括用于训练的机器学习模型的一个或多个权重。12.根据权利要求10所述的系统,其中,通过至少基于到达时间过滤所述第一音频数据以至少部分地去除与其他机器相关联的其他音频数据,来预处理第一音频数据。13.根据权利要求10所述的系统,其中,通过至少将所述第一音频数据变换到频域来预处理所述第一音频数据。14.根据权利要求10所述的系统,其中,所述机器学习模型包括卷积神经网络或生成对抗网络中的至少一个。15.根据权利要求10所述的系统,其中,所述聚合的机器学习模型包括由所述第一边缘节点提供的所述参数信息和由所述多个边缘节点中的其他边缘节点提供的其他参数信息的平均。16.根据权利要求15所述的系统,其中,所述聚合的机器学习模型是在所述中央服务器不访问所述第一边缘节点处的所述第一音频数据或所述其他边缘节点处的其他音频数据的情况下生成的。17.根据权利要求10所述的系统,其中,所述训练还包括提供所述第一音频数据作为对所述机器学习模型的输入,所述第一音频数据包括时间戳信息和指示是否存在异常的标签信息。18.根据权利要求10所述的系统,其中,所述第一音频数据对应于训练所述机器学习模型的训练数据,并且其中,所述第二音频数据表示在没有指示是否存在异常的标签信息的情况下的操作数据。19.一种包括程序代码的非暂时性计算机可读存储介质,所述程序代码当由至少一个处理器执行时,引起包括以下的操作:在第一边缘节点处,接收由中央服务器提供的机器学习模型,所述中央服务器被配置为提供在包括所述第一边缘节点的多个边缘节点之间的联合学习;在所述第一边缘节点处,接收从至少一个音频传感器获得的第一音频数据,所述至少一个音频传感器监视位于所述第一边缘节点处的至少一个机器;在所述第一边缘节点处,训练所述机器学习模型,所述训练基于所述第一音频数据;响应于所述训练,由所述第一边缘节点,向所述中央服务器提供参数信息,使得能够进
行在包括所述第一边缘节点的多个边缘节点之间的联合学习;响应于所述联合学习,由所述第一边缘节点,接收由所述中央服务器提供的聚合的机器学习模型;由包括所述聚合的机器学习模型的所述第一边缘节点,检测所述至少一个机器的异常状态,所述异常状态是基于从所述至少一个音频传感器接收的第二音频数据检测的;和由所述第一边缘节点,向所述中央服务器报告所述异常状态。20.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所述参数信息包括关于由所述第一边缘节点训练的机器学习模型的配置信息,并且其中,所述配置信息包括用于训练的机器学习模型的一个或多个权重。

技术总结


在一些示例实施例中,可以提供一种方法,该方法包括接收由被配置为提供联合学习的中央服务器提供的机器学习模型;接收从监视位于第一边缘节点的至少一个机器的至少一个音频传感器获得的第一音频数据;基于第一音频数据训练机器学习模型;向中央服务器提供参数信息,以便使得能够进行在多个边缘节点之间的联合学习;接收由中央服务器提供的聚合的机器学习模型;检测至少一个机器的异常状态。还描述了相关的系统、方法和制品。方法和制品。方法和制品。


技术研发人员:

K.克里斯南 N.J.尼科卢迪斯 L.李 P-H.陈 A.克罗格

受保护的技术使用者:

SAP欧洲公司

技术研发日:

2021.12.15

技术公布日:

2022/11/22

本文发布于:2024-09-20 12:19:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/838.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   机器   节点   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议