そこで、今回は「CNNなんて怖くない! その基本を見てみよう」や「PyTorchで畳み込みオートエンコーダーを作ってみよう」などで取り上げた畳み込みニューラルネットワークを利用して、GANを構築してみることにします。 実際の構成は、次のようになります。以下ではConv2dクラスとConvTranspose2dクラスのみを含めてありますが、BatchNorm2dクラスおよびtorch.nnモジュールが提供する活性化関数クラス(torch.nn.Sigmoidクラス、torch.nn.Tanhクラス)も使用します。訓練データと偽物のデータの識別と偽物データの生成の中心的な処理はこれら2つのクラスが請け負うということです。 識別器(ディスクリミネーター)では、CNNで使用するConv2dクラスにより訓練データおよび生成器(ジェネレーター)から入力されたデータを最終的に0~1の値へと変換していきま