De larticle présentant les GAN :

Un paragraphe mentionnant le scénario Helvetica

Il est logique que trop de replis $ \ vec {z} $ -valeurs à une seule $ \ vec {x} $ -value causera des problèmes. Cependant, jétais un peu confus quant à la façon dont la formation $ G $ pendant une durée plus courte avant dexécuter $ D $ peut le réparer. Mais quand jai cherché sur Google « Scénario Helvetica », tout ce que jai pu trouver, cétait des références à une émission parodique intitulée Look Around You .

Comme il semble que ce soit une chose réelle, pas seulement une parodie – où puis-je en savoir plus à ce sujet et comment la prévenir? Et pourquoi lappelle-t-on « le scénario Helvetica »?

Réponse

Placer trop de masse de probabilité sur un seul $ x $ est en effet un problème majeur avec les GAN. On parle généralement de mode collapse . La plupart des articles du GAN en discuteront.

Jétais un peu perplexe quant à la façon dont lentraînement 𝐺 pendant une période plus courte avant de courir 𝐷 peut résoudre ce problème.

Lidée est de maintenir le discriminateur $ D $ à jour avec le générateur $ G $ . En entraînant moins de $ G $ , vous entraînez $ D $ plus. Habituellement, une optimisation alternée est effectuée avec les GAN, cest-à-dire former $ D $ pour $ n $ itérations, puis $ G $ pour $ m $ itérations, et ainsi de suite. Le « travail » de $ D $ est de pouvoir discerner de fausses sorties $ G $ à partir de données réelles points. Mais si vous n’entraînez pas suffisamment $ D $ (c’est-à-dire que vous entraînez trop $ G $ , donc $ m > n $ ), puis $ G $ va rapidement « sépuiser » et exploiter les minima locaux dans $ D $ . De $ G $  » point de vue de s, si $ D $ « aime » une sortie $ x = G (z) $ , alors la chose la plus simple à faire est de simplement afficher uniquement ce $ x $ ! Lentraînement $ G $ moins (et donc $ D $ plus) permet à ces minima de se déplacer et empêche $ G $ de les exploiter.

Notez que le surentraînement $ D $ ne « t semblent être une mauvaise chose a priori . En effet, avec des pertes GAN plus modernes (par exemple celles de Wasserstein), on veut $ n $ être aussi grand que possible. Cela signifie simplement que $ D $ converge pour devenir un excellent discriminateur à chaque étape, il doit donc être informatif pour $ G $ . (En effet, les preuves de convergence dépendent de cela!) Mais en pratique, pour le GAN dorigine, le surentraînement $ D $ tend à conduire à des dégradés inutiles (voir ci-dessous): rien de $ G $ ne peut plaire au discriminateur, donc toutes les mises à jour de poids sont inutiles , donc le GAN juste en vain autour de lespace des paramètres). Ce flailing est appelé entraînement instable par dautres. 🙂

En dautres termes, pour le GAN vanilla, le sous-entraînement de $ D $ peut conduire à un effondrement de mode, tandis que le surentraînement peut provoquer une instabilité. Les gens se sont apparemment concentrés sur l’atténuation de l’instabilité de sorte qu’on ne fasse que surpasser $ D $ et éviter l’effondrement du mode.

comment éviter cela?

Une façon courante de latténuer est dutiliser une fonction de perte différente, telle quune perte de Wasserstein. Un problème avec la formulation originale du GAN est que (en minimisant la divergence JS) peut avoir des gradients très peu informatifs car la perte ne gère pas très bien les distributions avec très peu de chevauchement (cest-à-dire lorsque le support partagé est petit). Dans un certain sens, cest trop dur lorsque le générateur fonctionne mal. En revanche, une perte de transport optimale diminue en douceur même lorsque les deux distributions sont éloignées lune de lautre. Voir par exemple larticle de Wasserstein GAN et ses suites.

Et pourquoi est-il appelé « le scénario Helvetica »?

Cela fait référence à lémission que vous avez mentionnée, où trop de calcium est mis en un seul endroit et provoque un désastre. Ici, un désastre se produit lorsquune densité de probabilité de générateur trop élevée est placée dans une petite zone de lespace de données. 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *