La normalisation par lots a-t-elle un sens pour une fonction d'activation ReLU?

10

La normalisation par lots est décrite dans cet article comme une normalisation de l'entrée d'une fonction d'activation avec des variables d'échelle et de décalageγ et β. Cet article décrit principalement l'utilisation de la fonction d'activation sigmoïde, ce qui est logique. Cependant, il me semble que l'introduction d'une entrée de la distribution normalisée produite par la normalisation par lots dans une fonction d'activation ReLU demax(0,x) est risqué si βn'apprend pas à déplacer la plupart des entrées au-delà de 0 de sorte que le ReLU ne perd pas les informations d'entrée. Autrement dit, si l'entrée de la ReLU était simplement normalisée, nous perdrions beaucoup de nos informations en dessous de 0. Y a-t-il une garantie ou une initialisation deβqui garantira que nous ne perdons pas ces informations? Suis-je en train de manquer quelque chose avec le fonctionnement de BN et ReLU?

bnorm
la source

Réponses:

3

C'est un problème connu avec les fonctions d'activation ReLU. Il est souvent appelé «ReLU mourant». Étant donné une entrée sur la limite zéro, l'unité est maintenant presque toujours fermée. Un ReLU fermé ne peut pas mettre à jour ses paramètres d'entrée, un ReLU mort reste mort.

La solution consiste à utiliser des variantes de ReLU pour la fonction d'activation telles que Leaky ReLU, Noisy ReLU ou ELU .

Brian Spiering
la source
1

Je dirais que BN va après le ReLU et pas avant, en général il devrait être mis entre 2 couches afin de normaliser le PDF de sortie de la couche avant de devenir une autre entrée de couche

Le traitement de la couche convolutive est composé d'un traitement Lin (Opérateur Conv) + NonLin (par exemple ReLU) (comme le traitement des neurones artificiels) et un nonlin sparsifiant comme ReLU produit un PDF de sortie qui n'est pas négatif en raison du filtrage, donc avant le passer comme entrée de couche suivante le BN peut aider à le renormaliser

Nicola Bernini
la source