¿Es cierto que las Redes Adversarias Generativas (GAN) aprenden la función de pérdida automáticamente, y si es así, cómo?

Sí, es verdad. Y es por eso que funcionan tan bien.

Al entrenar un modelo generativo que no sea una GAN, la función de pérdida más fácil de encontrar es probablemente el error cuadrático medio (MSE).

Ahora suponga que desea generar gatos; Puede dar a su modelo ejemplos de gatos específicos en fotos. Su elección de la función de pérdida significa que su modelo tiene que reproducir cada gato exactamente para evitar ser castigado.

Pero eso no es lo que quieres, ¿verdad? Solo desea que su modelo genere gatos, cualquier gato lo hará siempre que sea un gato plausible. Por lo tanto, debe cambiar su función de pérdida.

Pero, ¿qué tipo de función podría ignorar píxeles concretos y centrarse en detectar gatos en una foto?

Lo has adivinado: una red neuronal. Este es el papel del discriminador en la GAN. El trabajo del discriminador es evaluar cuán plausible es una imagen; Esto lo convierte en una función de pérdida perfecta para un modelo generativo.

Con una pérdida como MSE, los gatos generados de su modelo serán el promedio en píxeles de varios gatos, lo que no se parece a nada. Esto se debe a que el promedio de múltiples gatos es castigado con menos severidad por MSE que una imagen del gato equivocado .

Con un discriminador entrenado como función de pérdida, su modelo puede generar cualquier gato con aspecto de gato y ser alabado por la función de pérdida.

Genio, ¿verdad?

Su objetivo final al emplear GAN es el generador. El discriminador es solo un subproducto que utiliza durante el tiempo de entrenamiento.

Es muy común pensar en el Discriminador como parte de su función de pérdida (entrena a G para poder engañar a D, lo que significa que D es parte de su función de pérdida).

En ese sentido, se considera que las GAN alivian la necesidad de crear una función de pérdida “inteligente” que se aprende en su lugar.

Es cierto que necesitará definir la función de pérdida en la que se mide D (entropía cruzada, pérdida de L2, etc.) pero esta es seguramente una tarea más fácil que definir una pérdida para una función de generador directamente.