Мангрові ліси є невід'ємною частиною здорової екосистеми, а діяльність людини є однією з основних причин їх поступового зникнення з берегових ліній по всьому світу. Використання моделі машинного навчання (ML) для визначення мангрових заростей на супутниковому знімку дає дослідникам ефективний спосіб відстежувати розміри лісів з часом. в Частина 1 з цієї серії ми показали, як автоматизовано збирати супутникові дані та аналізувати їх Студія Amazon SageMaker з інтерактивною візуалізацією. У цій публікації ми покажемо, як користуватися Автопілот Amazon SageMaker автоматизувати процес створення спеціального класифікатора мангрових дерев.
Навчайте модель за допомогою автопілота
Автопілот забезпечує збалансований спосіб побудови кількох моделей та вибору найкращої. Створюючи кілька комбінацій різних методів попередньої обробки даних і моделей машинного навчання з мінімальними зусиллями, Autopilot забезпечує повний контроль над цими етапами компонентів досліднику даних, якщо це потрібно.
Ви можете використовувати автопілот за допомогою одного з пакетів SDK AWS (докладні відомості доступні в Довідковий посібник API для автопілота) або через Studio. Ми використовуємо автопілот у нашому рішенні Studio, дотримуючись кроків, описаних у цьому розділі:
- На сторінці запуску Studio виберіть знак плюс Новий експеримент автопілота.
- для Підключіть свої данівиберіть Знайдіть відро S3, і введіть назву сегмента, у якому ви зберігали набори даних для навчання та тестування.
- для Ім'я файлу набору даних, введіть назву створеного вами файлу даних тренування Підготуйте дані для навчання розділ в Частина 1.
- для Розташування вихідних даних (відро S3), введіть ту саму назву сегмента, яку ви використовували на кроці 2.
- для Ім'я каталогу набору даних, введіть ім’я папки під сегментом, у якому потрібно зберігати артефакти Autopilot.
- для Ваш вхід S3 є файлом маніфесту?виберіть від.
- для Метавиберіть етикетка.
- для Автоматичне розгортаннявиберіть від.
- Відповідно до додаткові настройки, Для Тип проблеми машинного навчаннявиберіть Бінарна класифікація.
- для Об'єктивна метрикавиберіть AUC.
- для Виберіть спосіб проведення експериментувиберіть Ні, запустіть пілот, щоб створити блокнот із визначеннями кандидатів.
- Вибирати Створити експеримент.
Додаткову інформацію про створення експерименту див Створіть експеримент Amazon SageMaker Autopilot.Виконання цього кроку може зайняти близько 15 хвилин. - Після завершення виберіть Відкрити блокнот генерації кандидатів, що відкриває новий блокнот у режимі лише для читання.
- Вибирати Імпорт блокнота щоб зробити блокнот доступним для редагування.
- Для зображення виберіть наука даних.
- для Ядровиберіть Python 3.
- Вибирати Select.
Цей автоматично згенерований блокнот має детальні пояснення та забезпечує повний контроль над фактичним завданням створення моделі. Індивідуальна версія ноутбук, де з 2013 року класифікатор навчається за допомогою супутникових діапазонів Landsat, доступний у сховищі кодів у розділі notebooks/mangrove-2013.ipynb
.
Структура побудови моделі складається з двох частин: перетворення ознак як частина етапу обробки даних і оптимізація гіперпараметрів (HPO) як частина етапу вибору моделі. Усі необхідні артефакти для виконання цих завдань були створені під час експерименту Автопілот і збережені в Служба простого зберігання Amazon (Amazon S3). Перша клітинка ноутбука завантажує ці артефакти з Amazon S3 до локальної мережі Amazon SageMaker файлову систему для перевірки та будь-яких необхідних змін. Є дві папки: 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:
У налаштуваннях за замовчуванням автопілот вибирає 250 завдань у тюнері, щоб вибрати найкращу модель. Для цього випадку достатньо встановити max_jobs=50
щоб заощадити час і ресурси, без значних покарань з точки зору вибору найкращого набору гіперпараметрів. Нарешті, подайте роботу HPO так:
Процес займає близько 80 хвилин на ml.m5.4xlarge екземплярах. Ви можете стежити за прогресом на консолі SageMaker, вибравши Роботи з налаштування гіперпараметрів при Навчання у навігаційній панелі.
Ви можете візуалізувати безліч корисної інформації, включаючи результати роботи кожного кандидата, вибравши назву роботи, яка виконується.
Нарешті, порівняйте продуктивність моделі найкращих кандидатів таким чином:
кандидат | AUC | час виконання (с) |
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, включаючи комбінацію використовуваних гіперпараметрів, як показано нижче:
TrainingJobName | mangrove-2-notebook–211021-2016-012-500271c8 |
TrainingJobStatus | Зроблено |
FinalObjectiveValue | 0.96008 |
Час початку навчання | 2021-10-21 20:22:55+00:00 |
TrainingEndTime | 2021-10-21 21:08:06+00:00 |
TrainingElapsedTimeSeconds | 2711 |
TrainingJobDefinitionName | dpp6-mlp |
dropout_prob | 0.415778 |
коефіцієнт_розміру_вбудовування | 0.849226 |
шарів | 256 |
швидкість_навчання | 0.00013862 |
mini_batch_size | 317 |
тип_мережі | подавати |
вага_розпад | 1.29323е-12 |
Створіть конвеєр висновку
Щоб створити висновки на основі нових даних, вам потрібно побудувати конвеєр висновку на SageMaker для розміщення найкращої моделі, яку можна буде викликати пізніше для створення висновку. Модель конвеєра SageMaker потребує трьох контейнерів як своїх компонентів: перетворення даних, алгоритму та зворотного перетворення міток (якщо числові передбачення необхідно зіставити з нечисловими мітками). Для стислості в наступному фрагменті показано лише частину необхідного коду; повний код доступний у mangrove-2013.ipynb
ноутбук:
Після того, як контейнери моделі побудовані, ви можете побудувати та розгорнути конвеєр наступним чином:
Розгортання кінцевої точки займає близько 10 хвилин.
Отримайте висновки про тестовий набір даних за допомогою кінцевої точки
Після розгортання кінцевої точки ви можете викликати її з корисним навантаженням функцій B1–B7, щоб класифікувати кожен піксель на зображенні як мангровий (1) або інший (0):
Повна інформація про постобробку прогнозів моделі для оцінки та побудови графіка доступна в notebooks/model_performance.ipynb
.
Отримайте висновки про тестовий набір даних за допомогою пакетного перетворення
Тепер, коли ви створили найефективнішу модель з автопілотом, ми можемо використовувати модель для висновку. Щоб отримати висновки про великі набори даних, ефективніше використовувати пакетне перетворення. Давайте згенеруємо прогнози для всього набору даних (навчальні та тестові) та додамо результати до об’єктів, щоб ми могли виконати подальший аналіз, щоб, наприклад, перевірити прогнозовані та фактичні показники та розподіл функцій між передбаченими класами.
Спочатку ми створюємо файл маніфесту в Amazon S3, який вказує на розташування даних навчання та тестування з попередніх кроків обробки даних:
Тепер ми можемо створити завдання пакетного перетворення. Оскільки наш вхідний поїзд і тестовий набір даних мають label
як останній стовпець, нам потрібно скинути його під час висновку. Для цього проходимо InputFilter
в DataProcessing
аргумент. Код "$[:-2]"
вказує на видалення останнього стовпця. Прогнозований результат потім поєднується з вихідними даними для подальшого аналізу.
У наступному коді ми створюємо аргументи для завдання пакетного перетворення, а потім переходимо до create_transform_job
функція:
Ви можете стежити за станом завдання на консолі SageMaker.
Візуалізуйте продуктивність моделі
Тепер ви можете візуалізувати продуктивність найкращої моделі на тестовому наборі даних, що складається з регіонів з Індії, М’янми, Куби та В’єтнаму, як матриця плутанини. Модель має високу цінність відкликання пікселів, що представляють мангрові зарості, але лише з точністю близько 75%. Точність пікселів, які не є мангровими або іншими пікселями, становить 99% з 85% відкликанням. Ви можете налаштувати обмеження ймовірності прогнозів моделі, щоб налаштувати відповідні значення залежно від конкретного випадку використання.
Варто відзначити, що результати є значним покращенням порівняно з вбудованою моделлю smileCart.
Візуалізуйте передбачення моделі
Нарешті, корисно спостерігати за продуктивністю моделі в окремих регіонах на карті. На наступному зображенні область мангрових заростей на кордоні Індії та Бангладеш зображена червоним кольором. Точки, відібрані з фрагмента зображення Landsat, що належить до тестового набору даних, накладаються на область, де кожна точка є пікселем, який модель визначає як мангрові ліси. Сині точки правильно класифікуються моделлю, тоді як чорні точки представляють помилки моделі.
На наступному зображенні показано лише ті точки, які, за прогнозами моделі, не відображатимуть мангрові зарості, з тією ж колірною схемою, що й у попередньому прикладі. Сірий контур – це частина ділянки Landsat, яка не містить мангрових заростей. Як видно із зображення, модель не робить жодної помилки, класифікуючи точки на воді, але стикається з проблемою, коли відрізнити пікселі, що представляють мангрові зарості, від тих, що представляють звичайне листя.
На наступному зображенні показано продуктивність моделі в мангровому регіоні М’янми.
На наступному зображенні модель краще справляється з визначенням пікселів мангрових заростей.
Прибирати
Кінцева точка висновку SageMaker продовжує нести витрати, якщо залишити її працювати. Видаліть кінцеву точку таким чином, коли ви закінчите:
Висновок
Ця серія дописів надала наскрізну структуру для науковців з даних для вирішення проблем ГІС. Частина 1 показав процес ETL та зручний спосіб візуальної взаємодії з даними. Частина 2 показала, як використовувати автопілот для автоматизації створення спеціального класифікатора мангрових дерев.
Ви можете використовувати цю структуру, щоб досліджувати нові набори супутникових даних, що містять багатший набір смуг, корисних для класифікації мангрових заростей, і досліджувати інженерію ознак, включаючи знання предметної області.
Про авторів
Андрій Іванович є майбутнім студентом магістра комп’ютерних наук в Університеті Торонто та нещодавно закінчив програму інженерних наук в Університеті Торонто за спеціальністю «Машинний інтелект» з робототехнікою/мехатронікою. Його цікавлять комп’ютерний зір, глибоке навчання та робототехніка. Він виконав роботу, представлену в цій публікації, під час свого літнього стажування в Amazon.
Девід Донг є дослідником даних у Amazon Web Services.
Аркаджоті Місра є дослідником даних у Amazon LastMile Transportation. Він захоплений застосуванням техніки комп’ютерного зору для вирішення проблем, які допомагають Землі. Він любить працювати з неприбутковими організаціями і є одним із засновників ekipi.org.
- Coinsmart. Найкраща в Європі біржа біткойн та криптовалют.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. БЕЗКОШТОВНИЙ ДОСТУП.
- CryptoHawk. Альткойн Радар. Безкоштовне випробування.
- Джерело: 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
- оскільки
- КРАЩЕ
- Black
- тіло
- border
- будувати
- Створюємо
- Будує
- вбудований
- кандидат
- кандидатів
- випадок
- виклик
- вибір
- Вибирати
- класів
- класифікація
- класифікований
- код
- Колонка
- поєднання
- комбінації
- повний
- компонент
- Компоненти
- комп'ютер
- Інформатика
- замішання
- Консоль
- Контейнери
- триває
- контроль
- Зручний
- створювати
- створений
- створює
- створення
- Cuba
- виготовлений на замовлення
- дані
- обробка даних
- вчений даних
- глибокий
- Залежно
- розгортання
- розгорнути
- розгортання
- докладно
- деталі
- DID
- різний
- дисплей
- розподіл
- Ні
- домен
- завантажень
- Падіння
- під час
- кожен
- земля
- екосистема
- Ефективний
- ефективний
- зусилля
- кінець в кінець
- Кінцева точка
- Машинобудування
- Що натомість? Створіть віртуальну версію себе у
- оцінка
- приклад
- експеримент
- експертиза
- дослідити
- особи
- мода
- особливість
- риси
- в кінці кінців
- Перший
- стежити
- після
- слідує
- заснування
- Рамки
- від
- Повний
- функція
- далі
- породжувати
- генерується
- покоління
- випускник
- сірий
- керівництво
- висота
- допомагає
- Високий
- Як
- How To
- HTTPS
- людина
- ідентифікувати
- ідентифікує
- зображення
- важливо
- поліпшення
- включати
- У тому числі
- самостійно
- Індію
- інформація
- вхід
- екземпляр
- Інтелект
- інтерактивний
- зацікавлений
- IT
- робота
- Джобс
- приєднався
- тримати
- знання
- відомий
- етикетка
- етикетки
- великий
- вивчення
- Лінія
- список
- місцевий
- розташування
- місць
- машина
- навчання за допомогою машини
- основний
- зробити
- карта
- магістра
- Матриця
- Матерія
- член
- Метрика
- помилки
- ML
- модель
- Моделі
- монітор
- більше
- множинний
- М'янма
- навігація
- необхідно
- наступний
- некомерційний
- ноутбук
- Відкриється
- оптимізація
- Опції
- організації
- Інше
- власний
- частина
- приватність
- пристрасний
- пластир
- продуктивність
- виступи
- виконанні
- пілот
- точка
- точок
- басейн
- це можливо
- Пости
- Прогнози
- попередній
- Проблема
- проблеми
- процес
- обробка
- програма
- за умови
- забезпечує
- Причини
- останній
- зменшити
- регіон
- регулярний
- залишатися
- Сховище
- представляти
- представляє
- запросити
- вимагається
- Вимагається
- Дослідники
- ресурси
- результати
- робототехніка
- Роль
- турів
- прогін
- біг
- то ж
- супутник
- зберегти
- Масштабування
- схема
- наука
- вчений
- Вчені
- вибір
- Серія
- Послуги
- комплект
- установка
- кілька
- Поділитись
- Показувати
- показаний
- підпис
- значний
- простий
- Розмір
- So
- solid
- рішення
- ВИРІШИТИ
- конкретний
- стояти
- Статус
- зберігання
- зберігати
- Стратегія
- студент
- студія
- тема
- літо
- система
- завдання
- методи
- terms
- тест
- Команда
- Джерело
- світ
- три
- через
- по всьому
- час
- топ
- топ 5
- Торонто
- Навчання
- Перетворення
- Перетворення
- перетворень
- транспорт
- при
- університет
- використання
- зазвичай
- перевірка достовірності
- значення
- різний
- версія
- бачення
- візуалізації
- вода
- Web
- веб-сервіси
- в той час як
- ВООЗ
- без
- Work
- світ
- вартість
- X
- вашу