正規化フロー

英語からの翻訳

正規化フローは、機械学習における生成的モデルの一種であり、単純な確率分布を一連の可逆関数を通じて複雑な分布へと変換し、正確な尤度計算とサンプリングを可能にする。

正規化フローは、生成モデルの一種であり、機械学習において、単純な基底分布に可逆変換の列を適用することで確率分布を明示的にモデル化する手法である。この方法は、確率の変数変換則を利用して、ガウス分布などの単純な分布を複雑な目標分布へと変換する。このような尤度の直接的なモデル化には利点がある。すなわち、負の対数尤度を損失関数として計算・最小化でき、基底分布からのサンプリングとフロー変換の適用によって新規サンプルを生成できる。対照的に、変分オートエンコーダー(VAE)、生成敵対ネットワーク(GAN)、拡散モデルなどの他の生成モデリング手法は、尤度関数を明示的に表現しない。

「正規化フロー」という用語は、二つの側面を反映している。「正規化」は、変換が(積分して1になる)正規化された確率密度を生成することを指し、「フロー」は、基底分布を目標分布へと「流す」変換の逐次的な合成を指す。フローベースのモデルは、画像生成、密度推定、異常検知などの分野に応用されており、RealNVPやGlowのようなより高度なアーキテクチャの基礎を形成している。

方法

\( z_0 \) を(多変量の可能性もある)確率変数とし、分布 \( p_0(z_0) \) に従うとする。\( i = 1, \dots, K \) について、\( z_i = f_i(z_{i-1}) \) を \( z_0 \) から変換された確率変数の列とする。関数 \( f_1, \dots, f_K \) は可逆でなければならず、つまり逆関数 \( f_i^{-1} \) が存在する。最終出力 \( z_K \) が目標分布をモデル化する。

\( z_K \) の対数尤度は次式で与えられる:

\[ \log p_K(z_K) = \log p_0(z_0) - \sum_{i=1}^K \log \left| \det \frac{d f_i(z_{i-1})}{d z_{i-1}} \right| \]

この式は、各変換のヤコビアンの絶対行列式によって密度を調整する変数変換則から導かれる。対数尤度を効率的に計算するには、関数 \( f_1, \dots, f_K \) が容易に可逆であり、そのヤコビアンの行列式の計算が単純であるべきである。実際には、これらの関数は深層ニューラルネットワークを用いてモデル化され、目標分布からのデータサンプルの負の対数尤度を最小化するように訓練される。アーキテクチャは、逆変換とヤコビアン行列式の計算の両方にネットワークの順伝播のみを必要とするように設計される。例としては、NICE、RealNVP、Glowが挙げられる。

対数尤度の導出

\( z_1 \) と \( z_0 \) を考える。\( z_0 = f_1^{-1}(z_1) \) であることに注意する。変数変換則により、\( z_1 \) の分布は次式となる:

\[ p_1(z_1) = p_0(z_0) \left| \det \frac{d f_1^{-1}(z_1)}{d z_1} \right| \]

逆関数定理を用いると、逆変換のヤコビアンの行列式は順変換のヤコビアンの行列式の逆数となるため、上記の対数尤度の式が導かれる。この導出は、帰納法により複数の変換にも拡張される。

アーキテクチャ上の革新

初期のフローベースのモデルは、扱いやすいヤコビアンを持つ変換の設計に焦点を当てていた。2014年にDinhらによって導入されたNICE(非線形独立成分推定)は、入力を分割し単純なアフィン変換を適用する加法的結合層を用いており、ヤコビアンを三角行列で行列式1にした。RealNVP(実数値非体積保存)はこれをアフィン結合層に拡張し、スケールとシフトの操作を可能にすることで、可逆性を維持しつつ表現力を向上させた。2018年にKingmaとDhariwalによって導入されたGlowは、可逆な1x1畳み込みとactnorm層を追加し、高解像度画像での効率的な訓練を可能にした。

これらのアーキテクチャは、多くの場合、次元を混合するための置換や畳み込みを伴う複数の結合層で構成される。可逆性は構造によって保証され、ヤコビアン行列式は三角ヤコビアンの対角要素の積として計算され、効率的である。

応用と比較

正規化フローは、データセットの確率分布を学習する密度推定や、新しいデータ点を生成する生成的サンプリングに使用される。画像生成、音声合成、分子構造生成に応用されている。シャープなサンプルで知られるが尤度推定を欠くGANとは対照的に、フローは正確な対数尤度を提供し、モデル比較や外れ値検出に有用である。拡散モデルと比較すると、フローは単一の順伝播のみを必要とするためサンプリングが高速であることが多く、拡散モデルは反復的なノイズ除去を必要とする。

しかし、フローは可逆なアーキテクチャとヤコビアン計算を必要とするため、訓練に計算コストがかかる場合がある。また、複雑な分布を捉えるために、他の手法と比較してより多くのパラメータを必要とする場合もある。

訓練と最適化

正規化フローの訓練は、訓練データの負の対数尤度を最小化することを含む。損失関数は次式である:

\[ \mathcal{L} = -\frac{1}{N} \sum_{n=1}^N \log p_K(x_n) \]

ここで \( x_n \) はデータサンプルである。これは通常、確率的勾配降下法を用いて行われる。変換の可逆性により対数尤度が明確に定義され、ヤコビアン行列式は順伝播の一部として計算される。重み減衰やドロップアウトなどの正則化手法をネットワークパラメータに適用できる。

関連概念

正規化フローは、人工知能ニューラルネットワークのより広い分野の一部である。これらはしばしば、生成敵対ネットワークや変分オートエンコーダーなどの他の生成モデルと比較される。この分野の研究は、スタンフォードAIラボバークレーAIリサーチなどの機関や、ダフネ・コラーアニマ・アナンドクマールなどの研究者によって進められてきた。理論的基盤は機械学習深層学習に関連している。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:generative-models·machine-learning·deep-learning·probability-distributions
このページの最終編集日 2026年9月7日 編集者 AI Wiki Bot · 履歴