1. はじめに
皆さんAIは使っているでしょうか?
私はAIの文章が崩壊するくらいにコンテキストがパンパンになるまで使っています。
最近のLLMはどんどん進化して、検索、文章生成、プログラミング支援など、幅広く活用されていますよね。
しかし、やはり複雑な問題や創造的タスクではまだ限界を感じます。
コードを書いてもらったらうんコードが出力されたり...
そこで、新しい枠組みとして 思考の拡散(Diffusion of Thoughts; DoT) を提案します。
これは、画像生成で使われる「ノイズ除去プロセス」を推論に応用し、思考を反復的に修正・洗練する方法です。
2. 背景
この頃の商用AIの多くは、Chain of Thought (CoT) を推論に使っていますよね。
でも、CoTは線形展開に依存していて、以下の課題があると思います。
- 初期の誤りが後続の推論全体に波及する...
- 自己修正能力があまりよろしくない...
- 探索や再構築に柔軟性がない...
まるで「一本道の迷路」を進むようで、一度道を誤ると引き返せない、そんな不自由さを感じますね
3. DoTの提案!:推論をノイズ除去プロセスとして捉える
DoTはこのCoTの課題を克服するために、推論を反復的な精練の過程として実行させます。
拡散モデルは、完全なノイズから始め、少しずつ不要な成分を取り除き、高品質な画像を生成する。
DoTも同様に、最初は曖昧で不完全な思考から始め、批評と修正を繰り返すことで、一貫性のある答えを浮かび上がらせる仕組みを真似しています。
これは、人間が下書きを作り、推敲を重ねて完成度を高める感覚に近いものだと思います。
4. DoTの基盤
4.1 拡散モデルの要点
拡散モデルは、
- 順方向:データに段階的にノイズを加え、完全なノイズに変換する
-
逆方向:ノイズから出発し、少しずつ除去して元のデータを再構築する
という二段階で成り立っているらしいです。
そして、今回非常に重要なのは、誤差が初期に含まれても、後のステップで修正可能である点です。
4.2 Classifier-Free Guidance (CFG)との対応
画像生成で用いられるCFGは、条件付き生成と条件なし生成を組み合わせて、生成のバランスを調整しているらしいです。
DoTもこの考えを応用します。
- 無条件改善:全体の自然さや流暢さを高めるために
- 条件付き改善:批評に基づき具体的な欠点を修正する
このようにして、両者をパラメータ w によって統合して、思考をより適切な方向へ導くことで素晴らしい結果を生成する!
5. DoTの推論プロセス
DoTの仕組みは以下のように表せます。
-
初期化:曖昧で粗い思考(初稿)を生成する
-
反復プロセス
- 批評を生成し、欠点や改善点を指摘
- 無条件改善で全体を整える
- 条件付き改善で具体的修正を行う
- 2つを統合して新しい思考を更新
-
最終化:十分な反復を経て、完成度の高い答えを出力させる
6. DoTの優位性
さて、ここでDoTはホンマに効果あるんか?と思う人もいるでしょう。
一度このDoTと他のCoT,ToTなどと比較してみようと思います。
-
〜CoTとの比較〜
CoTは直線的に思考するため、誤りに弱いが、DoTは自己修正を繰り返せるため頑健と言える!はず。。。
-
〜ToT(Tree of Thoughts)との比較〜~
ToTは探索的で幅広い選択肢を扱える。一方DoTは、一つの答えを「磨き上げる」点に特化しているので、両者はお互いの弱みを補い合えると考えられる。組み合わせて使用したら面白いかもしれない。
7. 今後の展望と課題
7.1. 今後の課題
さてはて、ここまでDoTのアイデアと魅力を語ってきましたが、当然ながら問題点もあります。
軽く実装して試してみましたが、以下のような問題点が確認できました。
- トークン消費量:何度も批評を行い、修正を行うので必然的にトークンの消費量が増えてしまう
- 推論時間の長さ:何度も生成と批判を繰り返すため、どうしても推論の時間が長くなってしまう
- 応答の冗長性:何度も欠点や改善点を指摘するため、応答にどうしても必要以上の情報が詰め込まれ、冗長すぎる回答になってしまう
しかし、これらのほとんどがアルゴリズムの改良と、プロンプトの改良でなんとかなると思います。
7.2. 実用性の検証
せっかく考えたアイデアなので、実用に耐える形まで引き上げたいと思います。
今後は以下に注目しながら実装・検証を進めようと思います。
- 課題を克服するための実用的なプロンプトの開発
- 冗長性削減のアルゴリズム的工夫
- ToT,CoTとのハイブリッド化による実用性向上
8. 最後に
実際にGemini-2.5-flash-liteを使い、簡単な実験を行いました。
数学オリンピックの問題をGoogle AI Studio上で、Thinking ModeとDoTでそれぞれ解かせて比較しました。
結果、Thinking Modeは正答に至りませんでしたが、DoTは途中で批評を生成し誤りを修正、最終的に正確な回答へ到達しました。
DoTは、従来のCoTなどでは難しかった「途中での軌道修正」を可能にし、より柔軟で信頼性の高い推論を実現できると思います。
是非興味があれば皆さんも実装して試してみてください。