画期的な生成モデルを発明!ICLRに論文採択された!
引用元:https://news.ycombinator.com/item?id=45536694
Discrete Distribution Networks(DDN)という画期的な生成モデルを発明し、ICLR2025に採択されたんだ!DDNは主流モデルとは根本的に違うアプローチで、1回のフォワードパスで複数出力して、学習データのターゲット分布を近似するよ。離散分布を表現するから”Discrete Distribution Networks”って名付けたんだ。Zero-Shot Conditional Generation(ZSCG)、1次元ツリー構造の離散潜在表現、完全なエンドツーエンド微分可能ってのがDDNのユニークな特性だよ。ICLRのレビューでも「斬新でエレガント」「生成モデリングの新たな扉を開く」って高評価だった!
これ、離散空間から連続空間へのNormalizing Flowにちょっと似てるんじゃないかな。DDNレイヤーをNormalizing Flowとして書き換えれば、”split and prune”を避けられると思うよ。トレーニングでは画像を潜在変数へフローさせて、一番近い潜在変数z_iとのL2ロスを計算するんだ。あとは、フローのヤコビアンの対数決定式のロスも追加してね。推論では、任意の潜在変数z_iから画像を生成するって感じ。
アイデアはありがとう!でもDDNとFlowはそんなに簡単に入れ替えられないんだ。1. DDNは可逆性が必要ないし、2. 潜在変数は連続じゃなくて離散だよ。3. Flowは入出力サイズを同じに保つからlog|detJ|を計算できるけど、DDNの潜在変数は1Dだから条件が合わないんだ。4. ”hierarchical many-shot generation + split-and-prune”の方がシンプルで汎用的だと僕は思うよ。5. 君の設計だとDDNの特性(ZSCG、1Dツリー潜在、ロッシー圧縮)が失われちゃうから、もはやDDNとは呼べないものになると思うな。
フローが専門の僕も、DDNがFlowだとはまだ確信が持てないけど、面白い共通点もあるね。もっと深く調べる必要がありそうだよ。君の反論についてだけど、Flowはネットワークの全ての点で可逆性が必要なわけじゃないし、離散Flowもあるよ。入出力サイズが違っても、”Approximation Capabilities of Neural ODEs and Invertible Residual Networks”とか”RealNVP”が参考になるかも。JacoboianはFlowの条件じゃないけど便利だよね。DDNはFlowっていうよりSNODE、つまりDiffusionモデルに似てるかも。君のネットワークは見たことないから、本当に独自だと思うよ。FlowやDiffusionの論文みたいに軌跡をプロットして、交差があればFlowじゃないってすぐわかるから試してみて!この研究は本当に興味深いよ。素晴らしい仕事だ!
ああだこうだ言うのは安い。Linusが言ったみたいに「コードを見せてくれよな」。
ICLRに単独著者で論文が採択されるなんて、しかもこんな革新的な手法で!本当にすごいよ!よくやった!
すごく面白いアーキテクチャだね、デバッグもしやすそう。でも、各レイヤーでK-1の計算を捨てちゃうのがデメリットかな。Mixture-of-Expertsと”x0-target” latent diffusion modelを組み合わせたような感じだね。guided samplerと”split-and-prune” optimizerが主な革新点で、トレーニングを容易にしてるんだ。
推論時は、サンプリング確率が入力に関係なく1/Kだから、各レイヤーでK個の異なる中間出力を全て計算する必要はないんだ。事前に使いたい出力だけ決めて、それだけ計算すればいいよ。(これは”Common Questions About DDN”のQ1にも書いてあるね。)
でも、条件付き生成だとそうはいかないよ。ターゲットがある場合は、複数生成して、ターゲットに一番近いものを選んで、残りは捨てるしかないからね。
これはすごく賢い洞察だね、よくやった!
論文理解してないと思うよ。
エキスパートなんていないし、出力は分布からのランダムサンプルを近似してるだけ。
Latent Diffusionじゃない。GANみたいな畳み込みを使ってる。
推論時には事前にサンプルインデックスを選んでるから、計算を捨てることもないよ。
@ActivePatternに同意!回答ありがとう。
@f_devdへの補足だけど、学習中、K個の出力はNNブロックの共通ステム特徴を共有してるから、K個の出力生成に追加計算は少しで済むよ。
L2距離サンプリング後、K-1個の出力捨ててもコストは無視できる程度だし、MoEエキスパート捨てるのとは全然違うよ。
多分君が正しいよ。GANとは似てないけど、Diffusionモデルに近いね。
事前サンプリングは仕組みがよく分からないし、あまり言及されてないから、今後のバージョンを待つよ。
最初のFID性能はまだそれほど良くないからね。
みんな、素晴らしいフィードバックありがとう!
今後の開発やアップデートについて議論するTwitterスレッド作ったよ。
みんなと繋がりたいから、ぜひそこで交流しよう!
Twitterで始めるのは大変だから、投稿へのエンゲージメントがすごく助けになるよ!
https://x.com/diyerxx/status/1978531040068321766
彼が易経を引用してるのは良い兆候だね。
独創的なアイデアって大体アナロジーから生まれるんだよ。
Paul Werbosは、フロイトの精神エネルギー理論をアルゴリズム化するためにBackpropを発明したって主張してるしね。
初歩的な質問なんだけどさ、もしネットワークが全部1x1畳み込みで構成されてるなら、ピクセル間の情報混ざらないってこと?
それって各ピクセルが独立してるってことにならない?
どうしてそれで不整合な結果にならないんだろう?
これは今回の論文には当てはまらないみたいだけど、実際にはピクセルは互いに独立して生成できるんだ。
NeRFsとか’single-pixel GANs’、MAEsとか見てみて。
どうしてこれが可能なのかって?それは、潜在空間がプラトニックな対象だからだと僕は思う。
画像に限らず、自然言語でも可能だよ。
https://arxiv.org/abs/2003.08934
https://arxiv.org/abs/2011.13775
https://arxiv.com/abs/2401.14391
https://github.com/ethan-w-roland/AUNN
https://gwern.net/aunn
DDNでは、1x1畳み込みはDDLの出力層でしか使われてないよ。
DDL間のNNブロックは、基本的な計算能力とパラメータ数を提供するんだけど、そこでは標準の3x3畳み込みを採用してるんだ。
それ、何か特定の理由があったの?
1x1畳み込みは、特徴量を最終出力に変換するのに最も軽量な演算子だよ。
3x3畳み込みは、基本的な計算能力を提供するためによく使われる演算子なんだ。
俺も階層的なクロスアテンションと学習クエリを使って、構造が似てるもの作ったことあるよ。L1ノルムでスパース化したんだけどね。離散的な階層表現ってマジで超クール!各層のアクティベーションパターンが入力の“解析ツリー”みたいになってて、画像を短い整数のシーケンスに効果的に圧縮できてるんだ!
このコンセプト、超クールじゃん!抽象の下の例を見ると、モデルの正確さにいくつか驚くディテールがあったよ。例えば、2行目3列目の生え際とか、2行目7, 8, 9, 11列目のシャツの色、4行目と6行目の口紅、6行目4列目の顔や髪の位置と形とか。特に6行目4列目の左下の赤色がすごい。そこに赤い何かがあるってモデルが認識したことはまだ理解できるけど、その赤い塊を正確な場所に置いたのは本当に驚きだよ。データセットのバイアス(口紅とか)や、俺のチェリーピッキング(ひどく間違ってるのは無視してる)で説明できる部分もあると思うけど、赤いショルダーの紐や塊は説明できないな。データ漏洩やバイアスのかかったデータセットの過学習の可能性ってあるの?それともただの偶然?
あれは偶然だよ。ZSCGで使ってる画像は全部Celeb-Aから来てるけど、DDNモデルはFFHQだけで訓練されたんだ。それに、赤いショルダーの紐や塊は、むしろ再構築が下手くそだと思うけどね。
モデルの階層的な生成を見るのってめちゃくちゃクール!彼らのGithubページにはL=4の例もあるよ。https://discrete-distribution-networks.github.io/img/tree-la…
ウェブサイトに載ってるのはL=3だけどね。
この図、すごくいいね!
かなり面白いね。俺も数日前、記号変換行列を使ったDiffusionモデルでディープグラフリアクティブシステムを並列化しようと研究してたところだったんだ。みんな同じ方向に向かってるみたいだし、近い将来、Diffusion系のモデルがcodegenを席巻しても驚かないよ。
超クール!昔、表現学習でたくさん遊んだから、MNISTのグリッドを見て懐かしい気分になったよ :)
これは本当に面白くて斬新なアプローチだね!スケールアップして、画像以外のドメインに応用されたときにどうなるか、めちゃくちゃ興味があるよ!君の研究をフォローするのに一番いい場所はどこ?
評価してくれてありがとう!今後の研究はGitHubとTwitterの両方で更新するから、ぜひチェックしてね。
https://github.com/DIYer22
https://x.com/diyerxx
このモデル、オブジェクト検出(例えば、写真に写ってる魚を検出するとか)のために学習させられるの?
DDNは、オブジェクト検出のような“識別タスクのための生成モデル”というパラダイムに、ものすごく適してるって確信してるよ。DiffusionDetみたいに、DDNも同じ哲学を取り入れられるんだ。
DDNは、Diffusionベースのアプローチに比べていくつかメリットがあると思うんだよね:
- 結果を得るのにシングルフォワードパスで済むから、反復的なノイズ除去は不要。
- 複数のサンプルが必要な場合(例えば、不確実性推定とか)、DDNなら一回のフォワードパスで複数の出力を直接生成できるよ。
- DDNのZero-Shot Conditional Generation機能のおかげで、生成時に制約を課すのが簡単。
- DDNはより効率的なエンドツーエンド最適化をサポートしてるから、識別モデルや強化学習との統合にもっと適してるんだ。
もっとコメントを表示(1)
ざっと論文読んだけど、これって“generative decision tree”って感じだね。
プルーニングとか選択の部分、NNが流行る前のgenetic algorithmsに似てるね。
そうなんだ!オリジナル論文のOPTIMIZATION WITH SPLIT-AND-PRUNEの2段落目に、「evolution and genetic algorithmsの理論に触発されて、Split-and-Pruneアルゴリズムを提案した」って書いてあるよ。
論文読んだけど、DDLについて一つ理解できないことがあるんだ。各“concat”で“output feature”のサイズが“input feature”に対して“generated image”のサイズ分増えるように見えるんだけど、合ってる?もしそうなら、この増えたサイズは各DDLでどう処理されるの?それとも、“concat”ステップで2x poolingがあって、最終サイズは変わらないの?
うん、stem featuresの最終サイズが変わらないようにするtransformがあるよ。
こんなタイトル見ると「本当かよ」って思うけど、ざっと見たらかなり良さそうだね。あとはタイムターナーさえあればなぁ。
ちょっとメタな話だけど、著者たちがICLRのレビューを役立つと思ってくれて嬉しいな。これはICLRが常にレビューを公開するポリシーの成功例だね。著者たちは匿名レビュアーがどう解釈したかの「証言」から恩恵を受けるし、学術界以外の人が論文の採否の舞台裏を見れるようになるからね。
ちなみにこの論文のレビューはこちら: https://openreview.net/forum?id=xNsIfzlefG
全ての不採択論文のリストはこちら: https://openreview.net/group?id=ICLR.cc/2025/Conference#tab-…
本当それ。ICLRで論文がリジェクトされた時も、論文の核心概念を理解してないレビュアーにはいつも指摘できたよ。
これは素晴らしい研究だね。読書リストに入れたよ。HNで共有してくれてありがとう。
根底にあるアルゴリズムはすごく深くは理解してないんだけど、デモとかページを見た感じ、これは主に画像関連タスク用のモデルなのかな?それともGPTやClaudeみたいに(チャット会話とか)も学習できるの?
そう、拡散LLMみたいにDDN LLMも絶対いけるよ!DDNとGPTを組み合わせる初期的な試みをしたんだけど、トークナイザーなしでLLMが直接バイナリ文字列をモデル化できるようにしたんだ。モデルは生成の難しさによって出力のバイト長を調整できるんだよ。
これがマジですごいのは、すごく一般的で自然な階層的手法なのに、かなり競争力があるってことだね。MLコミュニティがずっと探してたものって気がするよ。非生成的な用途(階層的埋め込みとか、Dewey’s decimalみたいな埋め込みを作る!)も超期待しちゃうね。
まさにそれだよね!元の論文の「Efficient Data Compression Capability」の段落でも、”Taiji-DDNは、データを意味のあるバイナリ文字列(平衡二分木の葉ノード)に直接変換できる初の生成モデルだ”って強調されてるんだ。この特性、マジでわくわくするね。
これってH-Net [1]かByte Latent Transformer [2]にちょっと似てるかもね。
1: https://arxiv.org/abs/2507.07955
2: https://arxiv.org/abs/2412.09871
確かにそうかもね。LLMトークン化の制限を乗り越えて、真のエンドツーエンドモデルを目指してるって点では同じだ。でも、彼らの研究の方がずっと洗練されてるね。俺はGPT+DDNの概念実証を急いで作っただけだし。共有してくれてありがとう。
このコメントに賛成票を入れたよ。君のアカウント、シャドーバンされてるみたいだけど、最近のコメントは問題ないと思うから、そのステータスを解除してもらうようにdangにメールするといいかもね。
投稿でこれに言及してるよ。
https://github.com/Discrete-Distribution-Networks/Discrete-D…
最先端のモデルと比べてどうなの?スケールするの?
DDNの最初のバージョンは、3ヶ月もかからずほぼ一人で開発されたんだ。だから実験は予備的なもので、結果もSoTAには程遠いよ。現在の研究目標はスケールアップだね。将来の方向性についてのブログの考察はこちら。
https://github.com/Discrete-Distribution-Networks/Discrete-D…
このモデル、Diffusionモデルとは違う利点があるみたい。アート生成はまだDiffusionに劣るかもだけど、ゼロショットで構造もシンプルだから、エッジコンピューティングやデータ分析でめっちゃ使えそうじゃん。
特にGANと比べられてるのがアツい!GANって扱いにくいけど強力だし、モード崩壊を解決できたらかなり使える技術になりそうだよ。
わかる!その通りだと思う!DDNの単一ショット生成アーキテクチャはDiffusionより効率的だし、エンドツーエンドで微分可能だから最適化しやすい。それにDDNはモード崩壊も本質的に回避できるんだよ。
これ、全部公式ブログにも書いてあるよ!詳しくはこちら:https://github.com/Discrete-Distribution-Networks/Discrete-D…
全然知識ないんだけどさ、この木を枝刈りする生成の推論コストって問題にならない?MNISTの動画見て思ったんだけど、あの動画の各セルごとにフル推論が必要なの?それとも並列でやってるのかな?
なんかメモリと引き換えに”速い”実行時間(より正確な出力のため)ってことなのかな?
その理解は間違ってるよ。動画でMNISTの例は、潜在空間の分布を可視化するために木の全リーフノードをサンプリングしてるだけなんだ。
通常使うときは、単一パスに沿ったL出力しか生成されないから、コストはそこまでかからないよ。
これってテキストからオーディオへのモデルに使える?RVQを使うアーキテクチャを考えてるんだけど、RVQってまだ必要なのかな?
DDNはTTS(Text-to-Speech)タスクもいけると思うよ。テキスト条件があれば生成空間がかなり減るからね。
もっと強力なモデリングをするなら、GPTみたいなAutoregressive modelと組み合わせるのがおすすめだよ。
ちなみにICLRは、International Conference on Learning Representationsの略だよ。詳細はWikipediaを見てね:https://en.wikipedia.org/wiki/International_Conference_on_Le…
これ、きっと頓珍漢な質問なんだけどさ、なんでレイヤーの出力をGround Truthと比較してるの?Ground Truthって未知であるべきなんじゃない?
ニューラルネットワークの学習中は、損失計算のためにGround Truth(GT)が必須なんだよ。
DDNではGTは損失計算とサンプリングのガイドにだけ使われて、モデルの入力にはならないから安心して。
これって80%くらいVQ-VAEみたいなもんじゃない?
いや、DDNとVQ-VAEは明らかに違うよ。似てるのは、両方ともデータを離散的な潜在空間にマッピングする点。
でも、VQ-VAEは外部の事前分布が必要で、コードブックは固定。DDNは階層的な離散分布を自分で作れるし、K個の出力は入力で変わる特徴になるんだ。
あと、VQ-VAEは2Dグリッドだけど、DDNは1D/ツリー構造。DDNはStraight-Through Estimatorもいらないし、ゼロショット条件付き生成もサポートしてるよ。だから、「80%同じ」ってよりは補完し合う関係だと思うな。(論文の「Connections to VQ-VAE」を見てみてね。)
もっとコメントを表示(2)
実験手順について何か詳しいことってある?例えば、ハードウェアとかトレーニング時間、損失曲線とかさ。こういう詳細がないと、研究を再現するのが難しいんだよね。
実験結果を再現しやすいように、ソースコードと重み、Docker環境を提供してるよ。オリジナルの論文のEXPERIMENTSセクションにハードウェア構成(8× RTX 2080 Ti)も載ってるから見てみてね。
すごいセットアップだね :)
特徴と離散的な数字の両方が次の層に渡されてるみたいだけど、どっちを最初に考えたの?それとも最初から両方そうなるように設計したの?
「離散的な数字」っていうのは、各層で選ばれた出力のことだよね?「特徴」と「選ばれた出力」の両方とも、次の層に渡すように設計されてるよ。
あ、選ばれた出力のことね、ちょっと混乱してたんだ。じゃあ、最初の設計の段階から両方次の層に渡してたの?それとも、性能が良くなるって発見してからそうなったの?
DDNのコンセプトの初期段階から、特徴は次の層に渡すって決めてたよ。幹の特徴を無効にするようなアブレーションは一度も試さなかったけど、それなしでもネットワークは学習すると思う。ただ、前の層ですでに計算された特徴を再利用しないのはもったいないよね。幹の特徴を残すことで、DDNはより効率的なシングルショットジェネレーターアーキテクチャも採用できるんだ。
あと、もっと深い理由として、拡散モデルとは違って、DDNは隣接する層間でマルコフ連鎖特性が必要ないっていうのもあるね。
ありがとう!あなたの直感が本当にすごいね!
ベースライン比較がないのに論文が受理されたのはおかしい。VQ-VAEやdiffusion inpaintingとか、もっと比較すべきだったんじゃない?
この論文の新規性が評価されたんだと思う。Reviewer r4YKも「このアプローチは誰も思いつかないだろう」って言ってるし、Sohl-Dicksteinのdiffusion論文だって最初は注目されなかったじゃん。それに、元の論文のTable 1でVQ-VAEとかと比較してるってば。引用元: https://openreview.net/forum?id=xNsIfzlefG¬eId=Dl4bXmujh1
めっちゃ面白いじゃん!すごい仕事だね、ICLR採択おめでとう!
すごいな!つまり、画像の統計的なLLMってことなんだね。
particle filtersを思い出すね。
おいおい、ICLRのレビューって今でしょ。ワークショップに採択されたの?なんで採択されたってわかったんだよ?
ICLR 2026のレビューは今(かもうすぐ)だよ。この論文はICLR 2025に採択されたんだ。
めっちゃクールな生成モデルの統計的背景について、俺の考えをまとめたよ。
ゴリゴリ数式で分析した結果、目的関数はL2距離と N * Log(K)
の情報量で構成されてるってことがわかった。ここから3つの結論。1) Split-and-Mergeは統計的に重要だけど、勾配ベース最適化器との関係がスケーラビリティのカギ。詳細な分析が必要だね。2) 統計的には、最終出力とDのL2距離が一番重要で、中間層のL2損失は補助的だから、最終L2損失をもっと重くするべきかも。3) 今後、KやNを動的に決めるRLとか、部分的な情報を扱えるようにする発展も期待できるね。
中間L2損失が重要な理由について考えてみたんだ。初期層は情報が少ないからL2損失も大きくて画像はボケるけど、深い層ではargminからの情報がメインになるから、中間層のL2損失は、ある程度情報があるけどまだ未知の部分が大きいときに良いトレーニング信号になるんだ。
このモデルは、深さ1からNまで積み重ねられたN個のDiscrete Distribution Networksが同時に学習されてるって考えられるね。
この生成モデルのアプローチだと、各レイヤーで均一な確率で出力が選ばれないとダメだし、入力に依存せず均一に出力される必要もあるんじゃない?条件付き確率で多様性の増加が崩れるケースが心配だよ。
Split-and-Pruneがいい近似になってるかもしれないけど、勾配と一緒に最適化を助けて、多様性をバランスよく保ってる気がするな。
DDNが他の生成モデルとどう違うか、俺も考えてたんだよね。複数出力を一度に生成するのは速そう!GANsと比較してモード崩壊はどう?ゼロショット条件付き生成の仕組みも気になるな。1D離散表現ってどうなの?Split-and-Prune optimizerがAdamとかSGDと比べてどうかも見たい。高解像度画像でのスケーラビリティも気になるけど、これは生成モデルの方向を変えるかもね。コードを見るのが楽しみ!
興味持ってくれてありがとう!GANsとの比較とモード崩壊はブログのQ2を見てね: https://github.com/Discrete-Distribution-Networks/Discrete-D…
スケーラビリティについては同じブログの“Future Research Directions”を読んで: https://github.com/Discrete-Distribution-Networks/Discrete-D…
それ以外の質問は元の論文に答えが書いてあるから、そっちを見てね: https://arxiv.org/abs/2401.00036
論文でなんで「we」って自分たちのことを呼んでるの?
俺が大学時代に論文を書いたとき、教授に『we』を使うのは論文のスタイルだって教わったよ。一人称複数形で現在形ってね。
OPじゃないけど、俺も学術論文では一人で書いてても『we』を使うように教わったんだ。でも、最近は指導が変わって、一人称単数形を使うのが普通になってるのかもね。Redditとかでもそういう議論を読んだばかりだよ。
Figure 18でTaiji-DDNと古代中国の太極哲学を結びつけてるけど、個人的にはちょっと印象悪いな。枝分かれ構造って普遍的なアイデアだから、太古の格言じゃなくてもっと普通の例と結びつけた方がよかったんじゃない?