Information processing apparatus, information processing method, and program
The method enhances counterfactual explanation generation for time-series data by using autoencoders to learn and modify low-dimensional features, addressing accuracy and locality issues in conventional techniques, particularly with non-differentiable models.
Patent Information
- Application Number
- JP2024113756
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional techniques for generating counterfactual explanations for time-series data lack accuracy and fail to consider the locality and magnitude of waveform variations, especially when non-differentiable decision models are used.
An information processing device and method that extracts low-dimensional features maintaining time order, calculates importance of time points, and selects change regions in a latent space to generate counterfactual waveforms, using autoencoders like VAEs to learn and modify time-series data.
Generates counterfactual waveforms with higher accuracy by locally modifying time-series data, preserving temporal order and efficiently searching for change regions, applicable to time-series classification and anomaly detection.
Smart Images

Figure 2026013445000001_ABST
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] There is an increasing need for time series waveform analysis technology that uses machine learning models (decision models) to judge time series data. In addition to judgment performance, such technology may also require explainability that clearly presents the basis for the judgment. Therefore, research is being conducted on technology that provides judgment grounds by focusing on observed time series data.
[0003] Counterfactual explanation is a technique that has been proposed as a way to present the basis for a decision. Counterfactual explanation involves generating and presenting time-series data (counterfactual waveforms) that have been modified from the time-series data used in the decision, so that the desired result, different from the decision result obtained by the decision model, can be obtained. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] William Todo et al., “Counterfactual Explanation for Multivariate Times Series Using A Contrastive Variational Autoencoder”, ICASSP 2023, Pages 1-5. [Non-patent document 2] Martin Pawelczyk et al., “Learning Model-Agnostic Counterfactual Explanations for Tabular Data”, WWW '20: Proceedings of The Web Conference 2020, Pages 3126-3132. Summary of the Invention [Problem to be solved by the invention]
[0005] An object of the present invention is to provide an information processing device, an information processing method, and a program that are capable of generating data representing counterfactual explanations with higher accuracy. [Means for solving the problem]
[0006] An information processing device according to an embodiment includes a processing unit. The processing unit obtains a first feature and a second feature using an encoder that extracts a first feature including a feature indicating a time order from input time series data and a second feature different from the first feature. The processing unit obtains output time series data based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature. The processing unit trains the encoder and decoder so as to reduce a difference between the input time series data and the output time series data. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 10 is a diagram showing an example of generating a counterfactual waveform. [Figure 2] FIG. 10 is a diagram showing an example of generating a counterfactual waveform. [Figure 3] FIG. 1 is a block diagram of an information processing apparatus according to an embodiment. [Figure 4] FIG. 10 is a diagram showing an example of the configuration of an autoencoding unit that uses a VAE. [Figure 5] FIG. 10 is a diagram showing an example of the configuration of an autoencoding unit that uses a conditional VAE. [Figure 6] 10 is a flowchart of a learning process according to an embodiment. [Figure 7] 10 is a flowchart of a generation process according to an embodiment. [Figure 8] FIG. 1 is a hardware configuration diagram of an information processing apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an information processing apparatus according to the present invention will be described in detail below with reference to the accompanying drawings.
[0009] Conventional techniques for counterfactual explanations have sometimes been unable to generate data (counterfactual waveforms) that represent counterfactual explanations for time-series data with high accuracy. For example, conventional techniques have had the following problems: (PA) Many conventional techniques are based on the assumption that differentiable neural networks are used as decision models. Techniques based on differentiable decision models cannot be applied to time-series waveform analysis techniques, which often use non-differentiable decision models. (PB) Because the locality of the waveforms shown by the counterfactual waveform and the original time series data is not taken into account, the entire time series data may be changed. In other words, it is not possible to generate a counterfactual explanation that locally changes the time series data. In (PC) time series data, even a waveform indicating normality may contain areas with large variations and areas with small variations. In areas with small variations, even slight differences in waveform can affect the judgment, so it is desirable to take the magnitude of variations into consideration when generating a counterfactual waveform. However, conventional techniques do not take the magnitude of waveform variations into consideration.
[0010] In order to solve at least part of the above problems, the present embodiment has the following functions, for example. (F1) A function that extracts features with lower dimensions than the dimensions of the time series data, taking into account the structure of the time series data. (F2) A function to calculate the importance of each time point (each point) of time series data when learning the latent space. (F3) A function to select the change region of the time series data to generate the counterfactual waveform in the latent space taking into account the structure of the time series data.
[0011] Features extracted from time series data are represented by vectors, for example. Features represented by vectors are sometimes called feature vectors. Note that the latent space is information obtained from the extracted features, and can be represented by vectors in the same way as feature vectors. The latent space can also be interpreted as information (feature vectors) that represents the features of time series data.
[0012] A low-dimensional feature that takes into account the structure of time-series data is, for example, a feature vector that maintains the time order relationship of the time-series data, in other words, a feature vector FA (first feature) that includes features that indicate the time order. A feature vector FB (second feature) that is different from the feature vector FA that includes features that indicate the time order is further extracted from the time-series data.
[0013] In this embodiment, a latent space based on features (feature vectors) that maintain the temporal order of time-series data is learned, and a counterfactual waveform is generated by locally modifying the time-series data by utilizing the temporal order maintained in the latent space.
[0014] The time-series waveform analysis method of this embodiment will be described below. The time-series waveform analysis method of this embodiment can be divided into two phases: a learning phase and a generation phase.
[0015] The first phase, the learning phase, is a phase in which a latent space of a time series dataset is learned using multiple pieces of time series data (time series datasets). Learning the latent space corresponds to, for example, obtaining a latent space from input time series data (input time series data) and learning a model (encoder, decoder) that restores the input time series data from the obtained latent space. This model is used to generate a counterfactual waveform and is different from the decision model used to judge the time series data. Learning the latent space may be performed independently of learning the decision model, or may be performed together with learning the decision model.
[0016] The generation phase is a phase in which a counterfactual waveform is generated for target time series data (test time series data) to be judged using the latent space (model) learned in the training phase. The target time series data is, for example, time series data observed as a target for judgment by the judgment model.
[0017] This embodiment can be used to generate a counterfactual waveform corresponding to a counterfactual explanation for target time series data when a trained decision model is given in advance. Here, an example of generating a counterfactual waveform will be described. Figures 1 and 2 are diagrams showing an example of generating a counterfactual waveform.
[0018] Figure 1 shows an example of the application of this analysis technique to a time series dataset of motion waveforms containing two classes: firing a real gun and pointing a finger without holding a gun. For example, the solid waveform corresponds to the waveform observed when pointing a finger. The dashed waveform corresponds to the counterfactual waveform obtained by modifying the observed waveform to represent firing a real gun.
[0019] In an application example like that shown in Figure 1, it is known that when a real gun is fired, a bump appears when the gun is removed from the holster, and when a finger is pointed, an overshoot occurs when the arm is lowered. In Figure 1, as expected, a counterfactual waveform is generated that generates the bump 11 that is characteristic of firing a real gun, while suppressing the overshoot 12 that is characteristic of pointing a finger.
[0020] Figure 2 shows an example of the application of this analysis technology to a time-series dataset that represents the daily changes in pedestrian numbers in a downtown area, and that dataset contains two classes: one representing weekdays and one representing holidays. For example, the solid waveform corresponds to the waveform observed as time-series data representing the changes in pedestrian numbers on weekdays. The dashed waveform corresponds to the counterfactual waveform obtained by modifying the observed waveform to represent holidays.
[0021] In an application example like Figure 2, it is known that the number of pedestrians increases late at night on holidays compared to weekdays. In Figure 2, as expected, a counterfactual waveform is generated that includes an area 21 where the number of pedestrians increases late at night.
[0022] When generating a counterfactual waveform, the class of the observed original time series data (target time series data) may be unknown, and the class can be predicted using a trained decision model. The designated class (desired class) designated by the user as the class of interest is a class different from the target time series data. For example, when there are two classes, normal and abnormal, if the target time series data is detected (determined) to be abnormal, the designated class is designated as the class indicating normal. When there are two or more abnormal classes, if the target time series data is detected to be a certain abnormality (hereinafter referred to as abnormality AA), the designated class may be designated as a class indicating an abnormality different from abnormality AA.
[0023] In the case of anomaly detection targeting time series data (waveform anomaly detection), the judgment model is an anomaly detection model that inputs time series data and judges to which of multiple classes the input time series data belongs, including a normal class indicating normality and an abnormal class indicating abnormality. The input time series data used when training the anomaly detection model may be time series data that can be considered to belong to the normal class. The judgment model for anomaly detection can also be interpreted as an anomaly detection model that outputs an anomaly score or a normality score that indicates the degree of abnormality or normality of the time series data.
[0024] The anomaly detection model may be configured in any manner, but may be configured to include, for example, a generative model that generates a waveform feature vector of input time-series data and a judgment model that uses the waveform feature vector to determine to which of multiple classes the time-series data belongs. The generative model can be realized, for example, by MiniRocket or catch22. The judgment model that uses the waveform feature vector can be realized, for example, by LOF (Local Outlier Factor) or Isolation Forest.
[0025] In the case of class classification targeting time-series data (time-series classification), the decision model can also be interpreted as a model that inputs time-series data and outputs the predicted probability of each class.
[0026] Next, we explain why we deal with the latent space rather than the time series data itself. When the length of the time series data is T points (T is an integer greater than or equal to 2), we do not consider the time series data to be able to take any value in a T-dimensional vector space, but rather consider it to be distributed in a lower-dimensional (m-dimensional, m is an integer less than T) latent space.
[0027] Based on this idea, if an m-dimensional vector in the latent space is modified so as not to deviate from the distribution in the latent space, it can be expected that the time series data with a length of T points corresponding to the modified m-dimensional vector will maintain a waveform that can be observed in reality, even if the waveform changes. Therefore, rather than modifying the time series data itself, a counterfactual waveform is generated in the latent space so that it does not deviate significantly from the original time series data. Another reason is that because the latent space is low-dimensional, searching for a counterfactual waveform can be more efficient than searching for time series data with a length of T points.
[0028] An example of the configuration of an information processing device capable of executing the learning phase and the generation phase will be described below. As will be described later, the information processing device may be configured to execute either the learning phase or the generation phase.
[0029] 3 is a block diagram showing an example of the configuration of the information processing device 100 according to the embodiment. As shown in FIG. 3, the information processing device 100 includes a storage unit 131, an acquisition unit 101, a learning control unit 110, a generation unit 120, and an output control unit 102.
[0030] The storage unit 131 stores various types of information used in the information processing device 100. For example, the storage unit 131 stores input time series data (input time series data, target time series data), output time series data (output time series data), parameters of each model, and the like.
[0031] The storage unit 131 can be configured from any commonly used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), an HDD (Hard Disk Drive), and an optical disk.
[0032] The acquiring unit 101 acquires various information used in the information processing device 100. For example, the acquiring unit 101 acquires input time series data (input time series data, target time series data) and information on a determination model.
[0033] In the learning phase, the acquiring unit 101 acquires multiple pieces of input time series data (time series datasets) to be used for learning. In the case of anomaly detection, the time series dataset may be a normal time series dataset that does not include anomalous data, or a time series dataset that includes only a small amount of anomalous data. In the case of time series classification, the time series dataset may be a time series dataset of all classes, or a time series dataset that includes a specified class.
[0034] In the learning phase, it is not essential to acquire information about the determination model. When the importance of each time point in the time-series data is taken into consideration, the acquiring unit 101 may acquire information about the determination model in the learning phase.
[0035] The acquisition unit 101 may acquire information by any method, for example, a method of receiving information from an external device via a network, or a method of reading information from a storage medium.
[0036] The learning control unit 110 controls the processing in the learning phase. The learning control unit 110 includes an autoencoder 111, a calculator 112, and a learning unit 113.
[0037] The autoencoding unit 111 performs autoencoding of input time series data to obtain output time series data corresponding to the input time series data. For example, the autoencoding unit 111 includes an encoder and a decoder.
[0038] An encoder is a function that encodes input time series data and outputs feature vectors. For example, an encoder extracts and outputs a feature vector FA that includes features indicating the time sequence from the input time series data, and a feature vector FB that is different from the feature vector FA.
[0039] The decoder is a function that receives the feature vectors output by the encoder, generates output time series data, and outputs it. For example, the decoder receives feature vectors FA and FB, and generates and outputs output time series data based on the input feature vectors FA and FB.
[0040] For example, the autoencoding unit 111 uses an encoder to obtain feature vectors FA and FB. The autoencoding unit 111 inputs the obtained feature vectors FA and FB to a decoder, and obtains output time-series data to be output by the decoder.
[0041] The calculation unit 112 calculates the importance of the input time series data at a plurality of times. The importance is referred to when the learning unit 113 learns the latent variables (autoencoding unit 111). Note that if the importance is not used during learning, the calculation unit 112 may not be provided.
[0042] For example, the calculation unit 112 inputs input time series data to a determination model that determines the class to which the time series data belongs, and calculates importance indicating the degree of change in the determination result of the determination model at multiple times of the input time series data. The importance can also be interpreted as the sensitivity of the determination model to the input time series data at each time.
[0043] When the judgment model is a non-differentiable model, the calculation unit 112 calculates, as the importance, for example, the amount of change in the output of the judgment model when the value at each time in the input time series data is slightly changed. The amount of change may be a statistical value (average value, median value, etc.) for multiple pieces of input time series data. When the judgment model is a differentiable model, the calculation unit 112 calculates, as the importance, for example, the absolute value of the derivative of the input time series data at each time.
[0044] The learning unit 113 performs learning of the autoencoding unit 111. For example, the learning unit 113 learns the encoder and decoder included in the autoencoding unit 111 so as to reduce the difference between input time series data and output time series data output by the autoencoding unit 111. When importance is calculated, the learning unit 113 learns the encoder and decoder so as to reduce the difference obtained by weighting values of the time series data at multiple times by the importance.
[0045] The encoder and decoder obtained by training are used in the generation phase. Information (parameters, etc.) indicating the trained encoder and decoder is stored in the storage unit 131, for example.
[0046] The generation unit 120 executes the generation phase process and includes an encoding unit 121, a selecting unit 122, a changing unit 123, a decoding unit 124, and a determining unit 125.
[0047] The encoding unit 121 obtains feature vectors FA and FB by encoding the target time series data. For example, the encoding unit 121 obtains feature vectors FA and FB output by the encoder by inputting the target time series data to a trained encoder. Information about the trained encoder can be acquired from the storage unit 131, for example.
[0048] The selection unit 122 corresponds to a function of selecting a change region in the latent space for generating a counterfactual waveform. For example, the selection unit 122 selects, from the feature vector FA, one or more partial features including elements that are consecutive in time order as a change region.
[0049] The number K of partial features to be selected and a maximum length representing the maximum value of the length of the partial features to be selected may be acquired by the acquisition unit 101. In this case, the selection unit 122 may select K partial features from the feature vector FA that are shorter than the maximum length. For example, the selection unit 122 selects K partial features with different starting positions while changing the length within a range that does not exceed the maximum length.
[0050] As described above, the feature vector FA is a feature vector that maintains the time order relationship of the input time series data. For example, two adjacent elements among the multiple elements included in the feature vector FA are elements that are closer to each other in time order than the other elements. Therefore, the selection unit 122 can select partial features that include elements that are consecutive in time order by selecting partial features that include two or more adjacent elements.
[0051] The modification unit 123 modifies the values of the partial features selected by the selection unit 122 to generate a modified feature vector (modified feature) by modifying the feature vector FA.
[0052] The decoding unit 124 inputs the changed feature vector and the feature vector FB to the decoder, thereby obtaining output time-series data to be output by the decoder.
[0053] The determination unit 125 inputs the determined output time series data into the determination model, and repeatedly executes a search process to determine the output class output by the determination model until the output class becomes the designated class.
[0054] The generator 120 outputs the output time-series data when the output class becomes the designated class as a counterfactual waveform. The generation phase by the generator 120 will be described in detail later.
[0055] The output control unit 102 controls the output of various types of information used in the information processing device 100. For example, the output control unit 102 outputs the counterfactual waveform generated by the generation unit 120. Any method may be used to output the information, and examples of applicable methods include a method of displaying the information on a display device and a method of transmitting the information to an external device via a network.
[0056] At least a part of each of the above units (acquisition unit 101, learning control unit 110, generation unit 120, and output control unit 102) may be realized by one or more processing units. Each of the above units is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) execute a program, i.e., by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), i.e., by hardware. Each of the above units may be realized by a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.
[0057] The information processing device 100 may be physically configured as a single device, or may be physically configured as multiple devices. For example, the information processing device 100 may be constructed in a cloud environment. Furthermore, each unit in the information processing device 100 may be distributed across multiple devices. For example, the information processing device 100 (information processing system) may be configured to include a device (e.g., a learning device) that has functions required for executing the learning phase (e.g., the learning control unit 110) and a device (e.g., a generation device) that has functions required for executing the generation phase (e.g., the generation unit 120).
[0058] The information processing device 100 may be realized as a device (for example, a learning device) that includes only the functions necessary for executing the learning phase (such as the learning control unit 110). Similarly, the information processing device 100 may be realized as a device (for example, a generating device) that includes only the functions necessary for executing the generation phase (such as the generating unit 120).
[0059] Next, a detailed configuration example of the autoencoding unit 111 will be described. Below, an example will be described in which the autoencoding unit 111 is configured to use a variational autoencoder (VAE) for learning the latent space. In this embodiment, the VAE is configured to learn the feature vector FA that maintains the order relationship of the time-series data separately from other feature vectors FB. Hereinafter, the feature vector FA that maintains the order relationship of the time-series data may be referred to as an order-preserving latent variable.
[0060] The applicable model is not limited to the VAE. For example, other models may be used that can distinguish and extract feature vectors F A and F B from input time series data and obtain output time series data corresponding to the input time series data using the feature vectors F A and F B.
[0061] Fig. 4 is a diagram showing an example of the configuration of the autoencoding unit 111 using the VAE. As shown in Fig. 4, the autoencoding unit 111 includes encoders E01 and E02, multipliers M01 and M02, decoders D01 and D02, and an adder A01. The autoencoding unit 111 receives input time-series data 401 and outputs output time-series data 402.
[0062] In the configuration of FIG. 4, a function including the encoders E01 and E02 and the multipliers M01 and M02 corresponds to the encoder, and a function including the decoders D01 and D02 and the adder A01 corresponds to the decoder. For example, the latent variable z1 (first latent variable) output from the multiplier M01 corresponds to the feature vector FA, and the latent variable z2 (second latent variable) output from the multiplier M02 corresponds to the feature vector FB. The latent variable z1 corresponds to an order-preserving latent variable. The means μ1 and μ2 and the variances σ1 and σ2 output from the encoders E01 and E02 can also be interpreted as feature vectors representing the features of the input time series data 401, but are distinguished from the feature vectors FA and FB, which are information used by the decoders D01 and D02 when generating the output time series data 402. Here, when a noise ε is given, the multiplier can calculate the latent variable z1 as μ1 + ε × sqrt(σ1) and the latent variable z2 as μ2 + ε × sqrt(σ2), where sqrt means square root calculation.
[0063] The encoder E01 encodes the input time series data 401 and outputs the mean μ1 and variance σ1 as a feature vector. The encoder E02 encodes the input time series data 401 and outputs the mean μ2 and variance σ2 as a feature vector.
[0064] The encoder E01 is realized, for example, by a neural network model NE1 (first neural network model) that inputs input time series data 401, has a number of dimensions smaller than the number of dimensions of the input time series data 401, and outputs a feature vector (first vector) that includes features indicating the time order of the input time series data 401.
[0065] The neural network model NE1 is configured to include, for example, one or more convolution layers and one or more local pooling layers. The configuration of the neural network model NE1 is not limited to this, and any neural network model configuration may be used as long as it is capable of obtaining a feature vector including features indicating the time order of the input time series data 401. For example, a neural network model including a fully connected layer in which weights are regularized so as to maintain the time order may be used.
[0066] The encoder E02 is realized by, for example, a neural network model NE2 (second neural network model) that receives input time-series data 401 and outputs a feature vector (second vector) having a smaller number of dimensions than the number of dimensions of the input time-series data 401.
[0067] The neural network model NE2 is configured to include, for example, one or more fully connected layers. The configuration of the neural network model NE2 is not limited to this, and any neural network model configuration may be used as long as it is capable of obtaining a feature vector including features different from the feature indicating the time order. For example, a neural network model including a convolution layer and a global pooling layer may be used.
[0068] The encoder E02 may be configured to obtain a feature vector of the input time-series data 401 by a method other than a neural network model. For example, the encoder E02 may output a feature vector FA (latent variable z2) by performing frequency analysis on the input time-series data 401. The frequency analysis may be, for example, analysis using a fast Fourier transformation (FFT).
[0069] Multiplier M01 multiplies the feature vector (mean μ1, variance σ1) by noise ε to output a latent variable z1 (feature vector FA). The latent variable z1 corresponds to a latent variable based on the feature vector output by encoder E01. Multiplier M02 multiplies the feature vector (mean μ2, variance σ2) by noise ε to output a latent variable z2 (feature vector FB). The latent variable z2 corresponds to a latent variable based on the feature vector output by encoder E02.
[0070] The noise ε is generated according to, for example, a standard normal distribution N(0, I). The noise used by the multiplier M01 and the noise used by the multiplier M02 may be different values or may be the same value.
[0071] In this way, by the function of the encoder including the encoders E01 and E02 and the multipliers M01 and M02, a latent variable z1 that maintains the order relation (order-maintaining latent variable) and a latent variable z2 that does not maintain the order relation are obtained. Each latent variable has m dimensions.
[0072] Next, the decoders (decoders D01 and D02, adder A01) will be described. The decoder D01 receives a latent variable z1 (order-preserving latent variable) and outputs a T-dimensional vector V1 (time series data) of the same size as the input time series data 401.
[0073] The decoder D01 is realized by, for example, a neural network model ND1 that inputs a latent variable z1 and outputs a T-dimensional vector V1 having the same number of dimensions as the input time-series data 401. The neural network model ND1 has a configuration corresponding to the neural network model NE1 used by the encoder E01. For example, if the neural network model NE1 has a configuration in which a convolutional layer and a local pooling layer are stacked, the neural network model ND1 can have a configuration in which a convolutional layer and an upscaling layer are stacked.
[0074] The decoder D02 receives the latent variable z2 and outputs a T-dimensional vector V2 (time series data) having the same size as the input time series data 401.
[0075] The decoder D02 is realized by, for example, a neural network model ND2 that inputs a latent variable z2 and outputs a T-dimensional vector V2 having the same number of dimensions as the input time-series data 401. The neural network model ND2 has a configuration corresponding to the neural network model NE2 used by the encoder E02. For example, if the neural network model NE2 has a configuration in which fully connected layers are stacked, the neural network model ND2 can also have a configuration in which fully connected layers are stacked.
[0076] The adder A01 performs aggregation operations such as addition and averaging on the T-dimensional vector V1 output by the decoder D01 and the T-dimensional vector V2 output by the decoder D02, and outputs output time series data 402, which is a T-dimensional vector with the same number of dimensions as the input time series data 401.
[0077] As with a normal VAE, the learning unit 113 learns the encoder and decoder together so that the feature vectors corresponding to the mean and variance obtained by each encoder (encoders E01 and E02) approach the prior distribution and the difference (error) between the decoded output time series data 402 and the input time series data 401 is reduced.
[0078] When the importance is calculated, the learning unit 113 may weight each time point of the time series data using the importance calculated from the determination model 431, and then perform learning so as to reduce the difference (weighted reconstruction error WE) between the output time series data 402 and the input time series data 401. By using the importance, it is possible to take into consideration, for example, the magnitude of variation in different regions of waveforms in the same class.
[0079] Fig. 5 is a diagram showing an example of the configuration of the autoencoder 111b different from that shown in Fig. 4. Fig. 5 shows an example in which the autoencoder 111b is realized within the framework of a conditional VAE (Conditional Variational Auto Encoder: CVAE). As shown in Fig. 5, the autoencoder 111b includes an encoder E01b, a condition generation unit E02b, a multiplier M01b, and a decoder D01b.
[0080] 5, a function including the encoder E01b, the condition generator E02b, and the multiplier M01b corresponds to the encoder, and the decoder D01b corresponds to the decoder. For example, the latent variable z1 output from the multiplier M01b corresponds to the feature vector FA, and the output from the condition generator E02b corresponds to the feature vector FB.
[0081] The condition generation unit E02b encodes the input time-series data 401 and outputs a feature vector F. The feature vector F is a feature vector corresponding to the condition assigned to the VAE, and does not have to be in a format including the mean μ and the variance σ as in the encoder E02 in FIG.
[0082] The condition generating unit E02b is realized by, for example, a neural network model NE2b (second neural network model) that receives input time series data 401 and outputs a feature vector FB (second vector) having a smaller number of dimensions than the number of dimensions of the input time series data 401.
[0083] The neural network model NE2b may have the same configuration as the neural network model NE2. The condition generating unit E02b may be configured to obtain the feature vector F of the input time-series data 401 by a method other than the neural network model. For example, the condition generating unit E02b may output the feature vector F by frequency analysis of the input time-series data 401.
[0084] 4 in that the encoder E01b further receives a feature vector FB output by a condition generation unit E02b. That is, the encoder E01b receives the input time-series data 401 and the feature vector FB, and outputs a feature vector (mean μ and variance σ) conditioned by the feature vector FB.
[0085] The encoder E01b is realized by, for example, a neural network model NE1b (first neural network model) that receives input time-series data 401 and a feature vector FB, and outputs a feature vector (first vector) that has a smaller number of dimensions than the input time-series data 401 and includes features that indicate the time order of the input time-series data 401. The configuration of the neural network model NE1b can be the same as that of the neural network model NE1.
[0086] The multiplier M01b multiplies the feature vector (mean μ, variance σ) by noise ε to output a latent variable z1b (feature vector FA). The latent variable z1b corresponds to a latent variable based on the feature vector output by the encoder E01b.
[0087] In the example of FIG. 5, the function of the encoder including the encoder E01b, the condition generation unit E02b, and the multiplier M01b obtains a feature vector FA, which is a latent variable z1b that maintains the order relationship (an order-maintaining latent variable), and a feature vector FB, which is a latent variable that does not maintain the order relationship.
[0088] Next, the decoder D01b will be described. The decoder D01b receives a latent variable z1b (order-preserving latent variable) and a feature vector FB, and outputs output time-series data 402 of the same size as the input time-series data 401. That is, the decoder D01b receives an order-preserving latent variable and the feature vector FB, and outputs output time-series data 402 conditioned by the feature vector FB.
[0089] The decoder D01b is realized by, for example, a neural network model ND1b that inputs a latent variable z1b and a feature vector FB and outputs output time-series data 402 that is a T-dimensional vector with the same number of dimensions as the input time-series data 401. The configuration of the neural network model ND1b can be the same as that of the neural network model ND1.
[0090] The learning unit 113 learns the encoder and decoder together so that the feature vector corresponding to the mean and variance obtained by the encoder (encoder E01b, condition generation unit E02b) approaches the prior distribution and the difference (error) between the decoded output time-series data 402 and the input time-series data 401 decreases. As in Fig. 4, the learning unit 113 may perform learning using importance.
[0091] Next, a description will be given of a flow of processing in the learning phase (learning processing) by the information processing apparatus 100 according to the embodiment. Fig. 6 is a flowchart showing an example of the learning processing according to the embodiment.
[0092] The autoencoding unit 111 uses an encoder to extract features (feature vectors FA) that maintain the time order and other features (feature vectors FB) from input time-series data (step S101). The learning unit 113 formulates the feature vectors FA and FB so that they are learned independently (step S102). When importance is used, the calculation unit 112 calculates the importance of the decision model at each time point of the input time-series data (step S103). The learning unit 113 learns a latent space (encoder, decoder) so as to minimize the reconstruction error taking the importance into account (step S104).
[0093] The learning process results in a learned encoder and decoder. Information indicating the obtained encoder and decoder is stored in, for example, the storage unit 131, and is used in the generation phase process by the generation unit 120.
[0094] Next, a description will be given of a flow of processing in the generation phase (generation processing) by the information processing apparatus 100 according to the embodiment. Fig. 7 is a flowchart showing an example of the generation processing according to the embodiment.
[0095] In a conventional counterfactual waveform generation technique that assumes a differentiable decision model, a counterfactual waveform can be generated without searching for a change region by using differentiation of the decision model. On the other hand, when a non-differentiable decision model is also included, differentiation cannot be used, and therefore, for example, a process of searching for a change region is required. Since the search process can increase the processing time, it is desirable to perform the counterfactual waveform generation process more efficiently.
[0096] In the generation process of this embodiment, by utilizing the fact that the order-preserving latent variables learned in the learning phase are arranged in chronological order, elements of adjacent latent variables are changed collectively, and output time-series data is generated using the changed latent variables. This makes it possible to more efficiently generate counterfactual waveforms in which the change area is localized.
[0097] First, the acquisition unit 101 acquires the target time series data x, the decision model f, the encoder and decoder trained in the learning phase, and the specified class (step S201). The acquisition unit 101 may acquire the number K of change regions (partial features to be selected) in the order-preserving latent variables of the counterfactual waveform, and the maximum length. If the values of the number K and the maximum length are not acquired, predetermined values (default values) may be used for the number K and the maximum length. For example, the default value of the number K may be set to 1. The default value of the maximum length may be set to a length equivalent to 20% of the dimensions of the latent space.
[0098] The encoding unit 121 inputs the target time-series data x to the encoder, and calculates an m-dimensional order-preserving latent variable z (feature vector FA) in which the time order is preserved, and a feature vector FB in which the time order is not preserved (step S202). The encoding unit 121 stores the feature vector FB in which the time order is not preserved together with the order-preserving latent variable z in, for example, the storage unit 131, since it will be needed for decoding.
[0099] The generation unit 120 initializes the change amount d of the order-preserving latent variable z to 0 (step S203). d is a real value greater than or equal to 0. The change amount d can be used to both increase and decrease the value of an element of the order-preserving latent variable z.
[0100] The subsequent steps are repeated (search process) until an appropriate counterfactual waveform is generated. A counterfactual waveform is appropriate if, for example, the counterfactual waveform is determined to belong to a specified class by the determination model f.
[0101] The generation unit 120 increases the change amount d of the order-preserving latent variable z by Δd and initializes the change length l to 0 (step S204). As the change amount d increases, the class becomes more likely to be determined as belonging to the specified class, but the class becomes more likely to deviate from the input time-series data in the latent space. Δd is the amount by which the change amount d is increased, and is a fixed value such as 0.01. Δd may be changed dynamically.
[0102] The change length l corresponds to the length of the change region whose value is changed within the region included in the order-preserving latent variable z. The change length l may be expressed as the number of elements of the order-preserving latent variable z. In this case, a change region corresponding to a change length l of 2 or more corresponds to a partial feature containing two or more adjacent elements. Since the order-preserving latent variable z maintains the time order, if the change length l is short, locality is also maintained in the change region for the target time series data x of the counterfactual waveform obtained by decoding.
[0103] The generation unit 120 increases the modification length l by Δl and initializes the index k (k is an integer satisfying 1≦k≦K) of the modification area to 1 (step S205). Δl is the amount by which the modification length l is increased, and is a fixed value such as 1.
[0104] The generation unit 120 determines whether the change length l has reached the maximum length (step S206). If the change length l has reached the maximum length (step S206: Yes), the process returns to step S204 and is repeated. That is, the change length l is initialized to 0, and the process is repeated with the change amount d increased by Δd.
[0105] If the change length l has not reached the maximum length (step S206: No), the processes from step S207 onwards are executed. In steps S207 to S212, a search for the k-th change area is executed.
[0106] First, the generation unit 120 generates two latent variables z for each index j as follows: k + , z k - is set (step S207). The index j can be interpreted as corresponding to the start position of the change region (partial feature). That is, the generation unit 120 changes the index j of the m-dimensional vector of the order-preserving latent variable z from the beginning to the end, and prepares the following two m-dimensional vectors for each index j=1, 2, . . . , m-l+1. z k + =[z1, z2, , z j +d, z j+1 +d, , z j+l-1 +d, z j+l , z j+l+1 , , z m ] z k - =[z1, z2, , z j -d, z j+1 -d, , z j+l-1 -d, z j+l , z j+l+1 , , zm ]
[0107] z k + corresponds to a latent variable obtained by changing the adjacent change region of length l starting from index j of the order-preserving latent variable z by +d. k - corresponds to a latent variable in which the same change region is collectively changed by -d.
[0108] It can be interpreted that determining a change region of length l from index j corresponds to the function of selecting a change region (partial feature) by the selection unit 122. Also, changing the value of an element in the change region by +d or −d corresponds to changing the feature vector FA by the change unit 123 to a changed feature vector (latent variable z k + , z k - ) can be interpreted as the function that generates
[0109] Next, the decoding unit 124 decodes the feature vector FB and the set latent variable z k + , z k - , and executes decoding using each of the two latent variables z k + , z k - Find the two corresponding T-dimensional vectors.
[0110] The determination unit 125 inputs each of the two T-dimensional vectors to the determination model f and acquires the determination results (output classes) of the determination model f (step S209). The determination unit 125 determines whether the acquired determination results approach the specified class (step S210).
[0111] For example, for time series classification, the determination unit 125 determines that the determination result approaches the designated class when the predicted probability of the designated class output from the determination model f increases. For anomaly detection, the determination unit 125 determines that the determination result approaches the designated class when the normality score or anomaly score output from the determination model f increases or decreases in a designated direction.
[0112] If the determination result is close to the specified class (step S210: Yes), the determination unit 125 k + , or z k - ) is deemed appropriate, and the corresponding change region is stored (step S211). The format of the change region to be stored may be any format, for example, it may be in the form of an m-dimensional vector in which the changed value (including positive and negative signs) is set for the element whose value has been changed. For example, k + If the change in is appropriate, the m-dimensional vector [0, 0, , +d, +d, , +d, 0, 0, ] is the change domain, with l elements from index j set to +d and the other elements set to 0. k - If the change in is appropriate, the m-dimensional vector [0, 0, , -d, -d, , -d, 0, 0, ] in which l elements from index j are set to -d and the other elements are set to 0 becomes the change region.
[0113] After storing the changed region, or if it is determined that the determination result is not approaching the specified class (step S210: No), the generation unit 120 determines whether the index k has reached the number K (step S212).
[0114] If index k has not reached the number K (step S212: No), the generation unit 120 returns to step S207 and repeats the process for the next index (k incremented by 1). Note that when k=2, 3, . . . , K, index j is changed under the condition that it does not overlap with an area corresponding to an element whose value is not 0 in the stored m-dimensional vector for the changed area.
[0115] If the index k reaches the number K (step S212: Yes), the decoding unit 124 executes decoding using the latent variable reflecting the changed region and the feature vector F B to generate a counterfactual waveform c (step S213). The latent variable reflecting the changed region is obtained, for example, by adding an m-dimensional vector storing K changed regions to the order-preserving latent variable z element by element.
[0116] The determination unit 125 inputs the counterfactual waveform c to the determination model f and determines whether the determination result by the determination model f is sufficiently close to the designated class (step S214). For example, the determination unit 125 determines that the determination result is sufficiently close to the designated class when the determination result indicates the designated class (when the predicted probability of the designated class is the highest, etc.).
[0117] If the determination result is not sufficiently close to the specified class (step S214: No), the generation unit 120 returns to step S205, adds Δl to the change length l, initializes the index k, and repeats the process. Note that the m-dimensional vector storing the change region is also initialized to a zero vector.
[0118] If the determination result is sufficiently close to the designated class (step S214: Yes), the generation unit 120 ends the generation process. The counterfactual waveform c at this time becomes the final generated result.
[0119] In this way, the information processing device of the embodiment learns a latent space based on features that maintain the temporal order of time-series data, and generates a counterfactual waveform by locally modifying the time-series data by utilizing the temporal order maintained in the latent space, thereby enabling the generation of data representing counterfactual explanations with higher accuracy.
[0120] In this embodiment, since a differentiable decision model is not assumed, a counterfactual waveform can be generated even if, for example, the decision model is a model where it is unclear whether it is differentiable (black box). Furthermore, if the system is configured to take into account the importance of each time point in the time-series data, a counterfactual waveform can be generated according to the magnitude of variation.
[0121] Next, the hardware configuration of the information processing apparatus according to the embodiment will be described with reference to Fig. 8. Fig. 8 is an explanatory diagram illustrating an example of the hardware configuration of the information processing apparatus according to the embodiment.
[0122] The information processing device of the embodiment includes a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication I / F 54 that connects to a network and communicates, and a bus 61 that connects each part.
[0123] The programs executed by the information processing apparatus according to the embodiment are provided in advance in the ROM 52 or the like.
[0124] The program executed by the information processing device of the embodiment may be configured to be provided as a computer program product by being recorded in an installable or executable format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0125] Furthermore, the program executed by the information processing apparatus of the embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the information processing apparatus of the embodiment may be provided or distributed via a network such as the Internet.
[0126] The programs executed by the information processing device of the embodiment can cause a computer to function as each unit of the information processing device described above. In this computer, the CPU 51 can read the programs from a computer-readable storage medium onto a main storage device and execute the programs.
[0127] A configuration example of the embodiment will be described below. (Configuration example 1) obtaining, from input time series data, a first feature including a feature indicating a time order and a second feature different from the first feature, the first feature and the second feature of the input time series data; obtaining output time series data generated based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; Processing section An information processing device comprising: (Configuration example 2) The processing unit Calculating importance at a plurality of times of the input time series data; training the encoder and the decoder so that the difference obtained by weighting the values at a plurality of times by the importance becomes small; The information processing device according to configuration example 1. (Configuration example 3) The processing unit inputting the input time series data into a determination model that determines a class to which the time series data belongs, and calculating the importance indicating a degree of change in a determination result of the determination model at the plurality of times of the input time series data; The information processing device according to configuration example 2. (Configuration Example 4) The encoder comprises: a first neural network model that receives the input time series data and outputs a first vector having a number of dimensions smaller than the number of dimensions of the input time series data and including features that indicate the time order of the input time series data; a second neural network model that receives the input time series data and outputs a second vector having a number of dimensions smaller than the number of dimensions of the input time series data; Including, determining the first feature, which is a first latent variable based on the first vector; determining the second feature, which is a second latent variable based on the second vector; The information processing device according to any one of configuration examples 1 to 3. (Configuration Example 5) the first neural network model includes one or more convolutional layers and one or more local pooling layers; The information processing device according to configuration example 4. (Configuration Example 6) the second neural network model includes one or more fully connected layers; The information processing device according to configuration example 4. (Configuration Example 7) The encoder comprises: a second neural network model that receives the input time series data and outputs a second vector having a number of dimensions smaller than the number of dimensions of the input time series data; a first neural network model that receives the second vector and the input time series data, and outputs a first vector having a number of dimensions smaller than the number of dimensions of the input time series data and including features that indicate the time order of the input time series data; Including, determining the first feature, which is a first latent variable based on the first vector; determining the second feature, which is the second vector; The information processing device according to any one of configuration examples 1 to 3. (Configuration Example 8) the first neural network model includes one or more convolutional layers and one or more local pooling layers; The information processing device according to configuration example 7. (Configuration Example 9) the second neural network model includes one or more fully connected layers; The information processing device according to configuration example 7. (Configuration Example 10) the encoder obtains the second feature by frequency analysis of the input time-series data. The information processing device according to any one of configuration examples 1 to 9. (Configuration Example 11) The processing unit obtaining the first feature and the second feature by inputting target time-series data to be determined into the encoder; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the specified class; The information processing device according to any one of configuration examples 1 to 10. (Configuration Example 12) an encoder that extracts, from input time-series data, a first feature including a feature indicating a time order and a second feature different from the first feature; and a decoder that generates output time-series data based on the input first feature and the second feature, the encoder inputting target time-series data to be determined to obtain the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the specified class; Processing section An information processing device comprising: (Configuration Example 13) The processing unit obtaining the number of the partial features to be selected and a maximum length representing the maximum length of the partial features to be selected; selecting, from the first feature, the number of partial features that have a length shorter than the maximum length; The information processing device according to configuration example 12. (Configuration Example 14) Among the plurality of elements included in the first feature, two adjacent elements are elements that are closer to each other in time order than other elements; the processing unit selects the partial feature including two or more adjacent elements. The information processing device according to configuration example 13. (Configuration Example 15) The processing unit selecting the number of partial features with different start positions while changing the length within a range not exceeding the maximum length, and repeatedly executing the search process until the output class becomes the specified class; The information processing device according to configuration example 13. (Configuration Example 16) The decision model includes a non-differentiable model. 16. The information processing device according to any one of configuration examples 12 to 15. (Configuration Example 17) the determination model is an anomaly detection model that determines to which of a plurality of classes input time-series data belongs, including a normal class indicating normality and an abnormal class indicating an abnormality, The input time series data is time series data that can be considered to belong to the normal class. 17. The information processing device according to any one of configuration examples 12 to 16. (Configuration Example 18) The anomaly detection model is a generative model that generates a waveform feature vector of input time series data; a determination model that determines to which of the plurality of classes input time series data belongs using the waveform feature vector; The information processing device according to configuration example 17. (Configuration Example 19) An information processing method executed by an information processing device, obtaining a first feature including a feature indicating a time sequence and a second feature different from the first feature from the input time series data using an encoder that extracts the first feature and the second feature from the input time series data; obtaining output time series data based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; An information processing method including: (Configuration Example 20) An information processing method executed by an information processing device, an encoder for extracting a first feature including a feature indicating a time order and a second feature different from the first feature from input time series data, and a decoder for generating output time series data based on the input first feature and the second feature, wherein the encoder inputs target time series data to be determined, thereby obtaining the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the designated class; An information processing method including: (Configuration Example 21) On the computer, obtaining a first feature including a feature indicating a time sequence and a second feature different from the first feature from the input time series data using an encoder that extracts the first feature and the second feature from the input time series data; obtaining output time series data based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; A program to execute. (Configuration Example 22) On the computer, an encoder for extracting a first feature including a feature indicating a time order and a second feature different from the first feature from input time series data, and a decoder for generating output time series data based on the input first feature and the second feature, wherein the encoder inputs target time series data to be determined, thereby obtaining the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the designated class; A program to execute.
[0128] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0129] 100 Information processing device 101 Acquisition Department 102 Output control section 110 Learning control unit 111,111b Self-encoding unit 112 Calculation Unit 113 Learning Department 120 Generation part 121 Encoding section 122 Selection section 123 Changes 124 Decoder 125 Judgment section 131 Storage section
Claims
1. obtaining, from input time series data, a first feature including a feature indicating a time order and a second feature different from the first feature, the first feature and the second feature of the input time series data; obtaining output time series data generated based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; Processing section An information processing device comprising:
2. The processing unit Calculating importance at a plurality of times of the input time series data; training the encoder and the decoder so that the difference obtained by weighting the values at a plurality of times by the importance becomes small; The information processing device according to claim 1 .
3. The processing unit inputting the input time series data into a determination model that determines a class to which the time series data belongs, and calculating the importance indicating a degree of change in a determination result of the determination model at the plurality of times of the input time series data; The information processing device according to claim 2 .
4. The encoder comprises: a first neural network model that receives the input time series data and outputs a first vector having a number of dimensions smaller than the number of dimensions of the input time series data and including features that indicate the time order of the input time series data; a second neural network model that receives the input time series data and outputs a second vector having a number of dimensions smaller than the number of dimensions of the input time series data; Including, determining the first feature, which is a first latent variable based on the first vector; determining the second feature, which is a second latent variable based on the second vector; The information processing device according to claim 1 .
5. the first neural network model includes one or more convolutional layers and one or more local pooling layers; The information processing device according to claim 4 .
6. the second neural network model includes one or more fully connected layers; The information processing device according to claim 4 .
7. The encoder comprises: a second neural network model that receives the input time series data and outputs a second vector having a number of dimensions smaller than the number of dimensions of the input time series data; a first neural network model that receives the second vector and the input time series data and outputs a first vector having a number of dimensions smaller than the number of dimensions of the input time series data and including features that indicate the time order of the input time series data; Including, determining the first feature, which is a first latent variable based on the first vector; determining the second feature, which is the second vector; The information processing device according to claim 1 .
8. the first neural network model includes one or more convolutional layers and one or more local pooling layers; The information processing device according to claim 7 .
9. the second neural network model includes one or more fully connected layers; The information processing device according to claim 7 .
10. the encoder obtains the second feature by frequency analysis of the input time-series data. The information processing device according to claim 1 .
11. The processing unit obtaining the first feature and the second feature by inputting target time-series data to be determined to the encoder; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the specified class; The information processing device according to claim 1 .
12. an encoder that extracts, from input time-series data, a first feature including a feature indicating a time order and a second feature different from the first feature; and a decoder that generates output time-series data based on the input first feature and the second feature, the encoder inputting target time-series data to be determined to obtain the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the specified class; Processing section An information processing device comprising:
13. The processing unit obtaining the number of the partial features to be selected and a maximum length representing the maximum length of the partial features to be selected; selecting, from the first feature, the number of sub-features that have a length shorter than the maximum length; The information processing device according to claim 12.
14. Two adjacent elements among the plurality of elements included in the first feature are elements that are closer to each other in time order than other elements; the processing unit selects the partial feature including two or more adjacent elements. The information processing device according to claim 13.
15. The processing unit selecting the number of partial features with different start positions while changing the length within a range not exceeding the maximum length, and repeatedly executing the search process until the output class becomes the specified class; The information processing device according to claim 13.
16. The decision model includes a non-differentiable model. The information processing device according to claim 12.
17. the determination model is an anomaly detection model that determines to which of a plurality of classes input time-series data belongs, including a normal class indicating normality and an abnormal class indicating an abnormality, The input time series data is time series data that can be considered to belong to the normal class. The information processing device according to claim 12.
18. The anomaly detection model is a generative model that generates a waveform feature vector of input time series data; a determination model that determines to which of the plurality of classes input time series data belongs using the waveform feature vector; The information processing device according to claim 17.
19. An information processing method executed by an information processing device, obtaining a first feature including a feature indicating a time sequence and a second feature different from the first feature from the input time series data using an encoder that extracts the first feature and the second feature from the input time series data; obtaining output time series data based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; An information processing method including:
20. An information processing method executed by an information processing device, an encoder for extracting a first feature including a feature indicating a time order and a second feature different from the first feature from input time series data, and a decoder for generating output time series data based on the input first feature and the second feature, wherein the encoder inputs target time series data to be determined, thereby obtaining the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the designated class; An information processing method including:
21. On the computer, obtaining a first feature including a feature indicating a time sequence and a second feature different from the first feature from the input time series data using an encoder that extracts the first feature and the second feature from the input time series data; obtaining output time series data based on the first feature and the second feature obtained from the input time series data using a decoder that generates output time series data based on the first feature and the second feature that are input; training the encoder and the decoder so that a difference between the input time series data and the output time series data becomes small; A program to execute.
22. On the computer, an encoder for extracting a first feature including a feature indicating a time order and a second feature different from the first feature from input time series data, and a decoder for generating output time series data based on the input first feature and the second feature, wherein the encoder inputs target time series data to be determined, thereby obtaining the first feature and the second feature; selecting one or more partial features including elements that are consecutive in time order from the first feature, generating modified features by modifying the first feature by changing values of the selected partial features, obtaining the output time series data by inputting the modified features and the second feature to the decoder, and repeatedly performing a search process to obtain an output class output by a determination model that determines a class to which the output time series data belongs, until the output class becomes a specified class; outputting the output time series data when the output class becomes the designated class; A program to execute.