outputBoundsOptions
Description
Add-On Required: This feature requires the Deep Learning Toolbox Interface for alpha-beta-CROWN Verifier add-on.
Use an OutputBoundsOptions object to set options for the
estimateNetworkOutputBounds function for ONNX™ or PyTorch® networks.
α-β-CROWN is an algorithm for neural network verification. The algorithm efficiently propagates input bounds through the neural network to produce bounds on the output. You can use the output bounds to verify properties of a neural network, such as the robustness of the network to input perturbations.
Creation
Create a OutputBoundsOptions object using the
outputBoundsOptions function directly.
Description
returns output
bounds options for use with the Deep Learning Toolbox™ Interface for alpha-beta-CROWN
Verifier support package. To use the interface to compute the output bounds for a
neural network, use the options object as input to the options = outputBoundsOptionsestimateNetworkOutputBounds function.
returns additional options specified by one or more name-value arguments.options = outputBoundsOptions(Property=Value)
Properties
The following properties can be used in MATLAB to interface with
auto_LiRPA using the Deep Learning Toolbox Interface for alpha-beta-CROWN
Verifier support package. To learn more about these properties and example
configurations, see the auto_LiRPA Github repository.
Note
The default values documented here are used internally at runtime. The values are not visible at the time of object creation.
| Field | Data Type | Description |
|---|---|---|
Method | character vector or string scalar | Bound computation algorithm specified as
|
BoundLower | logical | Specified as
|
BoundUpper | logical | Specified as
|
DecisionThresh | positive numeric scalar | In "alpha-CROWN" mode, the software used
DecisionThresh to dynamically optimize those domains that are
less than or equal to the threshold. |
Determininistic | logical | Specified as
|
EarlyStopPatience | positive integer scalar | Number of iterations before early stopping if no improvement is observed.
This property is settable only if Method is "alpha-CROWN" or "forward-optimized". Default value is 10. |
FinalNodeName | character vector or string scalar | Set the final node in the computational graph for bound computation. By default, the final node of the originally built computational graph is used. |
InitAlpha | logical | Specified as
This property is settable only if |
Iteration | positive integer scalar | Number of iterations for α-CROWN. This property is settable only if Method is "alpha-CROWN" or "forward-optimized". Default value is 30. |
KeepBest | logical | Specified as
This property is settable only if |
LossFusion | logical | Specified as
|
LrAlpha | positive numeric scalar | Learning rate for α-CROWN. This property is settable only if |
LrDecay | positive numeric scalar | Learning rate decay factor for the |
Matmul | character vector or string scalar | Specified as
|
Optimizer | character vector or string scalar | Optimizer for α-CROWN specified as
This property is settable only if |
Relu | character vector or string scalar | Method to treat Relu specified as
|
StartSaveBest | positive numeric scalar | Start to save best optimized bounds when currentIteration >
int(NumIteration*StartSaveBest). This property is settable only if Method is "alpha-CROWN" or "forward-optimized". Default value is 0.5. |
StopCriterionFunc | character vector or string scalar | Function for the criterion of stopping optimization early specified as
This property is settable only if |
UseSharedAlpha | logical | Specified as
This property is settable only if |
Examples
Version History
Introduced in R2026a
