(57)【特許請求の範囲】
【請求項１】
階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理装置において、
複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出部と、
前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出部と、
各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成部と、
前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習部と、を備える情報処理装置。
【請求項２】
前記順序生成部は、さらに、
前記重要度が高い入力列が前記木構造モデルにおける上位ノードに対応するように順序を生成する、詳細順序生成部を備える、請求項１に記載の情報処理装置。
【請求項３】
各前記重要度は、各前記入力列と対応する各前記出力列との間の関連性に基づいて生成される、請求項１に記載の情報処理装置。
【請求項４】
前記関連性は、各前記入力列と対応する各前記出力列との間の相関係数の絶対値である、請求項３に記載の情報処理装置。
【請求項５】
前記順序生成部は、
各前記入力列のうち相関係数が最大となる入力列を特定して前記順序に組み込む、最大相関係数入力列特定部と、
相関係数が最大として特定された前記入力列の相関係数を所定数値で除算する、除算部と、
前記最大相関係数入力列特定部と前記除算部とを所定回数だけ繰り返し動作させて、各前記入力列の順序を生成する、繰返処理部と、を備える、請求項４に記載の情報処理装置。
【請求項６】
前記順序生成部は、
各前記入力列の重要度順に各前記入力列の順序を生成する、重要度順順序生成部、を備える、請求項１に記載の情報処理装置。
【請求項７】
階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理方法において、
複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出ステップと、
前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出ステップと、
各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成ステップと、
前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習ステップと、を備える情報処理方法。
【請求項８】
コンピュータを、階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理装置として機能させるコンピュータプログラムにおいて、
複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出ステップと、
前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出ステップと、
各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成ステップと、
前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習ステップと、を備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機械学習技術に関し、特に、木構造を利用した機械学習技術に関する。
【背景技術】
【０００２】
近年、機械学習の分野が高い注目を集めている。このような背景の中、本願の発明者らは、木構造を有する新たな機械学習の枠組み（学習木）を提唱している（特許文献１）。【０００３】
図８は、上述の新たな機械学習の枠組みについて示す説明図、すなわち、学習木の構造について示す説明図である。図８（ａ）には、当該学習手法における学習木の構造が示されており、図８（ｂ）には、当該構造に対応する状態空間のイメージが示されている。同図から明らかな通り、学習木構造は、階層的に分割された各状態空間に対応する各ノードを、最上位ノード（始端ノード又は根ノード）から最下端ノード（末端ノード又は葉ノード）まで、樹形状乃至格子状に分岐して配置することにより構成されている。なお、同図は、Ｎ階層ｄ次元ｎ分割の学習木においてｄが２、ｎが２の場合の例を示しており、図８（ａ）に記載の学習木の１階層目の４つの末端ノードに付された１〜４の番号は、それぞれ、図８（ｂ）に記載の４つの状態空間に対応している。【０００４】
上記学習木を用いて学習処理を行う際には、入力されるデータが、逐次、分割された各状態空間に対応付けられ、それらが各状態空間に蓄積されていくこととなる。このとき、それまでデータが存在しなかった状態空間に新たにデータが入力された場合には、新たなノードが順次生成されていく。予測出力は、学習後に各状態空間に内包される各データに対応する出力値又は出力ベクトルの相加平均をとることで算出されることとなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１７３６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従前のこの種の機械学習の枠組みにおいては、入力が複数次元である場合、提供された入力列の順に木構造の上位から分岐判定が行われていた。【０００７】
図９は、従前の、分岐判定に用いられる入力列の順序、すなわち、分岐列についての説明図である。同図の場合において、入力は３次元であり、その入力列の順序は左から順に「入力列１」、「入力列２」及び「入力列３」である。従前、分岐判定に用いられる入力列の順序については特段の配慮はなされておらず、単に提供された各入力列の順序に沿って上位から決定されていた。すなわち、同図の例にあっては、最上位ノード（根ノード）は「入力列１」に基づいて、その一つ下の段のノードは「入力列２」に基づいて、さらにその一つ下のノードは「入力列３」に基づいて、分岐判定を行っていた。【０００８】
しかしながら、このような構成とすると種々の不都合が生じる。例えば、図９の場合において、仮に、「入力列１」が出力に対して影響を殆ど及ぼさないような入力列であったような場合、意義の小さい「入力列１」の値に基づいて最上位の状態空間において空間分割が行われると、その後の探索は分割された空間に基づいて行われることから、不適当に探索空間を狭めてしまう虞があった。【０００９】
本発明は、上述の技術的背景の下になされたものであり、その目的とすることころは、学習対象となる入力列の順序によって探索空間が不当に限定されることを防止して、それにより機械学習の精度を向上させることにある。【００１０】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１１】
上述の技術的課題は、以下の構成を有する装置、方法、プログラム等により解決することができる。【００１２】
すなわち、本発明に係る情報処理装置は、階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理装置において、複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出部と、前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出部と、各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成部と、前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習部と、を備えている。【００１３】
このような構成によれば、重要度の高い入力列から優先的に状態空間を探索するので探索空間が不当に限定されることがない。そのため、本来探索すべき状態空間を十分に探索することができるので、機械学習の精度を向上させることができる。また、それに伴い、精度の良好な学習済モデル（予測モデル）を提供することができる。なお、予想の語は、入力データと学習済モデルに基づいて出力データを生成することを意味する。【００１４】
前記順序生成部は、さらに、前記重要度が高い入力列が前記木構造モデルにおける上位ノードに対応するように順序を生成する、詳細順序生成部を備える、ものであってもよい。【００１５】
各前記重要度は、各前記入力列と対応する各前記出力列との間の関連性に基づいて生成される、ものであってもよい。【００１６】
前記関連性は、各前記入力列と対応する各前記出力列との間の相関係数の絶対値である、ものであってもよい。【００１７】
前記順序生成部は、各前記入力列のうち相関係数が最大となる入力列を特定して前記順序に組み込む、最大相関係数入力列特定部と、相関係数が最大として特定された前記入力列の相関係数を所定数値で除算する、除算部と、前記最大相関係数提供部と前記除算部とを所定回数だけ繰り返し動作させて、各前記入力列の順序を生成する、繰返処理部と、を備えるものであってもよい。【００１８】
前記順序生成部は、各前記入力列の重要度順に各前記入力列の順序を生成する、重要度順順序生成部、を備える、ものであってもよい。【００１９】
また、本発明は情報処理方法として観念することもできる。すなわち、本発明に係る情報処理方法は、階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理方法において、複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出ステップと、前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出ステップと、各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成ステップと、前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習ステップと、を備えている。【００２０】
さらに、本発明に係るコンピュータプログラムとして観念することもできる。すなわち、本発明に係るコンピュータプログラムは、コンピュータを、階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理装置として機能させるコンピュータプログラムにおいて、複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出ステップと、前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出ステップと、各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成ステップと、前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習ステップと、を備えている。
【発明の効果】
【００２１】
本発明によれば、探索空間が不当に限定されることを防止して、それにより機械学習の精度を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、情報処理装置のハードウェア構成図である。
【図２】図２は、学習処理に関するゼネラルフローチャートである。
【図３】図３は、分岐列生成処理に関するゼネラルフローチャートである。
【図４】図４は、重要度解析処理に関する詳細フローチャートである。
【図５】図５は、相関係数に関する説明図である。
【図６】図６は、分岐列の生成処理に関する詳細フローチャートである。
【図７】図７は、分岐列の生成に関する説明図である。
【図８】図８は、学習の基本的構成に関する説明図である。
【図９】図９は、分岐列に関する説明図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【００２４】
＜１．第１の実施形態＞
＜１．１  構成＞
図１を参照しつつ、本実施形態に係る機械学習処理、予測処理等が実行される情報処理装置１００のハードウェアの構成について説明する。同図から明らかな通り、本実施形態に係る情報処理装置１００は、表示部１、音声出力部２、入力部３、制御部４、記憶部５、通信部６とがバスを介して接続されて構成されている。情報処理装置１００は、例えば、パーソナルコンピュータ（ＰＣ）、スマートフォンやタブレット端末である。
【００２５】
表示部１は、ディスプレイ等と接続されて表示制御を行い、ディスプレイ等を介してユーザにＧＵＩを提供する。音声出力部２は、音声情報に関する処理を行い、スピーカー等を通じて音声を出力する。入力部３は、キーボード、タッチパネル、マウス等を介して入力された信号を処理するものである。
【００２６】
制御部４は、ＣＰＵ及びＧＰＵ等の情報処理部であり、情報処理装置１００の全体制御、学習処理又は予測処理などのプログラムの実行処理を行う。記憶部５は、ＲＯＭ、ＲＡＭ、ハードディスク、フラッシュメモリ等の揮発性又は不揮発性の記憶装置であり、学習対象データ、機械学習プログラム、予測処理プログラム等の各種データやプログラムを格納している。通信部６は、有線又は無線にて外部機器と通信を行う通信ユニットである。
【００２７】
なお、ハードウェア構成は、本実施形態に係る構成に限定されるものではなく、構成や機能を分散又は統合してもよい。例えば、複数台の情報処理装置を用いて分散的に処理を行っても良いし、大容量記憶装置をさらに外部に設けて情報処理装置１と接続する等してもよいことは勿論である。また、インターネット等を介してコンピュータネットワークを形成して処理を行ってもよい。
【００２８】
また、本実施形態に係る処理は、ソフトウェアとしてだけでなく、ＦＰＧＡ等の半導体回路（ＩＣ等）、すなわちハードウェアとして実装してもよい。
【００２９】
＜１．２  動作＞
図２は、情報処理装置１００において行われる学習処理に関するゼネラルフローチャートである。
【００３０】
同図から明らかな通り、学習処理が開始すると、木構造を構成するノードにおける分岐判定に用いられる入力列の順序、すなわち、分岐列の生成処理が行われる（Ｓ１）。
【００３１】
図３〜図７を参照しつつ、分岐列の生成処理（Ｓ１）の詳細について説明する。
【００３２】
図３は、分岐列生成処理（Ｓ１）に関するゼネラルフローチャートである。同図から明らかな通り、学習対象データセット、すなわち、複数の入力列と１又は複数の出力列のセットを記憶部５から読み出す処理が行われる（Ｓ１１）。その後、読み出された学習対象データセットに基づいて、各入力列の重要度を解析する処理が行われる（Ｓ１３）。なお、本実施形態においては、例として、入力列はｉｍａｘ次元、出力列の個数は１次元である。
【００３３】
図４は、重要度解析処理に関する詳細フローチャートである。処理が開始すると、学習対象データセットのうちの各入力列に便宜上与えられる固有値ｉ（整数）を初期化する処理が行われる（Ｓ１３１）。初期化処理が完了すると、ｉ番目の入力列Ｉｉと出力列Ｏとの間の相関係数ρｉを、下記の数式に基づき算出し、当該ρｉの絶対値を算出する処理が行われる（Ｓ１３３）。なお、σＸは対象となる入力列の標準偏差、σＹは対象となる出力列の標準偏差、及び、σＸＹは、共分散を表している。
【数１】
0006869588.tif 000002
【００３４】
その後、相関係数ρｉの絶対値を記憶部５へと記憶する処理が行われる（Ｓ１３５）。なお、後述するように、この相関係数ρｉの絶対値は重要度に相当する数値となる。
【００３５】
図５は、相関係数に関する説明図（概念図）である。同図（ａ）は、２つの確率変数間に強い負の相関がある場合、同図（ｂ）は、２つの確率変数間に同図（ａ）よりは弱い負の相関がある場合、同図（ｃ）は、相関がない場合、同図（ｄ）は、２つの確率変数間に同図（ｅ）よりは弱い正の相関がある場合、同図（ｅ）は、２つの確率変数間に強い正の相関がある場合を表している。相関係数の絶対値をとることで、例えば、同図（ａ）、同図（ｂ）、同図（ｄ）及び同図（ｅ）に相当するような２つの確率変数間に何らかの相関がある場合を抽出することができる。
【００３６】
その後、ｉの値をｉｍａｘと比較する処理が行われ、未だｉの値がｉｍａｘに満たないと判断される場合、ｉを１だけインクリメントする処理が行われる（Ｓ１３９）。このような処理（Ｓ１３３〜Ｓ１３７ＮＯ、Ｓ１３９）は、ｉの値がｉｍａｘと一致するまで行われる。
【００３７】
ｉの値がｉｍａｘと一致する場合（Ｓ１３７ＹＥＳ）、重要度解析処理（Ｓ１３）は終了する。
【００３８】
図３に戻り、重要度解析処理が終了すると、分岐列の生成処理が行われる（Ｓ１５）。
【００３９】
図６は、分岐列の生成処理に関する詳細フローチャートである。処理が開始すると、記憶部５から各入力列に関する相関係数ρｉの絶対値を分岐列生成列として読み出す（Ｓ１５１）。その後、便宜的に分岐列の長さを表す整数値ｎを初期化する処理が行われる（Ｓ１５３）。
【００４０】
所定の初期化処理の後、現在の分岐列生成列のうち、相関係数ρの絶対値が最大となる入力列を分岐列の第ｎ番目の値として記憶部５へと記憶する。その後、ｎが所定の最大設定値ｎｍａｘと一致するか否かが判定される（Ｓ１５７）。ｎの値がｎｍａｘと一致しないと判定される場合（Ｓ１５７ＮＯ）、現在の分岐列生成列のうち、相関係数ρの絶対値が最大の入力列の相関係数の絶対値に対して所定の値、特に０より大きく１より小さい値、本実施形態においては例示的に２／３を掛けて値を更新し記憶する（Ｓ１５９）。その後、ｎを１だけインクリメントし、再度、上述の処理（Ｓ１５５、Ｓ１５７ＮＯ、Ｓ１５９、Ｓ１６１）が繰り返される。
【００４１】
その後、ｎの値がｎｍａｘと一致すると判定された場合（Ｓ１５７ＹＥＳ）、分岐列の生成処理は終了する。
【００４２】
図７を参照しつつ、図６のフローチャートに係る動作を具体的に説明する。図７は、分岐列の生成に関する説明図である。同図の例にあっては、当初の入力列は３次元であって、各入力列には便宜上１〜３の番号が振られている。また、同入力列に対して、重要度解析処理（Ｓ１３）が行われたことにより、３番目の入力列に対して重要度が０．９、入力列１に対しては重要度が０．６５、入力列２に対しては重要度が０．３２として算出されたものとする。すなわち、当初入力列が「３→１→２」の順で重要度が大きいものとして算出され記憶部５へと記憶されている。
【００４３】
このとき、分岐列生成処理（Ｓ１５）が開始すると、各入力列の相関係数ρｉの絶対値を読み出す処理が行われ（Ｓ１５１）、また、ｎを１として初期化される（Ｓ１５３）。その後、相関係数の絶対値が０．９で最大となる３番目の入力列を第１番目の分岐列として記憶する。その後、ｎの値がｎの最大値ｎｍａｘ（同図の例にあっては４）であるか否かが判定される（Ｓ１５７）。
【００４４】
ここでは、ｎの値は１で最大値４と一致しないので（Ｓ１５７ＮＯ）、現在の分岐生成列のうち、相関係数ρの絶対値が最大となる３番目の入力列に２／３を掛けて分岐列生成列を更新、記憶する処理が行われる（Ｓ１５９）。すなわち、３番目の入力列の値０．９に２／３を掛けて０．６とする処理が行われ、各入力列「３、１、２」の重要度は、それぞれ「０．６、０．６５、０．３２」へと更新される。
【００４５】
その後、ｎの値を１だけインクリメントさせて２として、再び同様の処理が繰り返される。すなわち、次に相関係数ρの絶対値が最大（０．６５）となる入力列である１番目の入力列を分岐列として記憶した後、当該数値に２／３を掛けるという処理を行う。上述の処理が、ｎの値が４と一致するまで繰り返し行われる。その結果、同図の例においては、分岐列は最終的に「３→１→３→１」となる。
【００４６】
図３に戻り、分岐列の生成処理（Ｓ１５）が終了すると、生成された分岐列を記憶部５へと記憶する処理が行われて（Ｓ１７）、分岐列生成処理（Ｓ１）は終了する。
【００４７】
図２に戻り、分岐列生成処理（Ｓ１）が終了すると、分岐列に基づく、機械学習処理が行われる（Ｓ３）。すなわち、生成された分岐列に基づいて、木構造の上位から各ノードの分岐判定を行い、各ノードに各データを蓄積させていく処理を行う。
【００４８】
例えば、図７の分岐列を使用する場合にあっては、根ノードから末端ノードに向かって、入力列「３→１→３→１」の順に条件判定を行って各入力データをノードへと蓄積していくこととなる。なお、機械学習処理の例については、種々の公知の文献、例えば、特開２０１６−１７３６８６号公報なども参照されたい。
【００４９】
分岐列に基づく機械学習処理が終了すると、生成された学習済モデルを記憶部５へと記憶する処理が行われる（Ｓ５）。
【００５０】
このような構成によれば、重要度の高い入力列から優先的に状態空間を探索するので探索空間が不当に限定されることがない。そのため、本来探索すべき状態空間を十分に探索することができるので、機械学習の精度を向上させることができる。
【００５１】
なお、適切な学習処理がなされることにより、学習済モデルを利用した予測処理の精度も向上する。
【００５２】
＜２．変形例＞
上述の実施形態においては、重要度解析処理（Ｓ１３）における重要度として相関係数の絶対値を利用したが、本発明はそのような構成に限定されない。従って、例えば、相関係数以外の種々の指標を利用することができる。
【００５３】
上述の実施形態においては、重要度解析処理（Ｓ１３）を行った後、動的に分岐列を生成する処理（Ｓ１５）を行ったが、本発明はそのような構成に限定されない。従って、例えば、単に重要度の順に分岐列を生成してもよい。
【産業上の利用可能性】
【００５４】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【００５５】
１    表示部
２    音声出力部
３    入力部
４    制御部
５    記憶部
６    通信部
１００    情報処理装置
【要約】
【課題】  学習対象となる入力列の順序によって探索空間が不当に限定されることを防止して、それにより機械学習の精度を向上させること。
【解決手段】  階層的に分割された状態空間へとそれぞれ対応付けられる複数のノードを分岐させて階層的に配置することにより構成される木構造モデルを利用して機械学習を行う情報処理装置において、複数の入力列と１又は複数の出力列とから成る学習対象データセットを読み出す、学習対象データセット読出部と、前記学習対象データセットに基づいて、各前記入力列の重要度を算出する、重要度算出部と、各前記重要度に基づいて、各前記ノードの分岐判定の基礎となる各前記入力列の順序を生成する、順序生成部と、前記学習対象データセットと前記順序に基づいて機械学習を行う、機械学習部と、を備える情報処理装置が提供される。
【選択図】図７【図１】
0006869588.tif 000003
【図２】
0006869588.tif 000004
【図３】
0006869588.tif 000005
【図４】
0006869588.tif 000006
【図５】
0006869588.tif 000007
【図６】
0006869588.tif 000008
【図７】
0006869588.tif 000009
【図８】
0006869588.tif 000010
【図９】
0006869588.tif 000011