He estado implementando un VAE y he notado dos implementaciones diferentes en línea de la divergencia KL gaussiana univariada simplificada. La divergencia original según aquí es Si suponemos que nuestro anterior es una unidad gaussiana, es decir,μ2=0yσ2=1, esto se simplifica a KLloss=-log(σ1)+σ 2 1 +μ 2 1
Por ejemplo, en eltutorialoficial deautoencoder Keras. Mi pregunta es entonces, ¿qué me estoy perdiendo entre estos dos? La principal diferencia es dejar caer el factor de 2 en el término logarítmico y no cuadrar la varianza. Analíticamente he usado este último con éxito, por lo que vale. ¡Gracias de antemano por cualquier ayuda!
fuente
Aquí puede encontrar la derivación de una divergencia KL para distribuciones normales multivariadas: derivación de la pérdida de divergencia KL para VAE
fuente