La fonction ReLU est f(x)=max(0,x). Habituellement, elle est appliquée élément par élément à la sortie d'une autre fonction, telle qu'un produit vecteur matriciel. Dans les utilisations MLP, les unités de redressement remplacent toutes les autres fonctions d'activation, à l'exception peut-être de la couche de lecture. Mais je suppose que vous pouvez les mélanger et les assortir si vous le souhaitez.
Les ReLU améliorent les réseaux neuronaux en accélérant la formation. Le calcul du gradient est très simple (soit 0 soit 1 selon le signe de x ). En outre, l'étape de calcul d'une ReLU est facile: tous les éléments négatifs sont définis sur 0,0 - pas d'exponentielles, pas de multiplication ou de division.
Les gradients des réseaux tangents logistiques et hyperboliques sont plus petits que la partie positive du ReLU. Cela signifie que la partie positive est mise à jour plus rapidement à mesure que la formation progresse. Cependant, cela a un coût. Le gradient 0 sur le côté gauche a son propre problème, appelé "neurones morts", dans lequel une mise à jour du gradient définit les valeurs entrantes sur un ReLU de telle sorte que la sortie est toujours nulle; des unités ReLU modifiées telles que ELU (ou Leaky ReLU, ou PReLU, etc.) peuvent améliorer cela.
ddxReLU(x)=1∀x>0 . En revanche, le gradient d'une unité sigmoïde est au plus de ; d'autre part, se porte mieux pour les entrées dans une région proche de 0 puisque (environ).0.25tanh0.25<ddxtanh(x)≤1∀x∈[−1.31,1.31]