Využití umělých neuronových sítí k urychlení evolučních algoritmů Antonín Wimberský
Motivace Evoluční algoritmy – použití v celé řadě praktických úloh Největší slabina – nutnost opakovaného volání fitness funkce Snížení počtu volání fitness funkce -> urychlení evolučního algoritmu Některá volání fitness funkce lze nahradit voláním regresního modelu Používaný regresní model – neuronová síť Implementace na genetickém algoritmu
Teoretické základy
Evoluční algoritmus Obecné schéma: 1) Aktuální generace T := 0 2) Vytvoř náhodnou počáteční populaci P(T) 3) Ohodnoť všechny jedince v populaci P(T) pomocí fitness funkce 4) Dokud není splněna ukončovací podmínka, opakuj: A) T := T + 1 B) Vyber populaci P(T) z populace P(T-1) (Proveď selekci) C) Změň populaci P(T) (Proveď rekombinace) D) Ohodnoť všechny jedince v populaci P(T) pomocí fitness funkce
Typy evolučních algoritmů Evoluční strategie Evoluční programování Automaty Genetické programování Stromy Genetické algoritmy
Genetický algoritmus Kódování – binární, přirozené… Průběh Inicializace náhodná Selekce ruletová, stochastická uniformní, turnajová… Křížení n bodové, rovnoměrné… Mutace
Náhradní model Aproximace ohodnocovací funkce Požadavky Konvergence ke globálnímu optimu Minimalizace počtu volání ohodnocovací fitness funkce Omezený počet trénovacích vzorů Složitý prohledávací prostor
Příklad aproximace
Řízení modelu Evoluční kontrola založená na generacích Evoluční kontrola založená na jedincích
Kontrola založená na jedincích Výběr jedinců nejlepší, reprezentanti, náhodně… 2 možné přístupy Konstantní velikost populace Míšení skutečné fitness a odhadu Vhodné aktualizovat odhad Navýšená velikost populace Rodičovská populace – pouze jedinci ohodnocení skutečnou fitness funkcí Vhodné zahrnout do výběru nejlepší jedince
Příklady náhradních modelů Polynomiální Gaussovské procesy Opěrné vektory Neuronové sítě Vícevrstvé perceptrony RBF Důležitá je schopnost generalizace!
Vyhodnocení modelu MSE MAE MSEREG AIC BIC
Neuronové sítě Formální neuron Vrstevnaté sítě univerzální aproximační schopnost
Vícevrstvé perceptrony Učení algoritmem LM (Levenberg-Marquardt) Algoritmus 2. řádu, pracuje s 2. derivací chybové funkce Aktualizace vah: Algoritmus LM: 1) Předložit síti všechny trénovací vzory a spočítat pro ně odpovědi a chyby. Následně spočítat součet čtverců chyb přes všechny vzory 2) Vypočítat Jacobiho matici J(w) 3) Spočítat aktualizaci vah 4) Přepočítat součet čtverců chyb při použití adaptovaných vah. Pokud je nový součet čtverců menší než původní spočítaný v kroku 1, pak , a přejít ke kroku 1. V opačném případě a přejít ke kroku 3.
RBF sítě 1 skrytá vrstva, funkce radiální báze Odezva sítě: Gaussovská funkce: Odezva sítě: Učení RBF sítě Nalezení center Natrénování vah Lze provádět buď postupně k-means a gradientní metoda nebo nejednou Metoda nejmenších čtverců
Návrh řešení
Prostor řešení úlohy Kromě spojitých proměnných i diskrétní proměnné Omezení spojitých i diskrétních proměnných Prostor řešení úlohy – množina mnohostěnů Mnohostěn – určen hodnotami diskrétních proměnných, výskytem určité podmnožiny spojitých proměnných a soustavou lineárních omezení těchto spojitých proměnných. Kromě spojité optimalizace i diskrétní optimalizace Spojitá optimalizace – zvlášť v rámci každého mnohostěnu.
Přístup k diskrétním proměnným při konstrukci náhradního modelu Rozklad diskrétních proměnných na booleovské proměnné: Vdisct – původní diskrétní proměnná, H – možná hodnota booleovská proměnná: Zavedení dalších booleovských proměnných indikujících nenulovost příslušných spojitých proměnných Vcont – spojitá proměnná, Vbc – přidaná booleovská proměnná:
Hierarchické klastrování podle diskrétních proměnných Vzdálenosti mezi diskrétními kombinacemi: Hammingova metrika Jaccardova metrika Následuje konstrukce dendrogramu a vlastní hierarchické klastrování – od listů ke kořeni.
Výběr modelu Výběr modelu – v každém klastru zvlášť Vybírá se vhodná architektura sítě Výběr na základě x-násobné křížové validace Základním kritérium výběru modelu – střední čtvercová chyba (mse) při křížové validaci U vícevrstvých perceptronů i používáme i střední čtvercovou chybu s regularizací (msereg).
Základní schéma genetického algoritmu s náhradním modelem
Implementace V prostředí Matlab Diskrétní optimalizaci a načítání dat z databáze – zajišťuje framework genetického algoritmu V naší implementaci se zaměřujeme na konstrukci náhradního modelu a využití tohoto modelu v rámci spojité optimalizace Model vícevrstvých perceptronů využívá implementaci v Neural Network toolboxu, model RBF sítí používá implementaci od Lukáše Bajera
Dialog pro nastavení parametrů modelu
Dialog pro nastavení klastrování
Dialog pro výběr modelu
Dialog pro nastavení spojité optimalizace a řízení modelu
Experimenty
Experimenty – reálná úloha (HCN) Nelze získat nová data, experimenty se omezily na konstrukci a vyhodnocení náhradního modelu 696 jedinců v osmi generacích (nultá až sedmá) 2 diskrétní proměnné (15 a 7 různých hodnot), 11 spojitých proměnných (a tedy 11 přidaných boolovských proměnných) -> celkový počet proměnných v úloze je 44 Spojité proměnné jsou přitom omezeny:
Výsledky trénování na HCN Model s jediným klastrem, 44 vstupních proměnných, vícevrstvý perceptron: mse 57.57 (3) Model s 13-ti klastry (klastrováno dle 1 diskrétní proměnné a 11-ti booleovských proměnných), 11 vstupních proměnných, vícevrstvý perceptron: mse 155.06 Model s 15-ti klastry (klastrováno dle 1 diskrétní proměnné), 11 vstupních proměnných, vícevrstvý perceptron: mse 66.91 (9) Model s 15-ti klastry (klastrováno dle 1 diskrétní proměnné), 11 vstupních proměnných, RBF síť: mse 64.44 (11)
Tabulka 1 – Trénování na HCN
Trénování v průběhu genetického algoritmu Začali jsme s trénovací množinou složenou z prvních čtyř generací (nultá až třetí). Na této množině jsme natrénovali vybrané modely a následně je otestovali na následující (čtvrté) generaci. V dalším kroku jsme čtvrtou generaci přidali k trénovací množině a model ověřovali na páté generaci. Postup jsme opakovali až do dosažení poslední (sedmé) generace.
Predikce modelu 3 (MLP, 1 klastr) Generace 4 Generace 5 Odhad modelu Odhad modelu Fitness Fitness Generace 6 Generace 7 Odhad modelu Odhad modelu Fitness Fitness
Predikce modelu 9 (MLP, 15 klastrů) Generace 5 Generace 4 Odhad modelu Odhad modelu Fitness Fitness Generace 7 Generace 6 Odhad modelu Odhad modelu Fitness Fitness
Predikce modelu 11 (RBF, 15 klastrů) Generace 4 Generace 5 Odhad modelu Odhad modelu Odhad modelu Odhad modelu Fitness Fitness Generace 7 Generace 6 Odhad modelu Odhad modelu Odhad modelu Odhad modelu Fitness Fitness
Experimenty s testovací funkcí valero
Tabulka 2 – trénování na valeru
Evoluční kontrola založená na jedincích (výběr nejlepších, MLP, 6 neuronů ve skryté vrstvě)
Evoluční kontrola založená na generacích (po 4 generacích, MLP, 6 neuronů ve skryté vrstvě, porovnání odpovídajících si generací)
Evoluční kontrola založená na generacích (po 4 generacích, MLP, 6 neuronů ve skryté vrstvě, porovnání podle počtu vyhodnocení fitness funkce)
Porovnání kontroly založené na jedincích a na generacích
Výběr modelu po každé generaci (kontrola založená na jedincích – výběr nejlepších, MPL)
Porovnání výběru modelu po každé generaci a fixního modelu
RBF model (kontrola založená na jedincích – výběr nejlepších jedinců)
Vícevrstvé perceptrony a RBF (kontrola založená na jedincích – výběr nejlepších jedinců)
RBF – výběr nejlepších jedinců a kombinovaná strategie výběru
Tabulka 3 – průběh genetického algoritmu
Děkuji za pozornost Prostor pro dotazy