Pourquoi les unités linéaires rectifiées sont-elles considérées comme non linéaires?

25

Pourquoi les fonctions d'activation des unités linéaires rectifiées (ReLU) sont-elles considérées comme non linéaires?

f(x)=max(0,x)

Ils sont linéaires lorsque l'entrée est positive et de ma compréhension pour débloquer la puissance représentative des réseaux profonds, les activations non linéaires sont un must, sinon l'ensemble du réseau pourrait être représenté par une seule couche.

Aly
la source
Il y a une question similaire posée auparavant: stats.stackexchange.com/questions/275358/… bien que ce ne soit probablement pas un doublon
Aksakal

Réponses:

33

Les RELU sont des non-linéarités. Pour aider votre intuition, considérez un réseau très simple avec 1 unité d'entrée , 2 unités cachées et 1 unité de sortie . Avec ce réseau simple, nous pourrions implémenter une fonction de valeur absolue,xyiz

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

ou quelque chose qui ressemble à la fonction sigmoïde couramment utilisée,

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

En combinant ces derniers dans de plus grands réseaux / en utilisant plus d'unités cachées, nous pouvons approximer des fonctions arbitraires.

Fonction réseau RELU

Lucas
la source
Ces types de ReLus construits à la main seraient-ils construits a priori et codés en dur sous forme de couches? Si oui, comment sauriez-vous que votre réseau nécessitait en particulier l'un de ces ReLus spécialement construits?
Monica Heddneck
4
@MonicaHeddneck Vous pouvez spécifier vos propres non-linéarités, oui. Ce qui rend une fonction d'activation meilleure qu'une autre est un sujet de recherche constant. Par exemple, nous avions l'habitude d'utiliser des sigmoïdes, , mais en raison du problème du gradient de fuite, les ReLU sont devenues plus populaires. C'est donc à vous d'utiliser différentes fonctions d'activation de non-linéarité. σ(x)=11+ex
Tarin Ziyaee
Comment approximeriez-vous avec ReLU dans un échantillon? ex
Aksakal
1
@Lucas, Donc, fondamentalement, si combiner (+)> 1 ReLU, nous pouvons approximer n'importe quelle fonction, mais si nous le faisons simplement, reLu(reLu(....))elle sera toujours linéaire? De plus, ici, vous passez xà x+1, cela pourrait être considéré comme Z=Wx+boù W & b change pour donner différentes variantes de ce type x& x+1?
anu