Por que acelera a descida do gradiente se a função é suave?

10

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.

insira a descrição da imagem aqui

O zsignifica o eixo x no gráfico acima. Entendo que a derivada é suave, já que a z < 0linha 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?

Blaszard
fonte
BTW eu estou no SE correto? Ciência Dados, Inteligência Artificial, e Cruz Validado, (e também MathSE) ... Parece-me que muitos tópicos são altamente relacionados uns com os outros ...
Blaszard
2
Eu acho que você poderia postar com segurança esta pergunta aqui na Data Science ou na Cross Validated. Possivelmente está tudo bem com Inteligência Artificial, mas estou menos familiarizado com esse site.
Neil Slater
Boa pergunta. A suavidade permite que você dê passos ousados ​​na direção certa, em vez de tentar dar passos de bebê porque o gradiente pode mudar drasticamente no próximo passo. Para uma análise de convergência ver, por exemplo, de Nesterov acelerado Gradient Descent para Smooth e fortemente Convex Optimization
Emre
A @NeilSlater AI tem um escopo muito claro. Eles fecham essas perguntas. Então, DS e CV seriam as melhores opções :)
Dawny33

Respostas:

1

Meu palpite é devido à derivada, como ReLU tem uma derivada descontínua em 0. Portanto, se você usar a definição:

ff(x+ϵ)f(xϵ)2ϵ

x

Alex
fonte
0

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.

Poeira Estelar Dinâmica
fonte
É muito improvável que o parâmetro se torne exatamente z = 0 após a inicialização.
Pieter
0

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

n

z1=W1x+b1

a1=f(z1)

...

zn=Wnan1+bn

y=f(zn)

f

Tanh e Sigmoid - gradiente de fuga

ff(x)(1,1)x

yW1

dfdW1=dfdWndWndWn1...dW2dW1

0<i<n

dXidXi1=f(Wi1ai2+bi1)×ai2(1,1)

(1,1)fai2(1,1)

dfdW1ndfdW1

RELU e Dead Neuron

ai>0f

dXidXi1=ai2
dfdW1=a1a2a3...an1

x>0x<0

RELU e ELU com vazamento

x>0x<1

Cito o artigo original pela diferença entre os dois.

Embora LReLUs e PReLUs também tenham valores negativos, eles não garantem um estado de desativação robusto ao ruído. As ELUs saturam para um valor negativo com entradas menores e, assim, diminuem a variação e as informações propagadas adiante.

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.

Louis T
fonte
0

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.

Pieter
fonte