CPC G06N 3/042 (2023.01) [G06N 3/045 (2023.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01); G06N 20/00 (2019.01)] | 14 Claims |
1. A method for detecting an anomaly in operation of one or more machines, the method comprising:
obtaining a plurality of unlabeled sensor data samples from one or more sensors associated with the one or more machines;
training a plurality of randomly initialized clustering models in parallel using the unlabeled sensor data and user-provided partial label information including a set of normal labels to generate a set of estimated labels, wherein
training each randomly initialized clustering model comprises evaluating a reliability of the randomly initialized clustering model, wherein
evaluating the reliability of each randomly initialized clustering model comprises computing a weight associated with the randomly initialized clustering model based on a matching rate between estimated labels outputted by the randomly initialized clustering model and user-provided ground-truth labels, and wherein
the estimated labels are determined by calculating
with x* being the unlabeled sensor data;
computing, for each unlabeled sensor data sample, an abnormal probability based on the estimated labels and the weight associated with each randomly initialized clustering model;
applying a random sample generator to generate multiple sets of labeled training samples based on the abnormal probability;
training a set of feed-forward neural network (FNN) models in parallel, wherein a respective FNN model of the set of trained FNN models is trained using a corresponding set of labeled training samples;
obtaining, for an observed sensor data sample, a set of predicted labels outputted by the set of trained FNN models, wherein each trained FNN model outputs a predicted label;
computing an average of the set of predicted labels outputted by the set of trained FNN models; and
determining whether an anomaly is present in the operation of the one or more machines based on whether the average of the set of predicted labels is greater than a user-specified threshold.
|