Rygraden af de neurale netværk er processen i at træne og opdatere de vægte, som bestemmer, hvordan inputs prioriteres. Dette foregår efter backpropagation (BP)-metoden.
PB bruges under træningsprocessen til at opdatere netværkets parameter. Metoden benytter gradienten fra en omkostningsfunktion til at justere vægtene og minimere omkostningsfunktionen. En omkostningsfunktion $ latex L $ beskriver fejlen mellem netværksoutputtet $ latex \widehat{y_t} $ og de faktiske værdier $ latex y_t$. Omkostningsfunktion, som afhænger af vægtene $ latex w$, angives som summen af omkostninger for det samlede datasæt, $ latex L(w)=\sum^N_{n=1}L_n(w)$. Disse vægte opdateres ud fra gradienten $ latex \nabla L_{n}(\mathbf{w})$ for at præcisere det neurale netværks outputs. Processen foregår ved brug af kædereglen:
$ latex \frac{\partial L_n}{\partial w_{ji}}=\frac{\partial L_n}{\partial a_j}\frac{\partial a_j}{\partial w_{ji}} $
Af (12) fremgår det at $ latex \frac{\partial a_j}{\partial w_{ji}}=z_i$, hvilket substitueres ind i (\ref{BPropa}):
\begin{equation} \label{Bpropa1}
\frac{\partial L_n}{\partial w_{ji}}=\delta_j z_i, \quad \delta_j \equiv \frac{\partial L_{n}}{\partial a_{j}}
\end{equation}
Ovenstående ligning udtrykker den afledte omkostningsfunktion mht. $w_{ji}$ ved produktet af $\delta_j$ og $z_i$ \cite{Bishop2007MixtureEM}. Ved at udregne $\delta_j$ for alle neuroner i netværket, ud fra definitionen i (\ref{Bpropa1}), og udnytte kædereglen opnås formlen for BP:
\begin{equation} \label{BPropa2}
\delta_j=h^{\prime}\left(a_{t}\right) \sum_{k} w_{k t} \delta_{k}
\end{equation}
Hvor $\delta_k=\widehat{y}_k-y_k$. Ved brug af (\ref{BPropa2}) kan alle $\delta$’er i de gemte lag beregnes, ved at føre $\delta_k$’erne tilbage igennem netværket. På denne måde kan gradienten fra omkostningsfunktionen estimeres og vægtene opdateres ved brug af stokastisk gradient decent (SGD)\footnote{Se afsnit 2.3.4}, hvor $\alpha$ angiver indlæringshastigheden.
\begin{equation}
w^{(t+1)}=w^{(t)}-\alpha \nabla L_n(w^{(t)})
\end{equation}
En negative gradient angiver retningen for omkostningsfunktionens optimimum \cite{Goodfellow2016DeepLearning}, hvorfor gentagne brug af (16) og (17) vil fører til en optimal indstilling af vægtvektorene.
Backpropagation
Læsetid: < 1 minut
Skriv et svar