Neurala nätverk (del 1)

Ahmed Imam
Ahmed Imam

Follow

Jun 16, 2020 – 6 min read

Feed-Forward Neural Networks (FFNN)

I sin mest allmänna form är ett neuralt nätverk en maskin som är utformad för att modellera det sätt på vilket hjärnan utför en viss uppgift eller funktion av intresse; Nätet genomförs vanligen med hjälp av elektroniska komponenter eller simuleras i programvara på en digital dator.

För att uppnå god prestanda använder sig neurala nätverk av en massiv sammankoppling av enkla beräkningsceller som kallas "neurons", perceptrons eller ”bearbetningsenheter”.

Vi kan således erbjuda följande definition av ett neuralt nätverk:

Ett neuralt nätverk är en massivt parallell distribuerad processor som består av enkla bearbetningsenheter och som har en naturlig benägenhet att lagra erfarenhetsbaserad kunskap och göra den tillgänglig för användning. Det liknar hjärnan i två avseenden:

  1. Nätet förvärvar kunskap från sin omgivning genom en inlärningsprocess.
  2. Neuronernas sammanlänkningsstyrka, som kallas synaptiska vikter, används för att lagra den förvärvade kunskapen.

Likt i den mänskliga hjärnan omvandlar receptorerna stimuli från människokroppen eller den yttre miljön till elektriska impulser som förmedlar information till det neurala nätet (hjärnan). Effektorerna omvandlar elektriska impulser som genereras av det neurala nätet till urskiljbara svar som systemutgångar.

Feed-Forward Neural Network (FFNN)

Figur 1. Feed-Forward Neural Network (FFNN)

Modeller av neuron

En neuron är en informationsbehandlingsenhet som är grundläggande för driften av ett neuralt nätverk.

Här identifierar vi tre grundläggande delar av den neurala modellen:

  1. En uppsättning synapser (nervändar), eller förbindelselänkar, som var och en kännetecknas av en egen 𝑤𝑒𝑖𝑔ℎ𝑡 eller 𝑠𝑡𝑟𝑒𝑛𝑔𝑡ℎ. Närmare bestämt multipliceras en signal 𝑥𝑗 vid ingången till synaps 𝑗 som är ansluten till neuron 𝑘 med den synaptiska vikten 𝑤𝑘𝑗. Det är viktigt att notera hur subscripts för den synaptiska vikten 𝑤𝑘𝑘𝑗 skrivs. Det första subscriptet i 𝑤𝑘𝑘𝑗 hänvisar till neuronen i fråga, och det andra subscriptet hänvisar till ingångsänden av den synaps som vikten hänvisar till. **
  2. En adderare för att summera ingångssignalerna, viktade med neuronens respektive synaptiska styrkor; de operationer som beskrivs här utgör en linear combiner.
  3. En aktiveringsfunktion för att begränsa amplituden av en neurons utgångssignal. aktiveringsfunktionen kallas också för en squashing-funktion, eftersom den squashar (begränsar) det tillåtna amplitudområdet för utgångssignalen till ett visst ändligt värde. Vanligtvis skrivs det normaliserade amplitudområdet för en neurons utgång som det slutna enhetsintervallet , eller alternativt .

Hidden-Layer Neuron

Fig.2 Neuron i dolda lager

Med matematiska termer kan vi beskriva neuronen -𝑗 som visas i fig.2 genom att skriva ekvationsparet:

där 𝑥1, 𝑥2, …, 𝑥𝑚 är ingångssignalerna; 𝑤𝑗1 , 𝑤𝑗2, …, 𝑤𝑗𝑚 är de respektive synaptiska vikterna för neuron 𝑗; net ℎ𝑗 är den linjära kombinatorns utgång på grund av ingångssignalerna; 𝑓(⋅) är aktiveringsfunktionen; och 𝐼𝑗 är neuronens utgångssignal.

Utgångsnivå neuron

Fig.3 Neuron i utgående lager

Med matematiska termer kan vi beskriva den neuron 𝑘 som visas i fig.3 genom att skriva ekvationsparet:

Uttryck för dolda neurala nätverk:

Det dolda neurala nätverket Synaptiska vikter kan uttryckas som:

Hela det dolda neurala nätverket kan uttryckas som:

Express Output Neural-Network:

Det dolda neurala nätverket Synaptiska vikter kan uttryckas som:

Hela det dolda neurala nätverket kan uttryckas som:

Exempel_1.

Med följande NN med vikter:

Fig.4 Exempel_1

Inputs:

Följande aktiveringsfunktion används:

Lösning:

Första paret

2:a paret

3:e paret

4:e paret

Ett slutresultat:

Utgången är

Detta innebär att vårt neurala nätverk fungerar som dess XOR logiska grind.

Aktiveringsfunktion

Aktiveringsfunktionen kan ha flera olika former beroende på problemet är det regression eller klassificering. Här är några exempel på aktiveringsfunktioner.

Sigmoid och tanh används för binär klassificering medan softmax används för multiklassificeringsproblem.

ReLU och Leaky ReLU används för regressionsproblem. Maxout-aktiveringen är en generalisering av ReLU- och leaky ReLU-funktionerna.

Applicering av förspänning på neurala nätverk.

Den neurala modellen i figur 5. innehåller en extern bias som betecknas med 𝑏𝑘 . Förspänningen (𝑏𝑘) har den effekten att den ökar eller sänker aktiveringsfunktionens nettoinmatning, beroende på om den är positiv eller negativ.

Fig.5 Icke-lineär modell
av en neuron, märkt k.

Matematiskt sett kan vi beskriva neuronen 𝑘 genom att skriva ekvationsparet:

där 𝑥1, 𝑥2, …, 𝑥𝑚 är ingångssignalerna; 𝑤𝑘1 , 𝑤𝑘2 , …, 𝑤𝑘𝑚 är de respektive synaptiska vikterna för neuron 𝑘; 𝑢𝑘 (visas inte i ovanstående fig.) är den linjära kombinatorns utgång på grund av ingångssignalerna, 𝑏𝑘 är bias, 𝜑(-) är aktiveringsfunktionen och 𝑦𝑘 är neuronens utgångssignal. Användningen av bias 𝑏𝑘 har effekten att man tillämpar en affin transformation på utgången 𝑢𝑘 av den linjära kombinatorn i modellen enligt följande:

(mer info. om affin transformation här)

Om 𝑣𝑘 kallas inducerat lokalt fält eller aktiveringspotential

Så, på motsvarande sätt kan vi formulera kombinationen av ovanstående ekvationer.

I ovanstående ekvation har vi lagt till en ny synapse. Dess ingång är:

Vi kan därför omformulera modellen för neuron 𝑘 enligt fig.6 I denna figur beaktas effekten av bias genom att göra två saker: (1) lägga till en ny ingångssignal som är fixerad till +1 och (2) lägga till en ny synaptisk vikt som är lika med bias 𝑏𝑘 . Även om modellerna i figurerna 5 och 6 ser olika ut är de matematiskt likvärdiga.

Fig.6 En modifierad version av neuronmodellen med bias

Hoppas att ni trivdes med neurala nätverk och väntar på mer av deras användning inom deep learning.

Lämna ett svar

Lämna ett svar

Din e-postadress kommer inte publiceras.