Page 1
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
Page 2
SIR, Nicole, Helix+, Hazel, MILOS, PCA, …
Old generation – From 70s and still R&R
Page 3
Teenage generation – 21st century
• PCA regularized deconvolution (IAC) • Spatially coupled inversions [van Noort’s talk]
Page 5
The new generation
Regularization
Page 6
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
Page 7
A simple observation
1 MB (RAW) 129 kB (JPEG) - lossy
286 kB (PNG) - lossless
Page 8
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
Page 9
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000
Page 10
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20
Page 11
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20 ~107
Page 12
Do we need information for all pixels?
Nunknowns=Npixel x Nparameters
1000 x 1000 ~10-20 ~107
Redundant information!
Page 13
The importance of spatial correlation
Rempel et al. (2009)
Page 15
Use a sparsifying (compressive) transformation
Page 16
Use a sparsifying (compressive) transformation
• Solution is sparse • Reduction in the number of unknowns
• Transformation is global
• A pixel contributes to all modes
Page 17
Compression – Discrete Cosine Transform
Page 18
Compression – Daubechies Wavelets
Page 19
Compression – Discrete Cosine Transform
Page 20
Compression – Daubechies Wavelet
Page 21
Compression – Physical parameters DCT
Page 22
Compression – Physical parameters Wavelet
Page 23
Compression – Physical parameters DCT
Page 24
Compression – Physical parameters Wavelet
Page 25
The problem to solve
Page 26
The problem to solve
Page 27
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
Page 28
First-order proximal algorithms
Page 29
First-order proximal algorithms
Optimization of a convex+non-convex function
Proximal gradient descent methods broadly used in ``big data’’
Page 30
Proximal operators
Page 31
Proximal operators
For the l0 norm, the proximal operator is the hard-thresholding operator
Page 32
Proximal operators
For the l0 norm, the proximal operator is the hard-thresholding operator
Page 33
Proximal operator – Intuitive idea
Admissible solutions Non-admissible
solutions
Page 34
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
Page 35
Sunspot - Comparison
B
qB
fB
v
Dl
30% compression factor!!
Page 36
Quiet Sun - Comparison
B
qB
fB
v
Dl
30% compression factor!!
Page 37
Inversion+deconvolution: straightforward
Page 39
Extensions
• 2D inversions with gradients
• Full 3D inversions invert a cube
• Regularized versions of SIR
• Inclusion of unknown systematics plus the signal
• Inversion + deconvolution