LHC collides protons, but the hard interaction occurs between their fundamental constituents, the partons.
Partons are not directly observed: the detector only sees final-state particles.
PDFs are the latent probability model we infer.
A proton is composed of quarks and gluons, whose momentum distribution is described by PDFs.
NNPDF solves an inverse problem: we have a set of experimental data and we want to find the underlying PDFs that best explain the data.
Theory (QCD, QED) allows us to compute the observable values \(\mathcal{O}_n\) from the PDF space, and the inverse is done by fitting precise experimental data.
Kinematic coverage of the NNPDF dataset in the \((x,Q^2)\) plane.
Diverse processes:
DIS, Drell-Yan, jets, top, photons...
Uneven coverage:
dense data islands, sparse regions.
Critical regions:
important predictions can rely on indirect constraints.
The PDF space is a 8-dimensional space (flavor basis or evolution basis).
Why does a given flavor look like this in a given \(x\) region? Which datasets are responsible for this behavior?
Black-box systems are a recurrent interpretability issue in modern DL. We can take inspiration from the methods developed there to solve the interpretability problem of NNPDF.
XAI answer : What's the impact of one feature on the output of the model ?
Inherited from game theory: represent the value of the contribution \(\phi\) of a player \(i\) within a coalition \(S\).
\[ \phi_i = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|! \, (|N| - |S| - 1)!}{|N|!} \left[ v(S \cup \{i\}) - v(S) \right] \]where \(N\) is the set of all players, \(S\) is a subset of players not including \(i\), and \(v(S)\) is the value of the coalition \(S\).
Computational cost scales exponentially with the number of players \(2^N\).
SHAP adapts SV for DL application. Makes them computable for large numbers of players (features) given certain assumptions and approximations.
Applying Shapley Values to NNPDF, we treat the PDF of each flavor as an input of our black-box model.
Standard SHAP makes Shapley values tractable for ~50+ features by assuming features are independent (additivity).
But PDF flavors are strongly correlated → the independence assumption breaks.
Only 8 players (PDF flavors) → the Shapley sum for each flavor runs over just \(2^7=128\) coalitions → we compute the exact Shapley value: no independence assumption, all correlations kept.
We probe one flavor in a chosen \(x\) region with a smooth Gaussian bump, its height calibrated to the PDF uncertainty so it is comparable across flavors.
To avoid directional bias, we average the value over the \(+\) and \(-\) bumps:
A coalition \(S\): perturb the flavors in \(S\), leave the rest untouched; \(v(S)=\chi^2\).
Correlations are physical: sum rules tie flavors together, perturbing one forces compensating shifts in the others, so total proton momentum and quark counting stay fixed.
\(\phi_j\) = marginal change in \(\chi^2\) when flavor \(j\) is perturbed, same units as \(\chi^2\).
Always per dataset \(\mathcal{D}\):
different data → different contributions.
Loading trained PDFs from n3fit.
For selected datasets, we can run the following Shapley analysis:
Slide the bump across \(x\): the tool isolates which flavor each \(x\)-region constrains, independently. Sensitivity tracks the data and fades where there is none.
Running over PDF replicas gives an uncertainty on every contribution, not just a point estimate.
Allow per-dataset analysis. Which allows to directly trace and quantify the dataset-flavor; jets and \(t\bar t\) are clearly gluon-driven around \(x\approx0.5\).
The tool flags a counter-intuitive gap near \(x\approx0.1\); the cause is a known QCD feature: there the gluon's evolution stalls (its kernel passes through zero), so the data cannot constrain it → \(\phi_g\approx0\).
NNPDF tunes its hyperparameters with \(K\)-fold cross-validation: the data are split into folds. For that to be unbiased, each fold should constrain the PDFs similarly.
Shapley values give a quantitative handle on fold homogeneity. Open the way for quantitative fold design.
Exact, correlation-aware Shapley values open up the NNPDF black box, no feature-independence approximation.
Binary theorem: given two mixtures \(M_1\), \(M_2\) of pure samples \(S\) and \(B\) with signal fractions \(f_1 > f_2\), the optimal classifier separating \(M_1\) from \(M_2\) is also optimal for separating \(S\) from \(B\).
\[ L_{M_1/M_2}=\frac{f_1p_S+(1-f_1)p_B}{f_2p_S+(1-f_2)p_B}=\frac{f_1L_{S/B}+(1-f_1)}{f_2L_{S/B}+(1-f_2)} \]
If \(f_1 > f_2\), \(L_{S/B}\) and \(L_{M_1/M_2}\) define the same classifier — no labels, no proportions.
360+ citations, including 270 in HEP Always the binary case: signal vs background. The guarantee does not extend to \(K>2\).
Our move: train one \(M\)-way classifier to predict mixture identity, and read the latent classes off its posterior geometry.
Each mixture \(m\) has density built from shared class-conditionals \(p_k\) and unknown weights \(\pi_{mk}\):
We observe only the data \(x\) and the mixture id \(m\) — never the latent label \(y\), never the mixing matrix \(\Pi\).
Trained only on mixture id, the posterior cloud organizes on a \((K-1)\)-simplex inside \(\Delta^{M-1}\) — its vertices are the latent classes.
(R1) Post-hoc simplex fitting
(R2) Architectural bottleneck
Assumptions: shared class-conditionals, full-rank \(\Pi\) (\(M\ge K\)), separability (anchors), uniform mixture sampling. Both also recover the hidden mixing matrix \(\Pi\).
CIFAR-10, \(K=3\), \(M=6\): trained only on mixture id, yet points cluster at vertices that match the oracle classes — via post-hoc fit (a) or bottleneck (b).
CIFAR-10. At fixed \(K=10\), extra mixtures add redundant constraints: simplex rises \(0.55\,(M{=}10)\to{\sim}0.65\,(M{=}30,50)\), nearly matching the known-prior oracle.
Real telescope images, \(K=M=10\). As mixture purity drops the problem becomes unidentifiable — but our methods degrade gracefully and track the oracle-prior baselines at moderate/high purity.
| Technique | Method | Accuracy ↑ | ECE ↓ |
|---|---|---|---|
| Supervised | Oracle | 0.802 | 0.032 |
| Prior-aware | Wei CCM | 0.686 | 0.069 |
| Oracle Simplex | 0.661 | 0.116 | |
| Prior-free | OvR | 0.476 | 0.272 |
| Bottleneck | 0.503 | 0.197 | |
| Simplex | 0.584 | 0.123 |
Galaxy10, \(K=10,M=20\). Simplex beats OvR by +10.8 accuracy points and halves calibration error — closing most of the gap to oracle-prior methods.
\(K\) enters only the post-hoc fitter, so it is discoverable: a held-out reconstruction error plus a gap statistic recover \(K_{\text{true}}=10\) on Galaxy10.
Mixture identity alone recovers multiclass structure — no labels, no priors.
Contact : raphael.bonnet-guerrini@unimi.it
This work was supported by the European Union's Horizon Europe research and innovation programme under the Marie Sklodowska-Curie grant agreement No 101168829, Challenging AI with Challenges from Physics: How to solve fundamental problems in Physics by AI and vice versa (AIPHY).
At small \(x\), the gluon is generated by QCD evolution, dominated by the gluon–gluon kernel \(\gamma_{gg}(N)\).
\(\gamma_{gg}(N)\) crosses zero near \(N=2\) (Mellin space) → evolution stalls, so data cannot constrain the gluon there.
A saddle-point map \(x(N)\) puts \(N=2\) at \(x\approx10^{-1}\)–\(2\times10^{-1}\) — exactly where the dip appears.
HERA (collider, small \(x\)) and fixed-target (large \(x\)) constrain different \(x\) regions; the gluon stays small in DIS.
# INPUT: observables, mu,sigma,amplitude, n_samples, n_flavors = n
# OUTPUT: shapley_vals[], baseline_chi2, cache
baseline_chi2 = evaluate_chi2(observables, flavor_subset=[]) # v({})
cache = {} # map subset -> v(S)
all_subsets = power_set(0..n-1) # exclude full-set if desired
for i in 0..n-1:
SV = 0
for S in all_subsets:
if i in S: continue
# v(S)
if S not in cache:
cache[S] = evaluate_chi2(observables, flavor_subset=list(S), mu,sigma,amplitude, n_samples)
vS = cache[S]
# v(S ∪ {i})
S_with = S ∪ {i}
if S_with not in cache:
cache[S_with] = evaluate_chi2(observables, flavor_subset=list(S_with), mu,sigma,amplitude, n_samples)
vSw = cache[S_with]
Δ = vSw - vS # marginal contribution
s = |S|
w = factorial(s) * factorial(n - s - 1) / factorial(n)
SV += w * Δ
shapley_vals[i] = SV
# RETURN: shapley_vals, baseline_chi2, evaluated_coalitions=|cache|
# COMPLEXITY: time ~ O(n · 2^n · cost_eval), space ~ O(2^n) (memoized)