User Tools

Site Tools


cogsci:ui

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cogsci:ui [2009/06/19 01:29]
vlatko_dz
cogsci:ui [2009/06/22 17:14]
breakk
Line 298: Line 298:
  
 vyhodnocovacia funkcia f(u) = g(u) + h(u)  vyhodnocovacia funkcia f(u) = g(u) + h(u) 
 +
 g(u) - cena cesty g(u) - cena cesty
 +
 h(u) - odhad vzdialenosti k cielu h(u) - odhad vzdialenosti k cielu
  
Line 1290: Line 1292:
  
 materialy: kniha UvodDoNS: {{:cogsci:chapter_07.pdf|}}; Farkasove slidy: {{:cogsci:som.4x.pdf|}}; na Wikipedii si to snad najdete sami :)) materialy: kniha UvodDoNS: {{:cogsci:chapter_07.pdf|}}; Farkasove slidy: {{:cogsci:som.4x.pdf|}}; na Wikipedii si to snad najdete sami :))
- 
 ==== 13. Rekurentné neurónové siete, architektúry, spôsoby učenia, úlohy s časovým kontextom (klasifikácia   sekvencií, predikcia) ==== ==== 13. Rekurentné neurónové siete, architektúry, spôsoby učenia, úlohy s časovým kontextom (klasifikácia   sekvencií, predikcia) ====
 +
 +**Motivácia**: k jednému vstupu viacero výstupov, v závislosti od  časového kontextu. Viacvrstvová sieť by mala byť rozšírená o možnosť reprezentovať  časový kontext, aby tak mohla na základe predloženého vstupu lepšie rozhodnúť o výstupe. 
 +
 +Príklad – paralela: **Mealyho automat** 
 +  * generuje postupnosti znakov z množ. {α, β}
 +  * nedá sa simulovať normálnymi doprednými ANN 
 +  * V informatice se pojmem Mealyho stroj označuje konečný automat s výstupem. Výstup je generován na základě vstupu a stavu, ve kterém se automat nachází. To znamená, že stavový diagram automatu bude pro každý přechod obsahovat výstupní signál.
 +  * [[http://en.wikipedia.org/wiki/Finite_state_machine|viac o konečných automatoch]] alebo [[http://cs.wikipedia.org/wiki/Mealyho_automat|stručne v češtine]] 
 +
 +{{:cogsci:rnn1.png|}} 
 +
 +
 +**Riešenie**: pridáme do siete tzv. kontextovú vrstvu, ktorá si „pamätá“ výstup z predošlého času, ktorý sa dá chápať ako akási vnútorná pamäť siete (v Mealyho automate: info o stave, na obr. 1,2,3). 
 +
 +
 +=== Architektúry ===
 +
 +**Elmanova sieť**
 +  * najznámejšia a najjednoduchšia architektúra
 +  * kontextová vrstva = skrytá vrstva z predošlého kroku: t-1
 +  * rozpoznávanie sekvencií, predikcia, dopĺňanie krátkych sekvencií 
 +
 +{{:cogsci:elman.png|}}
 +
 +
 +
 +**Jordan**
 +
 +{{:cogsci:jordan.png|}}
 +
 +  * ak pridáme **decay units** – pre obsah kontext. vrstvz v t+1 zoberieme časť obsahu kontextovej vrstvy z t-1: C<sub>i</sub>(t+1) = y<sub>i</sub>(t) + αC<sub>i</sub>(t-1) 
 +  * schopnosť nie len rozpoznávať sekvencie ale aj generovať sekvencie rôznej dĺžky
 +  * možnosť: **teacher forcing** = pri učení nahradíme kontextovú vrstvu žiadaným výstupom v t-1
 +
 +
 +
 +**Bengio**
 +
 +{{:cogsci:bengio.png|}}
 +
 +
 + 
 +**Williams a Zipser**
 +
 +{{:cogsci:williams+zipser.png|}}
 +
 +  * plne prepojená rekurentná NS
 +
 +
 +**Mozer a Stornetta**
 +
 +{{:cogsci:mozer+stornetta.png|}} 
 +
 +  * lokálna rekurzia = neurón je rekurentne spojený iba sám so sebou, tzv. local-recurrent-global-feedforward networks.
 +
 +
 +
 +=== Učenie ===
 +
 +**Backpropagation through time**
 +  * učenie spätným šírením chyby v čase
 +  * rozvinutie rekurentnej siete v čase do potenciálne mnohovrstvovej doprednej siete a použití klasického backpropu
 +
 +{{:cogsci:bptt.png|}} 
 +
 +  * v praxi stačí rozvinúť len niekoľko krokov do minulosti (veľkosť okna)
 +  * vzorec: 
 +{{:cogsci:rnn3.png|}} kde x<sub>i</sub> je aktivita na i-tom neuróne v čase t-1, delta<sub>i</sub> je chyba výstupu (očakávaný – skutočný) a alfa je rýchlosť učenia a 
 +{{:cogsci:rnn4.png|}}
 +
 +  * problém pri sekvenciách neurčenej dĺžky, pretože treba mať veľké okno (sieť potrebuje vidieť ďaleko do minulosti) 
 +
 +
 +
 +
 +**Real time recurrent learning**
 +  * rekurentné učenie v reálnom čase
 +
 +{{:cogsci:rnn5.png|}} 
 +
 +{{:cogsci:rnn6.png|}}
 +
 +  * **Ludove intuitívne vysvetlenie**: pre každú váhu si pamätáme jej **vplyv na aktivitu každého neurónu**. Vplyv váhy //ij// (z neurónu //j// do //i//) na neurón k počítame ako váhovanú sumu vplyvov váhy //ij// na neuróny, ktoré kŕmia neurón //k//. V prípade, že //k// = //i// , pripočítame aktivitu neurónu //j// v čase t-1 (člen delta<sup>kr</sup>…). Celé to vynásobíme deriváciou aktivačnej funkcie. Váhu //ij// upravujeme ako sumu chýb na výstupných neurónoch e<sub>k</sub> násobenú vplyvom váhy //ij// na tieto neuróny ∂s<sub>k</sub>(t)/∂w<sub>ij</sub>.
 +  * výpočtovo veľmi náročné: zložitosť **O(n^4)**, kde n je počet neurónov
 +
 +
 +=== Úlohy pre RNN ===
 +  * **rozpoznávanie postupností**: na vstup prichádzajú znaky, sieť naučená na nejaký automat (gramatiku) signalizuje pozitívne (1) ak znak ešte patrí do postupnosti generovanej automatom a negatívne (0) ak znak už nemôže patriť do postupnosti
 +  * podobne: **dopĺňanie** postupností, **predikcia** ďalších znakov, **generovanie** nových postupností
 +  * simulovanie konečno-stavových automatov – formálnych automatov a jazykov – akéhokoľvek turingovho stroja (výpočtová sila)
 +  * **lingvistické úlohy**: predikcia ďalšieho znaku v slove alebo vete, slova vo vete a pod.
 +
 +
 +===Literatúra:===
 +
 +  * Umelá inteligencia a kogntívna veda I (Kvasnička et. al.)
 +  * Úvod do NS: {{:cogsci:chapter_06.pdf|}}
 +  * Farkašove slajdy: {{:cogsci:rnn.4x.pdf|}}
 +  * TEXT: {{:cogsci:13_rekurentneNS.doc|}}, {{:cogsci:13_rekurentneNS.pdf|}}
  
 ==== 14. Evolučné algoritmy: základné koncepty a mechanizmy, využitie v UI ==== ==== 14. Evolučné algoritmy: základné koncepty a mechanizmy, využitie v UI ====
Line 1355: Line 1455:
 ===Zdroje: === ===Zdroje: ===
 Návrat, P. a kol., Umelá inteligencia, STU BA, 2006 Návrat, P. a kol., Umelá inteligencia, STU BA, 2006
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
cogsci/ui.txt · Last modified: 2009/06/23 23:02 (external edit)