ForwardAlgorithms

This section of the manual describes the module for forward algorithms.

NeuralNetworkReachability.ForwardAlgorithms.BoxForwardType
BoxForward{AMA<:ForwardAlgorithm} <: ForwardAlgorithm

Forward algorithm that uses a box approximation for non-identity activations and applies the affine map according to the specified algorithm.

Fields

  • affine_map_algorithm – algorithm to apply for affine maps
source
NeuralNetworkReachability.ForwardAlgorithms.SplitForwardType
SplitForward{S<:ForwardAlgorithm,FS,FM} <: ForwardAlgorithm

Forward algorithm that splits a set, then computes the image under the neural network, and finally merges the resulting sets again, all according to a policy.

Fields

  • algo – algorithm to be applied between splitting and merging
  • split_function – function for splitting
  • merge_function – function for merging
source
NeuralNetworkReachability.ForwardAlgorithms.PolyZonoForwardType
PolyZonoForward{A<:PolynomialApproximation,N,R} <: ForwardAlgorithm

Forward algorithm based on poynomial zonotopes via polynomial approximation from Kochdumper et al. [KSAB23].

Fields

  • polynomial_approximation – method for polynomial approximation
  • reduced_order – order to which the result will be reduced after each layer
  • compact – predicate for compacting the result after each layer

Notes

The default constructor takes keyword arguments with the following defaults:

  • polynomial_approximation: RegressionQuadratic(10), i.e., quadratic regression with 10 samples
  • compact: () -> true, i.e., compact after each layer

See the subtypes of PolynomialApproximation for available polynomial approximation methods.

source