WO2020008760A1 - 異常検知システム - Google Patents
異常検知システム Download PDFInfo
- Publication number
- WO2020008760A1 WO2020008760A1 PCT/JP2019/021407 JP2019021407W WO2020008760A1 WO 2020008760 A1 WO2020008760 A1 WO 2020008760A1 JP 2019021407 W JP2019021407 W JP 2019021407W WO 2020008760 A1 WO2020008760 A1 WO 2020008760A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- abnormality detection
- abnormality
- detection model
- operation data
- model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/024—Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/245—Classification techniques relating to the decision surface
- G06F18/2451—Classification techniques relating to the decision surface linear, e.g. hyperplane
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Definitions
- the present invention relates to an anomaly detection system, and in particular, for the stable operation of a system including a computer, a controller, equipment and facilities, etc., to reduce an erroneous detection of an anomaly such as a failure or a failure or a sign of the anomaly and to accurately detect the state of the system.
- the present invention relates to an abnormality detection system suitable for evaluation.
- Patent Document 1 discloses, for example, the detection of an abnormality sign in equipment such as a plant.
- equipment state monitoring system described in Patent Document 1 even in the case of having various normal states, it is possible to prevent the occurrence of a false report that determines that the state is normal and to explain the grounds of the abnormality determination and to associate the abnormality sign with the event.
- modes are divided for each operation state based on the event signal output from the equipment, a normal model is created for each mode, and the adequacy of the learning data is checked for each mode. Then, abnormality identification is performed using a threshold value set according to the result.
- the normal operation data having a low density or a minority has a relatively high abnormality score as compared with the operation data having a normal operation having a high density or a majority. Tend to cause false detections.
- the low density and the high density are amounts indicating how much the value of the operation data can be taken per unit time
- the minority is that the frequency that can take the value of the operation data is small
- the majority is It means that the frequency of taking the value of the operation data is large.
- Patent Document 1 The technique described in Patent Document 1 is based on the basic idea of mode division (operating state of the system) based on an event signal.
- the equipment state monitoring method described in Patent Document 1 does not consider a method of detecting an abnormality when an event signal cannot be obtained in the first place.
- the method of detecting an abnormality is not considered. Is not applicable. If the mode cannot be correctly divided using the event signal, the erroneous detection may not be eliminated.
- An object of the present invention is to monitor the operating state of equipment, when normal data output in a plurality of operating states is not obtained, or when data for dividing the operating state is not obtained, or when data cannot be correctly divided. Even if there is, an object of the present invention is to provide an abnormality detection system capable of reducing the erroneous detection of an abnormality such as a failure or a failure or a sign thereof, and accurately evaluating the state of the system.
- the present invention is a configuration of the abnormality detection system, preferably, based on the operation data of the equipment to be monitored, is an abnormality detection system that detects an abnormality of the equipment or a sign thereof, and a device that collects the operation data from the equipment
- An information processing apparatus that detects an abnormality of a facility or a sign thereof based on an abnormality detection model constructed from operation data, wherein the information processing apparatus includes a unit for collecting operation data, and an abnormality detection model based on the operation data.
- the means for learning the abnormality detection model from the operation data includes: In addition, an abnormality detection model in which the variation of the elements of the abnormality detection model is small is learned.
- an abnormality detection system capable of reducing the erroneous detection of an abnormality such as a failure or a failure or a sign thereof, and accurately evaluating the state of the system.
- FIG. 2 is a hardware configuration diagram of an information processing apparatus that realizes a data management server, a client terminal, a controller, and the like. It is a figure showing an example of operation data.
- FIG. 6 is a diagram illustrating an example of monitoring unit definition data.
- FIG. 4 is a diagram illustrating an example of model data. It is a figure showing an example of abnormal detection result data. It is a flowchart which shows the outline
- the abnormality detection system quickly detects and responds to failures and failures so that the functions of industrial systems such as factories, chemical plants, and social infrastructure systems such as railways and electric power do not stop. Or a system for predicting and preserving.
- the processing of the anomaly detection system consists of a learning phase for constructing an anomaly detection model from normal or expected operating data (hereinafter simply referred to as “normal operating data”), and an operating data and anomaly during monitoring. It is divided into a monitoring phase in which an abnormality score is calculated using the detection model, and a notification and related information are displayed to the user.
- normal operating data normal or expected operating data
- an abnormality detection model is learned from operation data collected from each device / equipment.
- Various machine learning models can be adopted as the abnormality detection model.
- an example using a model based on the k-nearest neighbor method will be described. Note that other models of machine learning and statistics can also be used.
- an abnormality detection model based on the first k-nearest neighbor method is learned using the normal operation data as training data.
- the k-nearest neighbor method is called lazy learning, and, by its nature, simply stores training data in a memory without processing acquired data.
- bootstrap sampling is performed on the training data to create one or more new training data.
- the bootstrap sampling is a statistical sampling method for extracting n data from n target data while allowing duplication.
- one or more new abnormality detection models are created using the created training data. If the anomaly detection model created by combining the original anomaly detection model and the newly created anomaly detection model (referred to as the “ensemble model”) has a smaller anomaly score variance than the original anomaly detection model, the ensemble model is also used. Replace with the abnormality detection model.
- a method based on a weighted linear sum is used as a specific method of combination. At this time, the balance (weight) of the combination is determined by searching for the best one by a line search or the like.
- Such processing is repeated a predetermined number of times to form an abnormality detection model with small variance.
- the variance of the abnormal score is one index that gives variation, and another index, for example, an interquartile range (IQR: InterQuartile @ Range) or the like may be used.
- an abnormality score is calculated using the operation data at the time of monitoring and the abnormality detection model. If the threshold value is exceeded, it is determined that an abnormality or a sign of abnormality has occurred, and the user is notified of an abnormal situation. At this time, the degree of dissociation of the anomaly score between the first anomaly detection model and the final anomaly detection model is presented together. This allows the system to indicate to the user whether the detection was based on low-density or minority normal operation data, or based on high-density or majority normal operation data. Can be given.
- a method based on weighted linear sum is used as an example of a method of combining the abnormality detection models, but may be combined by another method. Also, it is necessary to calculate the ensemble models by the number of abnormality detection models combined when performing the detection processing. Therefore, another model may be learned using the ensemble model. For example, so-called self-taught learning in which an abnormal score with respect to the training data set of the ensemble model is learned by a regression model (a model in which two variables are expressed by an estimation formula using a statistical method) may be performed. Further, training data may be created by sampling a data set constituting each ensemble model according to the weight of the model, and an abnormality detection model may be constructed using the training data. By doing so, it is possible to reconstruct an abnormality detection model having the same properties and a relatively small amount of calculation.
- the abnormality detection system 1 includes equipment 10, a controller 11, a data management server 12, and a client terminal 13.
- the facility 10 is a production line of a factory or the like, and includes a sensor and an actuator.
- the sensor is, for example, an acceleration sensor, a temperature sensor, a pressure sensor, or the like.
- the controller 11 controls sensors and actuators of the facility 10 and performs an abnormality detection process.
- the data management server 12 is a server device that manages operation data uploaded from the facility 10 and learns an abnormality detection model.
- the client terminal 13 is a device that displays and presents information regarding an abnormality or a sign of an abnormality to a user.
- the components of the anomaly detection system 1 are mutually connected by a network such as a LAN (Local Area Network).
- a network such as a LAN (Local Area Network).
- the components are connected via a LAN, but they may be connected via a global network such as the Internet.
- the configuration shown in FIG. 1 is an example, and the number of elements may be increased or decreased, or one component may have a plurality of functions.
- the controller may play the role of the data management server 12.
- the network configuration is not limited to the case of being connected by one network as in the present embodiment, but may be further divided into layers to form a network configuration. In the present embodiment, a case will be described in which the facility 10 is to be monitored, but the controller 11 and other computers may be to be monitored.
- the controller 11 of the abnormality detection system 1 includes functional units such as a collection unit 111, a detection unit 112, and a local data management unit 113.
- the collecting unit 111 is a functional unit that collects operation data from the facility 10.
- the detection unit 112 is a functional unit that calculates an abnormal score from operation data (details will be described later).
- the local data management unit 113 is a functional unit that manages the collected operation data and provides a method for accessing.
- the data management server 12 of the anomaly detection system 1 includes a collection and delivery unit 121, a learning unit 122, and an integrated data management unit 123.
- the collection and delivery unit 121 is a functional unit that collects data from the local data management unit 113 of each controller 11.
- the data learning unit 122 is a functional unit that builds (learns) an abnormality detection model using the operation data.
- the integrated data management unit 123 is a functional unit that aggregates the operation data stored in the local data management unit 113 of each controller 11, manages it on the server side, and provides a method of accessing.
- the client terminal 13 of the abnormality detection system 1 includes a display unit 131.
- the display unit 131 is a functional unit that displays information on an abnormality or a sign of an abnormality to a user.
- Each component of the abnormality detection system can be realized by a general information processing device as shown in FIG.
- a CPU Central Processing Unit 501 includes a ROM (Read Only Memory) 502, a RAM (Read Access Memory) 503, an external storage device 504, a communication I / F (Interface) 505, and an external input device. 506 and an external output device 507.
- ROM Read Only Memory
- RAM Read Access Memory
- I / F Interface
- the CPU 501 is a processor that executes a program on the RAM 503 and controls each unit of the apparatus.
- the ROM 502 is a non-rewritable semiconductor storage device.
- the RAM 503 is a semiconductor storage device that temporarily stores programs and data.
- the external storage device 504 is a large-capacity magnetic storage device or semiconductor storage device that stores data and programs.
- the communication I / F 505 is a device that controls communication on an external network.
- the external input device 506 is a device such as a mouse or a keyboard for a user to input data.
- the external output device 507 is a display device such as a liquid crystal display (LCD) or a device such as a printer for printing data.
- LCD liquid crystal display
- the collection unit 111, the detection unit 112, and the local data management unit 113 of the controller 11 are stored in the ROM 502 or installed in the external storage device 504 as programs for realizing the respective functions, loaded on the RAM 503, and loaded by the CPU 501. Be executed.
- the collection and delivery unit 121, the learning unit 122, and the integrated data management unit 123 of the data management server 12 of the abnormality detection system 1 are stored in the ROM 502 as programs for realizing the respective functions, or stored in the external storage device 504. It is installed, loaded on the RAM 503, and executed by the CPU 501.
- the display unit 131 of the client terminal 13 stores the display program in the ROM 502 or installed in the external storage device 504, is loaded on the RAM 503, is executed by the CPU 501, and is displayed on a display device such as a liquid crystal display device. Is displayed.
- the operation data 100 is data collected by the controller 11 from the equipment 10 and is data managed by the local data management unit 113. Specifically, for example, a sensor value attached to the equipment 10 or transmitted to the equipment 10 This is data related to the control signal to be transmitted.
- the operation data 100 includes items such as a date and time 101, an item name 102, and a value 103.
- the date and time 101 is the date and time when the operation data is generated or the date and time when the operation data is collected.
- the item name 102 is a name for identifying operation data, and is, for example, a sensor number or a control signal number.
- the value 103 is the date and time and the value of the operation data for the item.
- the contents of the operation data managed by the integrated data management unit 123 of the data management server 12 are the same, and the operation data 100 of the local data management unit 113 of each controller 11 is integrated.
- the monitoring unit definition data 200 is data that defines data used to configure each abnormality detection model, and is managed by the local data management unit 113 of the controller 11 and the integrated data management unit 123 of the data management server 12. Data.
- the monitoring unit definition data 200 has items of a model ID 201 and an item name 202 as shown in FIG.
- the model ID 201 is an ID for uniquely identifying the abnormality detection model.
- the item name 202 is data in which the specified item name constitutes the abnormality detection model.
- the first to third rows (excluding the row of column names) from the top shown in FIG. 4 describe an abnormality detection model with a model ID of 1001, and the controller 1. Temperature and controller Pressure, controller2. It indicates that an abnormality detection model is configured by the current value.
- one or more data at a certain time may be used, or data at a plurality of times, that is, time-series data may be used.
- the model data 300 is data representing an abnormality detection model, and is data managed by the local data management unit 113 of the controller 11 and the integrated data management unit 123 of the data management server 12.
- the model data 300 has items of a model ID 301, a sub model ID 302, a model parameter 303, and a weight 304.
- the model ID 301 is an ID for uniquely identifying the abnormality detection model.
- a sub model ID of -1 indicates an abnormality detection model obtained by reconstructing an ensemble model (details will be described later).
- the model parameter 303 is a parameter representing each abnormality detection model. Since the abnormality detection by the k-nearest neighbor method only stores the training data as described above, the model parameter 303 also becomes the training data of each abnormality detection model.
- the weight 304 indicates the importance of each abnormality detection model when combining (ensemble).
- the abnormality detection result data 400 is data representing the result of abnormality detection, and is data managed by the local data management unit 113 of the controller 11 and the integrated data management unit 123 of the data management server 12.
- the abnormality detection result data 400 has items of a date and time 401, a model ID 402, an initial abnormality score 403, and an abnormality score 404.
- the date and time 401 indicates the date and time when the detection processing of the country was performed for an abnormality or a sign thereof.
- the model ID 402 is an ID for uniquely identifying the abnormality detection model.
- the initial abnormality score 1D403 is an abnormality score calculated using the abnormality detection model when the sub model ID 302 is 0.
- the abnormal score 403 is an abnormal score calculated using the ensemble model when ⁇ 1 is not present in the sub model ID 302, and is an abnormal detection model with the sub model ID 302 being ⁇ 1 when the sub model ID 302 is present, that is, reconstructed. This is an abnormality score calculated using the abnormality detection model.
- the collection unit 111 of the controller 11 collects the normal operation data 100 from both or one of the equipment 10 and the controller 11 and stores it in the local data management unit 113 (S101).
- the cycle of data collected by the collection unit 111 is constant. If the period is not constant, the data is converted into operation data whose period has been adjusted by interpolation or the like and stored.
- the collection / delivery unit 121 of the data management server 12 aggregates the operation data 100 stored in the local data management unit 113 of each controller 11 and stores it in the integrated data management unit 123 of the data management server 12 (S102).
- the learning unit 122 of the data management server 12 constructs (learns) an abnormality detection model using the operation data 100 whose item name corresponds to the model ID in the monitoring unit definition data 200 (S103). Prior to this processing, it is assumed that appropriate monitoring unit definition data 200 has been registered, and the model ID and the operation data 100 have been associated. The process of constructing (learning) the abnormality detection model will be described later in detail.
- model data 300 as a result of the learning process is registered in the integrated data management unit 123 of the data management server 12.
- the collection and distribution unit 121 of the data management server 12 distributes the model data 300 of the integrated data management unit 123 to each controller 11, and ends this processing (S104).
- the operation data is used as it is.
- a pre-processing such as applying a low-pass filter to the operation data 100 or normalizing the operation data 100 may be performed.
- the learning unit 122 of the data management server 12 removes outliers using an outlier detection method (Outlier Detection) represented by LOF (Local Outlier Factor) or the like (S201).
- Outlier Detection an outlier detection method represented by LOF (Local Outlier Factor) or the like (S201).
- LOF Local Outlier Factor
- LOF Local Outlier Factor
- the learning unit 122 of the data management server 12 creates an initial abnormality detection model based on the k-nearest neighbor method using the normal operation data as training data (S202).
- i 1, 2, 3,..., N ⁇ and let Nearest (X 0 , x, k) be the element x in training data X 0 and the k-th neighborhood of element x when the distance between the point (k neighborhood distance of x), the abnormality score S 0 of the initial abnormality detection model is given by the following equation (1).
- the training data X0 corresponds to the model parameter 1D303 when the sub model ID 302 shown in FIG.
- the arithmetic mean of the k-nearest distances up to the k-th is used as the abnormality score, but only the k-th k-nearest distance may be used. Further, an abnormality detection model based on other statistics or machine learning may be used. When the distance calculation becomes a bottleneck, a method that approximates the distance calculation such as binary hashing or direct product quantization (PQ) may be used. Thereby, the load of the distance calculation can be greatly reduced.
- PQ direct product quantization
- the learning unit 122 of the data management server 12 sets 1 to a variable t representing time (S203).
- the learning unit 122 of the data management server 12 the bootstrap sampling against the training data, to create a new training data X t (S204).
- an abnormality score at time t-1 as S t-1 samples according to the following (Equation 2 (in a given probability P (x).
- x, x j ⁇ X t- 1, X t -1 is the previous training data X t, the index j of the denominator of the summation of equation (2) is.
- the sampling is performed simply using the ratio of the anomaly score. May be sampled based on another distribution such as a random distribution, etc.
- interpolation values or estimated values may be used in addition to extraction from existing operation data.
- oversampling techniques such as SMOTE (Synthetic Minority Over-sampling Technique, including interpolation using neighboring points), and techniques for learning generation models such as GAN (Generative Adversarial Networks) from operation data and sampling from them
- SMOTE Synthetic Minority Over-sampling Technique, including interpolation using neighboring points
- GAN Geneative Adversarial Networks
- the learning unit 122 of the data management server 12 creates a new anomaly detection model using training data X t (S205). This procedure is the same as S205.
- the abnormality score S new of this abnormality detection model is given by (Equation 3) below.
- a method approximating the distance calculation such as binary hashing or direct product quantization (PQ) may be used. As a result, the load of distance calculation can be greatly reduced.
- the learning unit 122 of the data management server 12 combines the abnormality detection model at time t ⁇ 1 and the newly created abnormality detection model to create an abnormality detection model at time t with small variation (variance) ( S206).
- the abnormality score St of the abnormality detection model is given by a weighted linear sum of the abnormality detection model at time t-1 and the newly created abnormality detection model. St is given by the following equation.
- the range is set to 0 to 1 and the step size is set to 0.01, but other ranges and step sizes may be used.
- the variance is used as a scale for evaluating the variation in the present embodiment, but a quartile range (IQR) may be used.
- the learning unit 122 of the data management server 12 increments the variable t representing the time and sets t + 1 (S207).
- the learning unit 122 of the data management server 12 determines whether the termination condition is satisfied (S208). In this embodiment, when t exceeds a predetermined value T, the termination condition is satisfied. As a result of the determination, if the end condition is not satisfied (S208: NO), the process returns to S204, and if the end condition is satisfied (S208: YES), the process proceeds to S209. In the present embodiment, when t exceeds the predetermined value T, the termination condition is satisfied, but another termination condition may be set. For example, the variance may be equal to or less than a predetermined value, or the variance may be less than 10% of the initial abnormality detection model.
- the learning unit 122 of the data management server 12 creates new training data by weighted sampling of the training data group forming the abnormality detection model at time t (S209).
- the weight ⁇ t corresponds to the weight 1D 304 of the model data 300 shown in FIG.
- the learning unit 122 of the data management server 12 creates an abnormality detection model using the training data created in S208, and ends this processing (S210).
- this abnormality detection model has a sub model ID 302 of ⁇ 1 (an abnormality detection model obtained by reconstructing an ensemble model).
- the detection unit 112 of the controller 11 calculates an initial abnormality score (referred to as “initial abnormality score”) using the submodel 1D302 of 0, that is, the first abnormality detection model (S301).
- the detection unit 112 of the controller 11 calculates an abnormality score using the sub model 1D302 of ⁇ 1, that is, the last abnormality detection model (S302). If there is no abnormality detection model in which the sub model 1D302 is ⁇ 1, the abnormality score is calculated in the same procedure as when the abnormality score of (Equation 4) is calculated.
- the detection unit 112 of the controller 11 registers the initial abnormality score and the abnormality score in the abnormality detection result data 400. Further, the detection unit 112 of the controller 11 registers the same data in the integrated data management unit 123 of the data management server 12 via the collection and delivery unit 121 of the data management server 12 (S303).
- the detection unit 112 of the controller 11 determines whether the abnormality score is larger than a predetermined threshold (S304). When the abnormal score is larger than the threshold value (S304: YES), the process proceeds to S305. If not (S304: NO), this process ends.
- the detection unit 112 of the controller 11 notifies the display unit 131 of the client terminal 13 that there is an abnormality.
- the display unit 131 of the client terminal 13 presents information for knowing the status of the abnormality, such as the operation data 100 and the abnormality detection result data 400, to the user (S305).
- the threshold value is set in advance.
- the learning unit 122 of the data management server 12 uses the normal operation data or, if available, the abnormal operation data. May be automatically set based on a statistical method.
- the normal operation data may be divided into two parts, one of which may learn data, the other may calculate an abnormal score, and the maximum value may be used as a threshold.
- the monitoring screen 600 is presented by the display unit 131 of the client terminal 13 to the user of the abnormality detection system. This is a screen that displays information related to operation data, an abnormal score, and the like, and provides for monitoring the facility 10. As shown in FIG. 10, the monitoring screen 600 includes a model selection combo box 601, an operation data display pane 602, an abnormal score display pane 603, an initial abnormal score display pane 604, and a score ratio display pane 605.
- a model ID corresponding to the model ID 402 of the abnormality detection result data 400 is displayed as a candidate.
- Information corresponding to the model ID selected by the user is displayed in the operation data display pane 602, the abnormal score display pane 603, the initial abnormal score display pane 604, and the score ratio display pane 605. It should be noted that, even if the user does not operate, if an abnormality is detected in S304, a model is automatically selected and data is displayed to alert the user.
- the operation data display pane 602 displays time-series data relating to the selected model 1D.
- the horizontal axis of the displayed graph indicates time, and the vertical axis indicates a value.
- they can be switched and displayed by the tabs 602a, 602b, and 602c.
- the operation state is changed from the stop state to the start state (per frame 602 ⁇ 2) to the steady operation state, there is an abnormal part in the middle (per frame 602 ⁇ 1), the end state (per frame 602 ⁇ 3), and the stop is performed. This is an example of operation data that returns to the state.
- the abnormal score display pane 603 displays the abnormal score and the threshold calculated by the abnormal detection model of the selected model ID.
- the horizontal axis of the displayed graph indicates time, and the vertical axis indicates the abnormality score. Locations that exceed the threshold and do not match the exception pattern are highlighted. By viewing the information in this pane, the user can grasp whether an abnormality or a sign thereof has occurred.
- the initial abnormality score display pane 604 displays an initial abnormality score and a threshold calculated by the abnormality detection model of the selected model ID.
- the horizontal axis of the displayed graph indicates time, and the vertical axis indicates the abnormality score. Locations that exceed the threshold and do not match the exception pattern are highlighted.
- the horizontal axis of the displayed graph indicates time, and the vertical axis indicates the score ratio.
- the user can grasp a low-density or minority location.
- the score ratios corresponding to the locations of the broken-line frames 602x2 and 602x3 in FIG. 10 are small. This indicates that the start state and the end state of the system corresponding to this part are minorities compared to the stop state and the steady operation state.
- the abnormal score is not regarded as abnormal as much as the initial abnormal score of the minority portion. Therefore, when analyzing the abnormality of the system, the user can obtain an indication of a location where the training data is insufficient by watching the location where the score ratio is small.
- the abnormal score is used for the operation data (normal operation data) that is used when learning the abnormality detection model and is normal or expected to be normal.
- Erroneous detection of low-density or minority normal operation data as a result of reduced abnormal score variation between low-density or minority normal operation data and high-density or majority normal operation data Therefore, erroneous detection and unreporting can be reduced as a whole.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
設備から稼動データを収集する機器と、稼動データから構築される異常検知モデルに基づいて、設備の異常またはその予兆を検知する情報処理装置とを有し、情報処理装置は、稼動データを収集する手段と、稼働データから異常検知モデルを学習する手段と、稼働データと異常検知モデルから、個々の稼動データに対して異常スコアを算出する手段とを有し、稼働データから異常検知モデルを学習する手段は、異常検知モデルの内で、その異常検知モデルの要素のばらつきが小さい異常検知モデルを学習するようにする。これにより、異常検知システムにおいて、設備の稼動状態を監視するにあたり、複稼働状態を分割するためのデータが得られない、あるいは、正しく分割できない場合であっても、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価することをできるようにする。
Description
本発明は、異常検知システムに係り、特に、計算機やコントローラ、機器・設備等からなるシステムの安定運用のために、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価するのに好適な異常検知システムに関する。
工場などの産業システム、化学プラント、鉄道や電力などの社会インフラシステムなど、多くのシステムは、複数の計算機、コントローラ、機器・設備から構成されている。このようなシステムでは、システムの機能が停止すると経済的にも社会的にも甚大な被害を及ぼす可能性がある。そのため、システムの機能が停止しないように、故障や障害を迅速に発見・対応したり、未然に予知し保全することが重要である。昨今では、計算機やコントローラ、機器・設備等から多くの稼動データが得られるようになってきたため、機器・設備、あるいは、システムの正常時の挙動を統計的手法に基づいて、異常やその予兆を検知する方法がとられるようになってきた。
このようなプラントなどの設備における異常予兆検知については、例えば、特許文献1がある。特許文献1に記載の設備状態監視システムでは、多様な正常状態を持つ場合においても、正常を異常と判定する誤報の発生を防止し、異常判定の根拠の説明や、異常予兆と事象の関連付けを可能とするため、設備から出力されるイベント信号をもとに運転状態別にモード分割し、モード毎に正常モデルを作成し、モード毎に学習データの十分性をチェックする。そして、その結果に応じて設定したしきい値を用いて異常識別を行うようにしている。
一方、システムを計測している場合には、起動、終了、キャリブレーションなどわずかしかデータを収集できない稼働状態と、定常運転など多くのデータを収集できる稼働状態とがある。このような複数の稼働状態が混合された稼働データでは、低密度またはマイノリティな正常時の稼働データは、高密度またはマジョリティな正常時の稼働データと比較して、相対的に異常スコアが高くなる傾向があり、誤検知の原因となっている。ここで、低密度、高密度は、単位時間あたりに、どの程度その稼動データの値をとりうるかを示す量であり、マイノリティは、その稼動データの値を取りうる度数が少ないこと、マジョリティは、その稼動データの値を取りうる度数が多いことをいう。
特許文献1に記載された技術は、イベント信号をもとに(システムの稼動状態を)モード分割するということを基本思想にしている。
しかしながら、特許文献1記載の設備状態監視方法では、そもそもイベント信号が得られない場合の異常検知の手法については、考慮されておらず、イベント信号が得られない場合には、この異常検知の手法は適用できすることができない。また、イベント信号を使って、正しくモードを分割できない場合、誤検知が解消されない可能性がある。
本発明の目的は、設備の稼動状態を監視するにあたり、複数の稼動状態で出力された正常時データに対して、稼働状態を分割するためのデータが得られない、あるいは、正しく分割できない場合であっても、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価することのできる異常検知システムを提供することにある。
本発明は異常検知システムの構成は、好ましくは、監視対象となる設備の稼動データに基づいて、設備の異常またはその予兆を検知する異常検知システムであって、設備から稼動データを収集する機器と、稼動データから構築される異常検知モデルに基づいて、設備の異常またはその予兆を検知する情報処理装置とを有し、情報処理装置は、稼動データを収集する手段と、稼働データから異常検知モデルを学習する手段と、稼働データと異常検知モデルから、個々の稼動データに対して異常スコアを算出する手段とを有し、稼働データから異常検知モデルを学習する手段は、異常検知モデルの内で、その異常検知モデルの要素のばらつきが小さい異常検知モデルを学習するようにしたものである。
本発明によれば、設備の稼動状態を監視するにあたり、複数の稼動状態で出力された正常時データに対して、稼働状態を分割するためのデータが得られない、あるいは、正しく分割できない場合であっても、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価することのできる異常検知システムを提供することができる。
以下、本発明に係る一実施形態を、図1ないし図10を用いて説明する。
先ず、発明を理解するために、本発明の一実施形態に係る異常検知システムの概略について説明する。
本発明の一実施形態に係る異常検知システムは、工場などの産業システム、化学プラント、鉄道や電力などの社会インフラシステムなどのシステムの機能が停止しないように、故障や障害を迅速に発見・対応、あるいは、未然に予知し保全するためのシステムである。
異常検知システムの処理は、正常または正常であることが期待される稼動データ(以下、単に「正常時の稼働データ」という)から、異常検知モデルを構築する学習フェーズと、監視時に稼働データと異常検知モデルを用いて異常スコアを算出し、ユーザに通知および関連情報を表示する監視フェーズとに分けられる。
学習フェーズでは、先ず、各機器・設備から収集した稼動データから、異常検知モデルを学習する。異常検知モデルには、様々な機械学習のモデルを採用できるが、本実施形態では、k近傍法をベースとしたモデルを用いた例を説明する。なお、他の機械学習や統計のモデルを用いることもできる。学習処理では、第一に、正常時の稼働データを訓練データとして、最初のk近傍法に基づく異常検知モデルを学習する。k近傍法は、怠惰学習(lazy learning)と呼ばれ、その性質上、取り込んだデータを加工せずに、単にメモリに訓練データを記憶するだけである。
次に、訓練データに対してブートストラップサンプリングを行い新たな訓練データを1個または複数作成する。ここで、ブートストラップサンプリングとは、対象とするn個のデータから、重複を許してn個のデータを抽出する統計のサンプリング手法である。次に、作成した訓練データを使って新たな異常検知モデルを1個または複数作成する。元の異常検知モデルと新たに作成した異常検知モデルを組み合わせて作成した異常検知モデル(「アンサンブルモデル」という)が、元の異常検知モデルに比べ、異常スコアの分散が小さい場合、アンサンブルモデルをもとの異常検知モデルに置き換える。本実施形態では、組み合わせる具体的な方法として重み付き線形和による方法を用いる。その際、組み合わせのバランス(重み)はラインサーチ等によって最良なものを探索して決める。このような処理を所定回数繰り返し、分散が小さい異常検知モデルを構成する。なお、異常スコアの分散は、ばらつきを与える一指標であって、他の指標、例えば、四分位範囲(IQR:InterQuartile Range)等を用いてもよい。
監視フェーズでは、監視時の稼働データと異常検知モデルを用いて異常スコアを算出する。そして、所定の閾値を超えた場合、異常あるいは異常の予兆が発生したと判断してユーザに異常状況を通知する。その際、最初の異常検知モデルと、最終的な異常検知モデルとの異常スコアの解離具合を合わせて提示する。これによって、システムは、ユーザに対して、低密度またはマイノリティな正常時の稼働データに基づく検知結果であったのか、高密度またはマジョリティな正常時の稼働データに基づく検知結果であったのかの示唆を与えることができる。
なお、本実施形態では異常検知モデルを組み合わせる方法の一例として、重み付き線形和による方法としたが、他の方法で組み合わせてもよい。また、アンサンブルモデルは検知処理をする際に組み合わせた異常検知モデルの数だけ計算する必要がある。そこで、アンサンブルモデルを使って別のモデルを学習してもよい。例えば、アンサンブルモデルの訓練データセットに対する異常スコアを回帰モデル(ある二つの変数について、統計的手法による推計式で表すモデル)で学習するいわゆる自己教示学習(self-taught learning)を行ってもよい。また、個々のアンサンブルモデルを構成するデータセットをそのモデルの重みに応じてサンプリングすることにより訓練データを作成し、それを使って異常検知モデル構築してもよい。このようにすることで、同様な性質を持ち、かつ、比較的、計算量が軽量となる異常検知モデルを再構成することができる。
次に、図1および図2を用いて一実施形態に係る異常検知システムの構成について説明する。
本実施形態に係る異常検知システム1は、図1に示されるように、設備10と、コントローラ11と、データ管理サーバ12と、クライアント端末13を備えている。
設備10は、工場などの生産ラインなどであり、センサやアクチュエータを備えている。センサは、例えば、加速度センサ、温度センサ、圧力センサなどである。コントローラ11は、設備10のセンサやアクチュエータを制御し、また異常検知処理を行う。データ管理サーバ12は、設備10からアップロードされる稼動データのデータ管理や、異常検知モデルの学習を行うサーバ装置である。クライアント端末13は、異常または異常の予兆に関する情報をユーザに表示して提示する装置である。
異常検知システム1の構成要素は、相互に、LAN(Local Area Network)等のネットワークで接続されている。なお、本実施形態では構成要素がLANで接続されるとしたが、インターネットなどのグローバルネットワーク経由で接続されていてもよい。また、図1に示した構成は一例であって、要素数は増減してもよく、一つの構成要素が複数の機能を担うようにしてもよい。例えば、データ管理サーバ12の役割をコントローラが担ってもよい。また、ネットワーク構成も、本実施形態のように一つのネットワークで接続されている場合に限らず、さらに階層分けされてネットワーク構成となっていてもよい。なお、本実施形態では設備10が監視対象となる場合について説明するが、コントローラ11や、他の計算機が監視対象となってもよい。
異常検知システム1のコントローラ11は、収集部111、検知部112、ローカルデータ管理部113の各機能部を備える。
収集部111は、設備10から稼動データを収集する機能部である。検知部112は、稼動データから異常スコアを算出する機能部である(詳細は、後述)。ローカルデータ管理部113は、収集した稼動データを管理して、アクセスする方法を提供する機能部である。
異常検知システム1のデータ管理サーバ12は、集配部121、学習部122、統合データ管理部123を備える。
集配部121は、各コントローラ11のローカルデータ管理部113からデータを収集する機能部である。データ学習部122は、稼働データを用いて異常検知モデルを構築(学習)する機能部である。統合データ管理部123は、各コントローラ11のローカルデータ管理部113に格納された稼動データを集約して、サーバ側で管理し、アクセスする方法を提供する機能部である。
異常検知システム1のクライアント端末13は、表示部131を備える。表示部131は、異常または異常の予兆に関する情報をユーザに表示する機能部である。
次に、図1および図2を用いて異常検知システムの各構成要素の機能部とハードウェアの対応について説明する。
異常検知システムの各構成要素は、図2に示されるような一般的な情報処理装置で実現できる。
一般的な情報処理装置は、CPU(Central Processing Unit)501が、ROM(Read Only Memory)502、RAM(Read Access Memory)503、外部記憶装置504、通信I/F(Interface)505、外部入力装置506、外部出力装置507からなる。
CPU501は、RAM503上のプログラムを実行し、装置の各部を制御するプロセッサである。ROM502は、書き換え不可能な半導体記憶装置である。RAM503は、一時的にプログラムとデータを保持する半導体記憶装置である。外部記憶装置504は、データ、プログラムを保持する大容量の磁気記憶装置または半導体記憶装置である。通信I/F505は、外部のネットワークの通信を制御する装置である。外部入力装置506は、マウスやキーボード等のユーザがデータを入力するための装置である。外部出力装置507は、液晶表示装置(LCD:liquid Cristal Display)などの表示装置やデータ印刷するプリンタなどの装置である。
コントローラ11の収集部111、検知部112、ローカルデータ管理部113は、各機能を実現するプログラムとして、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行される。
また、同様に、異常検知システム1のデータ管理サーバ12の集配部121、学習部122、統合データ管理部123は、各機能を実現するプログラムとして、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行される。
さらに、クライアント端末13の表示部131は、表示プログラムが、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行され、液晶表示装置などの表示装置に表示される。
次に、図3ないし図6を用いて異常検知システムで使用されるデータ構造について説明する。
稼動データ100は、コントローラ11が設備10から収集するデータであり、ローカルデータ管理部113で管理されるデータであり、具体的には、例えば、設備10に取り付けられたセンサ値や設備10に送られる制御信号に関するデータである。稼動データ100は、図1に示されるように、日時101と、項目名102と、値103の各項目を有する。日時101は、稼動データが発生した日時、または、収集された日時である。項目名102は、稼動データを識別するための名称であり、例えば、センサ番号や制御信号番号である。値103は、その日時、その項目に関する稼動データの値である。
なお、データ管理サーバ12の統合データ管理部123が管理する稼動データも内容は同様で、個々のコントローラ11のローカルデータ管理部113の稼動データ100を統合したものある。
監視単位定義データ200は、各異常検知モデルを構成するために使うデータを定義するデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。監視単位定義データ200は、図4に示されるように、モデルID201と、項目名202の各項目を有する。モデルID201は、異常検知モデルを一意に識別するためのIDである。項目名202は、指定した項目名が異常検知モデルを構成するデータとなる。例えば、図4に示した上から1行目~3行目(カラム名の行は除く)は、モデルIDが1001の異常検知モデルについて記載しており、コントローラ1.温度と、コントローラ1.圧力、コントローラ2.電流値によって、異常検知モデルが構成されることを表している。なお、異常検知モデルを構成する際には、ある時刻における一つまたは複数のデータによって構成してもよいし、複数時刻のデータ、すなわち、時系列データを用いてもよい。
モデルデータ300は、異常検知モデルを表すデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。モデルデータ300は、モデルID301と、サブモデルID302と、モデルパラメータ303と、重み304の各項目を有する。モデルID301は、異常検知モデルを一意に識別するためのIDである。サブモデルID302は、各異常検知モデル(各アンサンブルモデル)を構成する異常検知モデルのサブモデルを一意に識別するためのIDである。なお、ID=0のときが、初期の異常検知モデルで、サブモデルIDが1、2、3と段階的に組み合わされる異常検知モデルである。一方、サブモデルIDが-1は、アンサンブルモデルを再構成した異常検知モデルを表すことにする(詳細は、後述)。モデルパラメータ303は、各異常検知モデルを表現するパラメータである。k近傍法による異常検知は、前述のとおり訓練データを記憶しておくだけであるため、モデルパラメータ303は、また、各異常検知モデルの訓練データとなる。重み304は、合成(アンサンブル)する際の各異常検知モデルの重要度を表す。
異常検知結果データ400は、異常検知の結果を表すデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。異常検知結果データ400は、日時401と、モデルID402と、初期異常スコア403と、異常スコア404の各項目を有する。日時401は、異常またはその予兆があるか田舎の検知処理を行った日時を表す。モデルID402は、異常検知モデルを一意に識別するためのIDである。初期異常スコア1D403は、サブモデルID302が0のときの異常検知モデルを使って算出した異常スコアである。異常スコア403は、サブモデルID302に-1が存在しない場合には、アンサンブルモデルを使って算出した異常スコア、存在する場合には、サブモデルID302が-1の異常検知モデル、すなわち再構成された異常検知モデルを使って算出された異常スコアである。
次に、図7ないし図9を用いて異常検知システムの処理について説明する。
先ず、図7を用いて異常検知システムの処理全体の概要について説明する。
先ず、コントローラ11の収集部111が、設備10、コントローラ11の双方またはその一方から、正常時の稼働データ100を収集し、ローカルデータ管理部113に格納する(S101)。なお、本実施形態では収集部111が集めるデータの周期は一定であるものとする。周期が一定でない場合は、補間等によって周期を調整した稼動データに変換し格納する。
次に、データ管理サーバ12の集配部121が、各コントローラ11のローカルデータ管理部113に格納された稼動データ100を集約し、データ管理サーバ12の統合データ管理部123に格納する(S102)。
次に、データ管理サーバ12の学習部122が、監視単位定義データ200で項目名がモデルIDと対応づいている稼働データ100を用いて異常検知モデルを構築(学習)する(S103)。なお、本処理に先立って、適切な監視単位定義データ200が登録されており、モデルIDと稼働データ100の対応づけがなされているものとする。なお、異常検知モデルを構築(学習)する処理については、後に詳細に説明する。
そして、学習処理の結果であるモデルデータ300を、データ管理サーバ12の統合データ管理部123に登録する。
最後に、データ管理サーバ12の集配部121が、統合データ管理部123のモデルデータ300を各コントローラ11に配信し、本処理を終了する(S104)。なお、本実施形態では、稼動データをそのまま用いたが、稼動データ100にローパスフィルターをかけたり、正規化したりといった前処理を実施してもよい。
次に、図8を用いて異常検知モデルの構築(学習)処理について詳細に説明する。
まず、データ管理サーバ12の学習部122が、LOF(Local Outlier Factor)等に代表される外れ値検知(Outlier Detection)手法を用いて外れ値を除去する(S201)。例えば、稼働データの1%は外れ値であるとみなして、LOFのスコアの上位1%を得るような稼働データを削除する。このようにして、本異常検知手法が外れ値も含めて異常スコアのばらつきを小さくするように異常検知モデルを構築する結果、検知性能が劣化することを避けることができる。特に、ランダムなノイズが含まれる場合には有用である。ただし、外れ値を除去する必要がないようなデータでは、本ステップを省略してもよい。
次に、データ管理サーバ12の学習部122が、正常時の稼働データを訓練データとして、k近傍法に基づく初期の異常検知モデルを作成する(S202)。訓練データをX0={X0_i|i=1,2,3,…,N}とし、Nearest(X0,x,k)を訓練データX0における要素xと要素xのk番目の近傍点との距離(xのk近傍距離)とするとき、初期の異常検知モデルの異常スコアS0は、以下の(式1)で与えられる。このとき、訓練データX0が、図5に示したサブモデルID302が0のときのモデルパラメータ1D303に対応することになる。なお、本実施形態では、k番目までのk近傍距離の相加平均を異常スコアに用いたが、k番目のk近傍距離だけを用いてもよい。また、他の統計や機械学習に基づく異常検知のモデルを用いてもよい。なお、距離計算がボトルネックとなる場合は、バイナリハッシングや直積量子化法(PQ:Product Quantization)などの距離計算を近似する手法を使ってもよい。これによって、距離計算の負荷を大幅に軽減できる。
次に、データ管理サーバ12の学習部122が、時刻を表す変数tに1を設定する(S203)。
次に、データ管理サーバ12の学習部122が、訓練データに対してブートストラップサンプリングによって、新たな訓練データXtを作成する(S204)。その際、時刻t-1における異常スコアをSt-1として、以下の(式2(で与えられる確率P(x)に従ってサンプリングする。ここで、x,xj∈Xt-1、Xt-1は、Xtの前の訓練データであり、(式2)の分母の総和のインデックスjは、全てのXt-1の要素を動くものとする。すなわち、異常スコアが高いものほど高い確率でサンプリングする。この処理により、後述の処理で効率よくばらつきを小さくする新しい異常検知モデルの作成を可能とする。なお、本実施形態では、単純に異常スコアの比率を用いてサンプリングを行ったが、ランダム分布などほかの分布に基づいてサンプリングしてもよい。また、サンプリングを行う場合、既存の稼働データから抽出するだけでなく、補間値あるいは推定値を用いてもよい。例えば、SMOTE(Synthetic Minority Over-sampling Technique、近傍点を使った補間を含む)などのオーバーサンプリング手法や、稼働データからGAN(Generative Adversarial Networks)等の生成モデルを学習し、そこからサンプリングする手法を用いたりしてもよい。これによって、稼働データに含まれない情報を含む異常検知モデルを構築でき、その結果、検知性能を向上できる場合がある。
次に、データ管理サーバ12の学習部122が、訓練データXtを用いて新たな異常検知モデルを作成する(S205)。この手順はS205と同様である。この異常検知モデルの異常スコアSnewは、以下の(式3)で与えられる。ここで、なお、距離計算がボトルネックとなる場合は、バイナリハッシングや直積量子化法(PQ)などの距離計算を近似する手法を使ってもよい。これによって距離計算の負荷を大幅に軽減できる。
次に、データ管理サーバ12の学習部122が、時刻t-1の異常検知モデルと、新たに作成した異常検知モデルを組み合わせて、ばらつき(分散)の小さい時刻tの異常検知モデルを作成する(S206)。この異常検知モデルの異常スコアStは時刻t-1の異常検知モデルと、新たに作成した異常検知モデルの重み付き線形和で与えられる。Stは以下の式で与えられる。ここで、αは、0から1までの範囲を適当な刻み幅(例えば、0.01)でラインサーチし、もっともSt(Xt_i)(i=1,2,…,N)のばらつき(分散)が小さいαを選択する。なお、本実施形態では範囲を0から1、刻み幅を0.01としたが、よりほかの範囲や刻み幅でもよい。また、前述のとおり、ばらつきを評価する尺度として本実施形態では分散を用いるが四分位範囲(IQR)等を用いてもよい。
次に、データ管理サーバ12の学習部122が、時刻を表す変数tをインクリメントして、t+1を設定する(S207)。
次に、データ管理サーバ12の学習部122が、終了条件を満たしているかを判定する(S208)。本実施形態ではtが所定値Tを上回ったとき、終了条件を満たすものする。判定の結果、終了条件を満たしていなければ(S208:NO)、S204に戻り、終了条件を満たしていれば(S208:YES)、S209に進む。なお、本実施形態ではtが所定値Tを上回ったとき、終了条件を満たすものとしたが、他の終了条件を設定してもよい。例えば、分散が所定の値以下となる、分散が初期の異常検知モデルの10%未満となる等であってよい。
S208において、終了条件が満たされている場合、データ管理サーバ12の学習部122が、時刻tの異常検知モデルを構成する訓練データ群の重み付きサンプリングによって、新たな訓練データを作成する(S209)。より具体的には、時刻tの異常検知モデルを構成する訓練データを重み(t=0は1(固定)、t>0は各時点のα、これをαtとするに)基づいて、どの訓練データを選択し、さらにその訓練データからランダムに1点データ(要素)を抽出するという手順を繰り返す。ここで、X0,X1,…,XTから、x∈Xh(h=0,1,…,T)をとる確率Q(x)は、以下の(式5)で表される。
なお、この重みαtが、図5に示したモデルデータ300の重み1D304に対応する。この手順を繰り返すことにより、低密度またはマイノリティな正常時の稼働データと、高密度またはマジョリティな正常時の稼働データとの異常スコアのばらつきが小さくなっていく。
最後に、データ管理サーバ12の学習部122が、S208で作成した訓練データを用いて異常検知モデルを作成して本処理を終了する(S210)。
なお、この異常検知モデルは、前述のように、サブモデルID302が-1(アンサンブルモデルを再構成した異常検知モデル)となる。
以上の手順により、異常スコアのばらつきが小さい異常検知モデルを構成できる。また、S209、S210のステップの処理によって、最後の時刻の異常検知モデルに近く、しかも、計算量的に軽量な異常検知モデルを構成できる。なお、これらのステップは不要であれば、実施しなくてもよい。その場合は、最後の時刻の異常検知モデルを用いて、以降のS210における異常検知モデルを作成すればよい。
なお、上記処理フローは機械学習分野でのアンサンブル学習におけるブースティングに類似した手順をとっている。すなわち、一つずつモデルを追加していく手順をとっている。これに対し、アンサンブル学習におけるバギングのように、適切なサンプリングのための分布を設定した上で、複数の訓練データをサンプリングし、その数だけの異常検知モデルを作成し、線形和をとることで異常スコアを算出することもできる。
次に、図9を用いて異常検知システムの監視フェーズの処理について説明する。なお、この監視フェーズの処理に先立って、予め設備10における稼動データが収集されているものとする。
まず、コントローラ11の検知部112が、サブモデル1D302が0、すなわち、最初の異常検知モデルを使って初期の異常スコア(「初期異常スコア」という)を算出する(S301)。
次に、コントローラ11の検知部112が、サブモデル1D302が-1、すなわち、最後の異常検知モデルを使って異常スコアを算出する(S302)。なお、サブモデル1D302が-1となる異常検知モデルがない場合、前述の(式4)の異常スコアを算出したときと同様の手順で異常スコアを算出する。
次に、コントローラ11の検知部112が、初期異常スコア、異常スコアを異常検知結果データ400に登録する。また、コントローラ11の検知部112が、データ管理サーバ12の集配部121を介して、データ管理サーバ12の統合データ管理部123にも同様のデータを登録する(S303)。
次に、コントローラ11の検知部112が、異常スコアがあらかじめ定めた閾値より大きいか否かを判定する(S304)。閾値より異常スコアが大きい場合には(S304:YES)、S305に進む。そうでない場合には(S304:NO)、本処理を終了する。
S304で閾値より異常スコアが大きい場合には、コントローラ11の検知部112が、クライアント端末13の表示部131に異常があったことを通知する。これを受けて、クライアント端末13の表示部131が、稼働データ100や異常検知結果データ400といった異常の状況を知るための情報をユーザに提示する(S305)。
なお、本実施形態では閾値は、予め定めているものとしたが、学習フェーズにおいて、データ管理サーバ12の学習部122が正常時の稼働データや、手に入る場合は異常時の稼働データを使って統計手法に基づき自動設定してもよい。例えば、正常時の稼働データを二つに分けて、片方でデータを学習し、もう片方で異常スコアを算出し、その最大値を閾値とするなどをしてもよい。
次に、図10を用いて異常検知システムの提供するユーザインターフェースについて説明する。
監視画面600は、クライアント端末13の表示部131が異常検知システムのユーザに提示し。稼動データや異常スコアなどに関する情報を表示し、設備10の監視をおこなうために提供する画面である。監視画面600は、図10に示されるように、モデル選択コンボボックス601、稼動データ表示ペイン602、異常スコア表示ペイン603、初期異常スコア表示ペイン604、スコア比率表示ペイン605を備える。
モデル選択コンボボックス601には、異常検知結果データ400のモデルID402に対応するモデルIDが候補に表示される。ユーザがここで選んだモデルIDに対応した情報が、稼動データ表示ペイン602、異常スコア表示ペイン603、初期異常スコア表示ペイン604、スコア比率表示ペイン605に表示される。なお、ユーザが操作しなくても、S304で異常が検知された場合には、ユーザに注意を促すために、自動的にモデルが選択されデータが表示されるものとする。
稼働データ表示ペイン602には、選択されたモデル1Dに関する時系列データが表示される。表示されているグラフの横軸は時間、縦軸は値を示している。複数の変数がある場合、タブ602a、タブ602b、タブ602cによって、切り替えて表示することができる。図10に示した例では、停止状態から起動状態(枠602x2あたり)を経て、定常運転状態になり、途中異常な箇所があり(枠602x1あたり)を経て、終了状態(枠602x3あたり)、停止状態に戻るような稼働データの例となっている。
異常スコア表示ペイン603には、選択されたモデルIDの異常検知モデルによって算出された異常スコアと閾値が表示される。表示されているグラフの横軸は時間、縦軸は異常スコアを示している。閾値を超え、かつ、例外パターンに合致していない箇所は強調表示される。ユーザはこのペインの情報を見ることにより、異常やその予兆が発生しているかどうかを把握することができる。
初期異常スコア表示ペイン604には、選択されたモデルIDの異常検知モデルによって算出された初期異常スコアと閾値が表示される。表示されているグラフの横軸は時間、縦軸は異常スコアを示している。閾値を超え、かつ、例外パターンに合致していない箇所は強調表示される。
スコア比率表示ペイン605には、選択されたモデルIDの異常検知モデルによって算出された初期異常スコアと異常スコアについて、初期異常スコアに対する異常スコアの比率(スコア比率=異常スコア/初期異常スコア)が表示される。表示されているグラフの横軸は時間、縦軸はスコア比率を示している。前記の初期異常スコア表示ペイン604の初期異常スコアと、スコア比率を見ることにより、ユーザは低密度もしくはマイノリティな箇所を把握できる。例えば、図10の破線枠602x2、602x3の箇所に対応するスコア比率が小さくなっている。これは、この部分にあたるシステムの起動状態や終了状態などが、停止状態や定常運転状態に比べマイノリティであることを示している。すなわち、本実施形態では、マイノリティの部分の初期異常スコアに対して、異常スコアは、あまり異常としては捉えていないことを示している。したがって、ユーザは、システムの異常を分析するにあたり、スコア比率が小さくなっている箇所を注視することにより、訓練データが足りていない箇所の示唆を得ることができる。
以上に説明したように、本実施形態によれば、異常スコアが異常検知モデルを学習したときに用いた、正常または正常であることが期待される稼動データ(正常時の稼働データ)に対して、低密度またはマイノリティな正常時の稼働データと、高密度もしくはマジョリティな正常時の稼働データとの異常スコアのばらつきが小さくなっていった結果、低密度もしくはマイノリティな正常時の稼働データを誤検知することが少なくなり、全体として誤検知や失報を少なく抑えることができる。
また、初期異常スコアと異常スコアを比較することでどういった稼働データが低密度もしくはマイノリティであるかを把握できるようになり、訓練データの充足をユーザが判断することができる。
10…設備
11…コントローラ
111…収集部
112…検知部
113…ローカルデータ管理部
12…データ管理サーバ
121…集配部
122…学習部
123…統合データ管理部
13…クライアント端末
131…表示部
11…コントローラ
111…収集部
112…検知部
113…ローカルデータ管理部
12…データ管理サーバ
121…集配部
122…学習部
123…統合データ管理部
13…クライアント端末
131…表示部
Claims (10)
- 監視対象となる設備の稼動データに基づいて、設備の異常またはその予兆を検知する異常検知システムであって、
前記設備から稼動データを収集する機器と、
前記稼動データから構築される異常検知モデルに基づいて、設備の異常またはその予兆を検知する情報処理装置とを有し、
前記情報処理装置は、
前記稼動データを収集する手段と、
前記稼働データから異常検知モデルを学習する手段と、
前記稼働データと異常検知モデルから、個々の稼動データに対して異常スコアを算出する手段とを有し、
前記稼働データから異常検知モデルを学習する手段は、前記異常検知モデルの内で、その異常検知モデルの要素のばらつきが小さい異常検知モデルを学習することを特徴とする異常検知システム。 - 前記異常検知モデルの要素のばらつきは、前記異常検知モデルの要素の異常スコアの分散または四分位範囲であることを特徴とする請求項1記載の異常検知システム。
- 前記稼働データから異常検知モデルを学習する手段は、初期の異常検知モデルを設定し、逐次的に異常検知モデルから異常スコアのばらつきが小さい異常検知モデルを再構成することを特徴とする請求項1記載の異常検知システム。
- 逐次的に異常検知モデル新たな異常検知モデルを追加する際、所定探索範囲内で異常検知モデルの異常スコアの最もばらつきが小さい組み合わせ方を探索し、それを異常検知モデルの異常スコアの合成に用いることを特徴とする請求項1記載の異常検知システム。
- 前記稼働データから異常検知モデルを学習する手段は、複数の異常検知モデルから生成する異常検知モデルの異常スコアを、重み付き線形和によって合成することを特徴とする請求項1記載の異常検知システム。
- 前記異常検知モデルは、k近傍距離に基づく異常検知モデルであることを特徴とする請求項1記載の異常検知システム。
- 前記稼働データから異常検知モデルを学習する手段は、複数の異常検知モデルから新たな異常検知モデルを生成するにあたり、複数の異常検知モデルから稼働データをサンプリングして新たな異常検知モデルを生成することを特徴とする請求項1記載の異常検知システム。
- 前記稼働データから異常検知モデルを学習する手段は、前記異常スコアの大きい異常検知モデルに対して、大きな確率でサンプリングすることを特徴とする請求項7記載の異常検知システム。
- 前記稼働データから異常検知モデルを学習する手段は、ランダム分布に基づいてサンプリングするか、補間値あるいは推定値を用いてサンプリングするか、稼働データから生成モデルを学習し、そこからサンプリングするかのいずれかでサンプリングすることを特徴とする請求項7記載の異常検知システム。
- さらに、初期の異常検知モデルの異常スコアと、再構成された異常検知モデルの異常スコアの比率を表示する手段とを有することを特徴とする請求項1記載の異常検知システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/256,070 US11892826B2 (en) | 2018-07-04 | 2019-05-29 | Anomaly detection system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-127570 | 2018-07-04 | ||
JP2018127570A JP7007243B2 (ja) | 2018-07-04 | 2018-07-04 | 異常検知システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020008760A1 true WO2020008760A1 (ja) | 2020-01-09 |
Family
ID=69059582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/021407 WO2020008760A1 (ja) | 2018-07-04 | 2019-05-29 | 異常検知システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11892826B2 (ja) |
JP (1) | JP7007243B2 (ja) |
WO (1) | WO2020008760A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7087908B2 (ja) * | 2018-10-24 | 2022-06-21 | オムロン株式会社 | 制御装置 |
US11620180B2 (en) * | 2018-11-29 | 2023-04-04 | Vmware, Inc. | Holo-entropy adaptive boosting based anomaly detection |
US11409995B2 (en) * | 2019-08-28 | 2022-08-09 | Nxp B.V. | Anomaly detection by classifying past behavior |
US11308366B2 (en) * | 2019-10-28 | 2022-04-19 | MakinaRocks Co., Ltd. | Method for determining optimal anomaly detection model for processing input data |
JP7318612B2 (ja) * | 2020-08-27 | 2023-08-01 | 横河電機株式会社 | 監視装置、監視方法、および監視プログラム |
CN117178405A (zh) * | 2021-03-22 | 2023-12-05 | 株式会社杰士汤浅国际 | 异常检测装置、异常检测方法以及计算机程序 |
CN113219499A (zh) * | 2021-04-07 | 2021-08-06 | 中铁第四勘察设计院集团有限公司 | 位置时间序列的异常探测方法、装置及计算机存储介质 |
JP7509117B2 (ja) * | 2021-10-29 | 2024-07-02 | 株式会社Sumco | 監視方法、監視プログラム、監視装置、ウェーハの製造方法、及びウェーハ |
CN114039837B (zh) * | 2021-11-05 | 2023-10-31 | 奇安信科技集团股份有限公司 | 告警数据处理方法、装置、***、设备和存储介质 |
CN114926061B (zh) * | 2022-05-31 | 2023-02-24 | 深圳市润鹏华通创新科技有限公司 | 一种基于云计算的智慧社区能源监管*** |
WO2024015985A1 (en) | 2022-07-15 | 2024-01-18 | Black & Veatch Holding Company | Method and computing device for detecting anomalous sensor data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013025367A (ja) * | 2011-07-15 | 2013-02-04 | Wakayama Univ | 設備状態監視方法およびその装置 |
JP2013218725A (ja) * | 2013-06-19 | 2013-10-24 | Hitachi Ltd | 異常検知方法及び異常検知システム |
JP2015172945A (ja) * | 2009-08-28 | 2015-10-01 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
JP2015184693A (ja) * | 2014-03-20 | 2015-10-22 | 日本電気株式会社 | 医薬品有害事象抽出方法及び装置 |
WO2017094267A1 (ja) * | 2015-12-01 | 2017-06-08 | 株式会社Preferred Networks | 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法 |
JP6313516B1 (ja) * | 2017-03-30 | 2018-04-18 | 三菱総研Dcs株式会社 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5955985A (ja) * | 1982-09-27 | 1984-03-31 | 株式会社ニチベイ | ブラインド |
FR2939170B1 (fr) * | 2008-11-28 | 2010-12-31 | Snecma | Detection d'anomalie dans un moteur d'aeronef. |
JP5301310B2 (ja) | 2009-02-17 | 2013-09-25 | 株式会社日立製作所 | 異常検知方法及び異常検知システム |
JP5431235B2 (ja) | 2009-08-28 | 2014-03-05 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
US11379726B2 (en) * | 2018-11-02 | 2022-07-05 | Intuit Inc. | Finite rank deep kernel learning for robust time series forecasting and regression |
US11797550B2 (en) * | 2019-01-30 | 2023-10-24 | Uptake Technologies, Inc. | Data science platform |
US11586853B2 (en) * | 2020-02-17 | 2023-02-21 | Wipro Limited | System and method of validating multi-vendor Internet-of-Things (IoT) devices using reinforcement learning |
US20220044133A1 (en) * | 2020-08-07 | 2022-02-10 | Sap Se | Detection of anomalous data using machine learning |
US11842204B2 (en) * | 2021-03-26 | 2023-12-12 | Microsoft Technology Licensing, Llc | Automated generation of early warning predictive insights about users |
DE102021124254A1 (de) * | 2021-09-20 | 2023-03-23 | Festo Se & Co. Kg | Maschinelles Lernverfahren zur Leckageerkennung in einem pneumatischen System |
US20230229738A1 (en) * | 2022-01-19 | 2023-07-20 | Optum Services (Ireland) Limited | Unsupervised anomaly detection machine learning frameworks |
-
2018
- 2018-07-04 JP JP2018127570A patent/JP7007243B2/ja active Active
-
2019
- 2019-05-29 US US17/256,070 patent/US11892826B2/en active Active
- 2019-05-29 WO PCT/JP2019/021407 patent/WO2020008760A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015172945A (ja) * | 2009-08-28 | 2015-10-01 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
JP2013025367A (ja) * | 2011-07-15 | 2013-02-04 | Wakayama Univ | 設備状態監視方法およびその装置 |
JP2013218725A (ja) * | 2013-06-19 | 2013-10-24 | Hitachi Ltd | 異常検知方法及び異常検知システム |
JP2015184693A (ja) * | 2014-03-20 | 2015-10-22 | 日本電気株式会社 | 医薬品有害事象抽出方法及び装置 |
WO2017094267A1 (ja) * | 2015-12-01 | 2017-06-08 | 株式会社Preferred Networks | 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法 |
JP6313516B1 (ja) * | 2017-03-30 | 2018-04-18 | 三菱総研Dcs株式会社 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020008997A (ja) | 2020-01-16 |
JP7007243B2 (ja) | 2022-01-24 |
US20210224599A1 (en) | 2021-07-22 |
US11892826B2 (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020008760A1 (ja) | 異常検知システム | |
US10914608B2 (en) | Data analytic engine towards the self-management of complex physical systems | |
US20180275642A1 (en) | Anomaly detection system and anomaly detection method | |
US9245235B2 (en) | Integrated approach to model time series dynamics in complex physical systems | |
CN112655004A (zh) | 用于异常检测和/或预测性维护的计算机实现的方法、计算机程序产品以及*** | |
US20180262525A1 (en) | Multi-modal, multi-disciplinary feature discovery to detect cyber threats in electric power grid | |
CN110647414A (zh) | 具有异常检测的改善的模拟功能安全 | |
CN111045894B (zh) | 数据库异常检测方法、装置、计算机设备和存储介质 | |
JP6847787B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
JP2018170006A (ja) | 電力グリッドにおけるサイバー脅威を検出する汎用フレームワーク | |
US10438124B2 (en) | Machine discovery of aberrant operating states | |
US11115295B2 (en) | Methods and systems for online monitoring using a variable data | |
US11657121B2 (en) | Abnormality detection device, abnormality detection method and computer readable medium | |
US20210223765A1 (en) | Malfunction detection device, malfunction detection method, malfunction detection program, and recording medium | |
CN112380044B (zh) | 数据异常检测方法、装置、计算机设备和存储介质 | |
Su et al. | Detecting outlier machine instances through gaussian mixture variational autoencoder with one dimensional cnn | |
CN112486970A (zh) | 一种用于电力设备的运行状态评估方法及装置 | |
US20160299966A1 (en) | System and Method for Creation and Detection of Process Fingerprints for Monitoring in a Process Plant | |
Jiang et al. | Robust fault detection for networked control systems with nonlinear disturbances and imperfect measurements | |
Celik et al. | Sequential Monte Carlo-based fidelity selection in dynamic-data-driven adaptive multi-scale simulations | |
WO2023155967A1 (en) | Thermal anomaly management | |
KR20220028727A (ko) | 열화에 따른 시계열 데이터를 이용한 실시간 이상 감지 방법 및 그를 위한 장치 | |
Atzmueller et al. | Sequential Modeling and Structural Anomaly Analytics in Industrial Production Environments. | |
CN117857407A (zh) | 物联网异常检测的模型训练方法、异常检测方法及设备 | |
WO2020054599A1 (ja) | モデル生成装置、予測装置、モデル生成方法、予測方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19829981 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19829981 Country of ref document: EP Kind code of ref document: A1 |