AI生成画像の「良さ」をどう測る?評価指標「FID」の仕組みと限界

「このAIが作った画像、めちゃくちゃリアル!」 人間なら一目で判断できる画像のクオリティですが、コンピューターに「どちらのAIの方が、本物っぽくて多様な画像を作れているか」を自動で判定させるのは、実は非常に難しい課題でした。
この課題を解決し、現代の画像生成AIの評価においてデファクトスタンダード(事実上の業界標準)となっているのが「FID(Fréchet Inception Distance、フレシェ・インセプション距離)」という指標です。今回は、難しい数式を一切使わずに、このFIDが裏側で何を行っているのか、そしてクリエイティブの現場から見たその限界を分かりやすく紹介します。
「人間が良いと思う画像」を数値化する難しさ
なぜ、画像のクオリティを数値化するのが難しいのでしょうか。
かつてのデジタル画像処理では、2つの画像のピクセル(画素)を重ね合わせて、その色の差を計算する「MSE(平均二乗誤差)」や「PSNR(ピーク信号対雑音比)」といった指標が使われていました。しかし、これらは画像生成AIの評価には使えません。
例えば、本物の猫の写真を「右に3ピクセルだけずらした画像」を作ったとします。人間にとっては同じ猫の写真にしか見えませんが、ピクセル同士を比較する単純な計算では「色が全く異なる別の画像」と判定されてしまいます。また、AIがいくら美しい猫の絵を描いても、比較元の特定の写真とピクセル配置が違えば、すべて「低品質」とみなされてしまうのです。
人間が画像を見るときは、ピクセル単位ではなく、「目がある」「毛並みが柔らかい」「背景がボケている」といった**「概念や特徴」**で捉えています。AIの画質を測るには、コンピューターにも同じような「目」を持たせる必要がありました。
FIDの仕組み:AIの「脳内」で分布のズレを測る
そこで登場するのがFIDです。FIDの計算プロセスは、大きく以下の3つのステップに分かれています。
- AIの「視覚フィルター」を通す まず、十分に訓練された画像認識用のAIモデル(Googleが開発した Inception-V3)を用意します。このモデルは、大量の写真を見て「何が写っているか」を判断する訓練を積んでいます。このAIの途中の層(特徴空間)を取り出し、画像を数値(特徴ベクトル)に変換するフィルターとして使います。
- 「本物」と「生成AI」のグループを作る 次に、「本物の画像グループ(数千〜数万枚)」と「AIが生成した画像グループ(同じく数千〜数万枚)」を、この視覚フィルターに通します。すると、それぞれのグループがAIの脳内でどのように分布しているか(平均やばらつき)がマップ化されます。
- 2つのグループの「距離」を測る 最後に、この脳内マップ上で「本物グループの分布」と「生成AIグループの分布」がどれくらい離れているかを計算します。この距離を測る数学的アプローチが「Fréchet距離」です。
FIDのスコアは**「距離」なので、数値が小さい(0に近い)ほど優秀**であることを示します。分布同士が重なり合っているということは、生成された画像が「本物らしく」、かつ偏りなく「多様である」ことを意味するからです。
FIDの限界と課題:アニメ絵や偏りの罠
FIDは画像生成AIの進化に大きく貢献しましたが、万能ではありません。クリエイターや研究者が直面している限界もいくつかあります。
- 「ImageNet」の偏見: FIDの基準となるInception-V3は、主に「ImageNet」という写真データセットで学習されています。そのため、実写の写真のクオリティは正しく測れますが、アニメイラストや浮世絵、医療用のレントゲン写真など、写真とはかけ離れたスタイルの画像を評価しようとすると、AIの「視覚フィルター」が上手く機能せず、人間が「下手」だと思う画像のFIDの方が低くなる(スコアが良い)といった現象が起きます。
- サンプルサイズ依存: 正確なFIDを測定するには、通常5万枚以上の画像ペアが必要とされます。画像が少なすぎると、スコアが不当に悪くなってしまい信頼できません。個人やスタートアップが小さなモデルを検証する際、この「評価用の大量の画像集め」がネックになります。
- 「新しさ」は測れない: FIDはあくまで「本物の分布といかに似ているか」を測る指標です。したがって、今までにない斬新な画風や、新しいアートの表現を生み出した場合、それは「本物の分布から外れている」ため、FIDのスコアは悪くなってしまいます。
FIDは、技術としてのAIの進歩を数字で支える素晴らしい羅針盤です。しかし、そのスコアの先にある「人が見て美しいと感じるか」「心を動かされるか」というクリエイティビティの評価は、やはりまだ私たちの目に委ねられているのです。
お役立ち情報
- 📄 zero2one AI用語集 - FID (Fréchet Inception Distance)
- 機械学習の用語をエンジニア向けに簡潔にまとめた日本語解説。数式を用いた定義にも軽く触れられています。
- 📄 GitHub - mseitzer/pytorch-fid (英語)
- PyTorch環境でFIDを計算するための最も一般的に使われているオープンソースライブラリ。
- 📄 arXiv - GANs Trained by a Two Time-Scale Update Rule… (英語)
- FIDを初めて提案した2017年の歴史的な論文。GANの学習安定化手法とともにFIDの有効性が論じられています。