Build an image classifier to help search for extraterrestrial life

Get the code

Summary

In this developer pattern, we will convert radio signal data into images so we can treat this like an image classification problem. Then we train an image classifier using TensorFlow with a convolutional neural network. We use Jupyter Notebooks on PowerAI to demonstrate model training and testing.

Description

Each night, using the Allen Telescope Array in northern California, the SETI Institute scans the sky at various radio frequencies, observing star systems with known exoplanets, searching for faint but persistent signals. The current signal detection system is programmed to search only for particular kinds of signals: narrow-band carrier waves. However, the detection system sometimes triggers on signals that are not narrow-band signals (with unknown efficiency) and are also not explicitly known radio frequency interference. There seem to be various categories of these kinds of events that have been observed.

Our goal is to accurately classify these in real time. This may allow the signal-detection system to make better observational decisions, increase the efficiency of the nightly scans, and allow for explicit detection of these other signal types. For more information, refer to SETI hackathon on GitHub.

When you’ve completed this pattern, you will understand how to:

  • Convert signal data into image data
  • Build and train a convolutional neural network
  • Display and share results in Jupyter Notebooks

Flow

flow

  1. Load the provided notebooks to run on a PowerAI system on Nimbix Cloud.
  2. The SETI dataset demonstrates a use case of recognizing different classes of radio signals from outer space.
  3. The training notebook uses TensorFlow with convolutional neural networks to train a model and build a classifier.
  4. The prediction notebook demonstrates the accuracy of the classifier.

Instructions

Find details for the following steps in the README:

  1. Get 24 hours of free access to the PowerAI platform
  2. Access and start the Jupyter Notebooks
  3. Run the notebooks
  4. Analyze the results
  5. Save and share
  6. End your trial