0 votes
par dans Séquence 11 : TP
edité par
Dans l'exemple de programmation, je ne vois pas comment la ligne de code

z_mean  = layers.Dense(latent_dim, name="z_mean")(x)

peut donner une valeur moyenne de x, dans l'espace latent.

(Même chose pour z_log_var en fait).

1 Réponse

0 votes
par Vétéran du GPU 🐋 (48.7k points)
sélectionné par
 
Meilleure réponse
ça donne une valeur qu'on définit comme étant la moyenne d'une distribution juste après grâce à un tirage de moyenne z_mean, et d'écart-type dépendant de z_log_var. C'est pas que la couche dense donne une moyenne, mais on lui force ce rôle en faisant le tirage aléatoire après.

D'ailleurs c'est pas une valeur moyenne de x, mais de z.
par
D'accord, mais alors le tirage aléatoire est fait à quel niveau ? Je ne le vois pas dans SamplingLayer.py ni dans VariatonalLossLayer.py.

Sinon, pourquoi passer par la couche dense et un tirage aléatoire et non directement par un calcul de valeur moyenne ?
par
Le tirage aléatoire est ici ?
 epsilon = tf.keras.backend.random_normal(shape=(batch_size, latent_dim))

dans SamplingLayer.py

Mais je conserve la question pour un calcul direct de moyenne. Merci
...