Quelle est la méthode par défaut d'initialisation des variables utilisée lorsque tf.get_variable()
est appelée sans aucune spécification pour l'initialiseur? Les Docs disent simplement "Aucun".
Si l'initialiseur est
None
(par défaut), l'initialiseur par défaut passé dans la portée de la variable sera utilisé. Si celui-ci est égalementNone
, unglorot_uniform_initializer
Sera utilisé.
La fonction glorot_uniform_initializer
initialise les valeurs à partir d'une distribution uniforme.
Cette fonction est documentée comme:
L'initialiseur uniforme Glorot, également appelé initialiseur uniforme Xavier.
Il tire des échantillons d'une distribution uniforme dans [-limit, limit],
oùlimit
estsqrt(6 / (fan_in + fan_out))
oùfan_in
est le nombre d'unités d'entrée dans le tenseur de poids
etfan_out
est le nombre d'unités de sortie dans le tenseur de poids.Référence: http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf