潜在ベクトル【latent vector】
概要

ニューラルネットワークを応用した生成モデルであるGANでは、「生成器」(generator)と「識別器」(discriminator)が互いに競い合いながら学習を進める。生成器が本物らしい偽データを作り出そうとする一方、識別器はそのデータが本物のデータセットから来たものか、生成器が作り出した偽物かを見分けようとする。
GANの生成器はゼロから何かを作り出すわけではなく、数値の配列である潜在ベクトルを受け取り、それを変換・拡張することで画像や音声などのデータを出力する。この潜在ベクトルは通常、正規分布や一様分布に従ってランダムにサンプリングされた数十から数百次元の数値列として表現される。異なる潜在ベクトルを入力すれば異なるデータが生成され、同じ潜在ベクトルを入力すれば常に同じデータが生成される性質を持つ。
潜在ベクトルが存在する空間は「潜在空間」(Latent Space)と呼ばれ、学習が十分に進んだGANではこの空間に意味のある構造が形成される。例えば、人物の顔画像を生成するGANでは、潜在空間上のある方向が「年齢の変化」に対応し、別の方向が「髪の長さ」や「笑顔の度合い」に対応するといった構造が自然に生まれる。これにより、潜在ベクトルの特定の成分を少しずつ変化させるだけで、生成される顔の属性を連続的に操作することが可能になる。
また、2つの潜在ベクトルの間を線形補間することで、2つの生成結果を滑らかにつなぐ中間的なデータを得る「補間」と呼ばれる操作が可能となる。例えば、笑顔の人物と無表情の人物の潜在ベクトルを補間すると、表情が段階的に変化する一連の画像を生成することができる。
潜在ベクトルの次元数は生成されるデータの多様性や品質に影響を与える重要なハイパーパラメータであり、モデルの設計時に開発者が決めておく。次元数が小さすぎると表現できるバリエーションが乏しくなり、大きすぎると学習が不安定になる傾向があるとされる。