Когда вы смотрите на термометр, вы видите одно число — температуру. Но за этим числом скрывается невообразимая толпа молекул, каждая из которых движется со своей скоростью. Температура — это макропеременная, то есть укрупнённая характеристика, которая заменяет множество мелких деталей. Учёные давно ищут такие переменные, чтобы объяснять сложные системы.
Новый алгоритм делает это автоматически. Он состоит из двух нейросетей, которые учатся одновременно. Первая сеть сжимает данные о температуре океана в несколько чисел. Вторая сеть делает то же самое с данными о давлении воздуха. Затем каждая сеть пытается по своим сжатым числам предсказать полный набор данных другой сети. Такой приём похож на переводчика, который слушает длинный разговор и выдаёт короткую записку, по которой другой человек может восстановить весь смысл.
На синтетических данных с 64 измерениями алгоритм находил ровно две макропеременные, как и было задумано. Он также верно определил, какая переменная является причиной, а какая следствием. Раньше поиск таких переменных был делом интуиции учёного. Теперь нейросеть сама находит переменные, которые сохраняют всю взаимную информацию между двумя наборами данных. Это поможет выделять осмысленные паттерны в климатологии, нейробиологии и других науках.
Алгоритм обнаружил два известных типа Эль-Ниньо, хотя ему не сообщали о существовании этого явления.
Поиск скрытых причинных переменных напоминает попытки героев Айзека Азимова вывести законы психоистории из хаоса галактической истории.