Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Úvod
Prostredie
Genetika
Fyfziológia
Nervový systém a učenie
Správanie
Simulátor
Linky
Literatúra



Ostatné kapitoly
LEE
Framsticks
EINSTein
Nerve garden
Poly World
Simulácia evolúcie rozhodovania
Nornovia
Creatures 3
Primordial Life
Core War
Desktop Garp
Tierra
Avida


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Nervový systém a učenie

Nervový systém je modelovaný neurónovou sieťou. Staršie verzie simulátora boli založené na plne rekurentných neurónových sieťach, čo komplikovalo definovanie neurónových skupín. Súčasná verzia je už založená na čiastočne rekurentných neurónových sieťach.

Vstupmi do nervovej siete (tzv. mozgu) organizmu sú:

  • zrak
  • aktuálna úroveň vnútornej životnej energie a
  • nejaká náhodná hodnota

Výstupom je 7 možných primitívnych prejavov správania organizmu:

  • prijímanie potravy
  • párenie
  • bojovanie
  • pohyb
  • otáčanie
  • sústredenie
  • svietenie

Vnútorné (skryté) neuróny a všetky synaptické spoje nemajú preddefinovanú funkciu, ich použitie je vcelku určené génmi organizmu a tiež náhodným výberom. Tvar nervového systému (mozgu) je úplne popísaný množinou parametrov kódovaných v génoch.

Počet neurónov je pre každú farebnú zložku obrazu získaného zrakom špecifikovaný osobitne kvôli efektívnejšiemu farebnému rozlíšeniu. Zvyčajne je to 1 až 16 neurónov.

Ďalším parametrom je počet vnútorných (skrytých) skupín neurónov. Tých je zvyčajne 1 až 5. Navyše je tu spomínaných 5 vstupných skupín neurónov (červená, zelená, modrá zložka obrazu, úroveň životnej energie a náhodná hodnota) a 7 výstupných skupín neurónov (spomínané prejavy správania).

Každá skupina neurónov má odlišné typy – budiace (excitatory) alebo e-neuróny a tlmiace (inhibitory) alebo i-neuróny. Počet e-neurónov a i-neurónov je špecifikovaný na základe príslušnej skupiny a je zvyčajne medzi 1 a 16 z každého typu. Synaptické spoje z e-neurónov sú vždy budiace (v rozsahu hodnôt od 0 po maximálnu hodnotu váhy), zatiaľ čo z i-neurónov sú vždy tlmiace (v rozsahu hodnôt -1.10-10 až po maximálnu zápornú hodnotu váhy).

Základnou vlastnosťou nervovej sústavy je učenie. V nervovej sústave PolyWorldu sa aplikuje nekontrolované (samoorganizujúce) Hebbovo učenie, ktoré je blízke biologickému systému. Nekontrolované učenie má vo všeobecnosti tú vlastnosť, že prebieha iba na základe vstupu. Neurónová sieť ho sama spracuje a určí výstup.

I keď sa bias každej nevstupnej skupiny neurónov mení počas simulácie, počiatočné hodnoty biasov a ich rýchlosť učenia sú špecifikované podľa príslušnej skupiny neurónov (okrem skupín vstupných neurónov). Biasy sú aktualizované podľa pravidiel Hebbového učenia , akoby boli aktívnym synaptickým spojom, avšak na rozdiel ostatných synapsií, bias môže nadobúdať záporné hodnoty. Zvyčajne sú v rozsahu -1,0 až 1,0 a rýchlosť učenia biasu od 0 po 0,2.

Zostávajúce parametre – hustota spojov (connection density - CD), topologická distorzia (topological distortion - TP), a rýchlosť učenia (learning rate - LR) – sú špecifikované pre každú dvojicu skupín neurónov a typov neurónov. To znamená osobitná hodnota parametra pre dvojicu e-e, e-i, i-i a i-e synaptických spojov medzi každými 2 skupinami.

Hustota spojov (CD) sa používa k určeniu rozsahu spojenia medzi skupinami neurónov. Počet e-e synapsií medzi skupinou i a skupinou j je daný najbližším celým číslom k CDe-e(i,j) * Ne(i) * Ne(j), kde CDe-e(i,j) je hustota spojov e-e medzi skupinami i a j, Ne(i) je počet e-neurónov v skupine i a Ne(j) je počet e-neurónov v skupine j. Podobne vyjadríme aj počet ďalších typov spojov medzi všetkými dvojicami skupín neurónov. CD je číslo v rozsahu 0,0 až 1,0.

Rýchlosť učenia (LR) riadi proces Hebbovho učenia na synapsiach medzi každou dvojicou skupín neurónov. Je medzi 0,0 a 0,2.

Kým mozog organizmu „vyrastie“ na základe svojho genómu, váha synaptických spojov je náhodne rozložená medzi minimálnou a maximálnou špecifikovanou hodnotou. Mozog je v tej dobe vystavený sekvencii fingovaných vizuálnych vstupov pozostávajúcich z náhodného šumu na istý stanovený počet časových cyklov. To všetko je pred narodením. Pri takomto prístupe je zbytočné ukladať nejaké synaptické váhy do génov.

Po narodení sú vstupné neuróny v každom časovom cykle nastavené na príslušné hodnoty a to na základe aktuálnych vizuálnych podnetov, aktuálnej úrovne životnej energie a nejakej náhodnej vstupnej hodnoty. Nové aktivity neurónov sa vypočítajú podľa jednoduchého vzorca:

xi = ajt sijt

ait+1 = ( 1 + e-αx i )-1

kde:
aijt je neurónová aktivita neurónu v čase t (začiatok príslušného časového cyklu)
sijt je synaptická váha spoja z neurónu j do neurónu i v čase t
aijt+1 je neurónová aktivita neurónu v čase t+1 (koniec príslušného časového cyklu) α je špecifikovateľná logaritmická strmosť

Synaptické váhy sú následne upravené podľa Hebbovho pravidla :

sijt+1 = sijt + ηklc(ait+1 – 0.5)(ajt – 0.5)

kde:
sijt+1 je synaptická váha spoja z neurónu j do neurónu i v čase t+1
ηklc je rýchlosť učenia pre spojenia typu c (e-e, e-i, i-i alebo i-e) zo skupiny l do skupiny k

Na synaptické váhy môže byť aplikovaný aj voliteľný multiplikatývny útlm.

Toto zjednodušené pravidlo Hebbovho učenia je iba istou abstrakciou komplikovanejších procesov pozorovaných v reálnych nervových systémov. Na základe simulácií Linskera, Pearsona a ostatných a taktiež na základe výsledkov Linskerovej teoreticko-analytickej práce na takýchto systémoch však môžeme tento vzorec považovať sa dostatočne spoľahlivý v modeli učenia použitého v PolyWorlde. Počas simulácie môžu byť monitorované neurónové a synaptické aktivity istého počtu organizmov.

Prvé simulátory PolyWorldu mali jednoduchšie, plne rekurentné neurónové architektúry. Aj keď nereprezentovali v dostatočnej miere reálne nervové systémy, postačovali na vyvinutie prijateľných simulovaných stratégií prežitia.

Na obrázku hore sú zobrazené tri diagramy neurónových architektúr vyvinutých v PolyWorlde. Príslušný odtieň sivej farby vyjadruje aktivitu neurónov (medzi 0.0 a 0.1) a synaptických váh (medzi –maxEfficacy a +maxEfficacy, kde maxEfficacy je maximálna synaptická váha).

V najspodnejšom riadku mriežky je vyrovnávacia pamäť pre farebné vizuálne vstupy. Aktivita neurónov na začiatku časového cyklu je znázornená v riadku nad ním (zahŕňajúc vstupné neuróny pre červenú, zelenú a modrú zložku vstupného vizuálneho obrazu, pre energiu a pre náhodnú vstupnú hodnotu). Bielymi rámcami sú tu ohraničené jednotlivé neurónové skupiny okrem vizuálnych, ktoré sú ohraničené im zodpovedajúcou farbou zložky.

Čiernou farbou sú ohraničené synapsie medzi neurónmi, neohraničené polia sú oblasti s nulovým synaptickým spojom. Synapsie, ktoré sú zakreslené farbou svetlejšou ako je farba pozadia, sú stimulujúce, synapsie zakreslené farbou tmavšou sú tlmiace.

Prvý stĺpec vľavo znázorňuje neurónové biasy. Aktivita nevstupných neurónov na konci časového cyklu je znázornená v bezprostredne susediacom stĺpci. Aj tu sú neurónové skupiny ohraničené bielymi rámcami.

Diagram je teda dynamický a v príslušnom časovom cykle znázorňuje stav aktivity neurónov a ich synapsií.

Hore
Kontakt: Marek Bundzel