next 5. Učenie NN podľa stavu systému
previous 4.4 Učiaci algoritmus pre klasifikáciu
up 4. Modulárne neurónové siete
Obsah


4.5 EM algoritmus




Použitie modulárnej architektúry predpokladá zvládnutie problému rozdelenia jednotlivých učiacich vzoriek medzi expertné moduly a sformovanie celkového výstupu. Algoritmus Expectation Maximisation - EM je alternatívnym riešením tohto problému k už uvedenému spôsobu metódou najstrmšieho vzostupu pravdepodobnostnej funkcie.
EM algoritmus vznikol v roku 1977 a bol pôvodne využívaný pre nekontrolované učenie v kontexte zhlukovania. Veľmi rozšírené je jeho použitie v oblasti matematiky. Použitie pre kontrolované učenie spolu s modulárnou architektúrou uvádzajú Jacobs a Jordan v [8]. Ide o úpravu voľných parametrov siete za účelom maximalizácie pravdepodobnostnej funkcie pomocou algoritmu EM.
Nech $\cal Z$ je množina binárnych vektorov $\bf z_{\it 1 \dots M}$, pričom $M$ je počet vzoriek trénovacej množiny $\cal X$. Každý vektor množiny $\cal Z$ je $K$-prvkový, pričom $K$ je počet expertných modulov. Prvok $z_{ij}= \rm 1$ ak je $i$-ta vzorka generovaná $j$-tym expertným modulom. Pridaním množiny $\cal Z$ k trénovacej množine $\cal X$ vznikne nová množina $\cal Y$. Takýmto rozšírením trénovacej množiny vznikne kompletná pravdepodobnostná funkcia $l_C \rm (\bf\theta;\cal Y\rm )$. Ak by bola množina $Z$ naozaj známa, optimalizácia kompletnej pravdepodobnostnej funkcie by bola jednoduchšia. Keďže množina $\cal Z$ je neznáma, EM algoritmus je rozdelený na dve časti. Najprv sa nájde očakávaná hodnota kompletnej pravdepodobnostnej funkcie. V druhom kroku sa hľadajú také hodnoty parametrov $\bf\theta$, ktoré zväčšujú jej hodnotu. E-krok:
\begin{displaymath}
\it Q(\bf\theta,\theta_{\it n}) = \it E[l_C(\bf\theta;\cal Y)\vert\cal X]
\end{displaymath} (4.42)

M-krok:
\begin{displaymath}
\bf\theta_{\it n \rm +1} = \rm arg \enspace
max_{\bf\theta}\it Q(\bf\theta,\theta_{\it n})
\end{displaymath} (4.43)

Jacobs a Jordan v [8] uvádzajú, že zväčšením hodnoty kompletnej pravdepodobnostnej funkcie sa dosiahne aj zväčšenie hodnoty pôvodnej pravdepodobnostnej funkcie oproti predošlému kroku výpočtu. Každá iterácia tak zväčší hodnotu $l(\bf\theta;\cal X\rm )$
\begin{displaymath}
\it l(\bf\theta_{\it n \rm +1}\vert\cal X) \ge
\it l(\bf\theta_{\it n}\vert\cal X)
\end{displaymath} (4.44)


Hodnota pravdepodobnostnej funkcie $l(\bf\theta;\cal X\rm )$ sa monotónne zväčšuje spolu s postupnosťou odhadov parametrov $\bf\theta$, ktoré sú generované EM algoritmom. To je podľa [8] príčinou konvergencie do lokálneho maxima. Napriek výhodám oproti metóde najstrmšieho vzostupu nie je EM algoritmus odolný voči takejto nežiadúcej konvergencii. Konkrétna implementácia pre úlohy klasifikácie je prevzatá z [20]. Architektúra siete je zhodná s architektúrou podľa Obr. 4.1. Všetky siete majú v tomto prípade výstupnú funkciu typu softmax. Výstupná hodnota $j$-teho neurónu $i$-tej expertnej siete je určená vzťahom
\begin{displaymath}
\it y_{ij} = \frac{\rm exp\enspace(\bf x^{\it T}w_{\it ij})}
{\it\sum_{k=1}^{q}\rm exp\enspace(\bf x^{\it T}w_{\it ik})}
\end{displaymath} (4.45)


Podobne sú určené výstupné hodnoty $a_i$ neurónov bránovej siete.
\begin{displaymath}
\it a_{i} = \frac{\rm exp\enspace(\bf x^{\it T}v_{\it i})}
{\it\sum_{j=1}^{K}\rm exp\enspace(\bf x^{\it T}v_{\it j})}
\end{displaymath} (4.46)


Pre všetky expertné moduly potom platí
\begin{displaymath}
\it\prod_{k=1}^{q}y_{ik}=\rm 1
\end{displaymath} (4.47)


Hodnota $y_{it}$ sa môže interpretovať ako pravdepodobnosť, že $i$-ty modul klasifikuje aktuálnu učiacu vzorku do triedy $t$. Waterhouse v [20] uvádza, že ak aktuálna učiaca vzorka patrí do triedy $t$, potom platí
\begin{displaymath}
\it h_i = y_{it}
\end{displaymath} (4.48)


pričom $h_i$ je aposteriórna pravdepodobnosť, že $i$-ty expertný modul klasifikuje aktuálnu učiacu vzorku do triedy $t$. Zanedbávajú sa tým hodnoty zvyšných neurónov expertného modulu. Je tak možné urobiť, ak sú výstupné vektory učiacich vzoriek kódované podľa pravidla 1-z-$T$. Pre úpravu hodnôt vektora váh, ktorý prislúcha $j$-temu neurónu $i$-teho expertného modulu platí
\begin{displaymath}
\bf w_{\it ij}(\it n \rm +1) = \bf w_{\it ij}(\it n) + \gam...
...\rm m)}
\it\sum_{m=1}^{M}h_i(\it d_j-\it y_{ij})\bf x\rm (m)
\end{displaymath} (4.49)


Pre úpravu hodnôt vektora váh, ktorý prislúcha $i$-temu neurónu bránového modulu platí
\begin{displaymath}
\bf v_{\it i}(\it n \rm +1) = \bf v_{\it i}(\it n) + \gamma...
..._i(\rm m)}
\it\sum_{m=1}^{M}h_i(\it h_i-\it a_i)\bf x\rm (m)
\end{displaymath} (4.50)


Z uvedených vzťahov vyplýva, že úprava hodnôt váh sa vykonáva iba raz na konci každého učiaceho cyklu. Pri metóde najstrmšieho vzostupu sa hodnoty váh upravujú pri prezentácii každej vzorky. Učenie pomocou EM algoritmu je preto z hľadiska behu v reálnom čase v porovnaní s touto metódou rýchlejšie. Podľa predpokladov by učenie pomocou EM algoritmu malo byť rýchlejšie aj z hľadiska počtu učiacich cyklov potrebných na dosiahnutie minimálnej chyby učenia.

previous next up
CIG Homepage(E-mail us!)