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

Tom Hale
fonte

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

seanv507
fonte
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