Google открыла доступ к исходному коду системы для поиска экзопланет

Небо и планеты

Исследователи из Google Research опубликовали коды для обработки данных, поступающих с космического телескопа Kepler. Также в открытый доступ попали файлы для обучения нейронной сети предсказанию возможного местонахождения неизвестных планет. Хотя разработка все ещё «сыровата», с её помощью в декабре 2017 года были открыты две экзопланеты: Kepler-90 i и Kepler-80 g.

Световые кривые

Телескоп собирает данные в виде коллекции точек, из которых складываются так называемые световые кривые. Они отражают яркость звезды на протяжении заданных промежутков времени. Когда планета пролетает рядом со звездой, она временно блокирует исходящий свет. Таким образом, на получаемых графиках появляются U-образные или V-образные «углубления», с помощью которых можно оценить размеры пролетевшего тела.

Поиск усложняется тем фактом, что временное угасание может быть спровоцировано не только соседствующими планетами. Оно может быть спровоцировано системами двойных звёзд, космическим излучением или звёздными пятнами.

Причины временного снижения яркости звезды

Для поиска планет из данных Kepler учёные используют специальные автоматизированные решения. С их помощью определяются сигналы, которые потенциально могут исходить от искомых тел. Однако задача по определению сущности находки решается уже вручную. Чтобы отсеять большое количество плохо структурированных данных, определяется входной порог по степени зашумлённости входных сигналов. Но даже после таких манипуляций информации для исследования немало. На момент написания новости вручную было исследовано более 30 000 сигналов, 2 500 из которых оказались настоящими планетами. Сейчас перед учёными стоит новая задача: максимально автоматизировать и такую обработку, чтобы иметь возможность находить экзопланеты, которые потенциально могут «прятаться» за порогом пригодной к анализу информации.

Машинное обучение

Для решения этой проблемы специалисты из Google разработали свёрточную нейросеть. Обучался алгоритм на уже проанализированных данных из 30 000 сигналов. ИИ умеет с относительно высокой точностью определять, является ли данная кривая кандидатом на звание планеты.

Сверточная нейросеть для определения потенциальных планет

Как открыть свою планету?

После установки всех необходимых инструментов и загрузки данных с телескопа Kepler обучение модели происходит относительно быстро. Одним из вариантов исследования потенциальных экзопланет является алгоритм Box Least Squares (BLS), предназначенный для поиска периодических «прямоугольных» провалов на световой кривой. Система определяет U-образные сигналы планет, V-образные сигналы двойных звёзд и множество других ложноположительных индикаторов, которые затем передаются в модель. Алгоритм BSL реализован во многих инструментах анализа, включая VARTOOLS и LcTools.

Световая кривая с обнаруженной планетой Kepler 90 i

Световая кривая с обнаруженной планетой Kepler-90 i

Чтобы пропустить полученный сигнал через модель, нужна всего одна команда:

python predict.py  --kepler_id=11442793 --period=14.44912 --t0=2.2
--duration=0.11267 --kepler_data_dir=$HOME/astronet/kepler 
--output_image_file=$HOME/astronet/kepler-90i.png 
--model_dir=$HOME/astronet/model

На выходе prediction = 0.94 — модель на 94 % уверена, что обнаружила реальную планету. Ей оказалась Kepler-90 i. Конечно, полностью автоматизировать процесс нахождения планет пока что нельзя, так как эта цифра не всегда отражает действительность. Google продолжает активно работать над развитием этой системы. Детали реализации нейросети доступны в официальном научном исследовании.

Источник: блог Google Research

Ещё интересное для вас:
Тест: какой язык программирования вам стоит выбрать для изучения?
Тест: как хорошо вы разбираетесь в Data Science?
Соревнования и бесплатная онлайн-школа для программистов