Переводчик, который не теряет смысла ✎

Оригинал: "Encoding Causal Macrovariables"
· Benedikt Höltgen
arXiv:2111.14724 · 2021-11-29 · CC BY-NC-ND 4.0 · собственный разбор · 2 мин
Нейросеть учится сжимать данные в простые переменные, между которыми можно искать причину и следствие.

Долгий разговор двух людей можно сжать до нескольких ключевых фраз, которые сохранят всю суть. Именно так работает макропеременная: температура заменяет миллиарды движущихся молекул, а уровень моря — тысячи волн. Но как найти такие фразы в огромном потоке данных, не полагаясь на интуицию?

Учёные построили причинный автоэнкодер — пару нейросетей, которые учатся одновременно. Первая сеть сжимает данные о температуре океана в несколько чисел. Вторая сеть делает то же самое с данными о давлении воздуха. Затем каждая сеть пытается предсказать по своим сжатым числам полный набор данных другой сети. Такой приём похож на переводчика, который слушает длинный разговор и выдаёт короткую записку, по которой другой человек может восстановить весь смысл.

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

После обучения алгоритм проверяет, можно ли между найденными переменными установить причинную связь. Для этого он ищет такое преобразование, при котором одна переменная становится простой функцией другой плюс случайный шум. Если шум не зависит от причины, значит связь направлена от первой переменной ко второй. На синтетических данных с 64 измерениями алгоритм находил ровно две макропеременные, как и было задумано. Для одной пары он верно определил причину: оценка зависимости шума от предполагаемой причины составила 0.32 в одном направлении и 3.15 в обратном.

На реальных климатических данных алгоритм выделил два паттерна, соответствующих тёплому бассейну и холодному языку Эль-Ниньо. Причинную связь между ними обнаружить не удалось, что согласуется с недельным масштабом данных: за такой короткий срок одно явление не успевает вызвать другое.

Алгоритм нашёл два известных типа Эль-Ниньо, хотя ему не сообщали о существовании этого явления.

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

Алгоритм обнаружил два известных типа Эль-Ниньо, хотя ему не сообщали о существовании этого явления.

Поиск скрытых причинных переменных напоминает попытки героев Айзека Азимова вывести законы психоистории из хаоса галактической истории.

L[p(x|x)] = I(X; X) - β·I(X; Y)
Баланс между сжатием данных и сохранением информации о другой переменной
loss_netX = d1(Y, Ŷ) + β·DKL(N(0,1)||q(X|X)) + γ·d2(Y, Ŷ)
Сумма ошибок предсказания, регуляризации и согласования горлышек
Понятия
прогноз причинность по Грейнджеру многомерный индекс ЭНСО нейронные сети эль-ниньо эвиденциальные нейронные сети сезонный цикл параметр межгодовая изменчивость ERSST естественная изменчивость прогностическая модель вероятностная модель распространение экваториальных волн вероятностный прогноз сезонный форсинг индекс Эль-Ниньо размеченные данные композитный анализ статистический анализ