Metody pro zefektivnění Evolučních algoritmů

Slides:



Advertisements
Podobné prezentace
Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační.
Advertisements

:-) Asymptotická složitost algoritmů Autor: Antonín DANĚK Semestrální projekt 1 – Y14TED.
CorelDRAW – dodatky (19). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Strategické otázky výzkumníka 1.Jaký typ výzkumu zvolit? 2.Na jakém vzorku bude výzkum probíhat? 3.Jaké výzkumné metody a techniky uplatnit?
Redukce lůžek Existuje prostor pro redukci lůžek akutní péče?
Experimentální metody v oboru – Aproximace 1/14 Aproximace Teze přednášek z předmětu „Technický experiment“ © Zdeněk Folta - verze
Období vzniku: duben _inovace_FG.9.48 Autor : Vladimír TesaříkČlověk a svět práce, finanční gramotnost, nové auto.
ECVET v projektech KA1 odborné vzdělávání a příprava v programu Erasmus+ žádostí o grant.
EMM31 Ekonomicko-matematické metody 3 Prof. RNDr. Jaroslav Ramík,CSc.
Jihočeská univerzita v Českých Budějovicích, Zdravotně sociální fakulta, Jírovcova 24/1347, České Budějovice 1 Vzdělávání poskytovatelů sociálních.
Petr Kielar Seminář o stavebním spoření Část VI: Podmínka rovnováhy a SKLV.
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Název kapitoly Název podkapitoly Text Schvalovací proces + hodnoticí kritéria Jakub Krátký Praha, 5. května 2016.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
Proč je dobré požádat o prostředky ze šablon. Je to jednoduché Není to souboj o peníze – vyjdou na každou školu Žádost o podporu i zprávy o realizaci.
OneNote. Co to je?  OneNote patří k produktům Microsoftu, nyní je ke stažení zdarma  jde o aplikaci pro rychlou, snadnou a přehlednou správu různých.
Definice: Funkce f na množině D(f)  R je předpis, který každému číslu z množiny D(f) přiřazuje právě jedno reálné číslo. Jinak: Nechť A, B jsou neprázdné.
Kalkulátor emisí skleníkových plynů
Interpolace funkčních závislostí
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Lineární funkce - příklady
Ekonomicko-matematické metody 7
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
úlohy lineárního programování
Programování v jazyce C++
Financováno z ESF a státního rozpočtu ČR.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Operační výzkum Lineární programování – cvičení
ADT zásobník - příklad Prakticky aplikovatelný příklad využití ADT zásobník je vyhodnocování aritmetických výrazů v Postfixové notaci: Pro zápis aritmetických.
Filmová animace Náhodné změny Mgr. Jiří Mlnařík
Databáze MS ACCESS 2010.
Základy infinitezimálního počtu
Běžné reprezentace grafu
Six sigma – zkrácená verze
Základy zpracování geologických dat testování statistických hypotéz
CZECH SALES ACADEMY Hradec Králové – VOŠ a SOŠ s.r.o.
ZAL – 8. cvičení 2016.
Kvadratické nerovnice
Schvalovací proces + hodnoticí kritéria
Matematika pro stavební obory 19. Autor: RNDr. Zdeněk Bláha
Rovnice a graf přímé úměrnosti.
Pseudosekce: P-T fázový diagram v jednoduchém systému Al2SiO5 s demonstrací postupu při tvorbě pseudosekce.
SIGNÁLY A LINEÁRNÍ SYSTÉMY
Jak postupovat při měření?
Optimální pořadí násobení matic
Provozováno Výzkumným ústavem pedagogickým v Praze.
Materiál byl vytvořen v rámci projektu
3. přednáška Laplaceova transformace
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Teorie chyb a vyrovnávací počet 1
SEM – speciální přístupy
Lineární regrese.
PhDr.Hana Pazlarová, Ph.D
Příklad postupu operačního výzkumu
Obecně použitelné odvození
KOMBINACE BEZ OPAKOVÁNÍ
Dynamické programování Úloha batohu neomezená
Teorie chyb a vyrovnávací počet 1
Lineární funkce a její vlastnosti
T - testy Párový t - test Existuje podezření, že u daného typu auta se přední pneumatiky nesjíždějí stejně. H0: střední hodnota sjetí vpravo (m1) = střední.
Název školy Gymnázium, střední odborná škola, střední odborné učiliště a vyšší odborná škola, Hořice Číslo projektu CZ.1.07/1.5.00/ Název materiálu.
Seminář o stavebním spoření
Grafy kvadratických funkcí
Teorie chyb a vyrovnávací počet 2
Spojitý šum v praxi Jan Gehr.
Vzdělávání a příprava na digitální budoucnost z pohledu Statutárního města Liberec Mgr. Šárka Prachařová.
Algoritmizace a datové struktury (14ASD)
Teorie chyb a vyrovnávací počet 2
Dopravní úloha.
Transkript prezentace:

Metody pro zefektivnění Evolučních algoritmů Martin Pilát, KTIML MFF UK Seminář strojového učení a modelování 2. 3. 2017

Co jsou evoluční algoritmy Prohledávací/optimalizační algoritmy založené na populaci jedinců Motivace biologickou evolucí V každé iteraci (generaci) Výběr jedinců pro křížení a jejich křížení Mutace Vyhodnocení jedinců Selekce jedinců do další iterace

Vícekriteriální optimalizace Prostor parametrů 𝐷 Množina účelových funkcí 𝑓 1 … 𝑓 𝑛 , 𝑓 𝑖 :𝐷→ℝ (podmínky 𝑔 1 ≤0… 𝑔 𝑚 ≤0, 𝑔 𝑖 :𝐷→ℝ) Cíl (minimalizace): Najít množinu Pareto optimálních řešení 𝑃={𝑥∈𝐷|∀𝑦∈𝐷: 𝑓 𝑖 𝑥 ≤ 𝑓 𝑖 𝑦 ∨∃𝑖,𝑗 𝑓 𝑖 𝑥 < 𝑓 𝑖 𝑦 & 𝑓 𝑗 𝑥 > 𝑓 𝑗 𝑦 ) 𝑓 𝑖 𝑥 ≤ 𝑓 𝑖 𝑦 ∨∃𝑖,𝑗 𝑓 𝑖 𝑥 < 𝑓 𝑖 𝑦 & 𝑓 𝑗 𝑥 > 𝑓 𝑗 𝑦 )

Co je vícekriteriální algoritmus Optimalizuje více kritérií najednou Kritéria si často odporují Selekce založena na Pareto dominanci jedinců

Co je „zefektivnění“? Snížení počtu vyhodnocení fitness funkce potřebných pro nalezení řešení dané kvality V přítomnosti preferencí uživatele – využití dostupných prostředků k hledání preferovaných řešení a ignorování nezajímavých Při paralelizaci – lepší využití CPU

Co je „řešení stejné kvality “? Hyperobjem populace, zelené body jsou nedominované, červený bod je referenční pro výpočet

Motivace Evoluční algoritmy skvěle optimalizují, ale mohou trvat dlouho Nejdéle trvá vyhodnocení fitness funkce Snížení počtu vyhodnocení fitness vede k lepším algoritmům Dokonce i v případě, že musíme udělat práci navíc Př.: algoritmus s populací 100 jedinců běží 500 generací, tj. udělá 50 000 vyhodnocení fitness funkce. Když každé trvá 1 vteřinu a podaří se nám jejich počet snížit o 10% ušetříme cca 80 minut, které můžeme využít na něco jiného

Příklad 1 – Uživatelské preference v MOEA/D MOEA/D převádí vícekriteriální problém na množinu jednokriteriálních problémů, které řeší zároveň Každý jednokriteriální problém je dán vektorem vah, problémy s podobnými vektory vah si mezi sebou předávají informaci pomocí genetických operátorů a selekce Volba vektorů vah ovlivňuje výslednou množinu řešení nalezenou algoritmem → změnou vah můžeme ovlivnit výslednou množinu řešení tak, aby odpovídala představě uživatele

Specifikace uživatelských preferencí Dvě možnosti specifikace preferencí Binárně – uživatel říká (interaktivně), která řešení se mu líbí, a která ne Pomocí funkce na množině řešení – vede k optimalizaci zvolené funkce v prostoru hodnot jednotlivých kritérií (např. maximalizace hyperobjemu, nebo nalezení řešení, která jsou stejně daleko od sebe)

Použití preferencí v MOEA/D Binární preference Koevoluce vah V každé generaci drobná perturbace vah, pro každou váhu určení nejlepšího jedince z aktuální populace a preference váhy, která odpovídá preferovanějšímu jedinci Specifikace preference pomocí funkce Optimalizace vah tak, aby maximalizovaly zvolenou funkci Interpolace nedominovaných řešení a hledání optimální polohy řešení na interpolované nedominované frontě pomocí gradientního algoritmu

Zjemnění preference uživatele pro lepší informovanost evolučního algoritmu

Ladění vah pro funkci na množině řešení Aktuální nedominovaná fronta je aproximována kubickým splinem 𝑆(𝑥) Vyřeší se 𝑋= arg max x⊆𝐷 S , x =𝜇 𝑈𝑂({ 𝑥,𝑆 𝑥 ) Nastavení vah tak, že 𝑋 je optimum 𝑤 𝑖𝑗 = 1/( 𝑥 𝑖𝑗 − 𝑧 𝑗 ) 𝑗=1 2 1/( 𝑥 𝑖𝑗 − 𝑧 𝑗 )

Příklad 2 – Náhradní modely v genetickém programování V genetickém programování jsou jedinci reprezentováni jako stromy Vyhodnocení stromu může trvat dlouho (například pokud strom reprezentuje chování robota) Chtěli bychom použít náhradní modely Potřebujeme tedy množinu příznaků, na kterých můžeme model trénovat

Příznaky pro náhradní model v genetickém programování Příznaky by měly být snadno spočitatelné bez nutnosti vyhodnocovat strom (tj. jen ze statické analýzy stromu) Množina příznaků Příznaky o stromě – hloubka, počet uzlů Příznaky o konstantách – počet (různých) konstant, maximum, minimum, průměr Příznaky o argumentech a neterminálech – počet použití Příznaky o rodičích – minimální, průměrná a maximální fitness

Příklad 3 – Prolínání generací pro lepší paralelizaci V některých případech se pomalým vyhodnocením nedá vyhnout Pomáhá paralelizace, tj. počítat více vyhodnocení najednou Problém je, když každé vyhodnocení trvá jinak dlouho – evoluce musí čekat na nejpomalejší vyhodnocení v každé generaci Vytížení CPU může být i menší než 50 %. Dá se řešit asynchronní evolucí, ale ta má bias k rychlejším jedincům

Co potřebujeme pro vygenerování jedince? Stačí nám znát jeho rodiče To ale neznamená, že nutně musíme vyhodnotit celou předchozí generaci (záleží na selekci) Při (λ, λ) selekci stačí vytvořit jedince, ty jsou rovnou rodiče (potřebujeme je vyhodnotit v rodičovské selekci v další generaci) Nepotřebujeme ani všechny… Při (λ + λ) stačí mít více než λ vyhodnocených rodičů a potomků a zase známe nějaké rodiče

(λ, λ) a turnajová rodičovská selekce Hodí se rozdělit turnaj na dvě části – náhodný výběr dvojic pro porovnání (indexy) a samotné porovnání Po vyhodnocení jedince kontrola, jestli už jsou v generaci vyhodnoceni oba jedinci z nějaké dvojice, pokud ano dokončení turnaje Po dokončení turnaje kontrola, jestli už jsou někde oba rodiče, pokud ano vytvoření nového jedince a odeslání k vyhodnocení (pokud je třeba v další generaci, poznáme, podle toho, jestli je v nějaké dvojici pro turnaj)

(λ + λ) a turnajová rodičovská selekce Kvůli + selekci potřebujeme vyhodnotit všechny jedince Jakmile je vyhodnoceno alespoň λ jedinců, o některých víme, že se určitě dostanou do další generace, přidáme je tedy Zkontrolujeme jestli nějaká dvojice pro selekci je kompletní, pokud ano, dokončíme selekci Je-li celá dvojice pro operátory, provedeme je, vytvoříme jedince a pošleme k vyhodnocení

Prolínání generací graficky Konstantní fitness funkce, exponenciální rozdělení dob vyhodnocení, (100, 100), 30 CPU

Porovnání využití CPU – konstantní fitness Vlevo nahoře – konstantní doba vyhodnocení Vpravo nahoře – uniformně náhodná doba vyhodnocení Vlevo dole – exponenciálně náhodná doba vyhodnocení

Porovnání s asynchronní evolucí Rastrigin, doba vyhodnocení negativně korelovaná s fitness

Shrnutí Evoluční algoritmy optimalizují dobře, ale potřebují mnoho vyhodnocení fitness funkce V praxi mohou být vyhodnocení drahá, je tedy třeba snížit jejich počet (náhradní modelování), nebo je aspoň využívat rozumně (ladění vah v MOEA/D) Náhradní modely se používají hlavně ve spojité optimalizaci, snažíme se myšlenky přenést do jiných oblastí (GP, možná kombinatorická optimalizace) V případě různě dlouhých vyhodnocení fitness při paralelizaci pomáhá prolínat generace

Bonus – Náhradní model pro MO-CMA-ES MO-CMA-ES je vícekriteriální verze populárního CMA-ES V zásadě několik instancí CMA-ES běžících zároveň CMA-ES se umí automaticky adaptovat na řešený problém To se dá využít při náhradním modelování Natrénujeme model pro každou funkci zvlášť Budeme optimalizovat přírůstek hyperobjemu pro zvolené jedince K optimalizaci použije příslušnou instanci CMA-ES

Náhradní model pro MO-CMA-ES

MO-CMA-ES s náhradním modelem Inicializuj populaci Dokud není konec Při liché generaci Spusť iteraci MO-CMA-ES Při sudé generaci Vytvoř náhradní model pro každou účelovou funkci Spočítej referenční body Vytvoř lokální fitness pro každého jedince Vytvoř potomky pomocí příslušného CMA-ES optimalizací lokální fitness Spusť selekci z MO-CMA-ES

Reference Surrogate modely v GP MOEA/D a ladění vah Martin Pilát and Roman Neruda. Feature Extraction for Surrogate Models in Genetic Programming. In Parallel Problem Solving from Nature – PPSN XIV, Proceedings of 14th International Conference, Edinburgh, UK, September 17-21, 2016. LNCS 9921. Springer 2016, pp. 335-344. ISBN 978-3-319-45822-9. ISSN: 0302-9743. DOI: 10.1007/978-3-319-45823-6_31. MOEA/D a ladění vah Martin Pilát and Roman Neruda. Incorporating User Preferences in MOEA/D through the Coevolution of Weights. In Proceedings of the 2015 Conference on Genetic and Evolutionary Computation (GECCO '15). ACM 2015, pp. 627-734. ISBN 978-1-4503-3472-3. DOI: 10.1145/2739480.2754801 Martin Pilát and Roman Neruda. General Tuning of Weighs in MOEA/D. In: Proceedings on IEEE Congress on Evolutionary Computation (CEC 2016). pp. 965-972. ISBN: 978-1-5090-0622-9. DOI: 10.1109/CEC.2016.7743894 Náhradní modely pro MO-CMA-ES (nestihnutý bonus) Martin Pilát and Roman Neruda. Hypervolume-Based Surrogate Model for MO-CMA-ES. In Tools with Artificial Intelligence (ICTAI), 2015 IEEE 27th International Conference on. IEEE 2015, pp. 604-611. ISBN 978-1-5090-0163-7, ISSN 1082-3409 DOI: 10.1109/ICTAI.2015.93