Você está certo. Paran>1, a multiplicação de derivadas não necessariamente chega a zero, porque cada derivada pode ser potencialmente maior que uma (atén)
No entanto, para fins práticos, devemos nos perguntar como é fácil manter essa situação (mantendo a multiplicação de derivadas longe de zero)? O que acaba sendo bastante difícil comparado ao ReLU, que fornece derivada = 1, especialmente agora, quando também há uma chance de explosão do gradiente .
Introdução
Suponha que tenhamos K derivados (de profundidade K) multiplicado da seguinte forma
g=∂f(x)∂x∣∣∣x=x1⋯∂f(x)∂x∣∣∣x=xK
cada um avaliado em valores diferentes x1 para xK. Em uma rede neural, cadaxié uma soma ponderada das saídas da camada anterior, por exemplo, .hx=wth
À medida que aumenta, queremos saber o que é necessário para evitar o desaparecimento de . Por exemplo, para o caso de , não podemos impedir isso porque cada derivada é menor que uma, exceto , ou seja,
No entanto, há uma nova esperança com base em sua proposta. Para , a derivada pode ir até , ou seja,
Kgf(x)=tanh(x)
x=0∂f(x)∂x=∂tanh(x)∂x=1−tanh2(x)<1 for x≠0
f(x)=tanh(nx)n>1∂f(x)∂x=∂tanh(nx)∂x=n(1−tanh2(nx))<n for x≠0.
Quando as forças são equilibradas?
Agora, aqui está o núcleo da minha análise:
Até que ponto precisa se afastar de para ter uma derivada menor que
para cancelar que é a derivada máxima possível?x01nn
Quanto mais precisa se afastar de , mais difícil é produzir uma derivada abaixo de ; portanto, mais fácil é impedir que a multiplicação desapareça. Essa pergunta tenta analisar a tensão entre os bons próximos de zero e os ruins distantes de zero. Por exemplo, quando bons e maus são equilibrados, eles criariam uma situação como
Por enquanto, tento ser otimista ao não considerar arbitrariamente grandes , pois mesmo um deles pode aproximar arbitrariamente de zero.x01n x xxg=n×n×1n×n×1n×1n=1.
xig
Para o caso especial de , qualquer resulta em uma derivada ; portanto, é quase impossível manter o equilíbrio (impedir que desapareça) à medida que a profundidade aumenta, por exemplo,
n=1|x|>0<1/1=1gKg=0.99×0.9×0.1×0.995⋯→0.
Para o caso geral de , procedemos da seguinte forma
Então, para , a derivada será menor que . Portanto, em termos de ser menor que um, multiplicação de duas derivadas em en>1∂tanh(nx)∂x<1n⇒n(1−tanh2(nx))<1n⇒1−1n2<tanh2(nx)⇒1−1n2−−−−−−√<|tanh(nx)|⇒x>t1(n):=1ntanh−1(1−1n2−−−−−−√)or x<t2(n):=−t1(n)=1ntanh−1(−1−1n2−−−−−−√)
|x|>t1(n)1nx1∈R|x2|>t1(n)n>1é equivalente a uma derivada arbitrária para , ou seja,
Em outras palavras,n=1(∂tanh(nx)∂x∣∣∣x=x1∈R×∂tanh(nx)∂x∣∣∣x=x2,|x2|>t1(n))≡∂tanh(x)∂x∣∣∣x=z,z∈R∖{0}.
K mencionados pares de derivadas para é tão problemático quanto
derivadas para .n>1Kn=1
Agora, para ver como é fácil (ou difícil) ter , vamos plotar e (os limites são plotados para um contínuo ).|x|>t1(n)t1(n)t2(n)n
Como você pode ver, para ter uma derivada , o maior intervalo é alcançado em , que ainda é estreito! Esse intervalo é , ou seja, , o derivado será menor que . Nota: um intervalo um pouco maior é possível se puder ser contínuo.≥1/nn=2[−0.658,0.658]|x|>0.6581/2n
Com base nessa análise, agora podemos chegar a uma conclusão:
Para evitar que desapareça, cerca de metade ou mais dos precisam estar dentro de um intervalo comogxi[−0.658,0.658]
portanto, quando suas derivadas são emparelhadas com a outra metade, a multiplicação de cada par ficaria acima de um na melhor das hipóteses (exigido que nenhum esteja muito alto em valores grandes), ou seja,
no entanto, na prática, é provável ter mais da metade dos 'fora s de ou um par de ' s com valores grandes, causando para desaparecer para zero. Além disso, há um problema com muitos próximos a zero, o que éx(∂f(x)∂x∣∣∣x=x1∈R×∂f(x)∂x∣∣∣x=x2∈[−0.658,0.658])>1
x[−0.658,0.658]xgx
Para , muitos 's próximos de zero podem levar a um grande gradiente (potencialmente até ) que move (explode) os pesos para valores maiores ( ), que move os para valores maiores ( ) convertendo os bons em (muito) ruins.n>1xg≫1nKwt+1=wt+λgxxt+1=wtt+1ht+1x
Quão grande é muito grande?
Aqui, eu faço uma análise semelhante para ver
Até que ponto precisa se afastar de para ter uma derivada menor que
para cancelar os outros assumindo que eles estão muito próximos de zero e adquiriram o gradiente máximo possível?x01nK−1K−1 x
Para responder a essa pergunta, derivamos a desigualdade abaixo
∂tanh(nx)∂x<1nK−1⇒|x|>1ntanh−1(1−1nK−−−−−−√)
que mostra, por exemplo, para a profundidade de e , um valor fora produz um derivado de . Esse resultado fornece uma intuição sobre como é fácil para um par de em torno de 5 a 10 cancelar a maioria dos bons .K=50n=2[−9.0,9.0]<1/249xx
Analogia de rua de sentido único
Com base nas análises anteriores, eu poderia fornecer uma analogia qualitativa usando uma Cadeia de Markov de dois estados e que modelam grosseiramente o comportamento dinâmico do gradiente seguinte maneira[g≫0][g∼0]g
Quando o sistema passa para o estado , não há muito gradiente para trazer (alterar) os valores de volta ao estado . Isso é semelhante a uma via de mão única que será aprovada eventualmente se dermos tempo suficiente (épocas grandes o suficiente), pois a convergência do treinamento não ocorre (caso contrário, encontramos uma solução antes de experimentar um gradiente de fuga).[g∼0][g≫0]
Uma análise mais avançada do comportamento dinâmico do gradiente seria possível realizando uma simulação em redes neurais reais (que potencialmente depende de muitos parâmetros, como função de perda, largura e profundidade da rede e distribuição de dados), além de apresentar
- Um modelo probabilístico que informa com que frequência o desaparecimento ocorre com base em uma distribuição de gradiente ou em uma distribuição conjunta ( , ) ou ( , ) ougxgwg
- Um modelo determinístico (mapa) que informa quais pontos iniciais (valores iniciais de pesos) levam ao desaparecimento do gradiente; possivelmente acompanhada de trajetórias dos valores iniciais aos finais.
Problema de gradiente explosivo
aspecto "gradiente de fuga" do . Pelo contrário, no aspecto " gradiente explosivo ", deveríamos nos preocupar em ter muitos próximos a zero, o que poderia produzir um gradiente em torno de , causando instabilidade numérica. Para este caso, uma análise semelhante baseada na desigualdade
mostra que para , cerca de metade ou mais dos deve estar fora detanh(nx)xnK∂tanh(nx)∂x>1⇒|x|<1ntanh−1(1−1n−−−−−√)
n=2xi[−0.441,0.441]gO(1)O(nK) . Isso deixa uma região ainda menor em na qual as funções funcionariam bem juntas (nem desapareciam nem explodiam); lembrando que não tem o problema de gradiente explosivo.RKK tanh(nx)tanh(x)