web-dev-qa-db-fra.com

Que signifie "relu" dans tf.nn.relu?

Dans son documentation API , il est écrit "Calculs rectifiés linéaires".

Est-ce Re (ctified) L (inear) ... qu'est-ce que U alors?

9
Aerin

Re (ctified) L(inear) (U) nit

Habituellement, une couche dans un réseau de neurones a une entrée, disons un vecteur, et la multiplie par une matrice de poids, ce qui signifie à nouveau dans un vecteur.

Chaque valeur du résultat (généralement un flottant) est alors considérée comme une sortie. Cependant, la plupart des couches dans les réseaux de neurones impliquent de nos jours des non-linéarités, d'où une fonction complémentaire qui, pourrait-on dire, ajoute de la complexité à ces valeurs de sortie. Pendant longtemps, ce sont des sigmoïdes et des tanhs.

Mais plus récemment, les gens utilisent une fonction qui donne 0 si l'entrée est négative et l'entrée elle-même si cette entrée est 0 ou positive. Cette fonction complémentaire spécifique (ou mieux "fonction d'activation") est appelée relu.

26
Phillip Bock

En plus de la réponse de Friesel, je voudrais ajouter deux caractéristiques importantes de Relu.

1. Ce n'est PAS différenciable.

Graphique de Relu: C'est pointu, pas sinueux.

enter image description here

Il est défini comme f(x) = max(0,x) donc il n'est pas différenciable.

2. Le dérivé de ReLU est très simple! Plus simple que sigmoid, qui est x(1-x).

The derivative of ReLU:
 1 if x > 0
 0 otherwise 

C'est la fonction non linéaire la plus simple que nous utilisons principalement sur les calques masqués. Pensez à la facilité avec laquelle la rétropropagation serait!

7
Aerin