Training data generation via reinforcement learning fault-injection
Systems/techniques for generating training data via reinforcement learning fault-injection are provided. A system can access a computing application. In various aspects, the system can train one or more machine learning models based on responses of the computing application to iterative fault-injections determined via reinforcement learning. More specifically, the system can: inject a first fault into the computing application; record a resultant dataset outputted by the computing application in response to the first fault; train the one or more machine learning models on the resultant dataset and the first fault; compute a reinforcement learning reward based on performance metrics of the one or more machine learning models and based on a quantity of the resultant dataset; update, via execution of a reinforcement learning algorithm, the fault-injection policy based on the reinforcement learning reward; and inject a second fault into the computing application, based on the updated fault-injection policy.
1 . A system, comprising:
a processor that executes computer-executable components stored in a computer-readable memory, the computer-executable components comprising:
a transceiver component that accesses a computing application;
a training component that trains one or more machine learning models based on responses of the computing application to iterative fault-injections that are determined via reinforcement learning, wherein at least one of the fault-injections comprises an error, and wherein a size of error data and performance quality of the one or more machine learning models after being trained on the error data collectively dictate a reward of the reinforcement learning;
a reward component that computes a reinforcement learning reward based on one or more performance metrics of the one or more machine learning models after the training; and
an update component that updates, via execution of a reinforcement learning algorithm and employing backpropagation, the fault-injection policy based on the reinforcement learning reward.
2 . The system of claim 1 , wherein the computer-executable components further comprise:
a fault-injection component that injects a first fault into the computing application, based on a fault-injection policy.
3 . The system of claim 2 , wherein the computer-executable components further comprise:
a logging component that records a resultant dataset outputted by the computing application in response to the first fault.
4 . The system of claim 3 , wherein the training component trains the one or more machine learning models on the resultant dataset and the first fault.
5 . The system of claim 4 , wherein the computer-executable:
a reward component
also computes a quantity of the resultant dataset.
6 . The system of claim 1 , wherein the fault-injection component injects a second fault into the computing application, based on the updated fault-injection policy.
7 . A computer-implemented method, comprising:
accessing, by a device operatively coupled to a processor, a computing application;
training, by the device, one or more machine learning models based on responses of the computing application to iterative fault-injections that are determined via reinforcement learning, wherein at least one of the fault-injections comprises an error, and wherein concurrent consideration of a size of error data and a performance quality of the one or more machine learning models after being trained on the error data dictate a reward of the reinforcement learning;
computing, by the device, a reinforcement learning reward based on one or more performance metrics of the one or more machine learning models after the training; and
updating, by the device, via execution of a reinforcement learning algorithm and employing backpropagation, the fault-injection policy based on the reinforcement learning reward.
8 . The computer-implemented method of claim 7 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections includes:
injecting, by the device, a first fault into the computing application, based on a fault-injection policy.
9 . The computer-implemented method of claim 8 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections further includes:
recording, by the device, a resultant dataset outputted by the computing application in response to the first fault.
10 . The computer-implemented method of claim 9 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections further includes:
training, by the device, the one or more machine learning models on the resultant dataset and the first fault.
11 . The computer-implemented method of claim 10 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections further includes:
computing, by the device, a quantity of the resultant dataset.
12 . The computer-implemented method of claim 11 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections further includes:
updating, by the device and via execution of a reinforcement learning algorithm, the fault-injection policy based on the reinforcement learning reward.
13 . The computer-implemented method of claim 12 , wherein the training the one or more machine learning models based on responses of the computing application to iterative fault-injections further includes:
injecting, by the device, a second fault into the computing application, based on the updated fault-injection policy.
14 . A computer program product for facilitating training data generation via reinforcement learning fault-injection, the computer program product comprising a computer-readable memory having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
access, by the processor, a computing application;
train, by the processor, one or more machine learning models based on responses of the computing application to iterative fault-injections that are determined via reinforcement learning wherein at least one of the fault-injections comprises an error, and wherein a size of error data and a performance quality of the one or more machine learning models after being trained on the error data collectively dictate comprises a reward of the reinforcement learning;
compute, by the processor, a reinforcement learning reward based on one or more performance metrics of the one or more machine learning models after the training; and
update, by the processor, via execution of a reinforcement learning algorithm and employing backpropagation, the fault-injection policy based on the reinforcement learning reward.
15 . The computer program product of claim 14 , wherein the processor trains the one or more machine learning models based on responses of the computing application to iterative fault-injections by:
injecting, by the processor, a first fault into the computing application, based on a fault-injection policy.
16 . The computer program product of claim 15 , wherein the processor trains the one or more machine learning models based on responses of the computing application to iterative fault-injections by:
recording, by the processor, a resultant dataset outputted by the computing application in response to the first fault.
17 . The computer program product of claim 16 , wherein the processor trains the one or more machine learning models based on responses of the computing application to iterative fault-injections by:
training, by the processor, the one or more machine learning models on the resultant dataset and the first fault.
18 . The computer program product of claim 17 , wherein the processor trains the one or more machine learning models based on responses of the computing application to iterative fault-injections by:
computing, by the processor, a quantity of the resultant dataset.
19 . The computer program product of claim 18 , wherein the processor trains the one or more machine learning models based on responses of the computing application to iterative fault-injections by:
updating, by the processor and via execution of a reinforcement learning algorithm, the fault-injection policy based on the reinforcement learning reward.