Neurale netværk (del 1)

Ahmed Imam
Ahmed Imam

Follow

16. jun, 2020 – 6 min læsning

Feed-Forward Neural Networks (FFNN)

I sin mest generelle form er et neuralt netværk en maskine, der er designet til at modellere den måde, hvorpå hjernen udfører en bestemt opgave eller funktion af interesse; netværket implementeres normalt ved hjælp af elektroniske komponenter eller simuleres i software på en digital computer.

For at opnå en god ydeevne anvender neurale netværk en massiv sammenkobling af simple beregningsceller, der betegnes "neurons", perceptrons eller “behandlingsenheder”.

Vi kan således tilbyde følgende definition af et neuralt netværk:

Et neuralt netværk er en massivt parallel distribueret processor bestående af simple behandlingsenheder, der har en naturlig tilbøjelighed til at lagre erfaringsbaseret viden og gøre den tilgængelig til brug. Det ligner hjernen i to henseender:

  1. Viden erhverves af netværket fra omgivelserne gennem en indlæringsproces.
  2. Neuronernes indbyrdes forbindelsesstyrke, kendt som synaptiske vægte, bruges til at lagre den erhvervede viden.

Som i den menneskelige hjerne omdanner receptorerne stimuli fra menneskekroppen eller det ydre miljø til elektriske impulser, der overfører information til det neurale net (hjernen). Effektorerne omdanner elektriske impulser, der genereres af det neurale net, til mærkbare reaktioner som systemoutput.

Feed-Forward Neural Network (FFNNN)

Figur 1 Feed-Forward Neural Network (FFNN)

Modeller af neuron

En neuron er en informationsbearbejdende enhed, der er grundlæggende for driften af et neuralt netværk.

Her identificerer vi tre grundlæggende elementer i den neurale model:

  1. Et sæt synapser (nerveender) eller forbindelsesled, som hver især er karakteriseret ved en 𝑤𝑒𝑖𝑔ℎ𝑡 eller 𝑠𝑡𝑟𝑒𝑛𝑔𝑡ℎ egen 𝑤𝑔𝑖𝑔ℎ𝑡 eller 𝑠𝑡𝑟𝑒𝑛𝑔𝑡ℎ. Konkret ganges et signal 𝑥𝑗 ved indgangen til synapse 𝑗, der er forbundet med neuron 𝑘, med den synaptiske vægt 𝑤𝑘𝑘𝑗. Det er vigtigt at lægge mærke til den måde, hvorpå subscripterne for den synaptiske vægt 𝑤𝑘𝑘𝑗 skrives. Den første subscript i 𝑤𝑘𝑘𝑗 henviser til den pågældende neuron, og den anden subscript henviser til den indgangsende af den synapse, som vægten henviser til. **
  2. En adderer til summering af indgangssignalerne, vægtet med neuronets respektive synaptiske styrker; de operationer, der er beskrevet her, udgør en linear combiner.
  3. En aktiveringsfunktion til begrænsning af amplituden af et neurons udgangssignal; aktiveringsfunktionen kaldes også for en squashing-funktion, idet den squasher (begrænser) det tilladte amplitudeområde for udgangssignalet til en eller anden endelig værdi. Typisk skrives det normaliserede amplitudeområde for et neurons output som det lukkede enhedsinterval , eller alternativt .

Hidden-Layer Neuron

Fig.2 Skjult lag-neuron

Matematisk set kan vi beskrive neuronet -𝑗, der er vist i fig.2 ved at skrive ligningsparret:

hvor 𝑥1, 𝑥2, …, 𝑥𝑚 er indgangssignalerne; 𝑤𝑗1 , 𝑤𝑗2, …, 𝑤𝑗𝑗𝑚 er de respektive synaptiske vægte for neuron 𝑗; net ℎ𝑗 er det lineære kombinatoroutput som følge af indgangssignalerne; 𝑓(⋅) er aktiveringsfunktionen; og 𝐼𝑗 er neuronets udgangssignal.

Output-Layer Neuron

Fig.3 Udgangslagsneuron

Matematisk set kan vi beskrive neuronen 𝑘, der er vist i fig. 3, på følgende måde ved at skrive ligningsparret:

Udtryk skjult neuralt netværk:

Det skjulte neurale netværk Synaptiske vægte kan udtrykkes som:

Hele det skjulte neurale netværk kan udtrykkes som:

Det skjulte neurale netværk kan udtrykkes som:

Udtrykkeligt output neuralt netværk:

Det skjulte neurale netværk Synaptiske vægte kan udtrykkes som:

Det skjulte neurale netværk Synaptiske vægte kan udtrykkes som:

Hele det skjulte neurale netværk kan udtrykkes som:

Eksempel_1.

Givet følgende NN med vægte:

Fig.4 Eksempel_1

Input:

Der anvendes følgende aktiveringsfunktion:

Løsning:

Første par

2. par

3. par

4. par

Slutresultat:

Output af er

Det betyder, at vores neurale netværk fungerer som dets XOR logiske gate.

Aktiveringsfunktion

Aktiveringsfunktionen kan antage flere former alt efter problemet, om det er regression eller klassifikation. Her er nogle eksempler på aktiveringsfunktioner.

Sigmoid og tanh bruges til binær klassifikation, mens softmax bruges til problemer med flere klassifikationer.

ReLU og Leaky ReLU anvendes til regressionsproblemer. Maxout-aktiveringen er en generalisering af ReLU- og leaky ReLU-funktionerne.

Anvendelse af bias på neurale netværk.

Den neurale model i fig.5 indeholder en eksternt påført bias, betegnet med 𝑏𝑘 . Bias’en (𝑏𝑘) har den virkning, at den øger eller sænker aktiveringsfunktionens nettoinput, alt efter om den er henholdsvis positiv eller negativ.

Figur.5 Ikke-lineær model
af en neuron, mærket k.

Matematisk set kan vi beskrive neuronet 𝑘 ved at skrive ligningsparret:

hvor 𝑥1, 𝑥2, …, 𝑥𝑚 er indgangssignalerne; 𝑤𝑘1 , 𝑤𝑘2 , …, 𝑤𝑘𝑚 er de respektive synaptiske vægte for neuron 𝑘; 𝑢𝑘 (ikke vist i ovenstående figur.) er det lineære kombinatoroutput som følge af indgangssignalerne; 𝑏𝑘 er bias; 𝜑(-) er aktiveringsfunktionen; og 𝑦𝑘 er neuronens udgangssignal. Brugen af bias 𝑏𝑘 har den virkning, at der anvendes en affin transformation på output 𝑢𝑘 af den lineære kombinator i modellen som vist ved:

(mere info. om affine Transformation her)

Hvor 𝑣𝑘 kaldes induceret lokalt felt, eller aktiveringspotentiale

Så, Ækvivalent, kan vi formulere kombinationen af ovenstående Eq.

I ovenstående Eq. har vi tilføjet en ny synapse. Dens input er:

Vi kan derfor omformulere modellen for neuron 𝑘 som vist i Fig.6 I denne figur er der taget højde for biasens effekt ved at gøre to ting: (1) tilføjelse af et nyt indgangssignal, der er fastsat til +1, og (2) tilføjelse af en ny synaptisk vægt, der er lig med bias 𝑏𝑘 . Selv om modellerne i fig. 5 og 6 ser forskellige ud, er de matematisk ækvivalente.

Fig.6 En modificeret version af neuronmodel med bias

Håber du har nydt med neurale netværk og venter på mere deres brug i deep learning.

Leave a Reply

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.