НОВОСТИ Как мы отказались от нейросетей, а затем вернули их в прогноз осадков Яндекс.Погоды

Alvaros
Онлайн
Регистрация
14.05.16
Сообщения
21.452
Реакции
101
Репутация
204
Мы уже рассказывали, как Яндекс.Погода делает по метеорологическим радарам и . Сегодня расскажем, как нам удалось поднять качество такого прогноза за счет внедрения нейросетевых подходов и почему мы уже отказывались от них в прошлом. А ещё вы узнаете, как мы улучшали визуальное восприятие самой карты на границе радарных и спутниковых наблюдений.

И снова про наукастинг


Когда мы говорим о прогнозе погоды, то чаще всего подразумеваем температуру и осадки, например, на завтра или ближайшие выходные. В этом случае хватает традиционных погодных трендов. Но если вы идёте обедать на улицу или на прогулку с ребёнком и при этом не хотите попасть под дождь, то важно знать точный момент начала дождя в течение ближайшего получаса. В таких ситуациях приходит на помощь наша карта осадков aka nowcasting.

pbezpipp8dldibku1e6qzrkp-s0.jpeg


Рисунок 1. Карта осадков Яндекс.Погоды

— это сверхкраткосрочный прогноз погоды (до 2–6 часов) с шагом в 5–15 минут, предсказывающий поведение погодных явлений с коротким жизненным циклом. Такой прогноз в той или иной степени сводится к задаче экстраполяции наблюдаемых метеорологических явлений, так как настоящие тяжёлые физические модели для него менее приспособлены и не могут оперативно учитывать быстро меняющие условия.

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

Как решать


Если исходить из того, что наукастинг сводится к задаче экстраполяции (рисунок 2), то формальное определение будет выглядеть так:


11c37b1506c0b024b7582fa38fec1663.svg


где
817b92407f764f57af9226e50cc788fd.svg
— кадр с метеорологического радара и/или спутника,
9b00124e411362185d05b841bc32695f.svg
— количество кадров, на основе которых делается предсказание,
16da507b2fc389688ef0659939dcc647.svg
— количество предсказываемых кадров. При этом можно интерпретировать кадр как обычную картинку и свести задачу к работе с видеоизображением.

rqwjbyb6poowesgu0gn_42hsl1a.png


Рисунок 2. Пример изображений с метеорологического радара. Вверху: пример входных кадров для модели. Внизу: ожидаемые кадры во время предсказания. Здесь
4fdc4fee76b19b0fe1a2b8e7d75ad9d5.svg
, а
6308d8b9711da3883a8087990b921b2d.svg


Мы предсказываем на два часа вперёд с шагом 10 минут. Это 12 кадров плюс ещё несколько про запас на случай перебоя в поставке данных с радара.

Чаще всего решение такой задачи сводится либо к применению алгоритмов optical flow ( , , ), либо к нейросетевым методам ( , , , , , ). Долгое время в продакшене у нас работал алгоритм на основе optical flow, который мы смогли натюнить таким образом, что он побил по метрикам нашу предыдущую нейросетевую архитектуру. Далее расскажем о том, как мы наконец обошли optical flow и сделали более качественный прогноз с использованием нейросетей.

Архитектура сети


За основу мы взяли архитектуру PredRNN++ . Главное нововведение статьи – модификация классической . Авторы добавили вход для пространственной памяти (обозначение
94d13ee0aadd7f17977e0d279af38d42.svg
в статье) и расширили output gate, чтобы научиться её учитывать (рисунок 3). Утверждается, что это помогает лучше запоминать пространственные изменения в последовательности кадров видеоряда.

zrqbv4xx44qmlahphrdeu0gxvfg.png


Рисунок 3. Архитектура рекуррентной ячейки Causal LSTM. Красным цветом выделено отличие от ConvLSTM. ( )

При решении задачи мы перешли от распространённой регрессии интенсивности осадков в мм/ч для отдельного пикселя к предсказанию областей осадков и их типа (слабые, сильные или очень сильные), что эквивалентно задаче сегментации изображения на три класса. Только для изображений из будущего, которые мы пока не знаем. В качестве функции потерь использовали ставшую классической сумму кросс-энтропии и dice:


4a3606dfc054fe7f5c2ddc5248e5e375.svg


где
9b34c4da5c757d4982bbd1b6f2e8998a.svg
— пример из обучающей выборки, а
a215694e19c90e654ebb19cc35ac5601.svg
— предсказанное значение.

Результаты


При сравнении новой модели с предыдущей мы смотрели как на стандартные метрики для задач сегментации и классификации (F1, IoU), так и специально построили метрики, которые отражают пользовательское ощущение прогноза (например, доля идеальных прогнозов). Это помогло улучшить в том числе и то, что видят в прогнозе наши пользователи, и как они получают информацию из него. Ниже приведена таблица с изменениями по сравнению с решением на базе optical flow:
МетрикаИзменение, %

F1, среднее за 2 часа

+7,6

IoU, первый. шаг

+3,5

IoU, второй шаг

+6,1

Доля идеальных прогнозов

+2,2

Доля точно предсказанных случаев начала дождя

+6,0

Если F1 и IoU — широко известные метрики, то на двух последних стоит задержаться, так как именно они характеризуют пользовательское восприятие прогноза. Доля точно предсказанных случаев начала дождя — это отношение количества правильно предсказанных случаев начала первого дождя на рассматриваемом окне в два часа ко всем случаям начала первого дождя на двухчасовых окнах. А доля идеальных прогнозов показывает, какая часть двухчасовых последовательностей предсказана без ошибки на каком-либо шаге. Таким образом, эти метрики позволяют нам оценить пользовательский опыт использования наукастинга.

Также посмотрим на зависимость метрик от дальности прогноза:

r0cw2-jwtgc4xm8nexz8-gmbvwy.png


Рисунок 4. График среднего IoU от дальности предсказанного кадра по времени

Для расчёта optical flow мы использовали с константным вектором переноса (на графике показан лучший из полученных вариантов), который лучше всего себя показал среди других optical flow алгоритмов для задачи наукастинга и в наших экспериментах, и в коллег. Эксперименты с PredRNN++ различаются между собой применением медианного фильтра на входных данных (так как радары иногда шумят) и метрикой, по которой подбирался порог бинаризации (F1 или F1.5). Из графика видно, что optical flow лучше нейросеток только на первой десятиминутке. Потом его предсказания начинают сильно деградировать, и на втором часе он проигрывает всем вариантам.

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

Склейка радарных и спутниковых снимков


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

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

Наша идея заключается в том, что мы делаем хитрую нейросетевую склейку на стыках изображений. За основу мы взяли нейросетевой инпейнтинг от , основанный на Unet-подобной архитектуре.

yspjyvbhoghsqcmjujh5ptkdqni.png


Рисунок 5. Пример работы алгоритма из оригинальной статьи

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

Решение этой задачи состоит из двух шагов:
  1. Выполняется альфа-смешивание радарных и спутниковых изображений — получается постепенный переход от спутника к радару.
  2. Переход перерисовывается с помощью инпейнтинга, при этом к центру перехода сетка получает всё меньше данных из входного изображения.


ioh9ahhqanvanvnjmacoctjog4q.png
inm96qd-yjjrui97vixhy_xbq3g.png

Рисунок 6. Сравнение карты осадков без нейросетевой склейки (слева) и с ней (справа)

В итоге такой подход позволяет получить согласованное изображение предсказаний на всей области действия наукастинга без резких границ-полукругов.

Заключение


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

Всегда рядом с вами, команда Яндекс.Погоды.
 
Сверху Снизу