Соавторами этого блога являются Эндрю Смит, доктор Сьюзан Нельмс, Кейт Сил, Доктор Томас Редферн и Рэйчел Ки.

Использование недель исследований для расширения границ науки о данных в UKHO

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

Во-первых, что такое исследовательская неделя?

Члены группы Data Science в UKHO придумывают отличные идеи о том, как мы можем применить новейшие достижения в области машинного обучения или исследований больших данных в области морских данных. Иногда эти идеи выходят за рамки текущих результатов нашего проекта, поэтому, чтобы раздвинуть границы возможного, каждый квартал мы проводим «исследовательскую неделю» - время, отведенное специалистам по данным для экспериментов с новыми идеи, приемы и технологии.

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

Обнаружение оффшорной инфраструктуры: Кейт Сил

Раньше я работал над обнаружением неизведанных опасностей на море, используя обнаружение блобов для определения местоположения различных типов морской инфраструктуры. После случайной встречи я обнаружил, что Брайан Вонг и Кристиан Томас из SkyTruth работали над одним и тем же. Мы связались с дизайном нефтяной платформы и тем, по-разному ли выглядят ветряные турбины в зависимости от того, в какую сторону они указывают (классический ледокол на конференции 😎). У нас также были разные подходы к обнаружению инфраструктуры, поэтому мне очень хотелось реализовать методологию из их бумаги.

Исходными данными для обоих наших подходов являются данные РЛС с синтезированной апертурой Sentinel-1 от Европейского космического агентства. Сначала я визуализировал доступные изображения Северного моря, сделанные в 2020 году (загружено!).

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

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

Используя этот метод, я смог обнаружить кластеры (и, следовательно, предполагаемые местоположения инфраструктуры) для всей интересующей меня области.

Я с нетерпением жду интеграции элементов этой процедуры (особенно этапов предварительной обработки и очистки), поскольку мы работаем над итеративным улучшением нашей собственной методологии.

Изучение обучения с помощью метаобучения: Эндрю Смит

Я встречал термин «метаобучение» несколько раз, и его популярность, похоже, сильно растет в последние несколько лет (мнение, которое я сформировал в основном из Twitter). Следовательно, я решил узнать об этом больше в течение своей исследовательской недели.

Одна из мотиваций метаобучения заключается в том, что люди часто быстро осваивают новые задачи. Цель метаобучения - обучить модель, которая учится учиться, чтобы модель могла быстро адаптироваться к новым, невидимым задачам. Системы метаобучения обучаются большому количеству задач (каждая задача состоит только из небольшого набора данных), а затем проверяются на их способность изучать новые задачи. Вот одна очень впечатляющая демонстрация метаобучения, которая представляет собой кабель для овладения новой задачей только после первого эпизода!

Следуя этому впечатляющему примеру, я решил попробовать реализовать этот конкретный алгоритм, называемый MAML (Model-Agnostic Meta-Learning). Следуя исходной статье, я экспериментировал с использованием MAML для изучения синусоидальной волны. Каждая задача состояла из тренировки только на нескольких точках синусоидальной волны, которая была сгенерирована с разной фазой и амплитудой. Это сработало на удивление хорошо:

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

Методы тематического моделирования: Сьюзан Нельмес

На моей исследовательской неделе я рассмотрел, как тематическое моделирование можно применить к текстовым данным. Тематическое моделирование - это метод неконтролируемой обработки естественного языка (NLP) для обнаружения тем в коллекции документов, длина которых может варьироваться от твитов до книг.

Например, при просмотре путеводителей тематическое моделирование выбрало бы слова, которые во многих книгах, такие как «отель» и «ресторан», неуместны, но если в двух книгах есть слова «вулкан», «прибой» и «пальмы». ', они, вероятно, будут посвящены схожей теме, а на самом деле другой теме, чем книги, содержащие слова «горы», «лыжи» и «шоколад». При визуальном осмотре слов, определяющих эти абстрактные темы, мы можем применить такие ярлыки, как «Гавайи» и «Швейцария».

Предварительная обработка

Перед применением методов тематического моделирования я предварительно обработал свои данные (короткие тексты из одного или двух предложений). Я удалил цифры и знаки препинания и преобразовал их в нижний регистр. Я токенизировал его (разделил на отдельные слова) и удалил игнорируемые слова (часто используемые слова, не добавляющие тематического значения). Затем я лемматизировал данные, сводя слова к общей базовой форме. Например, «am», «are» и «is» будут сокращены до «be».

Скрытое размещение Дирихле

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

Для подготовки данных я использовал CountVectorizer, а затем реализовал LDA с помощью LatentDirichletAllocation. Я также выполнил поиск, чтобы найти лучшие значения гиперпараметров для использования. Кроме того, мне понравился пакет визуализации pyLDAvis для визуализации моих результатов.

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

Неотрицательная матричная факторизация

Неотрицательная матричная факторизация (NMF) - еще один широко используемый метод тематического моделирования. Как следует из названия, это метод матричной факторизации. Матрица слов по документам делится на две матрицы, слова по темам и темы по документам, причем вторая из них определяет, какие темы находятся в каждом документе.

Для подготовки данных я использовал TfidfVectorizer, а затем реализовал NMF. Я обнаружил, что темы, созданные с помощью этого метода, были гораздо более четкими и применимыми к моим данным.

Остаточные U-сети: Томас Редферн

После успеха нашей работы по обнаружению мангровых лесов команда использовала архитектуру сверточной нейронной сети U-Net для задач сегментации изображений. Однако опубликованные исследования показали, что добавление остаточных единиц к трактам кодера и декодера может улучшить характеристики модели. Поэтому на этой исследовательской неделе я реализовал архитектуру U-Net, вдохновленную тем, что описано Zhang et al. (2019) , чтобы проверить, ускорит ли это обучение модели или приведет к повышению производительности.

Я добавил остаточные блоки в пути кодировщика и декодера, а затем обучил и протестировал модель на тех же данных, что и проект мангрового дерева. Я обучил эти новые модели только за 2 эпохи, тогда как наша оригинальная модель U-Net из мангровых лесов была обучена за 200 эпох! Результаты показаны ниже:

Добавление остаточных единиц привело к улучшению производительности модели для всех показателей тестирования, кроме точности - и это только после двух эпох - многообещающий результат!

В нашей работе по обнаружению мангровых зарослей мы создали индивидуальный набор данных, помеченных мангровыми деревьями, при этом каждое помеченное изображение Sentinel 2 имело соответствующую метку; Другими словами, между изображениями и этикетками было соотношение 1: 1. Подумав об этой взаимосвязи и вдохновившись дискуссиями Эндрю Нга об ИИ, ориентированном на данные, я решил поэкспериментировать с созданием набора обучающих данных, в котором каждая метка соответствует более чем одному изображению.

Мое проверенное предположение заключалось в том, что мангровые заросли со временем меняются, но недостаточно быстро, чтобы означать, что метка, полученная в местоположении x и времени y, будет слишком неправильной для местоположения x и время z, если z не слишком далеко от y. Мы надеемся, что добавление большего количества изображений увеличит разнообразие изображений, с которыми обучается модель, тем самым улучшив ее способность обобщать невидимые изображения.

Для каждого изображения для обозначения пары в исходном наборе данных с метками я добавил другое изображение из другого времени. Следовательно, каждая метка соответствовала двум изображениям как из местоположения x, так и за периоды времени y и z. Используя наиболее производительную архитектуру из моего первого эксперимента, я обучил новую модель на этом новом наборе данных и протестировал обученную модель. Опять же, я тренировался всего 2 эпохи.

Модель «двойных данных» привела к значительному улучшению показателей количественной модели - например, оценка F1 увеличилась с 0,72 до 0,79! Это очень интересный результат, который может позволить нам получить большую ценность от наших помеченных наборов данных в будущем.

Спутниковая батиметрия с использованием случайной лесной регрессии и агрегации с несколькими временными прогнозами: Рэйчел Кей

UKHO получает и собирает большое количество батиметрических данных. Я использовал данные обзора LiDAR 2018 года над Британскими Виргинскими островами для исследования и внедрения спутниковой батиметрии (SDB) с использованием методологии Сагавы и др. 2019 года из Спутниковая батиметрия с использованием машинного обучения и разновременных спутниковых изображений. Этот подход решает проблемы, связанные с изменением изображения на спутниковых снимках, путем агрегирования результатов SDB для каждого спутникового снимка. Они достигли RSME 1,41 м для глубин от 0 до 20 м, а я достиг близкого результата 1,62 м.

Для начала я загрузил девять случайных изображений Sentinel-2 Европейского космического агентства, используя автоматизированный скрипт Python с API-интерфейсами sentinelsat и sentinelhub. На изображениях была облачность менее 10%, и они были сделаны в период с начала 2018 г. по конец 2019 г. Необработанные файлы Sentinel-2 SAFE были скорректированы с помощью атмосферной коррекции с помощью инструмента ACOLITE Королевского бельгийского института естественных наук для получения изображений отражательной способности с разрешением 10 м. значения для прибрежного, синего, зеленого, красного и ближнего инфракрасного (NIR) диапазонов. Затем я использовал сверточный подход, определенный Дж. Иммеркером под названием Быстрая оценка дисперсии шума, чтобы определить наименее зашумленные и лишенные бликов изображения, которые можно было бы использовать для дальнейшей предварительной обработки изображений и машинного обучения.

Следуя подходу Сагава и др., Я реализовал:

(1) Маскирование земли, облаков, бликов и лодки / объекта с использованием порогового значения NIR-диапазона.

(2) Маскирование глубокой воды с использованием пороговых значений синих и зеленых полос.

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

(4) И, наконец, агрегирование прогнозов со средним значением глубины для получения окончательных данных и результатов SDB.

По совокупным данным средняя RMSE составила 1,62 млн, а R2 - 0,94. Диаграммы разброса точек глубины батиметрии LiDAR (ось x) по сравнению с SDB (ось y) показывают более высокую корреляцию между предсказанными глубинами и истинными глубинами ниже 12,5 м, после чего модель имеет тенденцию к занижению прогнозов.

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

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

И это все на этот квартал. Надеюсь, вам понравился этот блог, и что эти идеи нашего исследования интересны и полезны!