← Tous les exercices
La reparamétrisation z = μ + σ · ε
Partie 2 · ★
Le VAE code une image par une zone : un centre μ et une largeur σ. Pour obtenir le code z, on tire ε dans la loi normale centrée réduite, puis on calcule z = μ + σ × ε, composante par composante. Le hasard est isolé dans ε, ce qui permet à la règle de la chaîne de J1 de traverser le tirage.
Écris reparametrer. Le tirage est fourni : μ = [0,8 ; −0,2], σ = [0,1 ; 0,5], ε = [−1 ; 0,6]. Puis décode la 1re composante en recopiant z[0] dans 2 pixels et compare avec l'image [0,9 ; 0,7], comme dans le cours.
def mse(a, b): return sum((x - y) ** 2 for x, y in zip(a, b)) / len(a) def reparametrer(mu, sigma, eps): return [m ___ s * e for m, s, e in zip(mu, sigma, eps)] mu = [0.8, -0.2] sigma = [0.1, 0.5] eps = [-1, 0.6] z = reparametrer(mu, sigma, ___) perte = mse([0.9, 0.7], [z[0]] * 2)
Ctrl/⌘+Entrée