画像の生成に「意味」を反映する新しいGAN
3つの要点
✔️ 多数のモードから成る複雑なデータ分布に対応するため、データ点(インスタンス)の特徴量で条件づけられたデータ生成を可能にするInstance-Conditioned GAN(ICGAN)を開発した
✔️ ICGANでは分類クラスと特徴量に条件づけられたデータ生成において意味的な操作が可能であることを示した
✔️ 訓練時とは類似していないデータを含むデータセットにおいてもICGANが高い生成能を発揮することを確認した
Instance-Conditioned GAN
written by Arantxa Casanova, Marlène Careil, Jakob Verbeek, Michal Drozdzal, Adriana Romero-Soriano
(Accepted at NeurIPS2021)
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
敵対的生成ネットワーク(Generative Adversarial Networks, GAN)とは真のデータと人工データを見分ける判別器(Discriminator, D)とデータをノイズから生成する生成器(Generator, G)の二つのニューラルネットワークを競わせて学習させる深層学習モデルです。
現在知られているGANの課題としてモード崩壊が挙げられます。モード崩壊では生成データが訓練データ中の一部に偏ってしまうことにより生成サンプルの質や多様性が損なわれてしまいます。
このモード崩壊という課題から、多数の物体クラスから成るImageNetなどのデータセットにおけるGANの学習が困難であることが知られています。このような多数のモードに対応するため条件付GAN(Conditional GAN)が提案され、クラスラベルを与えたデータ生成におけるサンプルの質や多様性が改善されてきました。
この条件付GANの訓練には多数のラベル付きデータが必要であることをうけ、近年ではラベル付きデータを用いずに多数のモードから成る分布を学習する試みが行われています。このような研究の主なアプローチはGANを条件づける際に必要なクラスラベルをクラスタリングに代表される教師なし学習により獲得することです。この場合、データを複数のクラスターに分割する際の粒度が生成能に大きな影響を与える要因の一つとなってきます。
本稿で紹介するInstance-Conditioned GAN(ICGAN)はデータ点(インスタンス)に対応する特徴量によって判別器と生成器を条件づけ、データ点の近傍も真のデータとして判別器に教えることにより上述の問題を解決しています。次のセクションでICGANの詳細についてみていきましょう。
Instance-Conditioned GANの概要
Instance-Conditioned GAN(ICGAN)のモデル概要は以下の図のようになっています。
入力画像は特徴量抽出器$f_\phi$により特徴量空間へとマッピングされ、出力として得られた特徴量$\mathbb{h}$が生成器と判別器に入力されます。生成器はこの特徴量$\mathbb{h}$とサンプリングしたノイズ$\mathbb{z}$から画像$\mathbb{x}_g$を生成します。また、判別器は特徴量$\mathbb{h}$をもとに生成画像$\mathbb{x}_g$と近傍画像$\mathbb{x}_n$を判別します。特徴量抽出器$f_\phi$として学習済みのResNet50を用いており、ICGANの訓練に関わらずこのパラメータは固定となっています。
ここで、入力画像の近傍画像とは特徴量空間においてコサイン類似度を距離の指標とした際に、k-近傍となる画像のことを指しています。ICGANでは入力画像の近傍も正例として判別器に与えることが特徴的です。
ニューラルネットワークは以下に示すミニマックスゲームにより学習されます。
ICGANでは各データ点を代表点とするクラスターの分布を学習します。全体のデータ分布はこれらのクラスター分布の重なりとして表現されるため、クラスタリング手法によるデータ分割と比較してクラスターのサンプル数における偏りを避けることができる利点があります。
さらに、ICGANではクラスター番号ではなく特徴量によって条件付けを行うため、似たデータ点からは似たサンプルが出るといった意味的な解釈を与えることができることも強みの一つとなっています。
ICGANを用いた画像生成実験
ICGANを用いた画像生成ではラベルなしとラベルありの二つの条件で実験を行っています。
ラベルなしではImageNetとCOCO-Stuffの二つの複雑なデータセットにおいて生成画像を評価しました。
ラベルありでは特徴量による条件付けに加えてクラスラベルによる条件付けを新たに追加し、ImageNetとサンプル数の少ないクラスも含んだImageNetの拡張版であるImageNet-LTにおいて生成画像を評価しました。さらに、ラベルありの場合にはクラスラベルを置換する実験を行い、生成画像の意味的なコントロールが可能であるかを確認しました。
本稿で紹介する結果はラベル有無の条件下でのImageNetにおける画像生成の結果となっています。
生成画像の評価指標
ICGANによる生成画像はGANの一般的な評価指標であるFrechet Inception Distance(FID)とInception Score(IS)により評価されます。FIDやISについての説明は割愛し、他の記事に譲ることとします。
さらに、本論文では画像特有の評価指標であるLearned Perceptual Image Patch Similarity(LPIPS)による生成画像の多様性に関する評価も行っています。LPIPSでは同じ条件付けで生成された二つの異なる2枚の画像をAlexNetに入力し活性の距離を計算します。
画像生成実験の結果
はじめに、ラベルなし条件下でのImageNetにおける画像生成結果は以下の表のようになりました。
ICGANは64x64, 128x128, 256x256のいずれの解像度においても従来手法を上回っていることがわかります。ベースラインであるBigGANに関してはICGANのキャパシティーに合わせてパラメータ数を増やしてもICGANよりも劣る性能となっています。(表中の♰)
また、データ拡張として水平方向の反転を行った場合(表中DA(d):判別器の正例と負例, 表中DA(i):入力画像)において生成能が向上していることから、ICGANにおけるデータ拡張手法の有効性が伺えます。
次に、ラベルあり条件下でのImageNetにおける画像生成結果は以下のようになりました。
こちらでも同様に大半の解像度でベースラインのBigGANに勝る生成能が確認できています。
ラベルなし(図中左半分)とラベルあり(図中右半分)のそれぞれの場合において実際に生成された画像は以下のようになりました。
各条件において、左端の列は特徴量を計算する際に用いた入力画像であり、右の3列はノイズから生成された画像です。ラベルありの場合には画像下に記されたクラスラベル(ex. golden retriever)を別に与えることで入力画像のクラスとは異なるクラスでの画像生成を行っています。
芝生の背景にゴールデンリトリバーを追加した画像や雪の背景にラクダを追加した画像の例から、ICGANは入力画像の背景に与えたクラスラベルのコンテンツを加えたような画像をしており、意味的な操作が可能であることがわかります。
また、興味深いことに、ImageNetにおいて訓練したICGANを用いてCOCO-Stuffにおいて画像を生成させたところ、COCO-Stuffにおいて訓練したICGANよりも良い生成能を示すとといった現象が確認されており、筆者らはImageNetにおいて事前学習された特徴量抽出器と生成器の有効性が原因だと推測しています。
おわりに
いかがだったでしょうか。ICGANの貢献としては各データ点を基準とするクラスターの混合分布を仮定することでモード崩壊に対処している点、学習済みの特徴抽出器を用いることでクラスタの番号ではなく画像の「意味」を反映した条件付けが行える点の二点が大きいと感じます。
一方で、ICGANの欠点としては複雑なデータ分布をカバーするために多数のデータ点を保持しなければならない点、生成能が特徴抽出器に依存する点が挙げられそうです。
データ分布が異なるデータセットにおいても汎化性能を示すGANを構築できたという結果は驚きです。特徴抽出器の学習の際に出現しなかった物体クラスの画像生成も上手くいくのか気になるところです。
興味のある方はCOCO-Stuffでの生成結果や他データセットにおける汎化性能の結果を元論文でチェックしてみてくださいね!
この記事に関するカテゴリー