拡散モデルは単純に考えると学習データのいずれか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
- 0
- announces
- 0
- likes
- 0