Раздвигая границы в дистанционном зондировании для классификации культур

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

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

Оглядываясь назад: идеи и открытия из части 1

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

Мы создали модель классификации культур на основе пикселей для решения этих проблем, исследуя преимущества подходов на основе пикселей и анализа временных рядов на мультиспектральных данных. Наш первый подход заключался в том, чтобы получить базовый уровень с помощью простых статистических моделей, где модель LightGBM показала себя лучше всего. Затем мы погрузились в пользовательские архитектуры глубокого обучения, сравнив базовый уровень с такими моделями, как CNN, LSTM и Transformer.

Модель «Трансформер» оказалась лучшей, продемонстрировав лучшую производительность для каждого отдельного класса. Во второй части нашего путешествия мы продолжим совершенствовать нашу модель Transformer, изучая различные методы повышения производительности модели.

Установление согласованности: проверка стабильности обучения модели

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

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

Мы провели обучение пять раз, получив пять разных моделей. На графике ниже показана разница в результатах оценки худшей модели. Пунктирная горизонтальная линия показывает наихудшие и наилучшие макроэкономические показатели F1 (среднее значение на уровне класса), тогда как столбцы показывают наихудшие и наилучшие показатели для каждого класса. Средняя макро-оценка F1 по пяти прогонам модели составила 75,3%.

Результаты на изображении выше показывают нам, что обучение происходит довольно стабильно, с небольшим изменением в макро-оценке F1 между худшим и лучшим запуском модели (разница 1,02%). Кроме того, производительность каждого класса культур в основном оставалась неизменной в разных прогонах. Эта небольшая разница в производительности говорит о надежности нашей модели Transformer. Это готовит почву для нашей предстоящей серии экспериментов, в которых мы исследуем влияние увеличения данных, уменьшения шума и многого другого. Этот эксперимент со стабильностью убеждает нас в том, что любое заметное изменение производительности, скорее всего, связано с усовершенствованием модели или обучения, а не просто результатом присущей обучению случайности.

Увеличение данных: самый простой способ повысить производительность модели

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

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

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

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

  • Объединение двух рядов с помощью линейной интерполяции, если они принадлежат к одному и тому же целевому классу. Допустим, у нас есть два ряда одного и того же класса, A и B. Для этого увеличения мы бы сохранили большую часть ряда A (например, 90%) и взяли оставшиеся (10%) из ряда B, чтобы получить фиктивный ряд C. Путем увеличения таким образом; мы создаем фиктивные образцы, которые принадлежат предоставленному классу культур. Обратите внимание, что это предполагает чистые данные и что все ряды одного и того же класса имеют схожие характеристики.

Аугментации применялись случайным образом, где ни одно, а иногда даже все из них не использовались. На графике ниже показан результат после добавления этого механизма стохастических аугментаций. В целом производительность увеличивается с макрооценкой F1, равной 2,2%. Однако наиболее примечательным является то, что почти все классы выигрывают от этих дополнений, а те, которые показали худшие результаты, увеличивают производительность больше всего. Это улучшение показывает, что увеличение данных или тщательное манипулирование существующим набором данных может существенно повысить производительность модели.

Работа с шумом: очистка для более четкого понимания

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

Для очистки данных применяется несколько методов, которые были выполнены экспертами в области VITO. Среди этих этапов обработки наибольшее влияние оказали следующие:

  • Временная композиция для сведения к минимуму влияния временных эффектов, таких как облачный покров, атмосферные колебания и шум датчиков. мы агрегируем все доступные сигналы с постоянной периодичностью в 10 дней.
  • Маскировка облаков и снега, чтобы входные данные представляли измерения, выполненные непосредственно на интересующем сельскохозяйственном поле.
  • Линейная интерполяция пробелов во временных рядах, появившихся в результате маскирования на предыдущем шаге.
  • Размывать (или срезать) стороны известных сельскохозяйственных полей. Это помогает нам получить более чистый сигнал, поскольку мы удаляем зашумленные сигналы, обнаруженные на границе поля, которые могут перекрываться с другой территорией из-за более низкого (10 м) разрешения Sentinel-2.
  • Объедините соседние пиксели в кластер из одного поля и возьмите срединное значение этого кластера. Это помогает устранить шум, присутствующий в пределах одного поля.

Следующие два изображения визуализируют результат этой очистки. На первом изображении показано необработанное наблюдение, а на втором — обработанный результат.

Чтобы измерить влияние шума, мы запустили модель на необработанных данных и сравнили ее производительность с данными, в которых мы тщательно минимизировали шум. На гистограмме ниже показаны результаты, показывающие значительный прирост производительности после очистки данных. Общее улучшение составляет 2,6 % по шкале Macro F1. Также интересно отметить, что влияние шумоподавления одинаково распространяется на все классы культур, и ни один из классов не страдает от шума значительно сильнее. Урок ясен: более чистые сигналы приводят к лучшей производительности модели. Минимизация шума в наших данных облегчает модели изучение основных закономерностей и более точную классификацию культур. Несмотря на это, по-прежнему интересно посмотреть, насколько хорошо модель трансформатора может справляться с такими зашумленными сигналами, по-прежнему получая приличный результат при работе с очень зашумленными данными.

Раскрытие возможностей трансформаторов: автоматическое получение экспертных индексов

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

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

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

На следующем графике показаны три различных сценария. Обратите внимание, что все три модели дополнительно используют данные Sentinel-1 и METEO. Различные модели имели следующие дополнительные входы:

  • Модель только для оптики: Sentinel-2 в диапазонах 2–8, 11 и 12.
  • Модель с использованием только экспертных индексов: NDVI, NDMI, NDWI, NDGI, NDTI, ANIR, NDRE1, NDRE2, NDRE5.
  • Модель, использующая оба оптических диапазона в качестве экспертных индексов в качестве входных данных.

Как показано на изображении, все три модели работают очень одинаково: макро-оценка F1 составляет 78,5 % для модели только с оптическими параметрами, 78,5 % для модели только с экспертными индексами и 78,6 % для модели, использующей оба входа. Несмотря на то, что этот эксперимент не привел к каким-либо улучшениям производительности, его все равно было интересно провести, поскольку он дает представление о возможностях рассуждений современных методов глубокого обучения.

Набор экспериментов: пробуем разные техники

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

  • Настройка размеров Transformer показала, что лучше всего работают четыре слоя, восемь головок и размер встраивания 128; большие размеры не улучшили заметно производительность и увеличили время обучения и вывода.
  • Были протестированы различные оптимизаторы и скорости обучения, при этом Адам и начальная скорость обучения 1e-3 оказались наиболее эффективными; SGD заметно уступает по сравнению с ним.
  • Мы пробовали разные функции потерь; по умолчанию, фокусные потери на основе кросс-энтропии, незначительно превосходящие альтернативы, такие как простая кросс-энтропия и среднеквадратическая ошибка (MSE).
  • Мы экспериментировали с различными планировщикамискорости обучения, и постепенное снижение плато потерь оказалось лучшим планировщиком для нашего случая использования.
  • Тестирование влияния отсева не показало явного влияния на результаты оценки, но помогло снизить баллы за обучение, что указывает на потенциальное снижение переобучения.
  • Мы сравнили различные функции активации, такие как ReLU, GeLU и LeakyReLU; активация по умолчанию, ReLU, работала наравне с альтернативами, подтверждая ее пригодность для нашей модели.

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

Размышляя о нашем путешествии: окончательные результаты моделирования

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

Окончательная модель превзошла исходную модель по всем параметрам, продемонстрировав значительное общее улучшение. На следующем графике показана разница в производительности между базовой моделью, полученной в конце первой части этой серии блогов, и окончательной моделью, которая у нас есть сейчас. Мы обучили пять моделей для обеих версий модели, чтобы уменьшить разницу в производительности, полученную после нескольких запусков модели. В целом производительность модели улучшилась на 4,16 % в макросе F1, увеличившись с 75,29 % до 79,45 %.

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

Использование глобальной неопределенности: посткалибровка модели

В качестве последнего штриха к нашей самой эффективной модели мы добавили калибровку после обучения. Одна из причин для калибровки модели — если вы хотите извлечь из нее глобальные подсчеты. Чтобы проиллюстрировать это, давайте приведем пример; скажем, вы хотите получить распределение культур, которые растут в Европе.

Один из способов вычислить это — использовать нашу модель классификации культур для прогнозирования типов культур для всех европейских полей. Учитывая, что мы обучили эту модель быть хорошим классификатором культур, объединение ее прогнозов для получения оценки распределения культур имеет смысл. Однако при этом не учитывается достоверность каждого прогноза. В качестве альтернативы мы можем использовать вероятность каждого прогноза для создания этого глобального распределения, но это может быть неправильным, поскольку модель не была специально обучена отражать неопределенность в своих прогнозах. Если наша модель немного самоуверенна, вероятность 90 % не означает, что она верна в 90 % случаев; это реже бывает правильным.

Лучший способ решить эту задачу — сначала откалибровать модель. Это делается после обучения модели и направлено на то, чтобы лучше отразить уверенность прогноза в отношении его вероятности. Калибровка модели является активной темой исследования и завела бы нас слишком далеко в этом сообщении в блоге. Для тех, кто заинтересован, эта статья дает отличный обзор различных методов калибровки: https://arxiv.org/abs/1706.04599

Для калибровки нашей модели мы использовали температурное масштабирование — эффективный метод калибровки прогнозных распределений в моделях машинного обучения. Этот метод калибровки направлен на то, чтобы обеспечить более точные оценки вероятности для наших прогнозов без ущерба для производительности (забавный факт, мы даже получили 0,6% в макро-оценке F1!). Изображение ниже называется калибровочным графиком, который показывает соответствие вероятностей предсказания модели фактической точности. Обратите внимание, что мы калибруем модель с использованием набора данных проверки, где результаты калибровки измеряются с использованием набора тестовых данных.

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

Повышение устойчивости приложений дистанционного зондирования: путь постоянного совершенствования

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

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

Хотите поделиться своими мыслями или предложениями о нашей модели? Оставьте комментарий или свяжитесь со мной через LinkedIn!