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

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

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

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

李徳義:自動運転のバブルを破るには、技術、市場、エコロジー、コストを無視することはできない

[[277858]] 「自動運転は長い間宣伝されてきたが、なぜ一般の人々は自動運転車に乗らないのか?...

...

キャッシュ除去アルゴリズムLRU実装原理についてお話しましょう

[[315530]] 01. はじめにデータのクエリ速度を向上させるために、キャッシュがよく使用され...

人工知能医療機器業界は前進する

[[443093]]新世代の人工知能技術の台頭は、医療業界にインテリジェント変革を実現するための新た...

X-Dreamerは2Dと3D生成のギャップを埋め、高品質のテキストから3D生成を実現します。

近年、事前学習済みの拡散モデル[1, 2, 3]の開発により、テキストから3Dコンテンツへの自動作成...

iOS の位置決めと座標系アルゴリズム

この話題を始める前に、もう一度皆さんの無知を解明させてください。私が解明したいのは、座標系についての...

...

...

このガイドを理解することで、ニューラルネットワークの「ブラックボックス」をマスターすることができます。

「人間のニューラルネットワークはどのように機能するのか?」この質問は多くのデータ サイエンティスト...

Nvidiaは写真編集ソフトウェアGANを

[[438694]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

資本から絶大な支持を受ける人工知能が、なぜ金融分野で壁にぶつかっているのか。

マーフィー著昨年のAlphaGo、今年のLibratusと、さまざまな業界で「人工知能」のトレンドが...

...

GPT-4V オープンソース代替品!清華大学と浙江大学は、LLaVAやCogAgentなどのオープンソースの視覚モデルの爆発的な普及を先導した。

現在、GPT-4 Vision は言語理解と視覚処理において並外れた能力を発揮しています。ただし、パ...

清華大学がLLM4VGベンチマークを開発:LLMビデオタイミングポジショニングパフォーマンスの評価に使用

12月29日、大規模言語モデル(LLM)は、単純な自然言語処理から、テキスト、オーディオ、ビデオなど...