Varför squashing-funktionen är viktig i neurala nätverk?


Bästa svaret

Det finns olika typer av squashing-funktioner. En squashing-funktion definieras i huvudsak som en funktion som squashar ingången till en av ändarna av ett litet intervall. I Neural Networks kan dessa användas vid noder i ett dolt lager för att squasha ingången. Detta introducerar icke-linjäritet till NN och gör att NN kan vara effektivt. Du kan bevisa att utan att införa icke-linjäritet vid varje lager, skulle du i princip bara ha en serie linjära transformationer som skulle vara lika effektiva som en linjär transformation, så NN skulle vara mer som en linjär regression.

Populära som har använts inkluderar sigmoidfunktionen, hyperbolisk tangentfunktion etc. Du kan hitta många av dessa resurser online.

Medan squashing-funktioner har en viktig roll i NN finns det flera problem med att använda en. En av problemen är att det är svårt att få mellanliggande värden med hjälp av squashing-funktioner eftersom, per definition, squashing-funktioner försöker squasha funktionen till båda ändarna av intervallet. Således kan de vara svåra att använda och ofta kan squashfunktionerna vara mycket känsliga för de vikter som appliceras. Detta kan göra träningen väldigt svår eftersom du måste hitta en mycket exakt uppsättning vikter som ger squashing precis som du vill (annars kommer värdena att squashas – det finns ingen mellanväg).

En annan fråga är Vanishing Gradient-problemet. När backpropagation används och kaskaderar felet tenderar felet att minska snabbt eftersom det ständigt multipliceras med en bråkdel av en från squashing-utgången och vikterna (som ofta initialiseras vanligtvis som en bråkdel av en). Tidigare lager är alltså de långsammaste att träna och det är svårt att träna dem.

Det som ledde till den senaste effektiviteten hos NN var användningen av ReLU-funktionen istället för squashing-funktionerna, som snarare än att squasha mata in helt, mappar ingången till ett [0, x] intervall. Detta visade sig vara mycket effektivare i NN och ledde till den senaste framgången för NN. Människor trodde ursprungligen, kanske lite naivt, att eftersom funktionen inte var differentierbar skulle den inte vara lika effektiv, men detta visade sig inte vara fallet.

Även med ReLUs, det försvinnande gradientproblemet finns fortfarande och med mycket djupa nätverk är det fortfarande ett problem. Det finns för närvarande olika metoder för att försöka bekämpa problemet.

Svar

Utan en squashing-funktion skulle ett neuralt nätverk inte kunna modellera icke-linjära relationer. Faktum är att om alla nervceller har en linjär responsfunktion, det neurala nätverket, oavsett vilken topologi som förenklas till en linjär regression.

Om du har en utgångsneuron y som linjärt beror på ett mellanliggande lager u

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

som i sin tur beror linjärt på inmatningsneuronerna x

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

hela neurala nätverket förenklar till

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

Om du optimerar kvadratiska feltermer får du en linjär regression.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *