Por que ReLU é melhor que as outras funções de ativação

17

Aqui, a resposta se refere a gradientes de fuga e explosão que têm sigmoidfunções de ativação semelhantes, mas, eu acho, Relutem uma desvantagem e é seu valor esperado. não há limitação para a saída do Relue, portanto, seu valor esperado não é zero. Lembro-me da época anterior à popularidade Reludisso tanhser a mais popular entre os especialistas em aprendizado de máquina sigmoid. O motivo foi que o valor esperado de tanhera igual a zero e ajudou a aprender em camadas mais profundas a ser mais rápido em uma rede neural. Relunão possui essa característica, mas por que está funcionando tão bem se colocarmos de lado sua vantagem derivativa. Além disso, acho que o derivado também pode ser afetado. Porque as ativações (saída deRelu) estão envolvidos no cálculo das regras de atualização.

meios de comunicação
fonte
É comum haver algum tipo de normalização (por exemplo, normalização de lote, normalização de camada) junto com ReLU. Isso ajusta a faixa de saída.
N
@ncasas Mas na CNNnormalização típica a saída do relunão é comum? Pelo menos eu nunca vi isso.
Meios
Você está certo, em CNNs não muito profundas é normal não ter normalização em lote. Você já considerou o papel dos valores iniciais do peso? (por exemplo, inicialização de He)
ncasas
sim, na verdade eles são de alguma forma para impedir gradientes de fuga / explosão, depois de algumas iterações, as saídas ficam maiores, eu acho.
Meios

Respostas:

21

A maior vantagem do ReLu é de fato a não saturação de seu gradiente, o que acelera bastante a convergência da descida do gradiente estocástico em comparação com as funções sigmoides / tanh ( artigo de Krizhevsky et al).

Mas não é a única vantagem. Aqui está uma discussão sobre os efeitos de esparsidade das ativações ReLu e a regularização induzida. Outra propriedade interessante é que, comparada aos neurônios tanh / sigmóides que envolvem operações caras (exponenciais, etc.), a ReLU pode ser implementada simplesmente limitando uma matriz de ativações a zero.

Mas eu não estou convencido de que grande sucesso de redes neurais modernos é devido a Relu sozinho . Novas técnicas de inicialização, como inicialização de Xavier, desistência e (mais tarde) batchnorm também tiveram um papel muito importante. Por exemplo, o famoso AlexNet usou ReLu e abandono.

Então, para responder à sua pergunta: ReLu possui propriedades muito agradáveis, embora não sejam ideais . Mas ele realmente prova a si mesmo quando combinado com outras ótimas técnicas, que, a propósito, resolvem problemas que não são do centro zero que você mencionou.

UPD: A saída ReLu não é realmente centralizada em zero e prejudica o desempenho da NN. Mas esse problema específico pode ser resolvido por outras técnicas de regularização, por exemplo, batchnorm, que normaliza o sinal antes da ativação :

x=Wvocê+b

Máxima
fonte
1
Eu deveria ter enfatizado esta parte: estava tentando dizer que ReLu sozinho não resolve esse problema. Você está certo de que a saída ReLu não é centralizada em zero e prejudica o desempenho da NN, a menos que os pesos sejam regularizados. Mas os gradientes saturados prejudicam ainda mais o NN, portanto a adoção em massa do ReLu foi um passo adiante, apesar de suas desvantagens.
Maxim
você poderia dizer o que você quer dizer com pesos são regularizados? na resposta e também na coisa que você enfatizou.
Meios
Atualizei minha resposta com alguns detalhes sobre esse problema em particular
Maxim
O que eu acho um pouco confuso, por que não usar apenas a função de identidade? Qual é a vantagem de 0 para valores negativos?
28417 Alex
@Alex id não é uma não linearidade. É equivalente a ter apenas camadas lineares no NN. Veja esta pergunta - stackoverflow.com/q/46659525/712995
Maxim