layout: true
--- class: center, middle # Detecting Burst Gravitational Waves with Wavelets and Neural Networks
An example signal from an burst gravitational wave source. Image Credit: A. Stuver/LIGO using data from C. Ott, D. Burrows, et al.
--- ## Introduction - Gravitational waves are ripples in space-time created by accelerating masses
Artist's impression of gravitational waves from two orbiting black holes. Image Credit: T. Carnahan (NASA GSFC)
- A **strong** gravitational wave produces disturbances on the order of \\(10^{-18}\\) meters, or \\(\tfrac{1}{1000}\\) the width of a proton - We need extremely sensitive equipment to measure these disturbances --- ## LIGO - **L**aser **I**nterferometer **G**ravitational-Wave **O**bservatory - Two detectors, one in Louisiana and another in Washington - They act as noise filters for each other, and the time delay between them can help locate the source of the gravitational wave
Hanford, Washington LIGO Observatory. Image Credit: Caltech/MIT/LIGO Lab
- Can detect disturbances \\(\tfrac{1}{10000}\\) the width of a proton --- ## LIGO, How does it Work? - LIGO is a large interferometer: a device which merges two or more light sources together to form an interference pattern - Interference is the superposition of two or more waves to form a new wave .pull-left[
]
Hanford, Washington LIGO Observatory. Image Credit: Caltech/MIT/LIGO Lab
- At rest, LIGO is designed for totally destructive interference - Signal will be detected when length changes and interference is no longer totally destructive --- ## LIGO Animation
--- ## Burst Gravitational Waves - The least is known about the origins of these gravitational waves - Short, "chirp" signals - Hypotheses that systems such as supernovae or gamma ray bursts may produce these waves, but too little is known about the details of these systems to predict the form of these waves
An example signal from an burst gravitational wave source. Image Credit: A. Stuver/LIGO using data from C. Ott, D. Burrows, et al.
--- ## Wavelets and Wavelet Transforms - Wavelets are "mathematical functions that cut up data into different frequency components and then study each component with a resolution matched to its scale" (Graps, 1995) - Wavelet transform is akin to a short time Fourier transform (STFT), yielding time-frequency localization - Differences between the two include localization in space of the basis functions, varying "windows", and size of basis set .pull-left[
Morlet wavelet. Image Credit: Wikipedia
]
--- ## Scaleograms - Analogous to a Fourier transform spectrogram - Visualization of signal with time-frequency localization
Spectrogram of an FM signal. In this case the signal frequency is modulated with a sinusoidal frequency vs. time profile. Image Credit: Wikipedia
--- ## Convolutional Neural Networks (CNN)
Overview of a convolutional neural network's architecture. Image Credit: Sumit Saha towardsdatascience.com
- Designed for 2D image data, but can be used for 1D and 3D data - The main feature of CNNs is convolutional layers - Convolutional layers reduce the size of input data while retaining the features of the data --- ## Convolution and Filters - Convolution is an operation which maps a matrix to a scalar - Equivalent to sum of Hadamard (element-wise) product between two matrices - A **convolution kernel** or **filter** is a matrix that slides along the data and extracts specific features such as edges or color - The CNN will learn these filters during training
Convolution of a 5x5x1 image with a 3x3x1 kernel to get a 3x3x1 convolved feature. Image Credit: Sumit Saha towardsdatascience.com
--- ## General Steps in a CNN 1. Initialize all filters and weights with random values 2. Pass data through convolution (+ activation) and pooling layers 3. Feed feature maps to fully connected layers for classification 4. Update weights in network as usual
Max Pooling. Image Credit: Stanford
Training a CNN. Image Credit: Ujjwal Karn
--- ## Training a CNN to Detect Burst Gravitational Waves - A collection of these waves of sufficient size does not exist, so it must be simulated - Use **LALSimulation** tool provided by the LIGO Scientific Collaboration - For this project, simulate linearly polarized sine-Gaussian bursts with randomized parameters - Simulate both burst gravitational waves and pure noise and compute the scaleogram of each simulation .pull-left[![:scale 90%](../img/signal.svg)] .right[![:scale 42%](../img/signal+noise.svg)] --- ## Training Data
Scaleograms of training data and their classifications.
--- ## Network Architecture and Training Methods - Simulating the images and computing the scaleograms takes some time, so it was not feasible to generate a sufficiently large dataset on a desktop computer - 2000 images took over 10 hours on a Ryzen 2600X - Transfer learning was utilized to fill the gaps - Exploit networks which have already been trained to detect a wide variety of features - In this project, GoogLeNet (InceptionV3) was used - The [Keras](https://keras.io/) deep-learning API was used to download the pre-trained model and modify it for the needs of this project - The data was split roughly 70/20/10 for training/validation/testing - The base model was frozen, and the top layer was removed to allow training of new classifiers (signal or noise) - Used Keras's early-stopping callback and a dropout layer to avoid overfitting - Binary Cross-Entropy loss function - It took around 1.5 hours to train for 100 epochs on an AMD Ryzen 2600X 6-core processor (GPU was not available) ---
Overview of model training.
---
Model prediction of class labels on test set with 98% accuracy.
--- ## Future Plans - Simulate and classify other types of burst gravitational waves - Speed up simulation of data - Fine tune the model by training more than just the top layer ## References - Graps A. 1995. IEEE Comp. Sci. Engi. 2:50–61 - LIGO Scientific Collaboration. 2018. LIGO Algorithm Library - LALSuite - Markowitz J, Zanolin M, Cadonati L, Katsavounidis E. 2008. arXiv:0810.2264 [gr-qc] - The LIGO Scientific Collaboration, the Virgo Collaboration. 2010. Phys. Rev. D. 81(10):102001 Check [my GitHub](https://github.com/davecwright3/ligo-scaleogram-cnn) for the code