Una respuesta más detallada aquí: implementación de Tensorflow de Wasserstein GAN – arxiv: https://arxiv.org/abs/1701.07875.
Citando a Sarath Shekkizhar [1] :
“Un documento bastante interesante que aborda el problema de la estabilidad en las GAN y la interpretabilidad de la función de pérdida durante el entrenamiento. Básicamente, las GAN son modelos que intentan aprender la distribución de datos reales minimizando la divergencia f (diferencia en la distribución de probabilidad) generando datos adversos. La convergencia en el objetivo min max de la GAN propuesta originalmente puede interpretarse como minimizar la divergencia de Jensen Shannon (JS). En este documento, los autores señalan las deficiencias en tales métricas cuando el soporte de las dos distribuciones que se comparan no se superponen y proponen usar la distancia de los motores de tierra / wasserstein como una alternativa a JS. El ejemplo de líneas paralelas proporciona una buena intuición de las diferencias en las métricas de divergencia f. Tenga en cuenta que cuando la divergencia f es discreta como en JS, KL, podemos enfrentar problemas en el aprendizaje de modelos con gradientes, ya que la pérdida de divergencia no es diferenciable en todas partes.
- ¿Cómo usa Apple el aprendizaje profundo?
- Si no escalo las características antes de aplicar el descenso de gradiente, ralentizará la convergencia, pero ¿puede cambiar los resultados?
- ¿Una máquina de máquina virtual de big data ayuda a analizar archivos grandes?
- ¿Cómo se puede aplicar el aprendizaje automático al póker?
- ¿Es el aprendizaje automático una mejor forma o técnica para comprender los datos y hacer pronósticos que las estadísticas?
El teorema 1 propuesto en el documento es probablemente la conclusión clave para cualquiera que se pregunte por qué la distancia wasserstein podría ayudar en el entrenamiento de GANS. El teorema básicamente establece que una función de mapeo de distribución (crítica) que es continua con respecto a sus parámetros y localmente lipschitz tiene una distancia wasserstein continua y casi en todas partes diferenciable.
Una métrica continua y casi diferenciable en todas partes significaría que podemos entrenar fuertemente al discriminador antes de hacer una actualización del generador que a su vez recibiría gradientes confiables mejorados para entrenar desde el discriminador. Con las formulaciones anteriores de GAN dicha capacitación no fue posible ya que el discriminador de capacitación conduciría fuertemente a la desaparición de los gradientes.
Dado que las redes neuronales son generalmente continuas en sus parámetros, lo que hay que asegurarse es que el crítico sea Lipschitz. Al recortar los parámetros de peso en la crítica, evitamos que el modelo se sature mientras que el crecimiento se realiza como máximo. Esto significaría que los gradientes de la función están delimitados por la pendiente de esta linealidad que se convierte en límite de Lipschitz “.
Nota sobre la implementación:
- “Después de pasar bastante tiempo para obtener la teoría en el documento, me sorprendió y me complació lo simple que fue la implementación.
- Los principales cambios desde el punto de vista de las implementaciones son
- El discriminador / crítico ya no produce una salida sigmoidea o probabilística.
- La pérdida en el discriminador es simple, la diferencia en la salida entre imágenes reales y generadas.
- Entrene al crítico varias veces para cada actualización del generador.
- Los pesos en la crítica están sujetos a valores pequeños alrededor de cero.
- Requiere una baja tasa de aprendizaje y optimizadores que no utilizan el impulso “.
Notas al pie
[1] shekkizh (Sarath Shekkizhar) · GitHub