10. Samoorganizirajoče se nevronske mreže

SOM se uči brez učitelja. Poglavje pojasni topologijo, pravilo Hebba, ekvivalentni algoritem in ohranjanje topologije. Daje izpitni nalogi 24 in 25.

Topologija in obnašanje ključno

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$.

OznakaPomen
$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.

na listu
Obteženi vhod v nevron u_r
$$s_r(t) = \sum_j w_{rj}(t)x_j(t) + \sum_k \gamma_{rk}y_k(t)$$
na listu
Izhod nevrona u_r
$$y_r(t + \triangle) = \lambda_r\big(s_r(t)\big)$$

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.

Pravilo Hebba

na listu
Adaptacijsko pravilo Hebba
$$w_{r,\text{nov}}(t) = w_{r,\text{star}}(t) + \epsilon(t)\,y_r(t)\,x(t)$$

kjer je $\epsilon(t) \in [0,1]$ in se s časom manjša. Po vsakem koraku učenja uteži še normaliziramo:

na listu $$\sum_j w_{rj} = 1$$

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

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.

Originalni prosojnici (str. 138–139)
138139

Ekvivalentni algoritem ključno nalogi 24–25

Ekvivalentni algoritem SOM adaptira sinaptične uteži v dveh korakih: 1) iskanje zmagovalnega nevrona in 2) dejansko ažuriranje uteži.

A. Iskanje zmagovalnega nevrona naloga 25

V ekvivalentnem algoritmu je zmagovalni nevron tisti, ki ima vektor sinaptičnih uteži najbolj podoben opazovalnemu vektorju $x$ med vsemi nevroni v SOM:

na listu
Zmagovalni nevron
$$d\big(w_s(t),\, x(t)\big) = \min_r d\big(w_r(t),\, x(t)\big)$$

kjer je $d$ mera razdalje za vhodni prostor. Gre za majhno razliko glede na vpeljano definicijo o zmagovalnem nevronu (prek bočnih povezav).

⚠️ Past naloge 25: prenosna funkcija je nepomembna

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)$.

B. Dejansko ažuriranje uteži naloga 24

Vsak vektor sinaptičnih uteži $w_r$ v nevronski mreži spremenimo po pravilu Hebba:

na listu
Ažuriranje uteži
$$w_r(t+1) = w_r(t) + g(r, s, t)\cdot\big(x(t) - w_r(t)\big)$$

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:

na listu
Razčlenitev funkcije g
$$g(r, s, t) = \epsilon(t)\cdot h(r, s, t)$$

$\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:

na listu
Funkcija okolice
$$h(r, s, t) = e^{-\frac{d_L^2(u_r,\, u_s)}{\sigma^2(t)}}, \qquad \sigma(t) = \frac{\sigma_0}{\sqrt{1+t}}$$

z izrazom $d_L(u_r, u_s)$ pa merimo razdaljo med nevronoma $u_r$ in $u_s$ v rešetki SOM.

⚠️ Najpomembnejša past naloge 24

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.

Ekvivalentni algoritem in postopek učenja razumevanje

Pri učenju z ekvivalentnim algoritmom se izoblikujeta dve fazi: faza urejanja sinaptičnih uteži ter kvantizacijska faza.

A. Faza urejanja sinaptičnih uteži (začetna faza)

Sprejemno polje — formalno
$$R_{w_s} = \left\{ x \mid d(x, w_s) = \min_r d(x, w_r) \right\}$$

B. Kvantizacijska faza (končna 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$:

Razbitje vhodnega prostora
$$\mathcal{X} = \bigcup_i \mathcal{X}_i \;\wedge\; \mathcal{X}_i \cap \mathcal{X}_j = \emptyset \quad \forall i \neq j$$

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$.

Originalne prosojnice (str. 140–143)
140141 142143

Napotki za uporabo ekvivalentnega algoritma

A. Topologija nevronske mreže

Trije prostori pri delu z ekvivalentnim algoritmom:

  1. prostor vhodnih oz. opazovalnih vektorjev $\mathcal{X}$,
  2. prostor vektorjev sinaptičnih uteži $\mathcal{W}$,
  3. nevronska rešetka $\mathcal{L}$.

Tri preslikave: kvantizacijska preslikava $\Phi$, projekcijska preslikava $\Theta$ in preslikava značilnic $\Psi = \Phi \cdot \Theta$.

Definicija (ohranjanje topologije)

Č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.

💡 Zgled iz predavanj, ki ga vidiš v pripomočku zgoraj

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×2popolno 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.

B. Proces učenja

SOM hrani znanje v sinaptičnih utežeh. Učenje SOM se razlikuje od učenja perceptronov:

  1. Množico učnih vzorcev $S_N$ razdelimo na $M$ podmnožic $S_i$, pri čemer podmnožico $S_i$ tvorijo vsi vzorci iz razreda $C_i$.
  2. Za vsako podmnožico $S_i$ uvedemo svojo SOM, ki jo učimo z vzorci iz množice $S_i$.

Praktični napotki za uspešno učenje SOM

Ker moramo vsak opazovalni vektor večkrat uporabiti, množico z učnimi primerki $S_{\text{nova}}$ tvorimo kot:

Razširjena učna množica
$$S_{\text{nova}} = \left\{x^1, x^2, \dots, x^i, \dots, x^\Gamma\right\}, \qquad x^i \in S_N$$

Iz originalne množice $S_N$ naključno vzamemo $\Gamma$-krat opazovalni vektor.

Kako uporabljamo vektorje iz $S_{\text{nova}}$?

  1. Če je število elementov $S_{\text{nova}} > T_E$: jemljemo opazovalne vektorje kar zaporedoma.
  2. Če je število elementov $S_{\text{nova}} < T_E$: jemljemo vzorce zaporedoma do zadnjega elementa, nato vse elemente naključno premešamo ter nadaljujemo z zaporednim jemanjem iz preurejene množice.

C. Merjenje učinkovitosti ekvivalentnega algoritma

1. Energija kvantizacijskega šuma — mera, kako kvalitetno se je izvedla kvantizacijska faza:

na listu
Energija kvantizacijskega šuma
$$E_{\text{kvant\_šum}} = \frac{1}{N}\sum_{w_s}\sum_{x_i \in R_s}\|x_i - w_s\|^2$$

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

MeraDefinicija
Š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$
Originalne prosojnice (str. 144–148)
144145146 147148

Preveri se

1Rešetka 4×5, zmagovalec je na (1,3), ažuriramo nevron na (3,1), σ = 3,51, ε = 1. Kolikšna je vrednost h?
Razlaga

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.

2Prenosna funkcija SOM je f(s) = 7s + 2. Vhod x = [−0,4; 0,4; −2,6], uteži w₁₀ = [−0,1; 0,5; −1,6] so najbližje. Kateri nevron zmaga?
Razlaga

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)$.

3Kaj je »defekt« pri SOM in kdaj jih je več?
Razlaga

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.