Back to Experiments

I-ratio diagnostic across five domains

Purpose

The interaction ratio \( I \) satisfies \( \|\sum_i g_i\|^2 = D(1 + 2I) \) with \( D = \sum_i \|g_i\|^2 \), so \( I = -\frac{1}{2} \) exactly when the objective gradients cancel, and \( I \in [-\tfrac{1}{2}, \tfrac{K-1}{2}] \) otherwise. This experiment runs the adaptation loop to a stopping point in five structurally different multi-objective problems and reads off \( I \) there. The five domains illustrate the diagnostic; the identity is the same in each, and the domain readings are what the diagnostic looks like in practice, not evidence of anything beyond the identity.

Method

For each domain, construct a multi-objective optimisation problem with \(K \geq 2\) competing objectives. Run the adaptation loop until the convergence score satisfies \(S < 0.001\) and record the final I-ratio.

Domain Specifications

Domain\(K\)ObjectivesDimension
Multi-task learning4Classification, regression, ranking, reconstruction50
Portfolio optimisation3Return, risk (neg variance), diversification20
Ecosystem dynamics5Species 1-5 population fitness30
Gradient health3Magnitude stability, direction consistency, scale balance100
Market balance2Supply maximisation, demand satisfaction10

Results

I-ratio at the stopping point

Domain\(I\) (measured)Error \(|I + 0.5|\)Steps to stop\(S\) (final)
Multi-task learning-0.50000\(1.1 \times 10^{-15}\)342\(4.2 \times 10^{-4}\)
Portfolio optimisation-0.50000\(8.9 \times 10^{-16}\)187\(2.8 \times 10^{-4}\)
Ecosystem dynamics-0.50000\(2.2 \times 10^{-15}\)511\(7.1 \times 10^{-4}\)
Gradient health-0.50000\(4.4 \times 10^{-16}\)89\(1.3 \times 10^{-4}\)
Market balance-0.50000\(2.2 \times 10^{-16}\)64\(8.7 \times 10^{-5}\)

In all five runs the summed gradient is zero to rounding at the stopping point, and \( I \) reads \(-0.5\) accordingly.

Domain-Specific Observations

Multi-Task Learning

TaskLoss (before)Loss (after)Weight Share
Classification0.8910.3120.251
Regression1.2040.2980.248
Ranking0.7430.3070.252
Reconstruction1.5210.3210.249

At the stopping point the four tasks have near-equal loss and near-equal weight share.

Portfolio

At the stopping point no single asset exceeds \(1/K\) of total weight by more than 2%. Effective number of assets: 2.94 of 3.00.

Ecosystem

Shannon diversity index at the stopping point: 1.598 (maximum for \(K=5\): \(\ln 5 = 1.609\)). Evenness: 0.993.

Gradient Health

Condition\(I\) valueReading
Healthy gradients-0.500Gradients cancel
Vanishing gradients-0.891Reading outside \([-\tfrac12, \tfrac{K-1}{2}]\); indicates a numerical problem in the gradient computation
Exploding gradients-0.103\(I > -0.5\): gradients do not cancel

Deviation of \( I \) from \(-0.5\) reads as failure of cancellation; a value below \(-0.5\) is outside the range the identity allows and flags an ill-conditioned computation.

Market (Supply = Demand)

With \(K = 2\) (supply, demand), the price at the stopping point satisfies supply = demand, where the two gradients cancel and \( I = -0.5 \). Error from the analytical balance point: \(2.2 \times 10^{-16}\).

Analysis

  • In each of the five domains the adaptation loop stops at a point where the gradients cancel, and \( I \) reads \(-0.5\) there, as the identity dictates.
  • The reading is unaffected by the number of objectives (\(K = 2\) to \(5\)), dimensionality (\(d = 10\) to \(100\)) or problem structure, because it is a ratio of inner products.
  • The interpretation of cancellation differs by domain (equal task loss, diversified weights, even populations, healthy gradient scales, market balance) while the scalar readout is the same.
  • Steps to the stopping point grow with \(K\) in these runs.

Summary

The I-ratio is a scale-free readout of gradient cancellation, \( \|\sum g\|^2 = D(1+2I) \), and reads \(-0.5\) at the stopping point in each of the five example problems. The domain-specific tables show what that reading corresponds to in each setting.

Reproducibility

../simplex/build/sxc exp_iratio_applications.sx -o build/exp_iratio_applications.ll

OPENSSL_PREFIX=$(brew --prefix openssl)
clang -O2 build/exp_iratio_applications.ll \
  ../simplex/runtime/standalone_runtime.c \
  -o build/exp_iratio_applications \
  -lm -lssl -lcrypto -L${OPENSSL_PREFIX}/lib

./build/exp_iratio_applications

Related