Open shimopino opened 4 years ago
[arXiv:2006.06676] Training Generative Adversarial Networks with Limited Data
Tero Karras, Miika Aittala, Janne Hellsten, Samuli Laine, Jaakko Lehtinen, Timo Aila
2020-06-11
少量データセットに対してもGANの性能を向上させるAdaptive Discriminator Augmentation (ADA) を提案した。本手法ではGeneratorの学習時にもDiscriminatorの学習時にもデータ増強を行った画像のみを使用する手法であり、Discriminatorの出力を使用して動的に過学習の程度を検知することで、適用させるデータ増強の強度 (確率) pを学習中に動的に制御する手法である。
本手法を適用することで少量データセットであってもDiscriminatorの過学習を防ぐことに成功している。
近年のGANでは数万から数十万の画像データセットを必要としており、医療などの画像データの容易に多大なコストがかかる分野では応用することが難しい。
少量のデータセットでGANの学習を行った場合、Discriminatorは学習データセットに対して過学習を行ってしまい、結果として学習が発散してしまう。この現象を回避するためのテクニックとしては画像に対してデータ増強を行うことだが、Generatorがこうした人工的な操作まで復元してしまう、
本研究では、Generatorが生成する画像にデータ増強の効果が含まれてしまうことを防ぎながら、Discriminatorが過学習しないように画像にデータ増強を行う手法を調査している。
FFHQデータセットに対して学習に使用する画像数を変化させることでどのようにDiscriminatorの挙動が変化するのかを検証した。
結果としては、学習データを減らすことでより早い段階でFIDが悪化し始め、最終的に発散し始めていることがわかる。
またDiscriminatorの出力を見てみても学習が進むごとにはっきりと実画像と生成画像を識別できるようになっている、加えて学習データを減少させるとFIDが悪化し始める地点が早まっており、検証データセットに対する精度も悪化していることから過学習してしまっていることがわかる。
先行研究[Zhao et al, 2020]で提案されたBalanced Consistency Regularization (bCR) では実画像と生成画像の両方にデータ増強を施し、Discriminatorにデータ増強をかける前のデータと同じ出力を行うように制限をかける手法である。
しかしbCRではデータ増強の効果がGeneratorに伝播してしまうことには変わりない。
本研究では、bCRと異なりデータ増強をかけたデータのみを使用してGeneratorとDiscriminatorの学習を行う。この方法は直感的にはDiscriminatorは正しい実画像を見ることがないため効果があるのかわからない。そこでこの方法が有効に働く条件を検証していく。
データ増強を行うことでどの程度のLeakageが発生してしまうのかを検証した。等方的な変換を分布に適用するLog変換では、データ増強の強度を強めてもFIDは変化しておらず、安全な変換方法であることがわかる。
反対に画像を回転させたり、色調を変化させたりした場合、強度によっては生成される画像自体にもその効果が含まれてしまう。特にデータ増強の強度pを大きくすると、生成画像に対する影響は大きくなってしまい、以下のように回転した画像や色調変化を加えられた画像が生成されてしまう。
本研究ではRandAugmentの成功に倣い、多様性のあるデータ増強手法を採用している。なおGeneratorの学習時にも適用するため、データ増強の計算を微分計算で誤差伝播できるようにTensor上で実装している。
データ増強を行う場合にはすべての手法と1枚1枚の画像で個別に確率pを設定している。
しかし以下の図を見るとわかるようにデータセットのサイズによって、最適なデータ増強手法とその最適な強度は変化しており、固定値で定義することは非常に難しい。そこで動的に強度を制御する方法を考案している。
理想的な状態としてはデータ増強をかける際にその強度をチューニングをすることではなく、過学習の程度によって動的に強度を制御することである。
過学習を検知するための指標を作るためのヒントは以下の2つになる。
この2点から、過学習を検知するために以下の2つの経験的な指標を提案している。どちらの指標に関してもr=0の場合に過学習は発生しておらず、r=1の場合に完全な過学習は発生していることを意味する。
rv
rt
この経験的評価指標の使い方は以下になり、著者らはこの手法を Adaptive Discriminator Augmentation (ADA) と呼称している。
この手法の効果は以下になる。
まずは最適なrの値を検証した結果であるaとbに関して、どちらの評価指標でも過学習を効率的に防いでいることはわかる。またこの実験結果より、rtの評価指標をTarget値を0.6に設定してほかの実験を行っている。
また学習が進むにつれてデータ増強の強度が増していることがわかる。
ADAを行うことで使用するデータセットの数に関係なく過学習が発生しなくなっていることがわかる。またDiscriminatorの出力とベストなFIDに関しても、ADAを適用する前よりも改善されていることがわかる。
Discriminatorからの勾配を見てみても、ADAを適用しない場合は非常にシンプルな購買であるにも関わらず、本手法を適用することでより細部に関する情報が伝搬されていることがわかる。
GANをスクラッチ学習させる場合とfine-tuningを行う場合とでどのような効果があるのか検証をおこなっている。
まずは使用するデータセットの数を変化させた場合にどのようにFIDが変化するのかを検証した。bCRでは学習データが十分ある場合には有効に働いていることがわかる。しかしデータ増強の効果が生成画像にも反映されてしまっており、図dのように生成画像の平均をとるとXY方向へのTranslationを行った影響が出てしまっている。
反対に提案手法のADAではデータ増強の効果が表れていない。そしてADAとbCRはそれぞれを組み合わせることでさらに評価指標が改善されていることがわかる。
実際にCIFAR10を使用してFIDがベストなときの生成画像と実画像を比較すると、区別が難しいほどの鮮明な画像を生成できていることがわかる。
また提案手法と既存手法との比較実験を行った。結果からわかるようにデータセットの数が制限されている場合、本手法が非常に有効に働いていることがわかる。反対にデータセットが十分に存在している場合には、どの手法も似たFIDにまで達成していることがわかる。
少ないデータセットに対してGANを適用するために転移学習を行うことがある。先行研究[Mo et al, 2020]ではDiscriminatorの最終層のパラメータの固定するFreeze Discriminatorなどが提案されている。
GANの転移学習はスクラッチ学習を行う場合よりもうまくいく場合があり、これは転移対象となるデータセットの多様性(元のデータセットとの類似性ではない)に大きく依存している。
これはGANをFFHQに転移させる場合に、多様性はないが類似性はあるCelebA-HQで学習させた場合と、多様性に富むLSUN DOGで学習させた場合とで似たような結果が得られたことからもわかる。反対に多様性に富むLSUN CATに転移させる場合には、同程度の多様性を有するLSUN DOGでなければうまく転移を行うことができなかった。
提案手法の効果としては以下の図を見るとわかるように、ADAを用いることで使用しない場合と比較するとはるかに優れたFIDに達成していることがわかる。
また使用するデータセットの数を制限した場合にも提案手法が有効に働いていることがわかる。転移学習と組み合わせることで早い段階で優れたFIDに到達することができる。
また以下の少数データセットに対しても提案手法を適用した。
使用するデータセットに制限がある場合、バイアスが支配的になってしまうためFIDは適した評価指標ではない。そこでバイアスが含まれないKIDを使用して比較すると、StyleGAN2で評価指標が大幅に改善されていることがわかる。
またCIFAR10でもInseption Scoreも大幅に改善されていることがわかる。
著者らは、データ増強は実データの代替にはなりえないため、まずは大規模で質の高いデータセットを集めたうえで、あくまで本手法は実データ間のギャップを埋める際に適用すべきと主張している。
https://github.com/NVlabs/stylegan2-ada
論文へのリンク
[arXiv:2006.06676] Training Generative Adversarial Networks with Limited Data
著者・所属機関
Tero Karras, Miika Aittala, Janne Hellsten, Samuli Laine, Jaakko Lehtinen, Timo Aila
投稿日時(YYYY-MM-DD)
2020-06-11
1. どんなもの?
少量データセットに対してもGANの性能を向上させるAdaptive Discriminator Augmentation (ADA) を提案した。本手法ではGeneratorの学習時にもDiscriminatorの学習時にもデータ増強を行った画像のみを使用する手法であり、Discriminatorの出力を使用して動的に過学習の程度を検知することで、適用させるデータ増強の強度 (確率) pを学習中に動的に制御する手法である。
本手法を適用することで少量データセットであってもDiscriminatorの過学習を防ぐことに成功している。
2. 先行研究と比べてどこがすごいの?
近年のGANでは数万から数十万の画像データセットを必要としており、医療などの画像データの容易に多大なコストがかかる分野では応用することが難しい。
少量のデータセットでGANの学習を行った場合、Discriminatorは学習データセットに対して過学習を行ってしまい、結果として学習が発散してしまう。この現象を回避するためのテクニックとしては画像に対してデータ増強を行うことだが、Generatorがこうした人工的な操作まで復元してしまう、
本研究では、Generatorが生成する画像にデータ増強の効果が含まれてしまうことを防ぎながら、Discriminatorが過学習しないように画像にデータ増強を行う手法を調査している。
2.1 Overfitting in GANs
FFHQデータセットに対して学習に使用する画像数を変化させることでどのようにDiscriminatorの挙動が変化するのかを検証した。
結果としては、学習データを減らすことでより早い段階でFIDが悪化し始め、最終的に発散し始めていることがわかる。
またDiscriminatorの出力を見てみても学習が進むごとにはっきりと実画像と生成画像を識別できるようになっている、加えて学習データを減少させるとFIDが悪化し始める地点が早まっており、検証データセットに対する精度も悪化していることから過学習してしまっていることがわかる。
2.2 Stochastic discriminator augmentation
先行研究[Zhao et al, 2020]で提案されたBalanced Consistency Regularization (bCR) では実画像と生成画像の両方にデータ増強を施し、Discriminatorにデータ増強をかける前のデータと同じ出力を行うように制限をかける手法である。
しかしbCRではデータ増強の効果がGeneratorに伝播してしまうことには変わりない。
本研究では、bCRと異なりデータ増強をかけたデータのみを使用してGeneratorとDiscriminatorの学習を行う。この方法は直感的にはDiscriminatorは正しい実画像を見ることがないため効果があるのかわからない。そこでこの方法が有効に働く条件を検証していく。
2.3 Designing augmentations that do not leak
データ増強を行うことでどの程度のLeakageが発生してしまうのかを検証した。等方的な変換を分布に適用するLog変換では、データ増強の強度を強めてもFIDは変化しておらず、安全な変換方法であることがわかる。
反対に画像を回転させたり、色調を変化させたりした場合、強度によっては生成される画像自体にもその効果が含まれてしまう。特にデータ増強の強度pを大きくすると、生成画像に対する影響は大きくなってしまい、以下のように回転した画像や色調変化を加えられた画像が生成されてしまう。
2.4 Our augmentation pipeline
本研究ではRandAugmentの成功に倣い、多様性のあるデータ増強手法を採用している。なおGeneratorの学習時にも適用するため、データ増強の計算を微分計算で誤差伝播できるようにTensor上で実装している。
データ増強を行う場合にはすべての手法と1枚1枚の画像で個別に確率pを設定している。
しかし以下の図を見るとわかるようにデータセットのサイズによって、最適なデータ増強手法とその最適な強度は変化しており、固定値で定義することは非常に難しい。そこで動的に強度を制御する方法を考案している。
3. 技術や手法の"キモ"はどこにある?
3.1 Adaptive discriminator augmentation
理想的な状態としてはデータ増強をかける際にその強度をチューニングをすることではなく、過学習の程度によって動的に強度を制御することである。
過学習を検知するための指標を作るためのヒントは以下の2つになる。
この2点から、過学習を検知するために以下の2つの経験的な指標を提案している。どちらの指標に関してもr=0の場合に過学習は発生しておらず、r=1の場合に完全な過学習は発生していることを意味する。
rv
rt
この経験的評価指標の使い方は以下になり、著者らはこの手法を Adaptive Discriminator Augmentation (ADA) と呼称している。
この手法の効果は以下になる。
まずは最適なrの値を検証した結果であるaとbに関して、どちらの評価指標でも過学習を効率的に防いでいることはわかる。またこの実験結果より、rtの評価指標をTarget値を0.6に設定してほかの実験を行っている。
また学習が進むにつれてデータ増強の強度が増していることがわかる。
ADAを行うことで使用するデータセットの数に関係なく過学習が発生しなくなっていることがわかる。またDiscriminatorの出力とベストなFIDに関しても、ADAを適用する前よりも改善されていることがわかる。
Discriminatorからの勾配を見てみても、ADAを適用しない場合は非常にシンプルな購買であるにも関わらず、本手法を適用することでより細部に関する情報が伝搬されていることがわかる。
4. どうやって有効だと検証した?
GANをスクラッチ学習させる場合とfine-tuningを行う場合とでどのような効果があるのか検証をおこなっている。
4.1 Training from scratch
まずは使用するデータセットの数を変化させた場合にどのようにFIDが変化するのかを検証した。bCRでは学習データが十分ある場合には有効に働いていることがわかる。しかしデータ増強の効果が生成画像にも反映されてしまっており、図dのように生成画像の平均をとるとXY方向へのTranslationを行った影響が出てしまっている。
反対に提案手法のADAではデータ増強の効果が表れていない。そしてADAとbCRはそれぞれを組み合わせることでさらに評価指標が改善されていることがわかる。
実際にCIFAR10を使用してFIDがベストなときの生成画像と実画像を比較すると、区別が難しいほどの鮮明な画像を生成できていることがわかる。
また提案手法と既存手法との比較実験を行った。結果からわかるようにデータセットの数が制限されている場合、本手法が非常に有効に働いていることがわかる。反対にデータセットが十分に存在している場合には、どの手法も似たFIDにまで達成していることがわかる。
4.2 Transfer learning
少ないデータセットに対してGANを適用するために転移学習を行うことがある。先行研究[Mo et al, 2020]ではDiscriminatorの最終層のパラメータの固定するFreeze Discriminatorなどが提案されている。
GANの転移学習はスクラッチ学習を行う場合よりもうまくいく場合があり、これは転移対象となるデータセットの多様性(元のデータセットとの類似性ではない)に大きく依存している。
これはGANをFFHQに転移させる場合に、多様性はないが類似性はあるCelebA-HQで学習させた場合と、多様性に富むLSUN DOGで学習させた場合とで似たような結果が得られたことからもわかる。反対に多様性に富むLSUN CATに転移させる場合には、同程度の多様性を有するLSUN DOGでなければうまく転移を行うことができなかった。
提案手法の効果としては以下の図を見るとわかるように、ADAを用いることで使用しない場合と比較するとはるかに優れたFIDに達成していることがわかる。
また使用するデータセットの数を制限した場合にも提案手法が有効に働いていることがわかる。転移学習と組み合わせることで早い段階で優れたFIDに到達することができる。
4.3 Small datasets
また以下の少数データセットに対しても提案手法を適用した。
使用するデータセットに制限がある場合、バイアスが支配的になってしまうためFIDは適した評価指標ではない。そこでバイアスが含まれないKIDを使用して比較すると、StyleGAN2で評価指標が大幅に改善されていることがわかる。
またCIFAR10でもInseption Scoreも大幅に改善されていることがわかる。
5. 議論はあるか?
著者らは、データ増強は実データの代替にはなりえないため、まずは大規模で質の高いデータセットを集めたうえで、あくまで本手法は実データ間のギャップを埋める際に適用すべきと主張している。