common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

HyperDreamBoothを見てみる

Yuichiro Minato

2023/11/24 01:49

Google、キャラ学習手法のDreamBoothを高速・小型化 さらに1枚の学習元から可能にする「HyperDreamBooth」開発 DreamBoothより25倍高速

https://www.techno-edge.net/article/2023/07/17/1603.html

ということで見てみたいと思います。

「DreamBoothの開発元であるGoogle Researchは今回、DreamBoothの良さを維持しつつ高速化させた「HyperDreamBooth」を開発しました。この手法は、1枚の人物画像からパーソナライズされた重みの小さなセットを効率的に生成できるハイパーネットワークとなります。 これらの重みを拡散モデルに合成し、高速な微調整と組み合わせることで、HyperDreamBoothは、高い被写体詳細度で、様々な文脈とスタイルにおける人物の顔を生成できます。」

元々DreamBoothというモデルがあり、それを高速化したのが今回のHYperDramBoothのようです。ということで、まずはDreamBoothを見てみます。

DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation

https://dreambooth.github.io/

「大規模なテキストから画像へのモデルは、与えられたテキストプロンプトから高品質で多様な画像を合成する能力において、AIの進化において顕著な飛躍を達成しました。しかし、これらのモデルは、特定の参照セット内の被写体の外観を模倣し、異なるコンテキストでの新たなレンダリングを合成する能力に欠けています。本研究では、テキストから画像への拡散モデル(Imagenを使用していますが、特定のモデルに限定されていません)を個々のユーザーのニーズに特化させるための新しいアプローチ、「パーソナライゼーション」を提示します。被写体のわずかな画像を入力として与えることで、その特定の被写体に固有の識別子を結びつけるように、事前訓練されたテキストから画像へのモデルを微調整します。被写体がモデルの出力領域に埋め込まれると、その固有の識別子を使用して、参照画像には現れない様々なシーン、ポーズ、視点、照明条件で被写体の完全に新しいフォトリアルな画像を合成することができます。モデルに埋め込まれた意味的な事前情報と新しい自生的なクラス固有の事前情報保存損失を活用することで、当社の技術は、被写体の主要な特徴を保持しながら、被写体の再コンテキスト化、テキストガイドされたビュー合成、外観変更、芸術的なレンダリングなど、これまで不可能だったいくつかのタスクに適用できます。」

ということで、どうやら複数枚の画像を入れて追加学習をするとその画像に合わせて画像生成をパーソナライゼーションさせて特定の画像が出るようにできる機能のようです。ただ、これを学習させるにはファインチューニングが必要なので、数十秒かかるようです。それをかなり高速化したのがHyperDreamBoothですね。

HyperDreamBooth: HyperNetworks for Fast Personalization of Text-to-Image Models

https://hyperdreambooth.github.io/

「生成AIの分野では、個々の人物を多様なコンテキストやスタイルで合成しつつ、彼らのアイデンティティに高い忠実度を保つための「パーソナライゼーション」が顕著な側面として浮上しています。しかし、パーソナライゼーションのプロセスには、時間とメモリの要件という固有の課題があります。各パーソナライズされたモデルの微調整には、かなりのGPU時間が必要であり、被写体ごとにパーソナライズされたモデルを保存することは、ストレージ容量の面で要求が厳しいです。これらの課題を克服するために、私たちはHyperDreamBoothを提案します。これは、人の単一の画像からパーソナライズされた少量の重みを効率的に生成することができるハイパーネットワークです。これらの重みを拡散モデルに組み込み、迅速な微調整と組み合わせることで、HyperDreamBoothは、高い被写体の詳細を保持しつつ、モデルの多様なスタイルや意味的な変更に関する重要な知識も保持しながら、様々なコンテキストやスタイルで人物の顔を生成することができます。私たちの方法は、わずか1枚の参照画像を使用して、DreamBoothと同じ品質とスタイルの多様性で、顔のパーソナライゼーションを約20秒で達成し、DreamBoothよりも25倍速く、Textual Inversionよりも125倍速いです。また、私たちの方法で生成されるモデルは、通常のDreamBoothモデルよりも10000倍小さいです。」

とにかく25倍早いそうです。かつサイズもかなり小さくなるようです。技術的な部分としては、HyperNetworkというのを構築していてそれが効くようです。

「当社のアプローチは、3つのコア要素で構成されています:Lightweight DreamBooth(LiDB)、LiDBの重みを予測するHyperNetwork、およびランクリラックスされた迅速な微調整です。」

「Lightweight DreamBooth(LiDB)の背後にある中心的な考えは、ランク1のLoRA残差の重み空間をさらに分解することです。具体的には、ランク1のLoRA重み空間内のランダム直交不完全基底を使用してこれを行います。以下の図でこのアイデアを説明します。このアプローチは、LoRAのダウン(A)およびアップ(B)行列をそれぞれ2つの行列にさらに分解するとも理解できます。ここで、「Aux」レイヤーは行単位で直交するベクトルでランダムに初期化され、凍結されます。驚くべきことに、a=100およびb=50で、わずか30Kのトレーニング可能な変数を持ち、サイズが120 KBのモデルを得ることができ、被写体忠実度、編集可能性、およびスタイルの多様性を維持しつつ、強力なパーソナライゼーション結果を達成できることがわかります。」

引用:https://hyperdreambooth.github.io/

rank=1の行列の低ランク近似をさらに4つにしたようです。確かに軽くなりますが、調整が大変そうな気はしますが、1.6MBから120KBに容量が減ったそうです。

「HyperDreamBoothのトレーニングと迅速な微調整。フェーズ1:顔画像からネットワーク重みを予測するハイパーネットワークをトレーニングすることで、予測された重みが適用されるとテキストから画像への拡散ネットワークが「a [v] face」という文からその人の顔を出力するようにします。事前に計算されたパーソナライズされた重みをL2損失とバニラ拡散再構築損失を使用して監督します。フェーズ2:顔画像が与えられると、ハイパーネットワークはネットワーク重みの初期推測を予測し、再構築損失を使用して微調整し、忠実度を高めます。」

次はファインチューニングですね。最初はトレーニングを行って、顔画像からネットワーク重みを予測するハイパーネットワークをテキストと画像が対応するようにファインチュー人するようです。二つの損失関数を使うようです。その後、さいどファインチューニングをするようです。

引用:https://hyperdreambooth.github.io/

最後は、

「ハイパーネットワークアーキテクチャ:私たちのハイパーネットワークは、顔画像を潜在的な顔特徴に変換するビジュアルトランスフォーマー(ViT)エンコーダを含み、それらはゼロで初期化された潜在的なレイヤー重み特徴と連結されます。トランスフォーマーデコーダは、連結された特徴のシーケンスを受け取り、デルタ予測で初期重みを洗練することによって、反復的に重み特徴の値を予測します。拡散ネットワークに加えられる最終的なレイヤー重みデルタは、デコーダ出力を学習可能な線形レイヤーを通して得られます。トランスフォーマーデコーダは、拡散ユニットまたはテキストエンコーダーの出力がレイヤーの重みに順次依存しているため、このタイプの重み予測タスクに非常に適しています。つまり、モデルをパーソナライズするためには、異なるレイヤーの重みの間に相互依存性があります。以前の研究では、この依存性はハイパーネットワークで厳密にモデル化されていませんが、位置エンベディングを持つトランスフォーマーデコーダーでは、この位置依存性がモデル化されています - 言語モデルトランスフォーマーの単語間の依存性と同様に。」

どうやらハイパーネットワークは顔の特徴をトランスフォーマーエンコーダに通してとって、それを最終的にデコーダを通じて得られた値を拡散モデルに入力するようです。

細かいところは気になります。拡散モデルの改善は日進月歩なので気になりますが、ざっくり流れは分かりましたので、一旦終わりにしたいと思います。

© 2025, blueqat Inc. All rights reserved