Adversarial Input Generation Using Conditional Variational Encoder
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for identifying fail cases in sophisticated software are burdensome and time-consuming, especially as software complexity increases, necessitating an improved approach for input generation to detect failures in safety-critical systems.
Innovation Solution
A computer-implemented method using a Conditional Variational Encoder to reduce input dimensionality and train separate predictors for successful and unsuccessful scenarios, sampling inputs likely to make the target algorithm fail by leveraging the likelihood of both predictors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If random experiments are used to find fail cases, then all fail cases can be found, but the approach is burdensome and overly time-consuming
Solution Approach 1:
The patent applies preliminary action by pre-training two predictive models on historical data before actual fail case detection. The first model learns patterns from successful cases while the second model learns from failed cases. This preliminary training enables the system to quickly evaluate new inputs against both success and failure patterns, avoiding the need for time-consuming random experimentation while maintaining reliable fail case detection capability
Solution Approach 2:
The patent creates copies of the target algorithm's behavior through two separate predictive models. Instead of repeatedly running the actual algorithm with random inputs, the system uses trained model copies that simulate success and failure scenarios. These model copies can be evaluated much faster than the original algorithm, significantly reducing the time required to identify potential fail cases while preserving the reliability of detection
2Adaptability or versatility
If software becomes more sophisticated, then functionality improves, but it becomes more difficult to find fail cases
Solution Approach 1:
The patent applies segmentation by dividing the complex software behavior analysis into two separate predictive models. The first model segments successful operation patterns while the second model segments failure patterns. This segmentation simplifies the detection process by allowing independent training and evaluation of success and failure conditions, making it easier to identify fail cases even in sophisticated software with complex interactions
Solution Approach 2:
The patent introduces predictive models as intermediaries between the complex sophisticated software and the fail case detection process. These intermediary models learn to approximate the software's behavior patterns from historical data, providing a simplified interface for detecting potential failures. The intermediaries translate complex software dynamics into detectable patterns without requiring direct analysis of the sophisticated software's internal workings
3Productivity
If separate predictors are trained for successful and unsuccessful scenarios, then adversarial inputs can be efficiently generated, but the model complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the predictive modeling task into two separate, specialized models. The first predictor is trained exclusively on successful scenarios while the second predictor is trained on unsuccessful scenarios. This segmentation allows each model to specialize in its domain, improving the efficiency of generating adversarial inputs by clearly identifying which scenarios lead to failures. The increased model complexity is justified by the significant improvement in productivity for generating targeted adversarial examples
Data Source
AI summary
A computer-implemented method, computer program product, and computer processing system are provided for generating an adversarial input. The method includes reducing, by a Conditional Variational Encoder, a dimensionality of each of inputs to a target algorithm to obtain a set of latent variables. The method further includes separately training, by a processor, (i) a successful predictor with a first subset of the latent variables as a first input for which the target algorithm succeeds and (ii) an unsuccessful predictor with a second subset of the latent variables as a second input for which the target algorithm fails. Both the successful and the unsuccessful predictors predict outputs of the target algorithm. The method also includes sampling, by the processor, an input that is likely to make the target algorithm fail as the adversarial input by using a likelihood of the successful predictor and the unsuccessful predictor.


