Network)は生成器Gと、データが本物かどうか識別する識別器Dを交互に最適化していく生成モデル。うまく学習できないことがある。識別器D(x)はyが0か1かの分類モデルで、負の交差エントロピー誤差V(D)を最大化するように学習する。最適化したあとのDをD^とすると、目的関数V(D^)はJensen-Shannon(JS)ダイバージェンスを使って表せる。これを最小化するのがGANの目的。生成器(Generator)p_dataとp_gのJSダイバージェンスが小さくなるように学習する。生成器Gを学習するための目的関数は次の通りで、これを最小化する。