TorchLean API

NN.MLTheory.Proofs.Approximation.Universal.UniversalApproximationBinaryExecTwoLayerMlp

Configured binary two-layer ReLU approximation bound #

This file proves the reusable three-term error decomposition for executing a single-hidden-layer ReLU MLP over any configured executable binary format and model codec.

The theorem separates the three mathematically different sources of error:

This is the finite-dimensional analogue of the hinge-network executable bound in UniversalApproximationBinaryExec. The decomposition follows the standard numerical-analysis pattern for floating-point algorithms: prove the real algorithm correct, bound data/parameter rounding, and bound arithmetic rounding separately. For background, see IEEE Std 754-2019, Goldberg (1991), Higham (2002), and the ReLU density literature of Cybenko, Hornik, Leshno, and Pinkus.

Three-term bound #

Read this as:

Given a configured binary input xI, let $x_R$ be its real interpretation (toReal elementwise). If:

  1. the target $f$ is approximated by a real two-layer ReLU MLP with error at most $\varepsilon_{\mathrm{approx}}$,
  2. the real MLP is close to the real interpretation of the binary parameters, with error at most $\varepsilon_Q$,
  3. executing the binary MLP and then mapping to reals is close to the real interpretation of those binary parameters, with error at most $\varepsilon_R$,

then the binary execution approximates $f$ within $\varepsilon_{\mathrm{approx}}+\varepsilon_Q+\varepsilon_R$.

theorem NN.MLTheory.Proofs.UniversalApproximation.BinaryExecTwoLayerMLP.relu_mlp_approximation_three_term {format : FloatLib.Floats.Formats.BinaryInterchange.FloatFormat} {plan : FloatLib.Floats.Formats.BinaryInterchange.Configured.StoragePlan format} {code : Type} [FloatLib.Floats.ExecFloat.ModelCodec plan (FloatLib.Floats.Formats.BinaryInterchange.Model format) code] {n hidDim : ℕ} (D : Set (TorchLean.Tensor (FloatLib.Floats.ExecFloat (FloatLib.Floats.Formats.BinaryInterchange.Configured.Family format code plan)) [n])) (f : TorchLean.Tensor ℝ [n] → ℝ) (l1R : Spec.LinearSpec ℝ n hidDim) (l2R : Spec.LinearSpec ℝ hidDim 1) (l1I : Spec.LinearSpec (FloatLib.Floats.ExecFloat (FloatLib.Floats.Formats.BinaryInterchange.Configured.Family format code plan)) n hidDim) (l2I : Spec.LinearSpec (FloatLib.Floats.ExecFloat (FloatLib.Floats.Formats.BinaryInterchange.Configured.Family format code plan)) hidDim 1) (εApprox εQ εR : ℝ) (hApprox : ∀ xI ∈ D, have xR := BinaryExecCore.tensorToReal xI; |f xR - ReLUMlpBridge.mlpEval l1R l2R xR| ≤ εApprox) (hQ : ∀ xI ∈ D, have xR := BinaryExecCore.tensorToReal xI; |ReLUMlpBridge.mlpEval l1R l2R xR - ReLUMlpBridge.mlpEval (BinaryExecCore.linearSpecToReal l1I) (BinaryExecCore.linearSpecToReal l2I) xR| ≤ εQ) (hR : ∀ xI ∈ D, have xR := BinaryExecCore.tensorToReal xI; |(FloatLib.Floats.ExecFloat.Binary.toModel (BinaryExecCore.mlpEval l1I l2I xI)).toReal - ReLUMlpBridge.mlpEval (BinaryExecCore.linearSpecToReal l1I) (BinaryExecCore.linearSpecToReal l2I) xR| ≤ εR) (xI : TorchLean.Tensor (FloatLib.Floats.ExecFloat (FloatLib.Floats.Formats.BinaryInterchange.Configured.Family format code plan)) [n]) :

Combine real approximation, parameter quantization, and execution error on a set of inputs. The execution bound is a hypothesis about Model.toReal, including its treatment of exceptional values; this theorem does not supply a rounding or finiteness bound.