(57)【特許請求の範囲】
【請求項１】
対象装置から得られるデータを入力データとして取得する、入力データ取得部と、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理部と、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得部と、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理部と、を備えた、制御装置。
【請求項２】
前記追加学習処理部は、前記出力データと前記実際のデータに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記出力データを更新する、請求項１に記載の制御装置。
【請求項３】
前記更新用出力データは、前記出力データと前記実際のデータの相加平均値である、請求項１に記載の制御装置。
【請求項４】
前記更新用出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した前記出力データと前記実際のデータの加重平均値である、請求項１に記載の制御装置。
【請求項５】
前記更新用出力データは、前記出力データに対して、前記出力データと前記実際のデータとの差分に学習率を掛けたものを足した値である、請求項１に記載の制御装置。
【請求項６】
前記学習率は、前記追加学習処理の回数に応じて変化する、請求項５に記載の制御装置。
【請求項７】
前記学習済決定木は、アンサンブル学習を行う複数の決定木のうちの１つである、請求項１〜６に記載の制御装置。
【請求項８】
参照入力データを取得する、参照入力データ取得部と、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成部と、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第２の出力データを特定する、第２出力データ特定部と、
前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、
参照正解データを取得する、参照正解データ取得部と、
前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第２の出力データを更新する、追加学習処理部と、を備えた制御装置。
【請求項９】
前記追加学習処理部は、前記第２の出力データと前記差分データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記第２の出力データを更新する、請求項８に記載の制御装置。
【請求項１０】
前記更新用出力データは、前記第２の出力データと前記差分データとの相加平均値である、請求項８に記載の制御装置。
【請求項１１】
前記更新用出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した前記第２の出力データと前記差分データの加重平均値である、請求項８に記載の制御装置。
【請求項１２】
前記更新用出力データは、前記第２の出力データに対して、前記第２の出力データと前記差分データとの差分に学習率を掛けたものを足した値である、請求項８に記載の制御装置。
【請求項１３】
前記学習率は、前記追加学習処理の回数に応じて変化する、請求項１２に記載の制御装置。
【請求項１４】
対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理ステップと、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得ステップと、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、装置の制御方法。
【請求項１５】
参照入力データを取得する、参照入力データ取得ステップと、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成ステップと、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第２の出力データを特定する、第２出力データ特定ステップと、
前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、
参照正解データを取得する、参照正解データ取得ステップと、
前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第２の出力データを更新する、追加学習処理ステップと、を備えた装置の制御方法。
【請求項１６】
対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理ステップと、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得ステップと、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を実行する、装置の制御プログラム。
【請求項１７】
参照入力データを取得する、参照入力データ取得ステップと、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成ステップと、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第２の出力データを特定する、第２出力データ特定ステップと、
前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、
参照正解データを取得する、参照正解データ取得ステップと、
前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第２の出力データを更新する、追加学習処理ステップと、を備えた装置の制御プログラム。
【請求項１８】
入力データを取得する、入力データ取得部と、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理部と、
前記入力データに対応する教師データを取得する、教師データ取得部と、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理部と、を備えた、情報処理装置。
【請求項１９】
入力データを取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理ステップと、
前記入力データに対応する教師データを取得する、教師データ取得ステップと、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、情報処理方法。
【請求項２０】
入力データを取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理ステップと、
前記入力データに対応する教師データを取得する、教師データ取得ステップと、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、決定木を利用した制御装置等に関する。
【背景技術】
【０００２】
近年、機械学習技術を所定の装置の制御へと適用する場合に、コンセプトドリフトと呼ばれる現象により、次第に制御精度が低下してしまうとの問題が指摘されている。コンセプトドリフトとは、制御対象装置の経年劣化等により、開発当初に学習対象としたモデルからモデルが徐々に変化してしまう現象である。コンセプトドリフトに基づく制御精度の低下を防止する手法として、近年、装置から得られるデータを元に追加学習を行い学習済モデルを更新することが検討されている。
【０００３】
一方、近年、機械学習手法としてＣＡＲＴ法を初めとする決定木が注目を集めている。決定木によれば、学習結果の説明可能性や解釈可能性を高めることができる。
【０００４】
図１４は、従来から知られる決定木に関する説明図である。より詳細には、図１４（ａ）は、決定木の構造の一例を表す説明図であり、図１４（ｂ）は、図１４（ａ）に示す決定木を２次元空間状で示したものである。
【０００５】
同図から明らかな通り、決定木は、所定の学習データに基づいて、基端となる根ノード（図中最上段のノード）から末端の葉ノード（同図中最下段のノード）へと至る木構造を形成している。各ノードには、機械学習の結果、閾値θ1〜θ4との大小関係により定まる分岐条件が決定されている。これにより、推論段階において、根ノードから入力された入力データは、最終的に葉ノードＡ〜葉ノードＥのいずれかの葉ノードへと対応付けられることとなり、この対応付けられた葉ノード（出力ノード）に対応付けられたデータに基づいて出力値が決定される。
【０００６】
例えば、同図の例にあっては、葉ノードＡには、ｘ1≦θ1、かつ、ｘ2≦θ2の条件を満たすデータが対応付けられている。葉ノードＢには、ｘ1≦θ1、かつ、ｘ2＞θ2の条件を満たすデータが対応付けられている。葉ノードＣには、ｘ1＞θ1、ｘ2≦θ3、かつ、ｘ1≦θ4の条件を満たす入力が対応付けられている。葉ノードＤには、ｘ1＞θ1、ｘ2≦θ3、かつ、ｘ1＞θ4の条件を満たす入力が対応付けられている。葉ノードＥには、ｘ1＞θ1、かつ、ｘ2＞θ3の条件を満たす入力が対応付けられている。
【０００７】
このような決定木に対して追加学習を行う従来手法を大別すると、主に以下の２つの手法が挙げられる。
【０００８】
１つ目は、追加学習データに基づいて、木構造をさらに深さ方向に伸長させる手法である。この手法によれば、さらに木構造を細分化することができるものの、木構造のサイズが大きくなるので、学習と推論の両方の演算コストが高くなってしまう。また、追加学習にあたっては新たな記憶容量の追加が必要となる。
【０００９】
２つ目は、追加学習データに基づいて、新たに木構造の分岐条件の再構築を行う手法である（例として、特許文献１）。この手法によれば、追加分のデータを考慮して最適な分岐条件を再構築することができ、また、学習後の推論コストも当初と変わらないものの、機械学習を全体としてやり直すこととなるので、学習の演算コストは高く、また、追加学習にあたり新たな記憶容量の追加を必要とする。
【００１０】
すなわち、いずれの手法を利用しても、決定木の追加学習には、学習又は推論に関する演算コストの増大及び記憶容量の追加を伴うこととなる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２０１０／１１６４５０号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、機械学習技術を所定の装置の制御へと適用する際、コストの面等から、使用可能なハードウェア資源に関して一定の制限が存在することがある。例えば、近年注目されつつあるエッジコンピューティング等の領域で用いられる制御装置は、所謂、組み込み機器であることも多く、その場合、演算装置の演算能力や記憶容量等についてハードウェア的に一定の制限が存在する。
【００１３】
そのため、このような限られたハードウェア資源を有する装置へと、上述の追加学習を実行可能な決定木を搭載しようとすると、学習又は推論に関する演算コストの増大に基づく制御周期に対する遅れや記憶容量の超過等を生じさせるおそれがあり、制御の信頼性・安全性を担保できないおそれがあった。
【００１４】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供し、それにより、制御の信頼性・安全性を担保できる制御装置を提供することにある。
【００１５】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１６】
上述の技術的課題は、以下の構成を有する装置、方法、プログラム等により解決することができる。
【００１７】
すなわち、本発明に係る制御装置は、対象装置から得られるデータを入力データとして取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理部と、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得部と、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【００１８】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【００１９】
前記追加学習処理部は、前記出力データと前記実データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記出力データを更新する、ものであってもよい。
【００２０】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【００２１】
前記更新済出力データは、更新前の前記出力データと前記実データの相加平均値であってもよい。
【００２２】
このような構成によれば、簡易な演算により更新が出来るのでより学習負担を小さくすることができる。
【００２３】
前記更新済出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した更新前の前記出力データと前記実データの加重平均値であってもよい。
【００２４】
このような構成によれば、相対的に学習初期の更新の影響を大きくし、学習回数が増えるにつれて影響を小さくすることができるので安定した学習を行うことができる。
【００２５】
前記更新済出力データは、更新前の前記出力データに対して、更新前の前記出力データと前記実データとの差分に学習率を掛けたものを足した値であってもよい。
【００２６】
このような構成によれば、学習率を調整することで更新割合を自在に調整することができる。
【００２７】
前記学習率は、前記追加学習処理の回数に応じて変化するものであってもよい。
【００２８】
このような構成によれば、学習回数が増大するに連れて学習率を下げること等ができ、学習を安定させることができる。
【００２９】
前記学習済決定木は、アンサンブル学習を行う複数の決定木のうちの１つであってもよい。
【００３０】
このような構成によれば、アンサンブル学習に用いられる各決定木に対して、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を適用することができる。
【００３１】
また、他の側面から見た本発明に係る制御装置は、参照入力データを取得する、参照入力データ取得部と、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成部と、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第２の出力データを生成する、第２出力データ生成部と、前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、参照正解データを取得する、参照正解データ取得部と、前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第２の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【００３２】
このような構成によれば、事前に獲得された近似関数により一定の出力精度を担保しつつ、コンセプトドリフト等の対象の特性変化に対してオンライン学習により適応的な機械学習を行うことができる。すなわち、出力精度について一定の担保をしつつも対象の特性変化等に対して適応可能な機械学習技術を提供することができる。また、このとき、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【００３３】
前記追加学習処理部は、前記第２の出力データと前記差分データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記第２の出力データを更新する、ものであってもよい。
【００３４】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【００３５】
前記更新済出力データは、更新前の前記第２の出力データと前記差分データとの相加平均値であってもよい。
【００３６】
このような構成によれば、簡易な演算により更新が出来るのでより学習負担を小さくすることができる。
【００３７】
前記更新済出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した更新前の前記第２の出力データと前記差分データの加重平均値であってもよい。
【００３８】
このような構成によれば、相対的に学習初期の更新の影響を大きくし、学習回数が増えるにつれて影響を小さくすることができるので安定した学習を行うことができる。
【００３９】
前記更新済出力データは、更新前の前記第２の出力データに対して、更新前の前記第２の出力データと前記差分データとの差分に学習率を掛けたものを足した値であってもよい。
【００４０】
このような構成によれば、学習率を調整することで更新割合を自在に調整することができる。
【００４１】
前記学習率は、前記追加学習処理の回数に応じて変化する、ものであってもよい。
【００４２】
このような構成によれば、学習回数が増大するに連れて学習率を下げること等ができ、学習を安定させることができる。
【００４３】
本発明は方法としても観念することができる。すなわち、本発明に係る方法は、対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理ステップと、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得ステップと、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【００４４】
また、別の側面から見た本発明に係る方法は、参照入力データを取得する、参照入力データ取得ステップと、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成ステップと、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第２の出力データを生成する、第２出力データ生成ステップと、前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、参照正解データを取得する、参照正解データ取得ステップと、前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第２の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【００４５】
本発明はプログラムとしても観念することができる。すなわち、本発明に係るプログラムは、対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理ステップと、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得ステップと、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を実行するものである。
【００４６】
また、別の側面から見た本発明に係るプログラムは、参照入力データを取得する、参照入力データ取得ステップと、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第１の出力データを生成する、第１出力データ生成ステップと、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第２の出力データを生成する、第２出力データ生成ステップと、前記第１の出力データと前記第２の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、参照正解データを取得する、参照正解データ取得ステップと、前記第２の出力データと、前記第１の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第２の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【００４７】
本発明は、情報処理装置としても観念することができる。すなわち、本発明に係る情報処理装置は、入力データを取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理部と、前記入力データに対応する教師データを取得する、教師データ取得部と、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【００４８】
また、本発明は、情報処理方法としても観念することができる。すなわち、本発明に係る情報処理方法は、入力データを取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理ステップと、前記入力データに対応する教師データを取得する、教師データ取得ステップと、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【００４９】
さらに、本発明は、情報処理プログラムとしても観念することができる。すなわち、本発明に係る情報処理プログラムは、入力データを取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理ステップと、前記入力データに対応する教師データを取得する、教師データ取得ステップと、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【発明の効果】
【００５０】
本発明によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【図面の簡単な説明】
【００５１】
【図１】図１は、情報処理装置の機能ブロック図である。
【図２】図２は、制御装置の機能ブロック図である。
【図３】図３は、第１の実施形態に係るゼネラルフローチャートである。
【図４】図４は、生成される決定木の概念図である。
【図５】図５は、制御装置において実行される処理の詳細フローチャートである。
【図６】図６は、推論処理に基づく制御処理の詳細フローチャートである。
【図７】図７は、追加学習処理の詳細フローチャートである。
【図８】図８は、追加学習の理解を補足するための概念図である。
【図９】図９は、初期学習処理に関する概念図である。
【図１０】図１０は、推論処理の概念図である。
【図１１】図１１は、オンライン学習に関する概念図である。
【図１２】図１２は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。
【図１３】図１３は、追加学習の結果について示す説明図である。
【図１４】図１４は、従来の決定木に関する説明図である。
【発明を実施するための形態】
【００５２】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【００５３】
（１．第１の実施形態）
図１〜図８を参照しつつ、本発明の第１の実施形態について説明する。
【００５４】
（１．１  構成）
図１は、初期学習を行う情報処理装置１００の機能ブロック図である。同図から明らかな通り、情報処理装置１００は、記憶部２、学習対象データ取得部１１、決定木生成処理部１２及び記憶処理部１３を備えている。
【００５５】
なお、図１は、情報処理装置１００の機能ブロック図であり、情報処理装置１００は、ハードウェアとして、ＣＰＵやＧＰＵ等の制御部、ＲＯＭ、ＲＡＭ、ハードディスク及び／又はフラッシュメモリ等から成る記憶部、通信ユニット等から成る通信部、入力部、表示制御部、Ｉ／Ｏ部等を備えている。上記の各機能は、主に制御部において実現される。
【００５６】
記憶部２は、機械学習による学習の対象となるデータを記憶している。学習対象データは、所謂訓練データであり、予め制御対象装置から取得されたデータである。
【００５７】
図２は、推論処理と追加学習を行い、制御対象装置へと組み込まれる組込システムである制御装置２００の機能ブロック図である。同図から明らかな通り、制御装置２００は、入力データ取得部２１、推論処理部２２、データ出力部２４、記憶部２６及び追加学習処理部２８を備えている。
【００５８】
なお、図２は、制御装置２００の機能ブロック図であり、制御装置２００は、ハードウェアとして、ＣＰＵ等の制御部、ＲＯＭ、ＲＡＭ及び／又はフラッシュメモリ等のメモリから成る記憶部、Ｉ／Ｏ部等を備えている。上記の各機能は、主に制御部において実現される。
【００５９】
なお、ハードウェア構成は上述の構成に限定されない。従って、例えば、複数の装置から成るシステム等として構成してもよい。
【００６０】
（１．２  動作）
次に、図３〜図８を参照しつつ、本実施形態に係る発明の動作について説明する。
【００６１】
図３は、初期学習を行ってから制御装置２００を動作させるまでの手順に関する第１の実施形態に係るゼネラルフローチャートである。
【００６２】
同図から明らかな通り、まず、初期学習処理が行われる（Ｓ１）。初期学習処理は、予め制御対象装置から取得された訓練データを用いて、情報処理装置１００上で機械学習を行い、学習済決定木を生成する処理である。
【００６３】
より詳細には、学習対象データ取得部１１は、決定木の生成に必要な学習対象データを記憶部２から取得する。決定木生成処理部１２は、学習対象データ取得部１１により取得されたデータと、記憶部２から予め読み出した所定の事前設定情報（木構造の深さ等のパラメータ）に基づいて機械学習処理により決定木を生成する。生成された決定木に関する情報は、記憶処理部１３により記憶部２へと再び記憶される。なお、本実施形態において生成される決定木は連続的な数値を出力可能な回帰木である。
【００６４】
すなわち、情報処理装置１００により、初期状態にある制御対象装置のモデルに合わせた決定木が生成される。
【００６５】
図４は、機械学習により生成される決定木の概念図である。同図から明らかな通り、決定木は、分岐条件をそれぞれ備えるノードを階層的に配置することにより構成されている。また、各末端（葉）ノードには、対応付けられるデータに基づく出力値、例えば、同図の例にあってはＯA〜ＯEが対応付けられている。なお、図４で示される決定木は一例であり、決定木の深さ等の構造は自在に変更可能であることに留意されたい。
【００６６】
図３に戻り、初期学習処理（Ｓ１）が完了すると、次に初期学習を行うことにより生成された学習済モデル（学習済決定木）を制御装置２００へと搭載する処理が行われる（Ｓ３）。本実施形態においては、学習済決定木は、情報処理装置１００と制御装置２００とを直接接続して転送することにより行われる。なお、搭載する処理は、本実施形態の構成に限定されず、例えば、学習済決定木を情報処理装置１００からインターネット等のネットワークを介して送信し、制御対象装置へと記憶させる処理としてもよい。
【００６７】
制御装置２００への学習済決定木の搭載処理終了後、制御装置２００を制御対象装置へと搭載して制御対象装置を稼働する処理が行われる（Ｓ５）。
【００６８】
図５は、制御対象装置の稼働中において制御装置２００において実行される処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、推論処理に基づく制御対象装置の制御処理が行われる（Ｓ５１）。
【００６９】
図６は、推論処理に基づく制御処理（Ｓ５１）の詳細フローチャートである。同図から明らかな通り、処理が開始すると、入力データ取得部２１により制御対象装置から入力データを取得する処理が行われる（Ｓ５１１）。次に、推論処理部２２は、最新の学習済決定木を記憶部２６から読み出す処理を行う（Ｓ５１３）。
【００７０】
その後、推論処理部２２は、読み出した決定木に対して入力データを入力して推論処理を行い、出力データを生成する（Ｓ５１４）。すなわち、各ノードに対応付けられた分岐条件に応じてデータを分類することで出力ノードを特定し、当該出力ノードに対応付けられたデータに基づいて出力データを生成する。
【００７１】
この後、生成された出力データは、データ出力部２４によって制御装置２００から出力される（Ｓ５１６）。この出力データは制御対象装置へと提供されて、装置制御に利用される。その後、処理は終了する。
【００７２】
図５に戻り、推論処理に基づく制御処理が完了すると次に追加学習処理が行われる（Ｓ５２）。
【００７３】
図７は、追加学習処理（Ｓ５２）の詳細フローチャートである。同図から明らかな通り、処理が開始すると、追加学習処理部２８は、記憶部２６から最新の決定木を読み出す処理を行う（Ｓ５２１）。
【００７４】
さらに、追加学習処理部２８は、記憶部２６から入力データを取得し、制御対象装置から入力データに対応する実際のデータである実データを取得する処理を行う（Ｓ５２２）。その後、入力データと実データとを利用して決定木に対して追加学習を行う（Ｓ５２４）。
【００７５】
より詳細には、まず、入力データに対応する末端の出力ノードを特定すると共に、当該末端ノードに対応付けられた出力データＯ1curを特定する。その後、当該出力ノードの出力データＯ1curを実データＯ1を用いて更新し、更新後の出力データＯ1newを得る処理を行う。更新処理は更新前の出力データＯ1curと実データＯ1の相加平均を算出することにより行われる。すなわち更新後の出力データＯ1newは以下の数式を用いて算出される。
【数１】
0006795240.tif 000002
【００７６】
追加学習処理完了後、追加学習処理部２８は、決定木を記憶部２６へと記憶する処理を行い（Ｓ５２６）、処理は終了する。
【００７７】
図５に戻り、再び推論処理に基づく制御処理（Ｓ５１）が行われ、以降、処理は繰り返される。
【００７８】
図８は、上述の追加学習の理解を補足するための概念図である。図８（Ａ）は、従来の追加手法として木構造を伸長させる手法を採用した場合の２次元状態空間の分割に関する概念図を示しており、図８（Ｂ）は、本願発明に係る追加学習手法を採用した場合の２次元状態空間の分割に関する概念図である。
【００７９】
図８（Ａ）から明らかな通り、従来の追加学習手法においては、モデル構築時の分割状態が同図左側の状態であった場合に木構造を伸長させて追加学習を行うと、各分割領域をさらに細かく分割するように学習が行われる。
【００８０】
これに対して、図８（Ｂ）から明らかな通り、本実施形態に係る追加学習の例にあっては、モデル構築時の分割態様が同図左側の状態であった場合に追加学習を行うと、分割の態様を変えることなしに各領域の出力値のみを変更することができることが分かる。
【００８１】
以上の構成によれば、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【００８２】
なお、本実施形態においては、出力データの更新を数式１を用いて行うものとしたが、本発明はこのような構成に限定されない。すなわち、決定木の構造に対する変更、例えば、木構造の伸長等や、分岐条件の変更等を伴わずに出力値を更新するような態様であれば他の手法であってもよい。
【００８３】
（２．第２の実施形態）
続いて、図９〜図１１を参照しつつ、複数の学習済モデルを利用した、本発明の第２の実施形態について説明する。本実施形態においては、オフライン学習とオンライン学習を併用する学習モデルにおいて、追加学習を行う場面を想定している。なお、第１の実施形態と略同一の構成については適宜説明を省略する。
【００８４】
本実施形態において、オンライン学習とは、制御装置へと搭載した学習モデルのパラメータ等を制御対象装置において得られたデータに基づいて機械学習を行って制御装置上で更新することを意味する。なお、このとき、更新周期は、様々に変更でき、例えば、装置の制御周期と対応した逐次的な学習であってもよいし、所定量学習対象データが蓄積してから行うバッチ学習又はミニバッチ学習等であってもよい。
【００８５】
第１の実施形態と同様に、第２の実施形態においても、初期学習処理（Ｓ１）と、学習済モデルの搭載処理（Ｓ３）及び制御対象装置の稼働処理（Ｓ５）が行われる（図３）。
【００８６】
図９は、初期学習処理（Ｓ１）に関する概念図である。同図から明らかな通り、上段にはオフライン学習用モデルの学習処理が概念的に示されており、中段には、差分データの生成処理が概念的にしめされており、最下段には、オンライン学習用モデルの学習処理が概念的に示されている。
【００８７】
初期学習処理が開始されると、まず、オフライン学習用モデルに関する学習処理が行われる。図９上段から明らかな通り、訓練用入力データ３１と訓練用正解データ３２とから成る訓練用データのデータ群が、オフライン学習用モデルへと入力されて学習処理が行われる。これにより、訓練用データ群に基づいて、オフライン学習による学習済モデルが生成される。
【００８８】
なお、本実施形態においてオフライン学習用モデルとして、既知の種々の学習モデルやその組み合わせを採用可能であるが、本実施形態においては回帰出力可能な決定木（回帰木）が採用される。なお、オフライン学習用モデルに代えて、学習を伴わない定式化モデルを採用してもよい。以下では、機械学習により得られた学習済モデルと、定式化に基づくモデルとを総称して単にモデルと呼ぶことがある。
【００８９】
次に、この学習済モデルを生成した後、差分データの生成処理が行われる。図９中段から明らかな通り、生成された学習済モデルに対して訓練用入力データ３１を入力してその出力データ（推論結果）を算出し、当該出力データと訓練用正解データ３２との差分を算出することにより差分データ３４を生成する処理が行われる。
【００９０】
この差分データ３４を生成した後、オンライン学習用モデルについて学習処理が行われる。図９下段から明らかな通り、訓練用入力データ３１と差分データ３４とを用いてオンライン学習用モデルについて機械学習を行い、オンライン学習用の学習済モデルを生成する処理が行われる。なお、この学習済モデルは回帰出力可能な決定木（回帰木）である。
【００９１】
初期学習処理（Ｓ１）が完了すると、次に、生成された学習済のオフライン学習用モデルとオンライン学習用モデルとを制御装置２００へと搭載する処理が行われる（Ｓ３）。
【００９２】
続いて、制御対象装置の稼働処理（Ｓ５）、すなわち、推論処理に基づく制御対象装置の制御処理（Ｓ５１）と追加学習処理（Ｓ５２）が繰り返し行われる（図５参照）。
【００９３】
図１０は、本実施形態に係る推論処理の概念図である。同図から明らかな通り、制御対象装置から入力データ４１が取得されると、学習済のオフライン学習用モデルとオンライン学習用モデルへと入力される。オフライン学習用モデルとオンライン学習用モデルは、それぞれ推論処理を行い、オフライン学習用モデルの出力データ４２とオンライン学習用モデルの出力データ４３をそれぞれ生成する。
【００９４】
これらの出力データは、その後足し合わされて、最終的な出力データ４４が生成される。生成された出力データは、データ出力部によって制御装置から出力される。この出力データは制御対象装置へと提供されて、装置制御に利用される。
【００９５】
推論処理に基づき制御対象装置の制御処理が完了すると、次に、追加学習処理が行われる。本実施形態において、追加学習処理はオンライン学習用モデルについてのみ行われる。
【００９６】
図１１は、オンライン学習に関する概念図である。同図から明らかな通り、制御対象装置から取得された入力データ４１は、オフライン学習用の学習済モデルへと入力され、学習済モデルから推論結果である出力データ４２が生成される。この出力データ４２と、入力データ４１に対応して制御対象装置から取得された実データ５１との差分から、差分データ５２が生成される。この差分データ５２と入力データ４１とに基づいて、オンライン学習用の学習済モデル、すなわち、学習済の決定木を更新して追加学習する処理が行われる。
【００９７】
より詳細には、まず、オンライン用学習モデルにおいて入力データ４１に対応する末端の出力ノードを特定すると共に、当該末端ノードに対応付けられた出力データＯcurを特定する。その後、当該出力ノードの出力データＯcurを実データＯ（５１）及びオフライン用学習モデルの出力データＯOff_cur（４２）を用いて更新し、更新後の出力データＯnewを得る処理を行う。更新処理は、更新前の出力データＯcurと、実データＯとオフライン用学習モデルの出力データＯOff_cur（４２）との差分データ５２の相加平均を算出することにより行われる。すなわち更新後の出力データＯnewは以下の数式を用いて算出される。
【数２】
0006795240.tif 000003
【００９８】
この追加学習処理完了後、決定木を記憶部へと記憶する処理が行われる。以降、推論処理に基づく制御対象装置の制御処理と追加学習処理を繰り返すことで、制御対象装置の稼働処理が行われる。
【００９９】
このような構成によれば、オフライン学習により事前に獲得された近似関数により一定の出力精度を担保しつつ、コンセプトドリフト等の対象の特性変化に対してオンライン学習により適応的な機械学習を行うことができる。すなわち、出力精度について一定の担保をしつつも対象の特性変化やモデル変化等に対して適応可能な機械学習技術を提供することができる。
【０１００】
また、このとき、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【０１０１】
（３．変形例）
本発明は、上述の実施形態に限定されず、様々に変形して実施することができる。
【０１０２】
上述の実施形態においては、決定木のうち、特に、回帰木を利用して回帰問題を解く例について説明したが、本発明はそのような構成に限定されない。従って、上述の構成を利用して、分類問題を解くこともできる。
【０１０３】
図１２は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。同図左側には、３つの商品を、それぞれサイズ（Ｓｉｚｅ）、プライス（Ｐｒｉｃｅ）、色（Ｃｏｌｏｒ）に着目してまとめた表が描かれている。この状態において新たな商品のサイズとプライスに基づいて色を推論する状況を検討する。
【０１０４】
ここで、色は、「Ｒｅｄ（赤）」、「Ｇｒｅｅｎ（緑）」、及び「Ｂｌｕｅ（青）」であり、これらはラベルであるのでこのままでは回帰木で取り扱うことはできない。そこで所謂ワン・ホット・エンコーディング（Ｏｎｅ−Ｈｏｔ  Ｅｎｃｏｄｉｎｇ）を利用する。ワン・ホット・エンコーディングとは、変数を０と１のダミー変数を持つ新しい特徴量で置換する処理である。
【０１０５】
同図右側には、ワン・ホット・エンコーディング処理後の各変数の状態を表した表が示されている。同図から明らかな通り、「カラー」の項目は、「Ｒｅｄ（赤）」、「Ｇｒｅｅｎ（緑）」及び「Ｂｌｕｅ（青）」の３つの項目と置換され、対応する色について「１」、対応しない色について「０」が配置されている。このような構成によれば、出力次元を１次元から３次元とすることで回帰問題として扱うことができる。
【０１０６】
さらに追加学習を行った場合について説明する。この例にあっては、さらに新たな入力データとしてサイズ「Ｓ」、プライス「６０００」、及び色「グリーン」の商品データが追加学習されたものとする。
【０１０７】
図１３は、追加学習の結果について示す説明図である。同図の例にあっては、出力値を確率値として扱い合計が１となるように構成され、赤と緑がそれぞれ０．５ずつに更新されている。すなわち、以上の構成によれば、回帰木を利用して分類問題を解くことができる。
【０１０８】
上述の構成においては、追加学習を行う際の更新後の出力データは相加平均により算出されることとしたが、本発明はこのような構成に限定されない。
【０１０９】
従って、例えば、出力ノードにおける現在の出力データをＯ1cur、実データをＯ1、それまでの学習済データ数をｎｕｍとしたときに、更新後の出力データＯ1newは加重平均を利用して以下の通りとしてもよい。
【数３】
0006795240.tif 000004
【０１１０】
また、例えば、出力ノードにおける現在の出力データＯ1curに対して、現在の出力データＯ１curと実データをＯ1の差分に所定の学習率を掛けたものを足し合わせて更新してもよい。
【数４】
0006795240.tif 000005
【０１１１】
勿論、第２の実施形態の構成においても同様に、以上の数式を応用可能である。例えば、以下の通り、数式４における実データＯ1を、実データＯとオフライン学習用モデルの出力Ｏoff_curとの差分に置換することで、オンライン学習用モデルを更新することができる。
【数５】
0006795240.tif 000006
【０１１２】
いずれの更新手法を採用する場合であっても、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【０１１３】
上述の構成においては、単一の決定木を利用することとしたが、本発明はこのような構成に限定されない。従って、例えば、本発明を、ランダムフォレスト等の複数の決定木を利用したアンサンブル学習に適用してもよい。すなわち、各決定木の追加学習処理を行う際に、分割態様を変更することなく出力データを直接更新してもよい。
【０１１４】
このような構成によれば、アンサンブル学習に用いられる各決定木に対して、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を適用することができる。
【０１１５】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【０１１６】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【０１１７】
２    記憶部
１１    学習対象データ取得部
１２    決定木生成処理部
１３    記憶処理部
２１    入力データ取得部
２２    推論処理部
２４    データ出力部
２６    記憶部
２８    追加学習処理部
１００    情報処理装置
２００    制御装置
【要約】
【課題】追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供すること。
【解決手段】  対象装置から得られるデータを入力データとして取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理部と、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得部と、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えた、制御装置が提供される。
【選択図】図８【図１】
0006795240.tif 000007
【図２】
0006795240.tif 000008
【図３】
0006795240.tif 000009
【図４】
0006795240.tif 000010
【図５】
0006795240.tif 000011
【図６】
0006795240.tif 000012
【図７】
0006795240.tif 000013
【図８】
0006795240.tif 000014
【図９】
0006795240.tif 000015
【図１０】
0006795240.tif 000016
【図１１】
0006795240.tif 000017
【図１２】
0006795240.tif 000018
【図１３】
0006795240.tif 000019
【図１４】
0006795240.tif 000020