８．論文調べ６　Understanding Diffusion Models :A Unified Perspective　拡散モデルの理解：統一された視点

# 今日の論文調べです
論文調べ６日目です。
今日は拡散モデル（Diffusion Model）についての基礎的な（筆者としては難しかった）内容です。

## 手法
論文をperplexityで調べて、PDFをChatPDFに突っ込みます。
論文本文は英語版とDeepLで翻訳した日本語版を保存しときます。
ChatPDFが出した要約をまとめます。
要約の中のわからない単語や追加の質問などをChatGPTに聞きます。
これらをWordにまとめて保存、Qiitaに投稿します。

# 今日の論文
日時：2023/04/24
論文名： Understanding Diffusion Models :A Unified Perspective
	拡散モデルの理解：統一された視点
出典： Calvin Luo, Google Research, Brain Team calvinluo@google.com August26,2022
url:https://github.com/heejkoo/Awesome-Diffusion-Models#survey

# 論文内容
【イントロダクション】
　関心のある分布から観測されたサンプルxが与えられたとき、生成モデルの目標は、その真のデータ分布p(x)をモデル化するように学習することである。一度学習すれば、近似モデルから自由に新しいサンプルを生成することができる。さらに、ある定式化のもとでは、学習したモデルを用いて観測データやサンプリングデータの尤度も同様である。
　現在の文献にはいくつかのはやりの方向性があり、ここでは高いレベルで簡単に紹介するにとどめる 。生成逆説ネットワーク（GAN）は、複雑な分布のサンプリング手順をモデル化し、逆説的に学習するものである。尤度(ゆうど)ベースと呼ばれる生成モデルの別のクラスは、観測されたデータサンプルに高い尤度を割り当てるモデルを学習しようとするものである。これには、自己回帰モデル、正規化フロー、バリエーションオートエンコーダ（VAE）などがある。また、類似のアプローチとして、エネルギーベースモデリングがあり、分布を任意に柔軟なエネルギー関数として学習し、それを正規化するものである。
　スコアベースの生成モデルは、エネルギー関数そのものをモデル化して学習するのではなく、エネルギーベースのモデルのスコアをニューラルネットワークとして学習するものであり、非常に関連 性の高いモデルである。この研究では、尤度ベースとスコアベースの両方の解釈を持つ拡散モデル を探求し、レビューします。拡散モデルとは何か、どのように機能するのか、誰もが理解できるよ うに、このようなモデルの背後にある数学を詳しく紹介します。

## 要約内容
【論文要約】
拡散モデルとその様々な応用について包括的に解説しています。

## 要点
### １．Evidence Lower Boundとは何か、拡散モデルとの関係は？
A. Evidence Lower Bound (ELBO)は、生成モデルにおける重要な概念である。拡散モデルの文脈では、ELBOは、すべての観測データの尤度を最大化することによって、モデルパラメータを最適化するために使用されます。具体的には、マルコフ型階層的変分オートエンコーダの特殊なケースとして変分拡散モデル（VDM）が導かれ、3つの重要な仮定によりELBOの扱いやすい計算とスケーラブルな最適化が可能になる。これについては22ページで説明し、2ページで簡単に触れています。

### ２．変分オートエンコーダと階層的変分オートエンコーダの違いは？
A. 変分オートエンコーダVariational Autoencoders（VAE）は、ニューラルネットワークを使用して入力データの圧縮表現を学習する生成モデルの一種です。入力データを潜在空間にマッピングするエンコーダーネットワークと、潜在空間を元のデータ空間にマッピングするデコーダーネットワークで構成されています。VAEは、データの対数尤度の下界であるEvidence Lower Bound（ELBO）を最大化することで学習される。
階層型変分オートエンコーダ（HVAE）は、VAEを拡張したもので、潜在変数に複数の階層を持たせることができる。HVAEでは、潜在変数そのものが、より上位の、より抽象的な潜在変数から生成されたものとして解釈されます。これにより、入力データのより複雑で構造化された表現が可能になる。HVAEもELBOを最大化することで学習しますが、階層構造を考慮するために項を追加しています。

### ３．Variational Diffusion Modelsと他のスコアベース生成モデルの違いは？
A. 変分拡散モデルVariational Diffusion Models (VDM)は、スコアベース生成モデルの一種で、ニューラルネットワークを使用して、任意のノイズレベルでノイズ化した画像のスコア関数を学習します。これは、スコアベース生成モデル [9, 10, 11] などの他のスコアベース生成モデルとは異なり、スコア関数が一体何なのか、なぜそれがモデル化する価値があるのかという直感や洞察を提供するものである。しかし、VDMは同等のスコアベース生成モデリングの定式化を持ち、これら2つの解釈を柔軟に切り替えることができる。これについては、17ページで説明する。

## 重要単語
1.	尤度
2.	生成逆説ネットワーク（GAN）
3.	自己回帰モデル
4.	正規化フロー
5.	スコア関数
6.	変分オートエンコーダ（VAE）
7.	エネルギーベースモデリング
8.	Evidence Lower Bound (ELBO)
9.	マルコフ型階層的変分オートエンコーダ
10.	変分拡散モデル（VDM）
11.	圧縮表現
12.	潜在空間
13.	エンコーダーネットワーク
14.	対数尤度
15.	ノイズレベル
16.	定式化
17.	近似変分分布
18.	モンテカルロ推定
19.	多変量ガウス（the multivariate Gaussian）
※途中まで読めたところまでの単語をまとめているので、これですべてではないです。

## ChatGPTに聞いてみた
1.	尤度 尤度は、観測されたデータが与えられた下で、パラメータの値がどの程度データを説明できるかを表す関数です。尤度はパラメータの関数として定義され、パラメータがどのような値をとるときに観測されたデータが最も起こりやすいかを示します。尤度を最大化することで、最も良いパラメータ値を推定することができます。

2.	生成逆説ネットワーク（GAN） 生成逆説ネットワーク（GAN）は、ディープラーニングの一種で、二つのニューラルネットワークを対戦させて生成モデルを学習させる手法です。一方のネットワークは生成器として、ランダムノイズからサンプルを生成し、もう一方のネットワークは識別器として、生成されたサンプルと本物のサンプルを区別します。これにより、生成器は識別器を騙すようなサンプルを生成し、識別器は本物と偽物を見分ける能力を向上させることで、より良い生成モデルを学習します。

3.	自己回帰モデル 自己回帰モデルは、ある系列データの値を予測するために、前の時点の値を入力として使用するモデルです。つまり、系列データを順番に処理し、前の時点の値を考慮しながら、新しい値を予測します。自己回帰モデルは、系列データに対して高い精度を発揮し、自然言語処理や音声認識などの分野で広く使用されています。

4.	正規化フロー 正規化フローは、変数の分布を変換するモデルであり、特定の分布に近づけることができます。通常、変数は対数変換され、連続的に変換されることで、分布を正規分布や一様分布に変換することができます。正規化フローは、生成モデルや変数の前処理に使用されます。

5.	スコア関数 スコア関数は、確率密度関数の対数関数の対数を取ったものであり、確率密度関数の微分を表します。スコア関数は、密度関数の局所的な形状を表現するために使用され、密度関数のピークや谷を検出することができます。スコア関数は、密度推定やデータ生成に使用されることがあります。

6.	変分オートエンコーダ（VAE） 変分オートエンコーダ（VAE）は、生成モデルの一種で、潜在空間の変数を学習することによって、データの生成や圧縮表現を行います。VAEは、エンコーダーとデコーダーの2つのニューラルネットワークで構成されます。エンコーダーは、入力データを潜在空間に写像し、デコーダーは、潜在空間の変数から元の入力データを再構築します。VAEは、潜在空間の変数に対して事前分布を仮定し、変分推論によって潜在空間の変数をサンプリングすることができます。

7.	エネルギーベースモデリング エネルギーベースモデリングは、系の状態をエネルギーの形で表現し、エネルギーが最小になる状態が最も確率的に起こりやすい状態であると仮定するモデリング手法です。エネルギーベースモデリングは、グラフィカルモデルやニューラルネットワークを用いて実現され、ボルツマンマシンや受容野フィールドなどのモデルがあります。

8.	EVIDENCE LOWER BOUND (ELBO) エビデンス下限値（ELBO）は、変分推論において、真の事後分布と変分分布の間の距離を評価するために使用される関数です。ELBOは、真の事後分布についての情報が不足しているため、その下限値しか提供しませんが、変分推論において重要な役割を果たします。

9.	マルコフ型階層的変分オートエンコーダ マルコフ型階層的変分オートエンコーダ（MVAE）は、複数の変分オートエンコーダを階層的に組み合わせ、モデルの表現力を向上させるための手法です。MVAEでは、各階層の変分分布を学習することで、より高次元の潜在表現を獲得することができます。また、各階層の変分分布は、前の階層の変分分布からサンプリングされることで、生成過程を制御することができます。

10.	変分拡散モデル（VDM） 変分拡散モデル（VDM）は、確率密度関数の拡散方程式を変分推論によって解くことによって、データの生成や密度推定を行うモデルです。VDMでは、確率密度関数を拡散方程式によって時間発展させ、それを制御する変分パラメータを学習することによって、データの生成や密度推定を行います。

11.	圧縮表現 圧縮表現とは、高次元のデータを低次元の潜在空間に写像することで、データの情報を抽出する手法です。圧縮表現を用いることにより、データの次元を削減することができ、計算効率の向上や可視化の容易化などのメリットがあります。

12.	潜在空間 潜在空間とは、データの特徴量を抽象的な空間上の座標として表現したもので、データの圧縮表現や生成モデルの潜在変数として使用されます。潜在空間は、低次元でありながら、元のデータの特徴を保持するように設計されています。

13.	エンコーダーネットワーク エンコーダーネットワークは、入力データを潜在空間に写像するためのニューラルネットワークです。エンコーダーネットワークは、データの次元削減や圧縮表現の生成などに使用されます。

14.	対数尤度 対数尤度は、データの尤度の対数を取ったものであり、最尤推定などの統計的手法で使用されます。対数尤度は、データが与えられたときに、モデルがそのデータを生成する確率を表します。

15.	ノイズレベル ノイズレベルとは、データに含まれるノイズの強さや割合を表す指標です。ノイズレベルが高い場合、データの分布を正確にモデル化することが困難になるため、適切な前処理やモデルの設計が必要になります。

16.	定式化 定式化とは、問題を数学的に表現することです。機械学習においては、データの生成過程や尤度関数などを定式化することが必要になります。

17.	近似変分分布 近似変分分布は、真の事後分布を解析的に求めることが困難な場合に、近似的に求めるために用いられる手法です。近似変分分布では、真の事後分布に近い形の分布を仮定し、そのパラメータを学習することで、事後分布を近似的に求めます。

18.	モンテカルロ推定 モンテカルロ推定は、確率分布の平均値や積分値を、乱数を用いて近似的に求める手法です。モンテカルロ推定は、確率的な問題に対して有効であり、変分推論やベイズ推論などの確率的手法においても利用されます。

19.	多変量ガウス（THE MULTIVARIATE GAUSSIAN） 多変量ガウスは、多次元空間における連続的な確率分布を表す確率密度関数の一種であり、正規分布とも呼ばれます。多変量ガウスは、平均値と共分散行列によって特徴付けられます。多変量ガウスは、機械学習や統計学において広く用いられる確率分布であり、変分推論やEMアルゴリズムなどにおいても重要な役割を担います。

# わかったこと
・AIを気軽に使っている後ろ側では、かなり難しい仕組みが動いていることが分かった。
・統計や数学に関する知識が足りな過ぎて、何を書いているかがわからん。

# 感想
６日までできました。論文や学術的な資料を読むのは楽しいですが、内容が難しいと読むのが大変でギブアップしてしまいます。勉強が足りん！