JP7020547B2 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP7020547B2
JP7020547B2 JP2020522504A JP2020522504A JP7020547B2 JP 7020547 B2 JP7020547 B2 JP 7020547B2 JP 2020522504 A JP2020522504 A JP 2020522504A JP 2020522504 A JP2020522504 A JP 2020522504A JP 7020547 B2 JP7020547 B2 JP 7020547B2
Authority
JP
Japan
Prior art keywords
prediction
rule
input data
data
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020522504A
Other languages
English (en)
Other versions
JPWO2019229931A1 (ja
Inventor
穣 岡嶋
邦彦 定政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019229931A1 publication Critical patent/JPWO2019229931A1/ja
Application granted granted Critical
Publication of JP7020547B2 publication Critical patent/JP7020547B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明はニューラルネットワークを利用した予測に関する。
機械学習分野において、単純な条件を複数組み合わせるルールベースのモデルは、解釈が容易であるという利点がある。その代表例は決定木である。決定木のひとつひとつのノードは単純な条件を表しており、決定木をルートから葉に辿ることは、複数の単純な条件を組み合わせた判定ルールを用いて予測することに相当する。
一方、ニューラルネットワークのような複雑なモデルを用いた機械学習が高い予測性能を示し、注目を集めている。特に、画像やテキストなど、複雑な表現を持つデータにおいて、決定木のようなルールベースのモデルに比べて高い予測性能を示している。
ニューラルネットワークのような複雑なモデルの欠点は、その内部構造が複雑であるため、推論過程を解釈することが難しいことである。すなわち、人間がその予測の根拠を理解しづらいことである。たとえば、YESかNOを出力する二値分類を行う場合を考える。ニューラルネットワークでは、YESとNOのどちらであるかを高い精度で出力することができる。しかしながら、YESとNOの判別過程が複雑であり、人間がその根拠を理解することは難しい。
上記技術分野において、非特許文献1には、ニューラルネットワークを直接予測に使う代わりに、ニューラルネットワークにグラフィカルモデルのパラメータを調整させる技術が開示されている。この技術を用いることで、ニューラルネットワークの代わりに、ニューラルネットワークよりは単純なモデルであるグラフィカルモデルを人間に提示することができる。
非特許文献2には、訓練済みのニューラルネットワークの構造を決定木で近似する技術が開示されている。この技術を用いることで、決定木で近似できるような単純なニューラルネットワークであれば、ニューラルネットワークを模倣した動作をする決定木を人間に提示することができる。
Maruan Al-Shedivat、Avinava Dubey、及び Eric P. Xing、「Contextual Explanation Networks」、[online]、2017年5月29日、arXiv、[2018年3月1日検索]、インターネット<URL:https://arxiv.org/abs/1705.10301> Jan Ruben Zilke、Eneldo Loza Mencia、及び frederik Janssen、「DeepRED - Rule Extraction from Deep Neural Networks」、Discovery Science、Springer, Cham、2017年、vol 9956
先行技術では、解釈の容易さと予測精度の高さが両立していない。例えば非特許文献1に開示されているグラフィカルモデルには、単純な条件の組み合わせに分解することはできないため、解釈が難しいという問題がある。また、非特許文献2に記載の技術では、利用できるニューラルネットワークのモデルが、決定木で近似できるような単純なモデルに限定されてしまうため、予測性能が低くなってしまう。
本願発明は上記の課題に鑑みてなされたものであり、予測の根拠が容易に解釈でき、なおかつ精度が高い予測を実現することである。
本発明の情報処理装置は、1)入力データを取得する取得部と、2)ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、入力データに対応する予測ルールを抽出する抽出部と、を有する。予測ルールは、予測の根拠となる条件を示す条件データと、条件データが示す条件に基づく予測を表す帰結データとを対応づけている。当該情報処理装置は、さらに、3)抽出された予測ルールに基づく出力を行う出力部を有する。入力データに対応する予測ルールの条件データは、取得した入力データが満たす条件を示す。
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)入力データを取得する取得ステップと、2)ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、入力データに対応する予測ルールを抽出する抽出ステップと、を有する。予測ルールは、予測の根拠となる条件を示す条件データと、条件データが示す条件に基づく予測を表す帰結データとを対応づけている。当該制御方法は、さらに、3)抽出された予測ルールに基づく出力を行う出力ステップを有する。入力データに対応する予測ルールの条件データは、取得した入力データが満たす条件を示す。
本発明のプログラムは、コンピュータを、入力データを取得する取得部、ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出部、および、前記抽出された予測ルールに基づく出力を行う出力部として機能させる前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す。
本発明によれば、予測の根拠が容易に解釈でき、なおかつ精度が高い予測が実現される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本実施形態の情報処理装置が行う処理を概念的に示す図である。 決定木、及び決定木に対応する予測ルールの一例を示す図である。 グラフィカルモデル、及びグラフィカルモデルに対応する予測式の一例を示す図である。 実施形態1の情報処理装置の機能構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 ニューラルネットワークの構成を例示する図である。 ニューラルネットワークの具体的な構成を例示する図である。 実施形態2の情報処理装置の機能構成を例示するブロック図である。 実施形態3の情報処理装置の機能構成を例示するブロック図である。 使用ルールセットの最適化とニューラルネットワークの最適化を並行して行う手法を例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、本実施形態の情報処理装置が行う処理を概念的に示す図である。情報処理装置2000は、入力されたデータに関する予測を出力する。図1において、入力されるデータは入力データ10であり、予測の結果を表すデータは予測結果20である。入力に対する予測を行う処理としては、例えば、入力された画像データに含まれるオブジェクトのクラス(例えば、人、犬、車など)を予測する処理(分類問題)がある。この場合、入力された画像データが入力データ10である。また、予測結果20は、予測されたクラス及びその予測の根拠を示す。
情報処理装置2000は、入力データ10を取得すると、ニューラルネットワーク(NN: Neural Network)30を用いて、使用ルールセット60の中から、入力データ10に関する予測に用いる予測ルール50を抽出する。使用ルールセット60は、入力データ10に関する予測に用いる予測ルール50の候補を複数含んでいる。予測ルール50は、予測の根拠を表す条件データ52と、入力データ10に関する予測を表す帰結データ54とを対応づけた情報である。予測ルール50が対応づける条件データ52と帰結データ54は、条件節と帰結節の関係にあると言える。使用ルールセット60から予測ルール50を抽出することは、入力データ10に関する予測(帰結データ54)と、その予測の根拠(条件データ52)とを特定することに相当する。なお、入力データ10に関する予測に用いる予測ルール50は、入力データ10が満たす条件を示す条件データ52を示す。
情報処理装置2000は、抽出された予測ルール50が示す帰結データ54に基づいて、予測結果20を出力する。例えば予測結果20は、予測ルール50の内容を示す表示画面やファイルなどである。
例えば入力データ10として、「x1=0.5, x2=1.5」という2次元データが入力されたとする。この場合、例えばニューラルネットワーク30は、使用ルールセット60の中から、「条件データ: x1>0 and x2<2, 帰結データ:y=2」という予測ルール50-1を抽出する。予測ルール50-1は、入力データ10が「x1>0 and x2<2」という条件を満たしていることを根拠として、「y=2」という予測を行う予測ルールである。ここで、図1に例示している各予測ルール50のように、要素名、閾値、及び不等号の組み合わせで表される条件は、人間がその意味を容易に理解できる(すなわち、解釈が容易である)。
なお、後述するように、条件データ52によって条件付けられる要素(上述の x1 や x2)は、入力データ10によって直接示されている値ではなく、入力データ10から抽出される特徴(例えば、画像データから抽出される特徴量)であってもよい。この場合、ニューラルネットワーク30は、入力データ10を入力として受け付けて入力データ10から特徴を抽出するか、又は入力データ10から抽出された特徴を入力として受け付け、抽出された特徴について処理を行って、予測ルール50を出力する。特徴抽出についての詳細は後述する。また、この場合、「条件データ52が示す条件を入力データ10が満たす」とは、「条件データ52が示す条件を、入力データ10から抽出された特徴が満たす」ことを意味する。
<作用効果>
本実施形態の情報処理装置2000によって奏される作用効果を明瞭にするため、本技術分野の前提技術である決定木とグラフィカルモデルを説明する。
図2は、決定木、及び決定木に対応する予測ルールの一例を示す図である。決定木の内部ノードはそれぞれ条件を表し、条件の真と偽に対応する2つの子ノードを持つ。決定木では、データが入力されると、根ノードから探索が開始される。入力されたデータについて、条件が真であれば真に対応する子ノード以下がさらに探索され、偽であれば偽に対応する子ノード以下がさらに探索される。この探索を繰り返し、葉ノードに到達すれば、葉ノードが持つ予測値を予測結果として出力する。
決定木のルートから葉ノードに至るパスは、それぞれ、条件部と帰結節から構成される予測ルールであると解釈できる。条件部は、根ノードから葉ノードへのパスで通過する内部ノードに含まれる条件を、否定と論理積(AND)で結合した複合条件で表される。図2の例では、決定木が持つ4つの葉ノードに対応する4つの予測ルールが示されている。
決定木に対応する予測ルールは、人間にとって解釈が容易である。なぜなら、一つの要素に関する単純な条件の組み合わせとして見ることができるためである。また、各条件の真偽は他の条件に影響されないため、それぞれの条件の真偽を人間が容易に判断できるためである。図2の例で言えば、「x0>1」が成り立つかどうかは要素 x0 の値だけを確認すれば良く、それ以外の要素 x1 は考慮する必要がない。また、この条件が成り立つかどうかは、真か偽のどちらかで曖昧さがない。
また、各条件が一つの要素と一つの閾値から構成されるとき、閾値自体が持つ意味が分かりやすく、それらの条件を組み合わせた複合的な条件の意味も分かりやすくなる。
例えば、機械の故障予測において、観測データが温度と湿度を表すとする。このとき、『「温度 > 45 and 湿度 > 70」という条件が成り立つ時に機械が故障する』という予測ルールが得られたとする。この予測ルールによれば、「温度が 45 度より高くなり、なおかつ湿度が 70% を超えると故障する」という直感的に分かりやすい知見が得られ、ユーザには有用である。
これに対し、複数の要素を組み合わせた値についての条件で予測ルールを生成すると、そのルールの解釈が難しくなる。例えば、『「3.5 * 温度 + 1.9 * 湿度 > 23」という条件が成り立つ時に機械が故障する』という予測ルールがあるとする。この場合、23 という閾値は、温度や湿度を直接的に表す値ではないため、その意味を直感的に理解することが難しい。すなわち、人は、この予測ルールを見ただけでは、温度と湿度がどのような値になると機械が故障している可能性があるのかを容易に把握できない。
決定木は、解釈が容易である一方で、予測性能が比較的低いという欠点がある。この欠点を解消するため、多数の要素を用いた複雑な条件をノードとして用いることによって予測性能を高めた決定木も提案されている。しかしながら、決定木を複雑にすると、予測性能が向上する反面、解釈が容易であるという利点が失われてしまう。
次に、グラフィカルモデルについて説明する。図3は、グラフィカルモデル、及びグラフィカルモデルに対応する予測式の一例を示す図である。図3に示すグラフィカルモデルは、ロジスティック回帰と呼ばれる最も単純なグラフィカルモデルのひとつである。w0、w1、w2 はそれぞれ、クラス C0、C1、C2 を予測するための重みベクトルである。
このようなグラフィカルモデルでは、各要素がそれぞれ連続値を取り、さらに各要素に連続値の重みが乗算され、それらの和によって予測結果が決まる。したがって、グラフィカルモデルに対応する予測ルール(予測式)は、人間にとって解釈が難しい。例えば、各要素の重要性は、他の要素の重みとの相対的な大きさによって決定されるため、個々の要素の重要性を独立に判断することができない。
前述した故障予測の例で言えば、グラフィカルモデルは、温度と湿度の値を複雑に組み合わせた予測式しか示すことができず、「温度が 45 度より高くなり、しかも湿度が 70% を超えると故障する」といった直感的な理解が可能な予測式を生成できない。
以上のことから、1)決定木には、予測ルールの解釈は容易であるものの予測性能が低いという問題があり、2)グラフィカルモデルには、予測性能は高いものの予測ルールの解釈が難しいという問題がある。
この点、本実施形態の情報処理装置2000は、入力データ10が入力されたことに応じ、ニューラルネットワーク30を利用して、予測の根拠(条件データ52)とその根拠に基づく予測の結果(帰結データ54)とを含む予測ルール50を得ることで、入力データ10に関する予測を行う。すなわち、情報処理装置2000が行う予測は、条件節と帰結節とで構成される予測ルールに従った予測に相当する。よって、情報処理装置2000によれば、人間にとって解釈が容易な予測ルールをユーザに提供することが可能となる。特に、条件節が単純な条件(例えば1つの要素に関する閾値条件)の組み合わせで構成される場合、人間にとっての解釈容易性が高くなる。
さらに情報処理装置2000は、予測ルール50の抽出にニューラルネットワーク30を利用する。一般に、ニューラルネットワークは決定木と比べて予測精度が高い。よって、情報処理装置2000を利用することで、決定木の様に理解が容易な予測ルールをユーザに提供することを可能にしつつ、精度の高い予測を行うことができる。
ここで、情報処理装置2000における重要な利点の1つとして、「ニューラルネットワーク30のモデルの複雑さに制限がない」ということがある。ニューラルネットワークを決定木で単純化して近似する手法(非特許文献2参照)では、決定木で近似できるような単純なモデルのニューラルネットワークしか利用できないという制限がある。そのため、予測精度を高くすることが難しい。
この点、情報処理装置2000では、ニューラルネットワークに予測結果20そのものを出力させるのではなく、予測結果20の決定に利用する予測ルール50をニューラルネットワーク30に抽出させる。よって、ニューラルネットワークそのものが予測ルールを表すわけではないため、利用するニューラルネットワークは決定木に近似可能である必要がない。そのため、任意の複雑さを持ったニューラルネットワークを用いることができる。
ここで、ニューラルネットワーク30を利用して抽出される予測ルール50は、使用ルールセット60に含まれる複数の予測ルール50のうちの1つである。使用ルールセット60は、予め用意しておく。予め用意されている複数の予測ルール50の中から、予測に利用する予測ルール50を選択することには、予測の根拠についてユーザが納得しやすいという利点がある。
例えば、ニューラルネットワーク30が使用ルールセット60の中から予測ルール50を抽出する代わりに、ニューラルネットワーク30が任意の予測ルール50を生成するように構成することも考えられる。しかしながら、ニューラルネットワーク30が任意の予測ルール50を生成できるようにすると、互いに類似する入力データ10について、互いに大きく異なる予測の根拠を示す予測ルール50が生成されるなど、予測の根拠についてユーザが納得しにくい状況になることが考えられる。
この点、本実施形態の情報処理装置2000によれば、使用ルールセット60に含まれる予測ルール50という、予め定めた範囲内の予測ルール50を利用するため、予測の根拠についてユーザが納得しにくいという状況になることを防ぐことができる。
なお、図1を参照した上述の説明は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の機能を限定するものではない。以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図4は、実施形態1の情報処理装置2000の機能構成を例示する図である。情報処理装置2000は、取得部2020、抽出部2040、及び出力部2060を有する。取得部2020は、入力データ10を取得する。抽出部2040は、ニューラルネットワーク30を用いて、使用ルールセット60の中から、入力データ10に対応する予測ルール50を抽出する。出力部2060は、抽出された予測ルール50に基づいて予測結果20を出力する。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図5は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
ストレージデバイス1080は、使用ルールセット60をさらに記憶していてもよい。ただし、使用ルールセット60は、計算機1000から取得可能な情報であればよく、ストレージデバイス1080に記憶されていなければならないものではない。例えば使用ルールセット60は、ネットワークインタフェース1120を介して計算機1000と接続されているデータベースサーバに記憶させておくことができる。
<処理の流れ>
図6は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は、入力データ10を取得する(S102)。抽出部2040は、ニューラルネットワーク30を用い、使用ルールセット60から、入力データ10に対応する予測ルール50を抽出する(S104)。出力部2060は、予測ルール50に基づいて、予測結果20を出力する(S106)。
<入力データ10の取得:S102>
取得部2020は入力データ10を取得する(S102)。入力データ10は、目的とする予測を行うために必要なデータである。例えば前述したように、画像データに含まれるオブジェクトのクラスを予測する処理においては、入力データ10として画像データを利用することができる。ただし、入力データ10は画像データに限定されず、テキストデータなどの任意のデータを入力データ10とすることができる。
なお、画像データやテキストデータに対して特徴抽出を行う前処理を行い、その結果として得られる1つ以上の特徴(以下、特徴ベクトル)を入力データ10としてもよい。この場合、後述するニューラルネットワーク30は、特徴抽出を行う機能を有する必要がない。
入力データ10は、1つ以上の種々のデータ(数値データ、文字データ、又は文字列データなど)で構成される。入力データ10が2つ以上のデータで構成される場合、入力データ10は、例えばベクトル形式で表される。例えば、(0.5, 1.5) という形式のデータが入力データ10として得られる。
取得部2020が入力データ10を取得する方法は任意である。例えば取得部2020は、入力データ10が記憶されている記憶装置から入力データ10を取得する。入力データ10が記憶されている記憶装置は、情報処理装置2000の内部に設けられていてもよいし、外部に設けられていてもよい。その他にも例えば、情報処理装置2000は、ユーザによる入力操作によって入力される入力データ10を取得する。その他にも例えば、取得部2020は、他の装置によって送信される入力データ10を受信することで、入力データ10を取得する。
<予測ルール50の抽出:S104>
抽出部2040は、ニューラルネットワーク30を用いて、使用ルールセット60から予測ルール50を抽出する。例えばニューラルネットワーク30は、入力データ10が入力されたことに応じ、使用ルールセット60から予測ルール50を抽出し、抽出した予測ルール50を出力するように構成される。その他にも例えば、ニューラルネットワーク30は、使用ルールセット60に含まれる各予測ルール50について、抽出すべき度合いを示すベクトルを出力してもよい。以下、ニューラルネットワーク30の構成について具体例を挙げて説明する。
図7は、ニューラルネットワーク30の構成を例示する図である。図7において、ニューラルネットワーク30は、特徴抽出ネットワーク32及びルール抽出ネットワーク34を有する。なお、前述したように、入力データ10として特徴ベクトルが入力される場合、ニューラルネットワーク30は特徴抽出ネットワーク32を有さなくてよい。
特徴抽出ネットワーク32は、入力データ10から特徴を抽出することで特徴ベクトルを生成するニューラルネットワークである。特徴抽出ネットワーク32の各出力ノードは、特徴ベクトルを構成する各要素の値を出力する。例えば、畳み込みニューラルネットワークの特徴抽出層を、特徴抽出ネットワーク32として利用することができる。ただし、特徴抽出ネットワーク32のモデルは畳み込みニューラルネットワークには限定されず、既存の種々のモデル(例えば、多層パーセプトロンやリカレントニューラルネットワークなど)を利用することができる。
特徴抽出ネットワーク32は、入力データ10から特徴を抽出できるように予め学習させておく。なお、データから特徴を抽出するようにニューラルネットワークを学習させる技術には、既存の技術を利用することができる。
ルール抽出ネットワーク34は、特徴抽出ネットワーク32から出力された特徴ベクトルを用いて、使用ルールセット60から予測ルール50を抽出する。ルール抽出ネットワーク34の複数の出力ノードそれぞれは、使用ルールセット60に含まれる各予測ルール50に対応づけられている。例えばルール抽出ネットワーク34は、入力データ10から抽出された特徴ベクトルが入力されたことに応じ、入力データ10に対応する予測ルール50(すなわち、抽出すべき予測ルール50)に対応する出力ノードからは1を出力し、その他の出力ノードからは0を出力するように予め学習されている。そこで抽出部2040は、入力データ10をニューラルネットワーク30に入力し、ルール抽出ネットワーク34において1が出力された出力ノードに対応する予測ルール50を抽出する。
その他にも例えば、ルール抽出ネットワーク34は、入力データ10から抽出された特徴ベクトルが入力されたことに応じ、各予測ルール50を抽出すべき度合い(例えば生起確率)を各出力ノードから出力するように予め学習されている。抽出部2040は、ルール抽出ネットワーク34から各予測ルール50について出力された値に基づいて、予測ルール50を抽出する。例えば、ルール抽出ネットワーク34が各予測ルール50の生起確率を出力する場合、抽出部2040は、出力された各生起確率で表される確率分布に従って、使用ルールセット60から予測ルール50を1つサンプリングすることで、予測ルール50を抽出する。
なお、ルール抽出ネットワーク34の学習方法については後述する。
ルール抽出ネットワーク34のモデルにも、特徴抽出ネットワーク32のモデルと同様に、種々の既存のニューラルネットワークのモデルを利用できる。ここで、特徴抽出ネットワーク32とルール抽出ネットワーク34のモデルは、互いに同一であってもよいし、互いに異なっていてもよい。
ニューラルネットワーク30の構成は、前述した特徴抽出ネットワーク32及びルール抽出ネットワーク34を有する構成に限定されない。例えばニューラルネットワーク30は、特徴抽出ネットワーク32とルール抽出ネットワーク34の機能を併せ持つ1つのニューラルネットワークとして構成されてもよい。
その他にも例えば、入力データ10から特徴データを抽出する処理には、ニューラルネットワークを用いなくてもよい。この場合、ニューラルネットワーク30として、ルール抽出ネットワーク34を用いる。抽出部2040は、入力データ10から特徴データを抽出する処理を行い、その結果抽出された特徴データをルール抽出ネットワーク34に入力することにより、予測ルール50を生成する。なお、ニューラルネットワーク以外によって画像データやテキストデータなどの種々のデータから特徴を抽出する技術には、既存の技術を利用することができる。
また、ニューラルネットワーク30は、入力データ10の特徴データではなく、入力データ10そのものに基づいて、予測ルール50の抽出を行ってもよい。ニューラルネットワーク30は、特徴抽出ネットワーク32を有さず、なおかつルール抽出ネットワーク34に対して入力データ10を入力する。
<<ニューラルネットワーク30の詳細な具体例>>
ここでは、ニューラルネットワーク30の構成について、詳細な具体例を説明する。ただし、以下で説明する構成は一例であり、ニューラルネットワーク30の構成には種々の構成を採用することができる。
図8は、ニューラルネットワーク30の具体的な構成を例示する図である。この例では、入力データ10以外に、正解(正しい予測結果)が既知である入力データ(以下、参照データ)が複数用意されている。そして、参照データとそれに対応する正解データとを用いて、使用ルールセット60に含まれる各予測ルール50に関する特徴を表す行列(以下、使用ルールセット60の特徴行列)を用意する。ニューラルネットワーク30は、入力データ10から抽出される特徴ベクトルと、使用ルールセット60の特徴行列とを用いて、各予測ルール50を抽出すべき度合いを出力する。
まず、使用ルールセット60の特徴行列を生成する方法について説明する。まず、複数の参照データを連結した行列 X (参照データはベクトル)を特徴抽出ネットワークに入力することで、各参照データの特徴ベクトルを連結した行列 D が得られる。ここで、特徴ベクトルのサイズを h とし、参照データの数を m とする。よって、行列 D はサイズ (m,h) の行列である。なお、この特徴抽出ネットワークは、前述した特徴抽出ネットワーク32と同様のものである。
次に、行列 D を任意の変換層(例えば線形変換を行う層)を用いて変換し、この変換によって得られた行列と、正規化された真理値行列 Tnorm とについて行列積を算出することにより、使用ルールセット60の特徴行列 V が得られる。なお、変換層は設けなくてもよい。
正規化された真理値行列 Tnorm は、真理値行列 T を、各行の合計が1になるように正規化したものである。真理値行列 T は、複数の参照データそれぞれについて、各予測ルール50の条件データ52を満たすか否かを表す真理値を示す。真理値行列 T は、サイズ (m,n) の行列であり、各要素は1か0のどちらかの値を取る。真理値行列 T の j 行 i 列の値は、j 番目の予測ルール rj を i 番目の参照データの特徴ベクトル fi が満たすときに1となり、それ以外のときに0となる。
特徴行列 V は、サイズ (m,h) の行列である。i 番目の行は、予測ルール ri の特徴ベクトルを表す。上記の計算から、予測ルール ri の特徴ベクトルは、特徴ベクトルが予測ルール ri を満たす参照データの特徴ベクトルを変換したものの平均となる。
入力データ10は、特徴抽出ネットワーク32に入力されることで、特徴ベクトル d に変換される。そして、特徴ベクトル d を任意の変換層に入力し、ベクトル d' を得る。なお、変換層は設けなくてもよい。
さらに、入力データ10から得られたベクトル d' と、予測ルール50の特徴行列 V との行列積(d'V)として、アテンション a を得る。アテンション a はサイズ m のベクトルであり、i 番目の要素は、入力データ10に対する予測ルール ri の適切度合い(入力データ10に関する予測に利用する適切さの度合い)を表す。
さらに、入力データ10の各予測ルール50に関する真理値(すなわち、入力データ10が各予測ルール50の条件データ52を満たすかどうか)を利用して、アテンション a を変換する。この処理は、入力データ10が条件データ52を満たさない予測ルール50が、抽出部2040によって抽出されないようにするための処理である。
具体的には、入力データ10の各予測ルール50に関する真理値を表す真理値ベクトル t の各要素にマイナス1を加算した後、各要素にマイナス∞を掛ける。この真理値ベクトルは、i 番目の要素に、予測ルール ri についての真理値を示す。すなわち、i 番目の要素の値は、入力データ10が予測ルール ri の条件データ52を満たす場合に1であり、入力データ10が予測ルール ri の条件データ52を満たさない場合に0である。
上述した処理の結果、ベクトル t は、入力データ10が条件データ52を満たす予測ルール50に対応する要素に0を示し、入力データ10が条件データ52を満たさない予測ルール50に対応する要素にマイナス∞を示すベクトルに変換される。そして、変換後のベクトル t をアテンション a に加算することで、アテンション a' を得る。アテンション a' において、入力データ10が条件データ52を満たさない予測ルール50に対応する要素はマイナス∞であり、その他の要素はアテンション a の対応する要素と同じである。
ニューラルネットワーク30は、アテンション a' に基づくベクトルを出力する。例えばニューラルネットワーク30は、アテンション a' を argmax 層(argmax 関数による変換を行う層)で変換したベクトルを出力する。この場合、ニューラルネットワーク30は、アテンション a' において値が最大の要素に対応する出力ノードのみから1を出力し、その他の出力ノードからは0を出力する。抽出部2040は、1を出力した出力ノードに対応する予測ルール50を抽出する。
ここで、後述するように、各予測ルール50には予め優先度(第1優先度と呼ぶ)が与えられていてもよい。この場合、例えばニューラルネットワーク30は、アテンション a' を softmax 層(softmax 関数による変換を行う層)で変換したベクトルを出力する。softmax 層により、アテンション a' の各要素が、その要素の大きさに基づく確率に変換される。抽出部2040は、ニューラルネットワーク30から出力されたベクトルと、事前に与えられている各予測ルール50の優先度を表すベクトルとを乗算し、乗算結果のベクトルを argmax 層で変換する。抽出部2040は、値が1である予測ルール50を抽出する。こうすることで、ニューラルネットワーク30から出力された確率と優先度の積が最大である予測ルール50が抽出される。よって、各予測ルール50の優先度を加味した上で、最も適切な予測ルール50を抽出することができる。
<予測結果20の出力:S106>
出力部2060は、抽出された予測ルール50に基づいて、予測結果20を出力する(S106)。例えば出力部2060は、予測ルール50の内容を表す文字列を予測結果20として出力する。その他にも例えば、出力部2060は、予測ルール50の内容をグラフや図などを用いてグラフィカルに表した情報を予測結果20として出力してもよい。
予測ルール50を表す情報の出力先は様々である。例えば出力部2060は、ディスプレイ装置に、抽出された予測ルール50を表す情報を表示させる。その他にも例えば、出力部2060は、記憶装置に、抽出された予測ルール50を表す情報を記憶させてもよい。その他にも例えば、ユーザが他の端末から情報処理装置2000にアクセスしている場合、情報処理装置2000は、当該他の端末に、抽出された予測ルール50を表す情報を送信してもよい。
<予測ルール50の優先度>
予測ルール50には優先度が付されていてもよい。前述したように、この優先度を第1優先度と呼ぶ。この場合、抽出部2040は、ニューラルネットワーク30の出力結果と、予測ルール50に付された第1優先度とに基づいて、抽出する予測ルール50を決定する。例えば前述したように、ニューラルネットワーク30から各予測ルール50の生起確率を示すベクトルが抽出されるようにし、抽出部2040は、このベクトルと、各予測ルール50の第1優先度を示すベクトルとの積を算出する。そして、抽出部2040は、算出されたベクトルに基づいて予測ルール50を抽出する。例えば前述したように、抽出部2040は、上述した積が最大の予測ルール50を抽出する。その他にも例えば、抽出部2040は、各予測ルール50について算出された上述の積に基づく確率分布に従って、使用ルールセット60から予測ルール50をサンプリングすることで、予測ルール50を抽出してもよい。
[実施形態2]
実施形態2の情報処理装置2000は、使用ルールセット60を生成する機能をさらに有する。情報処理装置2000は、候補ルールセット70を用いて使用ルールセット60を生成する。候補ルールセット70は、複数の予測ルール50を含む。候補ルールセット70に含まれる予測ルール50の数は、使用ルールセット60に含まれる予測ルール50の数より多い。すなわち、使用ルールセット60は、候補ルールセット70のサブセットである。以下で説明する点を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
図9は、実施形態2の情報処理装置2000の機能構成を例示するブロック図である。実施形態2の情報処理装置2000は生成部2080を有する。生成部2080は、候補ルールセット70を用いて使用ルールセット60を生成する。具体的には、生成部2080は、候補ルールセット70の中から複数の予測ルール50を抽出し、抽出した複数の予測ルール50を含む使用ルールセット60を生成する。候補ルールセット70から予測ルール50を抽出する詳細な方法については後述する。
<作用・効果>
本実施形態の情報処理装置2000によれば、抽出部2040が抽出する予測ルール50の候補の集合である使用ルールセット60を、用意された全ての予測ルール50の集合(候補ルールセット70)の部分集合として生成する。このように使用ルールセット60を自動的に生成することにより、ユーザが使用ルールセット60を生成する負担を軽減することができる。
また、使用ルールセット60に含まれる予測ルール50の数よりも多くの予測ルール50を用意しておき、その一部で使用ルールセット60を生成するという方法を採用することによれば、予測に不要な予測ルール50を、情報処理装置2000が利用する予測ルール50の候補から除外することができる。これにより、大量のルールの中から絞り込まれた少数のルールだけで予測結果を説明できる。これにより、ユーザが予測に使われたルールを確認する負担を軽減できる。また、使用ルールセットのサイズを適切に選んだ場合は、過学習を防ぐことができ、情報処理装置2000による予測の精度を向上させることができる。
<使用ルールセット60の生成>
生成部2080が使用ルールセット60を生成する方法には、様々な方法を採用することができる。例えば生成部2080は、候補ルールセット70から所定個の予測ルール50をランダムにサンプリングし、サンプリングした予測ルール50を含む使用ルールセット60を生成する。なお、サンプリングする予測ルール50について、重複を許可してもよいし、許可しなくてもよい。前者の場合、使用ルールセット60に含まれる予測ルール50の数が所定個となる。一方、後者の場合、使用ルールセット60に含まれる予測ルール50の数が所定個以下となる。
ここで、重複を許可してサンプリングを行う場合、予測ルール50に、サンプリングされた回数に応じた第1優先度を付与してもよい。すなわち、使用ルールセット60に含める予測ルール50の第1優先度を、候補ルールセット70からサンプリングされた回数が多いほど高くする。
また、候補ルールセット70に含まれる各予測ルール50に、使用ルールセット60に含める優先度(以下、第2優先度)を付しておいてもよい。この場合、生成部2080は、第2優先度が高い予測ルール50ほど高い確率で使用ルールセット60に含める。例えば、前述したサンプリングを行う際、第2優先度が大きい予測ルール50ほど高い確率でサンプリングするようにする。各予測ルール50をサンプリングする確率は、例えば、各予測ルール50の第2優先度を、第2優先度の総和で割ることで算出する。
予測ルール50の第2優先度の定め方は任意である。例えば、人手で生成した予測ルール50の第2優先度を、コンピュータが自動で生成した予測ルール50の第2優先度よりも高くする。これは、人手で生成した予測ルールの方が、コンピュータが自動生成した予測ルールよりも、解釈性が高い(人にとって読みやすい)と考えられるためである。その他にも例えば、条件データ52が示す条件の数が少ない予測ルール50ほど、優先度を高くしてもよい。これは、予測の根拠となる条件の数が少ない方が、解釈性が高いと言えるためである。
<ハードウエア構成の例>
実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図5によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。また、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、候補ルールセット70が記憶されていてもよい。ただし、候補ルールセット70は、情報処理装置2000の外部の記憶装置ネットワークインタフェース1120を介して計算機1000と接続されているデータベースサーバなど)に記憶されていてもよい。
[実施形態3]
実施形態3の情報処理装置2000は、ニューラルネットワーク30の訓練を行う機能をさらに有する。すなわち、実施形態3の情報処理装置2000は、ニューラルネットワーク30の出力に基づいて計算される予測損失を小さくするように、ニューラルネットワーク30の内部パラメータを更新する機能を有する。
そのために情報処理装置2000は、訓練部2100を有する。図10は、実施形態3の情報処理装置2000の機能構成を例示するブロック図である。訓練部2100は、バックプロパゲーションを用いてニューラルネットワーク30のパラメータを更新することで、ニューラルネットワーク30の訓練を行う。
以下、訓練部2100がニューラルネットワーク30の訓練を行う具体的な方法について説明する。
訓練部2100は、訓練データ80を取得する。訓練データ80は、訓練入力データ82と訓練正解データ84とが対応づけられたデータである。訓練入力データ82は、入力データ10と同種のデータである。すなわち、情報処理装置2000が入力データ10として画像データを扱うのであれば、訓練入力データ82も画像データである。訓練正解データ84は、訓練入力データ82についての正解を表すデータであり、帰結データ54と同種のデータである。例えば情報処理装置2000が、入力データ10に含まれるオブジェクトのクラスを予測するとする。この場合、例えば訓練正解データ84は、訓練入力データ82に含まれるオブジェクトのクラスを示す。
訓練部2100は、訓練入力データ82を取得部2020に入力し、抽出部2040によって抽出される予測ルール50を得る。そして訓練部2100は、得られた予測ルール50に含まれる帰結データ54及び訓練正解データ84について、予測損失を算出する。この予測損失としては、例えば、ニューラルネットワークの訓練に使われる一般的な予測損失(平均二乗誤差や交差エントロピー誤差など)を用いることができる。
訓練部2100は、算出された予測損失を減少させるようにバックプロパゲーション処理を行うことで、ニューラルネットワーク30のパラメータを更新する。ここで、少なくとも訓練部2100は、ルール抽出ネットワーク34のパラメータの更新を行う(ルール抽出ネットワーク34の訓練を行う)。特徴抽出ネットワーク32については、訓練部2100による訓練が行われても良いし、行われなくてもよい。後者の場合、特徴抽出ネットワーク32の訓練は別途の方法で行っておく。前述したように、特徴抽出ネットワーク32の訓練には既存の手法を利用することができる。
なお、訓練部2100による訓練の際(以下、トレーニングフェーズ)と情報処理装置2000の実際の運用時(以下、テストフェーズ)とで、抽出部2040の動作を異ならせてもよい。例えば実施形態1で説明したニューラルネットワーク30の詳細な具体例において、抽出部2040は、argmax 関数を用いて、抽出する予測ルール50を決定していた。しかしながら、一般に、argmax 関数はバックプロパゲーションが難しい関数であると言われている。
そこで例えば、トレーニングフェーズにおける抽出部2040、すなわち訓練部2100によって利用される際の抽出部2040は、argmax 関数の代わりに、バックプロパゲーションが可能な関数を利用するように構成しておく。例えば、softmax 関数を利用することが好適である。softmax 関数は、argmax 関数の連続的な近似と見ることができる。そのため、softmax 関数を利用することにより、argmax 関数を利用した場合と近い出力結果を得つつ、バックプロパゲーションが容易となる。
なお、温度つきの softmax 関数を利用することが特に有用である。これにより、より argmax 関数の出力に近い出力を得ることができる。以下の数式(1)は、温度つきの softmax 関数を表す式である。
Figure 0007020547000001
ここで、a i は、i 番目の予測ルール50に対応する softmax 関数の出力であり、τは温度を表す。
その他にも、Gumbel-Softmax 関数や、その変種である ST Gumbel-Softmax 関数などを利用してもよい。Gumbel-Softmax 関数は、連続的な確率分布に従ってサンプリングを行い、one-hot ベクトルに近いベクトルを生成する関数である。
訓練部2100は、訓練入力データ82を入力することで得られた帰結データ54と訓練正解データ84とについて予測損失を算出し、算出した予測損失に基づいてバックプロパゲーションを実行する。ここで、訓練用に生成された帰結データ54と訓練用に用意された正解データとについて予測損失を算出する方法、及びその予測損失に基づいてバックプロパゲーションを行う技術には、既存の技術を利用することができる。また、バックプロパゲーションを用いて、予測損失が減少するようにパラメータを更新する技術には、確率的勾配降下法、Momentum、又は AdaGrad などの種々の技術を利用することができる。
<使用ルールセット60の生成とニューラルネットワーク30の訓練>
情報処理装置2000による予測の精度を向上させる方法として、ニューラルネットワーク30の最適化と、使用ルールセット60の最適化とがある。ニューラルネットワーク30の最適化とは、ニューラルネットワーク30を訓練することで予測損失を減少させることである。使用ルールセット60の最適化とは、候補ルールセット70の中から、予測に有用な予測ルール50を適切に抽出することである。
ここでは、ニューラルネットワーク30の訓練を行いつつ、使用ルールセット60に含める予測ルール50を決定していく手法(すなわち、ニューラルネットワーク30の最適化と使用ルールセット60の最適化を並行して行う手法)について説明する。まず、手法の説明に入る前に、手法の説明に必要な定式化を行う。
まず、候補ルールセット70に含まれる各予測ルール50の生起確率を表すパラメータベクトルをθ0と表記する。θ0は、候補ルールセット70に含まれる各予測ルール50に与えられた第2優先度に基づいて決まる。生成部2080は、パラメータベクトルθ0が表す生起確率の下でλ回のサンプリングを行うことで、使用ルールセット60を生成する。ここで、使用ルールセット60に含まれる予測ルール50には、第1優先度として、候補ルールセット70からその予測ルール50がサンプリングされた回数に比例する生起確率を与えるとする。この生起確率を表すパラメータベクトルθは、以下の様に定式化される。
Figure 0007020547000002
カウント c は、候補ルールセット70に含まれる予測ルール50の数に等しい長さのベクトルである。c の各要素は、対応する予測ルール50が候補ルールセット70からサンプリングされた回数を示す。パラメータベクトルθも、候補ルールセット70に含まれる予測ルール50の数に等しいベクトルである。ただし、θにおいて、候補ルールセット70からサンプリングされなかった(すなわち、使用ルールセット60に入れられなかった)予測ルール50についての生起確率は0となる。そのためベクトルθは、使用ルールセット60内の各予測ルール50に付与された生起確率を表すベクトルとも見ることができる。
抽出部2040が使用ルールセット60から抽出する予測ルールを z と表記すると、パラメータベクトルθに従って z を抽出するという事象は、以下のように定式化できる。また、予測ルール z が抽出される確率の分布は、P(z|θ)と表記できる。
Figure 0007020547000003
さらに、ニューラルネットワーク30が予測ルール z を抽出する確率の分布は P(z|x,w) と表記できる。x は入力データ10を表し、w はニューラルネットワーク30の重みベクトルを表す。前述したニューラルネットワーク30の詳細な具体例で言えば、P(z|x,w) は、アテンション a' を softmax 層で変換することで得られるベクトルで表される確率分布である。
例えば抽出部2040は、P(z|x,w) と P(z|θ) とを混合することで得られる確率分布に従って、予測ルール50を抽出する。この混合により得られる確率分布は、以下の様に表すことができる。
Figure 0007020547000004
ここで、集合 R は候補ルールセット70を表す。また、x は入力データを表し、y は帰結データを表す。
このように2つのモデルが出力する確率分布の積を取って再度正規化する方法は、Product of experts (PoE) と呼ばれている。 モデルの出力の和を取る Mixture of Experts (MoE) に比べ、積を取る PoE では、両方のモデルで高く評価された予測ルール50が選択される。特に、カウント c がゼロである予測ルール50は、出現確率がゼロになるため、採択されることはなくなる。そのため、ニューラルネットワークに基づく確率の値がなんであろうとも、使用される予測ルール50の異なり数はλを超えることがない。このモデルは、元々のルールセット(候補ルールセット70)から、部分集合となる小規模なルールセット(使用ルールセット60)をサンプリングして、そのサンプリングされたルールセットからさらに予測ルール50を選んでいると見なすことができる。
上述した定式化の下で、使用ルールセット60の最適化とニューラルネットワーク30の最適化を並行して行う手法について説明する。この手法には、例えば、メトロポリス・ヘイスティングス法によってパラメータθの事後確率を近似する一般化 EM アルゴリズムを用いる。すなわち事後分布 p(θ|Y, X, w, θ0, λ) からθをサンプリングし、サンプリングされたθに基づいて w を更新する。ここで、X は訓練入力データ82をまとめた行列であり、i番目の行に i 番目の訓練入力データ xi を示す。また、Yは、訓練正解データ84をまとめた行列であり、i 番目の行に i 番目の訓練正解データ yi を示す。
図11は、使用ルールセット60の最適化とニューラルネットワーク30の最適化を並行して行う手法を例示する図である。T は、図11に示す一連の処理の繰り返し回数を表すハイパーパラメータである。n は、訓練入力データ xi と訓練正解データ yi のペアの総数を表す。s は、サンプリングの数を定めるハイパーパラメータである。
図11に示す手法では、後述する提案分布 g(θ'|θ) から新しいθ'をサンプリングし、以下の数式に示す採択確率 A に基づいて採択を決定する。すなわち、0から1の範囲の乱数が採択確率を下回れば採択し、それ以外は棄却する。
Figure 0007020547000005
提案分布は、できるだけ採択確率が大きくなるような分布を設定することが望ましい。ここでは、以下のように提案を実現する。すなわち、多項分布から生成されたカウント c は出現数の合計がλである。この出現数から一様な確率 1/λ でカウントを1減少させる。そして、以下の数式(9)に示す確率 B で予測ルール z をひとつランダムに選んでカウント c に追加したカウント c' として、θ'=c'/λを得る。
Figure 0007020547000006
この提案分布では、予測ルール50に予め与えられた第2優先度に基づく生起確率と、ニューラルネットワーク30の出力から得られる生起確率との積が大きい予測ルール50が追加される。そのため、一様ランダムに予測ルール50を選ぶよりも、前述した採択確率に基づく採択において採択される蓋然性が高くなる。
採択されたサンプルの集合をΘとし て、以下の数式(10)で近似する負の対数尤度の期待値を損失として、バックプロパゲーションを行う(図11の11行目)。これにより、ニューラルネットワークの重 み w を更新する。
Figure 0007020547000007
図11の1行目から11行目までの処理により、ニューラルネットワークが最適化される。そののち、最大事後確率推定(MAP 推定)を用いて、θ(すなわち、使用ルールセット60)を点推定する。すなわち、サンプリングされたθのうち、負の対数尤度が最小にあるものを採用して、使用ルールセット60とする。
<ハードウエア構成の例>
実施形態3の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図5によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の構成を組み合わせた構成や、上記以外の様々な構成を採用することもできる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1.
入力データを取得する取得部と、
ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出部と、を有し、
前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
前記抽出された予測ルールに基づく出力を行う出力部を有し、
前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、情報処理装置。
2.
前記ニューラルネットワークは、前記使用ルールセットに含まれる各前記予測ルールについて、前記入力データに関する予測に利用する適切さの度合いを出力し、
前記抽出部は、前記出力された適切さ度合いに基づいて、前記予測ルールの抽出を行う、1.に記載の情報処理装置。

前記抽出部は、
前記出力された適切さ度合いが最大である前記予測ルールを抽出するか、又は、
前記出力された適切さ度合いの大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、2.に記載の情報処理装置。
4.
前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
前記抽出部は、各前記予測ルールについて、前記出力された適切さ度合いと前記第1優先度との積を算出し、算出した積の大きさに基づいて、前記予測ルールの抽出を行う、2.に記載の情報処理装置。
5.
前記抽出部は、
前記算出された積が最大である前記予測ルールを抽出するか、又は、
前記算出された積の大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、4.に記載の情報処理装置。
6.
複数の前記予測ルールを含む候補ルールセットから一部の前記予測ルールを抽出し、抽出した複数の前記予測ルールを含む前記使用ルールセットを生成する生成部を有する、1.乃至5.いずれか一つに記載の情報処理装置。
7.
前記候補ルールセットにおいて、前記予測ルールには、前記候補ルールセットから抽出する優先度合いを表す第2優先度が与えられており、
前記生成部は、
前記第2優先度が高い予測ルールほど高い確率で前記候補ルールセットからサンプリングするサンプリング処理を複数回行い、少なくとも一回サンプリングされた各前記予測ルールを含む前記使用ルールセットを生成する、6.に記載の情報処理装置。
8.
前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
前記生成部は、前記予測ルールの第1優先度を、前記候補ルールセットからサンプリングされた回数が多いほど大きい値にする、7.に記載の情報処理装置。
9.
前記ニューラルネットワークのパラメータを更新する訓練部を有し、
前記訓練部は、訓練入力データ及び訓練正解データを取得し、
前記ニューラルネットワークは、各前記予測ルールについて、前記訓練入力データに対応する予測ルールとして選択される確率の高さを表す値を出力し、
前記訓練部は、各前記予測ルールについて出力された前記値と前記訓練正解データとを用いて予測損失を算出し、その予測損失が減少するように前記ニューラルネットワークのパラメータを更新する、1.乃至8.いずれか一つに記載の情報処理装置。
10.
コンピュータによって実行される制御方法であって、
入力データを取得する取得ステップと、
ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出ステップと、を有し、
前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
前記抽出された予測ルールに基づく出力を行う出力ステップを有し、
前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、制御方法。
11.
前記ニューラルネットワークは、前記使用ルールセットに含まれる各前記予測ルールについて、前記入力データに関する予測に利用する適切さの度合いを出力し、
前記抽出ステップにおいて、前記出力された適切さ度合いに基づいて、前記予測ルールの抽出を行う、10.に記載の制御方法。
12.
前記抽出ステップにおいて、
前記出力された適切さ度合いが最大である前記予測ルールを抽出するか、又は、
前記出力された適切さ度合いの大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、11.に記載の制御方法。
13.
前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
前記抽出ステップにおいて、各前記予測ルールについて、前記出力された適切さ度合いと前記第1優先度との積を算出し、算出した積の大きさに基づいて、前記予測ルールの抽出を行う、11.に記載の制御方法。
14.
前記抽出ステップにおいて、
前記算出された積が最大である前記予測ルールを抽出するか、又は、
前記算出された積の大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、13.に記載の制御方法。
15.
複数の前記予測ルールを含む候補ルールセットから一部の前記予測ルールを抽出し、抽出した複数の前記予測ルールを含む前記使用ルールセットを生成する生成ステップを有する、10.乃至14.いずれか一つに記載の制御方法。
16.
前記候補ルールセットにおいて、前記予測ルールには、前記候補ルールセットから抽出する優先度合いを表す第2優先度が与えられており、
前記生成ステップにおいて、
前記第2優先度が高い予測ルールほど高い確率で前記候補ルールセットからサンプリングするサンプリング処理を複数回行い、少なくとも一回サンプリングされた各前記予測ルールを含む前記使用ルールセットを生成する、15.に記載の制御方法。
17.
前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
前記生成ステップにおいて、前記予測ルールの第1優先度を、前記候補ルールセットからサンプリングされた回数が多いほど大きい値にする、16.に記載の制御方法。
18.
前記ニューラルネットワークのパラメータを更新する訓練ステップを有し、
前記訓練ステップにおいて、訓練入力データ及び訓練正解データを取得し、
前記ニューラルネットワークは、各前記予測ルールについて、前記訓練入力データに対応する予測ルールとして選択される確率の高さを表す値を出力し、
前記訓練ステップにおいて、各前記予測ルールについて出力された前記値と前記訓練正解データとを用いて予測損失を算出し、その予測損失が減少するように前記ニューラルネットワークのパラメータを更新する、10.乃至17.いずれか一つに記載の制御方法。
19.
10.乃至18.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。

Claims (10)

  1. 入力データを取得する取得部と、
    ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出部と、を有し、
    前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
    前記抽出された予測ルールに基づく出力を行う出力部を有し、
    前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、情報処理装置。
  2. 前記ニューラルネットワークは、前記使用ルールセットに含まれる各前記予測ルールについて、前記入力データに関する予測に利用する適切さの度合いを出力し、
    前記抽出部は、前記出力された適切さ度合いに基づいて、前記予測ルールの抽出を行う、請求項1に記載の情報処理装置。
  3. 前記抽出部は、
    前記出力された適切さ度合いが最大である前記予測ルールを抽出するか、又は、
    前記出力された適切さ度合いの大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項2に記載の情報処理装置。
  4. 前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
    前記抽出部は、各前記予測ルールについて、前記出力された適切さ度合いと前記第1優先度との積を算出し、算出した積の大きさに基づいて、前記予測ルールの抽出を行う、請求項2に記載の情報処理装置。
  5. 前記抽出部は、
    前記算出された積が最大である前記予測ルールを抽出するか、又は、
    前記算出された積の大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項4に記載の情報処理装置。
  6. 複数の前記予測ルールを含む候補ルールセットから一部の前記予測ルールを抽出し、抽出した複数の前記予測ルールを含む前記使用ルールセットを生成する生成部を有する、請求項1乃至5いずれか一項に記載の情報処理装置。
  7. 前記候補ルールセットにおいて、前記予測ルールには、前記候補ルールセットから抽出する優先度合いを表す第2優先度が与えられており、
    前記生成部は、
    前記第2優先度が高い予測ルールほど高い確率で前記候補ルールセットからサンプリングするサンプリング処理を複数回行い、少なくとも一回サンプリングされた各前記予測ルールを含む前記使用ルールセットを生成する、請求項6に記載の情報処理装置。
  8. 前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
    前記生成部は、前記予測ルールの第1優先度を、前記候補ルールセットからサンプリングされた回数が多いほど大きい値にする、請求項7に記載の情報処理装置。
  9. コンピュータによって実行される制御方法であって、
    入力データを取得する取得ステップと、
    ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出ステップと、を有し、
    前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
    前記抽出された予測ルールに基づく出力を行う出力ステップを有し、
    前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、制御方法。
  10. コンピュータを、
    入力データを取得する取得部、
    ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出部、および、
    前記抽出された予測ルールに基づく出力を行う出力部として機能させ、
    前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
    前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、
    プログラム。
JP2020522504A 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム Active JP7020547B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/020953 WO2019229931A1 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019229931A1 JPWO2019229931A1 (ja) 2021-06-03
JP7020547B2 true JP7020547B2 (ja) 2022-02-16

Family

ID=68697988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020522504A Active JP7020547B2 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20210209447A1 (ja)
JP (1) JP7020547B2 (ja)
WO (1) WO2019229931A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019635A1 (en) * 2019-07-15 2021-01-21 Ramot At Tel Aviv University Group specific decision tree
JP7382633B2 (ja) * 2019-12-05 2023-11-17 学校法人明治大学 学習モデル構築装置、学習モデル構築方法及びコンピュータプログラム
JP7341387B2 (ja) * 2020-07-30 2023-09-11 オムロン株式会社 モデル生成方法、探索プログラム及びモデル生成装置
CN113935251B (zh) * 2021-12-17 2022-04-22 北京达佳互联信息技术有限公司 用户行为预测模型的生成方法、用户行为预测方法及装置
CN115599698B (zh) * 2022-11-30 2023-03-14 北京航空航天大学 一种基于类关联规则的软件缺陷预测方法及系统
CN118396391B (zh) * 2024-06-26 2024-09-10 深圳碳中和生物燃气股份有限公司 生物炭基肥的施用风险评估方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785049B2 (ja) * 2000-06-21 2006-06-14 株式会社東芝 区間ルール抽出方法及びプログラム
US20170109657A1 (en) * 2011-05-08 2017-04-20 Panaya Ltd. Machine Learning-Based Model for Identifying Executions of a Business Process
JP6563487B2 (ja) * 2014-05-19 2019-08-21 エピシス サイエンス、インコーポレイテッド 動的状況認識データに基づいて複数の自律モバイルノードを制御する方法及び装置
US10475144B2 (en) * 2016-02-26 2019-11-12 Microsoft Technology Licensing, Llc Presenting context-based guidance using electronic signs
CN107492099B (zh) * 2017-08-28 2021-08-20 京东方科技集团股份有限公司 医学图像分析方法、医学图像分析系统以及存储介质
US11150630B2 (en) * 2017-10-19 2021-10-19 International Business Machines Corporation Predictive maintenance utilizing supervised sequence rule mining
US10498688B2 (en) * 2018-04-25 2019-12-03 International Business Machines Corporation Prioritizing notifications on a mobile communications device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JEREZ-ARAGONES, M, JOSE et al.,A Combined Neural Network and Decision Trees Model for Prognosis of Breast Cancer Relapse,Artificial Intelligence in Medicine,Vol.27,ELSEVIER,2003年,http://atarazanas.sci.uma.es/docs/tesisuma/16644013.pdf,pp.45-63
RIBEIRO, T, MARCO et al.,"Why Should I Trust You?": Explaining the Predictions of Any Classifier,Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,ACM,2016年08月13日,pp.1135-1144,https://dl.acm.org/citation.cfm?id=2939778,ISBN:978-1-4503-4232-2
中田雅也 et al.,解釈性に優れた知識獲得技術としての進化的機械学習,システム/制御/情報,日本,一般社団法人システム制御情報学会,2016年07月15日,第60巻 第7号,pp.16-21,ISSN:0916-1600
高橋省 et al.,電力系統制御システムの最新技術,富士時報,富士電機ホールディングス株式会社,2005年11月10日,第78巻 第6号,pp.409-413,ISSN:0367-3332

Also Published As

Publication number Publication date
JPWO2019229931A1 (ja) 2021-06-03
WO2019229931A1 (ja) 2019-12-05
US20210209447A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
JP7020547B2 (ja) 情報処理装置、制御方法、及びプログラム
Vaicenavicius et al. Evaluating model calibration in classification
Shukla Neuro-genetic prediction of software development effort
CN110138595A (zh) 动态加权网络的时间链路预测方法、装置、设备及介质
WO2020236483A1 (en) Cross-lingual information retrieval and information extraction
CN109120462A (zh) 机会网络链路的预测方法、装置及可读存储介质
CN110781686B (zh) 一种语句相似度计算方法、装置及计算机设备
CN110245310B (zh) 一种对象的行为分析方法、装置及存储介质
US11593619B2 (en) Computer architecture for multiplier-less machine learning
US20230419075A1 (en) Automated Variational Inference using Stochastic Models with Irregular Beliefs
CN111612262A (zh) 一种基于分位数回归的风电功率概率预测方法
WO2023179609A1 (zh) 一种数据处理方法及装置
JP6927409B2 (ja) 情報処理装置、制御方法、及びプログラム
Blanquero et al. On optimal regression trees to detect critical intervals for multivariate functional data
US20240028931A1 (en) Directed Acyclic Graph of Recommendation Dimensions
JP2017027509A (ja) 予測モデル構築装置
Mala et al. Fuzzy rule based classification for heart dataset using fuzzy decision tree algorithm based on fuzzy RDBMS
Kim et al. COVID-19 outbreak prediction using Seq2Seq+ Attention and Word2Vec keyword time series data
CN112597311A (zh) 一种基于低轨卫星通信下的终端信息分类方法及系统
Marwala et al. Neuro-rough models for modelling HIV
Xiong et al. Bayesian nonparametric regression modeling of panel data for sequential classification
US20240251225A1 (en) Predicting user interaction with communications
Antonsson et al. Fuzzy fitness functions applied to engineering design problems
EP4414891A1 (en) Neural network construction method and apparatus
CN111310971B (zh) 一种o2o商业模式的前景分析方法、装置及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220117

R151 Written notification of patent or utility model registration

Ref document number: 7020547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151