Publicado hace 5 años por Calipodelimon a puentesdigitales.com

Las Redes Generativas Antagónicas, o Generative Adversarial Networks en inglés (GAN), son una poderosa clase de redes neuronales. De hecho, se podría decir que se han convertido en uno de los pilares del reciente “boom” de la llamada Inteligencia Artificial. Fueron presentadas por Ian Goodfellow et al. en 2014 y desde entonces han permitido un gran avance en el campo del aprendizaje máquina no supervisado.

Comentarios

celyo

¡El antagonismo va a llegar!

s

Está bien como un resumen de las distintas técnicas que hay, pero la explicación es un poco caótica. Confunde bastante el término clasificador y discriminador. En esencia son lo mismo, pero en esta idea adquiere un matiz algo diferente. Por concretar un par de cosas:

El problema de la GANs es que son dos redes que mejoran conjuntamente. El generador trata de generar imágenes (o datos) que parezcan reales. El discriminador recibe como entrada datos, y lo que trata de averiguar es si los datos que le han pasado son reales o generados por el generador. Cuanto mejor sea el generador, más preciso tiene que ser el discriminador para distinguir las imágenes reales de las generadas. Y viceversa, cuando mejor sea el discriminador, mejores imágenes tiene que crear el generador para conseguir engañarlo.

1. Colapso modal: es un poco confuso lo que trata de decir, voy a intentar explicarlo de otra manera. Si yo genero una imagen, ¿cómo sé si la imagen se parece a las reales o no? La solución que se propone es pasar esa imagen al discriminador. Entonces, la manera de mejorar el generador es preguntarle al discriminador: '¿qué es lo que tengo que hacer si quiero confundirte más?' Y se mejora el generador en base a esa información. Sin embargo, para mejorar el discriminador hay que hacer la pregunta contraria: '¿qué es lo que tengo que hacer si quiero que discrimines mejor?'. Por tanto, no se pueden entrenar las dos redes al mismo tiempo, dado que las dos preguntas son antagónicas entre si. Hay que entrenar alternativamente las dos redes.

2. Convergencia: sí existe una función de coste asociada a la GAN, que es la suma de las dos. Se podría ver como sí que se produce minimización. El problema (ahora si que tengo que usar expresiones matemáticas) es que dicha función es un minimax (https://es.wikipedia.org/wiki/Minimax), y no se puede resolver con técnicas de descenso de gradiente. Hay que usar la idea alternativa que expliqué en el punto anterior.

En métricas se lía un poco también pero no es muy importante. Luego detalla algunas soluciones que se propusieron estos últimos años, y me parece que están bastante bien explicadas.