メインコンテンツへスキップ

6.6.1 生成モデルロードマップ:サンプリング、デコード、レビュー

生成モデルはラベルを予測するだけでなく、新しいサンプルを作ります。実用上の流れは、潜在コードをサンプリングし、デコードし、出力をレビューし、バージョン比較することです。

まず生成フローを見る

生成モデル章関係図

GAN 敵対的バランスマップ

概念最初の意味
latent vector生成に使うコンパクトな隠れ入力
decoder / generator潜在コードを出力へ変える
discriminatorGAN で本物か生成物かを判定する
VAEより滑らかな潜在空間を学ぶ
review生成結果にも人と指標の確認が必要

小さな decoder を一度動かす

generative_first_loop.py を作り、torch をインストールしてから実行します。

import torch

torch.manual_seed(0)
latent = torch.randn(2, 4)
decoder = torch.nn.Sequential(torch.nn.Linear(4, 6), torch.nn.Tanh())
generated = decoder(latent)

print("latent_shape:", tuple(latent.shape))
print("generated_shape:", tuple(generated.shape))
print("value_range:", round(generated.min().item(), 3), round(generated.max().item(), 3))

出力:

latent_shape: (2, 4)
generated_shape: (2, 6)
value_range: -0.863 0.695

これはまだ本物の生成器ではありません。小さな latent vector をより大きな出力へデコードできる、という形の直感を見ています。

この順番で学ぶ

順番読むまず見ること
16.6.2 GANgenerator、discriminator、敵対的バランス
26.6.3 VAEencoder、decoder、潜在空間

合格ライン

ラベル予測とサンプル生成の違いを説明し、生成結果を盲信せずレビューが必要な理由を言えれば合格です。