Lasy namorzynowe są ważną częścią zdrowego ekosystemu, a działalność człowieka jest jedną z głównych przyczyn ich stopniowego zanikania z wybrzeży na całym świecie. Wykorzystanie modelu uczenia maszynowego (ML) do identyfikacji obszarów namorzynowych na podstawie obrazu satelitarnego daje naukowcom skuteczny sposób monitorowania wielkości lasów w czasie. W Część 1 z tej serii pokazaliśmy, jak w sposób zautomatyzowany gromadzić dane satelitarne i analizować je w Studio Amazon SageMaker z interaktywną wizualizacją. W tym poście pokazujemy, jak korzystać Autopilot Amazon SageMaker aby zautomatyzować proces budowania niestandardowego klasyfikatora mangrowego.
Trenuj modelkę za pomocą Autopilota
Autopilot zapewnia zrównoważony sposób budowania kilku modeli i wybierania najlepszego. Podczas tworzenia wielu kombinacji różnych technik wstępnego przetwarzania danych i modeli ML przy minimalnym nakładzie pracy, Autopilot zapewnia w razie potrzeby pełną kontrolę nad tymi etapami komponentów.
Możesz korzystać z Autopilota za pomocą jednego z pakietów AWS SDK (szczegóły dostępne w Przewodnik po interfejsie API dla Autopilota) lub przez Studio. Używamy Autopilota w naszym rozwiązaniu Studio, wykonując czynności opisane w tej sekcji:
- Na stronie programu Studio Launcher wybierz znak plus dla Nowy eksperyment z autopilotem.
- W razie zamówieenia projektu Połącz swoje dane, Wybierz Znajdź wiadro S3i wprowadź nazwę zasobnika, w którym przechowywane są zestawy danych treningowych i testowych.
- W razie zamówieenia projektu Nazwa pliku zbioru danych, wprowadź nazwę pliku danych treningowych, który utworzyłeś w Przygotuj dane treningowe sekcja w Część 1.
- W razie zamówieenia projektu Lokalizacja danych wyjściowych (zasobnik S3), wpisz tę samą nazwę zasobnika co w kroku 2.
- W razie zamówieenia projektu Nazwa katalogu zbioru danych, wprowadź nazwę folderu w zasobniku, w którym Autopilot ma przechowywać artefakty.
- W razie zamówieenia projektu Czy twoje wejście S3 jest plikiem manifestu?wybierz poza.
- W razie zamówieenia projektu celwybierz etykieta.
- W razie zamówieenia projektu Automatyczne wdrażaniewybierz poza.
- Pod ustawienia zaawansowane, Dla Typ problemu uczenia maszynowegowybierz Klasyfikacja binarna.
- W razie zamówieenia projektu Miernik celuwybierz AUC.
- W razie zamówieenia projektu Wybierz sposób przeprowadzenia eksperymentuwybierz Nie, uruchom pilotaż, aby utworzyć notatnik z definicjami kandydatów.
- Dodaj Utwórz eksperyment.
Aby uzyskać więcej informacji o tworzeniu eksperymentu, zobacz Utwórz eksperyment Amazon SageMaker Autopilot.Uruchomienie tego kroku może zająć około 15 minut. - Po zakończeniu wybierz Otwórz notatnik generacji kandydatów, który otwiera nowy notes w trybie tylko do odczytu.
- Dodaj Importuj notatnik aby zeszyt był edytowalny.
- W przypadku obrazu wybierz Nauka danych.
- W razie zamówieenia projektu Jądrowybierz Python 3.
- Dodaj Wybierz.
Ten automatycznie generowany notatnik zawiera szczegółowe objaśnienia i zapewnia pełną kontrolę nad rzeczywistym zadaniem budowania modelu. Niestandardowa wersja notatnik, gdzie klasyfikator jest szkolony z wykorzystaniem pasm satelitarnych Landsat z 2013 roku, jest dostępny w repozytorium kodów pod notebooks/mangrove-2013.ipynb
.
Struktura budowania modelu składa się z dwóch części: transformacji cech w ramach etapu przetwarzania danych oraz optymalizacji hiperparametrów (HPO) w ramach etapu wyboru modelu. Wszystkie niezbędne artefakty do tych zadań zostały stworzone podczas eksperymentu Autopilot i zapisane w Usługa Amazon Simple Storage (Amazonka S3). Pierwsza komórka notebooka pobiera te artefakty z Amazon S3 do lokalnego Amazon Sage Maker system plików do wglądu i wszelkich niezbędnych modyfikacji. Istnieją dwa foldery: generated_module
i sagemaker_automl
, gdzie przechowywane są wszystkie moduły Pythona i skrypty niezbędne do uruchomienia notatnika. Różne etapy transformacji funkcji, takie jak imputacja, skalowanie i PCA, są zapisywane jako generated_modules/candidate_data_processors/dpp*.py.
Autopilot tworzy trzy różne modele w oparciu o algorytmy XGBoost, liniowego uczącego się i wielowarstwowego perceptronu (MLP). Potok kandydatów składa się z jednej z opcji transformacji funkcji, znanej jako data_transformer
i algorytm. Potok jest słownikiem Pythona i można go zdefiniować w następujący sposób:
W tym przykładzie potok przekształca dane treningowe zgodnie ze skryptem w generated_modules/candidate_data_processors/dpp5.py
i buduje model XGBoost. W tym miejscu Autopilot zapewnia pełną kontrolę naukowcom zajmującym się danymi, którzy mogą wybrać automatycznie generowane etapy transformacji cech i wyboru modelu lub stworzyć własną kombinację.
Możesz teraz dodać potok do puli, aby Autopilot uruchomił eksperyment w następujący sposób:
Jest to ważny krok, w którym możesz zdecydować się na zachowanie tylko podzbioru kandydatów sugerowanych przez Autopilota, w oparciu o wiedzę merytoryczną, aby skrócić całkowity czas działania. Na razie zachowaj wszystkie sugestie Autopilota, które możesz wymienić w następujący sposób:
imię kandydata | Algorytm | Transformator funkcji |
dpp0-xgboost | xgboost | dpp0.py |
dpp1-xgboost | xgboost | dpp1.py |
dpp2-linear-uczeń | liniowy-uczeń | dpp2.py |
dpp3-xgboost | xgboost | dpp3.py |
dpp4-xgboost | xgboost | dpp4.py |
dpp5-xgboost | xgboost | dpp5.py |
dpp6-mlp | mlp | dpp6.py |
Pełny eksperyment Autopilot składa się z dwóch części. Najpierw musisz uruchomić zadania transformacji danych:
Ten krok powinien zakończyć się w około 30 minut dla wszystkich kandydatów, jeśli nie wprowadzisz dalszych zmian w dpp*.py
akta.
Następnym krokiem jest zbudowanie najlepszego zestawu modeli poprzez dostrojenie hiperparametrów do odpowiednich algorytmów. Hiperparametry są zwykle podzielone na dwie części: statyczną i przestrajalną. Hiperparametry statyczne pozostają niezmienione przez cały eksperyment dla wszystkich kandydatów korzystających z tego samego algorytmu. Te hiperparametry są przekazywane do eksperymentu jako słownik. Jeśli zdecydujesz się wybrać najlepszy model XGBoost, maksymalizując AUC z trzech rund pięciokrotnego schematu walidacji krzyżowej, słownik wygląda następująco:
Dla przestrajalnych hiperparametrów musisz przekazać inny słownik z zakresami i typem skalowania:
Kompletny zestaw hiperparametrów jest dostępny w mangrove-2013.ipynb
notatnik.
Aby stworzyć eksperyment, w którym wszystkich siedmiu kandydatów można przetestować równolegle, utwórz wieloalgorytmowy tuner HPO:
Miary celu są definiowane niezależnie dla każdego algorytmu:
Próbowanie wszystkich możliwych wartości hiperparametrów we wszystkich eksperymentach jest marnotrawstwem; możesz przyjąć strategię bayesowską, aby stworzyć tuner HPO:
W ustawieniach domyślnych Autopilot wybiera w tunerze 250 zadań, aby wybrać najlepszy model. W tym przypadku wystarczy ustawić max_jobs=50
aby zaoszczędzić czas i zasoby, bez znaczącej kary w zakresie doboru najlepszego zestawu hiperparametrów. Na koniec prześlij zadanie HPO w następujący sposób:
Proces trwa około 80 minut na instancjach ml.m5.4xlarge. Możesz monitorować postępy w konsoli SageMaker, wybierając Zadania dostrajania hiperparametrów dla Trening w okienku nawigacji.
Możesz zwizualizować szereg przydatnych informacji, w tym wydajność każdego kandydata, wybierając nazwę pracy w toku.
Na koniec porównaj wydajność modelu najlepszych kandydatów w następujący sposób:
kandydat | AUC | czas_pracy (s) |
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 |
Najwydajniejszy model oparty na MLP, choć nieznacznie lepszy niż modele XGBoost z różnymi opcjami etapów przetwarzania danych, również zajmuje dużo więcej czasu na trenowanie. Ważne szczegóły dotyczące uczenia modelu MLP, w tym kombinację użytych hiperparametrów, można znaleźć w następujący sposób:
Szkolenia JobName | mangrove-2-notebook–211021-2016-012-500271c8 |
SzkolenieStatus pracy | Zakończony |
Końcowa wartość zamierzenia | 0.96008 |
SzkolenieCzasRozpoczęcia | 2021-10-21 20:22:55+00:00 |
SzkolenieCzasZakończenia | 2021-10-21 21:08:06+00:00 |
Czas trwania szkoleniaSekundy | 2711 |
SzkolenieJobDefinicjaNazwa | dpp6-mlp |
problem_porzucenia | 0.415778 |
współczynnik_rozmiaru osadzania | 0.849226 |
nioski | 256 |
wskaźnik_nauczenia | 0.00013862 |
mini_wielkość_wsadu | 317 |
typ sieci | naprzód |
spadek_wagi | 1.29323e-12 |
Utwórz potok wnioskowania
Aby wygenerować wnioskowanie na nowych danych, musisz skonstruować potok wnioskowania w programie SageMaker, który będzie hostował najlepszy model, który można później wywołać w celu wygenerowania wnioskowania. Model potoku SageMaker wymaga trzech kontenerów jako składników: transformacji danych, algorytmu i odwróconej transformacji etykiety (jeśli prognozy liczbowe muszą być mapowane na etykiety nienumeryczne). Dla zwięzłości, tylko część wymaganego kodu jest pokazana w poniższym fragmencie; pełny kod jest dostępny w mangrove-2013.ipynb
notatnik:
Po skompilowaniu kontenerów modelu możesz skonstruować i wdrożyć potok w następujący sposób:
Wdrożenie punktu końcowego zajmuje około 10 minut.
Uzyskaj wnioskowanie na temat testowego zbioru danych za pomocą punktu końcowego
Po wdrożeniu punktu końcowego można go wywołać z ładunkiem funkcji B1–B7, aby sklasyfikować każdy piksel na obrazie jako namorzyn (1) lub inny (0):
Pełne informacje na temat przetwarzania końcowego prognoz modelu do oceny i wykreślania są dostępne w notebooks/model_performance.ipynb
.
Uzyskaj wnioskowanie o testowym zbiorze danych za pomocą transformacji wsadowej
Po utworzeniu najlepszego modelu za pomocą Autopilota możemy użyć modelu do wnioskowania. Aby uzyskać wnioskowanie na temat dużych zestawów danych, bardziej wydajne jest użycie przekształcenia wsadowego. Wygenerujmy predykcje na całym zbiorze danych (uczenie i test) i dołączmy wyniki do cech, abyśmy mogli przeprowadzić dalszą analizę, aby na przykład sprawdzić przewidywane vs rzeczywiste i rozkład cech wśród przewidywanych klas.
Najpierw tworzymy plik manifestu w Amazon S3, który wskazuje lokalizacje danych treningowych i testowych z poprzednich etapów przetwarzania danych:
Teraz możemy utworzyć zadanie transformacji wsadowej. Ponieważ nasz pociąg wejściowy i zestaw danych testowych mają label
jako ostatnią kolumnę musimy ją usunąć podczas wnioskowania. Aby to zrobić, mijamy InputFilter
DataProcessing
argument. Kod "$[:-2]"
wskazuje opuszczenie ostatniej kolumny. Przewidywane dane wyjściowe są następnie łączone z danymi źródłowymi do dalszej analizy.
W poniższym kodzie konstruujemy argumenty dla zadania transformacji wsadowej, a następnie przekazujemy do create_transform_job
funkcjonować:
Możesz monitorować status zadania w konsoli SageMaker.
Wizualizuj wydajność modelu
Możesz teraz zwizualizować wydajność najlepszego modelu w testowym zestawie danych, składającym się z regionów z Indii, Birmy, Kuby i Wietnamu jako macierz pomyłek. Model ma wysoką wartość przywracania pikseli reprezentujących namorzyny, ale precyzję tylko około 75%. Dokładność pikseli innych niż namorzynowe lub innych wynosi 99%, a przypomnienie 85%. Możesz dostroić granicę prawdopodobieństwa prognoz modelu, aby dostosować odpowiednie wartości w zależności od konkretnego przypadku użycia.
Warto zauważyć, że wyniki są znaczną poprawą w stosunku do wbudowanego modelu smileCart.
Wizualizuj prognozy modelu
Na koniec warto obserwować wydajność modelu w określonych regionach na mapie. Na poniższym obrazku obszar namorzynowy na granicy Indii i Bangladeszu jest zaznaczony na czerwono. Punkty pobrane z płata obrazu Landsat należące do zestawu danych testowych nakładają się na region, w którym każdy punkt jest pikselem, który model określa jako reprezentujący namorzyny. Niebieskie punkty są poprawnie klasyfikowane przez model, podczas gdy czarne punkty reprezentują błędy modelu.
Poniższy obraz przedstawia tylko te punkty, które według przewidywań modelu nie reprezentują namorzynów, z tym samym schematem kolorów, co w poprzednim przykładzie. Szary kontur to część łaty Landsata, która nie zawiera żadnych namorzynów. Jak widać na obrazku, model nie popełnia żadnego błędu przy klasyfikowaniu punktów na wodzie, ale ma trudności z odróżnieniem pikseli reprezentujących namorzyny od tych reprezentujących zwykłe liście.
Poniższy rysunek przedstawia wydajność modelu w regionie namorzynów Myanmar.
Na poniższym obrazku model lepiej radzi sobie z identyfikacją pikseli mangrowych.
Sprzątać
Punkt końcowy wnioskowania SageMaker nadal generuje koszty, jeśli pozostanie uruchomiony. Po zakończeniu usuń punkt końcowy w następujący sposób:
Wnioski
Ta seria postów zapewniła kompleksowe ramy dla naukowców zajmujących się danymi do rozwiązywania problemów GIS. Część 1 pokazał proces ETL i wygodny sposób wizualnej interakcji z danymi. Część 2 pokazała, jak używać Autopilota do automatyzacji budowania niestandardowego klasyfikatora namorzynowego.
Możesz użyć tej struktury do eksploracji nowych zestawów danych satelitarnych zawierających bogatszy zestaw pasm przydatnych do klasyfikacji namorzynów i eksploracji inżynierii cech poprzez włączenie wiedzy dziedzinowej.
O autorach
Andriej Iwanowicz jest studentem studiów magisterskich na kierunku Informatyka na Uniwersytecie w Toronto i niedawnym absolwentem programu Inżynierii Nauki na Uniwersytecie w Toronto, na kierunku Inteligencja Maszynowa ze specjalizacją Robotyka/Mechatronika. Interesuje się widzeniem komputerowym, głębokim uczeniem i robotyką. Prace przedstawione w tym poście wykonał podczas letniego stażu w Amazon.
Dawid Dong jest analitykiem danych w Amazon Web Services.
Arkayoti Misra jest analitykiem danych w Amazon LastMile Transportation. Jest pasjonatem stosowania technik widzenia komputerowego do rozwiązywania problemów, które pomagają Ziemi. Uwielbia pracować z organizacjami non-profit i jest członkiem-założycielem ekipi.org.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/part-2-identify-mangrove-forests-using-satellite-image-features-using-amazon-sagemaker-studio-and-amazon-sagemaker- autopilot/
- "
- 10
- 100
- a
- O nas
- Stosownie
- zajęcia
- algorytm
- Algorytmy
- Wszystkie kategorie
- Amazonka
- Amazon Web Services
- wśród
- analiza
- analityka
- w czasie rzeczywistym sprawiają,
- Inne
- Stosowanie
- POWIERZCHNIA
- argumenty
- na około
- zautomatyzować
- zautomatyzowane
- automatycznie
- dostępny
- AWS
- bo
- BEST
- Czarny
- ciało
- granica
- budować
- Budowanie
- Buduje
- wbudowany
- kandydat
- kandydatów
- walizka
- wyzwanie
- wybory
- Dodaj
- Klasy
- klasyfikacja
- sklasyfikowany
- kod
- Kolumna
- połączenie
- kombinacje
- kompletny
- składnik
- składniki
- komputer
- Computer Science
- zamieszanie
- Konsola
- Pojemniki
- ciągły
- kontrola
- Wygodny
- Stwórz
- stworzony
- tworzy
- Tworzenie
- Cuba
- zwyczaj
- dane
- analiza danych
- naukowiec danych
- głęboko
- W zależności
- rozwijać
- wdrażane
- Wdrożenie
- szczegółowe
- detale
- ZROBIŁ
- różne
- Wyświetlacz
- 分配
- Nie
- domena
- pliki do pobrania
- Spadek
- podczas
- każdy
- Ziemia
- Ekosystem
- Efektywne
- wydajny
- wysiłek
- koniec końców
- Punkt końcowy
- Inżynieria
- Wchodzę
- ewaluację
- przykład
- eksperyment
- ekspertyza
- odkryj
- twarze
- Moda
- Cecha
- Korzyści
- W końcu
- i terminów, a
- obserwuj
- następujący
- następujący sposób
- założenie
- Framework
- od
- pełny
- funkcjonować
- dalej
- Generować
- wygenerowane
- generacja
- absolwent
- szary
- poprowadzi
- wysokość
- pomaga
- Wysoki
- W jaki sposób
- How To
- HTTPS
- człowiek
- zidentyfikować
- identyfikacja
- obraz
- ważny
- poprawa
- zawierać
- Włącznie z
- niezależnie
- Indie
- Informacja
- wkład
- przykład
- Inteligencja
- interaktywne
- zainteresowany
- IT
- Praca
- Oferty pracy
- Dołączył
- Trzymać
- wiedza
- znany
- Etykieta
- Etykiety
- duży
- nauka
- Linia
- Lista
- miejscowy
- lokalizacja
- lokalizacji
- maszyna
- uczenie maszynowe
- poważny
- robić
- mapa
- mistrzowski
- Matrix
- Materia
- członek
- Metryka
- błędy
- ML
- model
- modele
- monitor
- jeszcze
- wielokrotność
- Myanmar
- Nawigacja
- niezbędny
- Następny
- niedochodowy
- notatnik
- otwiera
- optymalizacja
- Opcje
- organizacji
- Inne
- własny
- część
- szczególny
- namiętny
- Łata
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- spektakle
- wykonywania
- pilot
- punkt
- zwrotnica
- basen
- możliwy
- Wiadomości
- Przewidywania
- poprzedni
- Problem
- problemy
- wygląda tak
- przetwarzanie
- Program
- pod warunkiem,
- zapewnia
- Przyczyny
- niedawny
- zmniejszyć
- region
- regularny
- pozostawać
- składnica
- reprezentować
- reprezentowanie
- zażądać
- wymagany
- Wymaga
- Badacze
- Zasoby
- Efekt
- robotyka
- Rola
- rundy
- run
- bieganie
- taki sam
- satelita
- Zapisz
- skalowaniem
- schemat
- nauka
- Naukowiec
- Naukowcy
- wybór
- Serie
- Usługi
- zestaw
- ustawienie
- kilka
- Share
- pokazać
- pokazane
- znak
- znaczący
- Prosty
- Rozmiar
- So
- solidny
- rozwiązanie
- ROZWIĄZANIA
- specyficzny
- stoisko
- Rynek
- przechowywanie
- sklep
- Strategia
- student
- studio
- przedmiot
- lato
- system
- zadania
- Techniki
- REGULAMIN
- test
- Połączenia
- Źródło
- świat
- trzy
- Przez
- poprzez
- czas
- Top
- top 5
- Toronto
- Trening
- Przekształcać
- Transformacja
- przemiany
- transport
- dla
- uniwersytet
- posługiwać się
- zazwyczaj
- uprawomocnienie
- wartość
- różnorodny
- wersja
- wizja
- wyobrażanie sobie
- Woda
- sieć
- usługi internetowe
- Podczas
- KIM
- bez
- Praca
- świat
- wartość
- X
- Twój