GAN の判別要素は簡単に分類できます。実際のデータとジェネレータによって作成されたデータを区別しようとします。分類するデータの種類に適したネットワーク アーキテクチャを使用できます。
図 1: 判別器トレーニングでの逆伝播。
Discriminator トレーニング データ
差別ユーザーのトレーニング データは、次の 2 つのソースから取得されます。
- 実際のデータ インスタンス(人物の実際の写真など)。判別ツールは、トレーニング中にこれらのインスタンスをポジティブ サンプルとして使用します。
- ジェネレータによって作成された偽データ インスタンス。判別ツールはトレーニング中にこれらのインスタンスをネガティブ サンプルとして使用します。
図 1 では、2 つの「サンプル」ボックスが、判別器にフィードする 2 つのデータソースを表しています。識別器のトレーニング中、ジェネレータはトレーニングされません。重みは一定のままですが、判別関数でトレーニングの例が生成されます。
Discriminator のトレーニング
判別ツールは 2 つの損失関数に接続します。識別器のトレーニングでは、識別器はジェネレータ損失を無視し、判別器損失のみを使用します。次のセクションで説明するように、ジェネレータ トレーニング中に発電機損失を使用します。
差別者トレーニング中:
- 判別ツールは生成ツールからの実際のデータと偽データの両方を分類します。
- 判別器の損失は、実際のインスタンスを偽と誤認識した、または偽のインスタンスを偽として分類した場合に、判別器にペナルティを与えます。
- ディスクリミネーターは、ディスリミネーター ネットワークを介したディスクリミネーターの損失からバックプロパゲーションによって重みを更新します。
次のセクションでは、発電機の損失が判別器につながる理由を確認します。