Hvorfor squashing-funksjonen er viktig i nevrale nettverk?


Beste svaret

Det finnes forskjellige typer squashing-funksjoner. En squashing-funksjon er egentlig definert som en funksjon som squasher inngangen til en av endene av et lite intervall. I Neural Networks kan disse brukes på noder i et skjult lag for å klemme inngangen. Dette introduserer ikke-linearitet til NN og gjør at NN kan være effektivt. Du kan bevise at uten å innføre ikke-linearitet ved hvert lag, ville du egentlig bare ha en serie lineære transformasjoner som ville være like effektive som en lineær transformasjon, så NN ville være mer som en lineær regresjon.

Populære som har blitt brukt inkluderer sigmoidfunksjonen, hyperbolsk tangensfunksjon, etc. Du kan finne mange av disse ressursene på nettet.

Mens squashing-funksjoner har en viktig rolle i NN, er det flere problemer med å bruke en. Et av problemene er at det er vanskelig å få mellomverdier ved hjelp av squashing-funksjoner, fordi squashing-funksjoner per definisjon prøver å squash-funksjonen til begge ender av intervallet. Dermed kan de være vanskelige å bruke, og ofte kan squashing-funksjonene være veldig følsomme for vektene som brukes. Dette kan gjøre trening veldig vanskelig fordi du trenger å finne et veldig nøyaktig sett med vekter som produserer squashing akkurat slik du vil (ellers blir verdiene klemt – det er ingen mellomvei).

Et annet spørsmål er Vanishing Gradient-problemet. Når du bruker backpropagation og cascading feilen, har feilen en tendens til å avta raskt fordi den konstant multipliseres med en brøkdel av en fra squashing-utgang og vekter (som ofte initialiseres som en brøkdel av en). Tidligere lag er altså den tregeste å trene, og det er vanskelig å trene dem.

Det som førte til den nylige effektiviteten av NN var bruken av ReLU-funksjonen i stedet for squashing-funksjonene, som i stedet for å squashing inngang helt, tilordner inngangen til et [0, x] intervall. Dette viste seg å være mye mer effektivt i NN-er, og førte til den nylige NN-suksessen. Folk trodde opprinnelig, kanskje litt naivt, at fordi funksjonen ikke var forskjellig, ville den ikke være like effektiv, men dette viste seg ikke å være tilfelle.

Selv med ReLUs, forsvinner Gradient-problemet eksisterer fortsatt og med veldig dype nettverk er det fortsatt et problem. Det er forskjellige metoder som det nå arbeides med for å prøve å bekjempe dette problemet.

Svar

Uten en squashing-funksjon ville et nevralt nettverk ikke kunne modellere ikke-lineære relasjoner. Faktisk hvis alle nevroner har en lineær responsfunksjon, er nevrale nettverk, uansett hvilken topologi som forenkler til en lineær regresjon.

Hvis du har et utgangsneuron y som avhenger lineært av et mellomlag u

y = \ sum\_i \ gamma\_i u\_i

som igjen avhenger lineært av inngangsneuronene x

u\_i = \ sum\_j \ beta\_ {ij} x\_j

hele nevrale nettverket forenkles til

y = \ sum\_ {ij} \ gamma\_i \ beta\_ {ij} x\_j

Hvis du optimaliserer kvadratiske feiluttrykk, ender du opp med en lineær regresjon.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *