F-nameのブログ

はてなダイアリーから移行し、更に独自ドメイン化しました。

推論エンジンとAI診断の活用法(AIシステムと人・社会との関係第2回)#放送大学講義録

ーーーー講義録始めーーーー

 

推論エンジンの仕組みと前向き推論・後ろ向き推論の使い分け

推論エンジンの概要

ルールベースを利用した推論エンジンには、次の2種類の推論方法があります:

  1. 前向き推論(Forward Chaining)
    条件部から結論部へと進む推論。
  2. 後ろ向き推論(Backward Chaining)
    結論部から条件部へと進む推論。

図2-2をご覧ください。推論エンジンは、観測データを作業記憶(Working Memory, WM)に保存し、WMの内容とルール条件部を照合します。複数のルールが条件を満たす場合、以下のような競合解消戦略によりルールを選択します:

  • より多くの条件節を持つルールを優先する。
  • 重要度や確信度の高いルールを優先する。

選ばれたルールの結論部を実行し、競合 → 解消 → 実行のサイクルを繰り返しながら結論を導きます。


前向き推論のイメージ

前向き推論は、センサーなどの観測データを利用して、故障箇所や異常を特定するシナリオを考えると分かりやすいです。データが揃っている状態で適用され、効率的に結論へ到達します。


後ろ向き推論の仕組み

一方、後ろ向き推論では次のように動作します:

  1. あるルールの結論部が成立すると仮定します。
  2. そのルールの条件部の条件節を検証します。
  3. 条件節が別のルールの結論部に関連する場合、そのルールを呼び出し、条件を検証します。
  4. ルール呼び出しが不可能になった条件節については、ユーザーに確認します。

ユーザーが条件を満たしていると回答した場合、仮定した結論が成立します。不成立であれば、別の仮説を検証します。


前向き推論と後ろ向き推論の違い

  • 前向き推論: データが揃っている状態で効率的に結論を導く。
  • 後ろ向き推論: ユーザーの回答を基に条件を検証しながら仮説を絞り込む。

使い分けの例

  1. 機械の故障診断
    計測データがすべて揃っているため、前向き推論を採用します。

  2. 医療診断
    患者の問診や検査結果に基づき、新たなデータが逐次得られるため、後ろ向き推論を採用します。
    全ての検査を受けるには高コストが伴うため、後ろ向き推論を活用して必要な検査のみを実施します。


医療診断の現実的なアプローチ

検査を全て実施するのが理想的であっても、コストや時間の制約があるため、後ろ向き推論によって重要なデータを効率的に収集し、必要な検査を絞り込むことが現実的なアプローチとなります。