TECH PLAY

XAI

イベント

該当するコンテンツが見つかりませんでした

マガジン

技術ブログ

目次 はじめに 背景:クラスタリング結果の「解釈」はなぜ難しいのか 論文の概要:「クラスタの意味」をLLMで説明する 提案手法 結果と考察 ポスター発表の感想 おわりに はじめに こんにちは、Insight Edgeのカイオです。 先日、言語処理学会 第32回年次大会で、「クラスタの"意味"を語るAI:LLMによる教師なし学習の説明性付与」というテーマで発表しました。本記事では、その発表内容をベースに、論文で扱った問題設定、提案手法、結果、そして発表を通じて改めて感じたことをご紹介します。 背景:クラスタリング結果の「解釈」はなぜ難しいのか クラスタリングは教師なし学習の一種であり、数値的な類似度や距離に基づいてデータをグループ化します。K-meansのような代表的な手法は計算効率も高く、大規模データにも適用しやすいため、実務でも研究でも広く使われています。 ただし、クラスタリングの出力そのものは、多くの場合あくまで「数値空間上で近いものがまとまった結果」です。人間が本当に知りたいのは、その先にある意味です。たとえば、「このクラスタは正常に近い状態なのか」「このクラスタは病理的な特徴を表しているのか」「このサンプルの一番近いサンプルはどれか」といった問いに答えられて、初めて分析結果は意思決定に使えるようになります。クラスタリングは次元数が多く、可視化しづらいため、さまざまな工夫が必要です。以下に、今回のクラスタのPCAを示します。 クラスタリングの可視化方法の一種であるPCA しかし現実には、その意味付けは分析者の経験やドメイン知識に大きく依存します。特徴量の分布や代表サンプルを見ながら解釈を組み立てる作業には時間がかかりますし、同じ結果を見ても人によって説明がずれることもあります。とくに、説明責任や再現性が求められる領域では、この「解釈の主観性」が大きな課題になります。 ここで注目したのが、近年のLLMです。LLMは、自然言語だけでなく、数値や統計量を含む構造化データに対しても推論・要約・比較を行えるようになってきました。であれば、クラスタリング結果の統計的特徴を入力し、それをドメイン知識と結びつけて自然言語で説明させることができるのではないか。これが本研究の出発点です。 論文の概要:「クラスタの意味」をLLMで説明する 本研究では、クラスタごとの統計量をLLMに入力し、LLMが事前学習で獲得したドメイン固有の知識を活用しながら、各クラスタの意味や特徴を自然言語で生成するという枠組みを提案しました。狙いは、クラスタリングの結果を人が読んで理解できる説明へと変換することです。 検証対象として選んだのはEEG(脳波)データです。EEGは多次元で個人差も大きく、解釈には神経科学や臨床の知識が必要になります。つまり、今回のテーマである「クラスタの意味付け」が難しい、まさに代表的な題材です。ここで有効性を示せれば、他の複雑な教師なし学習タスクにも広げられる可能性があります。 提案手法 今回用いたデータセットは、OpenNeuroで公開されているds004504です。このデータセットはクリエイティブ・コモンズ・ライセンス(CC0 Public Domain Declaration)の下で利用可能です。アルツハイマー病患者、前頭側頭型認知症患者、健常対照群の全88人分のEEGデータから構成されており、認知機能の違いに応じた脳活動パターンを比較しやすいデータセットです。被験者はMMSEと呼ばれる神経心理検査を実施中にEEG計測を受けており、19チャンネル、500Hzで、およそ5〜15分の脳波が記録されています。公開データには、ノイズ除去やフィルタリングなどの前処理も施されています。以下の図は被験者1人、1チャンネルのサンプルデータです。 被験者1人、1チャンネルのサンプルデータ さらに我々が行った処理では、各被験者のEEGについて19チャンネルの平均を取り5秒長・50%オーバーラップの時間ウィンドウに分割し、FFTを適用したうえで、delta、theta、alpha、beta、gammaの各周波数帯域に分解しました。5秒という窓長は、MMSEの比較的容易な質問に応答するために必要な時間を踏まえて設定しています。こうして、ウィンドウ単位で脳波の特徴を扱える形にしました。以下はFFT後のデータの1サンプルです。 FFT後のデータの1サンプル クラスタリングには原理が比較的単純で、LLMによる解釈対象としても扱いやすいK-meansを採用し、Elbow法に基づいてクラスタ数をk=6に設定しました。全88人分のデータに対して、ウィンドウごとの脳波パターンをクラスタリングしています。被験者群ごとに現れやすい脳波パターンが異なっていることも、この段階で確認できました。時系列で見た、ある被験者1人のクラスタ分類結果は以下の通りです。 被験者一人の分類されたクラスタ そのうえで、各クラスタを代表するクラスタ重心をLLMに入力し、統計的特徴と神経科学的・臨床的知見を結びつけた説明を生成させました。重要なのは、診断ラベルやその分布情報は与えず、重心に含まれる特徴量のみに基づいて説明を行わせた点です。今回使用したLLMはGemini 2.5 Proです。つまり、「答えを知っている状態で説明させた」のではなく、「数値特徴だけを見て、どこまで意味のある説明ができるか」を検証した形になります。 結果と考察 結果として、多くのクラスタについて、LLMは周波数帯域ごとの特徴に触れながら、既存のEEG研究や専門家の解釈とおおむね整合的な説明を生成できました。とくに興味深かったのは、生理的脳波、病理的脳波、そしてアーチファクト由来のパターンが、説明文の内容から区別できるレベルで表現されたことです。 たとえば、健常者で最も多く観測されたクラスタ0について、LLMは「顕著なアルファ波の亢進を特徴とする、典型的な閉眼安静覚醒状態の脳波パターン」と説明しました。これは、健常被験者に見られる代表的なEEG所見と一致しており、クラスタリングで抽出された主要クラスタが、生理的に妥当な脳波状態を捉えている可能性を示しています。 被験者群ごとに現れやすい脳波パターン 一方で、健常群では出現頻度が低く、認知症群で相対的に多く見られたクラスタ2やクラスタ5については、「デルタ帯域の徐波化による脳機能低下を示唆するパターン」や「低振幅で非同期的な脳活動パターン」と説明されました。また、クラスタ1やクラスタ3では、高周波帯域の異常なパワー増大に着目し、筋電図アーチファクトや筋緊張に起因する信号混入の可能性にも言及しています。単なる数値の言い換えではなく、実務上重要な「解釈の論点」まで自然言語で引き上げられている点が、この結果の面白いところだと感じています。 論文の考察でも述べた通り、この結果は、LLMがブラックボックスな予測器としてだけでなく、数値解析結果を人が理解できる知識へ変換する媒介として機能し得ることを示唆しています。とくに医療や神経科学のように高い解釈性が求められる領域では、この「橋渡し」の価値は大きいはずです。教師なし学習の活用範囲は広い一方で、解釈の難しさが導入の壁になることも少なくありません。その壁を下げる手段として、LLMによる自然言語説明は有望だと考えています。 ポスター発表の感想 今回の発表は、私にとって初めての学会でのポスター発表であり、さらに学会発表自体もおよそ10年ぶりだったため、きちんとした発表ができるだろうかと不安に感じていました。ですが、実際には想像以上に多くの方に私たちの研究に興味を持っていただき、とても驚きました。 実際に多くいただいた質問は、前処理をどのように行ったのか、そしてLLMに本当に情報リークがなかったのか、という点でした。特に後者については、「LLMに与えたのは診断ラベルなどの情報ではなく、事前学習で獲得していた知識だけである」ということを、何度も説明する必要がありました。 結果として、90分の発表時間のあいだに同じ研究内容を何十回も説明することになり、まさに「鍛えられる」ような経験でした。その分、とても密度の濃い時間でもあり、このような機会をいただけたことに心から感謝しています。 おわりに 本研究では、LLMを用いてクラスタリング結果に説明可能性を付与する枠組みを提案し、EEGデータを対象に、その有効性を検証しました。クラスタ重心に基づいて、神経生理学的に妥当な自然言語説明を生成できたことは、数値解析と人間理解の間にあるギャップを埋める一つの方法を示せたと考えています。 今後は、分類手法や他のXAI手法との統合、さらに実データへの適用を通じて、実用性や汎用性をより詳しく検証していく予定です。教師なし学習は、まだまだ「使えるのに、説明しづらい」場面が多く残っています。そうした場面で、LLMが分析結果の翻訳者として機能する未来は、十分にあり得るのではないでしょうか。
はじめに 2026年3月26日、初の試みとして、リクルート本社オフィスにて 「産学連携技術交流会」 を開催しました。本イベント
Insight Edgeのデータサイエンティストの山科です。 今回は、画像に対する異常検知結果をLLMで解釈させることに加えて、RAGを組み込むことでアクション提案まで行う手法について検証を行いましたので、その結果について記載したいと思います。 なお、本内容は先日開催された言語処理学会第32回年次大会(NLP2026)でも発表した内容となっています。 また、本研究は 以前ご紹介したLanguage-Driven XAI の続編となっており、前回の手法を発展させた内容となっています。前回記事で説明性を付与する手法を提案しましたが、今回はそれにRAGを組み合わせることで、より実務的な意思決定支援を実現しています。 目次 はじめに なぜアクション提案まで必要なのか 提案アプローチ 実験 はじめに 前回ご紹介したLanguage-Driven XAIでは、画像異常検知の結果をLLMで自然言語化することで説明性を付与する手法を提案しました。異常の種類や発生箇所を人間が理解しやすい形で説明できることを確認し、また誤検知時にその間違いを正すことができることも確認しました。 しかし、実際の現場では「異常を理解する」だけでは不十分で、「次に何をすべきか」を判断することが求められます。例えば、製造ラインで異常が検出された場合、作業員は以下のような判断を迫られます: この異常は直ちにラインを停止すべきレベルなのか 継続して監視すれば良いのか どのような確認作業を優先すべきか マニュアルではどのように対応することになっているのか 前回の手法では、異常内容の説明は生成できても、これらの実務的な判断や後続アクションまでは十分に提示できませんでした。また、提案される対応策は一般論に留まりやすく、組織固有のマニュアルや規定に基づいた具体的な根拠を示すことができませんでした。 そこで本研究では、前回のLanguage-Driven XAIを発展させ、 Retrieval-Augmented Generation(RAG) を導入することで、マニュアルや過去事例といった外部知識を参照しながら、具体的なアクション提案までを一貫して生成する手法を提案します。 RAGとは、LLMが応答を生成する際に、外部のデータベースや文書から関連情報を検索(Retrieval)し、その情報を基に回答を生成(Generation)する技術です。これにより、LLMの事前学習で得た一般的な知識だけでなく、組織固有のマニュアルや最新の技術文書など、特定のドメイン知識を活用した応答が可能になります。 なぜアクション提案まで必要なのか 前回の記事でご紹介したように、LLMを用いることで異常検知結果を自然言語で説明することができました。しかし、実運用の現場では、 「異常を理解する」ことと「適切に対応する」ことは別の問題 です。 例えば、風車のブレードにクラックが検出されたとします。前回のLanguage-Driven XAIでは「ブレード表面に亀裂があり、保存状態に起因する可能性がある」という説明を生成することができます。しかし、現場の運転・保守担当者が本当に知りたいのは以下のような情報です: 緊急度の判断 :今すぐ運転を停止すべきか、次回の定期点検まで様子を見るべきか 確認すべき項目 :どのような追加検査や確認作業が必要か 対応の優先順位 :限られたリソースの中で、何から着手すべきか 手順の妥当性 :社内規定やメーカーのガイドラインに従った対応になっているか つまり、異常の説明だけでは「次のアクション」が明確にならず、結局は経験豊富な担当者の判断に依存することになります。特に、新人や経験の浅い作業者にとっては、説明を受けても「だから何をすればいいのか」が分からないという課題があります。 LLM単独での3つの限界 この課題に対して、LLM単独で対応策を生成しようとすると、以下の限界があります: ドメイン知識の不足 特定の産業における保守規程や安全基準 組織固有の運用ルールや判断基準 装置固有の点検手順や対応マニュアル 根拠の不透明性 提案されたアクションが「なぜ必要なのか」の根拠が不明確 「どのマニュアルの何ページに基づいているか」が示されない 監査や事後検証の際に、判断プロセスを追跡できない 最新情報への対応困難 マニュアルの改訂や規制の変更に追随できない 過去の類似事例や教訓を活用できない 組織内で蓄積されたノウハウを反映できない その結果、LLMが生成する対応策は「一般的にはこうすべき」という助言に留まり、「この組織では、このマニュアルに従って、こういう手順で対応すべき」という具体性や根拠を欠いてしまいます。 RAGによる知識駆動型アクション提案 そこで本研究では、 Retrieval-Augmented Generation(RAG) を導入します。RAGは、LLMと外部知識ベースの検索を組み合わせることで、正確性および文脈整合性の高い応答を生成する手法です。 前回の記事でも今後の展望として「マニュアルや事故事例集をRAGに活用して、作業工程へのフィードバックや、設備へのメンテナンスへのフィードバック」について触れましたが、本研究ではこれを検証しました。 RAGを用いることで、以下が実現できます: 異常原因の推定 :過去の類似事例に基づく原因特定と、その根拠となる文書の明示 対応方針の決定 :マニュアルや規定に基づく判断と、参照ページの提示 アクション提案 :具体的な対応手順の提示と優先順位付け、実施理由の説明 特に製造業や保守点検の領域では、装置固有の知識や詳細な手順書が重要です。RAGを用いることで、これらの専門知識を体系的に活用し、 「説明できるAI」から「行動を導くAI」へ と進化させることができます。 提案アプローチ 本研究の提案アプローチは、前回ご紹介したLanguage-Driven XAIに RAGを組み込むことでアクション提案まで行う 枠組みです。全体構成は以下の2つのフェーズで構成されます。 提案アプローチ フェーズ1:説明付加(自然言語解釈の生成) 前回の記事でご紹介したように、複数の異常検知モデル(二値分類、多クラス分類、セグメンテーション、物体検知)の結果をLLMに入力することで、異常内容を自然言語で説明しました。その結果、異常検知モデルの種類によって生成されるキャプションの特性が異なることもわかりました。 二値分類・多クラス分類 :異常の種類や発生要因について詳しく説明できるが、「どこに」異常があるのか位置情報については言及しにくい セグメンテーション :異常箇所の位置や個数を詳述できるが、ヒートマップが重なると元画像が見づらく、異常の種類の特定が難しい 物体検知 :位置情報と異常の種類をバランスよく説明できるが、バウンディングボックスの箇所に注目しがちで、見逃しがある場合に補正できないケースも有る このように、各手法には得意・不得意があります。単一のモデルだけに頼ると、以下のような問題が生じる可能性があります: 過剰反応のリスク :特定の特徴に過敏に反応し、実際には問題ない箇所を異常と誤認する 見逃しのリスク :モデルが注目していない領域の異常を検出できない ハルシネーション :LLMが限られた情報から推測で説明を生成し、事実と異なる内容を出力する 例えば、セグメンテーションモデルだけでは異常箇所の位置は分かっても、その異常が「どういう種類の問題なのか」が不明確です。逆に、二値分類だけでは「異常がある」ことは分かっても「どこに」「どれだけの範囲で」異常があるのかが分かりません。 そこで本研究では、これらを組み合わせた「 アンサンブル異常検知 」により、各手法の長所を活かしつつ短所を補完し、多角的視点から異常内容を説明できるようにアップデートを行いました。具体的には、各モデルでの異常検知結果に対して解釈を生成し、それらを統合した解釈を行わせることで、 相互に補完し合い、誤った推論を相殺 するようにしました。これにより、LLMのハルシネーションを抑制し、より安定した説明を実現できます。 フェーズ2:アクションレコメンド(RAGによる行動提案) フェーズ1で生成された異常解釈文は、「異常がどのような状況にあるか」を説明するものの、実務上求められる具体的な対応方針や作業手順までは含まれていません。 そこで、フェーズ2では以下のプロセスでアクション提案を行います: 検索クエリの生成 :フェーズ1で生成された異常解釈文をクエリとして使用 関連文書の検索 :外部知識ベース(マニュアル、ガイドブック等)から関連情報を取得 アクション生成 :取得した情報と異常の文脈を統合し、LLMで具体的な対応アクションを生成 マルチモーダルRAGの実装 保守マニュアルには図や表が多く含まれるため、本研究では以下のアプローチを採用しました: 図表を一旦LLMで自然言語化し、テキスト情報として知識ベースに格納 検索はテキストベースで実施 ただし、アクション生成時には図表を含むPDF原文全体をLLMに入力 これにより、テキストで検索しつつ、視覚情報も活用したマルチモーダルなアクション生成が可能になります。 評価指標 本研究では、前回と同様に人手評価(5段階のLikert scale)を採用し、以下の2つを評価します: Correctness(正しさ) :参照文書に基づいているか、根拠が明確か Helpfulness(有用性) :現場で活用可能か、優先度が明確か 実験 実験設定 提案手法の有効性を検証するため、風車翼の保守点検を対象とした実験を行いました。 データセット 前回はMVTec ADを用いましたが、今回は実際の保守点検を想定し、以下のデータセットを使用しました: MIAD(風車翼異常データ) :屋外設備の保守点検を対象としたデータセット。風車翼のクラック、欠損などの構造的異常を対象 参考資料(RAGの知識ベース) NEDOの風力発電ガイドブック(2008年版、2018年版)を使用しました。これらのガイドブックには異常発生後の対応手順が直接記載されているわけではなく、日常点検の項目や手順が中心となっているため、本研究では、異常が検出された際に「日常点検としてどのような確認を行うべきか」という観点でアクション提案を生成します。 異常検知モデルと評価手法 異常検知モデルとしては、二値分類、多クラス分類、セグメンテーション、物体検知の4種類のモデルを使用し、前述の通り、これらをアンサンブルすることで多角的な異常解釈を生成しました。LLMには gpt-4o を用いました。評価は5段階のLikert scaleによる人手評価で、Correctness(正しさ)とHelpfulness(有用性)を採点しました。 実験ケース Case 異常種類 RAG 狙い 1 ひび割れ なし ベースライン(RAGなし) 2 ひび割れ あり RAGの効果を検証 3 正常 あり 正常画像への対応を検証 実験結果 3つのケースで実験を行った結果の概要を示します。各ケースの入力画像と生成されたアクション提案の例を以下に示します。 Case1: RAGなしのアクション提案(ベースライン) まず、RAGを用いずLLMのみでアクション提案を生成した場合の結果を示します。入力画像、異常検知結果、異常解釈結果、生成されたアクション提案は以下の通りです。 Case1: RAGなしのアクション提案結果 ブレード損傷時に一般的な日常点検項目(望遠目視点検、異音確認、SCADA振動監視など)が優先度付きで提示されており、実務的な観点が含まれています。しかし、特定のマニュアルに基づくものではなく、出典が示されていないため、Correctnessは3/5、Helpfulnessは4/5と評価しました。情報量は十分ですが、判断根拠の透明性には課題があります。 Case2: RAGありのアクション提案 次に、RAGを組み込んだ場合の結果を示します。同じ異常画像に対して、NEDOガイドブックを参照してアクション提案を生成しました。 Case2: RAGありのアクション提案結果 RAGを用いた場合、各確認項目に情報源(例:「風力発電導入ガイドブック、p.145」)が明示され、文書に準拠した手順が提示されました。対応手順が文書根拠と結び付き、判断過程の透明性が大きく向上したため、CorrectnessとHelpfulnessともに5/5と評価しました。 前回の記事で示したように、LLMは異常内容を理解し説明できますが、RAGを組み合わせることで、その説明に基づいた 規定準拠型のアクション提案 が可能になることが確認できました。 Case3: 正常画像への対応 Case3では正常画像に対する検証を行いました。 Case3: 正常画像への対応結果 正常画像に対しては「構造的破損は認められない」とする適切な判断が生成され、参照文書に基づく確認手順が優先度順に整理されました。 前回の記事でも誤検知時の訂正ができることを確認しましたが、RAGを組み込むことで、誤検知時の過剰反応を抑制しつつ、必要な確認は行うというバランスの取れた提案が得られています(Correctness, Helpfulness ともに 5/5)。 結果のまとめ RAGを用いることで、参照文書に基づく根拠が提示され、Correctness・Helpfulness ともに高い評価となりました。特に、以下の点が確認できました: 透明性の向上 :各アクションの根拠となる文書とページが明示される 汎用性 :異常画像だけでなく正常画像に対しても適切に機能 実務適用性 :現場でそのまま活用可能な具体的な提案 まとめ 本記事では、前回ご紹介したLanguage-Driven XAIを拡張し、RAGを組み込むことで異常検知結果に対する説明生成とアクション提案を一貫して生成する手法を提案しました。 実験の結果、以下のことが確認できました: RAG導入の効果 透明性の向上 :各アクションの根拠となる文書とページが明示され、判断の追跡可能性が向上 正確性の向上 :LLM単独では困難であった組織固有の規定や業界標準に準拠した提案が可能に 実務適用性 :現場でそのまま活用可能な具体的な提案を生成 前回の記事では異常内容の説明にとどまっていましたが、RAGを組み込むことで、マニュアルや規定に基づいた 具体的なアクション提案 まで実現できることを確認しました。また、異常時だけでなく正常画像に対しても適切な対応を提示でき、誤検知時の過剰反応を抑制できることも確認できました。 今後の展望 前回の記事でも触れた今後の展望として、以下について引き続き検証を進めたいと思っています: 参照文書の種類や構造の最適化 実運用データを対象とした検証 マルチモーダルRAGへの拡張(画像をクエリとした検索手法など) 今回用いたドキュメントには検査対象画像は含まれていなかったためテキストを基に検索しましたが、参照するドキュメントに検査対象画像が含まれている場合には、画像をクエリとして用いた検索も有効と考えられます。テキスト知識と視覚的情報を統合したマルチモーダルRAGの実現により、より文脈に即した提案が期待できます。

動画

書籍