common.title
Cloud support

Nobisuke

Dekisugi

RAG


autoQAOA
RAG for dev
Fortune telling app
Annealing

Community

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

[論文レビュー] 拡散モデルノイズスケジューリングの実装とベンチマーク

Yuichiro Minato

2024/09/07 05:15

On the Importance of Noise Scheduling for Diffusion Models

Ting Chen

Google Research, Brain Team

https://arxiv.org/pdf/2301.10972

こちらを見てみます。拡散モデルについてノイズのスケジューリングパラメータについて考察しています。

この研究では、拡散生成モデルにおけるノイズスケジューリングの影響を分析し、3つの主要な発見を報告しています。まず、ノイズスケジューリングがモデル性能において重要であり、最適なスケジューリングはタスクによって異なることを示しました。次に、画像サイズが大きくなるほど、よりノイズの多いスケジューリングが効果的であることを確認しました。最後に、入力データをスケーリングする単純な戦略が、さまざまな画像サイズにおいて有効であることが示されています。これをRecurrent Interface Network(RIN)と組み合わせることで、アップサンプリングなしで1024×1024の高解像度画像を生成できる最先端のモデルを実現しました。

1. なぜ拡散モデルにおいてノイズスケジューリングが重要なのか?

拡散モデルは、次のようにデータにノイズを付加します:

x_t=\sqrt{\gamma(t)}x_0+\sqrt{1-\gamma(t)}\epsilon

ここで、x_0 は入力例、\epsilon はガウス分布からのサンプル、t は0から1の間の値です。拡散モデルの訓練では、まずtをサンプリングしてx_0x_tに拡散し、ノイズ\epsilonまたはクリーンなデータx_0を予測するノイズ除去ネットワークf(x_t)を訓練します。ノイズスケジュール\gamma(t)は、ネットワークがどのノイズレベルで訓練されるかを決定します。

画像サイズが大きくなると、同じノイズレベルでのノイズ除去が簡単になります。これは、データ内の冗長性(例:近接するピクセルの相関)が増え、元の信号を復元しやすくなるためです。そのため、低解像度で最適なスケジュールは高解像度では最適でない可能性があり、適切に調整しないと特定のノイズレベルで訓練不足になることがあります。

image

引用:https://arxiv.org/pdf/2301.10972

図2: ノイズ付き画像(x_t=\sqrt{\gamma}x_0+\sqrt{1-\gamma}\epsilon\gamma=0.7

2 ノイズスケジュール調整の戦略

拡散モデルに対して2つのノイズスケジュール戦略が検討されています。

2.1 戦略1: ノイズスケジュール関数の変更

最初の戦略は、ノイズスケジュールをコサインやシグモイド関数などの1次元関数でパラメータ化する方法です。さらに、\gamma(t) = 1 - t の簡単な線形スケジュールも提案されています。

アルゴリズム1ではこれらの関数の実装が示され、図3では異なるハイパーパラメータによるノイズスケジュールと対応するlogSNRが視覚化されています。コサインとシグモイド関数はいずれも多様なノイズ分布を生成でき、ノイズの多いレベルに傾ける設定が効果的であると確認されています。

logSNR(信号対雑音比の対数)は、信号の強さとノイズの強さの比率を表す尺度で、拡散モデルにおいて重要な役割を果たします。SNR(信号対雑音比)は、信号のエネルギーとノイズのエネルギーの比率を示し、次のように定義されます:

\text{SNR}=\frac{\text{信号の強さ}}{\text{ノイズの強さ}}

logSNRは、このSNRの対数を取ったものです:

\text{logSNR}=\log\left(\frac{\text{信号の強さ}}{\text{ノイズの強さ}}\right)

logSNRが高い場合、信号の強さがノイズに対して優位であることを意味し、低い場合はノイズが信号に対して優位であることを示します。拡散モデルでは、logSNRがモデルの性能に影響を与えるため、ノイズスケジュールを調整する際にこの値を考慮することが重要です。

image
引用:https://arxiv.org/pdf/2301.10972

2.2 戦略2: 入力スケーリング係数の調整

ノイズスケジュールを間接的に調整するもう一つの方法として、入力 x_0 を定数係数 b でスケーリングする方法があります。これにより、以下のようなノイズ付加処理が行われます。

x_t=\sqrt{\gamma(t)}bx_0+\sqrt{1-\gamma(t)}\epsilon

スケーリング係数 b を小さくすると、ノイズレベルが増加します。

b = \frac{1}{6} の場合、x_0\epsilon と同じ平均と分散を持っていても、x_t の分散が変わることがあり、これが性能低下につながる可能性があります。この場合、分散を固定するために、x_t を係数 \frac{1}{(b^2 - 1)\gamma(t) + 1} でスケーリングすることができます。しかし、実際には、x_t をその分散で単純に正規化して、ノイズ除去ネットワーク f(\cdot) に入力する前に単位分散を持たせると、うまく機能することがわかっています。この分散の正規化操作は、ノイズ除去ネットワークの最初の層としても見なせます。

この入力スケーリング戦略は、上記のノイズスケジュール関数 \gamma(t) の変更に似ていますが、コサインやシグモイドのスケジュールと比較すると、特にtが0に近い場合、logSNRにわずかに異なる効果を与えます(図5参照)。実際、入力スケーリングは、logSNRの形状を変えずにy軸に沿ってシフトする効果があり、これは上で考慮されたノイズスケジュール関数とは異なります。ただし、入力をスケーリングする代わりに、\gamma(t)関数を他の方法でパラメータ化することも可能であり、これは他の研究でも示されています。

image
引用:https://arxiv.org/pdf/2301.10972

2.3 組み合わせたノイズスケジュール戦略の提案

ここでは、\gamma(t) = 1 - t のような単一のノイズスケジュール関数と、入力を係数 b でスケーリングするという2つの戦略を組み合わせることを提案します。以下に、訓練および推論の戦略を示します。

訓練戦略

理論通り組み合わせたノイズスケジュール戦略を拡散モデルの訓練に取り入れています。

推論・サンプリング戦略

訓練時に分散の正規化が使用されている場合、サンプリング時にも同様に使用する必要があります(正規化はノイズ除去ネットワークの最初の層として扱うことができます)。また、t \in [0, 1] の連続的な時間ステップを使用するため、推論時のスケジュールは訓練時と同じである必要はありません。推論時には、0から1の間の時間を指定されたステップ数に均等に分割し、推論時にノイズのレベルを決定するために適切な\gamma(t)関数を選ぶことができます。実際には、標準的なコサインスケジュールがサンプリングにおいて良好に機能することがわかっています。

3 実験

3.1 設定

主に、クラス条件付きのImageNet画像生成に関する実験を行い、評価には一般的な手法に従い、50,000サンプルで計算されたFIDとInception Scoreを指標として使用しました。各サンプルはDDPMの1000ステップで生成されています。

モデル仕様は参考に従いましたが、計算コストを抑えるために、より小さなモデルや短い全体訓練ステップを使用しました(256以上の解像度を除く)。その結果、全体的には性能が低下しましたが、ノイズスケジュールの改善により、低解像度(64×64および128×128)では同等の性能を達成し、高解像度(256×256以上)では大幅に優れた結果を得ることができました。

ハイパーパラメータとしては、LAMBオプティマイザを使用し、\beta_1=0.9\beta_2=0.999、ウェイトデイケイを0.01、自己条件付け率を0.9、EMA(指数移動平均)の減衰率を0.9999に設定しました。表1および表2に主要なハイパーパラメータをまとめています。

image
引用:https://arxiv.org/pdf/2301.10972

拡散モデルの評価におけるFID(Fréchet Inception Distance)は、生成モデルが生成した画像と実際の画像との類似度を定量的に評価するための指標です。具体的には、生成された画像と実際のデータセットの画像を、事前訓練されたInceptionネットワークを使って特徴ベクトルに変換し、その特徴分布間のFréchet距離(2つの正規分布の間の距離)を計算します。

FIDの計算式は次のようになります:

\text{FID} = ||\mu_{\text{real}} - \mu_{\text{generated}}||^2 + \text{Tr}(\Sigma_{\text{real}} + \Sigma_{\text{generated}} - 2(\Sigma_{\text{real}}\Sigma_{\text{generated}})^{1/2})

ここで、\mu_{\text{real}}\mu_{\text{generated}} は実際のデータと生成データの特徴ベクトルの平均、\Sigma_{\text{real}}\Sigma_{\text{generated}} はそれぞれの共分散行列を表します。FIDが小さいほど、生成画像と実際の画像がより似ていることを意味し、モデルの性能が高いとされています。

3.2 戦略1(ノイズスケジュール関数)の効果

入力スケーリングを1に固定した状態で、コサイン、シグモイド、線形ノイズスケジュール関数を比較した結果、最適なスケジュールは画像の解像度によって異なり、調整が難しいことが示されました。

詳しい結果は論文を参照してください。

3.3 戦略2(入力スケーリング)の効果

ノイズスケジュール関数を固定して入力スケーリングを調整したところ、画像解像度が高くなるほど最適なスケーリング係数は小さくなり、性能が向上することが分かりました。また、スケーリング係数のみを調整する方が、ノイズスケジュールを変更するよりも調整が簡単で、効果的であることが確認されました。

3.4 シンプルな複合戦略とRINの組み合わせによる高解像度画像生成

シンプルな複合ノイズスケジュール戦略とRINを組み合わせることで、ピクセルベースの拡散モデルによる高解像度画像生成において最先端の結果が得られました。これは、潜在拡散モデルと異なるアプローチであり、最先端のGANと比べても有効であることが示されています。

結論

512×512の解像度の画像生成で、分類器フリーのガイダンスによりサンプルの品質が向上し、さまざまな解像度で構造がよく保持されていることが確認されました。結論として、ノイズスケジュール戦略は拡散モデルにおいて重要であり、特に新しいタスクやデータセットに対して適切なスケジュールを選ぶことが大切です。

© 2024, blueqat Inc. All rights reserved