Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||
Bunkové kódovanieBunkové kódovanie používa gramatické stromy na kódovanie krokov vo vývoji neurónových sietí, začínajúc z jedinej prvotnej bunky. Jeho pravidlá sa aplikujú na jednotlivé bunky v rastúcej sieti. ![]() Bunkového kódovanieGramatický strom je na ľavej strane a rast siete je ukázaný zhora dolu v piatich krokoch napravo. Sieť začína na kroku 1 ako jediná bunka. V každom kroku, každá z buniek siete číta zo svojej časti stromu. Bodkované čiary identifikujú umiestnenie v strome, z ktorého každá bunka číta svoj krok. Keď sa bunka delí, jej nástupnícke bunky si zvolia rozdielne cesty v strome. „Inkrementový register spojení“ inštrukcie je spôsob ako bunka vie, na ktoré spojenie má aplikovať nejaké podradené spojové inštrukcie. V tomto príklade sa takáto inštrukcia objavuje hneď po inštrukcii spojového registra, zapríčiňujúc zvýšenie hodnoty spojenia, čo je v sieti reprezentované zhrubnutím čiary. Bias neurónovej aktivácie je reprezentovaný tmavosťou bunky. Vyvíjanie buniek v bunkovom kódovaní číta s rôznych častí gramatického stromu súčasne. Čítacia hlava pre každú bunku indikuje, z ktorej časti gramatického stromu bunka práve číta. Ak bunka načíta končiacu inštrukciu, jej stav je finálny a prestáva čítať. Bunkové kódovanie používa First In Firt Out (FIFO) zásobník buniek na to, aby si zachovala stopu, z ktorej bunky práve spúšťajú inštrukciu a v akom poradí majú byť spúšťané. Bunka na začiatku frontu spúšťa inštrukciu na ktorú jej ukazuje hlava, presunie svoju hlavu na podradenú inštrukciu v gramatickom strome a potom ide na koniec radu. Niekedy bunka načíta inštrukcie na rozdelenie (existuje množstvo metód pre bunkové delenie), v tomto prípade pôvodná bunka presunie hlavu na ľavú časť stromu podstromu a nová na pravú časť. Takto bunkové delenia dovoľujú bunkám s rôznym pôvodom nasledovať rôzne cesty vývoja. |
||
Kontakt: Marek Bundzel |