Dlaczego skorygowane jednostki liniowe są uważane za nieliniowe?

25

Dlaczego funkcje aktywacji rektyfikowanych jednostek liniowych (ReLU) są uważane za nieliniowe?

f(x)=max(0,x)

Są one liniowe, gdy dane wejściowe są dodatnie i z mojego zrozumienia, aby odblokować reprezentatywną moc głębokich sieci, nieliniowe aktywacje są koniecznością, w przeciwnym razie cała sieć mogłaby być reprezentowana przez pojedynczą warstwę.

Aly
źródło
Podobne pytanie zostało zadane wcześniej: stats.stackexchange.com/questions/275358/… chociaż prawdopodobnie nie jest to duplikat
Aksakal

Odpowiedzi:

33

RELU to nieliniowości. Aby pomóc Twojej intuicji, rozważ bardzo prostą sieć z 1 jednostką wejściową x , 2 jednostkami ukrytymi yi i 1 jednostką wyjściową z . Dzięki tej prostej sieci moglibyśmy wdrożyć funkcję wartości bezwzględnej,

z=max(0,x)+max(0,x),

lub coś, co wygląda podobnie do powszechnie stosowanej funkcji sigmoidalnej,

z=max(0,x+1)max(0,x1).

Łącząc je w większe sieci / używając więcej ukrytych jednostek, możemy przybliżyć dowolne funkcje.

Funkcja sieci RELU

Lucas
źródło
Czy tego typu ręcznie skonstruowane ReLus byłyby budowane apriori i kodowane jako warstwy? Jeśli tak, to skąd miałbyś wiedzieć, że twoja sieć wymaga jednego z tych specjalnie zbudowanych ReLusów?
Monica Heddneck,
4
@MonicaHeddneck Możesz określić własne nieliniowości, tak. Tym, co sprawia, że ​​jedna funkcja aktywacji jest lepsza od drugiej, jest stały temat badań. Na przykład używaliśmy sigmoidów, , ale z powodu problemu znikającego gradientu, ReLU stały się bardziej popularne. Więc to od Ciebie zależy, czy użyjesz różnych funkcji aktywacji nieliniowości. σ(x)=11+ex
Tarin Ziyaee,
Jak oszacowałbyś przy ReLU poza próbką? ex
Aksakal
1
@Lucas, Więc w zasadzie, jeśli łączymy (+)> 1 ReLU, możemy przybliżać dowolną funkcję, ale czy po prostu reLu(reLu(....))zawsze będzie ona liniowa? Również tutaj zmieniacie się xna x+1, które można by pomyśleć jako miejsce, w Z=Wx+bktórym zmienia się W & b, aby dać różne warianty tego rodzaju xi x+1?
anu