Rounded Convolution #
Forward- and reverse-mode error bounds for channels-first convolution at arbitrary spatial rank.
The bounds follow the ordered folds in Spec.convSpec and Spec.convBackwardSpec, with separate
rounding of products and sums. They do not assume associativity of rounded addition or verify
LibTorch's convolution kernels. Inputs and weights are tensors; lists describe the internal
coordinate traversal, whose order must be preserved by any replacement implementation.
Ordered rounded sums #
Error budget after one rounded addition.
Instances For
Error budget after one rounded multiplication.
Instances For
Fold rounded terms with their absolute-error budgets, in the supplied index order.
Instances For
Error budget for a rounded sum beginning at zero.
Instances For
A fold of individually bounded rounded terms is bounded by foldError.
Replay bound for a dot product whose two arguments are already approximated pointwise.
Instances For
An ordered rounded dot product is enclosed by productFoldError.
Arbitrary-rank index traversal #
The nested index loop equals a single fold over the flattened index list.
Flattening preserves the nested loop's order; it does not replace the rounded fold by an unordered sum.
Same flattening one level up, for the channel loop wrapped around the spatial loop.
Tensor coordinates #
Total tensor lookup preserves a uniform tensor approximation.
Forward convolution #
Input element for an output position and (channel, offset) pair, or zero outside the input.
Instances For
Weight used by one (input channel, kernel offset) pair at the selected output channel.
Instances For
Absolute-error budget for one coordinate of a rounded arbitrary-rank convolution.
The budget follows the spec's multiplication and accumulation order, then accounts for the final bias addition. It is conservative: padded reads still receive the uniform input-error budget even though their exact and rounded values are both zero.
Instances For
One coordinate of rounded convolution is enclosed by convolutionPointError.
Backward convolution #
The input value entering one term of the kernel-gradient accumulation, zero outside the padding.
Instances For
The output-gradient value entering that same term.
Instances For
Error budget for one coordinate of the rounded convolution kernel gradient.
Instances For
Every coordinate of the rounded kernel gradient encloses its ideal real value.
Error budget for one coordinate of the rounded convolution bias gradient.
Instances For
Every coordinate of the rounded bias gradient encloses its ideal real value.
Input-gradient summand: an output gradient times its kernel weight, or zero when the transposed index has no corresponding output position.
Instances For
Error budget for one coordinate of the rounded convolution input gradient.
Instances For
Every coordinate of the rounded input gradient encloses its ideal real value.