(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-28
(45)【発行日】2023-03-08
(54)【発明の名称】情報処理装置、方法、プログラム、ICチップ及び学習済モデル
(51)【国際特許分類】
G06N 20/00 20190101AFI20230301BHJP
【FI】
G06N20/00
(21)【出願番号】P 2019506242
(86)(22)【出願日】2018-03-14
(86)【国際出願番号】 JP2018010089
(87)【国際公開番号】W WO2018168971
(87)【国際公開日】2018-09-20
【審査請求日】2021-03-03
(31)【優先権主張番号】P 2017050459
(32)【優先日】2017-03-15
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】504165591
【氏名又は名称】国立大学法人岩手大学
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】金 天海
(72)【発明者】
【氏名】沼倉 彬雄
(72)【発明者】
【氏名】菅原 康滉
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
【審査官】杉浦 孝光
(56)【参考文献】
【文献】米国特許出願公開第2005/0144147(US,A1)
【文献】金 天海 ほか,力学系学習木における誤差ベース予測アルゴリズム,情報処理学会 研究報告 数理モデル化と問題解決(MPS),日本,情報処理学会,2017年02月20日,2017-MPS-112巻, 5号,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-20/00
(57)【特許請求の範囲】
【請求項1】
階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理装置であって、
入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定部と、
前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得部と、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定部と、
前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成部と、を備え、
前記出力ノード特定部は、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、最も信頼度の高い高信頼性ノードを選択する高信頼性ノード特定部と、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードであるか否かを判定する計算可否判定部と、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードである場合、前記高信頼性ノードを予測出力生成の基礎となる出力ノードとして特定し、一方、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードでない場合、前記高信頼性ノードの1つ下位に存在するノードを予測出力生成の基礎となる出力ノードとして特定する選択的出力ノード特定部と、を備える、情報処理装置。
【請求項2】
前記信頼度指標は、各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差を含み、
前記出力ノード特定部は、各前記入力ノードのうち、前記第1の誤差が最小となるノードを出力ノードとして特定する、請求項1に記載の情報処理装置。
【請求項3】
前記第1の誤差は、前記所定の学習処理において、既に得られている第1の誤差と、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分の絶対値とを、忘却係数α(0<α<1)を用いた重み付け加算することにより更新される、請求項2に記載の情報処理装置。
【請求項4】
前記信頼度指標は、
前記入力データに対応する出力と前記入力ノードの末端ノードにおける予測出力との差分に基づいて得られる末端予測誤差と、
各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差を算出し、前記入力データに対応する出力と前記第1の誤差が最小となる前記入力ノードの予測出力との差分に基づいて生成される第2の誤差とを含み、
前記出力ノード特定部は、前記末端予測誤差と前記第2の誤差との大小関係を比較し、前記第2の誤差の方が小さい場合には、各前記入力ノードのうち前記第1の誤差が最小となる前記入力ノードを出力ノードとして特定し、それ以外の場合には、前記入力ノードのうち末端ノードを出力ノードとして特定する、請求項1に記載の情報処理装置。
【請求項5】
前記信頼度指標は、各前記入力ノード毎に、所定条件下で、当該ノード以下又は当該ノードより下層のノードの予測出力を参照することにより生成され、
前記出力ノード特定部は、各前記入力ノード毎に生成された前記信頼度指標に基づいて出力ノードを特定する、請求項1に記載の情報処理装置。
【請求項6】
前記信頼度指標は、
各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差と、
各前記入力ノードにおいて、所定の条件下で、前記入力データに対応する出力と、当該入力ノードより下層の前記入力ノードの予測出力との差分に基づいて生成される第3の誤差とを含み、
前記出力ノード特定部は、各前記入力ノードについて、始端ノードから順に第1の誤差と第3の誤差との大小関係の比較を行い、第1の誤差が第3の誤差より小の条件を満たすノードを出力ノードとして特定する、請求項5に記載の情報処理装置。
【請求項7】
前記信頼度指標は、
各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差と、
各前記入力ノードにおいて、所定の条件下で、各前記入力ノード以下のノードの予測出力を参照して生成される第4の誤差と、
各前記入力ノードにおいて、所定の条件下で、各前記入力ノードより下のノードの予測出力を参照して生成される第5の誤差と、を含み、
前記出力ノード特定部は、
各前記入力ノードについて、始端ノードから順に前記第4の誤差と前記第5の誤差との大小関係の比較を行い、第4の誤差が第5の誤差より小の条件を満たす場合に、当該ノード以下のノードのうち最も第1の誤差が小さいノードを着目ノードとし、満たさない場合には、さらに下層のノードに対して、前記第4の誤差が前記第5の誤差より小の条件を満たすまで前記第4の誤差と前記第5の誤差との比較を進め、
前記着目ノードについて、第4の誤差より第5の誤差が小の条件を満たすか否かを判定し、満たす場合には、当該着目ノードを出力ノードとして特定し、満たさない場合には、さらに下層のノードに対して、前記第4の誤差が前記第5の誤差より小の条件を満たすまで前記第4の誤差と前記第5の誤差との比較を進め、
前記第4の誤差より前記第5の誤差が小の条件を満たすノードが前記末端ノードの1つ上の前記入力ノードに至るまで存在しない場合には、前記末端ノードを出力ノードとして特定する、請求項5に記載の情報処理装置。
【請求項8】
前記計算可否判定部における適切な計算の可否の判定は、前記高信頼性ノードの1つ下位に存在するノードに対応する学習対象データ数が2つ以上である場合に適切な計算が可能と判定し、一方、前記高信頼性ノードの1つ下位に存在するノードに対応する学習対象データ数が1つである場合に適切な計算が可能でないと判定するものである、請求項1に記載の情報処理装置。
【請求項9】
各前記入力ノードにおける、前記入力データに基づく出力と、過去に得られたデータに基づく予測出力との差分に基づいて、各前記信頼度指標を漸次的に更新する信頼度指標更新部をさらに備える、請求項1に記載の情報処理装置。
【請求項10】
階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理方法であって、
入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定ステップと、
前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得ステップと、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定ステップと、
前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成ステップと、を備え、
前記出力ノード特定ステップは、
前記信頼度指標取得ステップにより得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、最も信頼度の高い高信頼性ノードを選択する高信頼性ノード特定ステップと、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードであるか否かを判定する計算可否判定ステップと、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードである場合、前記高信頼性ノードを予測出力生成の基礎となる出力ノードとして特定し、一方、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードでない場合、前記高信頼性ノードの1つ下位に存在するノードを予測出力生成の基礎となる出力ノードとして特定する選択的出力ノード特定ステップと、を備える、情報処理方法。
【請求項11】
コンピュータを、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理装置として機能させるコンピュータプログラムであって、
入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定ステップと、
前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得ステップと、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定ステップと、
前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成ステップと、を備え、
前記出力ノード特定ステップは、
前記信頼度指標取得ステップにより得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、最も信頼度の高い高信頼性ノードを選択する高信頼性ノード特定ステップと、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードであるか否かを判定する計算可否判定ステップと、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードである場合、前記高信頼性ノードを予測出力生成の基礎となる出力ノードとして特定し、一方、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードでない場合、前記高信頼性ノードの1つ下位に存在するノードを予測出力生成の基礎となる出力ノードとして特定する選択的出力ノード特定ステップと、を備える、コンピュータプログラム。
【請求項12】
階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成するICチップであって、
入力データが入力される入力端子と、
前記入力端子を介して得られた前記入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定部と、
前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得部と、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定部と、
前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成部と、
前記予測出力を出力する出力端子と、を備え、
前記出力ノード特定部は、
前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、最も信頼度の高い高信頼性ノードを選択する高信頼性ノード特定部と、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードであるか否かを判定する計算可否判定部と、
前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードである場合、前記高信頼性ノードを予測出力生成の基礎となる出力ノードとして特定し、一方、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードでない場合、前記高信頼性ノードの1つ下位に存在するノードを予測出力生成の基礎となる出力ノードとして特定する選択的出力ノード特定部と、を備える、ICチップ。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の学習処理を行う情報処理装置、方法、プログラム、ICチップ、又は、当該学習処理の結果に基づいて所定の入力データに対応する予測出力を生成する情報処理装置、情報処理方法及び情報処理プログラム及び学習済モデルに関し、特に、木構造を用いて学習・予測処理を行う情報処理装置、方法、プログラム、ICチップ等に関する。
【背景技術】
【0002】
近年、本願の発明者らにより、学習木構造を利用した新たな枠組みの学習手法が提案されている。当該学習木構造を利用した学習手法は、その追加学習の容易性、高い計算速度、使用メモリ容量の削減効果等から高い注目を集めている(特許文献1)。
【0003】
図23及び
図24を参照しつつ、学習木構造を利用した学習装置を用いた予測手法の概要について説明する。
【0004】
図23Aに、当該学習手法における学習木の構造が示されており、
図23Bには当該構造に対応する状態空間のイメージが示されている。同図から明らかな通り、学習木構造は、階層的に分割された各状態空間に対応する各ノードを、最上位ノード(始端ノード又は根ノード)から最下端ノード(末端ノード又は葉ノード)まで、樹形状乃至格子状に配置することにより構成されている。なお、同図は、N階層d次元n分割の学習木においてNが2、dが2、nが2の場合の例を示しており、
図23Aに記載の学習木の1階層目の4つの末端ノードに付された1~4の番号は、それぞれ、
図23Bに記載の4つの状態空間に対応している。
【0005】
図24を用いて、学習済の学習木を用いて新規入力データに対する出力を予測する方法について説明する。
図24A及び
図24Bには、ある程度学習が進んだ状態の学習木の構成とそれに対応する状態空間がそれぞれ示されている。同図から明らかな通り、1階層目の末端ノードで「4」、当該末端ノードから見て2階層目の末端ノードにおいて「4」となる状態空間においては、ある程度学習が進み、矢印の通り、当該状態空間に対応する出力となる状態遷移ベクトルが得られている。また、1階層目の末端ノードで「1」、当該末端ノードから見て2階層目の末端ノードにおいて「4」となる状態空間においてもある程度学習が進み、矢印の通り、当該状態空間に対応する出力となる状態遷移ベクトルが得られている。なお、この状態遷移ベクトルは、同一のノードに対応する状態空間に包含される状態遷移ベクトルの相加平均により算出されたものである。
【0006】
ここに、新たに、
図24に記載の通り、1階層目の末端ノードで「1」、当該末端ノードから見て2階層目の末端ノードにおいて「2」となる状態空間に属すべき入力データが入力された場合、未だ当該状態空間に関するデータは存在しないことから、存在する学習済ノードの中で末端となる1階層目の「1」に相当するノードに基づいて予測出力が計算されることとなる。
【0007】
このように、従前の学習構成によれば、特定の状態空間について未だ学習が十分でない場合であっても、当該状態空間を包含するより上位のノードのうち末端位置に配されるノードを用いて予測処理を行うので、少なくとも大まかな予測処理を行うことでき、すなわち、汎化機能を実現することができる。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、状態空間はより下位層になるほど細分されていくことから、個々の状態空間に包含される学習データ数は、下位層である程、必然的に少なくなるという性質がある。また、下位層である程、学習対象データに含まれるノイズの影響を受け易いという傾向もある。そのため、特に、学習が未だ十分に進んでいない状態にあっては、末端ノードに基づく予測出力の信頼性は必ずしも十分とは言えない場合があった。
【0010】
本発明は、上述の技術的背景の下になされたものであり、その目的とすることころは、学習対象データにノイズ等が含まれている場合であっても、精度の高い予測処理を実現することにある。
【0011】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0012】
上述の技術的課題は、以下の構成を有する情報処理装置により解決することができる。
【0013】
すなわち、本発明に係る情報処理装置は、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理装置であって、入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定部と、前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得部と、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定部と、前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成部と、を備えている。
【0014】
このような構成によれば、学習処理により得られた信頼度指標に基づいて、より信頼度の高いノードを選択して予測出力生成を行うことができるので、より精度の高い予測処理を実現することができる。
【0015】
また、本願発明に係る情報処理装置において、前記信頼度指標は、各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差を含み、前記出力ノード特定部は、各前記入力ノードのうち、前記第1の誤差が最小となるノードを出力ノードとして特定する、ものであってもよい。
【0016】
このような構成によれば、予測出力生成の基礎となる出力ノードとして、それまでの学習結果において予測出力との誤差が小さかったノードを選択することとなるので、より信頼度の高いノードを選択することができ、それにより、より精度の高い予測処理を実現することができる。
【0017】
さらに、前記情報処理装置において、前記第1の誤差は、前記所定の学習処理において、既に得られている第1の誤差と、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分の絶対値とを、忘却係数α(0<α<1)を用いた重み付け加算することにより更新される、ものであってもよい。
【0018】
このような構成によれば、学習処理を行う際、新たに追加された学習データをどの程度反映させるか、すなわちどの程度忘却させるかについて調整することができる。
【0019】
また、前記情報処理装置において、前記信頼度指標は、前記入力データに対応する出力と前記入力ノードの末端ノードにおける予測出力との差分に基づいて得られる末端予測誤差と、各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差を算出し、前記入力データに対応する出力と前記第1の誤差が最小となる前記入力ノードの予測出力との差分に基づいて生成される第2の誤差とを含み、前記出力ノード特定部は、前記末端予測誤差と前記第2の誤差との大小関係を比較し、前記第2の誤差の方が小さい場合には、各前記入力ノードのうち前記第1の誤差が最小となる前記入力ノードを出力ノードとして特定し、それ以外の場合には、前記入力ノードのうち末端ノードを出力ノードとして特定する、ものであってもよい。
【0020】
このような構成によれば、学習結果に基づき、末端ノードで予測を行った方が適切な場合には末端ノードを、末端ノード以外のノードで予測を行った方が適切な場合にはそれまでの学習結果において予測出力との誤差が小さかったノードを出力ノードとするので、より精度の高い予測処理を実現することができる。
【0021】
さらに、前記情報処理装置において、前記信頼度指標は、各前記入力ノード毎に、所定条件下で、当該ノード以下又は当該ノードより下層のノードの予測出力を参照することにより生成され、前記出力ノード特定部は、各前記入力ノード毎に生成された前記信頼度指標に基づいて出力ノードを特定する、ものであってもよい。
【0022】
このような構成によれば、学習木の各階層のノードの信頼性を判断する上で、より下層のノードの予測出力を参照するので、出力ノードを選択する上でどこまで経路上を下るべきかについて判定することができ、これにより、より精度の高い予測処理を実現することができる。
【0023】
また、前記情報処理装置において、前記信頼度指標は、各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差と、各前記入力ノードにおいて、所定の条件下で、前記入力データに対応する出力と、当該入力ノードより下層の前記入力ノードの予測出力との差分に基づいて生成される第3の誤差とを含み、前記出力ノード特定部は、各前記入力ノードについて、始端ノードから順に第1の誤差と第3の誤差との大小関係の比較を行い、第1の誤差が第3の誤差より小の条件を満たすノードを出力ノードとして特定する、ものであってもよい。
【0024】
このような構成によれば、学習木の各層のノードの信頼性を判断するにあたって、より下層のノードを参照するので、出力ノードを特定する上でどこまで経路を下るべきかについて判定することができ、これにより、より精度の高い予測処理を実現することができる。
【0025】
さらに、前記情報処理装置において、前記信頼度指標は、各前記入力ノードにおいて、前記入力データに対応する出力と各前記入力ノードに対応する状態空間に含まれる学習済のデータに基づく予測出力との差分に基づいて生成される第1の誤差と、各前記入力ノードにおいて、所定の条件下で、各前記入力ノード以下のノードの予測出力を参照して生成される第4の誤差と、各前記入力ノードにおいて、所定の条件下で、各前記入力ノードより下のノードの予測出力を参照して生成される第5の誤差と、を含み、前記出力ノード特定部は、各前記入力ノードについて、始端ノードから順に前記第4の誤差と前記第5の誤差との大小関係の比較を行い、第4の誤差が第5の誤差より小の条件を満たす場合に、当該ノード以下のノードのうち最も第1の誤差が小さいノードを着目ノードとし、満たさない場合には、さらに下層のノードに対して、前記第4の誤差が前記第5の誤差より小の条件を満たすまで前記第4の誤差と前記第5の誤差との比較を進め、前記着目ノードについて、第4の誤差より第5の誤差が小の条件を満たすか否かを判定し、満たす場合には、当該着目ノードを出力ノードとして特定し、満たさない場合には、さらに下層のノードに対して、前記第4の誤差が前記第5の誤差より小の条件を満たすまで前記第4の誤差と前記第5の誤差との比較を進め、前記第4の誤差より前記第5の誤差が小の条件を満たすノードが前記末端ノードの1つ上の前記入力ノードに至るまで存在しない場合には、前記末端ノードを出力ノードとして特定する、ものであってもよい。
【0026】
このような構成によれば、学習木の各層のノードの信頼性を判断する上で、より下層のノードを参照するので、出力ノードを特定するにあたって、どこまで経路を下るべきかについて判定することができ、これにより、より精度の高い予測処理を実現することができる。
【0027】
また、前記出力ノード特定部は、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、最も信頼度の高い高信頼性ノードを選択する高信頼性ノード特定部と、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードであるか否かを判定する計算可否判定部と、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードである場合、前記高信頼性ノードを予測出力生成の基礎となる出力ノードとして特定し、一方、前記高信頼性ノードの1つ下位に存在するノードが適切に計算可能なノードでない場合、前記高信頼性ノードの1つ下位に存在するノードを予測出力生成の基礎となる出力ノードとして特定する選択的出力ノード特定部と、を備えるものである。
【0028】
このような構成によれば、学習処理により得られた信頼度指標とその適切な計算の可否に基づいて、より信頼度の高いノードを選択して予測出力生成を行うことができるので、より精度の高い予測処理を実現することができる。
【0029】
さらに、前記計算可否判定部における適切な計算の可否の判定は、前記高信頼性ノードの1つ下位に存在するノードに対応する学習対象データ数が2つ以上である場合に適切な計算が可能と判定し、一方、前記高信頼性ノードの1つ下位に存在するノードに対応する学習対象データ数が1つである場合に適切な計算が可能でないと判定するものである。
【0030】
このような構成によれば、より信頼度の高いノードを選択して予測出力生成を行うことが期待できるので、より精度の高い予測処理を実現することができる。
【0031】
また、本発明は主として学習処理を行う情報処理装置としても観念することができる。すなわち、前記情報処理装置は、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに基づいて所定の学習処理を行う情報処理装置であって、入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定部と、各前記入力ノードにおける、前記入力データに基づく出力と、過去に得られたデータに基づく予測出力との差分に基づいて、予測精度を示す信頼度指標を漸次的に更新する信頼度指標更新部と、を備えている。
【0032】
このような構成によれば、予測出力生成の基礎とすべきノードを決定するための信頼度指標を、漸次的な学習処理により得ることができる。これにより、エラー耐性を有する情報処理装置を提供することができる。
【0033】
さらに、本発明は、情報処理方法としても観念することができる。すなわち、前記情報処理方法は、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理方法であって、入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各階層の入力ノードをそれぞれ特定する入力ノード特定ステップと、前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得ステップと、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定ステップと、前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成ステップと、を備えている。
【0034】
加えて、本発明は、コンピュータプログラムとしても観念することができる。すなわち、前記コンピュータプログラムは、コンピュータを、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成する情報処理装置として機能させるコンピュータプログラムであって、入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定ステップと、前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得ステップと、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定ステップと、前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成ステップと、を備えている。
【0035】
また、本発明は、情報処理用のICチップとしても観念することができる。すなわち、前記ICチップは、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルに基づいて、入力データに対応する予測出力を生成するICチップであって、入力データが入力される入力端子と、前記入力端子を介して得られた前記入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定する入力ノード特定部と、前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得する信頼度指標取得部と、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定する出力ノード特定部と、前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成する予測出力生成部と、前記予測出力を出力する出力端子と、を備えている。
【0036】
さらに、本発明は、学習済モデルとしても観念することができる。すなわち、前記学習済モデルは、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルに対して所定の学習対象データ群を学習させることにより得られた学習済モデルであって、入力データに基づいて、前記入力データに対応する前記学習木構造の始端から末端に至るまでの各層の入力ノードをそれぞれ特定し、前記所定の学習処理により得られ、かつ、予測精度を示す信頼度指標を取得し、前記信頼度指標取得部により得られた前記信頼度指標に基づいて、前記入力データに対応する各前記入力ノードのうちから、予測出力生成の基礎となる出力ノードを特定し、前記出力ノード特定部により特定された前記出力ノードに対応する状態空間に含まれる前記学習対象データに基づいて、予測出力を生成するものである。
【発明の効果】
【0037】
本発明に係る情報処理装置によれば、学習対象データにノイズ等が含まれる場合であっても、精度の高い予測処理を実現することができる。
【図面の簡単な説明】
【0038】
【
図1】
図1は、第1の実施形態に係る情報処理装置のハードウェア構成である。
【
図2】
図2は、エラーE
1の算出に関するフローチャートである。
【
図3】
図3は、第1の実施形態に係る情報処理装置の予測動作時のフローチャートである。
【
図4】
図4は、最小誤差ノードを使用するアルゴリズムに関する説明図である。
【
図5A】
図5Aは、ノイズ入りサイン波の学習結果(従来手法)について示す説明図である。
【
図5B】
図5Bは、ノイズ入りサイン波の学習結果(最小誤差ノード使用法)について示す説明図である。
【
図6A】
図6Aは、ノイズ入り単振動の学習結果について示す説明図であって、特に、単振動の学習概略について説明する図である。
【
図6B】
図6Bは、ノイズ入り単振動の学習結果について示す説明図であって、特に、予測誤差の比較図である。
【
図7】
図7は、第2の実施形態に係る情報処理装置の学習動作時のゼネラルフローチャートである。
【
図8】
図8は、エラーE
0の算出に関するフローチャートである。
【
図9】
図9は、エラーE
2の算出に関するフローチャートである。
【
図10】
図10は、エラーE
1の算出に関するフローチャートである。
【
図11】
図11は、第2の実施形態に係る情報処理装置の予測動作時のフローチャートである。
【
図12】
図12は、第3の実施形態に係る情報処理装置の学習動作時のゼネラルフローチャートである。
【
図13】
図13は、エラーE
3の算出に関するフローチャートである。
【
図14】
図14は、第3の実施形態に係る情報処理装置の予測動作時のフローチャートである。
【
図15】
図15は、第4の実施形態に係る情報処理装置の学習動作時のゼネラルフローチャートである。
【
図16】
図16は、エラーE
4の算出に関するフローチャートである。
【
図17】
図17は、エラーE
5の算出に関するフローチャートである。
【
図18】
図18は、第4の実施形態に係る情報処理装置の予測動作時のフローチャートである。
【
図21】
図21は、第5の実施形態に係る情報処理装置の予測動作時のフローチャートである。
【
図22A】
図22Aは、出力ノードの特定に関する概念図であって、特に、特定例(その1)について示す図である。
【
図22B】
図22Bは、出力ノードの特定に関する概念図であって、特に、特定例(その2)について示す図である。
【
図23B】
図23Bは、学習木の構造について示す説明図であって、特に、表現される状態空間を示す図である。
【
図24A】
図24Aは、末端ノードを用いた予測に関する説明図であって、特に、学習済学習木について示す図である。
【
図24B】
図24Bは、末端ノードを用いた予測に関する説明図であって、特に、表現される状態空間について示す図である。
【発明を実施するための形態】
【0039】
以下、本発明に係る情報処理装置の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0040】
<1.第1の実施形態>
以下、
図1~
図6を参照しつつ、第1の実施形態に係る情報処理装置10ついて説明する。
【0041】
<1.1 情報処理装置の構成>
図1を参照しつつ、第1の実施形態に係る情報処理装置10のハードウェア構成について説明する。情報処理装置10は、制御部1、外部装置との間の入出力を制御するI/O部2、無線又は有線の通信を制御する通信部3、及び記憶部装置4とを含み、それらはシステムバスを介して接続されている。制御部1は、CPU等から成り後述の学習・予測アルゴリズムを含む各種プログラムを実行する。なお、このCPU等の代わりにマイクロプロセッサやマイクロコントローラ等を用いてもよい。また、記憶部4は、例えば、ROM、RAM、フラッシュメモリ、ハードディスク等を含む各種の記憶装置であって、学習木の構造に関する設定情報、その他の各種設定情報、入力データ、学習データ、学習アルゴリズムを含むコンピュータプログラム等を、一時的又は非一時的に記憶する記憶部4とから構成されている。
【0042】
なお、情報処理装置10の構成は、同図の構成に限定されず、出願時の技術常識の範囲で自在に変更可能である。従って、例えば、記憶部4を外部ストレージ等として別途配置してもよい。また、制御部1についても、他の情報処理装置の制御部等と協働して分散処理等を行ってもよい。さらに仮想化技術を用いた処理等が行われてもよい。
【0043】
<1.2 情報処理装置の動作>
次に、
図2~
図4を参照しつつ、情報処理装置10の動作について説明する。
【0044】
<1.2.1 学習動作>
図2は、入力データに対応する学習木上の経路にある各ノードから出力ノードとして選択すべきノードを選択する際の信頼度指標となる第1のエラーE
1の学習段階のフローチャートである。前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0045】
その上で、学習処理が開始すると、まず、根ノードが着目ノードとして設定される(S101)。次に、過去の学習により既に得られている第1のエラーE
1と、当該着目ノードに対応する学習データに基づく予測出力と入力データに対応する出力Oの差分の絶対値とを、忘却係数αを用いて重み付け加算することより学習後の第1のエラーE
1を得る(S102)。すなわち、第1のエラーE
1の算出(更新)は、次式によりなされる。
【数1】
【0046】
なお、忘却係数αは、新たなデータの学習を行う際に、現在と過去のデータの影響の程度を調整する役割を果たす係数であり、0より大きく1より小さい値をとる。αが小さい程、過去の学習データに重きを置いて学習を行うので忘却しにくくなり、その逆に、αが大きい程、新たに追加された学習データの影響を強く受けて忘却しやすくなる。なお、本実施形態において、αは定数ではあるが、例えば、学習の進行に応じて変化するよう構成してもよい。算出された第1のエラーE1は、記憶部4へと保存される(S103)。
【0047】
経路上の各ノードにおける第1のエラーE1と予測出力を用いた第1のエラーE1の更新(S102)と記憶部4への保存(S103)は、根ノードから末端ノードまで着目ノードを順に変更(S105)することにより、繰り返し行われる(S104NO)。末端ノードまで第1のエラーE1を算出、保存すると(S104YES)、処理は終了する。
【0048】
このような構成によれば、予測出力生成の基礎とすべきノードを決定するための信頼度指標を、漸次的な学習処理により得ることができる。これにより、エラー耐性を有する情報処理装置10を提供することができる。
【0049】
<1.2.2 予測動作>
次に、
図3を参照しつつ、学習済の情報処理装置10を用いて、所定の入力に対する出力の予測処理を行う手順(最小誤差予測法)について詳細に説明する。
【0050】
図3は、情報処理装置10の予測動作について説明するためのフローチャートである。なお、前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0051】
その上で、処理が開始すると、記憶部4より学習木上の一の経路状の各ノードに対応する各第1のエラーE1が読み出され、読み出された各第1のエラーE1に基づいて第1のエラーE1が最小となるノード(最小誤差ノード)が特定される(S201)。その後、当該第1のエラーE1が最小となるノードに対応する学習データに基づいて予測出力の生成処理が行われる(S202)。具体的には、本実施形態においては、過去の各学習データに対応する出力である各状態遷移ベクトルを相加平均により足し合わせることで、当該ノードに対応する一の状態遷移ベクトルを生成する。
【0052】
なお、本実施形態においては、相加平均を用いて各状態遷移ベクトルを足し合わせることにより一の状態遷移ベクトルを生成することとしているが、他の手法により出力を生成してもよい。例えば、同一ノードに対応するデータ群に基づいて分散行列を算出し、当該分散行列に基づいて一の状態遷移ベクトルを生成してもよい。
【0053】
図4を参照しつつ、第1の実施形態に係る予測処理の手順(最小誤差予測法)について概念的に説明する。
図4は、本実施形態に係る最小誤差ノードを使用するアルゴリズムに関する説明図である。前提として、所定の入力データが入力されたことにより、太線で囲まれ、「0」~「4」の数字が付されたノードが一の経路として特定されている。
【0054】
「0」~「4」の数字が付された各ノードには、学習により得られた第1のエラーE1(1)~E1(4)が対応付けられている。ここで、仮に「2」の数字が付されたノードに対応する第1のエラーE1(2)が、他の第1のエラーE1よりも小さいとすると、「2」の番号が付されたノードが出力ノードとして特定され(S201)、当該出力ノードに対応する予測出力が生成されることとなる(S202)。
このような構成によれば、学習結果に基づいて、予測出力生成の基礎となる出力ノードとしてより信頼度の高いノードを選択することができる。従って、より精度の高い予測処理を実現することができる。
【0055】
<1.2.3 検証実験>
第1の実施形態に係る学習・予測手法によれば、常に末端ノードによる予測を行う場合よりも、ノイズの影響を排して、予測誤差を小さくできることを示すため、比較実験の結果について説明する。入力として、-3.14~+3.14の範囲で3000個のランダムな入力値を与え、出力として、サイン波にその振幅の10%程度のランダムノイズを付加した波形を学習させた(1入力1出力)。
【0056】
同実験の実験結果が
図5に示されている。
図5Aは、従来の末端ノードを用いた予測手法により出力を予測した場合の実験結果、
図5Bは、第1の本実施形態に係る最小誤差予測手法により出力ノードを選択して予測した場合の実験結果である。なお、いずれの実験結果においても、図中には、正解データ(ノイズ無しのサイン波)、学習対象データ(ノイズの含まれたサイン波)、及び、予測出力が重畳的に描かれている。
【0057】
図5Aと
図5Bとを比較して明らかな通り、第1の本実施形態に係る最小誤差予測手法によれば、予測出力が全体として正解データへと近づいていることが分かる。これを数値で比較すれば、
図5Aの予測出力と正解データとの間の平均誤差は0.034188、一方、
図5Bの予測出力と正解データとの間の平均誤差は、0.022173であり、これらより、第1の実施形態に係る最小誤差予測手法によれば、予測出力の平均誤差を、末端ノードを常に出力ノードとする従来手法の平均誤差に対しておよそ64.86%に低減することができることが看取される。すなわち、第1の実施形態に係る最小誤差予測手法によれば、ノイズ耐性を向上させることができることが確認される。
【0058】
また、第1の実施形態に係る学習・予測手法によれば、常に末端ノードによる予測を行う場合よりも、ノイズの影響を排して、予測誤差を小さくできることを示すため、さらに別の比較実験について説明する。
【0059】
図6Aに示される通り、同実験においては、ノイズを付加した単振動を学習させた。具体的には、位置qとその速度を入力として与え、加速度を予測させた(2入力1出力)。本実験では、位置qに対して10%のランダムノイズを付加した。また、学習データ数は30000個、予測データ数は15000個、試行回数は50回であった。
【0060】
図6Bに、最下層すなわち末端ノードを常に出力ノードとする従来手法を用いて予測出力を生成した場合と、本実施形態1に係る最小誤差予測手法を用いて予測出力を生成した場合の平均誤差の比較結果が示されている。同図から明らかな通り、従来手法の平均誤差は0.000210、本実施形態1に係る手法による平均誤差は0.000117であり、予測出力の平均誤差を、末端ノードを常に出力ノードとする従来手法の平均誤差に対しておよそ55.78%に低減することができることが看取される。すなわち、この場合も、第1の実施形態に係る最小誤差予測手法によれば、ノイズ耐性を向上させることができることが確認される。
【0061】
<2.第2の実施形態>
<2.1 学習動作>
次に、
図7~
図10を参照しつつ、第2の実施形態に係る情報処理装置における学習動作について説明する。なお、第2の実施形態に係る情報処理装置のハードウェア構成は第1の実施形態に係る情報処理装置10におけるハードウェア構成と同一であるので、ここでは説明を省略する。
【0062】
図7は、本実施形態に係る情報処理装置の学習動作のゼネラルフローチャートである。入力データに対応する学習木上の経路にある各ノードから出力ノードとして選択すべきノードを選択する際の信頼度指標となる末端ノードエラーE
0、第1のエラーE
1、第2のエラーE
2の学習段階のフローチャートである。前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0063】
処理が開始すると、まず、後述する末端ノードエラーE0が演算される(S301)。その後、後述するように第2のエラーE2が演算され(S302)、最後にエラーE1が演算されて(S303)、学習処理は終了する。なお、この演算の順番は順不同であり、いずれのエラーから演算されてもよい。
【0064】
図8は、末端ノードエラーE
0の算出に関するフローチャートである。処理が開始すると、まず、末端ノードに対応する学習データに基づく予測出力と入力データに対応する出力Oの差分の絶対値とを、忘却係数αを用いて重み付け加算することより学習後の末端エラーE
0を得る(S3011)。すなわち、末端ノードエラーE
0の演算(更新)は、次式によりなされる。
【数2】
【0065】
その後、得られた末端ノードエラーE0は記憶部4へと保存され(S3012)、処理は終了する。
【0066】
図9は、第2のエラーE
2の算出に関するフローチャートでる。処理が開始すると、まず、経路上において第1のエラーE
1が最小となるノードに対応する学習データに基づく予測出力と入力データに対応する出力Oの差分の絶対値とを、忘却係数αを用いて重み付け加算することより学習後の第2のエラーE
2を得る(S3021)。すなわち、第2のエラーE
2の演算(更新)は、次式によりなされる。
【数3】
【0067】
その後、得られた第2のエラーE2は記憶部4へと保存され(S3022)、処理は終了する。
【0068】
図10は、第1のエラーE
1の算出に関するフローチャートでる。処理が開始すると、まず、根ノードが着目ノードに設定される(S3031)。既に得られている第1のエラーE
1と、入力データに対応する出力Oと着目ノードに対応する学習データに基づく予測出力との差分の絶対値とを、忘却係数αを用いて重み付け加算することより学習後の第1のエラーE
1を得る(S3032)。すなわち、第1のエラーE
1の演算(更新)は、次式によりなされる。
【数4】
【0069】
その後、得られた第1のエラーE1は記憶部4へと保存される(S3033)。経路上の各ノードにおける第1のエラーE1と予測出力を用いた第1のエラーE1の更新(S3032)と記憶部4への保存(SS3033)は、根ノードから末端ノードまで着目ノードを順に変更(S3035)することにより、繰り返し行われる(S3034NO)。末端ノードまで第1のエラーE1を算出、保存すると(S3034YES)、処理は終了する。
【0070】
このような構成によれば、予測出力生成の基礎とすべきノードを決定するための信頼度指標を、漸次的な学習処理により得ることができる。これにより、エラー耐性を有する情報処理装置10を提供することができる。
【0071】
<2.2 予測動作>
次に、
図11を参照しつつ、学習済の情報処理装置10を用いて、所定の入力に対する出力の予測処理を行う手順(選択的最小誤差予測法)について詳細に説明する。
【0072】
図11は、情報処理装置10の予測動作について説明するためのフローチャートである。なお、前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データに対応する学習木上における複数のノードから成る一の経路が特定されている。
【0073】
同図において、処理が開始すると、第2のエラーE2が末端ノードエラーE0より小の条件を満たすか否かの判定処理が行われる(S401)。第2のエラーE2が末端ノードエラーE0より小さい場合(S401YES)、経路上の各ノードの中から第1のエラーE1が最小となるノードを出力ノードとして選択して、当該ノードに対応する状態遷移ベクトルの相加平均に基づいて予測出力を生成する(S402)。一方、それ以外の場合には(S401NO)、末端ノードを出力ノードとして選択して、末端ノードに対応する状態遷移ベクトルの相加平均に基づいて予測出力を生成する(S403)。予測出力を生成した後、予測処理は終了する。
【0074】
このような構成によれば、学習結果に基づき、末端ノードで予測を行った方が適切な場合には末端ノードを、末端ノード以外のノードで予測を行った方が適切な場合にはそれまでの学習結果において予測出力との誤差が小さかったノードを出力ノードとするので、より精度の高い予測処理を実現することができる。
【0075】
<3.第3の実施形態>
<3.1 学習動作>
次に、
図12~
図13を参照しつつ、第3の実施形態に係る情報処理装置における学習動作について説明する。なお、第3の実施形態に係る情報処理装置のハードウェア構成は第1の実施形態に係る情報処理装置10におけるハードウェア構成と同一であるので、ここでは説明を省略する。
【0076】
図12は、本実施形態に係る情報処理装置の学習動作のゼネラルフローチャートである。すなわち、同図は、入力データに対応する学習木上の経路にある各ノードから出力ノードとして選択すべきノードを選択する際の信頼度指標となる第1のエラーE
1と第3のエラーE
3の学習段階のフローチャートである。前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0077】
処理が開始すると、まず、第1の実施形態にて算出したのと同様に、第1のエラーE1が演算される(S501)。その後、後述するように第3のエラーE3が演算され(S502)、学習処理は終了する。なお、この演算の順番は順不同であり、いずれのエラーから演算されてもよい。
【0078】
図13は、第3のエラーE
3の算出に関するフローチャートである。処理が開始すると、着目ノードとして根ノードが設定される(S5021)。また、当該着目ノードと同じノードが参照ノードとして設定される(S5022)。その後、着目ノードの位置は固定したまま、参照ノードが経路上の一つ下の層へと変更される(S5023)。その変更後、当該参照ノードにおける第1のエラーE
1と第3のエラーE
3との大小関係を比較し(S5024)、当該参照ノードにおいて第1のエラーE
1が第3のエラーE
3より小の条件を満たす場合(S5024YES)、参照ノードの予測出力を用いて着目ノードにおける第3のエラーE
3を次式に基づいて更新する。
【数5】
【0079】
一方、当該参照ノードにおいて第1のエラーE1が第3のエラーE3より小の条件を満たさない場合(S5024NO)、参照ノードにおいて第1のエラーE1が第3のエラーE3より小の条件を満たすか(S5024YES)、或いは、参照ノードが末端ノードとなるか(S5025YES)のいずれかの条件を満たすまで、順に参照ノードを1層下へと変更していく処理(S5023)を繰り返す(S5024NO、S5025NO)。参照ノードが末端ノードとなる場合(S5025YES)、当該参照ノードの予測出力を用いて、着目ノードにおける第3のエラーE3を数式1に基づいて更新する。その後、着目ノードにおいて更新された第3のエラーE3(S5026)は、着目ノードと対応付けられて記憶部4へと保存される(S5027)。
【0080】
以上一連の処理(S5022~S5027)は、着目ノードが末端ノードの1つ上の層に至るまで、着目ノードを順に1層下に設定していくことにより(S5029)、繰り返される(S5028NO)。着目ノードが末端ノードの1つ上の層に至ると(S5028YES)、処理は終了する。
【0081】
このような構成によれば、予測出力生成の基礎とすべきノードを決定するための信頼度指標を、漸次的な学習処理により得ることができる。これにより、エラー耐性を有する情報処理装置10を提供することができる。
【0082】
<3.2 予測動作>
次に、
図14を参照しつつ、学習済の情報処理装置10を用いて、所定の入力に対する出力の予測処理を行う手順(下層ノード参照手法(その1))について詳細に説明する。
【0083】
図14は、情報処理装置10の予測動作について説明するためのフローチャートである。なお、前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データに対応する学習木上における複数のノードから成る一の経路が特定されている。
【0084】
同図において、処理が開始すると、まず、根ノードが着目ノードに設定される(S601)。次に、着目ノードにおいて、第1のエラーE1が第3のエラーE3より小の条件を満たすか否かが判定される(S602)。当該着目ノードにおいて、第1のエラーE1が第3のエラーE3より小の条件を満たす場合(S602YES)、当該着目ノードが出力ノードとして選択され、当該着目ノードに対応する学習データに基づいて予測出力の生成処理、すなわち、状態遷移ベクトルの相加平均の算出処理がなされる(S605)。
【0085】
一方、着目ノードにおいて、第1のエラーE1が第3のエラーE3より小の条件を満たさない場合(S602NO)、着目ノードにおいて第1のエラーE1が第3のエラーE3より小の条件が満たされるまで(S602YES)、当該着目ノードが末端ノードとなる場合(S603YES)を除いて、順に着目ノードを経路上の1層下に変更する処理(S604)が繰り返される(S602NO、S603NO)。なお、着目ノードが末端ノードとなる場合(S603YES)、当該着目ノードが出力ノードとして選択され、当該着目ノードに対応する学習データに基づいて予測出力の生成処理、すなわち、各状態遷移ベクトルの相加平均の算出処理がなされる(S605)。予測出力の生成処理がなされた後、予測処理は終了する。
【0086】
このような構成によれば、学習木の各層のノードの信頼性を判断するにあたって、より下層のノードを参照するので、出力ノードを特定する上でどこまで経路を下るべきかについて判定することができ、これにより、より精度の高い予測処理を実現することができる。
【0087】
<4.第4の実施形態>
<4.1 学習動作>
次に、
図15~
図17を参照しつつ、第4の実施形態に係る情報処理装置における学習動作について説明する。なお、第4の実施形態に係る情報処理装置のハードウェア構成は第1の実施形態に係る情報処理装置10におけるハードウェア構成と同一であるので、ここでは説明を省略する。
【0088】
図15は、本実施形態に係る情報処理装置10の学習動作のゼネラルフローチャートである。すなわち、同図は、入力データに対応する学習木上の経路にある各ノードから出力ノードとして選択すべきノードを選択する際の信頼度指標となる第1のエラーE
1、第4のエラーE
4、及び、第5のエラーE
5の学習段階のフローチャートである。なお、前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0089】
処理が開始すると、まず、第1の実施形態と同様に、第1のエラーE1が演算される(S701)。その後、後述するように第4のエラーE4が演算され(S703)、最後に、後述する第5のエラーE5が演算され(S705)、学習処理は終了する。なお、この演算の順番は順不同であり、いずれのエラーから演算されてもよい。
【0090】
図16は、第4のエラーE
4の算出に関するフローチャートである。処理が開始すると、まず、根ノードが着目ノードとして設定される(S7031)。また、参照ノードとして当該着目ノードが設定される(S7032)。その後、参照ノードを含む参照ノード以下のノードのうちから、エラーE
1が最小となるノードを特定し、当該ノードを参照ノードとする処理が行われる(S7033)。その後、当該参照ノードにおいて、第4のエラーE
4と第5のエラーE
5の大小関係の比較処理が行われる(S7034)。当該参照ノードにおいて、第4のエラーE
4が第5のエラーE
5より小の条件を満たす場合(S7034YES)、当該参照ノードの予測出力を用いて着目ノードにおける第4のエラーE
4が次式により更新される(S7038)。
【数6】
【0091】
一方、当該参照ノードにおいて、第4のエラーE4が第5のエラーE5より小の条件を満たさない場合(S7034NO)、当該参照ノードが末端ノードである場合を除き(S7035NO)、参照ノードにおいて第4のエラーE4が第5のエラーE5より小の条件を満たすノードに至るまで、参照ノードを1つ下の層にする処理(S7036)が繰り返される(S7037NO)。その途中において、参照ノードにおいて第4のエラーE4が第5のエラーE5より小の条件を満たすノードが存在した場合(S7037YES)、再び、第1のエラーE1が最小となるノードを特定するステップ(S7033)へと戻る。また、参照ノードが末端ノードとなった場合には(S7035YES)、当該参照ノードの予測出力を用いて着目ノードにおける第4のエラーE4を数式1により更新する(S7038)。算出された第4のエラーE4は、着目ノードに対応付けられて記憶部4へと保存される(S7039)。
【0092】
以上の一連の処理(S7032~S7039)が、着目ノードが末端ノードへと至るまで、着目ノードを順に1つ下の層へと変更しつつ(S7041)、繰り返される(S7040NO)。着目ノードが末端ノードへと至ると処理は終了する。
【0093】
次に、
図17は、第5のエラーE
5の算出に関するフローチャートである。処理が開始すると、根ノードが着目ノードとして設定される(S7051)。また、参照ノードとして、経路上の前記着目ノードの1つ下のノードが設定される(S7052)。その後、参照ノードにおいて、第4のエラーE
4と第5のエラーE
5の大小関係の比較処理が行われる(S7053)。
【0094】
参照ノードにおいて、第4のエラーE
4が第5のエラーE
5より小の条件を満たさない場合(S7053NO)、参照ノードが末端ノードである場合を除き(S7054YES)、着目ノードについては固定したまま、参照ノードを経路上の1つ下のノードへと順に変更する処理(S7055)が繰り返される(S7053NO、S7054NO)。参照ノードが末端ノードとなる場合(S7054YES)、当該参照ノードの予測出力を用いて着目ノードにおける第5のエラーE
5が次式により更新される。
【数7】
【0095】
一方、参照ノードにおいて、第4のエラーE4の方が第5のエラーE5より小の条件を満たす場合(S7053YES)、経路上において参照ノード以下の層でエラーE1が最小となるノードを特定し、当該ノードを新たな参照ノードに設定する(S7056)。その後、当該参照ノードにおいて、第4のエラーE4が第5のエラーE5より小の条件を満たすか否かを再度比較し(S7057)、当該条件を満たす場合には(S7057YES)、当該参照ノードの予測出力を用いて着目ノードにおける第5のエラーE5を数式1により更新する(S7058)。一方、当該条件を満たさない場合には(S7057NO)、当該参照ノードが末端ノードである場合(S7054YES)を除き、着目ノードについては固定したまま、参照ノードを経路上の1つ下のノードへと順に変更する処理(S7055)を繰り返す(S7053NO、S7054NO)。参照ノードが末端ノードとなる場合(S7054YES)、当該参照ノードの予測出力を用いて着目ノードにおける第5のエラーE5は数式1により更新される。算出された第5のエラーE5は記憶部4へと保存される(S7059)。
【0096】
上述の一連の処理(S7052~S7059)は、着目ノードを順に1つ下の層へと変更する処理を行いつつ行われ(S7061)、着目ノードが末端ノードの1つ上の層となるまで繰り返される(S7060NO)。着目ノードが末端ノードの1つ上の層となったとき(S7060)、処理は終了する。
【0097】
このような構成によれば、予測出力生成の基礎とすべきノードを決定するための信頼度指標を、漸次的な学習処理により得ることができる。これにより、エラー耐性を有する情報処理装置10を提供することができる。
【0098】
<4.2 予測動作>
次に、
図18を参照しつつ、本実施形態に係る学習済の情報処理装置10を用いて、所定の入力に対する出力の予測処理を行う手順(下層ノード参照手法(その2))について詳細に説明する。
【0099】
図18は、情報処理装置10の予測動作について説明するためのフローチャートである。なお、前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データに対応する学習木上における複数のノードから成る一の経路が特定されている。
【0100】
同図において、処理が開始すると、まず、着目ノードが根ノードとなるよう設定される(S801)。次に、着目ノードにおいて第4のエラーE4が第5のエラーE5より小の条件を満たすか否かが判定される(S802)。当該条件を満たすと判定される場合(S802YES)、当該着目ノード以下の層で第1のエラーE1が最小となるノードを特定し、当該ノードを着目ノードとする(S806)。当該着目ノードにおいて再び第4のエラーE4が第5のエラーE5より小の条件を満たすか否かが判定され(S807)、当該条件を満たす場合には(S807YES)、当該着目ノードを出力ノードとして、当該着目ノードに対応する予測出力、すなわち、学習済のデータに係る各状態遷移ベクトルの相加平均に基づく状態遷移ベクトルが生成される(S808)。一方、当該条件を満たさない場合には(S807NO)、後述するように着目ノードを1つ下の層に変更する変更する再帰的処理へと進む(S803NO、S804)。
【0101】
また、着目ノードにおいて、第4のエラーE4が第5のエラーE5より小の条件を満たさない場合(S802NO)、着目ノードが末端ノードの1つ上の層である場合を除き(S803NO)、第4のエラーE4が第5のエラーE5より小の条件を満たすノードに至るまで、着目ノードを経路上の1つ下の層へと変更する処理(S804)が繰り返される(S802NO、S803NO)。着目ノードが末端ノードの1つ上の層である場合(S803YES)、着目ノードは経路上の末端ノードに設定され(S805)、当該末端ノードに基づいて予測出力の生成処理、すなわち、学習済のデータに係る状態遷移ベクトルの相加平均に基づく状態遷移ベクトルが生成が行われる(S808)。予測出力生成処理の後、処理は終了する。
【0102】
このような構成によれば、学習木の各層のノードの信頼性を判断する上で、より下層のノードを参照するので、出力ノードを特定するにあたって、どこまで経路を下るべきかについて判定することができ、これにより、より精度の高い予測処理を実現することができる。
【0103】
<5.比較実験>
図19は、常に末端ノードを出力ノードとして使用する従来手法と、第1の実施形態に係る予測手法、第2の実施形態に係る予測手法、及び、第4の実施形態に係る予測手法をそれぞれ用い、その各予測出力と正解値との平均予測誤差を示した比較実験結果(その1)である。なお、学習対象はノイズを付加した単振動であり、位置と速度を入力として加速度を予測させたものである(2入力1出力)。また、位置には10%のランダムノイズが付加され、学習データ数は30000個、予測データ数は15000個とした。
【0104】
同図より、第1の実施形態に係る予測手法、第2の実施形態に係る予測手法及び第4の実施形態に係る予測手法を用いた場合の平均予測誤差のいずれも、従来手法に比べて小さくなることが確認される。より具体的に、数値を用いて説明すれば、従来手法に基づく平均予測誤差は0.000209927、第1の実施形態に係る予測手法に基づく平均予測誤差は0.000117768、第2の実施形態に係る予測手法に基づく平均予測誤差は0.000117768、及び第4の実施形態に係る予測手法に基づく平均予測誤差は0.00010117であり、これを対従来手法比で見ると、それぞれ56.69%、56.09%、48.19%であった。これにより、ノイズ耐性の向上が確認される。
【0105】
また、
図20は、常に末端ノードを出力ノードとして使用する従来手法と、第1の実施形態に係る予測手法、第4の実施形態に係る予測手法、及び、第3の実施形態に係る予測手法をそれぞれ用い、その各予測出力と正解値との平均予測誤差を示した比較実験結果(その2)である。なお、学習対象はノイズを付加した単振動であり、位置と速度を入力として加速度を予測させたものである(2入力1出力)。また、位置には10%のランダムノイズが付加され、学習データ数は100000個、予測データ数は15000個とした。
【0106】
同図より、第1の実施形態に係る予測手法、第4の実施形態に係る予測手法及び第3の実施形態に係る予測手法を用いた場合の平均予測誤差のいずれも、従来手法に比べて小さくなることが確認される。より具体的に、数値を用いて説明すれば、従来手法に基づく平均予測誤差は0.00020624、第1の実施形態に係る予測手法に基づく平均予測誤差は0.00009696、第4の実施形態に係る予測手法に基づく平均予測誤差は0.00008026、及び第3の実施形態に係る予測手法に基づく平均予測誤差は0.00008076であり、これを対従来手法比で見ると、それぞれ47.01%、38.91%、39.16%であった。これにより、ノイズ耐性の向上が確認される。
【0107】
<6.第5の実施形態>
次に、
図21及び
図22を参照しつつ、本発明に係る第5の実施形態について説明する。なお、本実施形態に係る情報処理装置のハードウェア構成は、第1の実施形態に係る情報処理装置10におけるハードウェア構成と同一であるので、ここでは説明を省略する。
【0108】
<6.1 学習動作>
まず、本実施形態に係る情報処理装置10における学習動作について説明する。本実施形態においては、第1の実施形態と同様に、所定のトレーニング用データ群の入力を通じて各ノードについて第1のエラーE
1が算出される。なお、第1のエラーE
1の算出方法は、第1の実施形態に係るものと同一であるので(
図2参照)、ここでは記載を省略する。
【0109】
<6.2 予測動作>
次に、
図21及び
図22を参照しつつ、本実施形態に係る学習済の情報処理装置10を用いて、所定の入力に対する出力の予測処理を行う手順(計算可否参照手法)について詳細に説明する。
【0110】
図21は、本実施形態に係る情報処理装置10において行われる予測動作時のフローチャートである。なお、同図においては、処理開始の前提として、情報処理装置10へと所定のデータが入力されたことにより、当該入力データが属すべき状態空間が特定され、これにより、学習木上において複数のノードから成る一の経路が特定されている。
【0111】
同図から明らかな通り、処理が開始すると、まず、所定の入力に対応する所定の経路上のノードのうちから、上記学習動作にて算出された第1のエラーE1が最小となるノードを特定する処理が行われる(S901)。その後、特定された、第1のエラーE1が最小となるノードの1つ下のノードに係る第1のエラーE1が参照され、当該第1のエラーE1が適切に計算可能であるか否かが判定される(S902)。ここで、本実施形態において第1のエラーE1が適切に計算可能であるか否かとは、すなわち、ノードの学習回数が1回のノードであるか否か(ノードに対応する状態空間に存在するデータ数が1つであるか否か)を実質的に意味している。これは、本実施形態においては、学習回数が1回のノードの第1のエラーE1が便宜上無限大(∞)として定義され、学習回数が2回目以降に初めて数式1に基づく適切な計算が可能となることに基づくものである。
【0112】
この第1のエラーE1が最小となるノードの1つ下のノードの第1のエラーE1が適切に計算可能である場合(S903YES)、第1のエラーE1が最小となるノードが出力計算の基礎となる出力ノードとして特定される(S903)。一方、この第1のエラーE1が最小となるノードの1つ下のノードの第1のエラーE1が適切に計算できない場合(S903NO)、当該1つ下のノードが出力計算の基礎となる出力ノードとして特定される(S904)。その後、特定された出力ノードに基づく出力生成処理、すなわち、出力ノードに対応する各データの出力ベクトルの相加平均を計算することにより出力を生成する処理が行われる。その後、処理は終了する。
【0113】
図22は、出力ノードの特定(S902~S904)に関する概念図である。
【0114】
図22Aは出力ノードの特定に関する第1の例である。同図は、所定の入力に対応して特定された所定の経路上のノードを示しており、同図の例にあっては、上から2番目のノードがノードA、下から2番目のノードがノードB、末端のノードがノードCとしてして便宜上示されている。また、同図の例においては、ノードAが第1の誤差E
1が最小となるノードとして特定されており(S901)、ノードA及びノードBは適切に計算可能なノードであり、ノードCは適切に計算可能でないノードである。このような条件の下、第1のエラーE
1が最小となるノード(ノードA)の1つ下のノード(ノードB)を参照すると(S902)、ノードBは計算可能なノードであるので(S902YES)、第1のエラーE
1が最小となるノード(ノードA)が出力ノードとして特定される(S903)。
【0115】
図22Bは出力ノードの特定に関する第2の例である。同図は、所定の入力に対応して特定された所定の経路上のノードを示しており、同図の例においても、
図22Aと同様に、ノードA、ノードB及びノードCが便宜上示されている。同図の例においては、ノードBが第1の誤差E
1が最小となるノードとして特定されており(S901)、ノードA及びノードBは適切に計算可能なノードであり、ノードCは適切に計算可能でないノードである。このような条件の下、第1のエラーE
1が最小となるノード(ノードB)の1つ下のノード(ノードC)を参照すると(S902)、ノードCは適切に計算できないノードであるので(S902NO)、第1のエラーE
1が最小となるノード(ノードB)の1つ下のノード(ノードC)が出力ノードとして特定される(S904)。
【0116】
このような構成によれば、学習処理により得られた信頼度指標とその適切な計算の可否に基づいて、より信頼度の高いノードを選択して予測出力生成を行うことができるので、より精度の高い予測処理を実現することができる。
【0117】
なお、本実施形態においては、第1のエラーE1の算出とも関連する学習初期の例外的処理に着目し、適切な計算の可否についてノードの学習回数が1回のノードであるか又は2回以上の学習回数のノードであるかを基準とすることを例示した。しかしながら、本発明はこのような構成に限定されない。従って、例えば、所定回数以上の学習、すなわち、所定の個数以上の学習データ(トレーニングデータ)が蓄積されなければノードの信頼度指標に相当するエラーが定まらない場合等には、当該所定回数を基準として、所定の学習データの蓄積が行われるまでの間、当該ノードを計算不可能ノードとして特定し、蓄積が行われた場合、当該ノードを計算可能ノードとして特定するような処理を行ってもよい。また、本実施形態においては、第1のエラーE1を利用する旨説明を行ったが、本発明はそのような構成に限定されない。従って、例えば、信頼度指標に相当する他の種々のエラーを利用することも可能である。
【0118】
<7.その他>
<7.1 変形例>
本発明は上述の実施形態に限定されることはなく、種々の変形が可能である。
【0119】
例えば、上述の実施形態においては、情報処理装置が学習処理と予測処理の両方を行うことが可能な構成としたが、本発明は、このような構成に限定されることはない。例えば、学習処理については予め行っておき、情報処理装置を、当該学習処理により得られたE0等の種々のエラー等を含む学習パラメータを用いた予測専用装置として構成してもよい。或いは、情報処理装置を、入力を受けて種々の学習パラメータの学習処理のみを行う学習専用装置として構成してもよい。
【0120】
また、情報処理装置を所定のサーバ・クライアントシステムにおけるサーバ側に配置して、例えば、クライアント装置からの要求に応じて、クライアント装置から通信部3等を介して入力された入力データに対して予測又は学習処理を行い、入力に対する予測出力をクライアント装置へと送信する構成としてもよい。
【0121】
さらに、上記実施形態においては、出力演算にあたって、過去の学習データに対応する出力である各状態遷移ベクトルを相加平均により足し合わせるものとして説明した。しかしながら、出力は状態遷移ベクトルに限定されるものではなく、例えば、単に出力ベクトル或いは出力値の相加平均を計算して出力値の演算を行ってもよいことは勿論である。
【0122】
<7.2 適用例>
本発明は、例えば、力学系の学習・予測システム等に好適に適用可能であるが、本発明の適用範囲は広く、他の種々のシステムの学習・予測にも適用可能であり、例えば、所謂ビッグデータの学習・予測にも適用することができる。例として、株価、金融与信又は保険サービス関連情報等の金融データ、医療レセプト等の医療データ、商品の需給や購買データ、商品配送数、ダイレクトメール発送関連情報、来客数、又は問い合わせ数等の経済データ、バズワード、ソーシャルメディア(ソーシャルネットワーキングサービス)関連情報、IoTデバイス情報又はインターネットセキュリティ関連情報等のインターネット関連データ、気象関連データ、不動産関連データ、脈や血圧等のヘルスケア又は生体関連データ、ゲーム関連データ、動画・画像・音声等のデジタルデータ、若しくは、交通データや電力データ等の社会インフラデータの学習・予測に適用可能である。
【産業上の利用可能性】
【0123】
所定の学習処理を行う又は当該学習処理の結果に基づいて所定の入力データに対応する予測出力を生成する情報処理装置、情報処理プログラム及びICチップ、特に、学習木構造を用いて学習・予測処理を行う情報処理装置、情報処理プログラム及びICチップを製造等する産業等にて利用可能である。
【符号の説明】
【0124】
1 制御部
2 I/O部
3 通信部
4 記憶部
10 情報処理装置