Patent Publication Number: US-2022237060-A1

Title: Abnormality detection system, abnormality detection method, abnormality detection program, and method for generating learned model

Description:
TECHNICAL FIELD 
     Embodiments related to an abnormality detection system, an abnormality detection method, an abnormality detection program, and a method for generating a learned model. 
     BACKGROUND 
     Conventionally, identification of failure determination and failure cause of a machine has been carried out by comparing sensor data at the time of normal operation of the machine with sensor data at the time of failure in the past (for example, see a flowchart showing processing routine of failure determination of FIG. 13 of Patent Literature 1 below). In this determination, in order to accurately and efficiently compare sensor data, failure cause can be classified highly accurately and efficiently by accurately and efficiently selecting a sensor which is a transmission source of the sensor data. 
     However, when the number of selected sensors is large, a huge number of man-hours are required to select an appropriate sensor. In addition, in order to select an appropriate sensor, it was necessary to have knowledge of each sensor attached to the machine and knowledge of machine-like characteristics of a target machine. 
     Related background art citation: patent literature 1: JP 2012-098901 A 
     With regard to the technical problem being solved, machines with advanced control today are controlled and managed by multiple sensors. For example, in automobiles, more than 100 types of sensors are installed per vehicle. In the case of new machines and unknown failures, even those with an advanced expertise and abundant experience could not deal with such case. Therefore, it is desired to realize a method or a system that efficiently selects a sensor without requiring advanced expertise or abundant experience. 
     Furthermore, even if sensor selection can be made efficiently, a definition of sensor data, including noise, error, and failure in events that need to be addressed, is complicated. Besides, depending on an application to be applied, the definition of the event that needs to be addressed is different, so general-purpose means to detect sensor&#39;s data is desired. 
     In order to detect sensor data, it is necessary to design an abnormality score function for each sensor data and each application. Therefore, it used to be necessary to design an abnormality score function each time sensor data and the number of application increased, and there used to be a fear that information important for abnormality detection is missed in feature design. 
     In data and application sensor data frequency domain, if an event is a rare event in the first place and multiple factors overlap, the model, rule, or threshold design was very difficult, so a more generalized and adaptive system is demanded. 
     In order to solve the problem in the above-described prior art, embodiments of the present invention provide, for example, an abnormality detection system, an abnormality detection method, an abnormality detection program, and a method for generating learned model, which learns various sensor data and application data output from an information system supporting social infrastructure such as electric power, water supply, gas, transportation, communication, medical care, finance, service, and determines (including predicting) normality/abnormality of possible events. 
     SUMMARY OF EMBODIMENTS 
     An abnormality detection system of the present invention includes: storage means for storing a latent variable model and a joint probability model previously learned; acquisition means for acquiring input data of abnormality detection target; an encoder for inferring a latent variable from the input data based on the latent variable model stored in the storage means; a decoder for generating restored data from the latent variable based on the joint probability model stored in the storage means; and determining means for determining whether the input data is normal or abnormal based on deviation between the input data and the restored data. 
     In addition, in the abnormality detection system of the present invention, the determining means determines an amount of deviation between the input data and the restored data based on probability calculated according to parameters obtained in processes at the encoder and decoder. 
     In addition, in the abnormality detection system of the present invention, the determining means calculates deviation of a component for each dimension of the input data and the restored data and determines abnormality when there is a large divergence in any dimension. 
     In addition, the abnormality detection system of the present invention further includes learning means for learning the latent variable model and the joint probability model based on training data composed of normal data. 
     In addition, in the abnormality detection system of the present invention, the measuring means constructs the encoder and the decoder by any one of VAE, AAE, LVAE, ADGM. 
     Embodiments of the present invention can be described not only as an invention of abnormality detection system as described above, but also as an invention of abnormality detection method and abnormality detection program respectively as follows. They are substantially the same invention except for being in different categories, and achieve the same actions and effects. The present invention can also be described as an invention of method for generating a learned model used in the abnormality detection system, the abnormality detection method, and the abnormality detection program described above. 
     An abnormality detection method according to the present invention is an abnormality detection method executed by an abnormality detection system including storage means for storing a latent variable model and a joint probability model previously learned, the abnormality detection method including: an acquisition step of acquiring input data of abnormality detection target; an inference step of inferring a latent variable from the input data based on the latent variable model stored in the storage means; a generation step of generating restored data from the latent variable based on the joint probability model stored in the storage means; and a determination step of determining whether the input data is normal or abnormal based on deviation between the input data and restored data. 
     An abnormality detection program according to the present invention causes a computer to function as: storage means for storing a latent variable model and a joint probability model previously learned; acquisition means for acquiring input data of abnormality detection target; an encoder for inferring a latent variable from the input data based on the latent variable model stored in the storage means; a decoder for generating restored data from the latent variable based on the joint probability model stored in the storage means; and determining means for determining whether the input data is normal or abnormal based on deviation between the input data and the restored data. 
     A generation method for generating a learned model according to the present invention is a generation method for generating a learned model including a latent variable model and a joint probability model for performing abnormality detection of input data, the generation method including: a training data acquisition step of acquiring at least one or more pieces of training data consisting of normal data; an inference step of inferring a latent variable from the training data based on the latent variable model; a generation step of generating restored data from the latent variable based on the joint probability model; a deviation calculation step of calculating deviation between the training data and the restored data; and a parameter updating step of updating parameters of the latent variable model and the joint probability model based on the deviation. 
     With respect to advantageous effects, according to the present invention, it is possible to select a sensor that is considered to be effective for classifying failure cause more easily than in the past. For example, it is possible to select a sensor that is considered to be effective for classifying failure cause without requiring machine knowledge. 
     According to the present invention, it is possible to reduce false alarms of abnormality determination by properly reflecting a state of a device on abnormality determination. In addition, abnormality determination at an earlier stage becomes possible according to the fluctuation factor of device operation data. By doing so, it is possible to present appropriate response behavior to maintenance personnel and operators. 
     According to the present invention, it is possible to suppress the influence of outliers by updating learning data using sensor data which is diagnosed to be normal. Moreover, it is possible to follow deterioration over time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments are illustrated in drawing figures in which: 
         FIG. 1  is a functional block diagram of an abnormality detection system according to an embodiment of the present invention. 
         FIG. 2  is a figure illustrating a hardware configuration of the abnormality detection system according to the embodiment of the present invention. 
         FIG. 3  is a flowchart showing a process (abnormality detection method) executed by the abnormality detection system according to the embodiment of the present invention. 
         FIG. 4  is a flowchart showing a process (abnormality detection method) executed in the embodiment of the abnormality detection system according to the embodiment of the present invention. 
         FIG. 5  shows an abnormality detection system according to the embodiment of the present invention using VAE (part 1). 
         FIG. 6  shows an abnormality detection system according to the embodiment of the present invention using VAE (part 2). 
         FIG. 7  is a flowchart showing a process (abnormality detection method) executed by the abnormality detection system according to the embodiment of the present invention using the VAE. 
         FIG. 8  is a conceptual diagram showing an abnormality detection system according to a second embodiment of the present invention using AAE. 
         FIG. 9  is a conceptual diagram showing an abnormality detection system according to a third embodiment of the present invention using LVAE. 
         FIG. 10  is a conceptual diagram showing an abnormality detection system according to a fourth embodiment of the present invention using ADGM. 
     
    
    
     DETAILED DESCRIPTION 
     Hereinafter, preferable embodiments of an abnormality detection system, an abnormality detection method, and an abnormality detection program will be described in detail together with the drawings. In the description of the drawings, the same reference numerals are given to the same elements, and redundant explanations are omitted. 
       FIG. 1  is a functional block diagram of an abnormality detection system  1  according to an embodiment of the present invention. As shown in  FIG. 1 , the abnormality detection system  1  includes a storage unit  10  (storage means), an acquisition unit  11  (acquisition means), a measurement unit  12  (measurement means), a determination unit  13  (determination means) and a learning unit  14  (learning means). 
     The storage unit  10  stores a latent variable model and a joint probability model. The storage unit  10  is a data base, for example. The acquisition unit  11  acquires the sensor data output by the sensor. The measurement unit  12  measures the probability of the sensor data acquired by the acquisition unit  11  based on the latent variable model and the joint probability model stored by the storage unit  10 . The determination unit  13  determines whether the sensor data is normal or abnormal based on the probability of the sensor data measured by the measurement unit  12 . The learning unit  14  learns the latent variable model and the joint probability model based on the sensor data output by the sensor. 
     The measurement unit  12  may convert the sensor data acquired by the acquisition unit  11  into a dimension lower than the dimension of the sensor data based on the latent variable model stored by the storage unit  10 , and may convert it into the original dimension based on the joint probability model stored by the storage unit  10 , thereby measuring the probability. The measurement unit  12  may measure the probability using a variant self-coder. The learning unit  14  may learn the latent variable model and the joint probability model based only on the sensor data output by the sensor at the normal time. 
     The abnormality detection system  1  is composed of hardware such as a CPU.  FIG. 2  shows an example of hardware configuration of the abnormality detection system  1 . As shown in  FIG. 2 , the abnormality detection system  1  shown in  FIG. 1  is configured as a computer system that physically includes a CPU  100 , a RAM  101  which is a main storage device, and a ROM  102 , an input/output device  103  such as a display, a communication module  104 , and an auxiliary storage device  105 , and the like. 
     The function of each function block of abnormality detection system  1  shown in  FIG. 1  is realized by loading predetermined computer software on the hardware such as CPU  100  and RAM  101  shown in  FIG. 2 , causing the input/output device  103 , the communication module  104 , and the auxiliary storage device  105  to operate under the control of the CPU  100 , and reading and writing data in the RAM  101 . 
     Steps included in abnormality detection system  1 : The abnormality detection system  1  includes three steps ( FIG. 3 ). 
     step 1; step of simultaneously learning latent variable model and joint probability model (realized by learning unit  14 ). 
     step 2; step of measuring the test data probability p(x) using the latent variable model and the joint probability model learned (realized by the acquisition unit  11  and the measurement unit  12 ). 
     step 3; step of determining whether it is normal or abnormality using the information on the probability p(x) (realized by the determination unit  13 ). 
     [1. Step 1] Step 1 is a step of simultaneously learning the latent variable model and the joint probability model. 
     In step 1, a conditional probability p(z|x) is learned from an observation variable x to a latent variable z, and a conditional probability p(x|z) is learned from the latent variable to the observation variable. 
     When learning the conditional probability p(z|x) and the conditional probability p(x|z), a neural network may be used. By using the neural network, it is possible to learn linearly with respect to the number of parameters regardless of the observed number of pieces of data. 
     The latent variable model is obtained by modeling the conditional probability p(z|x) using a neural network, for example. The latent variable model is stored by the storage unit  10 . 
     The joint probability is expressed by p(x, z) or p(z)·p(x|z). The joint probability model is obtained by modeling the joint probability independently using, for example, a neural network. The joint probability model is stored by the storage unit  10 . 
     The neural network is not limited in its composition. For example, it may include a total coupling layer, a nonlinear function (sigmoid, relu), a batch normalization layer, a dropout layer. 
     The input data (sensor data output by the sensor) is acquired from the sensor and the like by the acquisition unit  11 . The input data is not particularly limited. The input data is, for example, a multidimensional array, a tensor, or the like. The input data acquired by the acquisition unit is not limited to sensor data from the sensor, but various data may be the target as long as it is data to be subjected to abnormality detection. 
     When the input data x is an n-dimensional vector, each value is, for example, a continuous value, a discrete value, or the like. When there are multiple pieces of input data, it can be extended to multidimensional array or tensor. 
     Specific examples of sensor include a camera mounted on the robot, a three-dimensional acceleration sensor, an actuator, a temperature sensor, a humidity sensor, and the like. Specific examples of sensor data include image data from the camera, position, velocity, and acceleration information from the three-dimensional acceleration sensor, the current and voltage amount applied to the actuator, those separated by a window width in an appropriate time, or one obtained by frequency-decomposing each one of them. 
     In step 1 to step 3, SVM or LOF may be used to determine whether it is normal or abnormal, or a variational auto encoder (hereinafter referred to as VAE) may be used to determine whether it is normal or abnormal. Especially, it is preferable to use VAE ( FIGS. 5 to 7 ). 
     At this time, when learning the latent variable model, that is, the conditional probability p(z|) from observation variable x to latent variable z using VAE in step 1, the learner is called an encoder. On the other hand, when learning the conditional probability p(x|z) from the latent variable z to the observation variable x, the learner is called a decoder. 
     The input of the encoder is sensor data, obtained by testing the device (sampling at an appropriate time interval is given for a fixed time). It should be noted that the test is performed a plurality of times continuously or periodically. The output of the decoder is represented by abnormality degree and probability of each dimension of sensor data. 
     The VAE can issue probability values more easily than SVM or LOF. Therefore, the abnormality detection system  1  makes it easier to compare abnormality scores when using VAE, even for sensors with different physical quantities than when using SVM or LOF. 
     In addition, the VAE can perform nonlinear conversion of data expression more easily than SVM or LOF. Therefore, the abnormality detection system  1  can create a more complicated data expression distribution when using VAE than when using SVM or LOF. 
     The VAE can also issue abnormality scores for each dimension of input data as compared with SVM or LOF. Therefore, in abnormality detection system  1 , it is easier to identify the input data source that becomes the cause of an abnormality event when using VAE than when using SVM or LOF. 
     The VAE can learn similarity faster than SVM or LOF. Therefore, the abnormality detection system  1  does not need to manually design similarity between data when using VAE as compared with a case of using SVM or LOF. 
     For example, when using VAE, 
     
       
         
           
             
               
                 p 
                 ⁡ 
                 ( 
                 z 
                 ) 
               
               ∼ 
               
                 N 
                 ⁡ 
                 ( 
                 
                   0 
                   , 
                   I 
                 
                 ) 
               
             
             ⁢ 
             
 
             
               
                 p 
                 ⁡ 
                 ( 
                 
                   x 
                   | 
                   z 
                 
                 ) 
               
               ∼ 
               
                 N 
                 ⁡ 
                 ( 
                 
                   
                     μ 
                     ⁡ 
                     ( 
                     z 
                     ) 
                   
                   , 
                   
                     σ 
                     ⁡ 
                     ( 
                     z 
                     ) 
                   
                 
                 ) 
               
             
           
         
       
     
     N(μ, σ) is a normal distribution consisting of mean μ and variance σ. 
     μ(z), σ(z) are outputs from the neural network. 
     In the abnormality detection system  1 , the loss function is minimized when learning the conditional probability p(z|x) and p(x|z) in the encoder and decoder. For example, a negative logarithmic probability−log p(x) or the like can be used as the loss function: 
     
       
         
           
             
               
                 - 
                 log 
               
               ⁢ 
               
                 p 
                 ⁡ 
                 ( 
                 x 
                 ) 
               
             
             = 
             
               
                 
                   - 
                   log 
                 
                 ⁢ 
                 
                   Πp 
                   ⁡ 
                   ( 
                   x_i 
                   ) 
                 
               
               = 
               
                 
                   - 
                   Σlog 
                 
                 ⁢ 
                 
                   ∫ 
                   
                     
                       p 
                       ⁡ 
                       ( 
                       
                         x_i 
                         | 
                         z 
                       
                       ) 
                     
                     ⁢ 
                     
                       p 
                       ⁡ 
                       ( 
                       z 
                       ) 
                     
                     ⁢ 
                     dz 
                   
                 
               
             
           
         
       
     
     When integrating with z, the variational lower limit is calculated by the following equation. For the variational lower limit, the positive logarithmic probability log p(x)=log Πp(x_i) is evaluated from the lower limit. 
     
       
         
           
             
               
                 - 
                 log 
               
               ⁢ 
               
                 Πp 
                 ⁡ 
                 ( 
                 x_i 
                 ) 
               
             
             = 
             
               
                 
                   
                     - 
                     Σ_i 
                   
                   ⁢ 
                   log 
                   ⁢ 
                   
                     ∫ 
                     
                       
                         p 
                         ⁡ 
                         ( 
                         
                           
                             x_i 
                             | 
                             z 
                           
                           ; 
                           θ 
                         
                         ) 
                       
                       ⁢ 
                       
                         p 
                         ⁡ 
                         ( 
                         z 
                         ) 
                       
                       ⁢ 
                       dz 
                     
                   
                 
                 &lt;= 
                 
                   
                     - 
                     Σ_iq 
                   
                   ⁢ 
                   
                     ( 
                     
                       
                         z 
                         | 
                         x 
                       
                       ; 
                       ξ 
                     
                     ) 
                   
                   ⁢ 
                   
                     ∫ 
                     
                       log 
                       ⁢ 
                       
                         p 
                         ⁡ 
                         ( 
                         
                           
                             x_i 
                             | 
                             z 
                           
                           ; 
                           θ 
                         
                         ) 
                       
                       ⁢ 
                       
                         
                           p 
                           ⁡ 
                           ( 
                           z 
                           ) 
                         
                         / 
                         
                           q 
                           ⁡ 
                           ( 
                           
                             
                               z 
                               | 
                               x_i 
                             
                             ; 
                             ξ 
                           
                           ) 
                         
                       
                       ⁢ 
                       dz 
                     
                   
                 
               
               = 
               
                 
                   Σ_iE 
                   ⁢ 
                   _ 
                   ⁢ 
                   
                     
                       { 
                       
                         q 
                         ⁡ 
                         ( 
                         
                           
                             z 
                             | 
                             x_i 
                           
                           ; 
                           ξ 
                         
                         ) 
                       
                       } 
                     
                     [ 
                     
                       p 
                       ⁡ 
                       ( 
                       
                         
                           x_i 
                           | 
                           z 
                         
                         ; 
                         θ 
                       
                       ) 
                     
                     ] 
                   
                 
                 - 
                 
                   KL 
                   ⁡ 
                   ( 
                   
                     
                       p 
                       ⁡ 
                       ( 
                       z 
                       ) 
                     
                     ⁢ 
                     
                       
                         ❘ 
                         &#34;\[LeftBracketingBar]&#34; 
                       
                       
                         ❘ 
                         &#34;\[RightBracketingBar]&#34; 
                       
                     
                     ⁢ 
                     
                       q 
                       ⁡ 
                       ( 
                       
                         
                           z 
                           | 
                           x_i 
                         
                         ; 
                         ξ 
                       
                       ) 
                     
                   
                   ) 
                 
               
             
           
         
       
     
     Here, E_{q(z|x_i;ξ)}[⋅] is the expected value for q(z|x_i;ξ). KL(p∥q) is the KL distance of the distribution p, q. 
     In order to maximize the above-mentioned variational lower limit, θ and ξ are optimized. At this time, the learning speed can be increased by the inverse error propagation method. For example, a Reparameterization Trick can be used. 
     [2. Step 2]: Step 2 is a step of measuring the test data probability p(x) using the learned latent variable model and the joint probability model. 
     [3. Step 3]: Step 3 is a step of determining whether it is normal or abnormal using the information on the probability p(x). 
     In step 3, whether or not the test data probability p(x) is smaller than the threshold value, whether or not the nth-order differentiation of the test data probability p(x) is smaller than the threshold value, or a combination thereof is used to determine whether it is normal or abnormal. 
     For example, when determining whether the value indicated by certain sensor data is normal or abnormal, conversion is made to x→z→x′, and at that occasion, whether normal or abnormal can be determined by measuring the difference between x′ and x. 
     For the sensor, its target and its number are not limited. For example, it may be strength per time, or strength per frequency. Alternatively, the sensor may be for different devices. 
     In a first embodiment, as described above, when disturbance probability distribution changes during normal operation and during abnormality in repetitive operation, the abnormality detection system  1  learns probabilistic model P with normal data, and predicts the observation data x, probability p(x) change by P by abnormality. 
     Hereinafter, as an example of an embodiment of the present invention, a system that executes five procedures is shown. Procedures 1 to 5 of abnormality detection system  1  will be described below ( FIG. 4 ). 
     [Procedure 1]: In procedure 1 (realized by the acquisition unit  11 ), preprocessing on the input data is performed. For example, spectrum conversion may be performed. 
     [Procedure 2]: In procedure 2 (realized by the learning unit  14 ), the probabilistic model P is learned so as to input the data group in the normal state as training data and restore the input data. For example, a vector in which spectra are arranged can be input x. 
     When the number of dimensions is several thousand dimensions, it is difficult to estimate the probability model of a high dimensional vector. Therefore, in abnormality detection system  1 , deep learning is used for estimation of probability model. For example, it becomes the following latent variable model. Note: “:=” in the following mathematical expression indicates the meaning of “to define”. 
     
       
         
           
             
               p 
               ⁡ 
               ( 
               
                 x 
                 ; 
                 θ 
               
               ) 
             
             := 
             
               
                 
                   ∫ 
                   
                     
                       p 
                       ⁡ 
                       ( 
                       
                         x 
                         , 
                         
                           z 
                           ; 
                           θ 
                         
                       
                       ) 
                     
                     ⁢ 
                     dz 
                     ⁢ 
                        
                     
                       p 
                       ⁡ 
                       ( 
                       
                         x 
                         , 
                         
                           z 
                           ; 
                           θ 
                         
                       
                       ) 
                     
                   
                 
                 : 
               
               = 
               
                 
                   p 
                   ⁡ 
                   ( 
                   
                     
                       x 
                       | 
                       z 
                     
                     ; 
                     θ 
                   
                   ) 
                 
                 ⁢ 
                 
                   p 
                   ⁡ 
                   ( 
                   z 
                   ) 
                 
               
             
           
         
       
     
     In the above: z is generated from N(0, I), then from z, x is generated from N(μ(z;θ), σ(z;θ)). However, the neural network characterized by μ(z;θ), σ(z;θ) parameter θ is used. Then, θ is optimized so as to maximize the log probability Σ log p(x;θ) of the training data X. 
     The optimization of θ is difficult because of the calculation of the sum of the log probability. 
     
       
         
           
             
               p 
               ⁡ 
               ( 
               
                 x 
                 ; 
                 θ 
               
               ) 
             
             := 
             
               ∫ 
               
                 
                   p 
                   ⁡ 
                   ( 
                   
                     
                       x 
                       | 
                       z 
                     
                     ; 
                     θ 
                   
                   ) 
                 
                 ⁢ 
                 
                   p 
                   ⁡ 
                   ( 
                   z 
                   ) 
                 
                 ⁢ 
                 dz 
               
             
           
         
       
     
     Therefore, in abnormality detection system  1 , the following variational lower limit is used. 
     
       
         
           
             
               
                 
                   
                     
                       log 
                       ⁢ 
                       
                         p 
                         ⁡ 
                         ( 
                         
                           x 
                           ; 
                           θ 
                         
                         ) 
                       
                     
                     : 
                   
                   = 
                     
                   
                     log 
                     ⁢ 
                     
                       ∫ 
                       
                         
                           p 
                           ⁡ 
                           ( 
                           
                             x 
                             , 
                             
                               z 
                               ; 
                               θ 
                             
                           
                           ) 
                         
                         ⁢ 
                         dz 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   
                     log 
                     ⁢ 
                     
                       ∫ 
                       
                         
                           p 
                           ⁡ 
                           ( 
                           
                             x 
                             , 
                             
                               z 
                               ; 
                               θ 
                             
                           
                           ) 
                         
                         ⁢ 
                         
                           
                             q 
                             ⁡ 
                             ( 
                             
                               
                                 z 
                                 | 
                                 x 
                               
                               ; 
                               φ 
                             
                             ) 
                           
                           / 
                           
                             q 
                             ⁡ 
                             ( 
                             
                               
                                 z 
                                 | 
                                 x 
                               
                               ; 
                               φ 
                             
                             ) 
                           
                         
                         ⁢ 
                         dz 
                       
                     
                   
                 
               
             
             
               
                 
                   &gt;= 
                     
                   
                     ∫ 
                     
                       
                         q 
                         ⁡ 
                         ( 
                         
                           
                             z 
                             | 
                             x 
                           
                           ; 
                           φ 
                         
                         ) 
                       
                       ⁢ 
                       log 
                       ⁢ 
                       
                         
                           p 
                           ⁡ 
                           ( 
                           
                             x 
                             , 
                             
                               z 
                               ; 
                               θ 
                             
                           
                           ) 
                         
                         / 
                         
                           q 
                           ⁡ 
                           ( 
                           
                             
                               z 
                               | 
                               x 
                             
                             ; 
                             φ 
                           
                           ) 
                         
                       
                       ⁢ 
                       dz 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   
                     
                       Eq 
                       ⁡ 
                       ( 
                       
                         
                           z 
                           | 
                           x 
                         
                         ; 
                         φ 
                       
                       ) 
                     
                     [ 
                     
                       log 
                       ⁢ 
                       
                         
                           p 
                           ⁡ 
                           ( 
                           
                             x 
                             , 
                             
                               z 
                               ; 
                               θ 
                             
                           
                           ) 
                         
                         / 
                         
                           q 
                           ⁡ 
                           ( 
                           
                             
                               z 
                               | 
                               x 
                             
                             ; 
                             φ 
                           
                           ) 
                         
                       
                     
                     ] 
                   
                 
               
             
             
               
                 
                   = 
                     
                   
                     L 
                     ⁡ 
                     ( 
                     
                       θ 
                       , 
                       φ 
                     
                     ) 
                   
                 
               
             
           
         
       
     
     Here, φ is a parameter that characterizes a neural network that generates a joint probability model. In the above equation: q(z, x) means the probability distribution defined by the neural network. Then, q(z|x) means the conditional probability of x conditioned by z calculated with its probability distribution q(z, x). 
     At this time, in order to maximize L(θ, φ), θ and φ are simultaneously optimized by using a variational auto encoder (hereinafter referred to as VAE). 
     
       
         
           
             
               L 
               ⁡ 
               ( 
               
                 θ 
                 , 
                 φ 
               
               ) 
             
             = 
             
               
                 Eq 
                 ⁡ 
                 ( 
                 
                   
                     z 
                     | 
                     x 
                   
                   ; 
                   φ 
                 
                 ) 
               
               [ 
               
                 log 
                 ⁢ 
                 
                   
                     p 
                     ⁡ 
                     ( 
                     
                       x 
                       , 
                       
                         z 
                         ; 
                         θ 
                       
                     
                     ) 
                   
                   / 
                   
                     q 
                     ⁡ 
                     ( 
                     
                       
                         z 
                         | 
                         x 
                       
                       ; 
                       φ 
                     
                     ) 
                   
                 
               
               ] 
             
           
         
       
     
     Specifically, the gradients dL/dθ and dL/dφ are obtained for the L(θ, φ) maximization parameters θ and φ by utilizing the stochastic gradient descent method, and θ and φ are simultaneously optimized. 
     When estimating the gradient dL/dφ by the Monte Carlo method, the variance can be large. Therefore, by using a variable conversion trick (also called a reparameterization trick), the gradient dL/dφ can be estimated faster. 
     For learning of q(z|x;φ) at the encoder and p(x|z;θ) at the decoder, a neural network is used. 
     [Procedure 3]: In procedure 3 (realized by the measurement unit  12 ) learned encoders and decoders are prepared, and probability p(x) by P is calculated with determination data which performs abnormality detection as an input. The probability p(x) is correlated with the abnormality degree of each dimension with respect to the output result of the learned encoder and decoder with respect to the determination data input. 
     [Procedure 4]: In procedure 4 (realized by measurement unit  12  or determination unit  13 ), probability p(x) is converted into score S(x) to be smoothed. For example, conversion processing includes logarithm and the like. 
     When the score S(x) value is bumpy, the smoothed version may be used as the output. For example, Locally Weighted Scatterplot Smoothing can be used. 
     However, when the rise of change is delayed by the above smoothing method, it is possible to adopt a smoothing method in which the rise of change is earlier. 
     [Procedure 5]: In procedure 5 (realized by the determination unit  13 ), when S(x) exceeds the threshold value, it is determined as abnormality. 
     With respect to certain processing actions, the abnormality detection system  1  learns the latent variable model and the joint probability model at the same time. Therefore, the abnormality detection system  1  does not require feature design. A neural network may be used for modeling the latent variable model and the joint probability model. 
     The abnormality detection system  1  is characterized in that input data in a step that simultaneously performs learning of the latent variable model and joint probability model is a multidimensional array or a tensor. Therefore, abnormality detection system  1  does not require prior knowledge about data and applications. 
     The abnormality detection system  1  consists of n sensors and learns n joint probability models. Therefore, according to the abnormality detection system  1 , even if the number of sensors increases, the abnormality detection system  1  can deal with by learning a joint probability model. Specifically, abnormality can be detected by considering the correlation between n sensors. 
     The abnormality detection system  1  uses a neural network when learning the conditional probability p(z|x) and the conditional probability p(x|z). Therefore, according to abnormality detection system  1 , learn can be performed linearly with respect to the number of parameters regardless of the number of sensor data observed. 
     According to the abnormality detection system  1 , for example, sensor data transmitted from a large number of sensors provided in many machines, for example, a high dimensional sensor data including image data, or sensor data including combinations thereof can be handled integrally. Therefore, abnormality detection can be performed with higher efficiency and higher processing speed. 
     The abnormality detection system  1  uses SVM, LOF, or VAE when learning the latent variable model. Therefore, the abnormality detection system  1  can nonlinearly convert input data expression. In particular, when using VAE, nonlinear conversion can be performed regardless of the number of parameters of input data. 
     When the abnormality detection system  1  uses VAE, the abnormality detection system  1  can learn similarity from sensor data. Therefore, the abnormality detection system  1  does not need to manually design the similarity design between sensor data. 
     When the abnormality detection system  1  uses VAE, the abnormality detection system  1  can acquire the characteristic which becomes the basis of sensor data by dropping the dimension of sensor data. Therefore, the abnormality detection system  1  can convert a wider range of data expressions. 
     When the abnormality detection system  1  uses VAE, the abnormality detection system  1  can convert data expressions not only by the number of parameters of data but also by linear calculation time. Therefore, the abnormality detection system  1  can perform conversion of data expressions with high efficiency. 
     In the abnormality detection system  1 , devices in different places may be configured by communicating using communication means. The sensor data is sent to another arithmetic unit by a communication means, and learning and abnormality detection determination can be performed by the arithmetic unit. 
     For example, it is possible to perform a notification corresponding to an action determined by analyzing the determination result by the abnormality detection system  1  and an output processing to make predetermined control. 
     Also, the abnormality detection system  1  does not limit the location of each step. For example, installation of sensor and implementation of learning step can be performed in different places. The location of abnormality detection or abnormality determination is not particularly limited. The abnormality detection and the abnormality determination can be done in the same place or in different places. 
     In a second embodiment, although the abnormality detection system  1  according to the first embodiment has been mainly explained in the case of using VAE as a model of machine learning, in this second embodiment, a case in which adversarial auto encoder (AAE) is used as a model of machine learning will be described as follows. 
       FIG. 8  is a conceptual diagram showing an abnormality detection system according to a second embodiment of the present invention using AAE. When AAE is used for abnormality detection system, as shown in this  FIG. 8 , it is a feature to learn discriminators in addition to learning of encoder and decoder. 
     A flow of learning processing of AAE will be described. The learning of the AAE is performed in two stages of a restoration phase (Reconstruction phase) in which the encoder and the decoder are learned and a regularization phase in which the discriminator is learned. Learning at the restoration stage firstly inputs the training data x which is normal data to the encoder, infers the expression z (latent variable z) of the input data, inputs the expression z of the input data to the decoder, and generates the restored data x˜. The latent variable model is to infer the expression z of the input data. The joint probability model is to generate the restored data x˜ from the expression z. Next, the training data x is compared with the restored data x˜ to calculate a reconstruction error. Then, by referring to the reconstruction error, the parameters of the encoder and decoder are updated, for example, by the stochastic gradient descent method so as to reduce the reconstruction loss. 
     In the learning at regularization stage, discriminators are learned, and at that time, learning is also performed for encoders that infer the expression z 0  of input data to be input to the discriminator. First, the training data x which is normal data is input to the encoder, and the expression z 0  of the input data is inferred based on the latent variable model, and on the other hand, sampling is performed from the sample generator (Sampler) to produce a false expression z 1 . It is desirable to prepare multiple z 0  and z 1  for suitable learning. Based on z 0  and z 1 , training data (z 0 , 0), (z 1 , 1) to be input to the discriminator are created. Here, 0 or 1 is a correct label. It indicates whether each training data is an expression z 0  based on normal data or a false expression z 1 . In the discriminator, learning is performed so as to discriminate between expression z 0  based on normal data and false expression z 1  using the training data (z 0 , 0), (z 1 , 1). Specifically, in order to distinguish the training data (z 0 , 0) based on the normal data from the false training data (z 1 , 1) sampled from the sample generator (Sampler), the discriminator first updates the parameter of the discriminator. The discriminator then updates the parameters of the encoder to confuse the network for discrimination at the discriminator. The learned discriminator outputs the probability that the input is real data (the probability that the input is a sample of the prior distribution). In this way, a regularization error is obtained in the process of distinguishing between normal data and false data in the discriminator, and not only the discriminator but also the parameters of the encoder are updated and learned using the regularization error, so that this improves the accuracy of inference in the encoder and improves the discrimination accuracy of the discriminator. 
     A flow of abnormality detection processing using AAE will be described. A learned model is prepared with sufficient learning. The data of abnormality detection target is input into the encoder of the learned model, the expression of the data of abnormality detection target is inferred, and the restored data is generated from the expression in the decoder. The obtained restored data is compared with the input data of abnormality detection target, and abnormality is detected from the deviation between them. In addition, by inputting the expression of abnormality detection target data to the discriminator, it is possible to discriminate whether it is an expression based on normal data or a false expression. 
     As described above, according to the abnormality detection system using AAE, the latent variable model and the joint probability model are learned based on normal data in advance. At the same time, with regard to the discriminator, learning is performed. By using the discriminator&#39;s output, not only the discriminator but also the encoder and decoder are learned together. Therefore, highly accurate abnormality detection becomes possible. In AAE, complexity distribution can be used if sampling is possible, and therefore it is expected that the expressive power of the decoder is increased and the accuracy of generation is increased. 
     In a third embodiment, the case of using LVAE (Ladder Variational Auto Encoder: Ladder Variable Self Coder) as a machine learning model will be explained. 
       FIG. 9  is a conceptual diagram showing an abnormality detection system according to the third embodiment of the present invention using LVAE. When LVAE is used for the abnormality detection system, as shown in  FIG. 9 , learning of the encoder and the decoder is performed. There is a feature in that the parameters of the encoder are used while this decoder generates restored data from the expression z. 
     The flow of learning processing of LVAE will be described. In the learning of LVAE, the training data x, which is normal data, is input to the encoder, the expression z (latent variable z) of the input data is inferred, the expression z of the input data is input to the decoder, and the restored data x˜ are generated. This feature is the same as the first and second embodiments. In detail, as shown in  FIG. 9 , in the latent variable model, the result for each hierarchy is obtained from the input data x through each hierarchy in the order of d 1 →d 2 →d 3 , and finally the expression z 3  is generated. In the joint probability model, the result for each hierarchy is obtained from the expression z 3  through each hierarchy in the order of z 3 →z 2 →z 1 , and finally the restored data x ˜  is generated. The number of hierarchies is an example, and it is not limited thereto. 
     In the decoder, when generating restored data x˜ via the order of z 3 →z 2 →z 1 , the average μ ˜   3  and variance σ ˜   3  obtained from d 3  in the encoder are used for sampling of z 3 . By adding noise ε 3  at the time of sampling of z 3 , error back propagation is enabled even if there is a stochastic function portion. Similarly, the average μ 2  and the variance σ ˜   2  obtained from d 2  in the encoder are used to find the average μ 2  and the variance σ 2  for sampling of z 2 . Similarly, the average μ ˜   1  and the variance σ ˜   1  obtained from d 1  in the encoder are used to find the average μ 1  and variance σ 1  for sampling of z 1 . In this manner, in each layer of the decoder, processing of the decoder is performed by using parameters in the corresponding layer of the encoder. In this manner, the restored data x˜ generated in the decoder is compared with the training data x to calculate the difference, and the parameters of each layer of the encoder and decoder are updated so as to eliminate the difference. After that, learning is repeated so that the training data x and restored data x˜ coincide with each other. 
     A flow of abnormality detection processing using LVAE will be explained. A learned model with sufficient learning is prepared. The data of abnormality detection target is input into the encoder of the learned model, the expression of the data of abnormality detection target is inferred, and the restored data is generated from the expression in the decoder. The obtained restored data is compared with the input data for abnormality detection target, and abnormality is detected from the deviation between them. 
     As described above, according to the abnormality detection system using LVAE, decoders perform processing using the parameters in the corresponding layers of the encoder in each layer of the decoder. Therefore, by correcting the probability distribution modeled by the decoder in a data-dependent manner through the encoder, it is possible to properly perform learning even with a complicated model in which a plurality of sampling operations are performed. 
     In a fourth embodiment, the case of using auxiliary deep generative model (ADGM) as a machine learning model will be explained. 
       FIG. 10  is a conceptual diagram showing an abnormality detection system according to a fourth embodiment of the present invention using ADGM. In  FIG. 10 , a solid arrow represents the sampling process, a dashed arrow represents copy of data, and a dash-dotted arrow represents calculation of loss L. When ADGM is used for abnormality detection system, learning of the encoder and the decoder is performed as shown in this  FIG. 10 . However, this ADGM is an extension of the VAE concept of the first embodiment by adding the auxiliary variable a. In the ADGM, when the input data x, the latent variable z, and the auxiliary variable a are given, when the calculation flow of the arrow in  FIG. 10  is expressed by an appropriate neural network, the probability distribution q(z|a, x), q(a|x), p(a|x, z), p(x|z) can all be calculated. It is assumed that p(z) is a given probability distribution (e.g., standard normal distribution). 
     The flow of learning processing of ADGM will be described. In the learning of ADGM, the training data x which is normal data is input into the encoder, the expression z (latent variable z) of the input data is inferred, the expression z of the input data is input into the decoder, and the restored data x˜ is generated. The feature is the same as the first to third embodiments. In this fourth embodiment, further, processing is also performed to infer auxiliary variable a using the training data x and the expression z, and also to infer the auxiliary variable a from the expression z and restored data x˜. Then, the value of the loss (error function) L is obtained by the following equation. 
     
       
         
           
             L 
             = 
             
               
                 log 
                 [ 
                 
                   p 
                   ⁡ 
                   ( 
                   
                     
                       x 
                       ∼ 
                     
                     | 
                     z 
                   
                   ) 
                 
                 ] 
               
               + 
               
                 log 
                 [ 
                 
                   
                     p 
                     ⁡ 
                     ( 
                     
                       
                         a 
                         | 
                         
                           x 
                           ∼ 
                         
                       
                       , 
                       z 
                     
                     ) 
                   
                   / 
                   
                     q 
                     ⁡ 
                     ( 
                     
                       a 
                       | 
                       x 
                     
                     ) 
                   
                 
                 ] 
               
               + 
               
                 log 
                 [ 
                 
                   
                     p 
                     ⁡ 
                     ( 
                     z 
                     ) 
                   
                   / 
                   
                     q 
                     ⁡ 
                     ( 
                     
                       
                         z 
                         | 
                         a 
                       
                       , 
                       x 
                     
                     ) 
                   
                 
                 ] 
               
             
           
         
       
     
     Learning is repeated so that the value of the loss L becomes sufficiently small. Since it is difficult to directly calculate the log probability p(x) in the calculation of the loss L, it is obtained by maximizing the variational lower limit. 
     A flow of abnormality detection processing using ADGM will be explained. A learned model with sufficient learning is prepared. The data of abnormality detection target is input into the encoder of the learned model, the expression of the data of abnormality detection target is inferred, and the restored data is generated from the expression in the decoder. The obtained restored data is compared with the input data for abnormality detection target, and abnormality is detected from the deviation between them. 
     As described above, according to the abnormality detection system using the ADGM, the auxiliary variable a is introduced to the processing in the encoder and the decoder and the processing for inferring the auxiliary variable a is performed at the same time, and therefore, it is expected that the decoder will be able to model complex probability distributions and the accuracy of generation will be higher. 
     With regard to a method of abnormality detection, in the first embodiment, as a method of abnormality detection, it is described that the sensor data is determined to be normal or abnormal based on probability, and the method of this determination can also be adopted in the second to fourth embodiments. In the first to fourth embodiments, calculation of the probability is not performed, but deviation between the input data x and the restored data x˜ may be calculated so as to detect abnormality or normality according to the amount of deviation. Specifically, the deviation of the component for each dimension of the input data x and the restored data x˜ is obtained by performing calculations such as (x i −x 1 ˜) 2 , and if there is large deviation in any dimension, it may be determined to be abnormal. 
     A first improvement in learning and in abnormality detection is provided as follows. In the first to fourth embodiments, inference of values such as latent variable z, expression z, auxiliary variable a, and the like are respectively obtained by sampling from a stochastic function, but it has been explained that sampling is performed only once, and the latent variables z, the expression z, the auxiliary variable a, and the like are obtained to calculate the loss L. However, the present invention is not limited thereto. It is also possible to perform sampling a plurality of times, to calculate the loss L for each obtained value, and to obtain the average. By thus sampling multiple times, deviation in sampling can be absorbed, so it can be expected to improve learning efficiency and to improve abnormality detection accuracy. 
     In a second improvement in learning and in abnormality detection, in the first to fourth embodiments, in any of the learning process and abnormality detection process, the input data x is input to the encoder, the expression z (latent variable z) of the input data is inferred, and the expression z of the input data is input to a decoder to generate restored data x˜, and abnormality detection is performed by comparing the input data x with the restored data x˜. However, in this case, there is a case where the obtained restored data x˜ is not sufficiently close to the value of normal data. Therefore, the restored data x˜ obtained by one inference and generation process may be further input to the encoder. For example, the restored data close to the value of normal data can be obtained by repeating process including generating restored data x 0 ˜ from input data x, generating restored data x 1 ˜ from restored data x 0 ˜, generating restored data x 2 ˜ from restored data x 1 ˜, inputting the obtained output to the encoder again. In this case, the loss L may be calculated for each process of inference and generation, and the sum of the losses L may be calculated, or the restored data finally obtained by repeating processing a plurality of times (in the example, restored data x 2 ˜) may be compared with the input data x to calculate the loss L. In this way, by calculating the loss L after repeating a plurality of inferences and generation processes, improvement of learning efficiency and improvement of abnormality detection accuracy can be expected. 
     Other embodiments are described as follows. The abnormality detection system  1  can be used for a failure prediction system of a machine and an electronic device. The failure prediction system according to the present embodiment not only predicts event that can occur by sequentially processing data collected from various data sources but also realizes controlling, with a series of operation, determination of appropriate action (countermeasure) for the detected event (occurrence of event) and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     For example, it is possible to use for a failure prediction system of multiple industrial machines and robots in factories, and it is possible to use for an abnormality prediction system of infrastructure such as electric power. It is possible to use for an abnormality prediction system of multiple parts such as aircraft and automobiles. 
     The abnormality detection system  1  can be used for prediction system of replacement time of consumables and parts. The prediction system according to the present embodiment not only predicts event that can occur by sequentially processing data collected from various data sources but also realizes controlling, with a series of operation, determination of appropriate action (countermeasure) for the detected event (occurrence of event) and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     For example, it is possible to use for prediction and notification of the replacement timing of consumables including engine oils of aircraft, automobiles, and the like. It is possible to use for prediction and notification of the replacement timing of consumables such as drill teeth of a machine tool. 
     The abnormality detection system  1  can be used for a general purpose supervisory control system. The supervisory control system according to the present embodiment not only detects event that can occur by sequentially processing data collected from various data sources but also realizes controlling, with a series of operation, determination of appropriate action (countermeasure) for the detected event (occurrence of event) and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     For example, it can be used for home security monitoring system. It can also be used for monitoring systems such as buildings, public facilities, horticulture and the like. 
     The abnormality detection system  1  can be used for network security monitoring system. The monitoring system according to the present embodiment realizes controlling, with a series of operation, detection of an event that can occur by sequentially processing data collected from various data sources, determination of appropriate action (countermeasure) for the detected event (occurrence of event), and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     The abnormality detection system  1  can be used for medical imaging diagnostic system. The image diagnosis system according to the present embodiment realizes controlling, with a series of operation, detection of an event that can occur by sequentially processing data collected from various data sources, determination of appropriate action (countermeasure) for the detected event (occurrence of event), and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     For example, CT or NMR image recognition technology is used for early detection and early treatment of cancer. In past systems, abnormality and phenomena were found from these images by doctor&#39;s advanced expertise and judgment of doctors who have extensive experience. However, by using this system, it is possible to detect an abnormal phenomenon (an abnormal tissue image different from a normal tissue image pattern) with higher accuracy and speed. 
     The abnormality detection system  1  can be used for quality control of cell preparations in regenerative medicine. The image diagnosis system according to the present embodiment realizes controlling, with a series of operation, detection of an event that can occur by sequentially processing data collected from various data sources, determination of appropriate action (countermeasure) for the detected event (occurrence of event), and output processing for performing notification corresponding to the action determined for the related system and the predetermined control. 
     In addition, for the determined action (occurred event), the actual action result (including the case where the action itself is not performed) actually performed by the related system is accumulated as feedback information, and the detection precision of the event is improved to make it possible to provide additional information that is highly usable for the system linked with the supervisory control system. 
     For example, when inducing the differentiation of pluripotent stem cells into stem cells, progenitor cells or differentiated cells of each tissue, the heterogeneity of the cell preparation which is the final product due to the nonuniform differentiation efficiency is a problem. Therefore, by using abnormality detection system  1 , abnormal cell images different from normal cell image patterns can be detected with higher accuracy and speed. 
     In the configurations described in each embodiment of the abnormality detection system  1  above, the abnormality detection system  1  which is merely an example can be appropriately changed within a range not deviating from the technical idea. Further, the configurations described in the respective embodiments may be used in combination as long as they do not contradict each other. 
     As described above, the abnormality detection system  1  can be realized by one or a plurality of computer devices, and each function can be configured as a program. For example, it is stored in the auxiliary storage device  105  shown in  FIG. 2 , the control unit such as the CPU  100  reads the program for each function of the monitoring control system stored in the auxiliary storage device  105  to the RAM  101 , the control unit executes the program read to the RANI  101 , and the respective functional blocks of the present embodiment can be operated by one or a plurality of computers. That is, one or a plurality of computers in which program of each function of the monitoring control system of the present embodiment is installed can operate as a computer device (system) performing each function alone or in cooperation. 
     In addition, the above program is a state recorded in a computer-readable recording medium, and examples of computer readable recording media which can be provided to the computer include an optical disk such as a CD-ROM, a phase change type optical disk such as a DVD-ROM, magnetooptical disks such as magnet optical (MO) or mini disk (MD), magnetic disks such as floppy (registered trademark) disks and removable hard disks, memory cards such as compact flash (registered trademark), smart media, SD memory cards, memory sticks, and the like. Further, a hardware device such as an integrated circuit (IC chip or the like) specially designed and constructed for the purpose of the present invention is also included as the recording medium. 
     Although the embodiment of the present invention has been described, the embodiment has been presented as an example, and it is not intended to limit the scope of the invention. This novel embodiment can be implemented in various other forms, and various omissions, substitutions, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention and are included in the invention described in the claims and the equivalent scope thereof. 
     As shown in the Figs., a Reference Signs List is as follows:
       1  abnormality detection system     10  storage unit     11  acquisition unit     12  measurement unit     13  determination unit     14  learning unit