画像生成技術の進化 ~GANからディフフュージョンモデルまで~

画像生成技術の進化 ~GANからディフフュージョンモデルまで~
Photo by Rock'n Roll Monkey / Unsplash

こんにちは!株式会社Qualiteg研究部です!

今日は画像生成技術について投稿いたします。

みなさまご存じの通り人工知能による画像生成技術は、過去10年間で急速な進化を遂げました。

今年は2024年。ちょうど2014年に「GAN」がでて10年です。


テキスト系生成AIの勢いがすごい昨今ですが、画像生成AI、超解像AIからの動画生成AIなどコンピュータビジョンかいわいも大きく進化を遂げていますね。

本記事では、主にGenerative Adversarial Networks (GAN)とディフフュージョンモデルに焦点を当て、画像生成技術の歴史的な発展を振り返ります。特に、これらの技術が画像生成と超解像の分野でどのように応用されてきたかを詳しく見ていこうとおもいます。

ブログ本編の前に! ダイジェスト動画あります!

本ブログのダイジェストを以下の動画で語っておりますので、よろしかったらこちらもご覧くださいませ!

GANとディフュージョンモデル

GANとは

GAN(Generative Adversarial Network)は、2014年にIan Goodfellow(イアン・グッドフェロー)氏らによって提案された深層学習モデルです。氏は、Google Brain(英語: Google Brain)を経て2019年3月よりAppleの機械学習研究チームにいるらしいですね。

GANは以下の2つの主要な要素から構成されています

  1. Generator(生成器)
    ランダムなノイズから、本物らしいデータ(例:画像)を生成します。
  2. Discriminator(識別器)
    与えられたデータが本物か偽物(Generatorが生成したもの)かを識別します。

GANの学習プロセスは、GeneratorとDiscriminatorが互いに競争しながら進行します:

  • Generatorは、Discriminatorを騙すようなデータを生成しようと努めます。
  • Discriminatorは、本物のデータとGeneratorが生成したデータを区別しようと努めます。

この敵対的な学習過程を通じて、Generatorは徐々に本物のデータに近い、高品質なデータを生成できるようになります

GANの主な特徴

  • 高品質で多様なデータ生成が可能
  • 教師なし学習の一種として機能
  • 様々な応用(画像生成、スタイル転送、超解像など)が可能

つぎはディフュージョンモデルをみてみましょう

ディフフュージョンモデル

ディフフュージョンモデルは、2015年に基礎理論が提案され、2020年頃から画像生成分野で注目を集めるようになりました。

理論自体はGANに近いときに既に考え出されてたんです。

  1. 逆拡散過程
    ノイズから徐々に画像を生成する過程を学習します。
  2. スコア関数
    画像の確率密度の勾配(スコア関数)を直接モデル化します。

ディフフュージョンモデルの学習プロセス

  • 画像にノイズを少しずつ加えていく過程(順拡散過程)をシミュレートします。
  • その逆過程(逆拡散過程)をモデル化し、ノイズ除去の方法を学習します。

ディフュージョンモデルは、画像空間上の確率密度関数p(x)を直接モデル化するのではなく、スコア関数s(x) := ∇x ln p(x)を学習します。このアプローチには以下の利点があります

  1. 正規化の不要性
    p(x)の代わりにC・p(x)を用いることができ、定数Cの具体的な値は計算に影響を与えません。
  2. 局所的な比較
    近傍画像との確率比較が容易になります。

スコア関数の学習は、noising-denoisingプロセスを通じて行われます。このプロセスでは、画像にガウス雑音を加え、その雑音を除去する過程を学習します。

ディフュージョンモデルの主要な変種

  1. 分類器誘導
    • 条件付き画像生成を実現
    • ベイズの定理を用いてp(x|y) ∝ p(y|x)p(x)を導出
  2. 温度の導入
    • 逆温度βを用いて生成画像の品質を制御
    • βが大きいほど、最尤推定値に近い画像を生成
  3. 分類器フリー誘導(CFG)
    • 外部分類器なしで条件付き生成を実現
    • モデル自体から分類器を抽出

GANとディフフュージョンモデルの比較

GAN ディフフュージョンモデル
基本構造 Generator と Discriminator の2つのネットワーク 単一のノイズ除去ネットワーク
学習プロセス 敵対的学習(2つのネットワークの競争) 逆拡散過程の学習(段階的なノイズ除去)
生成プロセス ノイズから一度に画像を生成 ノイズから徐々に画像を形成
学習の安定性 やや不安定(モード崩壊などの問題あり) 比較的安定
生成速度 速い 遅い(多段階のプロセスが必要)
多様性 モード崩壊の問題あり 高い多様性を実現しやすい
制御性 条件付けが比較的難しい 生成過程の各段階で柔軟な制御が可能

GANとディフュージョンモデルは、どちらも画像生成の分野で革新的な技術ですが、そのアプローチと特性には大きな違いがあります。

GANは、GeneratorとDiscriminatorという2つのネットワークが競争しながら学習を進める「敵対的学習」を特徴としています。この方式により、GANは高速な画像生成と鮮明な結果を実現しています。しかし、学習が不安定になりやすく、生成される画像の多様性が制限される「モード崩壊」という問題も抱えています。

一方、ディフュージョンモデルは単一のノイズ除去ネットワークを使用し、ノイズから画像へと徐々に変換していく過程を学習します。このアプローチにより、学習がより安定し、高い多様性を持つ画像を生成しやすいという特徴があります。また、生成過程の各段階で細かい制御が可能なため、テキストから画像を生成するなど、より複雑なタスクに適応しやすい面もあります。ただし、多段階の生成プロセスのため、GANと比べて画像生成に時間がかかり、より多くの計算リソースを必要とします。

GANとディフフュージョンモデルの進化

では、GANとディフフュージョンモデルの主要な進展を時系列でみてみましょう。

GAN ディフュージョンモデル
2014 - GANの提案 (Ian Goodfellow et al.)
- Conditional GANの登場
2015 - DCGANの開発 - 非平衡熱力学を応用した基礎理論の提案 (Jascha Sohl-Dickstein et al.)
2016 - VGANの提案
- SeqGANの開発
2017 - CycleGANの登場
- Wasserstein GANの提案
- StackGANの開発
- SRGANの提案(超解像)
2018 - ProGANの開発
2019 - StyleGANの登場 - DDPMの提案
2020 - DDPMの改良 (Jonathan Ho et al.)
2021 - GLIDEの開発 (OpenAI)
- SR3の提案(超解像)
2022 - Stable Diffusionの公開

GANとディフュージョンモデルの進化は、画像生成技術の発展を如実に示しています。

GANは2014年にIan Goodfellowらによって提案され、画像生成の分野に革命をもたらしました。翌2015年にはDCGANが登場し、より安定した学習と高品質な画像生成を実現しました。2017年には画像変換を可能にするCycleGAN、学習安定性を向上させたWasserstein GAN、そして超解像技術のSRGANが登場し、GANの応用範囲が大きく広がりました。2018年にはProGANが高解像度画像の生成を可能にし、2019年のStyleGANは多様なスタイルと特徴を持つ画像生成を実現しました。

一方、ディフュージョンモデルは2015年に非平衡熱力学を応用した基礎理論が提案されましたが、画像生成分野で注目を集めるまでにはしばらく時間がかかりました。2019年にDDPM(Denoising Diffusion Probabilistic Models)が提案され、2020年にはJonathan Hoらによってさらに改良されました。2021年にはOpenAIがGLIDEを開発し、テキストから画像を生成する能力が大幅に向上しました。また同年、超解像技術のSR3も提案されました。2022年には、Stability AIによるStable Diffusionの公開により、高品質な画像生成が一般にも利用可能になりました。

この間、GANは早くから高品質な画像生成を実現し、多様な応用を見せました。一方、ディフフュージョンモデルは後発ながら、安定した学習と高い制御性を武器に急速に発展し、近年では画像生成の主流となりつつあります。両技術とも、テキストから画像生成や超解像など、より複雑なタスクへの挑戦を続けており、今後もさらなる進化が期待されています。

「超解像」技術と進化

超解像は、低解像度の画像から高解像度の画像を生成する技術です。
GANとディフュージョンモデルの両方が、この分野でも重要な役割を果たしていますので、そちらもみていきましょう。

なぜ超解像が必要なのか

超解像技術が重要視される理由は複数あります。

  1. 既存の低解像度画像の品質向上
    古い写真やビデオ、低品質なデジタル画像を高解像度化し、詳細を復元することができます。
  2. ハードウェアの制限の克服
    カメラやセンサーの物理的制限により得られる低解像度画像を、ソフトウェア的に高解像度化することが可能です。
  3. データ転送と保存の効率化
    低解像度で転送・保存し、必要に応じて高解像度に変換することで、ネットワークやストレージの負荷を軽減できます。
  4. 機械学習モデルの出力拡大
    多くのvggなど画像生成モデルは、計算効率の観点から224x224ピクセルのような比較的小さなサイズの画像で学習されています。これらのモデルを実際の動画や大型ディスプレイ用の画像生成に使用する場合、生成された画像を拡大する必要があります。この拡大プロセスで超解像技術が重要な役割を果たします。

動画向け時系列超解像の技術開発

近年、動画コンテンツの需要増加に伴い、動画向けの時系列超解像技術の開発が盛んになっています。この技術は、単に各フレームを個別に超解像するのではなく、フレーム間の時間的な連続性を考慮して高品質な動画を生成することを目指しています。

  1. フレーム間の一貫性維持
    時系列超解像では、隣接するフレーム間の一貫性を保ちながら各フレームを超解像することが重要です。これにより、ちらつきやアーティファクトのない滑らかな動画を生成できます。
  2. 動き補償と推定:
    物体の動きを正確に推定し、それに基づいてフレーム間の情報を適切に統合することで、より精細で自然な動きを再現します。
  3. 時空間的な特徴抽出
    3次元畳み込みニューラルネットワークや再帰型ネットワークを用いて、時間軸も含めた特徴抽出を行い、より豊かな時空間的情報を活用します。
  4. リアルタイム処理への挑戦
    動画のストリーミングやライブ配信に対応するため、リアルタイムで動作する高速な時系列超解像アルゴリズムの開発が進められています。
  5. 長期的な時間依存性の考慮
    長い時間スケールでの一貫性を保つため、より広い範囲のフレームを考慮に入れた超解像手法の研究も行われています。

最新の研究動向

  1. TecoGAN (Temporally Coherent GAN)
    時間的一貫性を維持しながら高品質な動画超解像を実現するGANベースのモデルです。フレーム間の滑らかな遷移と細部の保持を両立しています。
  2. EDVR (Enhanced Deformable Convolutional Networks)
    複数のフレームを同時に処理し、フレーム間のアライメントを行うことで高品質な動画超解像を実現しています。
  3. BasicVSR++
    双方向伝播と変形可能な畳み込みを組み合わせ、長期的な時間依存性を考慮した動画超解像を可能にしています。
  4. RSTT (Recurrent Structure-Texture Learning)
    構造情報とテクスチャ情報を分離して学習し、時間的一貫性を保ちながら細部まで鮮明な動画超解像を実現しています。
  5. ディフュージョンモデルの応用: 最近では、画像生成で成功を収めているディフュージョンモデルを動画超解像に応用する研究も始まっています。時間的一貫性を保ちながら、高品質で多様な結果を生成できる可能性が注目されています。

これらの技術開発により、動画の品質向上だけでなく、VRやAR、医療画像処理、監視カメラ映像の分析など、幅広い分野での応用が期待されています。また、5G、IOWN(アイオン)など高速通信技術の普及をみすえ、低解像度で効率的に動画を転送し、受信側で超解像する新たな動画配信モデルの可能性も示唆されています。

時系列超解像技術は、単なる画質向上にとどまらず、動画コンテンツの新たな可能性を切り開く重要な技術として、今後もさらなる発展が期待されるでしょう。

GANを用いた超解像

モデル 特徴
SRGAN (2017) - GANを用いた初期の超解像モデル
- 知覚損失を導入し、自然でシャープな画像生成を実現
ESRGAN - SRGANの改良版
- Residual-in-Residual Dense Blockを採用
- より細部まで再現できる高品質な超解像を実現
Real-ESRGAN - ESRGANをさらに改良
- データ劣化モデルを導入し、汎化性能を向上
- 実世界の低品質画像に対しても効果的

ディフフュージョンモデルを用いた超解像

モデル 特徴
SR3 (2021) - 段階的な精緻化プロセスを採用
- 高品質な超解像結果を生成
Stable Diffusion - 画像生成と超解像の両方に応用可能
- 潜在空間での操作により効率的かつ高品質な超解像を実現
Imagen - Googleが開発したテキストから画像生成モデル
- 超解像にも応用可能で、高解像度の画像生成を実現

GANとディフフュージョンモデルの比較

GAN ディフフュージョンモデル
利点 - 高速な推論
- シャープな画像生成
- 超解像タスクでの優れた性能
- 安定した学習
- 高い多様性
- 柔軟な制御
- ノイズ除去プロセスによる元画像構造の保持
- 超解像での自然な結果
課題 - 学習の不安定性
- モード崩壊
- 生成速度が比較的遅い
- 計算コストが高い

今後の展望

画像生成技術は急速に進化を続けており、以下のような分野で今後はさらなる高品質化、多様化、そして他のAI技術との統合が期待されています。

  1. マルチモーダル生成
    テキスト、音声、動画を組み合わせた総合的な生成
    以下の動画でもふれていますが、最終的にはE2E学習が主流になるとおもわれます。

  1. インタラクティブな生成
    ユーザーの入力に応じてリアルタイムで画像を生成・編集
  2. 倫理的な配慮:デープフェイクなどの悪用防止と、著作権問題への対応
  3. 計算効率の向上:より少ないリソースで高品質な生成を可能にする技術の開発
  4. 理論的な理解の深化:ディフフュージョンモデルの数学的基礎のさらなる解明
  5. 超解像技術の更なる進化:より高い拡大率と品質の両立

結論

GANからディフフュージョンモデルまで、画像生成技術は過去10年間で驚異的な進歩を遂げました。
特にディフフュージョンモデルは、その数学的基礎と柔軟な制御性により、画像生成と超解像の新たな標準となりつつあります。

これらの技術は、芸術、エンターテインメント、科学研究など、様々な分野に革新をもたらしています。

超解像技術においては、GANベースのモデルが長らく主流でしたが、最近ではディフフュージョンモデルを用いたアプローチも注目を集めています。両者のアプローチは、それぞれ異なる特性を持ち、用途に応じて選択されています。

今後も技術の進化と新たな応用分野の開拓が期待される一方で、倫理的な課題にも注意を払う必要があります。画像生成技術は、人間の創造性を拡張し、新たな表現の可能性を開く強力なツールとして、今後も積極的に活用していきたいとおもいます!

Read more

【解説】Tekken トークナイザーとは何か? 〜 Mistral が採用する新世代トークナイザーの特徴

【解説】Tekken トークナイザーとは何か? 〜 Mistral が採用する新世代トークナイザーの特徴

こんにちは! 本日は、Tekkenについて解説いたします! 皆さま Tekken と聞いて何を思い浮かべますか? 格ゲーの鉄拳でしょうか? 私は、昔プレイした Age of Empires に登場する鉄剣戦士を思い浮かべました🤗 ちょっと古いかもしれませんが、名作です! さてつかみはこのくらいにして、、 LLMはご存じのとおり驚異的なスピードで進化しています。そんな中でひそかに注目されているのが、トークナイザーの改善です。 たとえば、Meta の Llama 系モデルのトークナイザーは Sentence Piece から BPE系へ進化するなど、LLM業界では従来よりも高効率なトークナイズ(テキスト分割)の方法を導入し始めています。 そして Mistral AI もまた、新たに「Tekken トークナイザー」という仕組みを採用し、大規模言語モデルの性能を底上げしています。 本記事では、Tekken トークナイザーの登場背景や技術的特徴、他のトークナイザーとの違い、さらには Mistral との関係などをわかりやすく解説していきます。 1. Tekken トーク

By Qualiteg プロダクト開発部
[AI新規事業創出]Qualitegオリジナル、アイディア評価、事業アイディア選定方法

[AI新規事業創出]Qualitegオリジナル、アイディア評価、事業アイディア選定方法

Qualiteg blogを訪問してくださった皆様、こんにちは。Micheleです。AIを活用した新規事業やマーケティングを手がけている私には、クライアントからよく寄せられる質問があります。AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、このブログを通じて私なりの解答をご提供したいと思います。 はじめに AI技術の急速な発展は、スタートアップから大企業まで、あらゆるビジネスに新たな可能性をもたらしています。クライアントとの会話の中でも、AIを活用した革新的な事業アイディアに関する相談が増えています。 しかし、多くの企業が「素晴らしいアイディアを思いついた!」と興奮しながらも、そのアイディアを具体化し、成功に導くための方法論に悩んでいるのも事実です。特にAIを用いた事業展開においては、従来のビジネスモデルとは異なる視点が必要となるため、その難しさはさらに増します。 本記事では、Qualitegオリジナルのアイディア評価、事業アイディア選定方法について解説します。特に、AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、

By Join us, Michele on Qualiteg's adventure to innovation
日本語対応!Mistral Small v3 解説

日本語対応!Mistral Small v3 解説

こんにちは! Mistral AIは2025年1月30日、新しい言語モデル「Mistral Small v3」を発表しました。このモデルは、24Bという比較的小規模なパラメータ数ながら、70B以上の大規模モデルに匹敵する性能を実現しています。また日本語対応も謳われており期待の高い小型モデルです! https://huggingface.co/mistralai/Mistral-Small-24B-Instruct-2501 動画 こちら本ブログの解説動画もご覧いただけます😊 きわだってるのは、レイテンシー最適化 Mistral Small 3のめだった特徴は、その処理性能とレイテンシーの絶妙なバランスではないでしょうか。 公開されている以下の性能評価のグラフによると、トークンあたり約11ミリ秒という業界最速レベルのレイテンシーを達成しています。これは、Qwen-2.5 32Bの約15ミリ秒やGemma-2 27Bの約14ミリ秒と比較して、明確な優位性を示しています。さらに注目すべきは、GPT-4o Miniと比較しても、より低いレイテンシーで同等以上の性能を実現し

By Qualiteg プロダクト開発部
[vLLM] To use CUDA with multiprocessing, you must use the 'spawn' start method の対処法

[vLLM] To use CUDA with multiprocessing, you must use the 'spawn' start method の対処法

WSLで vLLM を使用するとき、 tensor parallel を使って複数枚のGPUで1つのLLMをサーブしようとしたとき以下のようなエラーが発生しがちです RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method 遭遇するシーンとしてはvLLMの起動オプションに以下のようにテンソル並列化オプションを指定したときです。 --tensor-parallel-size 2 つまり、マルチプロセッシングでCUDA使うときは、 "fork"じゃなくて"spawn" 使ってね、というエラーです。 これを vLLM に教えるために、以下の2行目のように環境変数を設定してあげるとvLLMが "spawn" を使ってくれるようになります。 export

By Qualiteg プロダクト開発部