Agora, li um livro intitulado "Aprendizado de máquina prático com o Scikit-Learn e TensorFlow" e, no capítulo 11, ele tem a seguinte descrição sobre a explicação de ELU (Exponential ReLU).
Terceiro, a função é suave em todos os lugares, incluindo z = 0, o que ajuda a acelerar a descida do gradiente, pois não salta tanto à esquerda e à direita de z = 0.
O z
significa o eixo x no gráfico acima. Entendo que a derivada é suave, já que a z < 0
linha tem uma curva e nesse domínio a derivada não é mais igual a 0
.
No entanto, por que é que se a função é "suave em todos os lugares, incluindo z = 0", acelera a descida do gradiente?
deep-learning
gradient-descent
Blaszard
fonte
fonte
Respostas:
Meu palpite é devido à derivada, como ReLU tem uma derivada descontínua em 0. Portanto, se você usar a definição:
fonte
Uma preliminar: existem três atributos de uma função que são relevantes aqui: contínua, monotônica e diferenciável. A RELU é uma porca monotônica contínua e não diferenciável em z = 0. A relu exponencial ou ELU são todos esses três atributos.
O diferencial ou gradiente fornece uma direção. Quando a derivada de uma função é indefinida em um ponto, a direção do gradiente é indeterminada nesse ponto.
Ao aplicar a descida do gradiente, desejamos modificar continuamente os parâmetros, de modo que a função de perda diminua constantemente, o que é o mesmo que dizer que queremos continuar descendo para o mínimo.
Quando a derivada de uma função de perda é indefinida em algum momento, o gradiente é indeterminado. Isso significa que a descida do gradiente pode se mover na direção errada. A magnitude do atraso causado por essa indeterminação depende da taxa de aprendizado e de outros hiper parâmetros. Independentemente dos hiperparâmetros, estatisticamente, a derivada indefinida em RELU em z = 0, contribui para diminuir a convergência da descida do gradiente.
fonte
Ser mais rápido ou mais baixo é um termo relativo e deve ser entendido no contexto do que ele está se comparando. Portanto, para entender isso, devemos primeiro considerar como a descida do gradiente funciona com outros tipos da função de ativação.
Exemplo de configuração
...
Tanh e Sigmoid - gradiente de fuga
RELU e Dead Neuron
RELU e ELU com vazamento
Cito o artigo original pela diferença entre os dois.
A explicação intuitiva é a seguinte. Na ELU, sempre que x se tornava pequeno o suficiente, o gradiente se tornava realmente pequeno e saturado (da mesma forma que acontece com Tanh e Sigmoid). O pequeno gradiente significa que o algoritmo de aprendizado pode se concentrar no ajuste de outros pesos sem se preocupar com a interatividade com os neurônios saturados.
Considere um polinômio de grau 2 que pode ser representado como uma superfície lisa em um espaço 3D. Para encontrar o mínimo local, um algoritmo de descida de gradiente precisará considerar a inclinação na direção x e y. Se o gradiente for negativo na direção x e na direção y, não está claro qual caminho é melhor. Portanto, é sensato escolher um caminho em algum lugar no meio. Mas e se já sabemos que tudo é plano (gradientes zero) na direção x, então torna-se um acéfalo seguir a direção y. Ou, em outras palavras, você procura espaço se torna muito menor.
nota especial
No aprendizado profundo, há muitas reivindicações sem evidência empírica suficiente ou entendimento profundo para apoiá-lo. No caso da ELU, embora possa ser verdade que resulta em uma convergência mais rápida para alguns conjuntos de dados, também pode ser verdade que faz com que o algoritmo de aprendizado fique preso no máximo local para um conjunto de dados diferente. Ainda não sabemos o suficiente.
fonte
Eu tenho uma noção intuitiva de por que as funções suaves são mais rápidas de otimizar, mas nenhuma prova matemática ou algo assim.
A descida do gradiente calcula a derivada da função de ativação para determinar a alteração nos pesos. Quando a função de ativação tem um corte rígido (por exemplo, em z = 0 para ReLu), a ativação da unidade pode mudar radicalmente (ou seja, sempre zero ou linear) para pontos de dados específicos ao alterar os pesos.
Os outros pesos precisam se adequar a esse comportamento radicalmente diferente de uma unidade específica para pontos de dados específicos. Se, no entanto, o comportamento da unidade mudar radicalmente novamente durante a próxima época, a rede continuará adaptando-se às mudanças na época anterior.
Com uma função suave, não existem mudanças radicais. E assim a rede pode se estabilizar mais gradualmente.
fonte