PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Diffusion modelの「積分」を学習する? Flow maps入門

まずこの記事のキーポイント

diffusion modelは「逆再生」ではなく「道案内」

image_0001.jpg

diffusion modelに慣れていない人向けに、まず超ざっくり言うと、これはノイズだらけの状態から、だんだん元のデータらしい形に戻すモデルです。
たとえば画像生成なら、最初はただのガウスノイズから始めて、少しずつノイズを取り除いていきます。

元記事で面白いのは、この過程を「単にノイズを消す作業」としてではなく、​入力空間の中にある1本の道をたどる作業として捉えていることです。
しかも、その道はただの一本道ではなく、​ノイズ側のサンプルとデータ側のサンプルが1対1で結ばれた、交差しない軌道としてイメージされています。

この見方はかなり重要だと思います。
なぜなら、diffusion modelは「各時刻で次の方向を少し予測する」ものですが、実はその背後に、​最初から最後までつながった経路があるからです。
元記事のタイトルにある “integral” は、まさにその「小さな変化を積み上げて、全体の移動を得る」感じを指しています。数学っぽく言うと積分ですが、直感的には細かい歩数を全部足し合わせてゴールまで行くイメージです。

image_0002.jpg

stochastic sampling と deterministic sampling の違い

元記事はまず、samplingの方法を2つに分けています。

image_0003.jpg

1. stochastic sampling

こちらは毎回ランダム性が入るやり方です。
DDPMのように、少しずつノイズを減らしながら進む途中で、毎ステップ「確率的に」次の状態を選びます。

イメージとしては、霧の中を地図なしで進むけれど、毎回少し揺れながら歩く感じです。
軌跡はギザギザになりやすいです。

2. deterministic sampling

こちらはランダムに選ばず、ルール通りに進むやり方です。
最初にノイズを与えたら、その後はモデルの予測に従って一意に進みます。
DDIMやODEベースのsampling、Flow Matchingの標準的なsamplingがここに入ります。

image_0005.png

こっちはイメージとしては、同じスタート地点からなら必ず同じゴールへ到着するルート案内です。
軌跡はなめらかで、だいぶ「走りやすい」感じになります。

元記事で強調されているのは、​どちらの方法でも、各時刻の分布そのものは保たれるという点です。
つまり、途中途中で見たときの「ノイズの混ざり具合」は同じでも、​個々のサンプルがどういう道を通るかは全然違う、というわけです。

これ、地味ですがかなり本質的です。
外から見ると同じ結果でも、内部の動きはまったく別物。機械学習はこういうところが本当に面白いと思います。

image_0006.png

「このノイズは、どのデータに対応するの?」が決まる

deterministic samplingがある、ということは、非常に大きな意味を持ちます。
それはつまり、​ノイズ側の1つの点と、データ側の1つの点が、きれいに対応づけられるということです。

image_0007.jpg

元記事ではこれを、​bijection(全単射)​として捉えています。
難しく聞こえますが、要は

という双方向の対応です。

image_0008.png

この見方をすると、diffusion modelは単なる生成器ではなく、​ノイズからデータへの地図みたいにも見えてきます。
そしてその地図上では、サンプルは「今どこにいるか」だけを見て次の方向を決めて進む。
元記事はこれを dead reckoning にたとえています。これは、今いる位置と進行方向だけで自分の居場所を推定しながら進む航法のことです。

ここで大事なのは、モデルは未来を覗けないということ。
今の位置とノイズレベルだけを見て、次の一歩を決める。
だからこそ、もし複数の経路が同じ場所で交差していたら、モデルは困ってしまう。
同じ場所で「どっちに進むべきか」が決められなくなるからです。

そのため、こうした経路は交差しないはずだ、という議論につながります。
このあたりの理屈は、かなり綺麗です。私はこういう「モデルの制約から、世界の形が見えてくる」話が好きです。

image_0009.gif

では flow maps とは何か

ここが本題です。

image_0010.gif

flow mapsは、diffusion modelのように「今いる点から次の小さな方向を予測する」のではなく、​同じ軌道上の任意の点を、別の点から直接予測できるようなモデルです。

もっと砕いて言うと、

image_0012.gif

という違いです。

元記事の言い方を借りるなら、flow mapsはdiffusion modelがやっている積分を、直接学習しようとする発想です。
これはかなり発想がいいと思います。
毎回ちょっとずつ進むのではなく、​軌道全体の対応関係を学ぶので、うまくいけばsamplingを速くできるし、制御もしやすくなる。

image_0014.jpg

ただし、ここで気をつけたいのは、flow mapsは「ただの新しい名前」ではないということです。
実際には、どう定義するか、どう学習するか、どの量を予測するかで、いくつもの流派があります。
元記事が「文献の用語がややこしい」と言っているのも納得です。こういう分野、名前が増えると一気に森になります。

flow mapsが注目される理由

元記事では、flow mapsの魅力として主に次のような点が示されています。

image_0015.jpg

1. 速いsamplingにつながる

これは直感的にわかりやすいです。
従来のdiffusion samplingは何十ステップも必要になることが多いですが、flow mapsなら、より少ないステップで同じような結果を目指せる可能性があります。

2. reward-based learningに向いている

reward-based learningは、ざっくり言うと「良い出力に報酬を与えて学習する」やり方です。
flow mapsは軌道を直接扱えるので、こうした目的と相性がよい場面があるようです。

3. steerabilityが高い

steerabilityは「出力をどれだけ操縦しやすいか」という意味合いです。
生成結果をただ出すだけでなく、ある方向へ誘導したいときに役立つ、ということですね。

image_0016.jpg

個人的には、この3つのうちsteerabilityの話がかなり重要だと思います。
生成AIが本当に使えるようになるには、「それっぽいものを作る」だけでは足りなくて、​意図した方向に少し曲げられることが大事だからです。

でも、ややこしい。そこが難点でもあり面白さでもある

image_0017.jpg

元記事はかなり率直に、flow mapsの文献は形式も用語もばらばらで、学びにくいと述べています。
これは本当にその通りだと思います。

新しい研究分野って、最初はみんな似たことを違う言葉で言い始めるので、外から見るとかなり混乱します。
しかも diffusion 系は元々、DDPM、DDIM、SDE、ODE、Flow Matching、Consistency系など、似た概念がたくさんあります。
そこに flow maps が加わると、初心者はかなり迷います。

元記事の価値は、そこをtaxonomy(分類)に基づいて整理しようとしている点にあります。
「なんとなく強そう」ではなく、​何を予測していて、どんな一致条件があって、どう学習するのかを分けて考える。
この整理がないと、たぶん全体像が掴めません。

image_0018.jpg

この記事をどう読むといいか

元記事はかなり長く、読みごたえがあります。
ただ、全部を一気に理解しようとしなくてもいいと思います。
まずは次の2点だけ押さえると、だいぶ見通しが良くなります。

  1. diffusion modelは、実は軌道をたどる問題でもある
  2. flow mapsは、その軌道を“点から点へ直接つなぐ”形で学習しようとする

image_0019.jpg

この2つがわかると、flow mapsは単なる新手法ではなく、
​「生成モデルをどう見るか」という視点の拡張だと見えてきます。

私はここにかなり価値があると思います。
生成モデルの研究って、性能競争だけに見えることもありますが、こういう見方そのものを更新する研究が出てくると、分野が一段進んだ感じがします。

image_0020.jpg

まとめると

この元記事は、diffusion modelのsamplingを「小さな更新の連続」ではなく、​軌道の積分として捉え直し、その積分を直接学習する流れとしてflow mapsを解説したものです。
単なる高速化テクニックの話ではなく、​ノイズとデータの対応関係をどう定義し、どう学習するかという、かなり根っこの話をしています。

難しい話ではありますが、直感は意外とシンプルです。
「次の一歩を何度も予測する」のではなく、​この道の先にある点をもっと直接見にいこう、という発想です。

image_0021.jpg

こういう研究は、最初は少しとっつきにくいですが、理解できると「なるほど、そういう見方があったのか」とかなり気持ちいい。
個人的には、flow mapsはまさにそのタイプのテーマだと思います。


参考: Learning the integral of a diffusion model

同じ著者の記事