New generation inversion codes
A. Asensio Ramos Instituto de Astrofísica de Canarias (Spain)
J. de la Cruz Rodríguez
Institute for Solar Physics (Sweden)
github.com/aasensio
@aasensior
aasensio.github.io/blog
SIR, Nicole, Helix+, Hazel, MILOS, PCA, …
Old generation – From 70s and still R&R
Teenage generation – 21st century
• PCA regularized deconvolution (IAC) • Spatially coupled inversions [van Noort’s talk]
The new generation
Regularization
Why regularization?
• Pixel-by-pixel inversion
• No spatial correlation is used at all
• Noise induces degeneracies
• Your inversion code is surely biased (and you don’t know it)
• We know many things from our solution
Include a-priori knowledge Maximum-likelihood maximum a-posteriori
A simple observation
1 MB (RAW) 129 kB (JPEG) - lossy
286 kB (PNG) - lossless
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20 ~107
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20 ~107
Redundant information!
The importance of spatial correlation
Rempel et al. (2009)
Use a sparsifying (compressive) transformation
Use a sparsifying (compressive) transformation
• Solution is sparse • Reduction in the number of unknowns
• Transformation is global
• A pixel contributes to all modes
Compression – Discrete Cosine Transform
Compression – Daubechies Wavelets
Compression – Discrete Cosine Transform
Compression – Daubechies Wavelet
Compression – Physical parameters DCT
Compression – Physical parameters Wavelet
Compression – Physical parameters DCT
Compression – Physical parameters Wavelet
The problem to solve
The problem to solve
How to solve the problem
Levenberg-Marquardt (gradient descent+Newton) cannot be used because the Hessian matrix is huge
• Cannot be built and/or approximated • Contrary to what happens with e.g., van Noort’s method
• Cannot be inverted
• Matrix is not sparse
Need to use accelerated first-order methods
First-order proximal algorithms
First-order proximal algorithms
Optimization of a convex+non-convex function
Proximal gradient descent methods broadly used in ``big data’’
Proximal operators
Proximal operators
For the l0 norm, the proximal operator is the hard-thresholding operator
Proximal operators
For the l0 norm, the proximal operator is the hard-thresholding operator
Proximal operator – Intuitive idea
Admissible solutions Non-admissible
solutions
Computer code
• MPI parallel general inversion code (C++)
• Uses the FISTA algorithm (Beck & Teboulle 2009) with restarting (O’Donoghue & Candès 2012)
• Forward model is modular (+gradient)
• Sparsity: DCT, Wavelet, …
• Spatial deconvolution is added trivially
• We are studying thresholding strategies
Sunspot - Comparison
B
qB
fB
v
Dl
30% compression factor!!
Quiet Sun - Comparison
B
qB
fB
v
Dl
30% compression factor!!
Inversion+deconvolution: straightforward
Extensions
• 2D inversions with gradients
• Full 3D inversions invert a cube
• Regularized versions of SIR
• Inclusion of unknown systematics plus the signal
• Inversion + deconvolution