【せいせいき】

生成器(Generator) とは?

最終更新:
💡 入力からデータを作り、識別器の信号で学ぶ

GANで、潜在ベクトルなどの入力からデータを作る側のニューラルネットワーク。識別器を通じて得た学習信号で調整する。ここでは主に、ランダムな入力を使う基本形を扱う。

📌 このページのポイント
GAN:生成器はデータを作る 入力 z 0.2 / −0.7 生成器 G 3 生成画像 7 学習画像 識別器 D 本物らしさ 損失から勾配を計算 生成器の更新時はDの重みを固定
基本形の画像生成の概念図。数字や潜在ベクトルは例示で、図の値を実モデルで生成した結果ではない。生成器の更新では識別器を通して勾配を計算し、Gの重みを変える。学習が必ず成功する保証はない。
ひよこ ひよこ
生成器って何をするの?
ペンギン先生 ペンギン先生
GANでデータを作る側のニューラルネットワークだよ。基本形ではランダムな潜在ベクトルzを受け取り、G(z)というデータを出力する。例えば手書き数字の画像を学習したモデルなら、数字の画像を作るんだ。
ひよこ ひよこ
識別器は何を教えてくれるの?
ペンギン先生 ペンギン先生
識別器は、学習データと生成データを区別するよう学習するよ。生成器は、その識別器が出力を本物だと判定する方向へ調整する。ただし、単に「偽物だよ」と言われて直すのではなく、損失から計算した勾配を使うんだ。
ひよこ ひよこ
そのとき識別器も一緒に変更する?
ペンギン先生 ペンギン先生
基本的な生成器の更新では、識別器の重みを固定したまま、識別器を通して勾配を計算し、生成器の重みを変えるよ。識別器を更新する段階と、生成器を更新する段階を組み合わせて学習を進めるんだ。
ひよこ ひよこ
学習を続ければ、必ず良い画像になる?
ペンギン先生 ペンギン先生
保証はないよ。学習が不安定になったり、異なる入力でも似た出力ばかり作るモード崩壊が起きたりする。入力にランダムさを与えることと、出力の多様性が実際に保たれることは別なんだ。
ひよこ ひよこ
識別器の正解率が50%なら、完成?
ペンギン先生 ペンギン先生
それだけでは判断できないよ。基本の理論では、生成分布がデータ分布と等しく、識別器も最適という条件で、その出力が1/2になる。識別器が弱いだけの場合もあるので、実際の生成品質や多様性を別に確かめるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「生成器」って出てきたら「GANで入力からデータを作り、識別器の学習信号で調整する側」と思えばだいたいOK!
📖 おまけ:英語の意味
「Generator」 = 生成するもの・生成器
💬 Generateは「生み出す」という意味だよ。GANではデータを作る側のニューラルネットワークを指し、データを判別する識別器と組み合わせて学習するんだ。

参考資料

← 用語集にもどる