みんなのAI
機械学習AI論文

学ぶ

  • AI論文
  • 理論・数学基盤
    • 2026
      • CPAL
        • 影響関数の Kernel von Mises 公式
  • 最適化・効率化
    • PolarQuant:極座標変換による KV キャッシュ量子化
  • アーキテクチャ・アルゴリズム
    • 2026
      • CPAL
        • AlphaFormer:トランスフォーマによるアルファ因子のエンドツーエンド記号回帰
  • 予測・表形式データ
  • AutoML・MLパイプライン
    • 2025
      • ICML
        • AutoML-Agent:全パイプライン AutoML のためのマルチエージェント LLM フレームワーク
      • ICLR
        • SELA: Tree-Search Enhanced LLM Agents for Automated Machine Learning
  • ビジョン・マルチモーダル
  • NLP・LLM
    • 2026
      • CPAL
        • 大規模言語モデルにおける深さの呪い
  • 信頼性・XAI
  • データ中心・特徴設計
  • エッジ・ウェブ
  • ドメイン応用
🏅マイ実績
学ぶ/AI論文/AutoML・MLパイプライン/ICLR 2025/SELA: Tree-Search Enhanced LLM Agents for Automated Machine Learning

SELA: Tree-Search Enhanced LLM Agents for Automated Machine Learning

Yizhou Chi, Yizhang Lin, Sirui Hong, Duyi Pan, Yaying Fei, Guanghao Mei, Bangbang Liu, Tianqi Pang, Jacky Kwok, Ceyao Zhang, Bang Liu, Chenglin Wu

ICLR 2025 · arXiv:2410.17238

LLMエージェントは多様性の低い・非最適なコードをしばしば生成し、従来のAutoMLは固定パイプラインに縛られます。
MCTS(モンテカルロ木探索)は、実験・意思決定をツリーで表し、ロールアウトと検証スコアから次にどの枝を試すかを決める探索法です。UCT-DPは、次のノードを選ぶUCTの式を論文側で変形したもので、学習・実行などコストの大きい深い段階が浅い探索に押し負けにくくします。
SELAはパイプラインをこのようなツリーとしてMCTSで実験順を決め、UCT-DPで深い段階を優先します。Insightから正規化スコアまで数式を分解します。
PDF論文PDF(arXiv)↗

Chapter 1: SELAとツリー探索AutoML

上の説明と同じです。MCTS はロールアウトと検証スコアで次に試す枝を選ぶ木探索であり、UCT-DP は次ノードを選ぶ UCT の式を論文側で変形し、学習・実行などコストの大きい深い段階が浅い探索に押し負けにくくします。

モンテカルロ木探索(MCTS)とは?

かんたん要約: これから試す実験をツリーに書き、4ステップを繰り返します。
- ① 選ぶ(選択): UCT などで次にどのノードへ行くか決めます。
- ② 増やす(拡張): まだない子ノード(新しい試行)を付け足します。
- ③ 試す(ロールアウト): その枝でコードやシミュレを走らせ検証スコアを得ます。
- ④ 戻す(逆伝播): スコアを親の上へ上げて訪問回数・平均を更新します。
SELA は LLM が提案したパイプラインの枝を、この4ステップと検証スコアで探索します。
UCT とは?(Upper Confidence Bound を木に適用したもの)兄弟の子ノードのうち次にどれへ行くかを決めるためのスコア式です。これまでの平均報酬が高い枝(活用)とまだ訪れていない枝(探索)を一つの式の中でまとめ、数値比較で次のノードを選びます。論文の UCT-DP はこの UCT を少し変え、学習コストの大きい深い段階が浅い探索に押し負けにくくします。

4ステップ(1サイクル)

① 選ぶ→② 増やす→③ 試す→④ 戻す
ルート枝A枝Bロールアウト検証スコア s

紫の点線は「今回選んだ経路」の例です。繰り返すほど各枝にスコアが蓄積します。

[要約 & 序論] 3行要約 + 問題提起

3行要約
- 既存LLMエージェントの限界: コードの多様性が低く、何度試しても良い解に収束しにくい。
- 従来AutoMLの限界: Auto-sklearn型の固定パイプライン・探索テンプレートに近く、データや問題が変わると動的にパイプラインを組み替えにくい。
- SELAの要点: パイプラインをツリーで表し、MCTSで実験順を決め、検証スコアで次の分岐を選ぶ。UCT-DPは学習コストの大きい深いノードを、浅い探索より優先するようUCTを変形したもの。
比喩: モータースポーツで工場の整備マニュアル順だけ踏むのは従来AutoMLに近い。足まわり・エンジンマップ・タイヤ圧を一括で変えて一周だけ走るのは単発のLLMコード生成に近い。SELAはセクタータイムとテレメトリを見て(検証スコア)次に何をいじるか分岐を比較するレースエンジニアに近い。

Chapter 2: 背景知識 — 本文の数式を読むための5つの概念

[背景知識]

- AutoML: 前処理・モデル・ハイパーパラメータなどを人の介入を減らして自動化する流れ全体。多くの場合 試す→測る→直す の繰り返しです。
- LLM エージェント: 自然言語のタスク説明とデータ要約から コードを生成・実行 する構成です。SELA では 計画(プラン) と コード/実行 が段階に分かれます。
- 探索空間(Search space): あるデータセット・タスクで試せる 前処理×モデル×ハイパーパラメータ の組み合わせの集合です。組み合わせ爆発のため 全数探索 は現実的ではありません。
- MCTS: 木上でロールアウトと統計を組み合わせ 有望な枝 を選ぶアルゴリズムです。探索(exploration) と 活用(exploitation) のバランスが鍵です。
- 探索 vs 活用: まだ十分に訪れていない子ノードを多く見るか、平均報酬の高い経路を深めるかを 一つの式で 同時に調整します。UCT-DP は 深い学習段階を優先する という追加の工夫を入れます。

Chapter 3: 手法 — 平易な注釈つきの数式

[手法] 5ステップ

論文の式はそのまま。各ステップの前に「平易な説明」を置きます。
(1) Insight Proposer
平易な説明: LLM が ステージごとに候補アイデアを列挙 します(前処理、モデル選択など)。まだコードは動かさず、選択肢を広げる段階 です。
タスク文 ppp、データ情報 ddd、言語モデル MMM が与えられたとき、各ステージ τ∈T\tau \in Tτ∈T で候補をサンプルします。
InsightProposer(p,d,M)→Λ={λiτ∣τ∈T, i=1,…,m}\mathrm{InsightProposer}(p, d, M) \rightarrow \Lambda = \{ \lambda_i^{\tau} \mid \tau \in T,\, i = 1,\ldots,m \}InsightProposer(p,d,M)→Λ={λiτ​∣τ∈T,i=1,…,m}
- 記号の意味: ppp = 解きたい問題;ddd = データ要約;MMM = LLM;Λ\LambdaΛ = アイデア一覧;λiτ\lambda_i^{\tau}λiτ​ = ステージ τ\tauτ の iii 番目のアイデア。
- イメージ: タスク概要 (ppp) とデータ要約 (ddd) から、ステージごとに 試す候補だけ を Λ\LambdaΛ に書く。まだコード実行や学習ジョブは走らせず、分岐候補を広げる段階です。
(2) プランとコード
平易な説明: 木が 一つの実験 ccc を選んだら、(1) 手順付きの指示 に落とし、(2) 実データでコードを実行 して 検証スコア sss を1つ読み取ります。
設定 ccc について指示 IτI^{\tau}Iτ を作り、データ DDD 上でコード στ\sigma^{\tau}στ を走らせスコア sss を得ます。
Eplan(p,d,c,M)→Iτ∈TE_{\mathrm{plan}}(p, d, c, M) \rightarrow I^{\tau \in T}Eplan​(p,d,c,M)→Iτ∈T
Ecode&execute(Iτ∈T,D,M)→(στ∈T,s)E_{\mathrm{code\&execute}}(I^{\tau \in T}, D, M) \rightarrow (\sigma^{\tau \in T}, s)Ecode&execute​(Iτ∈T,D,M)→(στ∈T,s)
- 記号の意味: ccc = 選ばれた組み合わせ;EplanE_{\mathrm{plan}}Eplan​ = プラン→指示;IτI^{\tau}Iτ = ステージごとのタスク;Ecode&executeE_{\mathrm{code\&execute}}Ecode&execute​ = コード生成+実行;DDD = データ;στ\sigma^{\tau}στ = コード;sss = 検証スコア。
- イメージ: 上の式 = パイプライン/手順書の計画、下の式 = データ上で実行して検証スコア sss を得る段階。
(3) UCT-DP
平易な説明: 次にどの子を試すか のスコア。第1項 ≈ これまでの 平均的な良さ、第2項 ≈ あまり訪れていない枝へのボーナス。UCT-DP は 未訪問 の扱いを調整し、浅い枝ばかりをなぞらず、学習が起きる 深い側 に進めるようにします。
UCTDP(x)=v(x)n(x)+αexploreln⁡nvisits(xparent)n(x)\mathrm{UCTDP}(x) = \frac{v(x)}{n(x)} + \alpha_{\mathrm{explore}} \sqrt{\frac{\ln n_{\mathrm{visits}}(x_{\mathrm{parent}})}{n(x)}}UCTDP(x)=n(x)v(x)​+αexplore​n(x)lnnvisits​(xparent​)​​
n(x)={αunvisitedif nvisits(x)=0nvisits(x)otherwisen(x) = \begin{cases} \alpha_{\mathrm{unvisited}} & \text{if } n_{\mathrm{visits}}(x) = 0 \\ n_{\mathrm{visits}}(x) & \text{otherwise} \end{cases}n(x)={αunvisited​nvisits​(x)​if nvisits​(x)=0otherwise​
- 記号の意味: xxx = 現在のノード;v(x)v(x)v(x) = 累積報酬;nvisitsn_{\mathrm{visits}}nvisits​ = 訪問回数;親 = 一つ上;α\alphaα 系 = 探索/未訪問のノブ。
- イメージ: 第1項 = 平均品質、第2項 = 探索の押し上げ。UCT-DP は未訪問ノードの分母を 小さいが非ゼロ に保ち、深く有望な 経路が競争力を失わないようにします。
(4) NS
平易な説明: データセットごとに 尺度が違う。NS は 生の指標 を 常に「大きいほど良い」 方向に揃えてからベンチマーク比較します。
NS(sraw)={11+log⁡(1+sraw)低いほど良い(例: RMSE)sraw高いほど良い(例: F1)\mathrm{NS}(s_{\mathrm{raw}}) = \begin{cases} \dfrac{1}{1 + \log(1 + s_{\mathrm{raw}})} & \text{低いほど良い(例: RMSE)} \\ s_{\mathrm{raw}} & \text{高いほど良い(例: F1)} \end{cases}NS(sraw​)=⎩⎨⎧​1+log(1+sraw​)1​sraw​​低いほど良い(例: RMSE)高いほど良い(例: F1)​
- sraws_{\mathrm{raw}}sraw​ の意味: モデルが出した 生の検証値。
(5) Rescaled NS
平易な説明: SELA の NS を 1 に固定し、他手法は 比(比率)。1 より大きい と、その設定では正規化スコアで SELA を上回った意味です。
RescaledNS(f)=NSfNSSELA\mathrm{RescaledNS}(f) = \frac{\mathrm{NS}_f}{\mathrm{NS}_{\mathrm{SELA}}}RescaledNS(f)=NSSELA​NSf​​
一文: Λ\LambdaΛ を作る → ccc を選ぶ → sss を得る → UCT-DP で木を進む → NS で比較する。

Chapter 4: おもちゃデータのウォークスルー

[おもちゃのシミュレーション]

数値は 説明用 — 流れ だけ掴めれば十分です。
フレーム 1 — Proposer
平易な説明: 「二値分類+欠損あり」でも LLM は前処理アイデアの 短いリスト を出します。
ppp=二値分類、ddd=表形式・欠損あり → Λ\LambdaΛ に補完/スケーリング案。
フレーム 2 — MCTS が ccc を選択
平易な説明: 探索が 一つの組み合わせ(例: 標準化+ロジスティック回帰)を選び、その 枝 を辿ります。
フレーム 3 — EplanE_{\mathrm{plan}}Eplan​
平易な説明: 組み合わせを 具体的なパイプライン順 に落とします。
`SimpleImputer` → `StandardScaler` → `LogisticRegression` のように指示 IτI^{\tau}Iτ を埋めます。
フレーム 4 — 実行
平易な説明: コードを走らせ 一つ の検証スコアを読む—ここでは F1 =0.72=0.72=0.72 と仮定。
検証 F1 sraw=0.72s_{\mathrm{raw}}=0.72sraw​=0.72 → 高いほど良い指標なら NS=0.72\mathrm{NS}=0.72NS=0.72。
フレーム 5 — UCT-DP 更新
平易な説明: スコアを戻し、このノードが次に 兄弟と競争 できるようにする;未訪問 処理のおかげで深いノードも不利になりにくい。
v(x)v(x)v(x) に報酬を足し訪問を増やし、兄弟間で UCTDP\mathrm{UCTDP}UCTDP を比較。
フレーム 6 — Rescaled NS
平易な説明: SELA を 1、他手法は SELA で割る。1 未満 ならここでは SELA 優位の読み。
SELA の NS が 0.720.720.72、ベースラインが 0.650.650.65 なら比 ≈0.90\approx 0.90≈0.90(<1 は SELA 有利)。

Chapter 5: 実験

[結果]

20 個の ML データセット(arXiv 要約)では、SELA は各ベースライン対しておおよそ 勝率 65〜80% を報告—一貫した優位性。MCTS はランダム探索を上回り、ロールアウトを増やすほど スコアは 改善 しやすい—API/時間の予算配分に有用です。

Chapter 6: 結論と図の読み方

[結論]

実務で使える要点(3 つ以内)
1. 手作業で全部選ばずに 強い AutoML 基線を得やすい。
2. ロールアウトをキャッシュ して API/GPU コストを下げる。
3. 木のログ で どの枝に入ったか を説明しやすい。
限界: ロボティクス/ソフトウェア工学への一般化、巨大探索空間でのサンプル効率、解釈性 の UI 設計は今後の課題。

[図の要約]

- 従来: 線形/一発生成—フィードバックが弱く目標品質に届かないことがある。
- SELA: 木の上で MCTS + UCT-DP、検証スコア で更新—下の 左右パネル は対比のスケッチに過ぎません。

対比の要点

左: 固定順・単発生成ではフィードバックが弱いことがある。右: 検証スコアで枝を選ぶツリー探索。下は要点図のみ。

従来:固定パイプライン・単発生成

一発で全体を決めるとフィードバックが弱く、点が収束しにくい。

実験難易度

データ準備
モデル選択
学習·検証
ここで止まる
一括でコード
検証が低い

開始 → 目標品質

散らばった試行

制御しにくい

SELA:ツリー探索+UCT-DP

段階ごとに分岐し、検証スコアで平均報酬を更新。

Insight候補Λ(LLM) · 制御された実験 · MCTSロールアウト

開始
弱い枝
これまでの平均
目標に近い
検証スコアが上へ伝わる

ツリー上の収束

目標に近いスコア

SELAはLLMのアイデアをツリー上でMCTS配置し、UCT-DPで浅い探索の浪費を減らします。NSは公平な比較、キャッシュとログはコストと説明に効きます。