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, find adversarial examples, and detect out-of-distribution data.
The Deep Learning Toolbox™ Verification Library support package enables testing robustness properties of deep learning networks.
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|
|Verify adversarial robustness of deep learning network|
|Deep learning distribution discriminator|
|Determine whether data is within the distribution of the network|
|Distribution confidence scores|
|Baseline distribution discriminator|
|Energy distribution discriminator|
|ODIN distribution discriminator|
|HBOS distribution discriminator|
- Verify Robustness of Deep Learning Neural Network
This example shows how to verify the adversarial robustness of a deep learning neural network.
- Deep Learning Visualization Methods
Learn about and compare deep learning visualization methods.
- Out-of-Distribution Detection for Deep Neural Networks
This example shows how to detect out-of-distribution (OOD) data in deep neural networks.