Latenttiavaruus: työskentele opitussa esityksessä
Latenttiavaruus (latent space) sisältää taustatekijöiden esityksiä alkuperäisten havaintojen sijaan. Kooderi voi kuvata kuvan tiiviiksi latentiksi ja dekooderi muuntaa latentin takaisin kuva-alueelle.
Koordinaatit opitaan. Yksi akseli ei automaattisesti tarkoita kirkkautta tai tyyliä, ja läheisten pisteiden merkitys riippuu mallista sekä sen koulutustavoitteesta.
Näytteistä kooderin ja dekooderin kautta
Variaatioautokooderissa kooderi voi palauttaa keskiarvon ja varianssin logaritmin. TensorFlow-funktio näytteistää latentin uudelleenparametrisoinnilla, jolloin gradientit kulkevat opittujen jakaumaparametrien kautta.
import tensorflow as tf
def sample_reconstruction(encoder, decoder, images):
mean, log_variance = encoder(images)
noise = tf.random.normal(tf.shape(mean))
latent = mean + tf.exp(0.5 * log_variance) * noise
return decoder(latent)
Kohina on riippumaton kooderista, mutta sen skaala ja sijainti ovat derivoituvia. VAE:n koulutukseen tarvitaan myös rekonstruktiota ja jakaumaa regularisoivat tavoitteet.
Latentti diffuusio hyödyntää vastaavaa järjestelmätason etua: kohinaa poistetaan kuvan opitussa esityksessä täyden pikseliresoluution sijaan. Esitys vähentää laskentaa, ja dekooderi palauttaa näkyvän tuloksen.