Save 37% off PRO during our Black Friday Sale! »

A data scientist’s guide to direct imaging of exoplanets

A data scientist’s guide to direct imaging of exoplanets

Invited talk at the RADA big data workshop (https://as595.github.io/RADABigData/) in Medellín, Colombia. The workshop is part of the Radio Astronomy for Development in the Americas (RADA) Big Data program, which is jointly funded by the UK Newton Fund and the Ministerio de Tecnologías de la Información y las Comunicaciones de Colombia. Feb 12, 2019.

Ff4e4a187a5b14652d6b9ab842d4a3e9?s=128

Carlos Alberto Gomez Gonzalez

February 12, 2019
Tweet

Transcript

  1. A data scientist’s guide to direct imaging of exoplanets Carlos

    Alberto Gomez Gonzalez RADA big data workshop (Medellín). Feb 12, 2019
  2. whoami Colombia Russia Spain Belgium France (PhD astrophysics and ML/CV)

  3. whoami Research data scientist for Earth, Space and environmental sciences

  4. whoami I have a very particular set of skills :)

  5. A data scientist’s guide to direct imaging of exoplanets

  6. A data scientist’s guide to direct imaging of exoplanets

  7. A data scientist’s guide to direct imaging of exoplanets

  8. A data scientist’s guide to direct imaging of exoplanets Domain

    expertise
  9. A data scientist’s guide to direct imaging of exoplanets Programming

  10. A data scientist’s guide to direct imaging of exoplanets Stats,

    ML
  11. A data scientist’s guide to direct imaging of exoplanets Visualization,

    communication skills
  12. Credit: Martin Vargic

  13. Solar System A data scientist’s guide to direct imaging of

    exoplanets
  14. Exo from extrasolar (outside of the Solar System) A data

    scientist’s guide to direct imaging of exoplanets
  15. Exo from extrasolar (outside of the Solar System)

  16. A data scientist’s guide to direct imaging of exoplanets

  17. None
  18. Credit: NASA, http://planetquest.jpl.nasa.gov High-contrast imaging Lighthouse -> Star Firefly ->

    exoplanet
  19. Credit: NASA, http://planetquest.jpl.nasa.gov High-contrast imaging Lighthouse -> Star Firefly ->

    exoplanet Stars never shut off !!!
  20. http://exoplanetarchive.ipac.caltech.edu, 25 Jan 2018

  21. http://exoplanetarchive.ipac.caltech.edu, 25 Jan 2018 Task: try to spot this color

    and estimate the total contribution of direct imaging detection… about 1% !!!
  22. Debris disk Beta Pictoris (occulted)

  23. Yep, this is the exoplanet (Beta Pictoris b)

  24. HR8799 bcde (Marois et al. 2008-2010) Several epochs (final images)

  25. HR8799, Marois et al. 2010 20 AU 0.5” Konopacky et

    al. 2013 Bowler 2016 Why direct imaging? Milli et al. 2016
  26. Fake planet (low contrast) Signal and noise

  27. spatially rescaled images t0 t0 with an integral field spectrograph

    Signal and noise
  28. Multi-dimensional arrays ( ) exoplanet t, λ, x, y

  29. Image processing pipeline

  30. Image processing pipeline Getting rid of the noise…

  31. Image processing pipeline Look ma, I’ve found an exoplanet!

  32. Raw astronomical images Sequence of calibrated images Basic calibration and

    “cosmetics” • Dark/bias subtraction • Flat fielding • Sky/thermal background subtraction • Bad pixel correction Image recentering Bad frames removal Image combination PSF modeling • Median • Pairwise, ANDROMEDA • LOCI • PCA/KLIP, NMF • LLSG Model PSF subtraction Detection on residual frame or detection map Characterization of “detected” companions R1 ,!1 ,F1 R2 ,!2 ,F2 R3 ,!3 ,F3 R4 ,!4 ,F4 Raw Clean
  33. Algorithms Ten years of research: • Median frame subtraction •

    Pairwise subtraction • Least squares image combination • PCA (forward modeling), NMF • Low-rank plus sparse decompositions • Matched filtering • Maximum likelihood estimation
  34. None
  35. Researcher creates an open-source library

  36. None
  37. None
  38. • https://github.com/vortex-exoplanet/VIP • http://vip.readthedocs.io/ • CI, test suite, jupyter tutorials,

    paper on A&A
  39. None
  40. VIP: algorithmic zoo Comparing the resulting images (using different algorithms)

  41. Task: remove the noise and reveal the exoplanet signal VIP:

    algorithmic zoo
  42. Designing APIs for science

  43. Designing APIs for science

  44. Building blocks… D — M = R Noise reduction algorithm

    R - residuals containing the exoplanet signal
  45. Observer (classifier) D — M = R or Noise reduction

    algorithm R - residuals containing the exoplanet signal Building blocks…
  46. Model PSF subtraction drawbacks Planet signal is subtracted along with

    the speckles
  47. Image sequence Final residual image Detection

  48. Image sequence Final residual image ? ? ? ? ?

    ? ? Detection
  49. Image sequence Final residual image ? ? ? ? ?

    ? ? Speckles (?) Real planet Synthetic planets Detection
  50. Unsupervised Supervised PC 1 PC 2 Dimensionality reduction Clustering Reinforcement

    Density estimation Regression Classification ML
  51. f = arg min fθ,θ∈Θ n i=1 L(yi, fθ (xi

    )) + g(θ) f : X → Y, Training data chihuahua muffin (xi, yi )i=1,...,n Supervised learning
  52. { Model architecture f = arg min fθ,θ∈Θ n i=1

    L(yi, fθ (xi )) + g(θ) f : X → Y, (xi, yi )i=1,...,n Supervised learning
  53. Loss function and regularization f = arg min fθ,θ∈Θ n

    i=1 L(yi, fθ (xi )) + g(θ) f : X → Y, (xi, yi )i=1,...,n Supervised learning
  54. { Optimization f = arg min fθ,θ∈Θ n i=1 L(yi,

    fθ (xi )) + g(θ) f : X → Y, (xi, yi )i=1,...,n Supervised learning
  55. Input X 1st Layer (data transformation)

  56. Input X 1st Layer (data transformation) Perceptron (Rosenblatt 1958)

  57. ▸ Activation function Input X 1st Layer (data transformation) 2nd

    Layer (data transformation) Nth Layer (data transformation) …
  58. ▸ Max pooling ▸ Dropout ▸ BatchNorm Input X 1st

    Layer (data transformation) 2nd Layer (data transformation) Nth Layer (data transformation) …
  59. Input X Nth Layer (data transformation) … 1st Layer (data

    transformation) 2nd Layer (data transformation) Predictions Ŷ Labels Y Loss function weights weights weights weight update Optimizer loss score
  60. Reframing the problem: from unsupervised to supervised learning N …

    • Sequences of images without labels • Not enough archival data (observed stars) • We can generate semi- synthetic data by injecting a planet (PSF) template! • We grab patches: signal/noise PSF template
  61. Labeled data generation Neural network design and training Prediction (detection)

    Gomez Gonzalez et al. 2018
  62. Gomez Gonzalez et al. 2018

  63. None
  64. • Reproducible results • Hyper-parameter and network architecture tuning •

    Comparison of labeling strategies DataLabeler Model Predictor • Flux vs S/N sampling • Fluxes/contrast estimation • Training data generation • Data augmentation • Data persistence (load/save with HDF5) • Network creation (Keras and Tensorflow) • Model training • Model persistence (load/ save with HDF5) • Target samples generation • Predictions (based on trained model) • Probability map inspection • Results to HDF5 SODINN library
  65. Corresponding labels: y ∈ {c−, c+} … MLAR samples C+

    C-
  66. Discriminative model: Neural Network Goal - to make correct predictions

    on new samples: f : X → Y ˆ y = p(c+| MLAR sample) SGD with a binary cross-entropy loss: L = − n (yn ln(ˆ yn ) + (1 − yn ) ln(1 − ˆ yn )) Learning a mapping function
  67. 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max

    pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 3d Convolutional layer kernel=(3x3x3), filters=40 3d Convolutional layer kernel=(2x2x2), filters=80 Dense layer units=128 Output dense layer units=1 3d Max pooling size=(2x2x2) 3d Max pooling size=(2x2x2) ReLU activation + dropout Sigmoid activation X and y to train/test/validation sets 2d Convolutional layer kernel=(3x3), filters=40 Dense layer units=128 Output dense layer units=1 ReLU activation + dropout Sigmoid activation X and y to train/test/validation sets 2d Convolutional layer kernel=(3x3), filters=40 2d Convolutional layer kernel=(3x3), filters=40 2d Convolutional layer kernel=(2x2), filters=80 2d Convolutional layer kernel=(2x2), filters=80 2d Convolutional layer kernel=(2x2), filters=80 … … B-LSTM / B-GRU layer 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 2d Max pooling size=(2x2) 3d Convolutional layer kernel=(3x3x3), filters=40 3d Convolutional layer kernel=(2x2x2), filters=80 Dense layer units=128 Output dense layer units=1 3d Max pooling size=(2x2x2) 3d Max pooling size=(2x2x2) ReLU activation + dropout Sigmoid activation X and y to train/test/validation sets 2d Convolutional layer kernel=(3x3), filters=40 Dense layer units=128 Output dense layer units=1 ReLU activation + dropout Sigmoid activation X and y to train/test/validation sets 2d Convolutional layer kernel=(3x3), filters=40 2d Convolutional layer kernel=(3x3), filters=40 2d Convolutional layer kernel=(2x2), filters=80 2d Convolutional layer kernel=(2x2), filters=80 2d Convolutional layer kernel=(2x2), filters=80 … … B-LSTM / B-GRU layer
  68. Let’s inject some fake planets

  69. VS Let’s inject some fake planets

  70. PCA least squares Find the exoplanet ;)

  71. VS VS PCA least squares SODINN SODINN

  72. Performance assessment Receiver operating characteristic curves

  73. https://carlgogo.github.io/exoimaging_challenge/ https://github.com/carlgogo/exoimaging_challenge_extras Do you have an idea for a new

    algorithm? We are about to launch a data challenge!
  74. • Data from the most representative instruments • Metrics: •

    Phases: • Will run on Codalab https://carlgogo.github.io/exoimaging_challenge/ https://github.com/carlgogo/exoimaging_challenge_extras
  75. Connections with other fields https://arxiv.org/pdf/1506.04214.pdf

  76. Connections with other fields http://juliandewit.github.io/kaggle-ndsb2017/

  77. Connections with other fields https://arxiv.org/pdf/1609.09143.pdf ReCTnet architecture for object detection

    in multi-slice medical images
  78. Connections with other fields https://arxiv.org/pdf/1811.02471.pdf two-component convolutional long short-term memory

    network (LSTM) Convolutional LSTMs for Cloud-Robust Segmentation of Remote Sensing Imagery
  79. ¡Gracias! carlgogo.github.io/ github.com/carlgogo/ speakerdeck.com/carlgogo/ linkedin.com/in/carlgogo/