Детекция облачности методами машинного обучения
Изучение основных метеорологических и стандартных метрик классификации в решении задачи детекции облачности. Проверка гипотезы касательно источников данных и их влияние на результат модели. Эксперименты с архитектурами моделей прогнозирования облачности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.08.2020 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет компьютерных наук
Департамент программной инженерии
Выпускная квалификационная работа
На тему: Рус: «Детекция облачности методами машинного обучения»
Я.М. Савва
Москва 2020
Аннотация
Даже в современном мире городские жители зависят от погодных условий. На значительную часть населения по-разному влияют температура, дождь и, что важно, облачность. Детекция облачности - актуальная задача в современной метеорологии - может стать важным шагом на пути к более точному прогнозу погоды. Спутниковые наблюдения являются основным источником глобальных оценок облачности и осадков из-за их высокого пространственно-временного разрешения и охвата. В этом случае спутниковые кадры можно рассматривать как основную часть входных данных, которые в этом исследовании будут использоваться в различных приложениях машинного обучения для обнаружения облаков.
Цель данного исследования - изучить существующие подходы к обнаружению облаков, провести их качественное сравнение и, опираясь на результаты этого исследования, предложить альтернативный алгоритм, который затем можно будет встроить в сервис Яндекс.Погода.
Данные исследования могут быть весьма полезны для пользователей метеослужб, таких как Яндекс.Погода - одного из главных поставщиков прогноза погоды в России. Таким образом, мы приходим к следующим выводам: более точный прогноз ведет к увеличению количества активных пользователей в день и месяц, что, как следствие, приводит к росту прибыли на сервисе и, что не менее важно, к повышению счастья и лояльности пользователей.
Ключевые слова: детекция облачности, спутниковые снимки, Нейронные сети, Машинное обучение, Глубинное обучение.
Even in the modern world, urban residents are dependent on weather conditions outside their homes. A major part of the population is influenced in different ways by temperature, rain and, what is important, cloudiness. Cloud detection is an important task in nowadays meteorology and can be a significant step toward more accurate and precise estimation and weather forecast. Satellite observations are the main source of global cloudiness and precipitation estimates due to their high spatio-temporal resolutions and coverage. In this case, satellite frames can be considered as a key part of input data, which, in this study, will be used in different machine learning applications to cloud detection problem.
The purpose of this study is to explore existing approaches in cloud detection, making a comparison of them and relying on this research results, propose an alternative algorithm, which can be then embedded in production code of Yandex.Weather service.
Such practices and improvements of weather forecasting might be quite valuable for the users of weather services like Yandex.Weather - one of the main weather forecasting providers in Russia. Having mentioned these facts, we come to the following statements: more precise forecast leads to the increase of daily and monthly active users, which, consequently, evolves into service profit growth and, never less important, users happiness and loyalty.
Key words: cloud detection, satellite imagery, Neural Network, Machine Learning, DeepLearning.
Основные определения, термины и сокращения
Глобальные поставщики погоды -- оперативная служба, которая производит глобальные численные прогнозы погоды и другие данные для более широкого сообщества.
Степень покрытия облаками -- разделение плотности облачных слоев, используемое как классы для разметки данных при обучении модели и при предсказании.
Топографические данные -- данные о геометрических элементах местности на основе съёмочных работ (наземных, с воздуха или из космоса).
Горизонт прогноза -- шаг, с которым делается прогноз на будущее.
Содержание
Введение
1. Анализ существующих решений в задаче детекции облачности
1.1 Существующие источники данных
1.2 Возможная работа с данными
1.3 Существующие архитектуры в задаче детеции облачности
1.4 Основные гипотезы для исследования облачной детекции
2. Методы в задаче облачной детекции
2.1 Работа с данными
2.2 Спутниковые снимки
2.3 Глобальный погодный поставщик
2.4 Топография и угол наклона солнца
3. Описание полученных результатов
3.1 Результаты применения нейросетевого подхода
3.2 Добавление каналов GFS
3.3 Сравнения с бейзлайном
3.4 Результаты применения градиентного бустинга
Заключение
Список использованных источников
Введение
Мониторинг осадков и, главное, облачности с высоким временным и пространственным разрешением с минимальными задержками является одной из основных задач современнои? метеорологии. На данныи? момент существуют решения, позволяющие прогнозировать степень покрытия облаками на основе классических метеорологических моделеи? и на основе спутниковых данных. Стандартные метеорологические модели не могут обеспечить достоверный прогноз локальных условии? при общей приемлемости качества прогноза, характеризующего облачность с высокой неопределенностью по пространству. Модели не могут полностью ответить на вопрос о том, какова наблюдаемая облачность в текущии? момент в заданнои? точке. Задача исследования - выявить наиболее важные факторы для качественного прогнозирования облачности, использовать их в экспериментах с различными архитектурами решения облачной детекции, помимо стандартных метеорологических моделей.
Для правильного подхода к поставленной проблеме нам необходимо рассмотреть различные факторы, влияющие на результаты экспериментов с методами обнаружения облачности, такие как выбор спутника, радиолокационные каналы для обучающего набора данных, точная факт (ground truth) и соответствующая архитектура модели, которая могла бы выявить основные характеристики в спутниковых данных, данных от глобальных поставщиков прогнозов погоды.
Большинство существующих решений основано на использовании некоторой высокоуровневой архитектуры нейронной сети, обученной на наборе данных Landsat или Gaofen - глобально распространяемых оптических спутниковых изображений с пространственным разрешением от 0,5 до 50 м. Эта работа направлена на изучение других источников оптических спутниковых изображений - METEOSAT-8, которые могут значительно улучшить результаты обнаружения облаков. Помимо спутниковых каналов, данные от поставщиков прогнозов погоды, особенно о влажности, облачности и осадках, считаются значимыми в случае проблемы детекции облачности. Этот источник, используемый в качестве дополнительного канала данных для обучения, может значительно улучшить модель, что также является гипотезой, рассматриваемой в этой работе.
При работе с данными изображений обычно используется архитектура нейронной сети, основанная на свертках [1]. Одним из примеров такой архитектуры является UNet - метод, хорошо зарекомендовавший себя в задачах сегментации и обнаружения изображений [2]. Это то, что в основном описано в существующих работах по обнаружению облачности, и, следовательно, это один из кандидатов, которые будут рассмотрены в этой работе.
Для достижения целей работы требуется решить следующие задачи:
Исследовать существующие методы решения задачи детекции облачности;
Изучить основные метеорологические и стандартные метрики классификации в решении задачи детекции облачности;
Проверить гипотезы касательно источников данных, их влияние на результат модели;
Проверить гипотезы касательно выбора ground truth, его влияние на результат модели;
Провести эксперименты с различными архитектурами моделей прогнозирования облачности;
Провести эксперименты с различными комбинациями каналов данных - спутники, данные от глобальных поставщиков, топография, др.;
На выбранных метеорологических и стандартных метриках классификации оценить работу алгоритма обнаружения облачности;
Документ имеет следующую структуру:
В первой главе рассмотрены существующие технологии, подходы и решения задачи детекции облачности, на основании этого сформулирована актуальность данного исследования и сформированы гипотезы для улучшения прогнозирования облачности;
Во второй главе описаны эксперименты, проверяющие гипотезы, поставленные в последнем разделе первой главы - влияние выбора различных источников данных, архитектуры модели и ground truth на конечный результат, а также некоторые особенности процессов по сбору пула для обучения и обучения модели;
В третьей главе представлены результаты по проведенным экспериментам в виде графиков с метриками и интегральных значений метрик;
1. Анализ существующих решений в задаче детекции облачности
1.1 Существующие источники данных
Как уже было сказано, в задаче детекции облачности важным источником данных являются спутниковые каналы различных частот. На сегодняшний день существует крупная группировка специальных метеорологических спутников - на орбите находится около 30 аппаратов: как полярно-орбитальных, которые покрывают Землю снимками подобно тому, как нить наматывается на клубок с нитками, так и геостационарные - спутники, находящиеся на высоте около 36000 км от поверхности Земли и вращающиеся синхронно с вращением Земли над экватором. Особенность орбиты спутников второго типа позволяет постоянно "висеть" над одной и той же точкой и получать примерно такие снимки, как изображено на Рисунке 1. Спутниковая группировка геостационаров позволяет покрыть наблюдениями практически всю Землю, используя для этих целей европейские спутники (Meteosat [3]), американские (GOES [4]) и японские (Himawari [5]). Продукты на их основе имеют пространственное разрешение от 0.5 до 3 км на пиксель.
Помимо описанных выше источников спутниковых снимков в задаче облачной детекции используют информацию из Китайских спутниковых снимков высокого разрешения - GaoFen-1 (GF-1), GaoFen-2 (GF-2), and ZiYun-3 (ZY-3), как это сделано в статье [6]. Экспериментальные изображения содержат различные типы облаков, такие как маленькое тонкое облако, тонкое облако среднего размера, большое толстое облако, тень от облака и так далее. Эти спутниковые снимки содержат много основных поверхностей, например здания, песок, лед, море, растительность, снег и т. д. (более подробно данные описаны в Таблице 1). В общем случае трудно различить тонкое облако и густое облако.
Рисунок 1. - Спутниковый снимок
Таблица 1. - Описание данных
Кроме того, также очень трудно отличить снежные и белые здания от пикселей облаков на основе их спектральных особенностей. В указанной статье обучающий набор данных собран из десяти мультиспектральных изображений ZY-3, семи мультиспектральных изображений Gaofeng-1 и девяти мультиспектральных изображений Gaofeng-2. Тестовый набор данных собран из двух мультиспектральных изображений ZY-3, одного мультиспектрального изображения Gaofeng-1 и одного мультиспектрального изображения Gaofeng-2.
Одними из самых часто используемых источников спутниковых данных были глобально распространяемые оптические спутниковые изображения с пространственным разрешением от 0,5 до 50 м - Landsat-5/7/8, Gaofen-1/2/4, Sentinel-2, Ziyuan-3, CBERS-04, Huanjing-1, Landsat был использован для обучения в работах [7], [8], [9].
1.2 Возможная работа с данными
Помимо выбора источника данных в различных работах приводится описание их обработки с целью улучшения качества конечного предсказания.
Так, например в работе [6] модель MCNNs используется для извлечения многомасштабных функций из спутниковых изображений высокого разрешения. Поэтому, если пиксели были использованы в качестве основной единицы обнаружения облаков, эффективность метода облачной детекции очень низкая. Термин суперпиксель относится к соседним блокам изображения с аналогичными характеристиками цвета и яркости. Он группирует пиксели на основе сходства признаков и убирает избыточную информацию об изображении, что значительно снижает сложность последующей задачи детектирования. Схема работы метода изображены на Рисунке 2.
Помимо кластеризации используется метод wavelet-сжатия изображения. Так, например, в [8] красные, зеленые, синие и инфракрасные изображения в диапазоне волн из набора данных Landsat-8 используются для обучения и тестирования предложенного в статье метода.
Рисунок 2. - Схема работы метода кластеризации данных
1.3 Существующие архитектуры в задаче детеции облачности
Основным направлением в решении задачи облачной детекции в наше время является нейросетевой подход. В нашем случае главный источник данных - спутниковые каналы, которые можно рассматривать как изображение. Работа с «картиночным» форматом данных - популярная тема в области машинного обучения, существует множество решений задачи детекции и сегментации, одним из самых известных и хорошо зарекомендовавших себя методов данной проблемы является сверточная нейронная сеть [1]. Всевозможные высокоуровневые архитектуры моделей, в чьих блоках так или иначе используются свертки, сейчас появляются все в большем и большем объем, но опять же, пожалуй, самое популярное применение свертки для решения задачи детекции - архитектура UNet [10].
Так, в работе [6] была предложена архитектура, состоящая из множества сверточных нейронных сетей (MCNN), предназначенная для извлечения полезных фичей из каждого суперпикселя, полученных путем некоторой предобработки спутниковых снимков. Архитектура в деталях изображена на Рисунке 3.
Рисунок 3. - Архитектура модели MCNN
Другое использование нейронной сети - статья [7], в которой основной концепцией является метод обнаружения облаков на основе глубокого обучения MSCFF (multi-scale convolutional feature fusion). Основной идеей здесь является модуль симметричного инкодера-декодера, который обеспечивает как локальный, так и глобальный контекст, делая feature maps более «плотными» (dense), все вместе это помогает извлекать многомасштабные и высокоуровневые пространственные фичи. Предложенная архитектура изображена на Рисунке 4.
Как уже было сказано, cчитается, что архитектура UNet является одним из наиболее эффективных методов решения проблем сегментации и детекции объектов на изображениях, поэтому нередко можно встретить описание его применения в статьях, связанных с этой темой, как в [9]. В статье представлены результаты работы Remote Sensing Network (RS-Net), модели глубокого обучения для обнаружения облаков на оптических спутниковых изображениях, основанной на архитектуре UNet, примененной к наборам данных Landsat 8.
Рисунок 4. - Архитектура модели, предложенная в статье [7]
В предложенной архитектуре есть важные изменения, улучшающие изначальную архитектуру UNet - использование batch-нормализации, которое значительно сокращает время обучения и убирает необходимость этапа предварительной обработки; слой cropping был вставлен после последнего слоя, чтобы отбросить самые внешние области патча, которые работают плохо из-за отсутствия пространственной информации в областях вблизи границ изображения; глубина feature map уменьшена вдвое, что сокращает время обучения и инференса. Получившаяся в итоге архитектура представлена на Рисунке 5. И даже в таком виде она все еще напоминает оригинальную форму UNet.
Рисунок 5. - Архитектура модели, предложенная в статье [9]
1.4 Основные гипотезы для исследования облачной детекции
В разделе 1.1 были описаны всевозможные источники спутниковых данных, помимо прочего для экспериментов может быть также рассмотрен спутник Meteosat. Еще важно заметить, что спутники - не единственный возможный канал для обучения, хоть он и рассматривается как основной. Помимо спутниковых данных на качество конечной модели может значительно повлиять (как в хорошую, так и в плохую сторону) добавление фичей от глобальных погодных поставщиков, это и следует рассмотреть как отдельную гипотезу в данной исследовательской работе. Глобальные поставщики погоды - оперативная служба, которая производит глобальные численные прогнозы погоды и другие данные для более широкого сообщества. Некоторые из таких поставщиков - Global Forecast System (GFS) [11], European Centre for Medium-Range Weather Forecasts (ECMWF) [12] - предоставляют прогноз фичей, влияющих или в какой-то степени описывающих облачность, таких фичей, как влажность, температура точки росы в 2 м над землей, общее влагосодержание, давление, интеграл облачного льда и т.д. Комбинации этих фичей, добавленных к спутниковым данным, формируют условия для экспериментов, проводимых в рамках данной работы.
После изучения существующих методов решения задачи облачной детекции, описанных в разделе 1.3, можно прийти к выводу, что весьма популярным является использование нейронных сетей, а именно некоторые доработки архитектур, основанных на сверточных сетях. Но помимо нейронных сетей существует и другой метод, хорошо себя зарекомендовавший в решении задач машинного обучения - метод, основанный на градиентном бустинге. Его реализация в виде библиотеки Catboost [13], написаная в том числе для языка программирования Python, широко используется в Яндексе, поэтому ее использование для решения поставленной задачи также является одним из экспериментов, проводимых в данной работе. Нейросетевой подход также проверяется как эксперимент, причем основное внимание уделяется архитектуре UNet, более подробная конфигурация и описание параметров для этой модели приводится в разделе 2.2. метеорологический детекция облачность данный
Еще одним важным фактором, влияющим на качество модели, является выбор ground truth. В случае описанных ранее статей таргетом служит либо ручная разметка, либо прогнозы от тех глобальных поставщиков. В своей работе я по большей части концентрировалась на прогнозах облачности от ECMWF, так как это достаточно надежный поставщик, но в рамках эксперимента с Catboost'ом таргетом может служить еще и наблюдения на метеостанциях, минусом тут будет только то, что сетка метеостанций очень разреженная и, к сожалению, не особо равномерная, ее использование приведет к большой потере данных.
В первой главе были рассмотрены существующие подходы к решению задачи облачной детекции с точки зрения выбора данных для обучения, метода предобработки данных, а также метода обучения, то есть архитектуры модели, предсказывающей степень покрытия облаками. Были сформированы основные идеи, гипотезы, для проверки которых в данной работе было проведено несколько экспериментов.
В следующей главе будут более подробно рассмотрены данные эксперименты и их результаты.
2. Методы в задаче облачной детекции
В данной главе подробно описаны эксперименты, проверяющие гипотезы, поставленные в последнем разделе первой главы - влияние выбора различных источников данных, архитектуры модели и ground truth на конечный результат.
2.1 Работа с данными
В этой подглаве будут рассмотрены возможные источники данных, каналы, сигналы от которых влияют на качество модели. Как обсуждалось ранее, это могут быть не только спутниковые снимки, которые являются основным источником информации в задаче детекции облачности, но и данные от глобальных погодных поставщиков и такая информация о поверхности, как топография и угол наклона солнца над горизонтом. Также представлено описание того, как каждый из этих источников данных участвует в сборе пула, предобрабатывается и приводится к нужной сетке. Сбор пула - это шаг пайплайна, который максимально распараллелен, поэтому сбор большого пула, например за несколько месяцев или год, декомпозирован на сбор более маленьких временных интервалов (5 дней), собираемых параллельно.
2.2 Спутниковые снимки
Идея использовать спутниковые снимки для прогноза погоды не нова - информация с них используется в традиционных глобальных моделях прогноза погоды. Кроме того, из спутниковых снимков извлекают полезную информацию - от мониторинга вулканического пепла и лесных пожаров до поиска фитопланктона. Конечно же, спутниковые снимки используют и для мониторинга облачности и ее краткосрочного прогнозирования.
Со спутниками ситуация складывается следующим образом: чтобы оперативно получать снимки из космоса, необходимо установить приемную станцию. Стандартный набор включает в себя спутниковую тарелку, DVB-S тюнер и компьютер, на котором снимки сохраняются и обрабатываются. Данные на тарелку приходят с европейских спутников серии Meteosat второго поколения.
Рисунок 6. - Спутниковый снимок, разбитый на 8 частей полосами по широтам
Чтобы покрыть большую часть территории России, для экспериментов был выбран спутник Meteosat-8, который висит над Индийским океаном. Снимки делаются каждые 15 минут - в течение них проходит полное сканирование видимой области спутника, после чего сканирование начинается заново. Из-за этого снимки отстают на 15 минут от реального времени. Съемка проходит в 12 каналах: 11 каналов в видимом и инфракрасном диапазонах с разрешением 3х3 км , а также 1 канал в видимом спектре с разрешением 1х1 км. Полный снимок имеет разрешение 3712х3712 пикселей, или примерно 14 мегапикселей, как у камеры современного смартфона.
Снимок на Рисунке 6. разбит на 8 частей полосами по широтам, что иногда сказывается на качестве данных - теряя одну часть, можно потерять целый снимок.
Скачивание и предобработка спутниковых данных - одна из основных частей сбора пула для обучения и применения модели. Делается это для определенного интервала дат (арзитектурно сделано так, что это 5 дней) с шагом в 15 минут, с ресемплингом на нужную сетку с шагом в 0.9 градусов.
2.3 Глобальный погодный поставщик
Изначально в погодном сервисе основным источником информации данных для обучения моделей, прогнозирующих такие погодные показатели как температура, влажность, давление и, что ближе к задаче, облачность, являлись прогнозы, поставляемые глобальными погодными провайдерами, из таких - уже упомянутые GFS, ECMWF. Основная идея для экспериментов - попробовать каналы от поставщика GFS. Стоит заметить, что в отличие от задач, основанных на прогнозировании при помощи данных, «смотрящих в будущее», то есть прогнозов поставщиков на дни и недели вперед, спутниковые снимки будут доступны с некоторым запозданием, поэтому данные, которые можно добавлять в пул для обучения, а затем и применения модели также должны быть с некоторым запозданием. Таким образом, данные от GFS приклеиваются к сетке спутниковых снимков не за самые ближайшие к факту прогнозы, а с некоторым лагом. Помимо этого, сетка спутниковых снимков (с шагом 0.9 градусов) отличается от сетки данных от GFS, поэтому делается ресемплинг каналов от GFS методом ближайших соседей.
Часть сбора пула, в которой качаются и предобрабатываются данные от GFS, разбита на скачивание по 5 дней данных с шагом в 3 часа, что далее должно быть приведено к шагу в 15 минут, как у спутниковых снимков - интерполяция.
Чтобы данные были полезны для модели, которая должна решать задачу облачной детекции, это должны быть каналы, так или иначе связанные с таким погодным фактором как облачность. Для экспериментов были выбраны следующие каналы:
Скорость выпадения конвективных осадков.
Осажденная вода
Содержание воды в облаках
Конвективная доступная потенциальная энергия
В данном случае ECMWF не был использован как источник данных для обучения, так как это один из вариантов ground truth для модели.
2.4 Топография и угол наклона солнца
Еще одним каналом данных для модели служит топография - статичные данные о особенностях поверхности Земли для определенной сетки, нужной для того, чтобы приклеить эти каналы к уже выровненным на необходимую сетку спутников и GFS каналов.
В дополнении к топографии используется фича - угол наклона солнца, условно коррелирующая со временем суток, считается покоординатно и приводится к нужной сетке. Обе эти фичи также скачиваются для интервала дат и затем клеятся к спутникам и каналам GFS по времени и по координатной сетке.
Таргет для модели
Одним из основных погодных поставщиков на сервисе является ECMWF, чей прогноз облачности и было решено взять как ground truth для модели. Продукт, поставляемый ECMWF, обладает анализом и прогнозом общей, высокой, низкой и средней облачности. В рамках данных экспериментов был взят прогноз общей облачности, где фактом для модели считался прогноз нулевого горизонта (то есть время, на которое делается прогноз, совпадает со временем, когда делается прогноз - такой прогноз самый точный), ну и чтобы данных было побольше, брался также прогноз за 1-6 горизонты (прогноз до 6 часов вперед). По аналогии со скачиванием каналов GFS, данные по облачности от ECMWF скачивались для интервала дат, производился ресемплинг на нужную сетку с таким же шагом, как у спутников.
В результате после склеивания всех каналов данных получалась таблица - одна строка на один time, в отдельной колонке данные спутников и приклеенные остальные фичи в формате npz, в отдельной колонке также npz с таргетом - общее покрытие облаками от ECMWF.
Архитектуры решения задачи облачной детекции
В данной подглаве будут рассмотрены подходы к решению задачи детекции облачности - нейросетевой и основанный на градиентном бустинге.
Нейросетевой подход
Когда речь идет об изображениях, а в данном случае спутниковые каналы являются снимками в разных частотах - разные каналы, как, например, RGB каналы в обычных снимках, хорошо работают различные нейросетевые подходы, основанные на свёрточных нейронных сетях. А именно в экспериментах использовалась архитектура UNet.
У сети слева идет сжимающий путь и расширяющий путь справа, поэтому архитектура похожа на букву U, откуда и получилось название. На каждом шаге количество каналов признаков увеличивается вдвое.
Сжимающий путь содержит два подряд свёрточных слоя 3x3, после которых идет слой активации ReLU и пулинг с функцией максимума 2Ч2 с шагом 2.
Каждый шаг расширяющего пути содержит слой, обратный пулингу, который расширяет карту признаков (поэтому и расширяющий путь), после которого следует свертка 2x2, которая уменьшает количество каналов признаков. Затем следует конкатенация с соответствующим образом обрезанной картой признаков (feature map) из сжимающего пути и две свертки 3x3, после каждой из которой идет слой активации ReLU. Обрезка нужна из-за того, что мы теряем пограничные пиксели в каждой свёртке. На последнем слое свертка 1x1 используется для приведения каждого 64-компонентного вектора признаков до требуемого количества классов - в задаче облачной детекции это классы как у ECMWF - нет облачности, средняя облачность, облачно.
Всего сеть имеет 23 свёрточных слоя. На Рисунке 7 изображен пример архитектуры UNet для картинки 256 на 256 с 3 каналами, в случае же спутников - имеется 11 каналов различных частот.
Рисунок 7. - Пример архитектуры UNet
Был использован вариант архитектуры UNet в качестве основной модели для задачи детекции облачности. Используются стандартные свертки 3 Ч 3, пулинг 2 Ч 2 и слои batch normalization [14]. Количество каналов начинается с 16 в первом блоке и умножается на два с каждой понижающей дискретизацией (downsampling). Это относительно небольшое количество каналов по сравнению с оригинальной архитектурой облегчает проблему переоборудования и позволяет быстрее обучать и оценивать сеть.
Сеть обучается с использованием алгоритма Адам [15] и начальной скоростью обучения , которая уменьшается в 10 раз после определенной итераций. Также наблюдается, что добавление Dice loss [16] к обычной бинарной кросс-энтропии приводит к лучшим показателям F1. Используется фреймворк Keras с бэкэндом tenorflow [17] и horovod [18] для обучения с несколькими GPU.
Была использована параметризованная неи?росеть, имеющая 2 параметризованных све?рточных блока и полносвязные скрытые слои. Для каждого блока отдельно были параметризованы: размер и количество све?рток, активация, количество подряд идущих све?рток. Архитектура полученной сети изображена на Рисунке 8. Модель обучалась со следующими значениями параметров:
Количество временных точек, из которых семплируется батч 5
Процент класса в батче 50
Первыи? свёрточныи? блок n = 2, filters = 16, shape = (5, 5), activation = relu
Второи? свёрточныи? блок n = 2, filters = 8, shape = (3, 3), activation = tanh
Первыи? полносвязныи? слои?: количество нейронов = 500, dropout = 0.53, activation = relu
полносвязныи? слои?: количество неи?ронов = 100, activation = relu
скорость обучения 0.0001
Архитектура модели в эксперименте с нейросетевым подходом
Стоит заметить, что максимально справедливым таргетом для любой модели будут наблюдения на метеостанциях - это истинный факт, но у станций есть особенность - совершенно неравномерная сетка, а точнее координаты наблюдений - это наблюдения станций, а расположены они в произвольных местах. Сетка у спутников же напротив обладает некоторой равномерностью и использование наблюдений со станций в качестве таргета было бы невозможно - потерялась бы большая часть спутниковых данных. Поэтому в рамках экспериментов с UNet, где спутниковые каналы рассматриваются именно как снимки, таргетом выступали только прогнозы облачности от ECMWF.
Градиентный бустинг
Нейросетевые подходы - наиболее распространенный подход в изученной литературе к решению задачи детекции облачности, но давно и хорошо себя зарекомендовавший градиентный бустинг может быть не хуже, а по ресурсам и времени, затрачиваемым на обучение и применения, сильно опережает сетки.
По своей сути градиентный бустинг - это алгоритм, превращающий слабых предикторов в сильных предикторов вместе. В градиентном бустинге каждый следующий предиктор - модификация предыдущих, учитывающая ошибки более слабых предшественников. Градиентный бустинг обучает много моделей-предикторов постепенно, аддитивно и последовательно. На Рисунке 9 изображено схематически, как работает градиентный бустинг, основанный на решающих деревьях.
Рисунок 9. - Схема работы градиентного бустинга
Множество полезных свойств данного подхода помогает эффективно решать задачи машинного обучения. В случае с задачей детекции облачности, одним из экспериментов было использование градиентного бустинга, основанного на решающих деревьях, а именно его реализация - CatBoost [19]. Данная имплементация позволяет грамотно обрабатывать категориальные фичи, а также обладает функциональностью CPU и GPU обучения моделей, что является полезным качеством для моделей, обучаемых для продакшн.
Данные для градиентного бустинга уже не имеют специфику снимков, это обычный табличный формат, в котором сетка с каналами спутников, GFS и прочих добавочных фичей превращается в построчное покоординатное разложение, то есть одна строка - сэмпл по времени и координатам. В таком случае, нет ограничений для использования наблюдений со станций в качестве таргета, поэтому в рамках эксперимента с CatBoost'ом факты со станций использовались как ground truth модели в одном из сетапов так же, как и облачность от ECMWF - в другом. Наблюдения со станций клеились к таблице с данными для обучения при нахождении станции в допустимом радиусе от координат из таблицы (20 км) - так наблюдение будет действительно соответствовать фактической облачности в этой области. Это в том числе послужило сэмплированием пула, так как при раскладывании пула из сетки в табличный вид, строк стало настолько много, что CatBoost не справлялся с такими ресурсами.
Модель обучалась предсказывать опять же 3 класса - нет облачности, средне-облачно, облачно. Обучения проходило 1000 итераций со скоростью обучения 0.025.
Проверялись две гипотезы: о качестве модели градиентного бустинга, обученного на спутниковых снимках, где таргетом выступали 1) наблюдения на метеостанциях и 2) прогнозы облачности от ECMWF.
Во второй главе были рассмотрены основные сетапы для экспериментов: в них проверяются гипотезы о влиянии на конечное качество модели, предсказывающей облачность, выбора источников данных, архитектуры модели и таргета для обучения модели, а также технические особенности каждого из шагов пайплайна - сбор данных и обучение модели.
3. Описание полученных результатов
В данной главе будут представлены основные результаты по проведенным экспериментам в виде метрик и графиков. Во всех экспериментах модели обучались на данных, собранных за период сентябрь - ноябрь 2019-ого, причем последние 5 дней каждого месяца откладывались для тестирования обученной модели.
Бейзлайн
Так как в любой задаче, призванной улучшить тот или иной показатель, метрику, принято использовать бейзлайн - модель, чей результат является базисом, который и нужно побить, в данном случае тоже была выбрана такая модель. Новизной идеи было использования спутниковых снимков вместе с другими каналами, бейзлайном же является модель, обученная на данных только от глобальных погодных поставщиков, в том числе и GFS. Архитектура модели - градиентный бустинг на деревьях решений, предсказывает так же, как и в описанных экспериментах, один из 3 классов - нет облачности, средне-облачно и облачно.
Выбор метрик
В изученных статьях качество моделей оценивалось с помощью стандартных метрик классификации, то есть предсказания модели биноризовались по принципу есть облачность/нет облачности. В этом случае метрики, на которые стоило обратить внимание в экспериментах, проделанных в рамках данной работы - F1, accuracy, recall, precision.
3.1 Результаты применения нейросетевого подхода
Полезно посмотреть на то, как модель работает в разное время суток, поэтому были построены графики с основными метриками, где по горизонтали - час в сутках, по вертикали - значение метрики. Также стоит отметить, что на графиках видны цикличные падения - это артефакт, получаемый при скачивании данных с шагом в 3 часа (как раз падения 3-часовые), с этим артефактом есть смысл побороться в дальнейшем, но пока такой вид графиков вполне достаточен, чтобы оценить модель.
3.2 Добавление каналов GFS
Далее будут приведены графики для сравнения качества работы UNet с и без добавления данных от GFS. На Рисунках 10-13 представлены значения метрик accuracy, recall, precision, f1 соответственно для модели UNet с добавлением данных от GFS в обучение.
Рисунок 10. - График значения метрики accuracy в течении суток для модели UNet с добавлением GFS каналов
Рисунок 11. - График значения метрики recall в течении суток для модели UNet с добавлением GFS каналов
Рисунок 12. - График значения метрики precision в течении суток для модели UNet с добавлением GFS каналов
Рисунок 13. - График значения метрики f1 в течении суток для модели UNet с добавлением GFS каналов
Чтобы понять, насколько полезны GFS каналы, нужно посмотреть на те же метрики для модели UNet, обученной без добавления GFS. На Рисунках 14-17 представлены значения метрик accuracy, recall, precision, f1 соответственно для модели UNet без добавления данных от GFS в обучение.
Рисунок 14. - График значения метрики accuracy в течении суток для модели UNet без добавления GFS каналов
Рисунок 15. - График значения метрики recall в течении суток для модели UNet без добавления GFS каналов
Рисунок 16. - График значения метрики precision в течении суток для модели UNet без добавления GFS каналов
Рисунок 17. - График значения метрики f1 в течении суток для модели UNet без добавления GFS каналов
Добавления GFS каналов дает прирост в f1 - ключевой метрике в задаче классификации, которой и является задача детекции облачности, незначительный прирост в recall и precision, из чего, в общем и целом, можно считать эксперимент с добавлением GFS успешным. Далее будут рассмотрены метрики для модели, обученной на данных с добавлением GFS каналов.
3.3 Сравнения с бейзлайном
Как уже было сказано, бейзлайном в данной задаче является предсказание модели, обученной на данных от глобальных поставщиков, чья архитектура - градиентный бустинг на решающих деревьях. Стоит также отметить, что эту модель принято на сервисе оценивать с помощью RMSE. Мотивация за этим следующая: модель выдает число от 0 до 1, что является степенью покрытия облаками, тот же выход может быть у UNet. Если рассматривать такой выход как континуальную величину, то RMSE вполне употребима в данном случае, а полезно посмотреть на такую метрику, потому что пороги, по которым это число делится на классы могут быть разными, RMSE показывает качество модели вне зависимости от выбранных порогов. На графиках, показанных на Рисунках 18-22 для метрик accuracy, recall, precision, f1 и RMSE соответственно, синим цветом показан бейзлайн, оранжевым - UNet.
Рисунок 18. - График значения метрики accuracy в течении суток для модели UNet c добавления GFS каналов (оранжевый) и бейзлайна (синий)
Рисунок 19. - График значения метрики recall в течении суток для модели UNet c добавления GFS каналов (оранжевый) и бейзлайна (синий)
Рисунок 20. - График значения метрики precision в течении суток для модели UNet c добавления GFS каналов (оранжевый) и бейзлайна (синий)
Рисунок 21. - График значения метрики f1 в течении суток для модели UNet c добавления GFS каналов (оранжевый) и бейзлайна (синий)
Рисунок 22. - График значения метрики RMSEв течении суток для модели UNet c добавления GFS каналов (оранжевый) и бейзлайна (синий)
Из графиков видно, что для каких-то метрик, например f1 и accuracy, UNet побеждает бейзлайн незначительно, зато, что немаловажно для сервиса, по RMSE сетка бьет бейзлайн на целых 17% (RMSE - метрика, показывающая, насколько модель ошибается, поэтому чем меньше - тем лучше), это подтверждается интегральными метриками, представленными в Таблице 2.
Таблица 2. - Интегральные метрики сравнения UNet и бейзлайна
accuracy |
recall |
precision |
f1 |
RMSE |
||
бейзлайн |
0.85 |
0.86 |
0.99 |
0.92 |
0.52 |
|
UNet |
0.82 |
0.82 |
0.99 |
0.90 |
0.35 |
Из этого можно сделать вывод, что UNet, обученная на спутниковых снимках с добавлением GFS каналов, топографии и угла наклона солнца дает метрики, бьющие бейзлайн.
3.4 Результаты применения градиентного бустинга
В двух экспериментах (модель обученная на наблюдениях со станций и модель, обученная на облачности от ECMWF) с использованием реализации градиентного бустинга - CatBoost'а - были взяты данные, состоящие из спутниковых, GFS каналов, топографии и угла наклона солнца, эти данные были разложены в табличный вид и просэмплированы при помощи нахождения ближайшей станции к каждой координате из таблицы при условии, что станция будет находится в радиусе не более 20 км от координаты. Таким образом, результаты двух моделей отображены в интегральных метриках, указанных в Таблице 3.
Таблица 3. - Интегральные метрики для двух экспериментов с CatBoost'ом
accuracy |
RMSE |
||
Catboost на станциях |
0.66 |
0.597 |
|
Catboost на ECMWF |
0.76 |
0.577 |
|
Бейзлайн |
0.85 |
0.501 |
В данном случае достаточно было посмотреть на accuracy и RMSE, чтобы убедиться в том, что CatBoost ни в одном из экспериментов не бьет бейзлайн.
В третьей главе были показаны результаты экспериментов с интегральными метриками и метриками на графиках в разрезе часов в сутках. По данных метрикам можно сделать вывод, что UNet с добавлением данных от GFS, топографией и углом наклона солнца хорошо себя показывает на выбранных данных за период сентябрь-ноябрь 2019 года, в то время как CatBoost в обоих экспериментах показал результаты, даже не пробивающие бейзлайн.
Заключение
В рамках данной работы было проведено исследование задачи облачной детекции, в ходе которого были рассмотрены существующие подходы к решению данной задачи, изучен вопрос, связанный с тем, какие данные в основном используют при решении задачи, какой таргет берут для обучения моделей.
Как выяснилось, одним из самых распространенных методов является нейронная сеть, а именно - архитектура сети UNet, эта модель хорошо работает с изображениями, а в данной работе основным каналом данных как раз были спутниковые снимки. UNet хорошо показала себя в сравнении с выбранным для данной задачи бейзлайном - градиентным бустингом, обученным на данных от глобальных погодных поставщиков, а именно побила бейзлайн по одной из выбранных метрик - RMSE - на 17%. В то же время, в рассмотрении также участвовала модель CatBoost - градиентный бустинг на деревьях решения, которая показала результаты хуже и доказала верность выбора нейросетевого подхода для решения задачи детекции облачности.
Проводились эксперименты по добавлению фичей от глобальных погодных поставщиков, которые тоже показали хороший результат, что приводит нас к выводу о том, что UNet, обученная на спутниковых снимках с добавлением данных от GFS, топографии и угла наклона солнца, где таргетом выступает облачность от ECMWF, является алгоритмом, подходящим для сервиса.
Дальнейшее развитие работы заключается в добавлении новых фичей, экспериментах с новыми архитектурами (по большей части нейронных сетей, так как спутниковые снимки - важный канал, хорошо обрабатываемый именно нейронными сетями) и внедрении написанного пайплайна со сбором пула, обучением модели, ее применением и подсчетом метрик в продовый код сервиса в качестве наукаст (прогноз на нулевой горизонт) прогноза облачности. Также есть возможность исследовать различные продукты ECMWF, которые могут быть более подходящими в качестве таргета для модели.
Список использованных источников
1. Chen, Yang & Fan, Rongshuang & Bilal [Ph.D], Muhammad & Yang, Xiucheng & Wang, Jingxue & Li, Wei. (2018). Multilevel Cloud Detection for High-Resolution Remote Sensing Imagery Using Multiple Convolutional Neural Networks. ISPRS International Journal of Geo-Information. 7. 181. 10.3390/ijgi7050181.
2. Li, Zhiwei & Shen, Huanfeng & Cheng, Qing & Liu, Yuhao & You, Shucheng & He, Zongyi. (2019). Deep learning based cloud detection for medium and high resolution remote sensing images of different sensors. ISPRS Journal of Photogrammetry and Remote Sensing.
3. Zhaoxiang, Z.; Iwasaki, A.; Guodong, X.; Jianing, S. Small Satellite Cloud Detection Based On Deep Learning and Image Compression. Preprints 2018
4. Jeppesen, Jacob & Jacobsen, Rune & Inceoglu, Fadil & Toftegaard, Thomas. (2019). A cloud detection algorithm for satellite imagery based on deep learning. Remote Sensing of Environment. 229. 247- 259. 10.1016/j.rse.2019.03.039.
5. Olaf Ronneberger, Philipp Fischer, and Thomas Brox. 2015. U- net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer- assisted intervention. Springer, 234-241.
6. Dorogush Anna&Ershov Vasily&Gulin Andrey.(2018).CatBoost: gradient boosting with categorical features support.
7. Sergey Ioffe and Christian Szegedy. 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 (2015).
8. Diederik P. Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Opti- mization. Interantional Conference on Learning Representations (2014).
9. Carole H Sudre, Wenqi Li, Tom Vercauteren, Sebastien Ourselin, and M Jorge Cardoso. 2017. Generalised Dice overlap as a deep learning loss function for highly unbalanced segmentations. In Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support. Springer, 240-248.
10. Alexander Sergeev and Mike Del Balso. 2018. Horovod: fast and easy distributed deep learning in TensorFlow. arXiv preprint arXiv:1802.05799 (2018).
11. Mikhail Royzner, Victor Lamburt, Dmitry Solomentsev, Svetlana Pospelova, Aleksandr Yuzhakov, Pavel Vorobyev. 2017. Method of and system for generating a weather forecast. US Patent US20170299772A1.
Размещено на Allbest.ru
...Подобные документы
Выбор публичных показателей для построения, обучения и тестирования модели нейронной сети, которая будет использована в основе информационной системы прогнозирования банкротства банков. Обзор моделей прогнозирования банкротства кредитных организаций.
дипломная работа [1,2 M], добавлен 30.06.2017Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Обнаружение грубых погрешностей. Проверка случайности и независимости результатов измерений в выборке. Приближенная проверка гипотезы о нормальном распределении экспериментальных данных. Проверка гипотезы о равенстве дисперсий и средних значений.
курсовая работа [1,1 M], добавлен 01.07.2011Виды машинного обучения, его основные задачи и методы. Подходы к классификации: логистическая регрессия, наивный байесовский классификатор, стохастический градиентный спуск, K-ближайший сосед, дерево решений, случайный лес, метод опорных векторов.
курсовая работа [436,9 K], добавлен 14.12.2022Получение и обработка данных о веб-сайте. Иерархическая классификация, алгоритмы машинного обучения. Решающие деревья, плоские классификаторы. Метрики оценки качества. Полная точность (accuracy), кросс-валидация. Параллельные вычисления, хранение данных.
курсовая работа [276,8 K], добавлен 04.09.2016Моделирование работы генератора случайных двоичных чисел с ограниченной последовательностью 0 и 1, подчиняющегося равномерному закону распределения, заданному с помощью модели Гильберта. Представление программного решения задачи средствами языка С++.
лабораторная работа [857,7 K], добавлен 05.06.2011Определение многомерной модели данных для удовлетворения основных информационных потребностей предприятия. Экстракция, загрузка и перенос данных из различных источников данных. Разработка собственных ETL–систем. Оптимизация работы хранилища данных.
презентация [9,1 M], добавлен 25.09.2013Восприятие формы и паттерна. Эффективность зрительного поиска в условиях возникновения "эффекта выскакивания". Детекция ориентации линий. Метод измерения различий между стимулами. Применимость модели векторного кодирования к задачам зрительного поиска.
дипломная работа [777,6 K], добавлен 25.05.2013Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Расписание автобусов по сменам. Построение математической модели задачи. Основные теоретические сведения о симплекс-методе. Приведение задачи к каноническому виду. Выражение базисных переменных. Проверка оптимальности начального опорного решения задачи.
курсовая работа [590,4 K], добавлен 19.09.2013Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.
курсовая работа [36,1 K], добавлен 29.01.2011Пример дерева решений. Анализ древовидной структуры данных. Предикторные (зависимые) переменные как признаки, описывающие свойства анализируемых объектов. Решение задач классификации и численного прогнозирования с помощью деревьев классификации.
презентация [391,1 K], добавлен 09.10.2013Программная реализация метода оптимальной классификации одномерного упорядоченного множества на основе "склеивания с ближайшим". Проверка работоспособности программы на основе алгоритмов классификации, вычислительные эксперименты по оценке эффективности.
курсовая работа [414,4 K], добавлен 24.05.2015Роль классификации документов в решении задач информационного поиска. Методы автоматической классификации документов и этапы построения классифицирующей системы: индексация документа, построение классификаторов на базе обучающих данных, оценка их работы.
курсовая работа [354,2 K], добавлен 13.01.2013Описание внешних иерархических моделей базы данных. Проектирование нормализованных локальных ER-моделей. Выявление и устранение эквивалентных сущностей и категорий, дублирования атрибутов и связей. Создание внутренней реляционной модели данного проекта.
курсовая работа [87,9 K], добавлен 20.01.2015Интеллектуальный анализ данных как метод поддержки принятия решений, основанный на анализе зависимостей между данными, его роль, цели и условия применения. Сущность основных задач интеллектуального анализа: классификации, регрессии, прогнозирования.
контрольная работа [25,8 K], добавлен 08.08.2013Понятие, задачи и требования к разработке базы данных. Типы моделей данных, их преимущества и недостатки и обоснование выбора модели. Процесс учета студентов в больнице, описание структуры базы данных, перечень групп пользователей и доступа к данным.
курсовая работа [45,1 K], добавлен 09.03.2009Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).
дипломная работа [625,2 K], добавлен 10.06.2017Общая характеристика моделей баз данных: объектно-ориентированная, иерархическая, реляционная. Всемирная паутина глобальной компьютерной сети Интернет как сетевая база данных, рассмотрение особенностей основных составляющих: узел, уровень, связь.
презентация [1,4 M], добавлен 14.10.2013