Hvorfor squashing-funktion er vigtig i neurale netværk?


Bedste svar

Der er forskellige typer squashing-funktioner. En squashing-funktion defineres i det væsentlige som en funktion, der squashes input til en af ​​enderne af et lille interval. I neurale netværk kan disse bruges på knudepunkter i et skjult lag til at squash input. Dette introducerer ikke-linearitet til NN og tillader NN at være effektiv. Du kan bevise, at uden at indføre ikke-linearitet ved hvert lag, ville du stort set bare have en række lineære transformationer, der ville være lige så effektive som en lineær transformation, så NN ville være mere som en lineær regression.

Populære, der er brugt, inkluderer sigmoid-funktionen, hyperbolsk tangensfunktion osv. Du kan finde mange af disse ressourcer online.

Mens squashing-funktioner fungerer i NN, er der flere problemer med at bruge en. Et af problemerne er, at det er svært at få mellemliggende værdier ved hjælp af squashing-funktioner, fordi squashing-funktioner pr. Definition forsøger at squashe funktionen i begge ender af intervallet. De kan således være vanskelige at bruge, og ofte kan squashing-funktionerne være meget følsomme over for de anvendte vægte. Dette kan gøre træning meget vanskelig, fordi du er nødt til at finde et meget præcist sæt vægte, der producerer squashingen nøjagtigt som du ønsker (ellers vil værdierne blive presset – der er ingen mellemvej).

Et andet problem er problemet med forsvindende gradient. Når du bruger backpropagation og kaskaderer fejlen, har fejlen en tendens til at falde hurtigt, fordi den konstant ganges med en brøkdel af en fra squashing-output og vægte (som ofte initialiseres typisk som en brøkdel af en). Tidligere lag er således de langsommeste at træne, og det er vanskeligt at træne dem.

Hvad der førte til den nylige effektivitet af NNer var brugen af ​​ReLU-funktionen i stedet for squashing-funktionerne, som snarere end at squashe input fuldstændigt, kortlægger input til et [0, x] interval. Dette viste sig at være meget mere effektivt i NNer og føre til den nylige NN-succes. Folk troede oprindeligt, måske lidt naivt, at fordi funktionen ikke var differentierbar, ville den ikke være så effektiv, men dette viste sig ikke at være tilfældet.

Selv med ReLUs, problemet med forsvindende gradient eksisterer stadig og med meget dybe netværk er det stadig et problem. Der er forskellige metoder, der i øjeblikket arbejdes på for at forsøge at bekæmpe dette problem.

Svar

Uden en squashing-funktion ville et neuralt netværk ikke være i stand til at modellere ikke-lineære relationer. Faktisk hvis alle neuroner har en lineær responsfunktion, er det neurale netværk, uanset hvilken topologi der forenkles til en lineær regression.

Hvis du har en outputneuron y det afhænger lineært af et mellemliggende lag u

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

der afhænger igen lineært af inputneuroner x

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

hele det neurale netværk forenkles til

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

Hvis du optimerer kvadratiske fejludtryk, ender du med en lineær regression.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *