Main Content

Deep Learning Verification

Train robust image networks and verify image network robustness

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.

  • Use the verifyNetworkRobustness function 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 verified, violated, or unproven.

  • Use the estimateNetworkOutputBounds function 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.

  • Use the networkDistributionDiscriminator function to create a distribution discriminator that separates data into in- and out-of-distribution.

Funzioni

estimateNetworkOutputBounds Estimate output bounds of deep learning network (Da R2022b)
verifyNetworkRobustnessVerify adversarial robustness of deep learning network (Da R2022b)
networkDistributionDiscriminator Deep learning distribution discriminator (Da R2023a)
isInNetworkDistributionDetermine whether data is within the distribution of the network (Da R2023a)
distributionScoresDistribution confidence scores (Da R2023a)

Argomenti