L1 (absolute-difference) misfit¶
Definition¶
\[
\mathcal{J}_{L_1}(m) \;=\; \sum_{s,t,r,c}
\bigl| d_{\mathrm{syn}}[s,t,r,c] - d_{\mathrm{obs}}[s,t,r,c]\bigr|.
\]
The "influence function" — the gradient of \(|r|\) with respect to the residual \(r\) — is \(\operatorname{sign}(r)\), a bounded function. This makes L1 much more robust to outliers than L2: a single huge residual contributes only \(\pm 1\) to the gradient.
When to use¶
- Noisy field data where bad traces or large coherent outliers (spikes, ground-roll bursts) dominate the L2 norm.
- As a "stable" complement to L2 in hybrid schemes (see
hybrid_l1l2).
The function is non-differentiable at \(r=0\); PyTorch returns 0 there as a sub-gradient.
API¶
Tests¶
tests/test_l1.py checks:
L(d,d)=0,- numerical agreement with
F.l1_lossfor both reductions, - analytic gradient
dJ/dsyn = sign(syn - obs)on hand-picked samples, - outlier-robustness vs. L2 on a single \(10^3\) spike.
References¶
- Crase, E., Pica, A., Noble, M., McDonald, J. & Tarantola, A. (1990). Robust elastic nonlinear waveform inversion: application to real data. Geophysics 55 (5), 527-538. doi:10.1190/1.1442864
- Brossier, R., Operto, S. & Virieux, J. (2010). Which data residual norm for robust elastic frequency-domain full waveform inversion? Geophysics 75 (3), R37-R46. doi:10.1190/1.3379323