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? Não é função de ativação de softmax para redes neurais? Estou supondo que usamos ambos, ReLU e softmax, assim:
neurônio 1 com saída de 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 seja basicamente ReLU (softmax (x1)). correto?
Resposta
A função ReLU é $ f (x) = \ max (0, x). $ Normalmente, isso é aplicado elemento a saída de alguma outra função, como um produto matriz-vetor. Em usos de MLP, as unidades retificadoras substituem todas as outras funções de ativação, exceto talvez a leitura mas suponho que você possa misturá-los e combiná-los, se quiser.
Uma maneira dos ReLUs melhorar as redes neurais é acelerando o treinamento. O cálculo do gradiente é muito simples (0 ou 1 dependendo do sinal de $ x $ ). Além disso, a etapa computacional de um ReLU é fácil: quaisquer elementos negativos são definidos como 0,0 – sem exponenciais, sem operações de multiplicação ou divisão.
Os gradientes das redes tangentes logísticas e hiperbólicas são menores do que a parte positiva de o 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 de “neurônios mortos”, no qual uma atualização de gradiente define os valores de entrada para um ReLU de forma que a saída seja sempre zero; unidades ReLU modificadas como ELU (ou Leaky ReLU ou PReLU, etc.) podem melhorar isso.
$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ forall x > 0 $ . Em contraste, o gradiente de uma unidade sigmóide é no máximo $ 0,25 $ ; por outro lado, $ \ tanh $ tem melhor desempenho para insumos em uma região próxima a 0 desde $ 0,25 < \ frac {d} {dx} \ tanh (x) \ le 1 \ forall x \ in [-1,31, 1,31] $ (aproximadamente).
Comentários
- Não vejo evidências de que queria fazer uma pergunta ou de que participei desta página. Francamente, ‘ estou surpreso com o quão bem o ReLU funciona, mas ‘ parei de questioná-lo :).
- @aginensky Parece que o comentário foi removido nesse ínterim.
- O comentário não foi removido por mim nem fui informado. Eu ‘ parei de responder às perguntas e acho que isso significa que ‘ acabei com os comentários também.
- @aginensky Não ‘ 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, pode fazer uma pergunta em meta.stats.SE.
Resposta
Uma coisa importante a destacar é que o ReLU é idempotente. Dado que ReLU é $ \ rho (x) = \ max (0, x) $ , é “fácil ver que $ \ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ é verdadeiro para qualquer composição finita. Esta propriedade é muito importante para redes neurais profundas, porque cada camada no rede aplica uma não linearidade. Agora, vamos aplicar duas funções da família sigmóide à mesma entrada repetidamente 1-3 vezes:
Você pode ver imediatamente que as funções sigmóides” esmagam “suas entradas, resultando no problema do gradiente de desaparecimento: derivadas se aproximam de zero como $ n $ (o número de aplicativos repetidos) se aproxima do infinito.
Resposta
ReLU é a função máxima (x, 0) com entrada x, por exemplo matriz de uma imagem convolvida. ReLU então define todos os valores negativos na matriz x como zero e todos os outros valores são mantidos constantes.
ReLU é calculado após a convolução e é uma função de ativação não linear como tanh ou sigmóide.
Softmax é um classificador no final da rede neural. Essa é a regressão logística para normalizar as saídas para valores entre 0 e 1. (A alternativa aqui é um classificador SVM).
CNN Forward Pass, por exemplo: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax
Comentários
- Downvoting. Esta é uma resposta muito ruim! Softmax não é um classificador! É uma função que normaliza (dimensiona) as saídas para o intervalo [0,1] e garante que somam até 1. A regressão logística não ” regulariza ” qualquer coisa!A frase ” ReLU é calculada após a convolução e, portanto, uma função de ativação não linear como tanh ou sigmóide. ” carece de um verbo ou sentido.
- A resposta não é tão ruim. A frase sem o verbo deve ser ” ReLU é calculado após a convolução e IS , portanto, uma função de ativação não linear como tanh ou sigmóide. ” Pensar em softmax como um classificador também faz sentido. Pode ser visto como um classificador probabilístico que atribui uma probabilidade a cada classe. Ele ” regulariza ” / ” normaliza ” as saídas para o intervalo [0,1].
Resposta
ReLU é uma troca literal. Com um interruptor elétrico, 1 volt de entrada fornece 1 volt de saída, n volts de entrada fornece n de saída quando ligado. On / Off quando você decidir mudar para zero dá exatamente o mesmo gráfico que ReLU. A soma ponderada (produto escalar) de várias somas ponderadas ainda é um sistema linear. Para uma determinada entrada, os interruptores ReLU são ativados ou desativados individualmente. Isso resulta em uma projeção linear específica da entrada para a saída, já que várias somas ponderadas da soma ponderada de … são conectadas entre si pelos interruptores. Para uma determinada entrada e um determinado neurônio de saída, existe um sistema composto de somas ponderadas que, na verdade, podem ser resumidas em uma única soma ponderada efetiva. Como o ReLU muda de estado em zero, não há descontinuidades repentinas na saída para mudanças graduais na entrada.
Existem outros algoritmos de soma ponderada numericamente eficiente (produto escalar) como a transformação FFT e Walsh Hadamard. Não há razão para que você não possa incorporá-los em uma rede neural baseada em ReLU e se beneficiar dos ganhos computacionais. (Por exemplo. Redes neurais de banco de filtro fixo.)
Resposta
ReLU é provavelmente uma das funções não lineares mais simples possíveis. Uma função degrau é mais simples. No entanto, uma função degrau tem a primeira derivada (gradiente) zero em todos os lugares, exceto em um ponto, no qual tem um gradiente infinito. ReLU tem uma derivada finita (gradiente) em todos os lugares. Tem uma segunda derivada infinita em um ponto.
As redes feed forward são treinadas procurando um gradiente zero. O importante aqui é que há muitos primeiros derivados para calcular em uma rotina de retropropagação de uma grande rede e ajuda que eles sejam rápidos para calcular como ReLU. O segundo é que, ao contrário da função de passo, os gradientes de ReLU são sempre finitos e não são zeros triviais em quase todos os lugares. Por fim, precisamos de ativações não lineares para que a rede de aprendizagem profunda funcione bem l, mas esse é um assunto diferente.