This is an old revision of the document!
Paradny popis principu fungovania RBF: http://www.statsoft.com/textbook/stneunet.html#radial
Siet pozostava z jednej skrytej vrstvy, ktora je zlozena z jednotiek, jadier, ktore interpretuju hypergule (preto radialna aktivacna funkcia). Iny sposob ako ich chapat je ze su to jadra gaussovskych distribucii. Vystupna vrstva moze byt len lienarnou kombinaciou vystupov skryteho layeru. (moze pretoze sa daju pouzivat aj nelinearne metody)
Tieto funkcie popisuju jadro + fallof hypergule, pricom klasifikacia vlastne znamena vzdialenost vzoru od jadra nejakej hypergule.
Gaussia, Cauchy, Multiquadrics, Quadrics:
Sa sklada z rozmiestnenych jadier RBF jednotiek, z ktorych kazde ma inu charakteristiku, a fallof. Bod v priznakovom priestore sa vyhodnoti z hladiska jeho vzdialenosti ku centram hyperguli, ktore su reprezentovane RBF jednotkami. Je dobre ked sa hypergule ciastocne prekryvaju, pretoze to zvysuje schopnost generalizacie, na druhej strane to ale znizuje schopnost klasifikacie. Pokial by sa neprekryvali, dochadza ku over-fittingu vstupnych dat a moze sa stat ze bod medzi dvoma hypergulami nebude spravne zaradeny..
Najst funkciu, ktora spravne interpoluje data. RBF to robia linearnou kombinaciou jednotiek h(i). Teda w^t*h(i) = d(i), i = 1,2…n. Ked isi to dame do matice, a zjednodusime, vyjde nam ze w = H^-1 * d. Urobim ale inverznu maticu ku matici H je mozne len vtedy ak tato maitce je nesingularna. Michelliho teorem vravi, ze matica H, kde h(i,j) = SIGMA(i,j)[||x(i) - x(j)||] je nesingularna. SIGMA(i,j) je prave nejaka radialna funkcia.
Blablabla, tak ako v tom anglickom texte. RBF sa fasa rychlo ucia oproti MLP, ale zase vyzaduju vacsi priestor, a je problem najst vhodne rozlozenie centier v priznakovom priestore.
Klasicke modely NN maju problem rozlisit casovy kontext a naslednost vstupov. Ich pamat je obmedzena len pre sucasny vstup, a vystup nezavysi od sekvencie poslednych vstupov (kontextu). Aplikacie v ktorych sa vyzaduje takato funkcnost su viacere: rozpoznavanie reci, predpovedanie casovych radov, rozpoznavanie casovych radov a podobne.
Prve taketo modely NN boli len ciastocne rekurentne. Pouzivali vrstvu “kontextovych” neuronov, ktorych vystup sa posielal skrytej vrstve:
Z toho co som pochopil sa jedna klasicku feeforward neuronovu siet, v ktorej ale existuje delay. S delayom sa pracuje tak, ze ak sa sieti prezentuje nejaka sekvencia, tato sekvencia sa po jej prezentacii vlozi do delay fronty s dlzkou n. Po n cykloch z fronty vypadne. Kazdy neuron si teda svoju aktivaciu rata nie cez net input ale cez delayovany net input. Delayovany net input je tiez vazeny. Teda ak mame dlzku delay fronty rovnu n, potom net input bude:
net = a0x(0) + a1x(1) + … + anx(n), kde x(n) je vstupny vektor pred casom n. Akurati si niesom isty ci vahy a0 az an su rovnake alebo nie.
Pokial som pochopil spravne z netu, siet sa trenuje rovnako ako obycajna feeforward. Predpokladam ze asi su vsetky vahy ku delayovanym inputom rovnake, alebo sa spravi average vah a potom sa kazda z nich updatne rovnakym dielom.
Vyuzitia su speech recognition, time-series predition, etc - veci ktore vyzaduju aj casovy kontext. Nevyhody su tie, ze delay ma dlzku okna n, a tuto dlzku okna treba vzdy nejakym sposobom nastavit, pricom existuju aplikacie pre ktore ziadna dlzka n nieje vhodna, pretoze je konecna.
Rozsirenie feedforward sieti o casovu dimenziu. Podobne ako TDNN. Do delay fronty sa ale uklada vystup neuronu v case x. Fronta ma opat dlzku n. Vstupom do input layeru je sekvencia dlzky n. Neuron v case x+1 dostane na vstup: vystupy od neuronov v case x, x+1 cast sekvencie, a svoj vystup v case x. Vsetky tieto vstupy maju rovnake vahy.
Trenovanie sa deje po “prezuti” celej sekvencie. U poslednej casti sekvencie sa vypocita delta ako nasobok f(net) a e(i). U predoslych casti sekvencie napriklad t, sa rata nasobok f(net) * [e(i) + suma vahy * delty (t+1)]. Vyrata sa takisto celkova chyba ako 1/2 * suma cez cas sum cez chyby neuronov. Vaha sa updatne ako alfa * suma cez cas delta(i) v case t * x(t-1).
Nevyhody podobne ako u TDNN - dlzka sekvencie je fixna.
Kompletne prepojena rekurentna neuronova siet. (alebo aspon minimalne sa tvari ze “we now make network connectivity very very unconstrained”. Uci sa modifikaciou backpropu, ktory funguje realtime. Chyba sa rata len ked dany vystup ma nejaky “ciel”. Pocita sa chyba v case t, a z nej sumaciu cez vsetky neurony s cielom celkova chyba v case t. Potom sa to zacina zamotavat: na updatovanie vah sa pouziva specialny operator:
ktory:
The key to understanding RTRL is to appreciate what this factor expresses. It is essentially a measure of the sensitivity of the value of the output of unit k at time t to a small change in the value of wij, taking into account the effect of such a change in the weight over the entire network trajectory from t0 to t. Note that wij does not have to be connected to unit k. (!) Thus this algorithm is non-local, in that we need to consider the effect of a change at one place in the network on the values computed at an entirely different place.
Pouziva sa aj technika “Teacher forcing”, kde sa niekedy vystupy nahradia idealnymi vystupmi (cielmi). Tie su potom feebackovane naspat do siete.
Hoppfieldov model bol popisany Johnom Hopfieldom v aprili 1982. Jedna sa o jedinu vrstvu kompletne poprepajanych neuronov. Vystupy jednotlivych neuronov su zapojene do vstupov ostatnych neuronov. Kazdy neuron ma aj externy vstup. Jedna sa o formu rekurentnej siete.
Aktivacnou funkciou (napr. sgn()) prezenieme net (pravidlo aktivacie) od ktoreho odcitame treshold..
Hopfieldov model je vlastne dynamicky system. Energeticka rovnica popisuje fazovy priestor. Siet ako autoasociativna pamat. Sieti sa ponukne utrzok dat a siet si ich po istej chvili konvergovania vo fazovom priestore cele zrekonstruuje. Funguje to tak ze zapamatane data predstavuju vo fazovom priestore globalne minima, a vlastne su to atraktory, ktore pritahuju tie ci one vzorky, ktore sa sieti poskytnu. Z napisaneho vyplyva ze aktivacna rovnica sluzi na minimalizaciu energie.
Pracuje sa s terminom T “teplota” (teda vlastne entropia). Stavy sa mozu premenit na ine stavy na zaklade pravdepodobnosti. Najprv sa urci pravdepodobnost zmeny na zaklade rovnic a potom sa zjavne hodi kockou.