GAN はたった 1 枚の画像でトレーニングできます。 Adobe が画像生成方法を改善 | オープンソース

GAN はたった 1 枚の画像でトレーニングできます。 Adobe が画像生成方法を改善 | オープンソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

データセットは GAN をトレーニングするには小さすぎますか? 1 つの画像から始めてみましょう。

昨年、Googleは、GANを使用して単一の自然画像から学習する初の無条件生成モデルであるSinGANを提案しました(ICCV 2019 Best Paper)。

最近、Adobe とハンブルク大学の研究者がこの手法を改良し、GAN が単一の画像でトレーニングと生成機能を改善できるようにするいくつかのメカニズムを調査しました。

研究者たちは改良されたモデルをConSinGANと名付けた。

それではまずConSinGANの効果を見てみましょう。

上図の左側はトレーニングに使用した単一の画像であり、右側は ConSinGAN でトレーニングした後に生成された複雑なグローバル構造です。

効果がかなりリアルであることがわかります。

もちろん、ConSinGAN は、画像の超解像、画像のアニメーション、画像のかすみ除去など、他の多くのタスクの処理にも使用できます。

次の 2 つの画像は、画像の調和と画像編集への効果を示しています。

ConSinGAN はどのようにそれを実現するのでしょうか?

トレーニングアーキテクチャの最適化: 並列 SinGAN

まず、SinGANのトレーニングプロセスを見てみましょう。

SinGAN は、画像に対して複数の個別の生成ネットワークをトレーニングします。下の図は最初のジェネレーターであり、ランダム ノイズから画像を生成する唯一の無条件ジェネレーターでもあります。

SinGANで訓練された最初のジェネレータ

ここでの識別器は画像全体を見ることはなく、このようにして「実際の」画像パッチがどのように見えるかを学習します。

このようにして、ジェネレーターは、全体的には異なるがパッチの点では類似している画像を生成することで、「不正行為」の目的を達成できます。

より高い解像度で動作するジェネレーターは、前のジェネレーターによって生成された画像を入力として受け取り、現在のものよりも高い解像度の画像を生成します。

すべてのジェネレーターは個別にトレーニングされます。つまり、現在のジェネレーターをトレーニングしている間、以前のすべてのジェネレーターの重みは一定に保たれます。

このプロセスを下の図に示します。

しかし、Adobe とハンブルク大学の研究者は、一度にトレーニングできるのは 1 つのジェネレーターのみであり、画像 (特徴マップではない) を 1 つのジェネレーターから次のジェネレーターに転送できるため、ジェネレーター間の相互作用が制限されることを発見しました。

そのため、彼らはジェネレーターをエンドツーエンドでトレーニングしました。つまり、複数のジェネレーターが同時にトレーニングされ、各ジェネレーターは前のジェネレーターによって生成された特徴(画像ではなく)を入力として受け取りました。

これが ConSinGAN という名前の由来です。並列 SinGAN です。プロセスは以下の図に示されています。

しかし、そのような対策を講じると、過剰適合という問題に直面することになります。つまり、最終モデルでは「新しい」画像は生成されず、トレーニング画像のみが生成されることになります。

これを防ぐために、研究者たちは2つの対策を講じました。

  • 一度にトレーニングされるのはジェネレーターのサブセットのみです。
  • ジェネレータごとに異なる学習率を使用します。

下の図は、これら 2 つの方法を使用して実装されたモデルを示しています。デフォルトでは、最大 3 つのジェネレーターが同時にトレーニングされ、下位のジェネレーターの学習率はそれぞれ 1/10 と 1/100 に調整されます。

このプロセスには興味深い現象があります。

低いジェネレーターに高い学習率を使用すると、生成される画像の品質は高くなりますが、鮮明さは低下します。

逆に、低いジェネレーターに小さい学習率を使用すると、生成される画像はより多様になります。下の図の通りです。

コードはオープンソースです

ConSinGAN のコードは GitHub でオープンソース化されています。

いつものように、まず実行に必要な環境を紹介します: Python 3.5、Pytorch 1.1.0。

インストールも非常に簡単です:

  1. pip インストール -r 要件.txt

論文のデフォルトパラメータを使用してモデルをトレーニングするには:

  1. python main_train.py --gpu 0 --train_mode generation --input_name 画像/Generation/angkorwat.jpg

Nvidia GeForce GTX 1080Ti では、モデルのトレーニングに約 20 ~ 25 分かかります。

学習率とトレーニング段階の数が異なると、実験の結果に影響します。研究者は、2 つのデフォルト値をそれぞれ 0.1 と 6 にすることを推奨しています。

もちろん、学習率を変更することもできます。

  1. python main_train.py --gpu 0 --train_mode generation --input_name Images/Generation/colusseum.jpg --lr_scale 0.5

トレーニングエポックの数を変更します。

  1. python main_train.py --gpu 0 --train_mode generation --input_name Images/Generation/colusseum.jpg --train_stages 7

もちろん、このモデルは「画像コーディネート」や「画像編集」といったタスクにも対応可能ですので、詳細はGitHubを参照してください。

ポータル

論文の宛先:
出典: http://arxiv.org/pdf/2003.11512.pdf

GitHub プロジェクト アドレス:
https://github.com/tohinz/ConSinGAN

<<:  中国の自動運転はアメリカの自動運転と比べてどう劣っているのか?

>>:  小中学生の安全を守るためにロボットは今や欠かせない存在です!

ブログ    
ブログ    
ブログ    

推薦する

...

この 13 年間の深い測定学習は無駄になったのでしょうか?

おそらく、どの分野においても、頭を下げて突き進むことと同じくらい、立ち止まって考えることが大切なので...

AIで製造業を解放する: 企業がアプリケーションシナリオを発見し、課題に対処する方法

まとめ現在、さまざまな業界がデジタルビジネスシナリオを実装または強化するために機械学習機能を構築して...

偉大な人物が学界に復帰:何開明氏がMITへの入学を発表

「FAIR研究科学者として、私は2024年にMITのEECS教授陣に加わります。」 AI分野の著名な...

人工知能がその地位を占める中、あなたは仕事を続けることができるでしょうか?

産業革命の重機からデジタルコンピュータ時代、さらに最近では人工知能の急速な発展に至るまで、技術の進歩...

...

...

MITの新世代の昆虫型ドローンは、転がったり、ジャンプしたり、群れをなして飛んだりすることができ、人間の衝撃にも耐えられる。

バイオニック鳥類や昆虫はドローン研究の分野で常に重要なテーマであり、スタンフォード大学の学者が作った...

人工知能とクラウドコンピューティングはアプリケーションエコシステムの形成を加速させている

現在、人工知能は生産性の向上を可能にし、さまざまな産業のインテリジェント化と新旧の運動エネルギーの変...

...

クラウド コンピューティングにおいて人工知能はどのような役割を果たすのでしょうか?

今日のデジタル世界では、人工知能とクラウド コンピューティングが毎日多くの人々の仕事と生活に影響を与...

...

地下鉄乗車時の「顔認識」:AI専門家にとって新たな金鉱

[[276754]]業界のすべての実務者が合意に達することはまれですが、AI業界は例外です。ほぼすべ...

自然言語処理のためのオープンソースツール12選

[[316046]]独自の NLP アプリケーションで使用できる 12 個のツールを見てみましょう。...