Deep Learning Verification
Deep learning verification is a set of techniques for assessing the properties of deep neural networks. For example, you can verify the robustness properties of a network, compute network output bounds, and find adversarial examples.
The Deep Learning Toolbox™ Verification Library support package enables testing robustness properties of deep learning networks. Use this library to verify whether a deep learning network is robust against adversarial examples, compute the output bounds for a set of input bounds, and detect out-of-distribution data.
verifyNetworkRobustnessfunction to verify network robustness to adversarial examples. A network is robust to adversarial inputs if the predicted class of the network does not change when the input is perturbed between specified lower and upper input bounds. For a set of input bounds, the function checks if the network is robust to adversarial examples between those input bounds and returns either
estimateNetworkOutputBoundsfunction to estimate the range of output values that the network returns when the input is between specified lower and upper bounds. Use this function to estimate how sensitive the network predictions are to input perturbation.
networkDistributionDiscriminatorfunction to create a distribution discriminator that separates data into in- and out-of-distribution.
|Estimate output bounds of deep learning network (Since R2022b)|
|Verify adversarial robustness of deep learning network (Since R2022b)|
|Deep learning distribution discriminator (Since R2023a)|
|Determine whether data is within the distribution of the network (Since R2023a)|
|Distribution confidence scores (Since R2023a)|