Autor: Martin Kot

Referát do předmětu neuronové sítě

Zpracování časově závislých dat

Klasické rozpoznávání vzorů a s tím i velká část aplikací neuronových sítí se většinou týká detekce systematických vzorů v souboru měření, které jsou neměnné v čase (statických vzorů). Typické aplikace vyžadují klasifikaci vstupních vektorů do jedné z několika tříd (analýza diskriminantů), nebo přibližný popis závislosti mezi pozorováními. Když vezmeme v úvahu i změny v čase, musíme přidat nový rozměr. Ačkoliv většina takových problémů může být stále vnímána jako statické rozpoznávání vzorů, přidává se zde několik zajímavých aspektů. Oblast analýzy takových prostorově-dočasných dat (tzn. dat, která mají prostorovou a dočasnou složku) je obvykle označována jako time series processing nebo temporal processing.

Teoreticky je vstupní vektor souvislou funkcí času. V praxi se čas bere jako množina diskrétních hodnot v nějakých intervalech. Proto se také mluví o časových sekvencích nebo sériích. V mnoha případech jsou hodnoty dostupné jen v diskrétních časových krocích (např. cena zboží každou hodinu nebo každý den), což přímo odpovídá časové sérii. Jindy jsou data sčítána nebo průměrována za nějaké období (např. počet narozených dětí za měsíc). Když je čas opravdu spojitý, musí se interval zvolit. Toto se nazývá vzorkování (sampling). Úzce spjato se vzorkováním je zpracování signálů. Na sériích se provádí:

Ke zpracování časových sérií lze použít mnoho typů neuronových sítí. Většina z nich byla původně definována pro rozlišení statických vzorů a časová dimenze je přidána nějakým vhodným způsobem. Příklady sítí, které se na časové řady používají:

V tomto referátu si ukážeme podrobněji několik možných aplikací neuronových sítí, které lze užít na časové řady. Podívejme se nejprve na klasický model vícevrstvého perceptonu. Je to statická struktura, která zobrazuje vstupní vektor x na výstupní vektor y. Tato síť je vhodná především k rozpoznávání vzorů, kde jak oba vektory představují prostorové vzory nezávislé na čase.

Standardní model s algoritmem Back Propagation můžeme využít k nelineární predikci stacionárních časových řad.

Vstupní vektor x je pak tvořen p vzorky x(n-1), ... , x(n-p), kde x(n) představuje vstupní signál v n-tém časovém kroku a p je tzv. řád predikce. Síť má jeden výstup y(n), který představuje odhad časové řady v n-tém kroku (x(n)). Je to statický model, všechny jeho parametry mají po celou dobu výpočtu pevné hodnoty.

Čas je nedílnou součástí mnoha reálných úloh, a proto byla navržena celá řada modelů vhodných právě pro tyto problémy. Bereme-li v úvahu čas, potřebujeme především zabudovat do modelu paměť.

S několika řešeními tohoto problému Vás seznámím v následujících kapitolách. Jsou to jednak tzv. FIR model neuronu a FIR-vícevrstvé sítě s modifikovaným algoritmem Back Propagation a dále několik rekurentních modelů.

FIR multilayer perceptron

FIR model neuronu

Motivací byla zřejmě myšlenka, reprezentovat paměť pomocí časového zpoždění jednotlivých synapsí. To znamená, že výstup synapse v čase t závisí nejen na signálu na vstupu synapse v čase t, ale i na vstupním signálu v předchozím časovém intervalu <t-T,t>.

Obrázek 1: Prostoročasový model neuronu

 

Synapse je modelována lineárním, časově invariantním filtrem, který je určen svou impulsní odezvou hji(t). Odezva synapse ui(t) na vstupní signál xi(t) je pak dána vztahem

Aktivace daného neuronu v čase t se tedy spočítá

Synaptický filtr musí splňovat dvě podmínky:

hji(t)=0, t<0

(synapse nemá žádnou odezvu, dokud nebyl předložen vstup)

hji(t)=0, t>T

(synapse má konečnou paměť)

Takovýto filtr se nazývá Finite-duration Impulse Response Filter a tento model neuronu FIR-model.

Konvoluční integrál se při výpočtu nahrazuje sumou(viz. obr. 2) a spojitá proměnná t diskrétní časovou proměnou n.

Pozn.: Pro zjednodušení můžeme předpokládat, že hji=wji*h0(t) pro všechna i,j, kde h0(t) je nějaká typická impulsní odezva a wij určuje její sílu a znaménko. Oblíbená volba h0(t) je (1/T)exp(-t/T), což je impulsní odezva jednoduchého RC obvodu. Proto se tento model nazývá RC-model.

Obrázek 2: Časový filtr

FIR vícevrstvá neuronová síť

Vezmeme-li architekturu klasického vícevrstvého perceptronu a nahradíme-li perceptrony FIR modelem neuronu, dostaneme tzv. FIR multilayer perceptron. K učení sítě použijeme učení s učitelem, kde v každém časovém kroku porovnáme výstup sítě yj(n) s požadovanou odezvou dj(n). Definujeme chybu sítě:

j je neuron z výstupní vrstvy.

Naším cílem je pak minimalizovat chybovou funkci

Jedna z možností, jak síť učit, je tzv. rozklad síťě v čase, který je zřejmý z obrázků č.3. Dostaneme větší statickou síť, kterou pak učíme standardním BP.

 Tento postup je velice neefektivní díky redundantním vahám v nové síti. Ztrácí se tu symetrie mezi dopřednou propagací stavů a zpětnou propagací chyb, neexistuje žádný elegantní rekurzivní vzorec pro výpočet chybové funkce a do třetice, je třeba udržovat informace o tom, které váhy jsou shodné v původní síti.

Tyto problémy překonává algoritmus Temporal Back Propagation, který rozkládá chybovou funkci:

Rekurzivní vzorec pro adaptaci vah pak vypadá takto

kde ní je parametr učení.

Po derivování dostáváme pravidlo:

 

pro neuron j ze vstupní vrstvy

pro neuron vnitřní vrstvy.

M je velikost časového filtru a omega je množina neuronu z následující vrstvy. Dostali jsme v podstatě vektorové zobecnění standardního Back Propagation. Pro výpočet nové hodnoty wij(n) je však potřeba znát hodnoty dm(n)dm(n+M), což jsou hodnoty budoucí. V praktické implementaci budeme l-tou vrstvu počítat se zpožděním lM, t.j. pro skrytou vrstvu

 

 

 

Obrázek 3: (a) Jednoduchý model FIR MLP, (b) FIR filter, (c) Síť rozložená v čase

Použití FIR MLP pro modelování časových řad

FIR multilayer perceptron je prostředkem pro modelování časových řad. Na soutěži ve Spojených Státech v roce 1992 bylo dáno k dispozici 1000 vzorků řady generované NH3 laserem. Úkolem bylo predikovat dalších 100 vzorků.

Pro tento účel byla navržena vícevrstvá síť se dvěmi skrytými vrstvami, vstupní vrstva měla jeden neuron, první skrytá vrstva 12 neuronů se synaptickým filtrem velikosti 25, druhá skrytá vrstva 12 neuronů se synaptickým filtrem velikosti 5 a výstupní vrstva 1 neuron se synaptickým filtrem velikosti 5. Tato síť byla úspěšná a soutěž vyhrála.

Rekurentní sítě

Real-time Recurrent Network

 

Obrázek 4: Real-time Recurrent Network

 

Další možnost zpracovávat časové signály přináší rekurentní sítě. Paměť je realizována zpětnými vazbami. Model nazvaný Real-time Recurrent Network (obr.4) je tvořen N skrytými neurony a M vstupními jednotkami.

Skrytá vrstva ke vstupnímu vektoru x1(n), ... ,xM(n) počítá výstup y1(n+1),...,yN(n+1).

Všechny neurony skryté vrstvy mají zpětné vazby vedené ke všem neuronům této vrstvy. Některé neurony jsou navíc označeny jako výstupní. V každém kroku lze jako výstupní specifikovat jiné neurony.

Učení sítě probíhá s učitelem a cílem je minimalizovat chybovou funkci

kde dj(n) je požadovaná odezva j-tého neuronu v čase n.

 

Predikce nestacionárních časových řad

Pro predikci časových řad byl navržen model skládající se ze zřetězené rekurentní sítě a časového filtru (obr.5).

Zřetězená síť je tvořena M moduly se stejnou váhovou maticí W. Každý modul má na vstupu p posledních vzorků vstupního signálu x(n-k),...,x(n-k-p+1), kde k je číslo modulu.

Obrázek 5: (a) Zřetězená rekurentní síť, (b) časový filtr

 

Výstup všech N neuronů posledního modulu je veden zpět na vstup tohoto modulu, tedy poslední modul pracuje jako standardní Real-time recurrent network. Dále je výstup každého modulu veden na vstup modulu předcházejícího. První modul má pouze jeden výstup, který představuje výstup celé sítě y(n).

Síla sítě je ve vnořené nelinearitě. Výstup sítě lze vyjádřit jako

Učení probíhá bez učitele. Síť se přizpůsobuje přicházejícímu signálu. Každý modul počítá chybu jako odchylku od vstupního signálu ek,1(n-k+1)=x(n-k+1)-yk,1(n-k+1). Chybu celé sítě definujeme jako

, kde lambda je faktor zapomínání a platí 0<lambda<=1.

Časový filtr počítá z q posledních výstupů sítě y(n-1),..., y(n-q) výstup celého systému x(n+1).

Zřetězená síť provádí globální aproximaci signálu a časový filtr aproximaci lokální. Výsledný výstup x(n+1) je odhadem vstupu vstupního signálu x(n+1). Tento systém byl úspěšně využit k modelování lidské řeči.

Oblasti užití časových řad

Závěr

FIR multilayer perceptron je síť učená algoritmem Temporal Back Propagation. Poté, co se jednou naučí, má všechny váhy fixované. Tyto sítě se osvědčily při modelování nestacionárních časových řad, klasifikaci nestacionárních signálů, adaptivním řízení a odstraňování šumu. Rekurentní sítě typu Real-time recurrent network jsou vhodné například pro neurobiologické modely nebo nelineární predikci řeči.