Мангровые леса являются важной частью здоровой экосистемы, и деятельность человека является одной из основных причин их постепенного исчезновения с береговых линий по всему миру. Использование модели машинного обучения (ML) для идентификации мангровых зарослей на спутниковом снимке дает исследователям эффективный способ отслеживать размер лесов с течением времени. В Часть 1 этой серии мы показали, как собирать спутниковые данные в автоматическом режиме и анализировать их в Студия Amazon SageMaker с интерактивной визуализацией. В этом посте мы покажем, как использовать Amazon SageMaker Автопилот для автоматизации процесса создания пользовательского классификатора мангровых зарослей.
Обучите модель с помощью автопилота
Автопилот обеспечивает сбалансированный способ построения нескольких моделей и выбора лучшей из них. Создавая несколько комбинаций различных методов предварительной обработки данных и моделей машинного обучения с минимальными усилиями, Autopilot предоставляет специалисту по обработке и анализу данных полный контроль над этими компонентами.
Вы можете использовать Autopilot с помощью одного из AWS SDK (подробности доступны в Справочное руководство по API для автопилота) или через Студию. Мы используем автопилот в нашем решении Studio, следуя шагам, описанным в этом разделе:
- На странице Studio Launcher выберите значок «плюс» для Новый эксперимент с автопилотом.
- Что касается Подключите ваши данные, наведите на Найдите ведро S3и введите имя корзины, в которой вы сохранили обучающие и тестовые наборы данных.
- Что касается Имя файла набора данных, введите имя файла данных тренировки, который вы создали в Подготовьте обучающие данные в разделе Часть 1.
- Что касается Расположение выходных данных (сегмент S3), введите то же имя сегмента, которое вы использовали на шаге 2.
- Что касается Имя каталога набора данных, введите имя папки под сегментом, в котором вы хотите, чтобы Autopilot сохранял артефакты.
- Что касается Является ли ваш ввод S3 файлом манифеста?, выберите от.
- Что касается цель, выберите этикетка.
- Что касается Автоматическое развертывание, выберите от.
- Под Дополнительные параметры, Для Тип задачи машинного обучения, выберите Бинарная классификация.
- Что касается Объективная метрика, выберите ППК.
- Что касается Выберите способ проведения эксперимента, выберите Нет, запустите пилотную версию, чтобы создать записную книжку с определениями-кандидатами..
- Выберите Создать эксперимент.
Дополнительные сведения о создании эксперимента см. Создание эксперимента Amazon SageMaker Autopilot.Выполнение этого шага может занять около 15 минут. - По завершении выберите Открытый блокнот для генерации кандидатов, который открывает новую записную книжку в режиме только для чтения.
- Выберите Импорт блокнота сделать блокнот редактируемым.
- Для изображения выберите Наука данных.
- Что касается ядро, выберите Python 3.
- Выберите Выберите.
Эта автоматически созданная записная книжка содержит подробные пояснения и обеспечивает полный контроль над фактической задачей построения модели. Индивидуальная версия ноутбук, где классификатор обучается с использованием диапазонов спутников Landsat с 2013 года, доступен в репозитории кода в разделе notebooks/mangrove-2013.ipynb
.
Структура построения модели состоит из двух частей: преобразование признаков как часть этапа обработки данных и оптимизация гиперпараметров (HPO) как часть этапа выбора модели. Все необходимые артефакты для этих задач были созданы в ходе эксперимента «Автопилот» и сохранены в Простой сервис хранения Amazon (Амазон С3). Первая ячейка записной книжки загружает эти артефакты из Amazon S3 в локальную Создатель мудреца Амазонки файловую систему для проверки и любых необходимых изменений. Есть две папки: generated_module
и sagemaker_automl
, где хранятся все модули и скрипты Python, необходимые для работы блокнота. Различные этапы преобразования признаков, такие как вменение, масштабирование и PCA, сохраняются как generated_modules/candidate_data_processors/dpp*.py.
Автопилот создает три разные модели на основе алгоритмов XGBoost, линейного обучения и многоуровневого персептрона (MLP). Конвейер-кандидат состоит из одного из вариантов преобразования функций, известного как data_transformer
, и алгоритм. Конвейер — это словарь Python, который можно определить следующим образом:
В этом примере конвейер преобразует обучающие данные в соответствии со сценарием в generated_modules/candidate_data_processors/dpp5.py
и строит модель XGBoost. Именно здесь Autopilot предоставляет полный контроль специалисту по данным, который может выбрать автоматически сгенерированные этапы преобразования признаков и выбора модели или создать свою собственную комбинацию.
Теперь вы можете добавить конвейер в пул для автопилота, чтобы запустить эксперимент следующим образом:
Это важный шаг, на котором вы можете решить оставить только подмножество кандидатов, предложенных автопилотом на основе экспертных знаний в предметной области, чтобы сократить общее время выполнения. Пока сохраните все предложения автопилота, которые вы можете перечислить следующим образом:
Имя кандидата | Алгоритм | Преобразователь характеристик |
dpp0-xgboost | xgboost | dpp0.py |
dpp1-xgboost | xgboost | dpp1.py |
dpp2-линейный ученик | линейный ученик | dpp2.py |
dpp3-xgboost | xgboost | dpp3.py |
dpp4-xgboost | xgboost | dpp4.py |
dpp5-xgboost | xgboost | dpp5.py |
dpp6-mlp | MLP | dpp6.py |
Полный эксперимент с автопилотом состоит из двух частей. Во-первых, вам нужно запустить задания преобразования данных:
Этот шаг должен завершиться примерно через 30 минут для всех кандидатов, если вы больше не будете вносить изменения в dpp*.py
файлы.
Следующим шагом является создание наилучшего набора моделей путем настройки гиперпараметров для соответствующих алгоритмов. Гиперпараметры обычно делятся на две части: статические и настраиваемые. Статические гиперпараметры остаются неизменными на протяжении всего эксперимента для всех кандидатов, использующих один и тот же алгоритм. Эти гиперпараметры передаются в эксперимент в виде словаря. Если вы решите выбрать лучшую модель XGBoost, максимизировав AUC из трех раундов пятикратной схемы перекрестной проверки, словарь будет выглядеть следующим образом:
Для настраиваемых гиперпараметров вам нужно передать другой словарь с диапазонами и типом масштабирования:
Полный набор гиперпараметров доступен в mangrove-2013.ipynb
ноутбук.
Чтобы создать эксперимент, в котором все семь кандидатов могут быть протестированы параллельно, создайте многоалгоритмический тюнер HPO:
Целевые метрики определяются независимо для каждого алгоритма:
Пробовать все возможные значения гиперпараметров для всех экспериментов расточительно; вы можете принять байесовскую стратегию для создания тюнера HPO:
По умолчанию Autopilot выбирает в тюнере 250 заданий, чтобы выбрать лучшую модель. Для этого варианта использования достаточно установить max_jobs=50
для экономии времени и ресурсов без каких-либо существенных потерь с точки зрения выбора наилучшего набора гиперпараметров. Наконец, отправьте задание HPO следующим образом:
Процесс занимает около 80 минут на экземплярах ml.m5.4xlarge. Вы можете отслеживать ход выполнения на консоли SageMaker, выбрав Задания по настройке гиперпараметров под Обучение в навигационной панели.
Вы можете визуализировать множество полезной информации, включая производительность каждого кандидата, выбрав название выполняемой работы.
Наконец, сравните производительность модели лучших кандидатов следующим образом:
кандидат | ППК | время выполнения (с) |
dpp6-mlp | 0.96008 | 2711.0 |
dpp4-xgboost | 0.95236 | 385.0 |
dpp3-xgboost | 0.95095 | 202.0 |
dpp4-xgboost | 0.95069 | 458.0 |
dpp3-xgboost | 0.95015 | 361.0 |
Самая производительная модель, основанная на MLP, хотя и немного лучше, чем модели XGBoost с различными вариантами шагов обработки данных, также требует намного больше времени для обучения. Вы можете найти важные подробности об обучении модели MLP, включая комбинацию используемых гиперпараметров, следующим образом:
Название вакансии обучения | mangrove-2-notebook–211021-2016-012-500271c8 |
Статус обученияJobStatus | Заполненная |
Финалцеливевалуе | 0.96008 |
Время начала обучения | 2021-10-21 20:22:55+00:00 |
ОбучениеEndTime | 2021-10-21 21:08:06+00:00 |
ОбучениеElapsedTimeSeconds | 2711 |
ОбучениеJobDefinitionName | dpp6-mlp |
dropout_prob | 0.415778 |
embedding_size_factor | 0.849226 |
слоев | 256 |
Learning_rate | 0.00013862 |
mini_batch_size | 317 |
тип сети | упреждение |
вес_распад | 1.29323e-12 |
Создайте конвейер вывода
Чтобы создать вывод на основе новых данных, вы должны построить конвейер вывода в SageMaker, чтобы разместить наилучшую модель, которую можно вызвать позже для создания вывода. Для конвейерной модели SageMaker в качестве компонентов требуются три контейнера: преобразование данных, алгоритм и обратное преобразование меток (если числовые прогнозы необходимо сопоставить с нечисловыми метками). Для краткости в следующем фрагменте показана только часть необходимого кода; полный код доступен в mangrove-2013.ipynb
ноутбук:
После создания контейнеров модели вы можете построить и развернуть конвейер следующим образом:
Развертывание конечной точки занимает около 10 минут.
Получите вывод о тестовом наборе данных, используя конечную точку
После развертывания конечной точки вы можете вызвать ее с полезной нагрузкой функций B1–B7, чтобы классифицировать каждый пиксель изображения как мангровый (1) или другой (0):
Полная информация о постобработке прогнозов модели для оценки и построения графиков доступна в notebooks/model_performance.ipynb
.
Получите вывод о тестовом наборе данных с помощью пакетного преобразования
Теперь, когда вы создали наиболее эффективную модель с помощью Autopilot, мы можем использовать ее для вывода. Чтобы получить вывод о больших наборах данных, более эффективно использовать пакетное преобразование. Давайте создадим прогнозы для всего набора данных (обучения и тестирования) и добавим результаты к функциям, чтобы мы могли выполнить дальнейший анализ, например, для проверки прогнозируемых и фактических значений и распределения функций среди прогнозируемых классов.
Сначала мы создаем файл манифеста в Amazon S3, который указывает на расположение обучающих и тестовых данных из предыдущих этапов обработки данных:
Теперь мы можем создать задание пакетного преобразования. Поскольку наш входной поезд и набор тестовых данных имеют label
как последний столбец, нам нужно отбросить его во время вывода. Для этого проходим InputFilter
в DataProcessing
аргумент. Код "$[:-2]"
указывает на удаление последнего столбца. Затем прогнозируемый результат объединяется с исходными данными для дальнейшего анализа.
В следующем коде мы создаем аргументы для задания пакетного преобразования, а затем передаем create_transform_job
функция:
Вы можете отслеживать статус задания на консоли SageMaker.
Визуализация производительности модели
Теперь вы можете визуализировать производительность лучшей модели в тестовом наборе данных, состоящем из регионов Индии, Мьянмы, Кубы и Вьетнама, в виде матрицы путаницы. Модель имеет высокое значение полноты для пикселей, представляющих мангровые заросли, но точность составляет всего около 75%. Точность не мангровых или других пикселей составляет 99% с отзывом 85%. Вы можете настроить отсечку вероятности прогнозов модели, чтобы скорректировать соответствующие значения в зависимости от конкретного варианта использования.
Стоит отметить, что результаты являются значительным улучшением по сравнению со встроенной моделью smileCart.
Визуализируйте предсказания модели
Наконец, полезно наблюдать за производительностью модели в определенных регионах на карте. На следующем изображении область мангровых зарослей на границе Индии и Бангладеш выделена красным цветом. Точки, выбранные из фрагмента изображения Landsat, принадлежащего тестовому набору данных, накладываются на область, где каждая точка представляет собой пиксель, который модель определяет как представляющий мангровые заросли. Синие точки правильно классифицируются моделью, тогда как черные точки представляют ошибки модели.
На следующем изображении показаны только те точки, которые по прогнозам модели не представляют мангровые заросли, с той же цветовой схемой, что и в предыдущем примере. Серый контур — это часть участка Landsat, на которой нет мангровых зарослей. Как видно из изображения, модель не ошибается при классификации точек на воде, но сталкивается с проблемой при различении пикселей, представляющих мангровые заросли, от пикселей, представляющих обычную листву.
На следующем изображении показана производительность модели в районе мангровых зарослей Мьянмы.
На следующем изображении модель лучше справляется с идентификацией мангровых пикселей.
Убирать
Конечная точка вывода SageMaker продолжает нести расходы, если ее оставить в рабочем состоянии. Когда закончите, удалите конечную точку следующим образом:
Заключение
Эта серия постов предоставила специалистам по данным комплексную основу для решения задач ГИС. Часть 1 показал процесс ETL и удобный способ визуального взаимодействия с данными. Во второй части показано, как использовать Autopilot для автоматизации создания пользовательского классификатора мангровых зарослей.
Вы можете использовать эту структуру для изучения новых наборов спутниковых данных, содержащих более богатый набор каналов, полезных для классификации мангровых зарослей, и изучения инженерии признаков путем включения знаний в предметной области.
Об авторах
Андрей Иванович является поступающим на степень магистра компьютерных наук в Университете Торонто и недавним выпускником программы инженерных наук в Университете Торонто по специальности «Машинный интеллект» со второстепенной специальностью «Робототехника/мехатроника». Интересуется компьютерным зрением, глубоким обучением и робототехникой. Он выполнил работу, представленную в этом посте, во время летней стажировки в Amazon.
Дэвид Донг является специалистом по данным в Amazon Web Services.
Аркаджиоти Мишра является специалистом по данным в Amazon LastMile Transportation. Он увлечен применением методов компьютерного зрения для решения проблем, которые помогают земле. Он любит работать с некоммерческими организациями и является одним из основателей ekipi.org.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/part-2-identify-mangrove-forests-using-satellite-image-features-using-amazon-sagemaker-studio-and-amazon-sagemaker- автопилот/
- "
- 10
- 100
- a
- О нас
- По
- активно
- алгоритм
- алгоритмы
- Все
- Amazon
- Amazon Web Services
- среди
- анализ
- аналитика
- анализировать
- Другой
- Применение
- ПЛОЩАДЬ
- Аргументы
- около
- автоматизировать
- Автоматизированный
- автоматически
- доступен
- AWS
- , так как:
- ЛУЧШЕЕ
- Черный
- тело
- граница
- строить
- Строительство
- строит
- встроенный
- кандидат
- кандидатов
- случаев
- вызов
- выбор
- Выберите
- классов
- классификация
- классифицированный
- код
- Column
- сочетание
- комбинации
- полный
- компонент
- компоненты
- компьютер
- Информатика
- замешательство
- Консоли
- Контейнеры
- продолжается
- контроль
- Удобно
- Создайте
- создали
- создает
- Создающий
- Куба
- изготовленный на заказ
- данным
- обработка данных
- ученый данных
- глубоко
- в зависимости
- развертывание
- развернуть
- развертывание
- подробный
- подробнее
- DID
- различный
- Дисплей
- распределение
- не
- домен
- загрузок
- Падение
- в течение
- каждый
- земля
- экосистема
- Эффективный
- эффективный
- усилие
- впритык
- Конечная точка
- Проект и
- Enter
- оценка
- пример
- эксперимент
- опыта
- Больше
- лица
- Фэшн
- Особенность
- Особенности
- в заключение
- First
- следовать
- после
- следующим образом
- учредительный
- Рамки
- от
- полный
- функция
- далее
- порождать
- генерируется
- поколение
- выпускник
- серый
- инструкция
- высота
- помогает
- High
- Как
- How To
- HTTPS
- человек
- определения
- идентифицирующий
- изображение
- важную
- улучшение
- включают
- В том числе
- самостоятельно
- Индия
- информация
- вход
- пример
- Интеллекта
- интерактивный
- заинтересованный
- IT
- работа
- Джобс
- присоединился
- Сохранить
- знания
- известный
- этикетка
- Этикетки
- большой
- изучение
- линия
- Список
- локальным
- расположение
- места
- машина
- обучение с помощью машины
- основной
- сделать
- карта
- магистра
- матрица
- Вопрос
- член
- Метрика
- ошибки
- ML
- модель
- Модели
- монитор
- БОЛЕЕ
- с разными
- Мьянма
- Навигация
- необходимо
- следующий
- некоммерческий
- ноутбук
- Откроется
- оптимизация
- Опции
- организации
- Другое
- собственный
- часть
- особый
- страстный
- Патчи
- производительность
- выступления
- выполнения
- пилот
- Точка
- пунктов
- бассейн
- возможное
- Блог
- Predictions
- предыдущий
- Проблема
- проблемам
- процесс
- обработка
- FitPartner™
- при условии
- приводит
- причины
- последний
- уменьшить
- область
- регулярный
- оставаться
- хранилище
- представлять
- представляющий
- запросить
- обязательный
- требуется
- исследователи
- Полезные ресурсы
- Итоги
- робототехника
- Роли
- туры
- Run
- Бег
- то же
- спутник
- Сохранить
- масштабирование
- схема
- Наука
- Ученый
- Ученые
- выбор
- Серии
- Услуги
- набор
- установка
- несколько
- Поделиться
- показывать
- показанный
- подпись
- значительный
- просто
- Размер
- So
- твердый
- Решение
- РЕШАТЬ
- конкретный
- стоять
- Статус:
- диск
- магазин
- Стратегия
- "Студент"
- студия
- предмет
- лето
- система
- задачи
- снижения вреда
- terms
- тестXNUMX
- Ассоциация
- Источник
- мир
- три
- Через
- по всему
- время
- топ
- топ 5
- Торонто
- Обучение
- Transform
- трансформация
- преобразований
- трансфер
- под
- Университет
- использование
- обычно
- Проверка
- ценностное
- различный
- версия
- видение
- визуализация
- Вода
- Web
- веб-сервисы
- в то время как
- КТО
- без
- Работа
- Мир
- стоимость
- X
- ВАШЕ