(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-17
(45)【発行日】2022-05-25
(54)【発明の名称】情報処理装置、方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220518BHJP
【FI】
G06N20/00
(21)【出願番号】P 2021548585
(86)(22)【出願日】2021-03-31
(86)【国際出願番号】 JP2021013982
【審査請求日】2021-08-18
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
【審査官】金木 陽一
(56)【参考文献】
【文献】米国特許出願公開第2008/0222093(US,A1)
【文献】特開2019-010410(JP,A)
【文献】国際公開第2020/008919(WO,A1)
【文献】中国特許出願公開第110805513(CN,A)
【文献】原 勇輝ほか,Isolation Forestを用いた水力発電機の異常検知,令和2年電気学会全国大会講演論文集 [DVD-ROM],2020年03月13日,pp. 152-153
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理装置であって、
各前記入力系列データに含まれるすべてのデータに基づいて、前記入力系列データ毎に統計量を特定する、統計量特定部と、
各前記統計量に基づいて、木構造モデルを構成する
すべてのノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成部と、
を備える、情報処理装置。
【請求項2】
前記統計量は、基礎統計量である、請求項1に記載の情報処理装置。
【請求項3】
前記統計量は、各前記入力系列データに含まれる数値の最大値及び最小値を含む、請求項1に記載の情報処理装置。
【請求項4】
前記木構造モデルデータ生成部は、前記最大値と前記最小値の間の範囲において各ノードの分割値をランダムに設定する、請求項3に記載の情報処理装置。
【請求項5】
前記統計量は、各前記入力系列データに含まれる数値の平均値及び標準偏差を含む、請求項1に記載の情報処理装置。
【請求項6】
前記木構造モデルデータ生成部は、前記平均値及び前記標準偏差に基づく標準正規分布に従って、各ノードの分割値をランダムに設定する、請求項5に記載の情報処理装置。
【請求項7】
前記木構造モデルデータ生成部は、より上位のノードの分割値を考慮して分割値を設定する、請求項4又は請求項6に記載の情報処理装置。
【請求項8】
前記木構造モデルデータ生成部は、複数の木構造モデルデータを生成する、請求項1に記載の情報処理装置。
【請求項9】
請求項1に記載の情報処理装置によって生成された前記木構造モデルデータを用いた学習処理装置であって、
1又は複数の入力データと1又は複数の正解データとから成る学習データを取得する、学習データ取得部と、
各前記入力データ、前記木構造モデルデータ及び前記木構造モデルデータに対応付けられたパラメータに基づいて、推論出力データを生成する、推論出力データ生成部と、
前記推論出力データと各前記正解データに基づいて更新量を生成する、更新量生成部と、
前記更新量に基づいて、前記パラメータを更新する、パラメータ更新処理部と、
をさらに備える、学習処理装置。
【請求項10】
前記推論出力データ生成部は、各前記入力データに基づいて、前記木構造モデルデータに係る木構造モデルの葉ノードに対応付けられた前記パラメータを特定し、前記パラメータに基づいて前記推論出力データを生成する、請求項
9に記載の学習処理装置。
【請求項11】
前記更新量は、前記推論出力データと前記正解データとの差分に基づいて生成される、請求項
9に記載の学習処理装置。
【請求項12】
前記木構造モデル生成用データと前記学習データとは同一のデータである、請求項
9に記載の学習処理装置。
【請求項13】
請求項1に記載の情報処理装置によって生成された前記木構造モデルデータを用いた推論処理装置であって、
1又は複数の推論用入力データを取得する、推論用入力データ取得部と、
各前記推論用入力データ、前記木構造モデルデータ及び前記木構造モデルデータに対応づけられたパラメータに基づいて、推論出力データを生成する、推論出力データ生成部と、
を備える、推論処理装置。
【請求項14】
1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理方法であって、
各前記入力系列データに含まれるすべてのデータに基づいて、前記入力系列データ毎に統計量を特定する、統計量特定ステップと、
各前記統計量に基づいて、木構造モデルを構成する
すべてのノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成ステップと、
を備える、情報処理方法。
【請求項15】
1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理プログラムであって、
各前記入力系列データに含まれるすべてのデータに基づいて、前記入力系列データ毎に統計量を特定する、統計量特定ステップと、
各前記統計量に基づいて、木構造モデルを構成する
すべてのノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成ステップと、
を備える、情報処理プログラム。
【請求項16】
1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、マイクロ・コントローラ・ユニットであって、
各前記入力系列データに含まれるすべてのデータに基づいて、前記入力系列データ毎に統計量を特定する、統計量特定部と、
各前記統計量に基づいて、木構造モデルを構成する
すべてのノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成部と、
を備える、マイクロ・コントローラ・ユニット。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、機械学習、特に木構造モデルを利用した機械学習等を行う情報処理装置等に関する。
【背景技術】
【0002】
従前より、決定木を初めとした種々の木構造モデルを利用した機械学習手法が知られている。
【0003】
ところで、従前の木構造モデルを利用したこの種の学習処理においては、木構造モデルを構成する各ノードにおいて、分岐により当該ノードに割り当てられたデータに基づいて、分岐条件となる分割値が決定されていた。
【0004】
例えば、特許文献1に記載の決定木においては、各ノードに割り当てられたデータに基づいて情報利得が算出され、当該情報利得が最大となるように分岐条件が決定されていた。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、木構造モデルを構成する各ノードにおいて、それまでの分岐により当該ノードに割り当てられたデータに基づいて分岐条件となる分割値が設定されると、各ノードの分岐条件となる分割値の採り得る範囲は割り当てられたデータに依存して限定され、分岐条件の多様性が失われるおそれがあった。
【0007】
分岐条件の多様性が失われると、例えば、生成された木構造モデルを利用して追加学習を行うアルゴリズムの場合において、追加的に得られるデータの分岐に十分に対応できないおそれがあった。このような事態は、木構造モデルの生成時点で十分なデータが得られない場合や、コンセプトドリフト等により追加的に得られるデータの性質が変化する場合等に特に顕著となる。
【0008】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、木構造モデルを構成する各ノードの分岐条件となる分割値を、各ノードに割り当てられたデータに依存することなく決定することにより、分割値において多様性を有する木構造モデルデータを生成することにある。
【課題を解決するための手段】
【0009】
上述の技術的課題は、以下の構成を有する情報処理装置等により解決することができる。
【0010】
すなわち、本発明に係る情報処理装置は、1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理装置であって、前記入力系列データ毎に統計量を特定する、統計量特定部と、各前記統計量に基づいて、木構造モデルを構成する各ノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成部と、を備えている。
【0011】
このような構成によれば、木構造モデルを構成する各ノードの分割値が、各ノードに割り当てられたデータに依存することなく、各入力系列データの統計量に基づいて設定されるので、分割値において多様性を有する木構造モデルデータを生成することができる。なお、統計量の特定は、種々の手法で行うことができ、例えば、各入力系列データに基づいて統計量を生成することにより特定してもよいし、入力系列データ毎に予め記憶された統計量を読み出し又は参照することにより特定してもよい。
【0012】
前記統計量は、基礎統計量であってもよい。
【0013】
このような構成によれば、データの基本的な特徴に基づいて分割値を設定することができる。
【0014】
前記統計量は、各前記入力系列データに含まれる数値の最大値及び最小値を含む、ものであってもよい。
【0015】
このような構成によれば、各入力系列データに含まれる最大値と最小値を利用して、適切に各ノードの分割値を設定することができる。
【0016】
前記木構造モデルデータ生成部は、前記最大値と前記最小値の間の範囲において各ノードの分割値をランダムに設定する、ものであってもよい。
【0017】
このような構成によれば、各入力系列データに含まれる最大値と最小値の間の範囲において、適切に各ノードの分割値を設定することができる。
【0018】
前記統計量は、各前記入力系列データに含まれる数値の平均値及び標準偏差を含む、ものであってもよい。
【0019】
このような構成によれば、各入力系列データに含まれる平均値と標準偏差を利用して、適切に各ノードの分割値を設定することができる。
【0020】
前記木構造モデルデータ生成部は、前記平均値及び前記標準偏差に基づく標準正規分布に従って、各ノードの分割値をランダムに設定する、ものであってもよい。
【0021】
このような構成によれば、標準正規分布に従って、適切に各ノードの分割値を設定することができる。
【0022】
前記木構造モデルデータ生成部は、より上位のノードの分割値を考慮して分割値を設定する、ものであってもよい。
【0023】
このような構成によれば、より上位のノードの分割値を考慮して分割値を決定するので、効率的な分岐を実現することができる。
【0024】
前記統計量特定部は、前記入力系列データを所定単位で取得する、単位入力データ取得部と、取得された所定単位の前記入力系列データに基づいて前記統計量を更新する、統計量更新部と、を備える、ものであってもよい。
【0025】
このような構成によれば、入力系列データを所定単位で取得し、それに基づいて統計量を更新するので、入力系列データをメモリ上に展開することなく木構造モデルデータを生成することができる。
【0026】
前記木構造モデルデータ生成部は、複数の木構造モデルデータを生成する、ものであってもよい。
【0027】
このような構成によれば、機械学習に利用される多様な木構造モデルデータを生成することができる。
【0028】
本発明は学習処理装置として観念することもできる。すなわち、本発明に係る学習処理装置は、前記情報処理装置によって生成された前記木構造モデルデータを用いた学習処理装置であって、1又は複数の入力データと1又は複数の正解データとから成る学習データを取得する、学習データ取得部と、各前記入力データ、前記木構造モデルデータ及び前記木構造モデルデータに対応付けられたパラメータに基づいて、推論出力データを生成する、推論出力データ生成部と、前記推論出力データと各前記正解データに基づいて更新量を生成する、更新量生成部と、前記更新量に基づいて、前記パラメータを更新する、パラメータ更新処理部と、をさらに備えている。
【0029】
このような構成によれば、各ノードの分岐条件となる分割値において多様性を有する木構造モデルを利用して順次学習を行うので、追加的に得られた学習対象データを適切に分岐する可能性を高めることができる。そのため、木構造モデルの生成時点で十分なデータが得られなかった場合や、コンセプトドリフト等により追加的に得られるデータの性質が微妙に変化した場合であっても対応可能な機械学習技術を提供することができる。
【0030】
前記推論出力データ生成部は、各前記入力データに基づいて、前記木構造モデルデータに係る木構造モデルの葉ノードに対応付けられた前記パラメータを特定し、前記パラメータに基づいて前記推論出力データを生成する、ものであってもよい。
【0031】
このような構成によれば、木構造モデルの葉ノードに対応付けられているパラメータを特定し、それに基づいて推論出力データを生成することができる。
【0032】
前記更新量は、前記推論出力データと前記正解データとの差分に基づいて生成される、ものであってもよい。
【0033】
このような構成によれば、推論出力データと予め与えられた出力データの差分に基づいて更新量が生成されるので推論出力データの精度を向上させることができる。
【0034】
前記木構造モデル生成用データと前記学習データとは同一のデータであってもよい。
【0035】
このような構成によれば、木構造モデルの生成に用いたデータを用いてそのまま学習することができるので、少ないデータで学習処理まで完了させることができる。
【0036】
本発明は推論処理装置として観念することができる。すなわち、本発明に係る推論処理装置は、前記情報処理装置によって生成された前記木構造モデルデータを用いた推論処理装置であって、1又は複数の推論用入力データを取得する、推論用入力データ取得部と、各前記推論用入力データ、前記木構造モデルデータ及び前記木構造モデルデータに対応づけられたパラメータに基づいて、推論出力データを生成する、推論出力データ生成部と、を備えている。
【0037】
このような構成によれば、生成された木構造モデルに基づいて推論処理を実現することができる。
【0038】
本発明は、情報処理方法として観念することができる。すなわち、本発明に係る情報処理方法は、1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理方法であって、前記入力系列データ毎に統計量を特定する、統計量特定ステップと、各前記統計量に基づいて、木構造モデルを構成する各ノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成ステップと、を備えている。
【0039】
本発明は、情報処理プログラムとして観念することができる。すなわち、本発明に係る情報処理プログラムは、1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理プログラムであって、前記入力系列データ毎に統計量を特定する、統計量特定ステップと、各前記統計量に基づいて、木構造モデルを構成する各ノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成ステップと、を備えている。
【0040】
本発明は、マイクロ・コントローラ・ユニットとして観念することもできる。すなわち、本発明に係るマイクロ・コントローラ・ユニットは、1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、マイクロ・コントローラ・ユニットであって、前記入力系列データ毎に統計量を特定する、統計量特定部と、各前記統計量に基づいて、木構造モデルを構成する各ノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成部と、を備えている。
【発明の効果】
【0041】
本発明によれば、木構造モデルを構成する各ノードの分岐条件となる分割値を、各ノードに割り当てられたデータに依存することなく決定することにより、分割値において多様性を有する木構造モデルデータを生成することができる。
【図面の簡単な説明】
【0042】
【
図2】
図2は、情報処理装置の機能ブロック図である。
【
図3】
図3は、木構造モデルの生成処理に関するゼネラルフローチャートである。
【
図4】
図4は、木構造データの生成に用いられるデータの一例である。
【
図6】
図6は、木構造モデルの生成処理の詳細フローチャートである。
【
図8】
図8は、学習処理に関するゼネラルフローチャートである。
【
図9】
図9は、推論値生成処理の詳細フローチャートである。
【
図10】
図10は、木構造モデルの更新処理の詳細フローチャートである。
【
図11】
図11は、各木構造モデルの更新に関する概念図である。
【
図13】
図13は、推論処理に関するゼネラルフローチャートである。
【
図14】
図14は、マイクロ・コントローラ・ユニットの動作に関するゼネラルフローチャートである。
【
図15】
図15は、木構造モデル生成用データの取得の概念について示す説明図である。
【
図16】
図16は、分割値の決定の一例に関する説明図である。
【
図17】
図17は、平均値と標準偏差をまとめた表の一例である。
【発明を実施するための形態】
【0043】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0044】
(1.第1の実施形態)
まず、
図1~
図13を参照しつつ、本発明の第1の実施形態について説明する。第1の実施形態においては、本発明を、情報処理装置1上において実行する例について説明する。なお、本実施形態における情報処理装置は、PCやタブレット端末等の情報処理装置であるが、本発明はその他の装置にも適用できることは勿論である。従って、例えば、MCU(マイクロ・コントローラ・ユニット)や専用回路基板等であってもよい。
【0045】
(1.1 構成)
図1は、情報処理装置1の構成図である。同図から明らかな通り、情報処理装置1は、制御部10、記憶部11、入力部13、表示部14、音声出力部15、通信部16、及びI/O部17を備え、それらがバスを介して互いに接続されている。
【0046】
制御部10は、CPUやGPU等の演算装置であり、後述のプログラムの実行等を行う。記憶部11は、ROM/RAM等のメモリであって、プログラムやデータを記憶する。入力部13は、入力装置とのインタフェースを構成し、入力信号を受け付ける。表示部14は、表示装置と接続されて表示処理を行う。
【0047】
音声出力部15は、スピーカ等と接続されて音声出力処理を行う。通信部16は、有線又は無線により他の装置との間で通信を行う通信ユニットである。I/O部17は、外部機器との接続インタフェースであり、所定の入出力処理を行う。
【0048】
なお、
図1は単なる例示であって、その一部のみを備えた構成又はさらに別の構成を備えた構成としてもよい。例えば、外部ストレージからデータを読み出す構成としてもよいし、表示部14、音声出力部15、通信部16及びI/O部17を備えない組込用の装置として構成してもよい。
【0049】
また、同様の機能を、所定の回路やFPGA(フィールド・プログラマブル・ゲイト・アレイ)により実現してもよい。
【0050】
図2は、情報処理装置1の機能ブロック図である。同図から明らかな通り、情報処理装置1は、機能ブロックとして、後述の木構造モデルの生成処理を行う木構造モデル生成処理部18、後述の学習処理を行う学習処理部19、及び、後述の推論処理を行う推論処理部20を備えている。これらの機能ブロックは、制御部10により実現される。また、いずれも記憶部11、表示部14及び入力部13と接続され、適宜に、記憶処理、表示処理及び入力処理が行われる。
【0051】
なお、同図に記載の例にあっては、木構造の生成処理、学習処理、及び推論処理を同一の装置で実行するものとして記載するものの本発明はこのような構成に限定されない。従って、その一部又はすべてを別々の装置で実行してもよい。例えば、木構造の生成処理を一の装置で行った後に、学習処理及び推論処理を他の装置で実行する構成等としてもよい。
【0052】
(1.2 動作)
次に、情報処理装置1上にて実行される動作の例について説明する。
【0053】
(1.2.1 木構造モデルの生成処理)
図3は、木構造モデル生成処理部18により実行される、木構造モデルの生成処理に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、情報処理装置1は、木構造データの生成に用いるデータの読出処理を行う(S1)。
【0054】
このデータの読出処理ののち、ブーストラップ法により、木構造データ生成の基礎となるデータを生成する(S2)。ここで、ブートストラップ法とは、ある標本集団データから重複を許してデータを選択し、所望個数の新たな標本集団データを生成することを指している。
【0055】
本実施形態においては、ブートストラップ法により得られた新たな標本集団データは、1又は複数の系列データから成る。系列データは、連続値から成る系列データであってもよいし、不連続な値から成る系列データであってもよい。データの内容はどのような内容であってもよく、例えば、時系列データ等であってもよい。
【0056】
なお、本実施形態においては、ブートストラップ法によるデータ生成を行うものとして説明したが、このような構成に限定されない。従って、ブートストラップ法によるデータ生成を行わず、直接データを使用してもよい。
【0057】
図4は、木構造データの生成に用いられるデータの一例である。同図の例にあっては、ブートストラップ法により得られたデータは、3つの入力系列データ(X1~X3)と、1つの出力系列データ(y)を含んでいる。各系列データは、1~TまでのT個のステップで構成され、例えば、第1の入力系列データ(X1)は、-5(STEP=1)、8(STEP=2)・・・、45(STEP=T)のように数値が並んでいる。第2の入力系列データ(X2)、第3の入力系列データ(X3)、出力系列データ(y)においても数値列が並んでいる。なお、出力系列データ(y)は、入力系列データに対応して出力すべき系列データ、すなわち、正解データである。
【0058】
なお、同図において系列データの個数は例示であって、例えば、一の入力系列データと複数の出力系列データで構成してもよい。
【0059】
また、後述するように、木構造モデルの生成においては、出力系列データは不要であるため、木構造モデルの生成処理の段階では、入力系列データ(X1~X3)のみ読み出してもよい。
【0060】
ブートストラップ法によるデータの生成処理が行われた後、繰り返し処理に用いる変数nを初期化する処理が行われる(S3)。初期化処理とは、例えば、変数nを1に設定する処理である。その後、n番目の入力系列データについて統計データを生成し、記憶する処理が行われる。具体的には、入力系列データ(X)のすべて(STEP=1~STEP=T)を読み出して統計処理を行うことで統計データを生成する。
【0061】
統計データは、本実施形態においては基本統計量であり、より詳細には、入力系列データの最大値と最小値である。なお、基本統計量とは、データの基本的な特徴を表す値であり、代表値と散布度を含む。
【0062】
一の入力系列データについて統計データを生成する処理は、nが最大値N(例えば、
図4の例であれば、N=3)となるまで、nの値を1ずつインクリメントしながら繰り返し実行される(S5NO、S7)。nの値が最大値Nと等しくなった場合、変数mの初期化処理へと進む(S8)。
【0063】
図5は、本実施形態において得られる統計データの一例である。同図から明らかな通り、各入力系列データ(X1~X3)について、それぞれ最大値(Max.)と最小値(Min.)が統計量として生成されている。
【0064】
同図の例にあっては、第1の入力系列データ(X1)については、最小値が-10、最大値が100として示され、第2の入力系列データ(X2)については、最小値が30、最大値が40として示され、第3の入力系列データ(X3)については、最小値が-5、最大値が12として示されている。
【0065】
なお、本実施形態においては、各入力系列データに基づいてそれぞれ統計量を生成することにより統計量を特定する構成について記載したが、このような構成に限定されない。従って、例えば、各入力系列データの統計量、例えば、最大値と最小値が既知である場合等には、予め記憶部11等に記憶されている最大値と最小値を読み出し又は参照することにより統計量を特定してもよい。
【0066】
図3に戻り、変数mの初期化処理、例えば、m=1とする処理が行われた後(S8)、木構造モデルの生成処理が行われる(S10)。この木構造モデルの生成処理は、生成しようとする木構造モデルの個数(TreeNum)分だけ、変数mを1ずつインクリメントしつつ繰り返される(S11NO、S12)。木構造モデルをTreeNum個生成した後(S11YES)、処理は終了する。
【0067】
図6は、木構造モデルの生成処理(S10)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、まず、参照ノードを根ノードに設定する処理が行われる(S101)。その後、木構造を構成する各ノードの分岐条件、すなわち分割値を設定する処理が行われる(S102~S107)。分割値が設定されると、例えば、左子ノードには当該分割値より小さい値をもつデータが分岐により割り当てられ、右子ノードには当該分割値以上の値をもつデータが分岐により割り当てられることとなる。
【0068】
まず、分割値を設定する入力系列データをランダムに選択する(S102)。例えば、本実施形態においては、各入力系列データ(X1~X3)のいずれかが選択される。
【0069】
次に、選択された入力系列データの統計データに基づいて、ランダムに分割値が設定される(S103)。本実施形態においては、統計データとして生成された最小値から最大値までの範囲において乱数を生成し、ランダムに分割値が設定される(S103)。
【0070】
この入力系列データの選択処理(S102)と分割値の設定処理(S103)が、すべてのノードについて行われるまで、所定の法則に基づいて参照ノードを変更しつつ繰り返される(S105NO、S107)。ここで、所定の法則とは、本実施形態においては、所謂、深さ優先探索である。
【0071】
図7は、深さ優先探索の説明図である。同図において、円はノードを表しており、一番上のノードは根ノード、一番下のノードは葉ノードである。また、ノード内の数字は、参照する順番を表している。同図から明らかな通り、深さ優先探索により、1→2→3→4→・・・→13→14→15の順番でノードが参照される。
【0072】
なお、本実施形態においては、深さ優先探索が行われるものとして説明したものの、用いる法則はこれに限定されない。従って、例えば、幅優先探索等、他の参照ノードの変更方法を採用してもよい。
【0073】
すべてのノードについて分割値の設定処理が完了すると(S105YES)、生成された木構造モデルをデータとして記憶する処理を行い(S108)、処理は終了する。この記憶されるデータには、分割値や木構造に関するデータが含まれる。
【0074】
このような構成によれば、木構造モデルを構成する各ノードの分割値が、各ノードに割り当てられたデータに依存することなく、各入力系列データの統計量に基づいて設定されるので、分割値において多様性を有する木構造モデルデータを生成することができる。
【0075】
(1.2.2 学習処理)
続いて、
図8~
図12を参照しつつ、生成された木構造モデルを利用した学習処理について説明する。なお、学習処理は、本実施形態に係る手法に限定されず、他の学習処理手法を採用してもよい。
【0076】
図8は、学習処理部19により実行される、学習処理に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、木構造モデルデータを学習パラメータと共に読み出す処理が行われる(S21)。なお、本実施形態において、学習パラメータとは、例えば、各葉ノードに対応付けられた木構造推論値等である。
【0077】
次に、木構造モデルを利用した教師あり学習に用いられる学習対象データの読み出し処理が行われる(S22)。学習対象データは、1又は複数の入力系列データと当該入力系列データに対応する1又は複数の正解系列データとから構成されている。本実施形態にあっては、この学習対象データは、木構造モデルを生成した際に利用したデータと同一のデータであるが(例えば、
図4)、木構造モデル生成用データとは別に準備してもよい。
【0078】
学習対象データの読出処理の後、木構造モデルに対して、学習対象データを順に学習させる処理が行われる(S24~S28)。
【0079】
まず、学習対象データの一部を用いて、推論値y'を生成する処理が行われる(S24)。本実施形態において、学習対象データの一部は、
図4に示す表の同一STEP行の入力系列データ(X1~X3)である。
【0080】
図9は、学習処理において行われる推論値生成処理(S24)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、まず、変数mを初期化する処理、例えばm=1とする処理が行われる(S241)。その後、入力系列データの一部、すなわち、本実施形態においては
図4に示す表の同一STEP行の入力系列データ(X1~X3)をm番目の木構造へと入力して各ノードの分岐条件に応じて分類し、分類結果に合致する葉ノードを特定する(S242)。
【0081】
その後、各葉ノードに対応付けられている学習パラメータである木構造推論値ym'が特定される(S243)。なお、葉ノードに対応付けられた木構造推論値ym'の初期値は例えば0である。
【0082】
この木構造推論値ym'の特定処理をすべての木構造(TreeNum個)について生成するまで、mを1ずつインクリメントしつつ繰り返す(S244NO、S246)。
【0083】
すべての木構造について木構造推論値ym'を特定すると(S244YES)、推論値ym'の生成処理が行われる(S247)。推論値ym'の生成は、本実施形態においては、次式の如く、TreeNum個の木構造推論出力値ym'の総和として算出される。その後、推論値生成処理は終了する。
【数1】
【0084】
図8に戻り、推論値y'の生成処理が完了すると、各木構造モデルの更新処理が行われる(S26)。
【0085】
図10は、木構造モデルの更新処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、まず、更新量Δyの生成処理が行われる(S261)。更新量Δyは、次式の如く、勾配ngradを木構造モデルの数TreeNumで除することにより生成される。
【数2】
【0086】
ここで、本実施形態において、勾配ngradは、次式の如く、学習対象データの正解データと推論値y'との差分に学習率η(>0)を乗じた値として定義される。
【数3】
【0087】
更新量の計算の後、変数mを初期化する処理、例えばm=1とする処理が行われる。その後、各木構造モデルに対して、更新量を適用する処理がなされる(S264~S266)。
【0088】
すなわち、まず、第m番目の木構造モデルにおいて、推論値y'の生成の基礎となった葉ノードに係る木構造推論値ym'を、更新量Δyを用いて更新する処理が行われる(S264)。この更新処理は、本実施形態においては、木構造推論値ym'に更新量Δyを加算することにより行われる。
【0089】
この更新処理は、すべての木構造モデルにおける推論値y'の生成の基礎となった葉ノードに係る木構造推論値ym'を更新するまで、mを1ずつインクリメントしつつ、繰り返し実行される(S265NO、S266)。
【0090】
図11は、各木構造モデルの更新に関する概念図である。同図の例においては、TreeNum個の木構造モデルが縦一列に配置されて表示されている。また、各木構造モデルの葉ノードのうち、所定の入力データが入力されたことにより特定された分岐条件に合致する葉ノードはハイライト表示されている。
【0091】
同図には、ハイライト表示された葉ノードに対応付けられた木構造推論値ym'に基づいて推論値y'が生成された後に、当該推論値y'と正解データyに基づいて更新量Δyが生成され、当該更新量Δy(=ngrad/TreeNum)に基づいて各葉ノードに対応付けられた木構造推論値ym'が更新される、という一連の概念が示されている。
【0092】
すべての木構造推論値ym'について更新すると(S265YES)、すべての木構造モデルに関して更新結果となる木構造推論値ym'を学習パラメータとして記憶部11へと記憶する処理が行われ、処理は終了する。
【0093】
図8に戻り、すべての木構造モデルについて更新処理が完了すると、すべての学習対象データについて処理を行ったかの判定処理が行われる(S27)。
【0094】
未だすべての学習対象データが処理されていない場合(S27NO)、参照データを学習対象データのうちの次のデータに設定して(S28)、再び、推論値y'の生成処理(S24)、各木構造モデルの更新処理(S26)を行う。なお、学習対象データのうちの次のデータとは、例えば、入力系列データのうちの次のSTEP行のデータである。
【0095】
一方、すべての学習対象データについて処理を行ったと判定された場合(S27YES)、学習処理は終了する。
【0096】
このような構成によれば、各ノードの分岐条件となる分割値において多様性を有する木構造モデルを利用して順次学習を行うので、追加的に得られた学習対象データを適切に分岐する可能性を高めることができる。そのため、木構造モデルの生成時点で十分なデータが得られなかった場合や、コンセプトドリフト等により追加的に得られるデータの性質が微妙に変化した場合であっても対応可能な機械学習技術を提供することができる。
【0097】
また、各木構造モデルの更新を、更新量の加算処理により行うことができるので、学習に要する計算コストを低減することができる。
【0098】
さらに、学習パラメータ数が少なく省メモリでの機械学習を実現することができる。
【0099】
図12は、本実施形態に係る木構造モデルによる学習の概念図である。同図には、本実施形態に係る木構造による学習の概念図が上中下段の3段で示されている。
【0100】
最上段の四角形は、採り得る学習データ範囲(同図中において両矢印で示される)を表す2次元の空間表現であり、同図の例にあっては6点(図中黒点)の学習データが既に学習されている。
【0101】
この状態において、水平方向のほぼ中央において分割が行われた場合、同図中段において黒点にて示されるように、左右に3つずつの学習データに分けられる。
【0102】
本実施形態においては、割り当てられた学習データに関係なく分割値が決定されるため、同図中段の左右いずれの四角形においても、分割値の採り得る範囲に変化はなく、同図における両矢印の範囲において分割値が決定される。従って、例えば、最下段の四角形内の水平の直線のような分割が行われ得る。
【0103】
この状態において、同一の木構造モデルに対して追加学習を行うことを検討する。追加学習により、白丸のような点が新たに入力されると、下段左側の四角形においては、分割値を表す直線により、2つの白丸を含む領域と、1つの白丸と3つの黒丸を含む領域に分割される。一方、下段右側の四角形においては、分割値を表す直線により3つの黒丸と2つの白丸を含む領域と、1つの白丸を含む領域に分割される。
【0104】
同図より、新たに追加された白丸の間において分割がなされていることから、追加的に学習されたデータについても適切に分割が行われていることが把握される。すなわち、追加的に得られた学習対象データを適切に分岐する可能性を高めることができる。そのため、木構造モデルの生成時点で十分なデータが得られなかった場合や、コンセプトドリフト等により追加的に得られるデータの性質が変化した場合であっても対応可能な機械学習技術を提供することができる。
【0105】
(1.2.3 推論処理)
続いて、
図13を参照しつつ、学習処理により生成された学習済の木構造モデルを利用した推論処理について説明する。なお、推論処理は、本実施形態に係る手法に限定されず、他の推論処理手法を採用してもよい。
【0106】
図13は、推論処理部20により実行される、推論処理に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、木構造モデルデータを記憶部11から読み出す処理が実行される(S41)。なお、このとき、学習処理により得られたパラメータ等の推論処理に必要なパラメータ等も読み出される。
【0107】
木構造モデルデータの読出処理後、推論の基礎となる入力データの読出処理が行われる(S42)。例えば、すべての種類の入力系列データ(X1~X3)の所定単位、例えば、1ステップ分が読み出される。
【0108】
その後、変数mの初期化処理、例えば、m=1とする処理が実行される(S44)。初期化処理の後、木構造推論値ym'をすべての木構造(TreeNum個)について算出する処理が行われる(S45~S48)。
【0109】
すなわち、まず、入力データに基づいて、m番目の木構造モデルの各ノードにおける分岐条件に応じて各ノードにおいて判定処理を行い、入力データが属すべき葉ノードを特定する処理が行われる(S45)。その後、葉ノードに関連付けられた木構造推論値ym'を特定する処理が行われる(S46)。これらの処理(S45、S46)が木構造の個数(TreeNum)分だけ、mを1ずつインクメントしつつ繰り返される(S47NO、S48)。
【0110】
すべての木構造について木構造推論値ym'を生成すると(S47YES)、それらの木構造推論値ym'を利用して、推論値y'を生成する処理が実行される(S49)。推論値y'は、木構造推論値ym'の総和として、次式の如く算出される。
【数4】
【0111】
この推論値y'の生成の後、処理は終了する。なお、生成された推論値y'をどのように取り扱ってもよく、例えば、記憶部11へと記憶したり、所定の出力部等を介して外部装置へと出力する等してもよい。
【0112】
また、推論処理の後に、学習処理を行うことで、追加学習を行ってもよい。
【0113】
このような構成によれば、未知の入力データに対して、推論処理を行うことができる。
【0114】
(2.第2の実施形態)
次に、
図14及び
図15を参照しつつ、本発明の第2の実施形態について説明する。第2の実施形態においては、木構造の生成処理から学習処理、推論処理に至るまでをマイクロ・コントローラ・ユニット(MCU)上で実行する例について説明する。
【0115】
マイクロ・コントローラ・ユニットは、メモリ容量やCPU性能等の相違により、一般にPC等よりも処理性能が劣ることが多い。そのため、一般に、マイクロ・コントローラ・ユニット上において、機械学習のようにメモリ上に多量のデータを展開して演算を行うことが必要となる処理を実行することは難しい。
【0116】
しかしながら、本発明によれば、木構造の生成処理から学習処理、推論処理に至るまでをマイクロ・コントローラ・ユニット上で実行することができる。
【0117】
(2.1 構成)
本実施形態に係るマイクロ・コントローラ・ユニットは、CPU、メモリ、I/O部、及び周辺回路とを備えている。第1の実施形態と同様に、CPUにより木構造モデル生成処理部、学習処理部、推論処理部等が実現される。
【0118】
なお、マイクロ・コントローラ・ユニットは、様々な装置に組み込まれ得り、I/O部等を介して装置から学習対象データを取得したり、推論結果を出力することが可能なように構成されている。
【0119】
(2.2 動作)
図14は、マイクロ・コントローラ・ユニットの動作に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、まず、木構造モデル生成用データの取得処理が行われる(S61)。このとき、木構造モデル生成用データは、所定単位の全種類の入力データである。なお、木構造生成用データ、学習処理用データ及び推論処理用データはいずれも外部装置から取得される。そのため、本実施形態において、それらのデータは、マイクロ・コントローラ・ユニット上で予め保持されるものではない。
【0120】
木構造モデル生成用データの取得処理の後、所定の統計量、本実施形態においては、最大値と最小値の更新処理が行われる(S62)。すなわち、入力された木構造モデル生成用データが現在の最大値より大きいか又は最小値より小さい場合には、種類毎の最大値又は最小値の値を更新する。
【0121】
図15は、木構造モデル生成用データの取得の概念について示す説明図である。同例にあっては、マイクロ・コントローラ・ユニットに対して、所定単位、すなわち1ステップ分の全種類の入力データ(X1~X3)と正解データ(y)が取り込まれる。なお、所定単位は、1ステップに限られず複数ステップであってもよい。
【0122】
その後、各入力データ(X1~X3)は、マイクロ・コントローラ・ユニットで保持している入力データ毎の最小値と最大値と比較される。同図の例にあっては、いずれの入力データも、いずれの最小値又は最大値を超えるものではないので、更新処理は行われない。
【0123】
図14に戻り、木構造モデル生成用データの取得処理と統計量の更新処理は、所定個数取得したものと判定されるまで繰り返し行われる(S63NO)。この所定個数は、木構造モデルの生成に十分と判断される個数である。
【0124】
所定個数のデータが取得されたものと判定された場合(S63YES)、得られた統計量に基づいて、木構造モデルの生成処理が行われる(S64)。この木構造モデルの生成処理は、第1の実施形態に係るものと略同一であるので、詳細な説明は省略する(
図6を参照)。
【0125】
このような構成によれば、所定単位で入力された入力データにより統計量を逐次的に更新するので、メモリ上に一度に多量のデータを展開する必要がなく、小メモリのマイクロ・コントローラ・ユニット上であっても木構造モデルを生成することができる。
【0126】
木構造モデル生成処理の後、学習処理を行う学習モードへの切替処理が行われる(S65)。学習モードにおいては、推論出力の精度が基準値以上となるまで学習処理が繰り返される(S66、S67NO)。
【0127】
本実施形態における学習処理は、第1の実施形態における学習処理と略同一であるので詳細な説明は省略する(
図8を参照)。なお、本実施形態においては、マイクロ・コントローラ・ユニットは、所定単位、すなわち1ステップ分の全種類の入力データ(X1~X3)と正解データ(y)を取り込んで学習処理を行う。なお、所定単位は、1ステップに限定されず複数ステップであってもよい。
【0128】
このような構成によれば、所定単位で入力されたデータにより逐次的に学習を行い、メモリ上に一度に多量のデータを展開する必要がないので、小メモリのマイクロ・コントローラ・ユニットにおいても学習処理を行うことができる。
【0129】
また、推論出力の精度は、どのような手法で生成してもよいが、本実施形態においては、例えば、推論出力(y')と正解データ(y)との差分に基づいて生成される。
【0130】
学習モードにおいて、推論出力の精度が基準値以上となると(S67YES)、推論モードへの切替処理が行われる(S68)。推論モードへの切替処理が行われた後は、所定の入力データに基づいて推論処理が行われる(S69)。
【0131】
本実施形態における推論処理は、第1の実施形態における推論処理と略同一であるので詳細な説明は省略する(
図13を参照)。なお、本実施形態においては、マイクロ・コントローラ・ユニットは、所定単位、すなわち1ステップ分の全種類の入力データ(X1~X3)を取り込んで推論処理を行う。なお、所定単位は、1ステップに限定されず複数ステップであってもよい。
【0132】
推論モードにおいて、所定の終了条件を満たした場合、処理は終了する。なお、推論処理の後に再度学習処理を行ってもよい。
【0133】
このような構成によれば、小メモリのマイクロ・コントローラ・ユニットを用いて、木構造の生成処理から、生成された木構造を用いた学習処理及び推論処理まで行うことができる。
【0134】
なお、本実施形態においては、木構造の生成処理から学習処理、推論処理までをマイクロ・コントローラ・ユニット上で実行する例について説明したが、いずれの処理を外部装置で行い、いずれの処理をマイクロ・コントローラ・ユニット上で実行するかは自在に変更することができる。従って、例えば、木構造の生成処理から学習処理までを外部の情報処理装置上で行い、学習済モデルをマイクロ・コントローラ・ユニットへと実装して、推論処理のみ行わせる構成としてもよい。
【0135】
(3.変形例)
上述の実施形態は例示であり、種々の変形を行うことができる。
【0136】
上述の実施形態においては、木構造の各ノード値の分割値は、統計量に基づいてランダムに決定するものとして説明したが、本発明はこのような構成に限定されない。従って、例えば、一定の拘束条件の下、分割値を決定してもよい。
【0137】
図16は、分割値の決定の一例に関する説明図である。同図中央には、X1において分割値が20となる1つの親ノードと、当該親ノードから分岐し、X1において分割値が40となる左子ノードと、X1において分割値が10となる右子ノードと、がそれぞれ示されている。
【0138】
ところで、親ノードの分割値は20であり、左子ノードにはX1<20となるデータしか割り当てられていない。そのため、左子ノードにおけるX1<40との条件は、実質的に分岐の意味をなしておらず効率的な分岐の妨げとなっている。
【0139】
そこで、このような事態を防止するため、子ノードの分割値は、親ノード乃至上位ノーードの分岐条件を考慮した拘束条件の下で決定してもよい。すなわち、この例でいえば、左子ノードにおいて、X1については20より小さい範囲で決定しなければならないという拘束条件をつけてもよい。これによれば、効率的な分岐を実現することができる。
【0140】
上述の実施形態においては、統計量として、最大値と最小値を例示したが、本発明はこのような構成に限定されない。従って、他の統計量、例えば、平均値と標準偏差を利用してもよい。
【0141】
図17は、各入力系列データの平均値と標準偏差をまとめた表の一例である。なお、このような統計データに基づいて、分割値を設定する場合には、例えば、ボックス=ミュラー法を用いて、平均値と標準偏差に基づく正規分布乱数を生成してもよい。このような構成によれば、平均値近傍を選択しやすい状態でランダムに分割値を設定することができる。
【0142】
なお、統計量として、平均値と標準偏差を利用する場合でも、所定単位毎(例えば、1ステップ毎)にデータ取得を行って、平均値と標準偏差を演算してもよい。
【0143】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【0144】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0145】
1 情報処理装置
10 制御部
11 記憶部
13 入力部
14 表示部
15 音声出力部
16 通信部
17 I/О部
18 木構造モデル生成処理部
19 学習処理部
20 推論処理部
【要約】
1又は複数の入力系列データを含む木構造モデル生成用データに基づいて、機械学習に用いられる木構造モデルデータを生成する、情報処理装置であって、前記入力系列データ毎に統計量を特定する、統計量特定部と、各前記統計量に基づいて、木構造モデルを構成する各ノードの分割値を設定し、木構造モデルデータを生成する、木構造モデルデータ生成部と、を備える、情報処理装置が提供される。
【選択図】
図3