A Normalização em lote faz sentido para uma função de ativação da ReLU?

10

A normalização de lote é descrita neste documento como uma normalização da entrada para uma função de ativação com variáveis ​​de escala e deslocamento e \ beta . Este artigo descreve principalmente o uso da função de ativação sigmóide, que faz sentido. No entanto, parece-me que alimentar uma entrada da distribuição normalizada produzida pela normalização em lote para uma função de ativação ReLU de max (0, x) é arriscado se \ beta não aprender a mudar a maioria das entradas além de 0, de modo que o ReLU não está perdendo informações de entrada. Ou seja, se a entrada para a ReLU fosse apenas normalizada, perderíamos muitas informações abaixo de 0. Existe alguma garantia ou inicialização de \ betaγβmax(0,x)ββque garantirá que não perdemos essas informações? Estou faltando alguma coisa sobre como a operação do BN e da ReLU funciona?

bnorm
fonte

Respostas:

3

Isso é conhecido como um problema com as funções de ativação da ReLU. É freqüentemente chamado de "ReLU moribundo". Dada uma entrada acima do limite zero, a unidade agora está quase sempre fechada. Uma ReLU fechada não pode atualizar seus parâmetros de entrada, uma ReLU morta permanece morta.

A solução é usar variantes do ReLU para a função de ativação, como Leaky ReLU, Noisy ReLUs ou ELU .

Brian Spiering
fonte
1

Eu diria que o BN vai atrás da ReLU e não antes, em geral deve ser colocado entre 2 camadas para normalizar o PDF de saída da camada antes de se tornar outra entrada de camada

O processamento convolutivo da camada é composto por um processamento Lin (Conv Operator) + NonLin (por exemplo, ReLU) (como o Artificial Neuron Processing) e um nonlin sparsifying como o ReLU produz um PDF de saída que não é negativo como resultado da filtragem, portanto, antes passando como a próxima camada de entrada do BN pode ajudar a renormalizá-lo

Nicola Bernini
fonte