(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141779
(43)【公開日】2024-10-10
(54)【発明の名称】複数のイベントの関係性を判定する説明可能AIを有するプログラム、判定装置及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20241003BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023053607
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】西村 康孝
(72)【発明者】
【氏名】武田 直人
(72)【発明者】
【氏名】池田 和史
(57)【要約】 (修正有)
【課題】複数のイベントの関係性を判定するプログラム、判定装置及び方法を提供する。
【解決手段】判定装置は、入力データXのイベントx毎の重要度zを含む重要度データZを算出する説明可能AIエンジン、出力データYについて最も高いスコアpydecとなる判定要素ydecを決定する判定要素決定部及び重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する重要イベント選択部と、時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する疑似データ生成部を有し、説明可能AIエンジンに第3の疑似入力データXrep_i,jを入力して、出力された第3の疑似出力データYrep_i,jのスコアが、出力データYのスコアよりも第1の所定閾値以上に低下した場合、入力データXのイベントxi及びxjは、or関係にあると判定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンとしてコンピュータを機能させるプログラムにおいて、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する判定要素決定手段と、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する重要イベント選択手段と、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する疑似データ生成手段と
して機能させ、
説明可能AIエンジンは、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力し、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第1の条件判定手段と、
第1の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する関係判定手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
疑似データ生成手段は、第1のイベントxiのみを疑似的に置換した第1の疑似入力データXrep_iと、第2のイベントxjのみを疑似的に置換した第2の疑似入力データXrep_jとを更に生成し、
説明可能AIエンジンは、第1の疑似入力データXrep_iを入力して第1の疑似出力データYrep_iを出力し、第2の疑似入力データXrep_jを入力して第2の疑似出力データYrep_jを出力し、
第1の条件判定手段は、第1の所定閾値として、
出力データYの判定要素ydecのスコアpydecから、第1の疑似出力データYrep_iの判定要素ydecのスコアpydec_rep_iに低下した第21のスコア(pydec-pydec_rep_i)と、
出力データYの判定要素ydecのスコアpydecから、第2の疑似出力データYrep_jの判定要素ydecのスコアpydec_rep_jに低下した第22のスコア(pydec-pydec_rep_j)と
の和となる第2のスコアを設定し、以下のように判定する
(pydec-pydec_rep_i,j)>
{(pydec-pydec_rep_i)+(pydec-pydec_rep_j)}
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
第1の条件判定手段によって偽と判定された場合、以下の式のように、
第21のスコア(pydec-pydec_rep_i)が第2の所定閾値よりも大きく、且つ、
第22のスコア(pydec-pydec_rep_j)が第2の所定閾値よりも大きい
(pydec-pydec_rep_i)>第2の所定閾値、且つ、
(pydec-pydec_rep_j)>第2の所定閾値
か否かを判定する第2の条件判定手段と
して更に機能させ、
関係判定手段は、第2の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、and関係にあると判定する
ようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
関係判定手段は、第2の条件判定手段によって偽と判定された場合、入力データXのイベントxi及びxjは、関係性無しと判定する
ようにコンピュータを機能させることを特徴とする請求項3に記載のプログラム。
【請求項5】
重要イベント選択手段は、所定選択条件として、
重要度zが高い順から第1のイベントxi及び第2のイベントxjを選択する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
重要イベント選択手段は、所定選択条件として、
重要度zが高い順から所定個又は所定度以上のイベントxを選択し、第1のイベントxi及び第2のイベントxjの組み合わせを複数個選択する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項7】
関係判定手段は、複数の第1のイベントxi及び第2のイベントxjの組み合わせ毎に関係性を判定し、
複数のイベントの組み合わせの関係性を結合した判断根拠を出力する判断根拠出力手段と
してコンピュータを機能させることを特徴とする請求項6に記載のプログラム。
【請求項8】
入力データXに含まれる時系列のイベントxは、任意のセンサから出力された時系列のセンサデータであり、
出力データYに含まれる判定要素のスコアpは、センサのセンサデータ別のスコアである
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項9】
時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンを有する関係性判定装置において、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する判定要素決定手段と、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する重要イベント選択手段と、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する疑似データ生成手段と
を有し、
説明可能AIエンジンは、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力し、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第1の条件判定手段と、
第1の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する関係判定手段と
を有することを特徴とする関係性判定装置。
【請求項10】
時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンを有する装置の関係性判定方法において、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する第1のステップと、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する第2のステップと、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する第3のステップと、
説明可能AIエンジンを用いて、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力する第4のステップと、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第5のステップと、
第5のステップによって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する第6のステップと
を実行することを特徴とする装置の関係性判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、説明可能AI(Explainable Artificial Intelligence)の技術に関する。
【背景技術】
【0002】
ディープラーニングなどの機械学習技術の発展により、AIにおける分類タスクや回帰タスク、意思決定タスクの性能が飛躍的に向上した。
分類タスクとして、例えば、宅内に設置された人感センサや開閉センサ、温度センサ、湿度センサなどのIoTデバイスからセンサデータを収集し、居住者の行動(外出や睡眠、料理、仕事など)を推定する行動認識がある。また、画像に含まれている動物(猫、犬など)を推定する画像分類もある。
回帰タスクとしては、例えば、家庭の過去の電力使用量から将来の推移を予測する電力使用量予測などがある。
意思決定タスクとしては、例えば宅内のセンサデータから居住者の行動や宅内の機器や環境の状態を把握し、宅内機器を制御するものがある。
【0003】
一方で、AIモデルの内部は、複雑なブラックボックスであり、AIの出力結果の判断根拠を人が理解することはできない。そのために、その出力結果を、自動運転の制御のような、重要且つハイリスクな意思決定に活用することは困難であった。
また、リスクはそれ程高くない宅内機器の制御であっても、AIの判断根拠が理解できないために、ユーザにサービス利用の契約を継続させることが難しい、ということもある。例えば、ユーザの趣向(節電志向、快適性志向など)や生活パターンは多種多様であり、サービス開始時などには特に、AIの機器制御がユーザの志向にそぐわない場合もある。その際に、AIの意図が全く理解できない機器制御が繰り返されると、ユーザはサービス利用を解約してしまう場合もある。
このようなとき、AIが機器制御の判断根拠をユーザに提示することができれば、ユーザ側が、AIの意図を理解しながらサービス設定を変更することができる。これによって、AI側も、ユーザの志向に沿うように適応していくことができ、サービス利用が継続されることが期待できる。
【0004】
このような背景から、近年、AIの出力結果の判断根拠を算出する「説明可能AI」が注目されている。代表的に、AIの出力結果に対する入力情報の重要度を出力するLIME(Local Interpretable Model-agnostic Explanation)の技術がある(例えば非特許文献1参照)。この技術によれば、例えば画像分類について、画像の各ピクセルの分類結果への重要度を数値化し、AIが重要と考えるピクセルをハイライトで表示することができる。また、例えば宅内機器制御について、センサデータに含まれる各センサイベントの機器制御結果への重要度を数値化し、AIが重要と考えるセンサイベントを提示することができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin, “Why Should I Trust You? Explaining the Predictions of Any Classifier”、[online]、[令和5年3月25日検索]、インターネット<URL:https://www.kdd.org/kdd2016/papers/files/rfp0573-ribeiroA.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0006】
前述したような説明可能AIによれば、時系列データにおけるAIの判断根拠として、個々の重要なイベントを提示することができる。
これに対し、本願の発明者らは、時系列データにおけるイベント間について、andやorのような関係性が重要なのではないか、と考えた。
尚、従来技術によれば、説明可能AIが、時系列データにおけるイベント間の関係性を提示することについては全く提案されていない。
【0007】
そこで、本発明は、複数のイベントの関係性を判定するプログラム、判定装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明によれば、時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンとしてコンピュータを機能させるプログラムにおいて、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する判定要素決定手段と、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する重要イベント選択手段と、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する疑似データ生成手段と
して機能させ、
説明可能AIエンジンは、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力し、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第1の条件判定手段と、
第1の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する関係判定手段と
してコンピュータを機能させることを特徴とする。
【0009】
本発明のプログラムにおける他の実施形態によれば、
疑似データ生成手段は、第1のイベントxiのみを疑似的に置換した第1の疑似入力データXrep_iと、第2のイベントxjのみを疑似的に置換した第2の疑似入力データXrep_jとを更に生成し、
説明可能AIエンジンは、第1の疑似入力データXrep_iを入力して第1の疑似出力データYrep_iを出力し、第2の疑似入力データXrep_jを入力して第2の疑似出力データYrep_jを出力し、
第1の条件判定手段は、第1の所定閾値として、
出力データYの判定要素ydecのスコアpydecから、第1の疑似出力データYrep_iの判定要素ydecのスコアpydec_rep_iに低下した第21のスコア(pydec-pydec_rep_i)と、
出力データYの判定要素ydecのスコアpydecから、第2の疑似出力データYrep_jの判定要素ydecのスコアpydec_rep_jに低下した第22のスコア(pydec-pydec_rep_j)と
の和となる第2のスコアを設定し、以下のように判定する
(pydec-pydec_rep_i,j)>
{(pydec-pydec_rep_i)+(pydec-pydec_rep_j)}
ようにコンピュータを機能させることも好ましい。
【0010】
本発明のプログラムにおける他の実施形態によれば、
第1の条件判定手段によって偽と判定された場合、以下の式のように、
第21のスコア(pydec-pydec_rep_i)が第2の所定閾値よりも大きく、且つ、
第22のスコア(pydec-pydec_rep_j)が第2の所定閾値よりも大きい
(pydec-pydec_rep_i)>第2の所定閾値、且つ、
(pydec-pydec_rep_j)>第2の所定閾値
か否かを判定する第2の条件判定手段と
して更に機能させ、
関係判定手段は、第2の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、and関係にあると判定する
ようにコンピュータを機能させることも好ましい。
【0011】
本発明のプログラムにおける他の実施形態によれば、
関係判定手段は、第2の条件判定手段によって偽と判定された場合、入力データXのイベントxi及びxjは、関係性無しと判定する
ようにコンピュータを機能させることも好ましい。
【0012】
本発明のプログラムにおける他の実施形態によれば、
重要イベント選択手段は、所定選択条件として、
重要度zが高い順から第1のイベントxi及び第2のイベントxjを選択する
ようにコンピュータを機能させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
重要イベント選択手段は、所定選択条件として、
重要度zが高い順から所定個又は所定度以上のイベントxを選択し、第1のイベントxi及び第2のイベントxjの組み合わせを複数個選択する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
関係判定手段は、複数の第1のイベントxi及び第2のイベントxjの組み合わせ毎に関係性を判定し、
複数のイベントの組み合わせの関係性を結合した判断根拠を出力する判断根拠出力手段と
してコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
入力データXに含まれる時系列のイベントxは、任意のセンサから出力された時系列のセンサデータであり、
出力データYに含まれる判定要素のスコアpは、センサのセンサデータ別のスコアである
ようにコンピュータを機能させることも好ましい。
【0016】
本発明によれば、時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンを有する関係性判定装置において、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する判定要素決定手段と、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する重要イベント選択手段と、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する疑似データ生成手段と
を有し、
説明可能AIエンジンは、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力し、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第1の条件判定手段と、
第1の条件判定手段によって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する関係判定手段と
を有することを特徴とする。
【0017】
本発明によれば、時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する説明可能AIエンジンを有する装置の関係性判定方法において、
説明可能AIエンジンは、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出し、
出力データY(p1~pM)について最も高いスコアpydecとなる判定要素ydecを決定する第1のステップと、
重要度zが所定選択条件以上となる第1のイベントxi及び第2のイベントxjを選択する第2のステップと、
時系列データXについて、第1のイベントxi及び第2のイベントxjの両方を疑似的に置換した第3の疑似入力データXrep_i,jを生成する第3のステップと、
説明可能AIエンジンを用いて、第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力する第4のステップと、
第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する第5のステップと、
第5のステップによって真と判定された場合、入力データXのイベントxi及びxjは、or関係にあると判定する第6のステップと
を実行することを特徴とする。
【発明の効果】
【0018】
本発明のプログラム、判定装置及び方法によれば、複数のイベントの関係性を判定することができる。
【図面の簡単な説明】
【0019】
【
図1】複数のセンサが配置されたユーザ宅内の例である。
【
図2】本発明における判定装置の機能構成図である。
【
図3】説明可能AIエンジンにおける入力データ、出力データ及び重要度データの例を表す説明図である。
【
図4】本発明における重要イベント選択部及び疑似データ生成部を表す説明図である。
【
図5】説明可能AIエンジンにおける疑似入力データ及び疑似出力データの例を表す説明図である。
【
図6】第1の条件判定部及び第2の条件判定部の処理を表す説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0021】
図1は、複数のセンサが配置されたユーザ宅内の例である。
【0022】
図1によれば、ユーザの宅内に、IoTデバイスとして、例えば以下のような多種多様なセンサが配置されている。
寝室照明(ON/OFF)、寝室人感センサ(ON/OFF)、寝室温度センサ(温度)
リビング照明(ON/OFF)、リビング人感センサ(ON/OFF)、
リビング温度センサ(温度)、リビング湿度センサ(温度)、
リビングエアコンセンサ(ON/OFF)、リビングテレビ(ON/OFF)、
キッチン照明(ON/OFF)
センサは、室内環境や室内機器の状態や変化をイベントとして検知する。例えば、人感センサはリビングやキッチンなどの部屋に設置され、人の動きを検知した際にON、検知できなくなった際にOFFを出力する。例えば、温度センサは部屋に設置され、温度を定期的に測定する。スマートプラグのような照明やテレビは、スイッチがON/OFFに切り替えされた際に、その状態を出力する。
【0023】
各センサは、変位したセンサデータをイベントとして、判定装置1へ送信する。例えばこれら時系列のセンサデータは、その室内に滞在する人が行動(睡眠、仕事、料理、視聴など)した結果といえる。これらセンサのデータをパターン解析することによって、人の行動認識が可能となる。これによって、判定装置1は、室内のユーザの行動に応じて、意思決定タスクとして宅内機器を制御したりする。
【0024】
図1によれば、判定装置1へ入力される時系列の入力データXが表されている。時系列のデータ表現として、n個のイベントを時系列順に並べて構成する。入力データXは、時系列順に、例えば10個のイベント{x1,x2,・・・,x10}を含む。尚、x1が最も古いイベントを表し、x10最も新しいイベントを表す。
x1:リビングエアコンOFF
x2:寝室人感センサON
x3:寝室人感センサOFF
x4:寝室人感センサON
x5:寝室人感センサOFF
x6:リビング湿度センサ30%
x7:リビング温度センサ15度
x8:寝室温度センサ14度
x9:リビング人感センサON
x10:リビングテレビON
ここでは、リビングエアコンがOFFであり、リビング温度が15度と低く、人感センサが反応してユーザがリビングにいることが推定できる。
このようなセンサデータによって期待されるAIの意思決定としては、例えば「リビングエアコンON」が期待される。
【0025】
図2は、本発明における判定装置の機能構成図である。
【0026】
判定装置1は、時系列データを対象とした分類タスクや回帰タスク、意思決定タスクに基づくものである。
図2によれば、判定装置1は、説明可能AIエンジン10と、判定要素決定部11と、重要イベント選択部12と、疑似データ生成部13と、第1の条件判定部141と、第2の条件判定部142と、関係判定部15と、判断根拠出力部16とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の判定方法としても理解できる。
【0027】
[説明AIエンジン10・第1の推定段階]
説明AIエンジン10は、時系列の複数のイベントxを含む入力データX(x1~xN)を入力し、判定要素毎のスコアpを表す出力データY(p1~pM)を出力する。
尚、Nは、入力データXのイベント数を表す。Mは、判定要素の数(例えば分類タスクのクラス数、又は、意思決定タスクの判定要素数)を表す。
【0028】
図3は、説明可能AIエンジンにおける入力データ、出力データ及び重要度データの例を表す説明図である。
【0029】
入力データXにおけるイベントxは、
図3によれば(前述した
図1と同様に)、例えば以下のようなものである。
(イベント)
x1:リビングエアコンOFF
x2:寝室人感センサON
x3:寝室人感センサOFF
x4:寝室人感センサON
x5:寝室人感センサOFF
x6:リビング湿度センサ30%
x7:リビング温度センサ15度
x8:寝室温度センサ14度
x9:リビング人感センサON
x10:リビングテレビON
【0030】
また、出力データYにおける判定要素は、宅内機器の制御項目であり、そのスコアpは、期待値である。
図3によれば、例えば以下のようなものである。
(判定要素) (スコア)
y1:リビングエアコンON 0.8
y2:リビングエアコンOFF 0
y3:リビング照明ON 0.03
y4:リビング照明OFF 0.01
y5:寝室照明ON 0.01
y6:寝室照明OFF 0.01
y7:キッチン照明ON 0.02
y8:キッチン照明OFF 0.02
y9:何もしない 0.1
ここでは、ON/OFFの2値を制御項目としているが、勿論、数値であってもよい。また、例えば回帰タスクについては、スコアは予測値となる。
【0031】
更に、説明可能AIエンジン10は、入力データXのイベントx毎の重要度zを含む重要度データZ(z1~zN)を更に算出する。Nは、入力データXのイベントに対応する。
図3によれば、例えば以下のようなものである。
(イベント) (重要度)
z1:リビングエアコンOFF 0.3
z2:寝室人感センサON 0.01
z3:寝室人感センサOFF 0.01
z4:寝室人感センサON 0.05
z5:寝室人感センサOFF 0.01
z6:リビング湿度センサ30% 0.01
z7:リビング温度センサ15度 0.15
z8:寝室温度センサ14度 0.01
z9:リビング人感センサON 0.15
z10:リビングテレビON 0.2
重要度zは、入力データXに対して、出力データYとしてスコアpを予測した場合に、その判断根拠を表す。
【0032】
説明可能AIエンジン10は、例えばLIME(Local Interpretable Model-agnostic Explanations)、SHAP(SHapley Additive Explanations)、Anchorであってもよい。これは、「あるイベント(特徴量)が予測(期待値)の精度(スコア)の向上にどの程度寄与しているのか」を評価する指標となる重要度(Permutation Importance)(確信度と称する場合もある)も推定する。
【0033】
説明可能AIエンジン10は、分類タスクや回帰タスク、意思決定タスクに対して、予め訓練されたものである。
重要度は、例えば入力データの中の一部に摂動を与えることによって、予測の変化を観察することによって推定可能となる。これは、摂動を与えた一部に関する反実的な状況を見ている。即ち、一部のイベントにおける摂動によってスコアが大きく下がれば、その一部のイベントはその予測にとって重要なものであるといえる。
【0034】
[判定要素決定部11]
判定要素決定部11は、出力データY(p1~pM)について最も高いスコアとなる判定要素ydecを決定する。
図3によれば、以下の判定要素が決定される。
(判定要素ydec) (スコアpydec)
y1:リビングエアコンON 0.8(最大)
これによって、判定要素ydec=y1、スコアpydec=0.8と決定する。
【0035】
図4は、本発明における重要イベント選択部及び疑似データ生成部を表す説明図である。
【0036】
[重要イベント選択部12]
重要イベント選択部12は、重要度zが「所定選択条件」以上となる第1のイベントxi及び第2のイベントxjを選択する。
【0037】
ここで、所定選択条件としては、例えば以下の3つの条件がある。
(第1の選択条件)
重要度zが高い順から第1のイベントxi及び第2のイベントxjを選択する。
図4によれば、以下のように選択される。
イベントx1=重要度0.3
イベントx10=重要度0.2
【0038】
(第2の選択条件)
重要度zが高い順から「所定個k」のイベントxを選択し、第1のイベントxi及び第2のイベントxjの組み合わせを複数個選択する。例えば所定個k=4とする。
図4によれば、以下のように選択される。
イベントx1=重要度0.3
イベントx7=重要度0.15
イベントx9=重要度0.15
イベントx10=重要度0.2
【0039】
(第3の選択条件)
重要度zが高い順から「所定度以上」のイベントxを選択し、第1のイベントxi及び第2のイベントxjの組み合わせを複数個選択する。例えば所定度0.1とする。
図4によれば、以下のように選択される。
イベントx1=重要度0.3
イベントx7=重要度0.15
イベントx9=重要度0.15
イベントx10=重要度0.2
【0040】
例えば第2の選択条件によって、Xtop_4={x1、x7、x9、x10}を選択した場合、第1のイベントxi及び第2のイベントxjからなる組み合わせは、以下のように6通りとなる。
パターン1: (x1, x7)
パターン2: (x1, x9)
パターン3: (x1, x10)
パターン4: (x7, x9)
パターン5: (x7, x10)
パターン6: (x9, x10)
【0041】
[疑似データ生成部13]
疑似データ生成部13は、時系列データXについて、少なくとも、以下の3つの疑似入力データを生成する。
第1の疑似入力データXrep_i :第1のイベントxiのみを疑似的に置換
第2の疑似入力データXrep_j :第2のイベントxjのみを疑似的に置換
第3の疑似入力データXrep_i,j:第1のイベントxi及び第2のイベントxjの
両方を疑似的に置換
【0042】
図4によれば、例えば前述したパターン1:(x1, x7)の場合、以下のように3個の疑似入力データを生成する。
第1の疑似入力データXrep_1:イベントx1のみを疑似的にnullに置換
第2の疑似入力データXrep_7:イベントx7のみを疑似的にnullに置換
第3の疑似入力データXrep_1,7:イベントx1及びx7の両方を
疑似的にnullに置換
尚、疑似値をnullとした場合、説明可能AIエンジン10によって無視される。また疑似値はnullに限られず、全てのイベントからランダムに選択された任意の値であってもよい。
【0043】
[説明AIエンジン10・第2の推定段階]
説明可能AIエンジン10は、再度、以下のように推定する。
第1の疑似入力データXrep_iを入力し、第1の疑似出力データYrep_iを出力
第2の疑似入力データXrep_jを入力し、第2の疑似出力データYrep_jを出力
第3の疑似入力データXrep_i,jを入力し、第3の疑似出力データYrep_i,jを出力
【0044】
例えば前述したパターン1:(x1, x7)の場合、以下のように3個の疑似出力データを出力する。
第1の疑似入力データXrep_1を入力し、第1の疑似出力データYrep_1を出力
第2の疑似入力データXrep_7を入力し、第2の疑似出力データYrep_7を出力
第3の疑似入力データXrep_1,7を入力し、第3の疑似出力データYrep_1,7を出力
【0045】
図5は、説明可能AIエンジンにおける疑似入力データ及び疑似出力データの例を表す説明図である。
図5によれば、パターン1における疑似入力データXrep_1、Xrep_7、Xrep_1,7における判定要素ydec=1のスコアp1を、例えば以下のように推定されている。
p1_rep_1=0.2
p1_rep_7=0.15
p1_rep_1,7=0.1
【0046】
図6は、第1の条件判定部及び第2の条件判定部の処理を表す説明図である。
【0047】
[第1の条件判定部141]
第1の条件判定部141は、
図5及び
図6のように、以下の判定方式のいずれかであってもよい。
(第1の判定方式)
第1の条件判定部141は、第3の疑似出力データYrep_i,jの判定要素ydecのスコアpydec_rep_i,jが、出力データYの判定要素ydecのスコアpydecよりも第1の所定閾値以上に低下したか否かを判定する。
(pydec-pydec_rep_i,j)>第1の所定閾値
【0048】
前述した
図5の例によれば、第1の条件判定部141は、以下のように算出する。
(p1-p1_rep_1,7)>第1の所定閾値
(0.8-0.1) >第1の所定閾値
ここで、第1の所定閾値は、例えばp1の90%となる0.72と設定してもよい。
この場合、前述した
図5の例によれば、第1の条件判定部141は「偽」と判定する。
【0049】
(第2の判定方式)
第1の条件判定部141は、第1の判定方式について、第1の所定閾値を、第21のスコア(pydec-pydec_rep_i)と、第22のスコア(pydec-pydec_rep_j)との和となる第2のスコア{(pydec-pydec_rep_i)+(pydec-pydec_rep_j)}を設定する。
第21のスコア(pydec-pydec_rep_i):
出力データYの判定要素ydecのスコアpydecから、
第1の疑似出力データYrep_iの判定要素ydecのスコアpydec_rep_iに
低下したスコア
第22のスコア(pydec-pydec_rep_j):
出力データYの判定要素ydecのスコアpydecから、
第2の疑似出力データYrep_jの判定要素ydecのスコアpydec_rep_jに
低下したスコア
これによって、第1の条件判定部141は、以下の式のように、第1のスコア(pydec-pydec_rep_i,j)が、第2のスコアよりも大きいか否かを判定する
(pydec-pydec_rep_i,j)>
{(pydec-pydec_rep_i)+(pydec-pydec_rep_j)}
【0050】
前述した
図5の例によれば、第1の条件判定部141は、以下のように算出する。
(p1-p1_rep_1,7)>{(p1-p1_rep_1)+(p1-p1_rep_7)}
(0.8-0.1) >{(0.8-0.2)+(0.8-0.15)}
【0051】
第1の条件判定部141は、第1の判定方式又は第2の判定方式によって「真」と判定された場合、関係判定部15へ、第1の条件判定「真」である旨を出力する。
前述した
図5の例によれば、第1の条件判定部141は「偽」と判定する。
【0052】
[第2の条件判定部142]
第2の条件判定部142は、第1の条件判定部141によって「偽」と判定された場合、以下の式のように判定する。
第21のスコア(pydec-pydec_rep_i)が第2の所定閾値よりも大きく、且つ、
第22のスコア(pydec-pydec_rep_j)が第2の所定閾値よりも大きいか否か?
(pydec-pydec_rep_i)>第2の所定閾値、且つ、
(pydec-pydec_rep_j)>第2の所定閾値
【0053】
前述した
図5の例によれば、第2の条件判定部142は、以下のように算出する。
(p1-p1_rep_1)>第2の所定閾値
(0.8-0.2) >第2の所定閾値
(p1-p1_rep_7)>第2の所定閾値
(0.8-0.15) >第2の所定閾値
ここで、第2の所定閾値は、例えばp1の50%となる0.4と設定してもよい。
この場合、前述した
図5の例によれば、第2の条件判定部142は「真」と判定する。
【0054】
[関係判定部15]
関係判定部15は、第1の条件判定部141によって「真」と判定された場合、入力データXのイベントxi及びxjは、「or関係」にあると判定する。これはイベントxiとxjのいずれか一方がデータに含まれていれば、判断結果ydecは大きく変わらないが、両方が欠けると大きく変わることを意味する。
また、関係判定部15は、第2の条件判定部142によって「真」と判定された場合、入力データXのイベントxi及びxjは、「and関係」にあると判定する。これは、イベントxiとxjのいずれか一方が欠けると、判断結果ydecは大きく変わることを意味する。
そして、関係判定部15は、第2の条件判定部142によって「偽」と判定された場合、入力データXのイベントxi及びxjは、「関係性無し」と判定する
このように、関係判定部15は、第1のイベントxi及び第2のイベントxjの組み合わせ毎に関係性を判定していく。
この場合、前述した
図5の例によれば、関係判定部15は「and関係」と判定する。
【0055】
このようなイベント間の関係性は、実際の入力データXに対する説明可能AIエンジン10の判断結果ydecのスコアpydecが、疑似入力データの場合に、どのように変化するかを分析することによって得られるものである。
【0056】
[判断根拠出力部16]
判断根拠出力部16は、重要イベント選択部12で選択された複数のイベントの組み合わせの関係性を結合した判断根拠を出力する。イベントの全ての組合せxi, xj(∈Xtop_k)の関係性を、andで結合する。
【0057】
前述した
図5及び
図6によって、例えば以下のように関係性が結合される。
パターン1: (x1, x7) and関係
パターン2: (x1, x9) 関係性なし
パターン3: (x1, x10) 関係性なし
パターン4: (x7, x9) 関係性なし
パターン5: (x7, x10) 関係性なし
パターン6: (x9, x10) or関係
これらの関係性をandで結合して、以下のような判断根拠を得ることができる。
x1 and x7 and (x9 or x10)
【0058】
本発明によれば、最終的に、判定要素「リビングエアコンON」については、以下のようなイベントの関係にあると判定することができる。
<判定要素「リビングエアコンON」>
x1(リビングエアコンOFF) and
x7(リビング温度15度) and
(x9(リビングソファー人感ON) or x10(リビングテレビ人感ON))
(x9 or x10)は、リビング(のソファー)人感センサとリビングテレビとの、どちらの近くにユーザがいるかは重要ではないが、リビングにユーザがいることが重要であるということを意味する。また、(x9 or x10)に対して、x1とx7とがand関係であるため、ユーザがリビングに居て、且つ、リビングのエアコンがOFFであり、且つ、リビングの気温が低い、という条件を判断根拠として、「リビングエアコンON」が制御される。
【0059】
尚、非特許文献1によれば、判断根拠は開示されず、以下の判断根拠が得られるだけである。
<判定要素「リビングエアコンON」>
x1(リビングエアコンOFF)
x7(リビング温度15度)
x9(リビングソファー人感ON)
x10(リビングテレビ人感ON)
【0060】
以上、詳細に説明したように、本発明のプログラム、判定装置及び方法によれば、複数のイベントの関係性を判定することができる。
【0061】
尚、これにより、例えば「複数のイベントの関係性を判定することができる」ことから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0062】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0063】
1 判定装置
10 説明AIエンジン
11 判定要素決定部
12 重要イベント選択部
13 疑似データ生成部
141 第1の条件判定部
142 第2の条件判定部
15 関係判定部
16 判断根拠出力部