CausalTAD: LLMによるテーブルデータの異常検知のための因果関係に基づく列順序付け
前回のログでは、負の対数尤度を通じてテーブルデータの異常をスコアリングするために小規模LLMを微調整するAnoLLMを取り上げました。CausalTAD (arXiv:2602.07798) は、鋭い追随的な問いを投げかけます:LLMに提供する列の順序は重要なのでしょうか?その答えは「イエス」であることが判明しました。順序付けに因果構造を注入することで、一貫性のある再現可能な精度向上が得られます。
論文
Wangらは、AnoLLM型のLLM異常検知器の上に位置し、一つの的を絞った変更を加えるメソッド、CausalTADを提案しています。テーブルの行をランダムまたは任意の列順序でシリアライズする代わりに、列間の因果関係を特定し、LLMが行を読み取る前にそれらの依存関係を尊重するように並べ替えます。
この論文には2つの主要な構成要素があります。1つ目は、因果駆動型の列順序付けモジュールです。著者らはCOAT因子抽出フレームワークを適応させています。LLMが列のメタデータとサンプルを読み取り、高レベルのセマンティック(意味的)因子を抽出します(例えば、クレジットカードの取引であれば、「報酬」という因子が金額と加盟店の列にまたがる可能性があります)。これらの因子から、PC、LiNGAM、FCIという3つの因果発見アルゴリズムが、因子間の有向因果グラフを構築します。すると、列の再順序付け問題は線形順序付け問題(Linear Ordering Problem)となります。つまり、シリアライズされたテキストにおいて原因となる列が結果となる列の前に現れるように、有向エッジの重みの合計を最大化する置換πを見つけることです。この線形計画法(LP)には多くの準最適な解があるため、最適解の90%以内にある順序をK ≈ 10個サンプリングし、それらを平均化します。
2つ目は、因果認識型の再重み付けモジュールです。すべての列が等しく重要であるわけではありません。多くの因子に影響を与える列には、それが寄与する因子の数 αj = |M⁻¹(cj)| に基づいて、より高い重みが割り当てられます。最終的な異常スコアは、K個の順序における各列の負の対数尤度の加重平均となります。
主要なアイデア
- 列の順序付けは、自己回帰型LLMに とって自明ではない帰納バイアスです。原因となる列を結果となる列の前に配置することで、モデルは結果に尤度を割り当てる際、正しいコンテキストに基づいて条件付けを行うことができます。
- (生の列レベルではなく)因子レベルでの因果発見を行うことで、異質な列間の直接的な因果発見にノイズが混じりやすい混合型のテーブルを扱うことができます。
- 6つの混合型ベンチマークデータセットにおいて、SmolLM-135Mを使用したCausalTADは、AnoLLMの0.803に対して平均AUC-ROC 0.834に達しました。これは、同じバックボーンモデルを使用しながら、絶対値で3.1ポイントの向上です。
- 特にFake Job Postsデータセットでは、CausalTADはAnoLLMの0.800に対して0.873を記録しました。これは9.1%の相対的な向上であり、実際のトリアージシステムにおいて重要な意味を持つほどの差です。
- 30の数値型ODDSベンチマークデータセットにおいて、CausalTADは最高の平均AUC-ROCを達成し、従来のベースライン(Isolation Forest、ECOD、KNN)やディープラーニング手法(DeepSVDD、SLAD)を一貫して上回りました。
- アブレーション研究では、3つの因果発見アルゴリズムすべてがランダムな順序付けを上回りました。混合データセットではLiNGAMがPCやFCIをわずかに上回る結果となりました。
評価できる点と懸念点
「因果関係に基づく列の順序が役立つ」という核心的 な主張は、十分に裏付けられています。アブレーション研究も明快です。ランダムな順序付けを3つの因果発見手法のいずれかに置き換えることで、Fake Job Postsベンチマークの結果が向上し(0.832から0.870–0.873へ)、因子数による再重み付けもすべての構成でさらなる助けとなっています。これは信頼できる話です。
私が納得しにくいのは、ブートストラップの仮定です。因果グラフは、システムが分析対象とするデータそのものからLLMを使用してセマンティック因子を抽出することによって構築されます。もしLLMがドメインを誤解した場合(例えば、非標準的な列名を持つ特注の会計システムなど)、因子抽出は誤ったものになり、誤った因果グラフは系統的なバイアスを導入するため、ランダムな順序付けよりもかえって悪影響を及ぼす可能性があります。著者らはこのリスクを認めていますが(「因子抽出のためのLLMの能力に依存する」)、因子抽出の精度を独立してベンチマークしているわけではありません。
また、論文で示唆されているよりも深刻な計算オーバーヘッドの問題があります。3つの因果発見アルゴリズムを実行し、LPを解き、K個の順序をサンプリングし、さらにテストポイントごとにK個のシリアライズされたバージョンに対して推論を実行することは、推論コストをK倍に増やします。数百万の仕訳(エントリ)がある元帳の場合、これは無視できません。論文では「将来の課題として効率の向上に焦点を当てる可能性がある」と述べていますが、具体的なプロファイリングは示されていません。
最後に、30の数値型ODDSデータセットはよく研究されており、この種の手法にとっ ては飽和状態にあると言えます。より意味のあるシグナルは、金融において現実的な6つの混合型データセットにあります。そこでの改善は本物ですが、絶対的な数値で見るとやや控えめです。
なぜこれが金融AIにとって重要なのか
Beancountのトランザクションには、真の因果構造が存在します。記帳(posting)の金額は勘定科目の選択を因果的に左右し、勘定科目は取引相手(counterparty)の予測を左右し、摘要(memo)のテキストはこれら3つすべての因果的な下流に位置します。ランダムな列のシリアライズはこれを無視するため、AnoLLM型のモデルは、「memo: groceries | account: Expenses:Food | amount: $4200」という順序を、正しく並べ替えられたバージョンと同じように扱ってしまいます。
CausalTADは、ルールとしてハードコーディングすることなく、「金額と勘定科目を先頭に置く」ということをエンコードするための原則的な方法を提供します。Bean Labsの監査エージェントにとって、これは実用的なアーキテクチャの選択肢を示唆しています。トランザクションのバッチの異常をスコアリングする前に、元帳の列スキーマに対して因果グラフを発見するためのパスを1回実行し、その後のすべての推論にその固定された順序を使用するのです。オーバーヘッドはトランザクションごとではなく、スキーマレベルで一度支払うだ けで済みます。
論文にあるクレジットカードの不正検知の例は、本質的に元帳の異常検知と同じタスク構造を持っています。つまり、不均一な特徴、稀なラベル、そしてドメインエキスパートは直感的に理解しているが、そうでなければLLMが無視してしまう因果順序です。
次に読むべきもの
- AD-LLM: Benchmarking Large Language Models for Anomaly Detection (arXiv:2412.11142, ACL Findings 2025) — CausalTADが適合する、3つのLLM異常検知パラダイムにわたる体系的なベンチマーク。これを読むことで、AnoLLM対CausalTADという単一の比較ではなく、全体像を把握できます。
- COAT: Boosting Large Language Model-Based In-Context Learning for Tabular Data (Liu et al., 2024) — CausalTADが適応させた因子抽出フレームワーク。その仕組みを理解することで、因果グラフの品質がどこで損なわれる可能性があるかが明確になります。
- Causal discovery in heterogeneous data: a survey — 混合型テーブルデータにおけるPC対LiNGAM対FCIの相対的なメリットを理解するために役立ちます。論文ではこれら3つを互換性があるものとして扱っていますが、それぞれ異なる独立性の仮定を置いています。
