SOM se uči brez učitelja. Poglavje pojasni topologijo, pravilo Hebba, ekvivalentni algoritem in ohranjanje topologije. Daje izpitni nalogi 24 in 25.
SOM sestoji iz $K$ nevronov, ki so razporejeni v 1D, 2D ali ND rešetko. Vsak nevron ima eno izhodno linijo: $y_r(t)$ je izhod nevrona $u_r$ v času $t$.
| Oznaka | Pomen |
|---|---|
| $x$ | zunanji oz. eksterni vhod (opazovalni vektor) |
| $w_{rj}(t)$ | sinaptična utež |
| $\gamma_{rk}$ | bočna (stranska) sinaptična utež med nevronoma |
| $y_r(t)$ | izhod nevrona $u_r$ v času $t$ |
Notranji oz. interni vhod (stranske oz. bočne povezave) je zmnožek izhoda določenega nevrona ter bočne sinaptične uteži $\gamma$. Vsak nevron ima $K - 1$ internih vhodnih linij.
Funkcija $\lambda_r$ je nelinearna monotona naraščajoča funkcija. Gre za rekurzijo — zato je potrebna zakasnitev, da se izhodi nevronov stabilizirajo.
Po vstavljanju $x(t)$ v SOM imajo med učenjem zaradi bočnega vzbujanja in zaviranja določeni nevroni velike izhodne vrednosti, vsi preostali pa majhne.
kjer je $\epsilon(t) \in [0,1]$ in se s časom manjša. Po vsakem koraku učenja uteži še normaliziramo:
Pravilo Hebba v glavnem spreminja uteži zmagovalnega nevrona ter uteži nevronov iz njegove okolice. Posledica: nevroni iz te soseščine postanejo bolj senzitivni na opazovalne vektorje, ki so podobni vhodu $x(t)$, uporabljenemu v koraku adaptiranja.
Sprejemno polje nevrona $R_r$ je množica tistih opazovalnih vektorjev (vhodov) $x$, za katere je nevron $u_r$ zmagovalec. Posledica: vektor uteži $w_r$ nevrona $u_r$ postane podoben opazovalnim vektorjem $x$ v svojem sprejemnem polju $R_r$ — postane njihov tipični predstavnik.
Ekvivalentni algoritem SOM adaptira sinaptične uteži v dveh korakih: 1) iskanje zmagovalnega nevrona in 2) dejansko ažuriranje uteži.
V ekvivalentnem algoritmu je zmagovalni nevron tisti, ki ima vektor sinaptičnih uteži najbolj podoben opazovalnemu vektorju $x$ med vsemi nevroni v SOM:
kjer je $d$ mera razdalje za vhodni prostor. Gre za majhno razliko glede na vpeljano definicijo o zmagovalnem nevronu (prek bočnih povezav).
Naloga ti bo povedala prenosno funkcijo (npr. »sigmoidna« ali »$f(s) = 7s + 2$«). To je zavajanje. Predavanja izrecno povedo: »Z ekvivalentnim algoritmom lahko sicer določimo odziv oz. izhod nevrona, vendar nevronov izhod nima nikakršnega pomena v tem algoritmu.« Šteje samo razdalja $d(w, x)$.
Vsak vektor sinaptičnih uteži $w_r$ v nevronski mreži spremenimo po pravilu Hebba:
Funkcija $g(r, s, t)$ določa okolico zmagovalnega nevrona, ki jo bomo ažurirali, ter jakost ažuriranja. Na začetku učenja sta okolica in jakost veliki, ob zaključku pa majhni. Funkcijo razbijemo v dva dela:
$\epsilon(t)$ je stopnja učenja, $h(r, s, t)$ pa skalarna funkcija, ki določa velikost okolice adaptiranja. Funkcijo $h$ zapišemo v obliki eksponentno padajoče funkcije:
z izrazom $d_L(u_r, u_s)$ pa merimo razdaljo med nevronoma $u_r$ in $u_s$ v rešetki SOM.
Razdalja $d_L$ se meri v rešetki — po indeksih vrstice in stolpca nevronov, ne med vektorjema uteži. Če je zmagovalec na (1, 3) in ažuriramo nevron na (3, 1), je $d_L^2 = (3-1)^2 + (1-3)^2 = 8$. Vektorja uteži pri tem sploh ne nastopata.
Pri učenju z ekvivalentnim algoritmom se izoblikujeta dve fazi: faza urejanja sinaptičnih uteži ter kvantizacijska faza.
Prostor opazovalnih vektorjev $\mathcal{X}$ se kvantizira (razdeli): vhodni prostor $N$ $n$-dimenzionalnih vhodov se nadomesti z manjšo, reprezentativno množico $K$ $n$-dimenzionalnih sinaptičnih uteži. Vhodni prostor se razdeli na $K$ disjunktnih podprostorov $\mathcal{X}_i$:
Podprostor $\mathcal{X}_i$ je dejansko sprejemno polje nevrona $u_i$; vektor sinaptičnih uteži $w_i$ je tipični predstavnik opazovalnih vektorjev iz sprejemnega polja nevrona $u_i$.
Meja med sprejemnima poljema je premica, ki jo tvorijo točke, ki so enako oddaljene od vektorjev $w_s$ in $w_r$.
Trije prostori pri delu z ekvivalentnim algoritmom:
Tri preslikave: kvantizacijska preslikava $\Phi$, projekcijska preslikava $\Theta$ in preslikava značilnic $\Psi = \Phi \cdot \Theta$.
Če sta sprejemni polji $R_i$ in $R_j$ v prostoru vhodov $\mathcal{X}$ sosednji, potem je nevron $u_i$ z vektorjem sinaptičnih uteži $w_i$ sosed nevronu $u_j$ (utež $w_j$). Če ta lastnost velja za vse pare sprejemnih polj, potem preslikava značilnic $\Psi$ ohranja topologijo.
Isti 2D vhodni prostor, dve različni rešetki:
Rešetka 1×4 → topologija ni ohranjena: nevrona $u_1$ in $u_4$ imata sosednji sprejemni polji,
čeprav nista soseda v rešetki.
Rešetka 2×2 → popolno ohranjanje: vsi sosednji nevroni imajo tudi sosednja sprejemna polja.
Poskusi to v pripomočku: izberi »obroč« in primerjaj rešetko 4×4 z 1×8.
SOM hrani znanje v sinaptičnih utežeh. Učenje SOM se razlikuje od učenja perceptronov:
Ker moramo vsak opazovalni vektor večkrat uporabiti, množico z učnimi primerki $S_{\text{nova}}$ tvorimo kot:
Iz originalne množice $S_N$ naključno vzamemo $\Gamma$-krat opazovalni vektor.
Kako uporabljamo vektorje iz $S_{\text{nova}}$?
1. Energija kvantizacijskega šuma — mera, kako kvalitetno se je izvedla kvantizacijska faza:
2. Ocena energije topologije — praktična mera, kako dobro se ohranja topologija:
Izračun: Za vsak par nevronov, ki imajo sosednji sprejemni polji, izračunamo razdaljo med tema nevronoma v nevronski rešetki. Na koncu vsoto vseh teh razdalj še delimo s številom vseh parov nevronov s sosednjimi sprejemnimi polji.
Pri popolnem ohranjanju topologije je ta ocena enaka 1.
3. Množica preprostih mer učinkovitosti
| Mera | Definicija |
|---|---|
| Število geometrijskih sosedov | število parov nevronov v rešetki, ki so oddaljeni za 1 ($d_L = 1$) |
| Število efektivnih bližnjih sosedov | število parov sosednjih sprejemnih polj, ki pripadajo nevronom z $d_L = 1$ |
| Število efektivnih sosedov | število parov sosednjih sprejemnih polj |
| Število efektivnih oddaljenih sosedov | število parov sosednjih sprejemnih polj, ki pripadajo nevronom z $d_L > 1$ |
Razdalja v rešetki: $d_L^2 = (3-1)^2 + (1-3)^2 = 4 + 4 = 8$.
$h = e^{-d_L^2/\sigma^2} = e^{-8/3{,}51^2} = e^{-8/12{,}32} = e^{-0{,}649} = \mathbf{0{,}522}$
Odgovor d) je past — ažuriramo vse nevrone, le vsakega z drugačno jakostjo. Odgovor c) bi bil pravilen pri σ = 2,18.
V ekvivalentnem algoritmu je zmagovalec določen izključno z $d(w_s, x) = \min_r d(w_r, x)$. Prenosna funkcija je irelevantna — predavanja izrecno povedo, da izhod nevrona v tem algoritmu nima nikakršnega pomena.
Navedba prenosne funkcije v nalogi je namerno zavajanje. Ne izgubljaj časa z računanjem $f(s)$.
Definicija iz predavanj: defekt je situacija, kjer sosednji nevroni v SOM nimajo sosednjih sprejemnih polj — torej mesto, kjer preslikava značilnic $\Psi$ ne ohranja topologije.
Popolno ohranjanje topologije pogosto ni možno, ker je dimenzija vhodnega prostora $\mathcal{X}$ običajno večja od dimenzije rešetke $\mathcal{L}$ — in večja kot je ta razlika, več je defektov. Preizkusi v pripomočku: 2D obroč z 2D rešetko 4×4 proti 1D rešetki 1×8.