Команда Data Science в UKHO специализируется на применении новейших технологий машинного обучения и больших данных для морских геопространственных данных.

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

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

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

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

Вооруженные этим пониманием, мы разработали стратегию выборки, в соответствии с которой мы определили области интереса (AOI) по всему миру, которые уловили как можно больше возможной изменчивости внешнего вида мангрового леса. Мы использовали ранее существовавший набор данных (Global Mangrove Watch Baseline 2010) для выбора AOI. Мы разделили мир на 9 регионов, и в каждом регионе вручную выбрали от 5 до 10 AOI, где мы стремились не только выбрать районы с мангровыми лесами, но и мангровые заросли в различных геоморфологических условиях и с разными прилегающими типами землепользования. Всего мы выбрали 60 различных AOI со всего мира.

Обычно при обучении модели машинного обучения общий набор помеченных данных разделяется; часть используется для обучения модели (обучающего набора), а остальная часть используется для проверки производительности модели (набора для тестирования). Это разделение на поезд / тест обычно составляет примерно 80/20, хотя жестких правил нет. Здесь мы столкнулись с дилеммой. С одной стороны, чтобы улучшить гео-обобщаемость модели, мы хотели обучить модель на как можно большем количестве данных. С другой стороны, чтобы убедиться, что мы провели надежный тест производительности модели, мы хотели протестировать модель на большем количестве и разнообразии изображений, чем те, на которых она была обучена, чтобы воспроизвести сценарий модели, используемой в производстве (что-то что нарушает условности). В конце концов, мы остановились на соотношении поезд / тест 50/50.

Для всех 60 наших AOI мы загрузили изображения (полосы 2, 3, 4, 5, 8A, 11 и 12 Sentinel 2), и 30 изображений были помечены как маски мангровых, а не мангровых зарослей нашей командой дистанционного зондирования (мы назвали это набор данных Gold Standard), что и составило наши тестовые данные. Остальные 30 изображений AOI также были помечены масками мангровых, а не мангровых деревьев командой по анализу данных, и это составило нашу обучающую выборку. Мы использовали технику растяжения гистограммы и кластеризации, чтобы ускорить процесс маркировки данных (возможно, это тема для другого блога). Каждая маска AOI в наших обучающих и тестовых наборах была разбита на чипы 256x256 (с созданием соответствующих многополосных чипов изображений), и для каждого чипа мы вычислили ряд статистических данных, включая процент мангровых зарослей, процент облачного покрова, доминирующий класс землепользования. (например, растительность, вода и т. д.), минимальная, максимальная и средняя высота, а также регион мира. Мы использовали эти метаданные чипа для фильтрации тех чипов, которые содержали только воду и превышали пороговое значение высоты (поскольку мангровые заросли существуют в низинных областях). Когда мы затем визуализировали отфильтрованные метаданные чипа, мы поняли, что, несмотря на все наши усилия по созданию набора данных с глобальной выборкой, у нас непреднамеренно были два источника систематической ошибки в нашем наборе обучающих данных:

1) Большинство чипов изображений содержат небольшой процент мангровых зарослей.

2) В некоторых регионах мира было больше чипсов с мангровыми деревьями, чем в других.

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

Нашим первым шагом было понять, что создает эти искажения в наших данных. После завершения некоторого исследования данных мы обнаружили, что нам нужно немного больше узнать о географии мангровых лесов. Когда мы посмотрели на примеры мангровых лесов в разных местах по всему миру, мы обнаружили, что плотность и протяженность мангровых зарослей сильно различаются. В некоторых областях (например, в Сундарбане) есть большие площади густых мангровых зарослей. Генерация фишек из сцены Sentinel 2 в этом регионе создала большое количество фишек с высоким процентом мангровых лесов. И наоборот, когда мы изучили другие области (например, засушливые районы), мы обнаружили, что мангровые леса могут иметь низкую густоту с редким расположением деревьев. Таким образом, фрагментирование сцен Sentinel 2 в этих типах областей привело к появлению нескольких фишек с низким процентом мангровых зарослей.

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

Мы обучили модель глубокого обучения на основе архитектуры полностью сверточной нейронной сети UNET с использованием экземпляра AWS EC2, оснащенного графическим процессором, с использованием Python и Keras (с TensorFlow). Изначально обучение модели началось на чипах из мангровых зарослей, покрытых более чем 10% мангровых зарослей, и по мере повышения производительности модели мы добавляли в обучающий набор все больше и больше чипов, которые содержали более низкий процент мангровых зарослей. Мы провели итерацию через прогоны обучения модели, настраивая гиперпараметры, и, в конце концов, применили раннюю остановку (с терпением 20 эпох), разбиение валидации 0,15, снижение скорости обучения на плато (с терпением 6 эпох и дельтой 0,1) при этом каждая модель работает не более 200 эпох. Мы использовали MlFlow для отслеживания обучающих экспериментов и в конечном итоге пришли к 4 возможным моделям-кандидатам, которые различались: а) содержали ли они данные о высоте и б) были ли входные полосы центрированы и масштабированы перед обучением модели. Мы разработали методологию обзора модели, чтобы решить, какую модель мы будем использовать в производстве, проведя три независимых теста:

1) Количественный анализ производительности модели в сравнении с набором данных валидации.

2) Качественная оценка прогнозов каждой модели на невидимых тестовых участках.

3) Оценка того, использовалась ли модель для прогнозирования каждой входной полосы модели.

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

В этот момент мы нервничали; приближался крайний срок для первой итерации нашей модели, но мы действительно не знали, насколько хорошо модель будет масштабироваться для всего мира. Мы передали нашу модель нашим коллегам из отдела инженерии данных UKHO, которые строили бессерверный конвейер на AWS lambda, чтобы масштабировать модель до 1500 изображений, необходимых для построения нашего нового глобального набора данных о мангровых зарослях, и мы стали ждать. Первый набор результатов был получен из наших 30 тестовых сцен, поэтому мы быстро начали сравнивать результаты нашей модели с масками Золотого стандарта, созданными нашей командой удаленного зондирования. Мы вычислили сбалансированную точность для каждой сцены Sentinel 2 в тестовом наборе, посмотрели результаты со всего мира и обнаружили… успех!

Ну… вроде того. В среднем наша модель показала сбалансированную точность 82% по сравнению с набором данных Золотого стандарта, что ниже, чем мы могли надеяться, но, что важно, между каждым регионом существует допустимый диапазон вариаций. Наихудшим показателем был регион Персидского залива (80%), а нашим лучшим регионом - Карибский бассейн (90%). Средняя производительность нашей модели была ниже, чем мы ожидали, но она работала с одинаковым уровнем (сбалансированной) точности во всем мире, что указывает на то, что она хорошо гео-обобщенно.

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

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

- Получите более глубокое представление об интересующем объекте - его географии, геоморфологии и о том, какие факторы влияют на его появление на спутниковых снимках.

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

- Разработайте стратегии тестирования модели, которые отражают способ развертывания модели (например, не просто следуя соглашениям о тестовой группе поездов)

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

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