¿Cómo se debe inicializar y regularizar el sesgo?

13

He leído un par de documentos sobre la inicialización del núcleo y muchos documentos mencionan que usan la regularización L2 del núcleo (a menudo con ).λ=0.0001

¿Alguien hace algo diferente a inicializar el sesgo con cero constante y no regularizarlo?

Papeles de inicialización de kernel

Martin Thoma
fuente

Respuestas:

15

De las notas de Stanford CS231N ( http://cs231n.github.io/neural-networks-2/ ):

Inicializando los sesgos. Es posible y común inicializar los sesgos para que sean cero, ya que la ruptura de la asimetría es proporcionada por los pequeños números aleatorios en los pesos. Para las no linealidades de ReLU, a algunas personas les gusta usar un valor constante pequeño como 0.01 para todos los sesgos porque esto asegura que todas las unidades de ReLU disparen al principio y, por lo tanto, obtengan y propaguen cierto gradiente. Sin embargo, no está claro si esto proporciona una mejora constante (de hecho, algunos resultados parecen indicar que esto funciona peor) y es más común usar simplemente la inicialización de sesgo 0.

En los LSTM es común inicializar los sesgos a 1; consulte, por ejemplo, http://www.jmlr.org/proceedings/papers/v37/jozefowicz15.pdf .

Lukas Biewald
fuente