Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
EVOLUČNÁ ROBOTIKAprednáška č. 2
František Mráz, KSVI MFF UK
Učenie robotov – robot learning
Riadiaci systém robota (napr. neurónová sieť) je učený na neúplných dátach a potom sa spolieha na generalizáciu.Často sa učí zobrazenie zo stavu senzorov na stav motorov, alebo učenie nejakého subsystému.Od metódy učenia, napr. spätným šírením (back-propagation), odloženým učením (reinforcement learning), klasifikátory, samoorganizujúce sa mapy (self-organized maps), závisí ako sa učia.Samoorganizácia spoločná pre učenie robotov i ERrozdiely
miera role učiteľaER sa neobmedzuje iba na učenie riadenia (napr. i návrh hardware)
Umelý život – artificial life
Napodobenie života simuláciou – napodobovanie vzájomných reakcií rôznych entítZáklady
teória dynamických systémov – popis na viacerých úrovniach, globálne správanie na jednej úrovni vzniká lokálnou interakciou jednotlivých prvkov nižšej úrovne a v podstate sa nedá predpovedaťpočítačové experimenty – nutné veľké zjednodušenia
pre návrh robotov je nutné uvažovať fyzikálne vlastnosti, ER zdôrazňuje vývoj na reálnych robotoch
Umelý život – artificial life
Význam ER pre iné obory
Pre inžinierov:zložitosť návrhu reaktívnych systémov – ako rozložiť na jednoduchšie podúlohy na základe znalosti globálneho chovaniaklasický návrh – percepcia, plánovanie, vykonávanienovší – chovanie rozložiť na základné chovania a pridať ich koordináciu
možnosť postupného (inkrementálneho) návrhuzákladné chovania a koordinácia sa dajú učiť
aj tak ako zvoliť základné chovania?Popis chovania – zvonka vs. zvnútra
vonkajší popis vyžaduje vedieť aj niečo o vnútrajšku (robot môže napr. meniť svoje okolie)
Príklad
Pr. úloha pre Kheperu: nájsť objekt v pravouhlom bludisku a zostaťv jeho blízkosti
ručná dekompozícia1. Prieskum2. Vyhýbanie sa stenám3. Priblíženie k cylindru a zotrvanie v jeho blízkosti4. Rozpoznanie cylindru od stien
na každé správanie sa naučila neurónová sieť, ale dohromady sa to nepodarilo spojiťER prístup: geneticky sa hľadá riadenie iba na základe hodnotenia konkrétneho robota
Etológia – štúdium chovania živočíchov
Populácieekosystémyspoločenstvá
organizmy
orgánybunkymolekuly
SUPERORGANIZMUS
ORGANIZMUS(správanie / vedomie)
nervový systém
SUBORGANIZMUS
Evolučná biológiaekológiasociológia
psychológianeurológia
anatómia/fyziológiabiológia bunkygenetikamolekulárna biológia
Modelovanie chovania
Chovanie je senzorovo-motorická koordináciaadaptívne chovanie sa ťažko navrhuje. Každá motorická akcia má 2 následky:
čiastočne ovplyvňuje ako dobre agent (robot) vykonáva určenú činnosťčiastočne určuje čo „ucíti“ v ďalšom kroku, čo môže rozhodnúť či agent danú úlohu vyrieši alebo nie
elementárna akcia môže mať dlhodobé následkypr. krysa v bludisku
EVOLUČNÁ ROBOTIKA A BIOLÓGIA
Prirodzená evolúcia: čo umožnilo, že úspešne vyvinula výborne adaptované formy života? Evolúcia robotov: za akých podmienok adaptácia v umelom prostredí vedie k vývoju komplikovaných schopností?Možné prístupy:a) postupná (inkrementálna) evolúcia spôsobená súperením v rámci
jedného druhu alebo medzi rôznymi druhmi;b) systém bez vonkajšieho dohľadu (riadenia), ktorý si musí sám
z prostredia extrahovať informácie potrebné na riadenie vývojac) zahrnúť zobrazenie z genotypu do fenotypu do evolučného procesu
Inkrementálna evolúcia –bootstrap
Problém: ako má umelá evolúcia vyberať jedincov, ktorí majúschopnosti vhodné na riešenie zložitých úloh?Ako sa pri prirodzenom vývoji objavujú nové schopnosti (napr. lietanie)?
V prírode iba jedno kritérium: schopnosť reprodukcie
Keď chceme nájsť jedincov schopných riešiť danú úlohu, tak ich môžeme vyberať podľa ich schopnosti riešiť danú úlohu
funguje iba na jednoduché úlohy, pre zložité úlohy všetci jedinci v počiatočnej generácii dostanú rovnaké nulové ohodnotenie – selekcia nemôže fungovať – problém inicializácie – “bootsprap problem“
A. S vyššou mierou dohľadu: experimentátor do selekčného kritéria pridá ohodnotenie za podúlohy
inkrementálna evolúcia: evolúcia sa začne so zjednodušenou úlohou, potom sa postupne jej zložitosť zvyšuje zmenou selekčných kritérií (fitness funkcie)Príklad: Robot má ísť k farebnému obdĺžniku a má sa vyhnúťtrojuholníku1. Nájdi farebnú stenu.
2. Nájdi farebný obdĺžnik.
3. Nájdi farebný obdĺžnik a vyhýbaj sa trojuholníku.
Bootstraping 1 – inkrementálna evolúcia
Bootstraping 2 – ko-evolúcia
B. Bez zvýšeného dohľadu: inkrementálna evolúcia môže vzniknúť i samo-organizáciou pri súperiacich populáciách s prepojenou fitnessfunkciou – ko-evolúcia
Príklad: evolúcia dvojice „dravec – korisť “fitness:
• dravec – schopnosť chytiť korisť• korisť – schopnosť utiecť dravcovi
evolučné preteky v zbrojeníaj keď sa selekčné kritérium nemení, tak je adaptácia postupne ťažšia a ťažšia
Využitie prostredia na riadenie evolúcie
Prostredie nedáva priamo návod ako má agent postupovať, aby dosiahol cieľInformácia o prostredí získaná zo senzorov sa dá využiť nielen na určenie agentovej reakcie, ale i na adaptáciu na prostredie po celúdobu života agenta – celoživotné učenie – ontogenetická adaptáciaprincipiálne každá schopnosť, ktorá sa dá naučiť pri celoživotnom učení, sa dá získať i evolúciou – fylogenetická adaptáciaceloživotné učenie sa od evolučného učenia líši tým, že pri celoživotnom učení máme síce málo špecifickú, ale veľmi bohatúspätnú väzbu, pri evolúcii sú jedinci ohodnotení iba raz – jediným číslom, ktoré hovorí ako si viedli za celý život (počet potomkov pri prírodnej evolúcii, fitness pri umelej evolúcii)
Celoživotné učenie
pri celoživotnom učení dostávame mnoho vstupov zo senzorov, ale tie o celkovej úspešnosti vypovedajú iba veľmi nepriamo a transformovať tieto vstupy na informácie ako dobre si vedie a akéakcie má agent vykonať, je veľmi ťažképrirodzená evolúcia to rieši tak, že vyvíja podsystémy schopnéextrahovať informácie pre rýchle celoživotné učenie.to už bolo vyskúšané v počítačových experimentoch
riadiaci systém sa rozdelil na dve časti jedna počítala ako reagovať na aktuálny stav senzorov a druhá generovania učiace signály pre prvú. Každá z týchto častí bola neurónová sieťpodobné výsledky priniesli experimenty, keď sa evolučne vyvíjali neurónové siete, ktoré mohli meniť svoju topológiu v evolučnom vývoji a mohli sa učiť pri celoživotnom učení
Celoživotné učenie
zrejme to čo sa dá získať evolúciou a učením, sa dá získať aj iba samotnou evolúciouevolúciou môžu vzniknúť dva druhy jedincov schopných dobre fungovať premenlivom prostredí1. plastic general – nemajú obecnú stratégiu, ale sú schopné sa
prispôsobiť v priebehu života prostrediu, v ktorom sa nachádzajú2. full general – má obecnú stratégiu vhodnú pre rôzne typy prostredí,
teda sa v priebehu života nemusí prispôsobovaťMôže sa však stať, že full general sa nedá vytvoriť (neexistuje, alebo je príliš zložitý na to aby ho selekcia vybrala).Ukazuje sa, že v niektorých prostrediach úplne obecné stratégie neexistujú, alebo je ťažké ich nájsť, ale súbor jednoduchých stratégií vhodných v rôznych situáciách sa dá nájsť jednoducho.
Celoživotné učenie
Zatiaľ existuje iba málo experimentálnych dôkazov, že v evolučnej robotike môže evolúcia spolu s učením vyvinúť zložitejšie schopnosti, než samotná evolúcia
Vývoj a evolúcia vyvíjateľnosti
Genotyp – sada charakteristických vlastností udržovanáv reprodukovanej populácii alebo tiež genetický základ jednej alebo skupiny charakteristických vlastnostíFenotyp – prejav genotypu vo forme správaní závislý na konkrétnom prostredív prírode jedinci s tým istým genotypom si môžu v rôznych prostrediach rozvinúť rôzne vlastnosti (správania)
vývoj = rast organizmu
v evolučnej robotike ide o problém zobrazenia z genotypu do fenotypu alebo problém reprezentácie
Zobrazenie genotypu na fenotyp
najjednoduchšie je vzájomne jednoznačné zobrazeniev ER sa používajú aj zložitejšie formya) rôzne organizačné úrovne (genotyp, nervový systém, chovanie)
usporiadané v hierarchiib) inštrukcie pre rast, ktoré sú rekurzívnec) plasticitad) genotyp s premenlivou dĺžkou
pri prírodnej evolúcii je do evolučného procesu zahrnuté aj samotné zobrazenie z genotypu do fenotypupri umelej evolúcii je toto zobrazenie väčšinou zostavenéexperimentátorom
EVOLUČNÉ A NEURÓNOVÉTECHNIKY
Základné okruhyevolučné algoritmy – genetické algoritmyneurónové sietekombinácie evolučných algoritmov a neurónových sietígenetické programovanie
Evolúcia riadiacich systémov pre roboty už bola aplikovaná nariadenie neurónovými sieťamiparametre pevného riadiaceho programusamotný počítačový program
GENETICKÉ ALGORITMY (GA)
Holland 60. roky 20. stor. Populácia umelých chromozómov sa cyklicky podrobuje
selektívnej reprodukcii preferujúcej výkonnejších jedincov a náhodným zmenám
Umelý chromozóm (genotyp) = reťazec symbolov kódujúci vlastnosti jedinca (fenotyp)
napr. binárna hodnota premennej alebo postupnosť hodnôt premennýchmnoho typov kódovaní
binárne, Greyov kód, reálne hodnoty
abecedy – napr. binárna, ternárna, …
Fitness funkcia (účelová, cieľová funkcia) – kritérium výkonnosti, zobrazenie: genotyp → reálne (celé) číslo
čím vyššia hodnota, tým je jedinec lepší
GA – fitness funkcia
R→Φ genotyp:
M
Φ(x)
populácia fitness
12824
M
14
Genetické algoritmy
Jednoduchý genetický algoritmus (Goldberg 1989)
vytvor populáciu N náhodne vygenerovaných chromozómov x1, x2, …, xN
opakujdekóduj všetky chromozómy a spočítaj ich fitness fi = Φ(xi)vytvor novú populáciu selektívnou reprodukciourekombinuj chromozómy – kríženiemutuj chromozómy
skonči, keď sa objaví hľadaný jedinec, alebo fitness najlepšieho nerastie
Jednoduchá selekcia
Zo starej populácie vytvárame novú kopírovaním chromozómov tak, že čím lepší jedinec, tým viacej jeho kópií sa môže objaviť v novej populáciireprodukcia ruletou:
každý jedinec dostane na kole rulety priehradku veľkosti pi úmernej jeho fitness funkcii – to bude pravdepodobnosť, že bude reprodukovaný (predpokladáme nezápornú fitness funkciu)
ruletou sa otočí N krát
∑=
= n
jj
ii
f
fp
1
p1= 0.25
p2= 0.1
Varianty selekcie 1
Problémy jednoduchej selekciea) keď všetci jedinci majú podobnú fitness
náhodné prehľadávanie s genetickým posunom
b) keď jeden až dvaja jedinci majú fitness o mnoho vyššiu než zvyšok populácie
takmer všetci jedinci v novej generácii budú kópiou toho istého jedinca, predčasná konvergencia
Riešenie:1. škálovanie [scaling] (typicky lineárna transformácia)
pre a) zväčšiť rozdiely, pre b) zmenšiť
2. selekcia podľa poradia [rank based] – jedinci sa zoradia podľa fitness a pravdepodobnosť reprodukcie je úmerná poradiu jedinca, nie jeho fitness
Varianty selekcie 2
3. S orezávaním [truncation] – jedincov usporiadame podľa veľkosti fitness, M najlepších jedincov okopírujeme O krát tak, že N = M xO
4. Turnajom [tournament] – náhodne sa vyberú 2 jedinci a vygeneruje sa náhodné číslo r ∈ <0,1>, ak je r < T, kde T ∈<0,1> je preddefinovaný parameter, tak bude okopírovaný jedinec s vyššou fitness inak ten druhý
Pri ďalších genetických operáciách sa môže doteraz najlepší jedinec stratiť. Pomoc: elitizmus [elitism] – S najlepších jedincov je bez zmeny okopírovaných do novej generácie
Kríženie
Jedinci sú náhodne spárovaní a každý pár je s danou pravdepodobnosťou skrížený
Jednobodovékríženie
Viacbodovékríženie
Nedeterminizmus
Celý GA je nedeterministický, používa náhodné veličinyTypicky sa sleduje priemerná a maximálna fitness, GA sa zastaví, keď je dosiahnutá dopredu zadaná hodnota fitness, alebo zadaný počet generácií, alebo sa fitness v priebehu niekoľkých generáciínemení.Následne sa GA spúšťa opakovane aj s pozmenenými parametramiVýsledkom je najlepší jedinec vybraný z finálnych generácií zo všetkých behov GA
Fitness krajina – „fitness landscape“
Fitness si môžeme predstaviť ako mnohorozmernú nadrovinu udávajúcu hodnotu fitness vo všetkých možných hodnotách genotypu – fitness krajina s kopcami a údoliami; pre chromozóm dĺžky 1 je to funkcia jednej premennej
Fitness
Priestor genetických vlastností
Max. fitness
generácie
Schémy
Chromozóm = reťazec dĺžky m nad k-prvkovou abecedouSchéma = reťazec dĺžky m nad (k+1)-prvkovou abecedou
schéma s r hviezdičkami reprezentuje kr reťazcovkaždý reťazec dĺžky m je reprezentovaný (k+1)r schémamirád schémy S: o(S)= počet pevných symbolov (nie *)(definičná) dĺžka schémy S: δ(S)= vzdialenosť medzi prvou a poslednou pevnou pozíciou v schémePríklad:
o(S) δ(S)S1=(***001*110) 6 6S2=(****00**0*) 3 4S3=(11101**001) 8 9
Schémy
pop_vel = počet jedincov v populáciiξ(S,t ) = počet reťazcov v populácii v čase t, ktoré sú
reprezentované schémou SΦ(S,t ) = fitness schémy v čase t = priemerná fitness
reťazcov reprezentovaných schémou S
kde sú reťazce z P(t ) pokryté schémou Spravdepodobnosť, že x∈ P (t ) bude vybrané selekciou do P (t+1 ) je
( ) ( ) ( )( ) ,
,,
,
∑=
Φ=ΦtS
ji j
xtS
tSξ
ξ 1
1
{ }),(
,,tSii xx
ξK
1
( )( ) ( ) ( ) populácie fitness je kde , ∑
=
Φ=Φ
=N
jixtF
tFxp
1
Schémy a selekcia
Po selekcii očakávame ξ(S,t+1 ) reťazcov pokrytých schémou S
kde je priemerná fitness popuácie P (t )teda “nadpriemerná” schéma pokryje v nasledujúcej generácii viacej reťazcov – ak by platilo pre prvých t generácií
tak tj. počet reťazcov reprezentovaných “nadpriemernou” schémou rastie geometrickou postupnosťou
( ) ( ) ( )( ) ( ) ( )
( )tFtStS
tFtSpop_veltStS ,,,,, Φ
⋅=Φ⋅⋅=+ ξξξ 1
( )tF
( ) ( ) ( ) 0 nejaké pre , >+⋅≥Φ εε1tFtS
( ) ( ) ( )tStS εξξ +⋅≥ 10,,
Pravdepodobnosť, že schéma bude zmenená (zničená) krížením
teda pravdepodobnosť zachovania príslušnosti k schéme bude
ALE:kríženie nastáva iba s pravdepodobnosťou pk
aj keď je bod kríženia “vo vnútri schémy”, tak schéma môže prežiť
teda pravdepodobnosť zachovania schémy je
selekcia + kríženie:
**** ****
Schémy a kríženie
( )1−m
Sδ
( )1
1−
−m
Sδ
( )1
1−
⋅−≥m
Spp kzδ
( ) ( ) ( )( )
( )⎥⎦⎤
⎢⎣⎡
−−⋅
Φ⋅≥+
111
mSp
tFtStStS k
δξξ ,,,
Schémy a mutácia
Ak mutácia zmení v reťazci jeden z pevných symbolov schémy, tak reťazec nebude schémou pokrytý; pravdepodobnosť, že mutácia nezmení žiaden z pevných symbolov schémy je
selekcia + kríženie + mutácia:
schéma S “prežíva” dobre, ak je krátka (δ(S)) a malého rádu (o(S))
( ) ( ) ( ) 111 <<⋅−≈− mmSo
m ppSop pretože
( ) ( ) ( )( )
( ) ( )[ ]
( ) ( )( )
( ) ( ) ⎥⎦⎤
⎢⎣⎡ ⋅−
−−⋅
Φ⋅≥
⋅−⋅⎥⎦⎤
⎢⎣⎡
−−⋅
Φ⋅≥+
mk
mk
pSom
SptFtStS
pSom
SptFtStStS
11
11
11
δξ
δξξ
,,
,,,
Veta o schémach
Veta o schémach (Schema Theorem): Schémy, ktoré sú krátke, majú nízky rád a sú nadpriemerné, pokrývajú exponenciálne rastúci počet reťazcov v po sebe idúcich generáciách genetického algoritmuHypotéza o stavebných blokoch (Building blockHypothesis): Genetický algoritmus hľadá riešenie blízke optimu reťazením krátkych schém s nízkym rádom nazývaných stavebnébloky.
Nie je to veta!Niekedy stavebné bloky znemožnia nájdenie optimaHolland spočítal, že za určitých podmienok môže genetický algoritmus v jednom kroku spracovať až n3 krátkych schém, ale funguje to iba ak je možné „dobré“ vlastnosti kódovať takýmito schémami – variácie GA
Sú GA dobrou simuláciou biologickej evolúcie?
Evolúcia nekončí a nezačína vždy od nuly (bootstraping)SAGA – Species Adaptation Genetic Algorithm: premenná dĺžka genotypu, značne skonvergovaná populácia sa mení postupnými mutáciami, nie kríženímNeutrálne siete – drobné náhodné zmeny v genotype nemusia meniťfitness, ale môžu populáciu posunúť inam
fitness krajina môže byť sústava prepojených neutrálnych sietí s rôzne vysokými hodnotami fitness„prázdne“ úseky DNA
Ďalšie variácie GA – spojenie s „dospievaním“ a učením – fitness sa mení v priebehu života jedincaČO SA NEMENÍ: a) genetická reprezentácia jedinca
b) autonómna interakcia s prostredím
Vylepšenia genetických algoritmov
Delenie na druhyna genotype sa definuje vzdialenosť = miera podobnosti jedincov1 druh = množina podobných jedincovŠpeciálny typ kríženia – iba v rámci druhu (predpoklad, že krížením podobných jedincov vznikne podobný, teda funkčný jedinec)Ochrana nových druhov
Po obmedzenú dobu od vzniku nového druhu jedinci pri selekcii sú vyberaníiba na základe fitness pre jedincov ich vlastného druhu
Premenlivá veľkosť populácieOptimálna veľkosť populácie sa ťažko určujeStarnutie
Pri vzniku nového jedinca je mu (podľa jeho fitness) nastavený max. vek = max. počet generácií, než bude jedinec z populácie vyradený
Vylepšenia genetických algoritmov
KódovanieKonečná doména
Pevný počet bitov – čo ak počet prvkov domény nie je mocnina 2?
Celé číslaBinárneGrayov kód
Reálne číslaS obmedzeným rozsahom – binárne kódovanie rovnomerne rozdelených deliacich bodovČísla s pevným počtom desatinných miestČísla s plávajúcou desatinnou čiarkou – ako robiť kríženie a mutácie?