DCGANの解説をする前にまずGUNの解説をしたい。 GANとは、GANは、DLモデルにトレーニングデータの分布をキャプチャするように教えるためのフレームワークであり、同じ分布から新しいデータを生成できる。 VAEと同じ生成モデルの一種だが、VAEと違う点は、VAEでは確率分布を尤度で明示的に仮定しているのに対して、GANでは暗黙的に確率分布を仮定している。 画像データの場合は、VAEよりもGANのほうが画像が鮮明になる傾向がある。
では、DCGANとはなんだろうか? GANとDCGANの決定的な違いは、GeneratorとDiscriminatorそれぞれのネットワークに全結合層ではなく、畳み込み層(と転置畳み込み層)を使用している点である。DCGANの方がより鮮明な画像が生成できる傾向がある。