Mangrovi gozdovi so uvoženi del zdravega ekosistema in človekove dejavnosti so eden glavnih razlogov za njihovo postopno izginjanje z obal po vsem svetu. Uporaba modela strojnega učenja (ML) za prepoznavanje območij mangrov iz satelitske slike daje raziskovalcem učinkovit način za spremljanje velikosti gozdov skozi čas. notri Del 1 v tej seriji smo pokazali, kako samodejno zbirati satelitske podatke in jih analizirati Amazon SageMaker Studio z interaktivno vizualizacijo. V tej objavi pokažemo, kako uporabljati Amazonski SageMaker avtopilot za avtomatizacijo postopka izdelave klasifikatorja mangrove po meri.
Usposobite model z avtopilotom
Avtopilot zagotavlja uravnotežen način sestavljanja več modelov in izbire najboljšega. Medtem ko ustvarja več kombinacij različnih tehnik predprocesiranja podatkov in modelov ML z minimalnim naporom, Autopilot podatkovnemu znanstveniku po želji zagotavlja popoln nadzor nad temi koraki komponent.
Avtopilota lahko uporabljate z enim od SDK-jev AWS (podrobnosti so na voljo v API referenčni vodnik za avtopilota) ali prek Studia. Avtopilot uporabljamo v naši rešitvi Studio po korakih, opisanih v tem razdelku:
- Na strani zaganjalnika Studio izberite znak plus za Nov poskus z avtopilotom.
- za Povežite svoje podatketako, da izberete Poiščite vedro S3in vnesite ime vedra, kjer ste hranili nabore podatkov o usposabljanju in preizkusu.
- za Ime datoteke nabora podatkov, vnesite ime datoteke s podatki o vadbi, ki ste jo ustvarili v Pripravite podatke o usposabljanju oddelek v Del 1.
- za Lokacija izhodnih podatkov (vedro S3), vnesite isto ime vedra, ki ste ga uporabili v 2. koraku.
- za Ime imenika nabora podatkov, vnesite ime mape pod vedro, kamor želite, da Autopilot shrani artefakte.
- za Ali je vaš vnos S3 datoteka manifesta?, izberite off.
- za ciljna, izberite nalepka.
- za Samodejno uvajanje, izberite off.
- Pod Napredne nastavitveZa Vrsta problema strojnega učenja, izberite Binarna klasifikacija.
- za Objektivna metrika, izberite AUC.
- za Izberite način izvajanja preizkusa, izberite Ne, zaženite pilotni program, da ustvarite zvezek z definicijami kandidatov.
- Izberite Ustvari eksperiment.
Za več informacij o ustvarjanju poskusa glejte Ustvarite poskus avtopilota Amazon SageMaker.Izvajanje tega koraka lahko traja približno 15 minut. - Ko končate, izberite Odprite zvezek generacije kandidatov, ki odpre nov zvezek v načinu samo za branje.
- Izberite Uvozi zvezek da bo zvezek mogoče urejati.
- Za sliko izberite Znanost podatki.
- za Kernel, izberite Python 3.
- Izberite Izberite.
Ta samodejno ustvarjena beležnica ima podrobne razlage in zagotavlja popoln nadzor nad dejansko nalogo gradnje modela, ki ji je treba slediti. Prilagojena različica prenosnik, kjer se klasifikator usposablja z uporabo satelitskih pasov Landsat iz leta 2013, je na voljo v repozitoriju kod pod notebooks/mangrove-2013.ipynb
.
Ogrodje za gradnjo modela je sestavljeno iz dveh delov: transformacija funkcij kot del koraka obdelave podatkov in optimizacija hiperparametrov (HPO) kot del koraka izbire modela. Vsi potrebni artefakti za te naloge so bili ustvarjeni med poskusom avtopilota in shranjeni Preprosta storitev shranjevanja Amazon (Amazon S3). Prva celica prenosnega računalnika prenese te artefakte iz Amazona S3 v lokal Amazon SageMaker datotečni sistem za pregled in vse potrebne spremembe. Obstajata dve mapi: generated_module
in sagemaker_automl
, kjer so shranjeni vsi moduli in skripti Python, ki so potrebni za zagon prenosnika. Različni koraki transformacije funkcij, kot so imputacija, skaliranje in PCA, so shranjeni kot generated_modules/candidate_data_processors/dpp*.py.
Avtopilot ustvari tri različne modele na osnovi algoritmov XGBoost, linearnega učenca in večplastnega perceptrona (MLP). Kandidatni cevovod je sestavljen iz ene od možnosti transformacije funkcij, znane kot data_transformer
, in algoritem. Cevovod je slovar Python in ga je mogoče definirati na naslednji način:
V tem primeru cevovod preoblikuje podatke o usposabljanju v skladu s skriptom v generated_modules/candidate_data_processors/dpp5.py
in zgradi model XGBoost. Tukaj avtopilot zagotavlja popoln nadzor podatkovnemu znanstveniku, ki lahko izbere samodejno ustvarjeno transformacijo funkcij in korake izbire modela ali sestavi svojo kombinacijo.
Zdaj lahko dodate cevovod v skupino za avtopilot, da izvede poskus, kot sledi:
To je pomemben korak, pri katerem se lahko odločite, da obdržite samo podskupino kandidatov, ki jih predlaga Autopilot na podlagi strokovnega znanja o predmetu, da skrajšate skupni čas izvajanja. Za zdaj obdržite vse predloge za avtopilot, ki jih lahko navedete na naslednji način:
Ime kandidata | Algoritem | Funkcionalni transformator |
dpp0-xgboost | xgboost | dpp0.py |
dpp1-xgboost | xgboost | dpp1.py |
dpp2-linearni-učenec | linearni učenec | dpp2.py |
dpp3-xgboost | xgboost | dpp3.py |
dpp4-xgboost | xgboost | dpp4.py |
dpp5-xgboost | xgboost | dpp5.py |
dpp6-mlp | MLP | dpp6.py |
Celoten poskus z avtopilotom poteka v dveh delih. Najprej morate zagnati opravila za pretvorbo podatkov:
Ta korak bi se moral zaključiti v približno 30 minutah za vse kandidate, če ne naredite nobenih nadaljnjih sprememb dpp*.py
datotek.
Naslednji korak je izdelava najboljšega niza modelov s prilagoditvijo hiperparametrov za ustrezne algoritme. Hiperparametri so običajno razdeljeni na dva dela: statični in nastavljivi. Statični hiperparametri ostanejo nespremenjeni skozi poskus za vse kandidate, ki imajo isti algoritem. Ti hiperparametri se posredujejo poskusu kot slovar. Če se odločite izbrati najboljši model XGBoost z maksimiranjem AUC iz treh krogov sheme petkratne navzkrižne validacije, je slovar videti kot naslednja koda:
Za nastavljive hiperparametre morate posredovati drug slovar z obsegi in vrsto skaliranja:
Celoten nabor hiperparametrov je na voljo v mangrove-2013.ipynb
prenosnik.
Če želite ustvariti poskus, v katerem je mogoče vzporedno testirati vseh sedem kandidatov, ustvarite uglaševalec HPO z več algoritmi:
Objektivne metrike so opredeljene neodvisno za vsak algoritem:
Preizkušanje vseh možnih vrednosti hiperparametrov za vse poskuse je potratno; lahko sprejmete Bayesovo strategijo za ustvarjanje sprejemnika HPO:
V privzeti nastavitvi Autopilot izbere 250 opravil v tunerju, da izbere najboljši model. Za ta primer uporabe zadostuje nastavitev max_jobs=50
da prihranite čas in vire, brez kakršnih koli večjih kazni v smislu izbire najboljšega niza hiperparametrov. Na koncu oddajte nalogo HPO na naslednji način:
Postopek traja približno 80 minut na primerkih ml.m5.4xlarge. Napredek lahko spremljate na konzoli SageMaker z izbiro Hiperparametrska nastavitev pod usposabljanje v podoknu za krmarjenje.
Z izbiro imena delovnega mesta v teku si lahko vizualizirate množico uporabnih informacij, vključno z uspešnostjo vsakega kandidata.
Na koncu primerjajte uspešnost modela najboljših kandidatov, kot sledi:
Kandidat | AUC | run_time (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 |
Najbolj zmogljiv model, ki temelji na MLP, čeprav je malo boljši od modelov XGBoost z različnimi izbirami korakov obdelave podatkov, prav tako potrebuje veliko dlje za usposabljanje. Najdete lahko pomembne podrobnosti o usposabljanju modela MLP, vključno s kombinacijo uporabljenih hiperparametrov, kot sledi:
TrainingJobName | mangrove-2-notebook–211021-2016-012-500271c8 |
TrainingJobStatus | Končana |
FinalObjectiveValue | 0.96008 |
TrainingStartTime | 2021-10-21 20:22:55+00:00 |
TrainingEndTime | 2021-10-21 21:08:06+00:00 |
TrainingElapsedTimeSeconds | 2711 |
TrainingJobDefinitionName | dpp6-mlp |
osip_prob | 0.415778 |
faktor_velikosti_vdelave | 0.849226 |
plasti | 256 |
stopnja učenja | 0.00013862 |
mini_batch_size | 317 |
vrsta_omrežja | naprej |
razpad teže | 1.29323e-12 |
Ustvarite cevovod sklepanja
Če želite ustvariti sklepanje o novih podatkih, morate v SageMakerju zgraditi cevovod sklepanja, ki bo gostil najboljši model, ki ga je mogoče pozneje priklicati za ustvarjanje sklepanja. Model cevovoda SageMaker kot komponente zahteva tri vsebnike: transformacijo podatkov, algoritem in inverzno transformacijo oznak (če je treba numerične napovedi preslikati na neštevilčne oznake). Zaradi jedrnatosti je v naslednjem delčku prikazan le del zahtevane kode; celotna koda je na voljo v mangrove-2013.ipynb
prenosnik:
Ko so vsebniki modela izdelani, lahko sestavite in razmestite cevovod na naslednji način:
Uvedba končne točke traja približno 10 minut.
Pridobite sklep o testnem naboru podatkov z uporabo končne točke
Ko je končna točka uvedena, jo lahko prikličete s koristnim obsegom funkcij B1–B7, da vsako slikovno piko na sliki razvrstite kot mangrovo (1) ali drugo (0):
Popolne podrobnosti o naknadni obdelavi napovedi modela za vrednotenje in risanje so na voljo v notebooks/model_performance.ipynb
.
Pridobite sklep o testnem naboru podatkov z uporabo paketne transformacije
Zdaj, ko ste ustvarili najuspešnejši model z avtopilotom, lahko uporabimo model za sklepanje. Če želite sklepati o velikih naborih podatkov, je učinkoviteje uporabiti paketno pretvorbo. Ustvarimo napovedi za celoten nabor podatkov (usposabljanje in preizkus) in pripnimo rezultate funkcijam, tako da lahko izvedemo nadaljnjo analizo, da na primer preverimo predvideno v primerjavi z dejanskimi in porazdelitev funkcij med predvidenimi razredi.
Najprej ustvarimo datoteko manifesta v Amazonu S3, ki kaže na lokacije podatkov o usposabljanju in preizkusu iz prejšnjih korakov obdelave podatkov:
Zdaj lahko ustvarimo opravilo paketnega preoblikovanja. Ker imata naš vhodni vlak in testni nabor podatkov label
kot zadnji stolpec, ga moramo med sklepanjem izpustiti. Da bi to naredili, preidemo InputFilter
v DataProcessing
prepir. Koda "$[:-2]"
označuje izpustitev zadnjega stolpca. Predvideni rezultat se nato združi z izvornimi podatki za nadaljnjo analizo.
V naslednji kodi sestavimo argumente za opravilo paketnega preoblikovanja in nato preidemo na create_transform_job
funkcija:
Stanje opravila lahko spremljate na konzoli SageMaker.
Vizualizirajte delovanje modela
Zdaj lahko vizualizirate delovanje najboljšega modela na testnem naboru podatkov, ki ga sestavljajo regije iz Indije, Mjanmara, Kube in Vietnama, kot matriko zmede. Model ima visoko priklicno vrednost za slikovne pike, ki predstavljajo mangrove, vendar le približno 75-odstotno natančnost. Natančnost ne-mangrovih ali drugih slikovnih pik je 99-odstotna s 85-odstotnim priklicem. Nastavite lahko mejo verjetnosti napovedi modela, da prilagodite ustrezne vrednosti glede na posamezen primer uporabe.
Treba je omeniti, da so rezultati znatno boljši od vgrajenega modela smileCart.
Vizualizirajte napovedi modela
Nazadnje je koristno opazovati delovanje modela na določenih regijah na zemljevidu. Na naslednji sliki je območje mangrov na meji med Indijo in Bangladešem prikazano rdeče. Točke, vzorčene iz zaplate slike Landsat, ki pripada testnemu naboru podatkov, so prekrite z regijo, kjer je vsaka točka piksel, za katerega model določi, da predstavlja mangrove. Modre točke so pravilno razvrščene glede na model, medtem ko črne točke predstavljajo napake modela.
Naslednja slika prikazuje samo točke, za katere je model predvidel, da ne predstavljajo mangrov, z isto barvno shemo kot v prejšnjem primeru. Sivi obris je del zaplate Landsat, ki ne vključuje mangrov. Kot je razvidno iz slike, model ne naredi nobene napake pri razvrščanju točk na vodi, vendar se sooča z izzivom pri razlikovanju slikovnih pik, ki predstavljajo mangrove, od tistih, ki predstavljajo običajno listje.
Naslednja slika prikazuje delovanje modela na območju mangrov v Mjanmaru.
Na naslednji sliki model bolje prepozna slikovne pike mangrove.
Čiščenje
Končna točka sklepanja SageMaker še naprej povzroča stroške, če se pusti izvajati. Ko končate, izbrišite končno točko na naslednji način:
zaključek
Ta serija objav je zagotovila celovit okvir za podatkovne znanstvenike za reševanje problemov GIS. Del 1 je pokazal postopek ETL in priročen način za vizualno interakcijo s podatki. 2. del je pokazal, kako uporabiti avtopilot za avtomatizacijo gradnje klasifikatorja mangrov po meri.
To ogrodje lahko uporabite za raziskovanje novih satelitskih naborov podatkov, ki vsebujejo bogatejši nabor pasov, uporabnih za klasifikacijo mangrov, in raziskovanje inženiringa funkcij z vključitvijo znanja o domeni.
O avtorjih
Andrej Ivanovič je prihajajoči študent magistrskega študija računalništva na Univerzi v Torontu in je nedavno diplomiral na programu inženirskih znanosti na Univerzi v Torontu, smer strojna inteligenca z manjšo stopnjo robotike/mehatronike. Zanimajo ga računalniški vid, globoko učenje in robotika. Delo, predstavljeno v tej objavi, je opravil med svojim poletnim stažiranjem pri Amazonu.
David Dong je podatkovni znanstvenik pri Amazon Web Services.
Arkajyoti Misra je podatkovni znanstvenik pri Amazon LastMile Transportation. Navdušen je nad uporabo tehnik računalniškega vida za reševanje problemov, ki pomagajo Zemlji. Rad sodeluje z neprofitnimi organizacijami in je ustanovni član ekipi.org.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/part-2-identify-mangrove-forests-using-satellite-image-features-using-amazon-sagemaker-studio-and-amazon-sagemaker- avtopilot/
- "
- 10
- 100
- a
- O meni
- Po
- dejavnosti
- algoritem
- algoritmi
- vsi
- Amazon
- Amazon Web Services
- med
- Analiza
- analitika
- analizirati
- Še ena
- Uporaba
- OBMOČJE
- Argumenti
- okoli
- avtomatizirati
- Avtomatizirano
- samodejno
- Na voljo
- AWS
- ker
- BEST
- črna
- telo
- meja
- izgradnjo
- Building
- Gradi
- vgrajeno
- Kandidat
- kandidati
- primeru
- izziv
- možnosti
- Izberite
- razredi
- Razvrstitev
- razvrščeni
- Koda
- Stolpec
- kombinacija
- kombinacije
- dokončanje
- komponenta
- deli
- računalnik
- Računalništvo
- zmeda
- Konzole
- Zabojniki
- se nadaljuje
- nadzor
- Priročen
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- Kuba
- po meri
- datum
- obdelava podatkov
- podatkovni znanstvenik
- globoko
- Odvisno
- razporedi
- razporejeni
- uvajanje
- podrobno
- Podrobnosti
- DID
- drugačen
- zaslon
- distribucija
- Ne
- domena
- prenosov
- Drop
- med
- vsak
- Zemlja
- ekosistem
- Učinkovito
- učinkovite
- prizadevanje
- konec koncev
- Končna točka
- Inženiring
- Vnesite
- Ocena
- Primer
- poskus
- strokovno znanje
- raziskuje
- obrazi
- Moda
- Feature
- Lastnosti
- končno
- prva
- sledi
- po
- sledi
- ustanovitve
- Okvirni
- iz
- polno
- funkcija
- nadalje
- ustvarjajo
- ustvarila
- generacija
- diplomiral
- siva
- vodi
- višina
- Pomaga
- visoka
- Kako
- Kako
- HTTPS
- človeškega
- identificirati
- identifikacijo
- slika
- Pomembno
- Izboljšanje
- vključujejo
- Vključno
- neodvisno
- india
- Podatki
- vhod
- primer
- Intelligence
- interaktivno
- zainteresirani
- IT
- Job
- Delovna mesta
- pridružil
- Imejte
- znanje
- znano
- label
- Oznake
- velika
- učenje
- vrstica
- Seznam
- lokalna
- kraj aktivnosti
- Lokacije
- stroj
- strojno učenje
- velika
- Znamka
- map
- poveljnika
- Matrix
- Matter
- član
- Meritve
- napake
- ML
- Model
- modeli
- monitor
- več
- več
- Mjanmar
- ostalo
- potrebno
- Naslednja
- neprofitna
- prenosnik
- Odpre
- optimizacija
- možnosti
- organizacije
- Ostalo
- lastne
- del
- zlasti
- strastno
- Patch
- performance
- predstave
- izvajati
- pilot
- Točka
- točke
- bazen
- mogoče
- Prispevkov
- Napovedi
- prejšnja
- problem
- Težave
- Postopek
- obravnavati
- Program
- če
- zagotavlja
- Razlogi
- nedavno
- zmanjša
- okolica
- redni
- ostajajo
- Skladišče
- predstavljajo
- predstavlja
- zahteva
- obvezna
- zahteva
- raziskovalci
- viri
- Rezultati
- robotika
- vloga
- kroge
- Run
- tek
- Enako
- satelit
- Shrani
- skaliranje
- shema
- Znanost
- Znanstvenik
- Znanstveniki
- izbor
- Serija
- Storitve
- nastavite
- nastavitev
- več
- Delite s prijatelji, znanci, družino in partnerji :-)
- Prikaži
- pokazale
- podpisati
- pomemben
- Enostavno
- Velikosti
- So
- trdna
- Rešitev
- SOLVE
- specifična
- stati
- Status
- shranjevanje
- trgovina
- Strategija
- študent
- studio
- predmet
- poletje
- sistem
- Naloge
- tehnike
- Pogoji
- Test
- O
- Vir
- svet
- 3
- skozi
- vsej
- čas
- vrh
- top 5
- toronto
- usposabljanje
- Transform
- Preoblikovanje
- transformacije
- Prevoz
- pod
- univerza
- uporaba
- navadno
- potrjevanje
- vrednost
- različnih
- različica
- Vizija
- vizualizacija
- Voda
- web
- spletne storitve
- medtem
- WHO
- brez
- delo
- svet
- vredno
- X
- Vaša rutina za