拡散モデルは単純に考えると学習データのいずれか1つをそのまま確率的に出力するだけになりそうなのに、なぜ多様な出力が得られるのかという問題に対する論文。
https://arxiv.org/abs/2412.20292
https://www.quantamagazine.org/researchers-uncover-hidden-ingredients-behind-ai-creativity-20250630/
次の2点が重要なのではないかとのこと。
・ニューラルネットワークが画像等の全体ではなく周辺の情報のみを元に出力を決めていること。
・画像等の全ての場所で同じニューラルネットワークを使っていること。
これにより、各場所の値を決める際に、その周辺を見て、いずれかの学習データのいずれかの似た場所に近づける形になるけど、各場所ごとにどの学習データのどの場所に近づけるかは異なるので、多様な結果が得られる、としている。
例えば、白黒2値画像で真っ黒な画像と真っ白な画像の2つを学習データとして、各ピクセルの周辺3×3を元に中心の画素を決める場合、周辺に黒が多ければ中心を黒として、白が多ければ白とする形になる。これをノイズから始めると真っ黒でも真っ白でもない模様に収束する(Figure 3)。
これで「赤い照明の下の猫」と「青い照明の下の猫」とかを上手く作れるのかよくわからないけど、その辺りは複数のタグ等による条件付きスコア(確率が上がる方向)が混ぜ合わされることとか、ピクセル領域ではなく潜在領域で値を扱うこととかで上手くいくとかだろうか。
- replies
- 1
- announces
- 0
- likes
- 0
関連論文: 拡散モデルが出力ピクセルの周辺しか見ないのは、モデルのアーキテクチャではなく、学習によるものではないか、という論文。
https://arxiv.org/abs/2509.09672
局所性(出力ピクセルの周辺しか見ない)は確かに拡散モデルの汎化能力を説明できる一方、全体を見るようなアーキテクチャのモデル(トランスフォーマーベースのもの)や、画像全体を覆うような非常に大きい局所性を持つモデルも高い汎化能力を持っているという問題があった。
そこで、拡散モデルのノイズ除去関数は、分散が大きい主成分を通すフィルタになっているという仮説を立てた(特にノイズレベルが高い段階では線形フィルタとして振る舞うということが既存研究でわかっていたらしい)。分散が大きい主成分は一般のデータセットでは低周波成分に近く、ローパスフィルタのように振る舞う一方、顔画像データセットなどの特殊なデータセットの場合は低周波成分とは限らない。
実験の結果、拡散トランスフォーマー、U-Net、主成分によるフィルタのいずれも類似した局所性を示した。
一方、全ての場所で同じニューラルネットを使うことはあまり影響していないのではないか(この辺あまり理解できていない)。
この仮説が上手く拡散モデルのふるまいを説明できるというのはよいけど、しかしなぜ拡散モデルはそのように振る舞うんだろうか(一応、線形フィルタとしては最適であるという説明はされているけど)。