Altri Seminari
Next: About this document ...

Cenni sulle reti neurali

Michele Cerulli


Date: 19 Luglio 2000

V$ _{i} $ = $ f $ $ \left( t,J_{i1}S_{1}\left( t\right)
,...,J_{ik}S_{k}\left( t\right) \right) $;

S$ _{i} $ = $ \Theta (V_{i}) $ = $ \Theta \left( f\left(
t,J_{i1}S_{1}\left( t\right) ,...,J_{ik}S_{k}\left( t\right)
\right) \right) $;

$ \mathbf{S}(t)=1$: il neurone al momento t è eccitato, quindi produce un output;

$ \mathbf{S}(t)=0$: il neurone al momento t non è eccitato, quindi non produce alcun output;

$ J_{ik} > 0$: la sinapsi che connette i due neuroni è eccitativa, ovvero favorisce il passaggio di informazioni;

$ J_{ik}< 0$: la sinapsi è è inibitoria. Il modello di McCulloch-Pitts

$\displaystyle S_{i}(t+\Delta )=\theta \left[ \sum
^{N}_{k=1}J_{ik}S_{k}(t)-U_{i}\right] $


\begin{displaymath}
\theta[x]=\{
\begin{array}{cc}
0 & x<0 \\
1 & x>0
\end{array}\end{displaymath}

Esempi di altri modelli: equazione generale

$\displaystyle \tau \frac{d}{dt}U_{i}\left( t\right) =\sum
^{N}_{k=1}J_{ik}g\left[ U_{k}(t-\tau _{ik})-U^{*}_{k}\right]+
$

$\displaystyle -\rho U_{i}\left( t\right) \left\{ 1+\frac{\tau }{\Delta }\Theta
\left[ \int ^{\Delta }_{0}S_{i}(t-s)ds\right] \right\} $

dove:

$\displaystyle g\left[ x\right] =\int ^{*}_{-\infty }P(u)du $

$\displaystyle P(u)=Prob\left[ U_{i}(t)-U^{*}_{i}\in \left[ u,u+du\right]
\right]$


con $ 0<du\ll 1$ Graded Response Neurons. Si assume che la trasmissione del messaggio avvenga istantaneamente, $ \tau _{ij}=0 $ $ \forall i,j $, e si trascurano i termini direset, assumendo che le fluttuazioni del potenziale successive alla trasmissione del messaggio siano irrilevanti:

$\displaystyle \tau \frac{d}{dt}U_{i}(t)=\sum ^{N}_{k=1}J_{ij}g\left[
U_{k}(t)-U^{*}_{k}\right] -\rho U_{i}(t) $

$ g\left[ U-U^{*}\right] =\int ^{U-U^{*}}_{-\infty }P(u)du $

Coupled oscillators.

$\displaystyle U_{i}(t)=f\left[ \phi
_{i}(t)\right] \qquad \qquad f\left[ \phi +2\pi \right] =f\left[
\phi \right]
$

$\displaystyle \frac{d}{dt}\phi_{i}(t)=\omega_{i}+\sum^{N}_{k=1}J_{ik}\sin\left[\phi_{k}(t)-\phi_{i}(t)\right]
$

L'universalità dei neuroni di McCulloch-Pitts

Tali neuroni sono universali nel senso che permettono di emulare una qualsiasi macchina digitale finita.

Riduzione ad operazioni binarie con output singolo: Come possiamo ottenere le mappe $ M:\Omega\subseteq\{0,1\}^{N}\rightarrow\{0,1\}$ con i neuroni di McCulloch-Pitts?
Riduciamo ulteriormente il problema...

$ \Omega=\Omega^{+}\cup\Omega^{-}
\qquad
\Omega^{+}=\{\textbf{S}\in\Omega\vert M\textbf{S}=1\}
\\ \\
\Omega^{-}=\{\textbf{S}\in\Omega\vert M\textbf{S}=0\}$

$ \Omega^{+}=\{S^{1},...,S^{p-1},S^{p}\}$

$ \qquad p=\char93 \Omega\leq N$         $ S^{\mu}\in\{0,1\}^{N}$


Tramite gli operatori $ \wedge(AND),\vee(OR),\neg(NOT)$, definiamo l'operatore $ SAME(x,y)$, che dice quando due variabili arbitrarie hanno lo stesso valore:
$ SAME(x,y)=(x\wedge y)\vee((\neg x)\wedge(\neg y))$
$ x_{1}\wedge x_{2}\wedge x_{3}\wedge
x_{L}:=x_{1}\wedge(x_{2}\wedge x_{3})$
Data la mappa ad output singolo $ M:\Omega\subseteq\{0,1\}^{N}\rightarrow\{0,1\}$, una macchina che la esegue può essere costruita, dati $ \Omega_{+}$ e il vettore input $ \textbf{S}$, tramite l'operatore SAME. La macchina verifica se $ \textbf{S}$ è identico ad uno dei vettori di $ \Omega^{+}$, in tal caso l'output sarà 1, altrimenti sarà 0:

\begin{displaymath}M(\textbf{S})= \{
\begin{array}{c}
1\quad se\quad S\in\Omega^{+} \\
0\quad se\quad S\in\Omega^{-}
\end{array}\end{displaymath}

Che in termini delle operazioni logiche SAME, $ \wedge$, $ \vee$ e $ \neg$, si esprime:

$ (M\textbf{S})=\left(SAME(S_{1},S^{1}_{1})\wedge...\wedge
SAME(S_{N},S^{1}_{N})\right)\vee$
$ \vdots$
$ \vee\left(SAME(S_{1},S^{p}_{1})\wedge...\wedge
SAME(S_{N},S^{p}_{N})\right)$
Realizzazione di Operazioni Elementari con i Neuroni di McCulloch-Pitts.

$\displaystyle S_{i}(t+\Delta )=\theta \left[ \sum
^{N}_{k=1}J_{ik}S_{k}(t)-U_{i}\right] $

Bisogna stabilire i valori di $ J_{ik}$ e $ U_{i}$.

Esempio: neurone che riceve due inputs $ S_{1}=x$ e $ S_{2}=y$ ( $ x,y \in \{0,1\}$).

$\displaystyle S(t+\Delta )=\theta \left[ \sum
^{2}_{k=1}J_{k}S_{k}(t)-U^{*}\right]$


$\displaystyle S(t+\Delta )= \theta \left[J_{1}x+J_{2}y-U^{*}\right]$

$\displaystyle \theta(z)=1 \quad per \quad z>0;$

$\displaystyle \theta(z)=0 \quad per \quad z\leq0;
$

$ J_{1}=1, J_{2}=1,U^{*}=\frac{3}{2}$    
$ x$ $ y$ $ x\wedge y$ $ x+y-3/2$ $ \theta\left[x+y-3/2\right]$
0 0 0 -3/2 0
0 1 0 -1/2 0
1 0 0 -1/2 0
1 1 1 1/2 1

$ J_{1}=1, J_{2}=1,U^{*}=\frac{1}{2}$    
$ x$ $ y$ $ x\vee y$ $ x+y-1/2$ $ \theta\left[x+y-1/2\right]$
0 0 0 -1/2 0
0 1 1 1/2 1
1 0 1 1/2 1
1 1 1 3/2 1

$ J_{1}=-1, U^{*}=-\frac{1}{2}$    
$ x$ $ \neg x$ $ -x+1/2$ $ \theta\left[-x+1/2\right]$
0 1 1/2 1
1 0 -1/2 0

Apprendimento

Regola di Hebb: le informazioni vengono immagazzinate sotto forma di "forza" delle sinapsi che connettono i neuroni; apprendere significa modificare tali sinapsi.

Il Perceptrone

$\displaystyle S_{i}(t+\Delta )=\theta \left[ \sum
^{N}_{k=1}J_{ik}S_{k}(t)-U_{i}\right] $


"Apprendere" significa modificare i parametri $ J_{ik}$ ed $ U_{i}$

Dato un insieme "insegnante"
$ I=\{(x,M(x))\vert x\in\Omega\}$
si sceglie un elemento a caso in $ I$, se $ S_{i}(x)=M(x)$ si lascia tutto inalterato, altrimenti si modificano i parametri caratterizzanti il neurone studente $ S_{i}$. Problema Può il Perceptrone imparare ad eseguire una qualsiasi operazione?

Nel 1969 Papert mostra che in effetti questo non è vero, basta costruire degli appositi esempi.

$ M:\Omega\subseteq\{0,1\}^{K}\rightarrow\{0,1\}$

Per K=1

$ x$ $ M_{a}(x)$ $ \theta[-1]$ $ M_{b}(x)$ $ \theta[-x+1/2]$
0 0 0 1 1
1 0 0 0 0
$ x$ $ M_{c}(x)$ $ \theta[x-1/2]$ $ M_{d}(x)$ $ \theta[1]$
0 0 0 1 1
1 1 1 1 1
Per $ K>1$ un solo neurone non basta, ad esempio, per eseguire XOR(x,y):
$ x$ $ y$ XOR(x,y)
0 0 0
0 1 1
1 0 1
1 1 0
Proposizione:Non esiste alcuna terna di numeri $ \{J_{x},J_{y},U\}$ tali che:

$\displaystyle \theta\left[J_{x}x+J_{y}y-U\right]=XOR(x,y)\qquad\forall(x,y)\in\{0,1\}^{2}
$

Dimostrazione: Supponiamo che invece una tale terna esista, allora:
$ (x,y)=(0,1):\quad J_{y}-U>0\quad\Rightarrow J_{y}>U$
$ (x,y)=(1,0):\quad J_{x}-U>0\quad\Rightarrow J_{x}>U$
$ (x,y)=(1,1):\quad J_{x}+J_{y}-U<0$
$ \Rightarrow J_{x}+J_{y}<U$
Separabilità lineare

$\displaystyle \char93 \{M:\{0,1\}^{K}\rightarrow\{0,1\}\}=2^{2^{K}}
$

L'insieme $ \{0,1\}_{K}$ dei possibili vettori input corrisponde ai vertici dell'ipercubo unitario in $ \Re^{K}$, mentre il neurone che esegue l'operazione

$\displaystyle S:\{0,1\}^{K}\rightarrow\{0,1\}\qquad
S(x)=\theta\left[\sum^{K}_{k=1}J_{k}x_{k}-U\right]$


può essere interpretato come operatore che divide $ \Re^{K}$ in due sottospazi separati dall'iperpiano $ \sum^{K}_{k=1}J_{k}x_{k}=U$

Per $ K=1$:

\begin{displaymath}
K=1:\quad x\in\{0,1\},\quad
\begin{array}{c}
\bullet: x\in\...
...uad M(x)=1 \\
\circ: x\in\Omega^{-},\quad M(x)=0
\end{array}\end{displaymath}

$\displaystyle \circ--\circ\qquad\bullet--\circ\qquad\circ--\bullet\qquad\bullet--\bullet
$

Per $ K=2$ l'ipercubo è un quadrato e ci sono $ s^{2^{2}}=16$ operazioni $ M:\{0,1\}^{2}\rightarrow\{0,1\}$, 16 modi di colorare i quattro vertici del quadrato:

\begin{displaymath}
K=2:\quad x\in\{0,1\}^{2},\quad
\begin{array}{c}
\bullet: x...
...uad M(x)=1 \\
\circ: x\in\Omega^{-},\quad M(x)=0
\end{array}\end{displaymath}

$ \circ\quad\circ \qquad \circ\quad\circ \qquad \circ\quad\circ \qquad \bullet\quad\circ$
$ \circ\quad\circ \qquad \bullet\quad\circ \qquad
\circ\quad\bullet \qquad \circ\quad\circ$
$ \circ\quad\bullet \qquad \circ\quad\circ \qquad \bullet\quad\circ \qquad \circ\quad\bullet$
$ \circ\quad\circ \qquad \bullet\quad\bullet \qquad \bullet\quad\circ \qquad \bullet\quad\circ$
$ \bullet\quad\circ \qquad \circ\quad\bullet \qquad \bullet\quad\bullet \qquad \bullet\quad\circ$
$ \circ\quad\bullet \qquad \circ\quad\bullet \qquad \circ\quad\circ \qquad \bullet\quad\bullet$
$ \circ\quad\bullet \qquad \bullet\quad\bullet \qquad \bullet\quad\bullet \qquad \bullet\quad\bullet$
$ \bullet\quad\bullet \qquad \bullet\quad\circ \qquad \circ\quad\bullet \qquad \bullet\quad\bullet$
per $ K=2$ esistono due operazioni per cui questo non è possibile:
$ \bullet\quad\circ \qquad \circ\quad\bullet$
$ \circ\quad\bullet \qquad \bullet\quad\circ$
Le due operazioni in questione sono esattamente $ XOR$ e $ \neg
XOR$:
$ x$ $ y$ $ M_{a}(x,y)$
0 0 0
0 1 1
1 0 1
1 1 0
$ x$ $ y$ $ M_{b}(x,y)$
0 0 1
0 1 0
1 0 0
1 1 1
Multi-Layer Networks (Reti a più strati)

Reti feed-forward a due strati di neuroni di McCulloch-Pitts, con il secondo strato costituito da un solo neurone.

"Grandmother neuron" che realizzi XOR.

$\displaystyle \Omega^{+}=\{(1,0),(0,1)\}
$

Costruiamo una rete con la seguente struttura:
Input I strato II strato $ \rightarrow Output$
  $ y_{1}$  
$ (x_{1},x_{2})$   $ S((y_{1},y_{2}))$
  $ y_{2}$  
dove:
$ y_{1}=\theta\left[W_{11}x_{1}+W_{21}x_{2}-V_{1}\right]$
$ y_{2}=\left[W_{12}x_{1}+W_{22}x_{2}-V_{2}\right]$
$ S((y_{1},y_{2}))=\theta\left[J_{1}y_{1}+J_{2}y_{2}-U\right]$

$\displaystyle W_{11}=2 \qquad W_{12}=-2 \qquad V_{1}=1$

$\displaystyle W_{21}=-2 \qquad W_{22}=2 \qquad V_{2}=1$

$\displaystyle U=-\frac{1}{2} \qquad J_{1}=J_{2}=1$

Per cui:
Input I Strato $ (y_{1}, y_{2})$ II Strato $ \rightarrow Output$
  $ \theta[2x_{1}-2x_{2}-1]$  
$ (x_{1},x_{2})$   $ \theta\left[y_{1}+y_{2}-1/2\right]$
  $ \theta[-2x_{1}+2x_{2}-1]$  
La rete produce gli outputs richiesti:

$ (x_{1},x_{2})$ $ (y_{1}, y_{2})$ $ \theta\left[y_{1}+y_{2}-1/2\right]$ $ XOR$
$ (0,0)$ $ (0,0)$ $ \theta[0+0-1/2]=0$ 0
$ (1,0)$ $ (1,0)$ $ \theta[1+0-1/2]=1$ 1
$ (0,1)$ $ (0,1)$ $ \theta[0+1-1/2]=1$ 1
$ (1,1)$ $ (0,0)$ $ \theta[0+0-1/2]=0$ 0
Costruzione.
$ L=\char93 \Omega^{+}=\char93 \{x\in\{0,1\}^{K}\vert M(x)=1\}$

Input I strato II strato $ \rightarrow Output$
  $ y_{1}$  
$ (x_{1},...,x_{k})$ $ \vdots$ $ S((y_{1},...,y_{L}))$
  $ y_{L}$  
Dove:
$ y_{i}=\theta\left[\sum^{K}_{j=1}W_{ij}x_{j}-V\right]$
$ S((y_{1},...,y_{L}))=\theta\left[\sum^{L}_{i=1}J_{i}y_{i}-U\right]$


Costruiamo il blocco di base $ G$:

$\displaystyle x,x^{*}\in\{0,1\}^{K}:$

$\displaystyle G\left[x^{*};x\right]=\theta\left[\sum^{K}_{i=1}(2x_{i}-1)(2x^{*}_{i}-1)-K+1\right]
$

Proposizione: $ G\left[x^{*};x\right]=1\quad\Leftrightarrow\quad x=x^{*}$

Dimostrazione:
$ \bullet\quad G\left[x^{*};x\right]=1\quad\Leftarrow\quad
x=x^{*}$

$\displaystyle G\left[x;x\right]=\theta\left[\sum^{K}_{i=1}(2x_{i}-1)^{2}-K+1\right]=$

$\displaystyle =\theta\left[\sum^{K}_{i=1}1-K+1\right]=1
$


$ \bullet\quad x\neq x^{*}\Rightarrow
G\left[x^{*};x\right]=0$:

\begin{displaymath}
(2x_{i}-1)(2^{*}_{i}-1)=
\begin{array}{c}
1\quad se\quad x_...
...^{*}_{i} \\
-1\quad se \quad x_{i}\neq x^{*}_{i}
\end{array}\end{displaymath}

$\displaystyle \sum^{K}_{i=1}(2x_{i}-1)(2x^{*}_{i}-1)=K-2\times n
$

$\displaystyle x\neq x^{*}\Rightarrow \sum^{K}_{i=1}(2x_{i}-1)(2x^{*}_{i}-1)\leq
K-2$

$\displaystyle \Rightarrow G\left[x^{*};x\right]\leq \theta[K-2-K+1]=\theta[-1]=0
$

Fissato $ x^{*}$, l'espressione $ G[x^{*};x]$, interpretata come una operazione effettuata sulla variabile $ x$ è della forma McCulloch-Pitts:

$\displaystyle G\left[x^{*};x\right]=\theta\left[2\sum^{K}_{i=1}(2x^{*}_{i}-1)x_{i}-2\sum^{K}_{i=1}x^{*}+1\right]
$




Un neurone costruito in questo modo restituisce 1 se l'input è in $ \Omega^{+}$, altrimenti restituisce zero. Strato nascosto di neuroni:

$\displaystyle \Omega^{+}=\{x\in\{0,1\}^{K}\mid M(x)=1\}=\{x^{1},...,x^{L}\}
$

$\displaystyle \forall i\in \{1,...L\}:\qquad y_{i}:\{0,1\}^{K}\rightarrow\{0,1\}$


$\displaystyle y_{i}=G\left[x^{*};x\right]=\theta\left[2\sum^{K}_{i=1}(2x^{*}_{i}-1)x_{i}-2\sum^{K}_{i=1}x^{*}+1\right]
$




Costruendo l'ultimo strato otteniamo la rete:

$\displaystyle y_{i}=\theta\left[\sum^{K}_{j=1}W_{ij}x_{j}-V\right] \qquad
S(y)=\theta\left[\sum^{L}_{i=1}y_{i}-\frac{1}{2}\right]
$


$\displaystyle W_{ij}=2\left(2x^{i}_{j}-1\right),\qquad
V=2\sum^{K}_{j=1}x^{i}_{j}-1
$

L'apprendimento: il Perceptrone

$\displaystyle S(x)=\theta\left[\sum^{K}_{j=1}J_{ij}x_{j}-V\right]=\theta[J\cdot
x-U]
$


Data l'operazione $ M:\Omega\subseteq\{0,1\}^{K}\rightarrow\{0,1\}$

passo 1:Scegliere una domanda a caso, ovvero un $ x\in\Omega$ qualsiasi.

passo 2:Controllare se "studente" ed "insegnante" sono d'accordo:

$ \bullet\quad M(x)=S(x)$: torna al passo 1
$ \bullet\quad M(x)\neq S(x)$: modifica parametri e torna al passo 1

modifica parametri:
$ J\quad\rightarrow\quad J+\Delta J[J,U;x,M(x)]$
$ U\quad\rightarrow\quad U+\Delta U[J,U;x,M(x)]$
Definizione:
si dice perceptrone un neurone "studente" di McCulloch-Pitts che impara secondo la regola di apprendimento:

$\displaystyle \begin{array}{ccc}
M(x)=0,\quad S(x)=1: & \Delta J=-x, & \Delta U=1 \\
M(x)=1,\quad S(x)=0: & \Delta J=x, & \Delta U=-1 \
\end{array}$


modifica parametri:

$ J\quad\rightarrow\quad J+\Delta J[J,U;x,M(x)]$
$ U\quad\rightarrow\quad U+\Delta U[J,U;x,M(x)]$


Domande: Teorema di Convergenza del Perceptrone: se l'operazione $ M$ è linearmente separabile, allora la procedura di apprendimento del Perceptrone converge, in un numero finito di passi, ad una configurazione stazionaria in cui $ \forall x\in\Omega:\quad S(x)=M(x)$.

Dimostrazione:

$ \bullet \quad x_{0}=1\qquad J_{0}=-U$

$\displaystyle S(x)=\theta[J\cdot x],\quad
x=(x_{0},x_{1},...,x_{K})\in\{0,1\}^{K+1}
$

$\displaystyle J=(J_{0},J_{1}...J_{K})\in\Re^{K+1}
$


$ \bullet\quad$Regola d'apprendimento:

\begin{displaymath}
\begin{array}{ccc}
M(x)=0, & S(x)=1: & \Delta J=-x \\
M(x)=1, & S(x)=0: & \Delta J=x
\end{array}\end{displaymath}

$\displaystyle \Updownarrow$

$\displaystyle \Delta J=[2M(x)-1]x
$


$ \bullet\quad\Omega=\{(x_{0}=1,x_{1},...,x_{K})\}$ Passo 1. Separabiltà lineare:

$\displaystyle \exists W\in\Re^{K+1}\quad t.c.\quad\forall x\in \Omega:\quad M(x)=\theta[W\cdot x]$

$\displaystyle \exists\delta>0:\quad t.c.\quad \forall x\in\Omega:\quad \vert W\cdot
x\vert>\delta$


$ M(x)=\theta[W\cdot x]$, $ W$ t.c. $ \vert W\vert=1$




Passo 2. Disuguaglianze:

$\displaystyle J'\cdot W \geq J\cdot W+\delta$ (1)

$\displaystyle \vert J'\vert^{2}\leq J^{2}+K+1$ (2)


Dopo $ n$ ripetizioni:

$\displaystyle J(n)\cdot W\geq J(0)\cdot W+n\delta$ (3)

$\displaystyle \vert J(n)\vert^{2}\leq\vert J(0)\vert^{2}+n(K+1)$ (4)

Passo 3. Contraddizione:

$ \bullet\quad \omega=\frac{J\cdot W}{\vert J\vert}$
$ \bullet\quad$Schwartz $ \vert x\cdot
y\vert\leq\vert x\vert\vert y\vert\Longrightarrow\vert\omega\vert\leq\vert W\vert=1$


Dopo $ n$ modifiche:

$\displaystyle \omega(n)=\frac{J(n)\cdot W}{\vert J(n)\vert}\geq\frac{J(0)\cdot
W+n\delta}{\sqrt{\vert J(0)\vert^{2}+n(K+1)}}
$


$ \bullet\quad\vert\omega(n)\vert\leq1$:

$\displaystyle \lim_{n\rightarrow\infty}\omega(n)\geq\lim_{n\rightarrow\infty}\frac{J(0)\cdot
W+n\delta}{\sqrt{\vert J(0)\vert^{2}+n(K+1)}}=\infty
$



Poichè non possono più avvenire modifiche, il sistema deve essere in una situazione stazionaria in cui $ M(x)=S(x)\forall x\in\Omega$ Dopo quanto converge la procedura di apprendimento?

$ \bullet\quad \omega=\frac{J\cdot W}{\vert J\vert}\qquad\vert\omega(n)\vert\leq 1$
$ \bullet\quad\omega(n)=\frac{J(n)\cdot
W}{\vert J(n)\vert}\geq\frac{J(0)\cdot
W+n\delta}{\sqrt{\vert J(0)\vert^{2}+n(K+1)}}$

$\displaystyle \frac{[J(0)\cdot W+n_{max}\delta]^{2}}{\vert J(0)^{2}+n_{max}(K+1)}=1
$

$\displaystyle \Downarrow$


Se le condizioni iniziali sono $ J(0)=(0,...,0)$, otteniamo:
$ n_{max}=\frac{K+1}{\delta^{2}}$
Osserviamo che $ n$ non è il numero di inputs, esempi da mostrare al perceptrone, ma è il numero di modifiche: la procedura di apprendimento può comunque essere molto lunga! Versione "continua" del Perceptrone

Procedura d'apprendimento:
Scelto a caso $ x\in\Omega$, $ \Delta
J=\epsilon x[M(x)-\theta(J\cdot x)]$

$ \bullet\quad \Delta J=J(t+\epsilon)-J(t)$


Si ottiene:

$\displaystyle \frac{d}{dt}J(t)=\langle x[M(x_{l}-\theta(J(t)\cdot x)]\rangle_{\Omega}$ (5)


dove:

$ \langle f(x)\rangle_{\Omega}=\sum_{x\in\Omega}p(x)f(x)$
$ p(x)=$ probabilità che il vettore $ x$ venga estratto durante il processo di apprendimento.

Teorema: Se il compito $ M$ è linearmente separabile, allora l'equazione (5) converge ad un punto fisso $ J$ tale che $ \theta(J\cdot x)=M(x)\forall x\in \Omega$. Come funziona l'apprendimento nelle "multilayer feed-forward networks"?

Data una rete con $ n$ strati, abbiamo:

$\displaystyle S^{l}_{i}=\theta[\sum_{h}J^{l}_{ih}]
$


$ \theta$ in questo caso si sceglie di tipo sigmoide.


Dati l'operazione $ M$, al momento $ k$ e l'input $ x$:

$\displaystyle J^{l}_{ih}(k+1)=J^{l}_{ih}+\alpha\delta^{l}_{i}(k)S^{l}_{h}
$

dove:

$\displaystyle \delta^{l}_{i}=S^{l}_{i}(1-S^{l}_{i})\sum_{h}\delta^{l+1}_{h}J^{l+1}_{ih}
$

$\displaystyle \delta^{n}_{i}=S^{n}_{i}(1-S^{n}_{i})(M_{i}-S^{n}_{i})
$

Kohonen's SOFM-model $ S_{i}=\sum_{h}J_{ih}x_{h}$

\begin{displaymath}
J_{ih}(k+1)=
\begin{array}{cc}
J_{ih}+\Psi(x_{h}-J_{ih}(k))...
...{best}(v(k)) \\
J_{ih} & i\notin NE_{best}(v(k))
\end{array}\end{displaymath}


Dove:
$ \bullet\quad NE_{best}(v(k))$ è un intorno del miglior neurone, di raggio $ v(k)$, al passo $ k$.
$ \bullet\quad\Psi$ è una funzione dipendente da dalla distanza tra $ i$ e $ best$.




next up previous
Next: About this document ...
Michele Cerulli 2000-10-29
Google