GANを紹介する論文から

Helveticaシナリオに言及している段落

崩壊しすぎる $ \ vec {z} $ -値を単一の $ \ vec {x} $ -値にすると問題が発生します。ただし、 $ D $ 実行する前に、 $ G $ を短時間でトレーニングする方法について少し混乱しました。 / span>で修正できます。しかし、「ヘルベチカシナリオ」をグーグルで検索したところ、 Look Around You というパロディー番組への参照しか見つかりませんでした。

これは単なるものではなく、実際のもののようです。パロディー—どこでそれについてもっと知ることができますか、そしてそれをどのように防ぐことができますか?そして、なぜそれが「ヘルベチカシナリオ」と呼ばれるのですか?

回答

単一の $ x $ は確かにGANの大きな問題です。通常、これはモード崩壊と呼ばれます。ほとんどのGANペーパーで説明されています。

実行する前に𝐺を短時間でトレーニングすることで解決できるかどうかについて少し混乱しました。

アイデアは、ジェネレーターpanでディスクリミネーター $ D $ を最新の状態に保つことです。 class = “math-container”> $ G $ 。 $ G $ を少なくトレーニングすることで、 $ D $ を多くトレーニングすることになります。通常、交互の最適化はGANを使用して実行されます。つまり、 $ n $ の反復に対して $ D $ をトレーニングします。次に、 $ G $ $ m $ の反復で繰り返します。 $ D $ の「仕事」は、実際のデータから偽の $ G $ 出力を識別できるようにすることです。ポイント。ただし、 $ D $ を十分にトレーニングしない場合(つまり、 $ G $ をトレーニングしすぎる場合) 、したがって、 $ m > n $ )、次に $ G $ はすぐに「実行」され、 $ D $ の極小値を利用します。 $ G $ からs視点、 $ D $ が一部の出力を「いいね」した場合 $ x = G(z)$ 、次に行う最も簡単なことは、 $ x $ の出力のみです。 $ G $ を少なく(したがって $ D $ を多く)トレーニングすると、この最小値が移動し、 $ G $ がそれらを悪用しないようにします。

$ D $ をオーバートレーニングしてもそうではないことに注意してください。 先験的に悪いことのようです。実際、より現代的なGANの損失(たとえば、Wassersteinの損失)では、 $ n $ できるだけ大きくすること。これは、 $ D $ がすべてのステップで優れた弁別子になるように収束することを意味するため、 $ G $ 。(実際、収束の証明はこれを行うことにかかっています!)しかし実際には、元のGANの場合、 $ D $ は役に立たない勾配につながる傾向があります(以下を参照): $ G $ ができることは識別者を喜ばせないため、すべての重みの更新は役に立たない、だからGANパラメータ空間の周りを無駄にぶらぶらしているだけです)。このフレアリングは、他の人からは不安定なトレーニングと呼ばれています。 🙂

つまり、バニラGANの場合、 $ D $ をアンダートレーニングするとモードが崩壊し、オーバートレーニングすると不安定になる可能性があります。人々は不安定さの緩和に焦点を合わせているようで、 $ D $ をオーバートレーニングし、モードの崩壊を回避します。

どうすればそれを防ぐことができますか?

これを軽減する一般的な方法の1つは、ワッサースタイン損失などの別の損失関数を使用することです。元のGAN定式化の問題の1つは、(JSの発散を最小限に抑えることにより)損失が非常に少ないオーバーラップの分布を処理しないため(つまり、共有サポートが小さい場合)、非常に情報量の少ない勾配を持つ可能性があることです。ある意味で、発電機の性能が悪いときは厳しすぎます。対照的に、最適な輸送損失は、2つの分布が互いに離れている場合でもスムーズに減少します。たとえば、ワッサースタインGANペーパーとそのフォローアップ。

そして、なぜそれが「ヘルベチカシナリオ」と呼ばれるのですか?

これは、あなたが言及したショーを指します。ここでは、カルシウムが1か所に多すぎて、災害が発生します。 ここでは、データ空間の小さな領域に生成確率密度が多すぎると災害が発生します。 🙂

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です