Neuroevoluce rozšiřujících topologií - Neuroevolution of augmenting topologies - Wikipedia

Neuroevoluce rozšiřujících topologií (ELEGANTNÍ) je genetický algoritmus (GA) pro generování vyvíjejících se umělé neuronové sítě (A neuroevoluce technika), kterou vyvinul Ken Stanley v roce 2002, zatímco v Texaská univerzita v Austinu. Mění parametry vážení i struktury sítí a pokouší se najít rovnováhu mezi vhodností vyvinutých řešení a jejich rozmanitostí. Je založen na použití tří klíčových technik: sledování genů se značkami historie umožňujícími křížení mezi topologiemi, aplikace speciace (evoluce druhů) k zachování inovací a vývoj topologií postupně z jednoduchých počátečních struktur („komplexifikace“).

Výkon

U jednoduchých řídicích úkolů se algoritmus NEAT často dostává k efektivním sítím rychleji než jiné současné neuroevoluční techniky a posilování učení metody.[1][2]

Algoritmus

Experiment s člověkem si tradičně vybírá topologii neuronové sítě a efektivní hodnoty hmotnosti připojení se naučí tréninkovým postupem. Tím se získá situace, kdy může být nezbytný proces pokusu a omylu k určení vhodné topologie. NEAT je příkladem umělé neuronové sítě vyvíjející topologii a váhu (TWEANN), která se pokouší současně naučit hodnoty hmotnosti a vhodnou topologii pro neuronovou síť.

Aby bylo možné kódovat síť do fenotypu pro GA, NEAT používá schéma přímého kódování, což znamená, že každé spojení a neuron jsou výslovně zastoupeny. To je na rozdíl od schémat nepřímého kódování, která definují pravidla, která umožňují konstrukci sítě, aniž by explicitně představovala každé připojení, a neuron umožňující kompaktnější reprezentaci.

Přístup NEAT začíná a perceptron - jako dopředná síť pouze vstupních neuronů a výstupních neuronů. Jak evoluce postupuje prostřednictvím samostatných kroků, složitost topologie sítě může růst, a to buď vložením nového neuronu do cesty připojení, nebo vytvořením nového spojení mezi (dříve nespojenými) neurony.

Konkurenční konvence

Problém konkurenčních konvencí nastává, když existuje více než jeden způsob reprezentace informací ve fenotypu. Například pokud genom obsahuje neurony A, B a C a je reprezentován [ABC], pokud je tento genom křížen se stejným genomem (pokud jde o funkčnost), ale objednané křížení [CBA] přinese dětem, kterým chybí informace ([ABA] nebo [CBC]), ve skutečnosti 1 / V tomto příkladu byly ztraceny 3 informace. NEAT tento problém řeší sledováním historie genů pomocí globálního inovačního čísla, které se zvyšuje s přidáváním nových genů. Když přidáte nový gen, globální inovační číslo se zvýší a přiřadí se tomuto genu. Čím vyšší je tedy počet, tím nověji byl gen přidán. Pro konkrétní generaci, pokud se identická mutace vyskytne ve více než jednom genomu, je jim dáno stejné číslo, kromě toho však počet mutací zůstane nezměněn po neomezenou dobu.

Tato čísla inovací umožňují NEAT srovnat geny, které lze navzájem křížit.[1]

Implementace

Původní implementace Kena Stanleyho je zveřejněna pod GPL. Integruje se do Lstivost GNU systém tlumočník. Tato implementace NEAT je považována za konvenční základní výchozí bod pro implementaci algoritmu NEAT.

Rozšíření

rtNEAT

V roce 2003 navrhl Stanley rozšíření NEAT, které umožňuje evoluci probíhat v reálném čase, nikoli prostřednictvím iterace generací, jak je používá většina genetických algoritmů. Základní myšlenkou je podrobit populaci neustálému hodnocení pomocí „celoživotního“ časovače na každého jednotlivce v populaci. Když vyprší časovač sítě, prozkoumá se její aktuální fitness opatření, aby se zjistilo, zda spadá blízko dna populace, a pokud ano, je vyřazeno a nahrazeno novou sítí od dvou rodičů s vysokou kondicí. Pro novou síť je nastaven časovač, který je umístěn do základního souboru pro účast na průběžných hodnoceních.

První aplikací rtNEAT je videohra s názvem Neuro-Evolving Robotic Operatives nebo NERO. V první fázi hry jednotliví hráči nasazují roboty na „pískovišti“ a trénují je na požadovanou taktickou doktrínu. Jakmile byla vycvičena kolekce robotů, druhá fáze hry umožňuje hráčům postavit své roboty v boji proti robotům vycvičeným jiným hráčem, aby zjistili, jak dobře jejich tréninkové režimy připravily své roboty na bitvu.

Fázované prořezávání

Rozšíření NEAT od Ken Stanley, vyvinuté Colinem Greenem, přidává periodické prořezávání síťových topologií kandidátských řešení během procesu evoluce. Tento dodatek se zabýval obavou, že neomezený automatizovaný růst by vytvořil zbytečnou strukturu.

HyperNEAT

HyperNEAT se specializuje na vývoj struktur ve velkém měřítku. Původně byl založen na CPPN teorie a je aktivní oblastí výzkumu.

cgNEAT

Content-Generating NEAT (cgNEAT) vyvíjí vlastní obsah videohry na základě preferencí uživatele. První videohra, která implementuje cgNEAT, je Galactic Arms Race, vesmírná střílečka, ve které se vyvíjejí jedinečné částicové zbraně na základě statistik využití hráčů.[3] Každá zbraň částicového systému ve hře je ovládána vyvinutým CPPN, podobně jako evoluční technika v NEAT částice interaktivní umělecký program.

odNEAT

odNEAT je online a decentralizovaná verze NEAT určená pro systémy s více roboty.[4] odNEAT se během provádění úkolu provádí přímo na palubních robotech, aby neustále optimalizovali parametry a topologii řadičů založených na umělé neuronové síti. Tímto způsobem mají roboti provádějící odNEAT potenciál přizpůsobit se měnícím se podmínkám a naučit se nové chování při plnění svých úkolů. Online evoluční proces je implementován podle fyzicky distribuovaného modelu ostrova. Každý robot optimalizuje interní populaci kandidátských řešení (variace uvnitř ostrova) a dva nebo více robotů si vymění kandidátní řešení, když se setkají (migrace mezi ostrovy). Tímto způsobem je každý robot potenciálně soběstačný a evoluční proces vydělává na výměně ovladačů mezi více roboty pro rychlejší syntézu účinných ovladačů.

Viz také

Reference

  1. ^ A b Kenneth O. Stanley a Risto Miikkulainen (2002). "Vývoj neuronových sítí prostřednictvím rozšiřujících topologií". Evoluční výpočet 10 (2): 99-127
  2. ^ Matthew E. Taylor, Shimon Whiteson a Peter Stone (2006). "Porovnání metod evolučních a časových rozdílů v oblasti učení výztuže". GECCO 2006: Sborník konferencí o genetických a evolučních výpočtech.
  3. ^ Erin J. Hastings, Ratan K. Guha a Kenneth O. Stanley (2009). "Automatické generování obsahu ve videohře závodu Galactic Arms". Transakce IEEE o výpočetní inteligenci a AI ve hrách, svazek 4, číslo 1, strany 245-263, New York: IEEE Press, 2009.
  4. ^ Silva, Fernando; Urbano, Paulo; Correia, Luís; Christensen, Anders Lyhne (2015-09-15). "odNEAT: Algoritmus pro decentralizovanou online evoluci robotických ovladačů". Evoluční výpočet. 23 (3): 421–449. doi:10.1162 / evco_a_00141. hdl:10071/10504. PMID  25478664. S2CID  20815070.

Bibliografie

Implementace

externí odkazy