Por que usamos ReLU em redes neurais e como usamos?
31
Por que usamos unidades lineares retificadas (ReLU) com redes neurais? Como isso melhora a rede neural?
Por que dizemos que ReLU é uma função de ativação? A função de ativação softmax não é usada para redes neurais? Eu estou supondo que usamos ambos, ReLU e softmax, assim:
neurônio 1 com saída softmax ----> ReLU na saída do neurônio 1, que é a
entrada do neurônio 2 ---> neurônio 2 com saída softmax -> ...
de modo que a entrada do neurônio 2 é basicamente ReLU (softmax (x1)). Isso está correto?
Uma maneira de as ReLUs melhorarem as redes neurais é acelerar o treinamento. O cálculo do gradiente é muito simples (0 ou 1, dependendo do sinal de ). Além disso, a etapa computacional de uma ReLU é fácil: qualquer elemento negativo é definido como 0,0 - sem exponenciais, sem operações de multiplicação ou divisão.x
Os gradientes das redes tangentes logística e hiperbólica são menores que a porção positiva da ReLU. Isso significa que a parte positiva é atualizada mais rapidamente à medida que o treinamento avança. No entanto, isso tem um custo. O gradiente 0 no lado esquerdo tem seu próprio problema, chamado "neurônios mortos", no qual uma atualização de gradiente define os valores recebidos para uma ReLU, de modo que a saída é sempre zero; unidades ReLU modificadas, como ELU (ou Leaky ReLU, ou PReLU, etc.) podem melhorar isso.
ddxReLU(x)=1∀x>0 . Por outro lado, o gradiente de uma unidade sigmóide é no máximo ; por outro lado, melhor para entradas em uma região próxima de 0, desde (aproximadamente).0.25tanh0.25<ddxtanh(x)≤1∀x∈[−1.31,1.31]
@aginensky Você pode fazer perguntas clicando no botão Fazer pergunta na parte superior da página.
Sycorax diz Reinstate Monica
Não vejo nenhuma evidência de que queria fazer uma pergunta ou de que participei desta página. Francamente, estou impressionado com o quão bem o ReLU funciona, mas parei de questioná-lo :).
aginensky 24/06
@aginensky Parece que o comentário foi removido nesse meio tempo.
Sycorax diz Reinstate Monica
O comentário não foi removido por mim nem fui informado. Parei de responder perguntas e acho que isso significa que também terminei de comentar.
aginensky 24/06
@aginensky Não sei por que isso faria com que você parasse de comentar. Se você tiver alguma dúvida sobre comentários e moderação, faça uma pergunta no meta.stats.SE.
Sycorax diz Reinstate Monica
4
Uma coisa importante a destacar é que ReLU é idempotente. Dado que ReLU é , é fácil ver que é verdadeiro para qualquer composição finita . Essa propriedade é muito importante para redes neurais profundas, porque cada camada da rede aplica uma não linearidade. Agora, vamos aplicar duas funções da família sigmóide na mesma entrada repetidamente 1-3 vezes:ρ ( x ) = max ( 0 , x )ρ ∘ ρ ∘ ρ ∘ ⋯ ∘ ρ = ρ
Você pode ver imediatamente que as funções sigmoides "esmagam" suas entradas, resultando no problema de gradiente de fuga: derivadas se aproximam de zero quando (o número de aplicativos repetidos) se aproxima do infinito.n
ReLU é a função máxima (x, 0) com entrada x, por exemplo, matriz de uma imagem envolvida. ReLU define todos os valores negativos na matriz x como zero e todos os outros valores são mantidos constantes.
O ReLU é calculado após a convolução e, portanto, uma função de ativação não linear como tanh ou sigmóide.
Softmax é um classificador no final da rede neural. Isso é regressão logística para regularizar saídas para valores entre 0 e 1. (Alternativa aqui é um classificador SVM).
Downvoting. Esta é uma resposta muito ruim! Softmax não é um classificador! É uma função que normaliza (dimensiona) as saídas no intervalo [0,1] e garante que elas totalizem até 1. A regressão logística não "regulariza" nada! A frase "ReLU é calculada após a convolução e, portanto, uma função de ativação não linear como tanh ou sigmoide". falta um verbo ou sentido.
Jan KUKACKA
1
A resposta não é tão ruim assim. A sentença sem o verbo deve ser "ReLU é computada após a convolução e, portanto, é uma função de ativação não linear como tanh ou sigmóide". Pensar no softmax como um classificador também faz sentido. Pode ser visto como um classificador probabilístico que atribui uma probabilidade a cada classe. "Regulariza" / "normaliza" as saídas no intervalo [0,1].
user118967
0
ReLU é um comutador literal. Com um interruptor elétrico, 1 volt de entrada fornece 1 volt de saída, n volts de entrada fornece n volts de saída quando ligado. Ligar / Desligar quando você decide alternar para zero fornece exatamente o mesmo gráfico que ReLU. A soma ponderada (produto escalar) de várias somas ponderadas ainda é um sistema linear. Para uma entrada específica, os comutadores ReLU são ativados ou desativados individualmente. Isso resulta em uma projeção linear específica da entrada para a saída, pois várias somas ponderadas da soma ponderada de ... são conectadas juntas pelos comutadores. Para uma entrada específica e um neurônio de saída específico, existe um sistema composto de somas ponderadas que realmente podem ser resumidas em uma única soma ponderada efetiva. Como os comutadores ReLU estão em zero, não há descontinuidades repentinas na saída para alterações graduais na entrada.
Existem outros algoritmos de soma ponderada (produto de ponto) numericamente eficientes, como as transformações FFT e Walsh Hadamard. Não há razão para que você não possa incorporá-los a uma rede neural baseada em ReLU e se beneficie dos ganhos computacionais. (por exemplo, redes neurais de bancos de filtros fixos.)
Uma coisa importante a destacar é que ReLU é idempotente. Dado que ReLU é , é fácil ver que é verdadeiro para qualquer composição finita . Essa propriedade é muito importante para redes neurais profundas, porque cada camada da rede aplica uma não linearidade. Agora, vamos aplicar duas funções da família sigmóide na mesma entrada repetidamente 1-3 vezes:ρ ( x ) = max ( 0 , x ) ρ ∘ ρ ∘ ρ ∘ ⋯ ∘ ρ = ρ
Você pode ver imediatamente que as funções sigmoides "esmagam" suas entradas, resultando no problema de gradiente de fuga: derivadas se aproximam de zero quando (o número de aplicativos repetidos) se aproxima do infinito.n
fonte
ReLU é a função máxima (x, 0) com entrada x, por exemplo, matriz de uma imagem envolvida. ReLU define todos os valores negativos na matriz x como zero e todos os outros valores são mantidos constantes.
O ReLU é calculado após a convolução e, portanto, uma função de ativação não linear como tanh ou sigmóide.
Softmax é um classificador no final da rede neural. Isso é regressão logística para regularizar saídas para valores entre 0 e 1. (Alternativa aqui é um classificador SVM).
CNN Forward Pass, por exemplo: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax
fonte
ReLU é um comutador literal. Com um interruptor elétrico, 1 volt de entrada fornece 1 volt de saída, n volts de entrada fornece n volts de saída quando ligado. Ligar / Desligar quando você decide alternar para zero fornece exatamente o mesmo gráfico que ReLU. A soma ponderada (produto escalar) de várias somas ponderadas ainda é um sistema linear. Para uma entrada específica, os comutadores ReLU são ativados ou desativados individualmente. Isso resulta em uma projeção linear específica da entrada para a saída, pois várias somas ponderadas da soma ponderada de ... são conectadas juntas pelos comutadores. Para uma entrada específica e um neurônio de saída específico, existe um sistema composto de somas ponderadas que realmente podem ser resumidas em uma única soma ponderada efetiva. Como os comutadores ReLU estão em zero, não há descontinuidades repentinas na saída para alterações graduais na entrada.
Existem outros algoritmos de soma ponderada (produto de ponto) numericamente eficientes, como as transformações FFT e Walsh Hadamard. Não há razão para que você não possa incorporá-los a uma rede neural baseada em ReLU e se beneficie dos ganhos computacionais. (por exemplo, redes neurais de bancos de filtros fixos.)
fonte