Por que o sqrt (6) é usado para calcular o epsilon para inicialização aleatória de redes neurais?


8

Nos semana 5 notas de aula para Coursera Máquina Classe Aprendizagem de Andrew Ng , a fórmula seguinte é dado para calcular o valor de usado para inicializar Θ com valores aleatórios:ϵΘ

Forumla para calcular epsilon-init para inicialização aleatória

No exercício , esclarecimentos adicionais são fornecidos:

Uma estratégia eficaz para a escolha de é ter por base o número de unidades da rede. Uma boa escolha de ε i n i t é ε i n i t = ϵinitϵinit , em queGin=sLeLOut=sl+1são o número de unidades em camadas adjacentes paraΘ(l).ϵinit=6LinLoutLin=slLout=sl+1Θ(l)

6576.1

Respostas:


4

Acredito que essa seja a inicialização normalizada por Xavier (implementada em várias estruturas de aprendizado profundo, por exemplo, Keras, Cafe, ...) em Entendendo a dificuldade de treinar redes neurais profundas de avanço por Xavier Glorot e Yoshua Bengio.

Var[Wi]=2ni+ni+1

[ϵ,ϵ]ϵ2/31/(2ϵ)=ϵϵx212ϵdx


62

Conecte o epsilon na fórmula de variação da variável aleatória uniforme em +/- x e o que você obtém?
seanv507

[ϵ,ϵ]x2/3

1
explicação adicionada para a variância do uniforme RV ...
seanv507 23/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.