Por que usar uma função de ativação não linear? Funções de ativação não lineares comuns e comparação de vantagens e desvantagens

  • Por que usar uma função de ativação não linear? 

w600

 Conforme mostrado na rede neural acima, no processo de propagação direta, se uma função de ativação linear (função de excitação idêntica) for usada, ou seja, a g(z)=kzsaída da camada oculta é

 a^{[1]}=z^{[1]}=W^{[1]}x+b^{[1]}

 a^{[2]}=z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}=W^{[2]}\esquerda ( W ^{[1]}x+b^{[1]} \direita )+b^{[2]}Agora mesmo

a^{[2]}=z^{[2]}=W'x+b' 

Pode-se ver que a rede neural usando a função de ativação linear combina apenas linearmente a entrada e as saídas; portanto, quando há muitas camadas ocultas, o efeito de treinamento do uso da função de ativação linear na camada oculta é o mesmo que a regressão logística padrão sem usar a camada oculta da sombra. Portanto, temos que usar uma função de ativação não linear em vez de uma função não linear na camada oculta.

Geralmente, há apenas um lugar onde você pode usar uma função de ativação linear, e é quando você está fazendo um problema de regressão no aprendizado de máquina. y é um número real. Por exemplo, se você deseja prever preços de imóveis, y não é 0 ou 1 para a tarefa de classificação binária, mas um número real, de 0 a infinito positivo. Se y for um número real, pode ser viável usar uma função de ativação linear na camada de saída, e sua saída também é um número real, de infinito negativo a infinito positivo. Em resumo, você não pode usar funções de ativação linear em camadas ocultas, exceto em alguns casos especiais, como os relacionados à compactação.

  • conceito de saturação

Quando uma função de ativação h(x) satisfaz \lim_{n\rightarrow+\infty}h'(x)=0, dizemos que ela está saturada à direita. 
Quando uma função de ativação h(x) satisfaz \lim_{n\rightarrow-\infty}h'(x)=0, chamamos de esquerda saturada. 
Quando uma função de ativação satisfaz tanto a saturação à esquerda quanto a saturação, chamamos de saturação.

h'(x)=0Para qualquer x, se houver uma constante c, é chamado de saturação rígida à direita  quando x > c . Para qualquer x, se houver uma constante c, ela é chamada de saturação extrema à esquerda 
quando x < c . Se tanto a saturação forte à esquerda quanto a saturação forte à direita forem satisfeitas, essa função de ativação é chamada de saturação forte. Se houver apenas funções com derivadas parciais iguais a 0 no estado limite, é chamado de saturação suave.h'(x)=0

  •  Funções de ativação comumente usadas

Link de referência:

1)https://mp.weixin.qq.com/s?__biz=MzI1NTE4NTUwOQ==&mid=2650325236&idx=1&sn=7bd8510d59ddc14e5d4036f2acaeaf8d&scene=0#wechat_redirect

2) http://www.ai-start.com/dl2017/html/lesson1-week3.html#header-n152

1. A função sigmóide

w600

 

 Derivação:\frac{\mathrm{d}}{\mathrm{d} x}g(z)=\frac{1}{1+e^{-z}}\left ( 1- \frac{1}{1+ e^{-z}}\direita )=g(z)(1-g(z))

quando z=10ou z=-10:\frac{\mathrm{d}}{\mathrm{d} x}g(z)\aprox 0

 quando z=0:\frac{\mathrm{d}}{\mathrm{d} x}g(z)= 1/4 

  A saturação suave do sigmóide dificultou o treinamento eficaz de redes neurais profundas por duas ou três décadas, o que é uma razão importante que impede o desenvolvimento de redes neurais. Uma vez que o gradiente da condução descendente sigmóide durante a passagem para trás contém um fator f'(x) (a derivada do sigmóide em relação à entrada), uma vez que a entrada cai na região de saturação, f'(x) ficará próximo para 0, fazendo com que o gradiente passado para a camada inferior fique muito pequeno.

vantagem:

  1. O mapeamento de saída da função Sigmoid está entre (0,1), monotonicamente contínuo, a faixa de saída é limitada, a otimização é estável e pode ser usada como camada de saída. É o mais próximo de um neurônio biológico no sentido físico.
  2. Encontrar orientação é fácil.

deficiência:

  1. Devido à sua saturação suave, é propenso ao desaparecimento do gradiente, o que leva a problemas no treinamento.
  2. Sua saída não é centrada em 0.

 2、tanh  

Da mesma forma, a função de ativação Tanh também possui saturação suave. A rede Tanh converge mais rápido que o Sigmoid. Como a média de saída de Tanh está mais próxima de 0 do que Sigmoid, o SGD estará mais próximo do gradiente natural (uma técnica de otimização quadrática), reduzindo assim o número de iterações necessárias.

vantagem:

  1. Converge mais rápido que a função Sigmóide.
  2. Comparada com a função Sigmoid, sua saída é centrada em 0.

deficiência:

      Ainda não mudou o maior problema da função Sigmóide - o gradiente desaparece devido à saturação.

 3, Relu e Leeaky Relu

 ReLU fica totalmente saturado quando x<0. Como a derivada é 1 quando x>0, ReLU pode evitar que o gradiente decaia quando x>0, aliviando assim o problema do desaparecimento do gradiente. No entanto, à medida que o treinamento avança, algumas entradas cairão na região de saturação forte, resultando na falha na atualização dos pesos correspondentes. Este fenômeno é chamado de "morte do neurônio".

vantagem:

  1. Comparado com Sigmoid e tanh, ReLU pode convergir rapidamente em SGD. Isso se deve supostamente à sua forma linear e não saturada.
  2. Sigmoid e tanh envolvem muitas operações caras (como índices), e ReLU pode ser implementado de forma mais simples.
  3. Alivie efetivamente o problema do desaparecimento do gradiente.
  4. Ele também pode ter um desempenho melhor sem pré-treinamento não supervisionado.
  5. Fornece expressividade esparsa para redes neurais.

deficiência:

        À medida que o treinamento avança, os neurônios podem morrer e os pesos não podem ser atualizados. Se isso acontecer, o gradiente que flui através do neurônio será sempre 0 deste ponto em diante. Ou seja, os neurônios ReLU morrem irreversivelmente durante o treinamento.

        Outro problema do ReLU é que a saída possui um fenômeno de offset, ou seja, a média da saída é sempre maior que zero. O fenômeno de deriva e morte de neurônios podem afetar conjuntamente a convergência da rede.

4、PRelu

PReLU é uma versão melhorada de ReLU e LReLU com não saturação. Quando ai é pequeno e fixo, é chamado de LReLU. O propósito original do LReLU é evitar o desaparecimento do gradiente. Mas em alguns experimentos, descobriu-se que o LReLU não teve muito impacto na precisão. Muitas vezes, quando queremos aplicar o LReLU, devemos ter muito cuidado para repetir o treinamento e selecionar o a adequado, para que os resultados do LReLU sejam melhores que os do ReLU. Portanto, alguém propôs um PReLU que aprende de forma adaptativa os parâmetros dos dados. PReLU tem as características de convergência rápida e baixa taxa de erro . Porque a saída do PReLU está mais próxima da média 0, tornando o SGD mais próximo do gradiente natural. PReLU pode ser usado para treinamento de retropropagação e pode ser otimizado simultaneamente com outras camadas.

5、Eru

ELU é uma fusão de sigmóide e ReLU com saturação suave esquerda. A parte linear à direita faz com que a ELU mitigue gradientes de fuga, enquanto a saturação suave à esquerda torna a ELU mais robusta para alterações de entrada ou ruído. O valor médio da saída de ELU é próximo de zero, então a velocidade de convergência é mais rápida.

Funções de ativação como PReLU e ELU não têm a dispersão de Relu, mas todas podem melhorar o desempenho da rede.

6、Maxout

Maxout é uma generalização de ReLU e sua saturação é um evento de medição zero. A rede Maxout pode aproximar qualquer função contínua, e quando w2, b2,..., wn, bn são 0, ela degenera em ReLU.

Maxout pode aliviar o desaparecimento do gradiente e, ao mesmo tempo, evitar a desvantagem da morte do neurônio ReLU, mas aumenta os parâmetros e a quantidade de cálculo.

Acho que você gosta

Origin blog.csdn.net/weixin_42149550/article/details/99839184
Recomendado
Clasificación