(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6795240
(24)【登録日】2020年11月16日
(45)【発行日】2020年12月2日
(54)【発明の名称】制御装置、方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20201119BHJP
【FI】
G06N20/00 130
【請求項の数】20
【全頁数】21
(21)【出願番号】特願2020-104786(P2020-104786)
(22)【出願日】2020年6月17日
【審査請求日】2020年7月15日
【早期審査対象出願】
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
【審査官】
多胡 滋
(56)【参考文献】
【文献】
特開2018−026020(JP,A)
【文献】
国際公開第2015/011521(WO,A1)
【文献】
米国特許第05787274(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
対象装置から得られるデータを入力データとして取得する、入力データ取得部と、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理部と、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得部と、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理部と、を備えた、制御装置。
【請求項2】
前記追加学習処理部は、前記出力データと前記実際のデータに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記出力データを更新する、請求項1に記載の制御装置。
【請求項3】
前記更新用出力データは、前記出力データと前記実際のデータの相加平均値である、請求項1に記載の制御装置。
【請求項4】
前記更新用出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した前記出力データと前記実際のデータの加重平均値である、請求項1に記載の制御装置。
【請求項5】
前記更新用出力データは、前記出力データに対して、前記出力データと前記実際のデータとの差分に学習率を掛けたものを足した値である、請求項1に記載の制御装置。
【請求項6】
前記学習率は、前記追加学習処理の回数に応じて変化する、請求項5に記載の制御装置。
【請求項7】
前記学習済決定木は、アンサンブル学習を行う複数の決定木のうちの1つである、請求項1〜6に記載の制御装置。
【請求項8】
参照入力データを取得する、参照入力データ取得部と、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成部と、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第2の出力データを特定する、第2出力データ特定部と、
前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、
参照正解データを取得する、参照正解データ取得部と、
前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第2の出力データを更新する、追加学習処理部と、を備えた制御装置。
【請求項9】
前記追加学習処理部は、前記第2の出力データと前記差分データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記第2の出力データを更新する、請求項8に記載の制御装置。
【請求項10】
前記更新用出力データは、前記第2の出力データと前記差分データとの相加平均値である、請求項8に記載の制御装置。
【請求項11】
前記更新用出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した前記第2の出力データと前記差分データの加重平均値である、請求項8に記載の制御装置。
【請求項12】
前記更新用出力データは、前記第2の出力データに対して、前記第2の出力データと前記差分データとの差分に学習率を掛けたものを足した値である、請求項8に記載の制御装置。
【請求項13】
前記学習率は、前記追加学習処理の回数に応じて変化する、請求項12に記載の制御装置。
【請求項14】
対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理ステップと、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得ステップと、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、装置の制御方法。
【請求項15】
参照入力データを取得する、参照入力データ取得ステップと、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成ステップと、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第2の出力データを特定する、第2出力データ特定ステップと、
前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、
参照正解データを取得する、参照正解データ取得ステップと、
前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第2の出力データを更新する、追加学習処理ステップと、を備えた装置の制御方法。
【請求項16】
対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられ前記対象装置の制御に利用される出力データを特定する、推論処理ステップと、
前記入力データが前記対象装置から取得される場合に前記学習済決定木が出力すべき実際のデータを前記対象装置から取得する、実データ取得ステップと、
前記出力データと前記実際のデータに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を実行する、装置の制御プログラム。
【請求項17】
参照入力データを取得する、参照入力データ取得ステップと、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成ステップと、
前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、前記出力ノードに対応付けられた第2の出力データを特定する、第2出力データ特定ステップと、
前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、
参照正解データを取得する、参照正解データ取得ステップと、
前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力データに対応付けられた前記第2の出力データを更新する、追加学習処理ステップと、を備えた装置の制御プログラム。
【請求項18】
入力データを取得する、入力データ取得部と、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理部と、
前記入力データに対応する教師データを取得する、教師データ取得部と、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理部と、を備えた、情報処理装置。
【請求項19】
入力データを取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理ステップと、
前記入力データに対応する教師データを取得する、教師データ取得ステップと、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、情報処理方法。
【請求項20】
入力データを取得する、入力データ取得ステップと、
学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して前記出力ノードに対応付けられた出力データを特定する、推論処理ステップと、
前記入力データに対応する教師データを取得する、教師データ取得ステップと、
前記出力データと前記教師データに基づいて更新用出力データを生成し、前記更新用出力データにより前記出力ノードに対応付けられた前記出力データを更新する、追加学習処理ステップと、を備えた、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、決定木を利用した制御装置等に関する。
【背景技術】
【0002】
近年、機械学習技術を所定の装置の制御へと適用する場合に、コンセプトドリフトと呼ばれる現象により、次第に制御精度が低下してしまうとの問題が指摘されている。コンセプトドリフトとは、制御対象装置の経年劣化等により、開発当初に学習対象としたモデルからモデルが徐々に変化してしまう現象である。コンセプトドリフトに基づく制御精度の低下を防止する手法として、近年、装置から得られるデータを元に追加学習を行い学習済モデルを更新することが検討されている。
【0003】
一方、近年、機械学習手法としてCART法を初めとする決定木が注目を集めている。決定木によれば、学習結果の説明可能性や解釈可能性を高めることができる。
【0004】
図14は、従来から知られる決定木に関する説明図である。より詳細には、
図14(a)は、決定木の構造の一例を表す説明図であり、
図14(b)は、
図14(a)に示す決定木を2次元空間状で示したものである。
【0005】
同図から明らかな通り、決定木は、所定の学習データに基づいて、基端となる根ノード(図中最上段のノード)から末端の葉ノード(同図中最下段のノード)へと至る木構造を形成している。各ノードには、機械学習の結果、閾値θ
1〜θ
4との大小関係により定まる分岐条件が決定されている。これにより、推論段階において、根ノードから入力された入力データは、最終的に葉ノードA〜葉ノードEのいずれかの葉ノードへと対応付けられることとなり、この対応付けられた葉ノード(出力ノード)に対応付けられたデータに基づいて出力値が決定される。
【0006】
例えば、同図の例にあっては、葉ノードAには、x
1≦θ
1、かつ、x
2≦θ
2の条件を満たすデータが対応付けられている。葉ノードBには、x
1≦θ
1、かつ、x
2>θ
2の条件を満たすデータが対応付けられている。葉ノードCには、x
1>θ
1、x
2≦θ
3、かつ、x
1≦θ
4の条件を満たす入力が対応付けられている。葉ノードDには、x
1>θ
1、x
2≦θ
3、かつ、x
1>θ
4の条件を満たす入力が対応付けられている。葉ノードEには、x
1>θ
1、かつ、x
2>θ
3の条件を満たす入力が対応付けられている。
【0007】
このような決定木に対して追加学習を行う従来手法を大別すると、主に以下の2つの手法が挙げられる。
【0008】
1つ目は、追加学習データに基づいて、木構造をさらに深さ方向に伸長させる手法である。この手法によれば、さらに木構造を細分化することができるものの、木構造のサイズが大きくなるので、学習と推論の両方の演算コストが高くなってしまう。また、追加学習にあたっては新たな記憶容量の追加が必要となる。
【0009】
2つ目は、追加学習データに基づいて、新たに木構造の分岐条件の再構築を行う手法である(例として、特許文献1)。この手法によれば、追加分のデータを考慮して最適な分岐条件を再構築することができ、また、学習後の推論コストも当初と変わらないものの、機械学習を全体としてやり直すこととなるので、学習の演算コストは高く、また、追加学習にあたり新たな記憶容量の追加を必要とする。
【0010】
すなわち、いずれの手法を利用しても、決定木の追加学習には、学習又は推論に関する演算コストの増大及び記憶容量の追加を伴うこととなる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】国際公開第2010/116450号
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、機械学習技術を所定の装置の制御へと適用する際、コストの面等から、使用可能なハードウェア資源に関して一定の制限が存在することがある。例えば、近年注目されつつあるエッジコンピューティング等の領域で用いられる制御装置は、所謂、組み込み機器であることも多く、その場合、演算装置の演算能力や記憶容量等についてハードウェア的に一定の制限が存在する。
【0013】
そのため、このような限られたハードウェア資源を有する装置へと、上述の追加学習を実行可能な決定木を搭載しようとすると、学習又は推論に関する演算コストの増大に基づく制御周期に対する遅れや記憶容量の超過等を生じさせるおそれがあり、制御の信頼性・安全性を担保できないおそれがあった。
【0014】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供し、それにより、制御の信頼性・安全性を担保できる制御装置を提供することにある。
【0015】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0016】
上述の技術的課題は、以下の構成を有する装置、方法、プログラム等により解決することができる。
【0017】
すなわち、本発明に係る制御装置は、対象装置から得られるデータを入力データとして取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理部と、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得部と、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【0018】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0019】
前記追加学習処理部は、前記出力データと前記実データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記出力データを更新する、ものであってもよい。
【0020】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0021】
前記更新済出力データは、更新前の前記出力データと前記実データの相加平均値であってもよい。
【0022】
このような構成によれば、簡易な演算により更新が出来るのでより学習負担を小さくすることができる。
【0023】
前記更新済出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した更新前の前記出力データと前記実データの加重平均値であってもよい。
【0024】
このような構成によれば、相対的に学習初期の更新の影響を大きくし、学習回数が増えるにつれて影響を小さくすることができるので安定した学習を行うことができる。
【0025】
前記更新済出力データは、更新前の前記出力データに対して、更新前の前記出力データと前記実データとの差分に学習率を掛けたものを足した値であってもよい。
【0026】
このような構成によれば、学習率を調整することで更新割合を自在に調整することができる。
【0027】
前記学習率は、前記追加学習処理の回数に応じて変化するものであってもよい。
【0028】
このような構成によれば、学習回数が増大するに連れて学習率を下げること等ができ、学習を安定させることができる。
【0029】
前記学習済決定木は、アンサンブル学習を行う複数の決定木のうちの1つであってもよい。
【0030】
このような構成によれば、アンサンブル学習に用いられる各決定木に対して、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を適用することができる。
【0031】
また、他の側面から見た本発明に係る制御装置は、参照入力データを取得する、参照入力データ取得部と、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成部と、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第2の出力データを生成する、第2出力データ生成部と、前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、参照正解データを取得する、参照正解データ取得部と、前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第2の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【0032】
このような構成によれば、事前に獲得された近似関数により一定の出力精度を担保しつつ、コンセプトドリフト等の対象の特性変化に対してオンライン学習により適応的な機械学習を行うことができる。すなわち、出力精度について一定の担保をしつつも対象の特性変化等に対して適応可能な機械学習技術を提供することができる。また、このとき、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0033】
前記追加学習処理部は、前記第2の出力データと前記差分データに基づいて、前記学習済決定木の構造に対する変更又は分岐条件の変更を伴わない態様で、前記出力ノードに対応付けられた前記第2の出力データを更新する、ものであってもよい。
【0034】
このような構成によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0035】
前記更新済出力データは、更新前の前記第2の出力データと前記差分データとの相加平均値であってもよい。
【0036】
このような構成によれば、簡易な演算により更新が出来るのでより学習負担を小さくすることができる。
【0037】
前記更新済出力データは、前記出力ノードにそれまでに対応付けられたデータの個数を考慮した更新前の前記第2の出力データと前記差分データの加重平均値であってもよい。
【0038】
このような構成によれば、相対的に学習初期の更新の影響を大きくし、学習回数が増えるにつれて影響を小さくすることができるので安定した学習を行うことができる。
【0039】
前記更新済出力データは、更新前の前記第2の出力データに対して、更新前の前記第2の出力データと前記差分データとの差分に学習率を掛けたものを足した値であってもよい。
【0040】
このような構成によれば、学習率を調整することで更新割合を自在に調整することができる。
【0041】
前記学習率は、前記追加学習処理の回数に応じて変化する、ものであってもよい。
【0042】
このような構成によれば、学習回数が増大するに連れて学習率を下げること等ができ、学習を安定させることができる。
【0043】
本発明は方法としても観念することができる。すなわち、本発明に係る方法は、対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理ステップと、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得ステップと、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【0044】
また、別の側面から見た本発明に係る方法は、参照入力データを取得する、参照入力データ取得ステップと、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成ステップと、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第2の出力データを生成する、第2出力データ生成ステップと、前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、参照正解データを取得する、参照正解データ取得ステップと、前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第2の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【0045】
本発明はプログラムとしても観念することができる。すなわち、本発明に係るプログラムは、対象装置から得られるデータを入力データとして取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理ステップと、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得ステップと、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を実行するものである。
【0046】
また、別の側面から見た本発明に係るプログラムは、参照入力データを取得する、参照入力データ取得ステップと、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成されたモデルへと、前記参照入力データを入力して第1の出力データを生成する、第1出力データ生成ステップと、前記訓練用入力データと、前記訓練用入力データを前記モデルへと入力して生成された出力データと前記訓練用正解データの差分訓練データと、に基づいて機械学習を行うことにより生成された学習済決定木へと、前記参照入力データを入力して前記参照入力データに対応する出力ノードを特定し、第2の出力データを生成する、第2出力データ生成ステップと、前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成ステップと、参照正解データを取得する、参照正解データ取得ステップと、前記第2の出力データと、前記第1の出力データと前記参照正解データとの差分データに基づいて、前記出力ノードに対応付けられた前記第2の出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【0047】
本発明は、情報処理装置としても観念することができる。すなわち、本発明に係る情報処理装置は、入力データを取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理部と、前記入力データに対応する教師データを取得する、教師データ取得部と、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えている。
【0048】
また、本発明は、情報処理方法としても観念することができる。すなわち、本発明に係る情報処理方法は、入力データを取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理ステップと、前記入力データに対応する教師データを取得する、教師データ取得ステップと、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【0049】
さらに、本発明は、情報処理プログラムとしても観念することができる。すなわち、本発明に係る情報処理プログラムは、入力データを取得する、入力データ取得ステップと、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定して対応する出力データを生成する、推論処理ステップと、前記入力データに対応する教師データを取得する、教師データ取得ステップと、前記出力データと前記教師データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理ステップと、を備えている。
【発明の効果】
【0050】
本発明によれば、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【図面の簡単な説明】
【0051】
【
図1】
図1は、情報処理装置の機能ブロック図である。
【
図3】
図3は、第1の実施形態に係るゼネラルフローチャートである。
【
図5】
図5は、制御装置において実行される処理の詳細フローチャートである。
【
図6】
図6は、推論処理に基づく制御処理の詳細フローチャートである。
【
図7】
図7は、追加学習処理の詳細フローチャートである。
【
図8】
図8は、追加学習の理解を補足するための概念図である。
【
図9】
図9は、初期学習処理に関する概念図である。
【
図12】
図12は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。
【
図13】
図13は、追加学習の結果について示す説明図である。
【発明を実施するための形態】
【0052】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0053】
(1.第1の実施形態)
図1〜
図8を参照しつつ、本発明の第1の実施形態について説明する。
【0054】
(1.1 構成)
図1は、初期学習を行う情報処理装置100の機能ブロック図である。同図から明らかな通り、情報処理装置100は、記憶部2、学習対象データ取得部11、決定木生成処理部12及び記憶処理部13を備えている。
【0055】
なお、
図1は、情報処理装置100の機能ブロック図であり、情報処理装置100は、ハードウェアとして、CPUやGPU等の制御部、ROM、RAM、ハードディスク及び/又はフラッシュメモリ等から成る記憶部、通信ユニット等から成る通信部、入力部、表示制御部、I/O部等を備えている。上記の各機能は、主に制御部において実現される。
【0056】
記憶部2は、機械学習による学習の対象となるデータを記憶している。学習対象データは、所謂訓練データであり、予め制御対象装置から取得されたデータである。
【0057】
図2は、推論処理と追加学習を行い、制御対象装置へと組み込まれる組込システムである制御装置200の機能ブロック図である。同図から明らかな通り、制御装置200は、入力データ取得部21、推論処理部22、データ出力部24、記憶部26及び追加学習処理部28を備えている。
【0058】
なお、
図2は、制御装置200の機能ブロック図であり、制御装置200は、ハードウェアとして、CPU等の制御部、ROM、RAM及び/又はフラッシュメモリ等のメモリから成る記憶部、I/O部等を備えている。上記の各機能は、主に制御部において実現される。
【0059】
なお、ハードウェア構成は上述の構成に限定されない。従って、例えば、複数の装置から成るシステム等として構成してもよい。
【0060】
(1.2 動作)
次に、
図3〜
図8を参照しつつ、本実施形態に係る発明の動作について説明する。
【0061】
図3は、初期学習を行ってから制御装置200を動作させるまでの手順に関する第1の実施形態に係るゼネラルフローチャートである。
【0062】
同図から明らかな通り、まず、初期学習処理が行われる(S1)。初期学習処理は、予め制御対象装置から取得された訓練データを用いて、情報処理装置100上で機械学習を行い、学習済決定木を生成する処理である。
【0063】
より詳細には、学習対象データ取得部11は、決定木の生成に必要な学習対象データを記憶部2から取得する。決定木生成処理部12は、学習対象データ取得部11により取得されたデータと、記憶部2から予め読み出した所定の事前設定情報(木構造の深さ等のパラメータ)に基づいて機械学習処理により決定木を生成する。生成された決定木に関する情報は、記憶処理部13により記憶部2へと再び記憶される。なお、本実施形態において生成される決定木は連続的な数値を出力可能な回帰木である。
【0064】
すなわち、情報処理装置100により、初期状態にある制御対象装置のモデルに合わせた決定木が生成される。
【0065】
図4は、機械学習により生成される決定木の概念図である。同図から明らかな通り、決定木は、分岐条件をそれぞれ備えるノードを階層的に配置することにより構成されている。また、各末端(葉)ノードには、対応付けられるデータに基づく出力値、例えば、同図の例にあってはO
A〜O
Eが対応付けられている。なお、
図4で示される決定木は一例であり、決定木の深さ等の構造は自在に変更可能であることに留意されたい。
【0066】
図3に戻り、初期学習処理(S1)が完了すると、次に初期学習を行うことにより生成された学習済モデル(学習済決定木)を制御装置200へと搭載する処理が行われる(S3)。本実施形態においては、学習済決定木は、情報処理装置100と制御装置200とを直接接続して転送することにより行われる。なお、搭載する処理は、本実施形態の構成に限定されず、例えば、学習済決定木を情報処理装置100からインターネット等のネットワークを介して送信し、制御対象装置へと記憶させる処理としてもよい。
【0067】
制御装置200への学習済決定木の搭載処理終了後、制御装置200を制御対象装置へと搭載して制御対象装置を稼働する処理が行われる(S5)。
【0068】
図5は、制御対象装置の稼働中において制御装置200において実行される処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、推論処理に基づく制御対象装置の制御処理が行われる(S51)。
【0069】
図6は、推論処理に基づく制御処理(S51)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、入力データ取得部21により制御対象装置から入力データを取得する処理が行われる(S511)。次に、推論処理部22は、最新の学習済決定木を記憶部26から読み出す処理を行う(S513)。
【0070】
その後、推論処理部22は、読み出した決定木に対して入力データを入力して推論処理を行い、出力データを生成する(S514)。すなわち、各ノードに対応付けられた分岐条件に応じてデータを分類することで出力ノードを特定し、当該出力ノードに対応付けられたデータに基づいて出力データを生成する。
【0071】
この後、生成された出力データは、データ出力部24によって制御装置200から出力される(S516)。この出力データは制御対象装置へと提供されて、装置制御に利用される。その後、処理は終了する。
【0072】
図5に戻り、推論処理に基づく制御処理が完了すると次に追加学習処理が行われる(S52)。
【0073】
図7は、追加学習処理(S52)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、追加学習処理部28は、記憶部26から最新の決定木を読み出す処理を行う(S521)。
【0074】
さらに、追加学習処理部28は、記憶部26から入力データを取得し、制御対象装置から入力データに対応する実際のデータである実データを取得する処理を行う(S522)。その後、入力データと実データとを利用して決定木に対して追加学習を行う(S524)。
【0075】
より詳細には、まず、入力データに対応する末端の出力ノードを特定すると共に、当該末端ノードに対応付けられた出力データO
1curを特定する。その後、当該出力ノードの出力データO
1curを実データO
1を用いて更新し、更新後の出力データO
1newを得る処理を行う。更新処理は更新前の出力データO
1curと実データO
1の相加平均を算出することにより行われる。すなわち更新後の出力データO
1newは以下の数式を用いて算出される。
【数1】
【0076】
追加学習処理完了後、追加学習処理部28は、決定木を記憶部26へと記憶する処理を行い(S526)、処理は終了する。
【0077】
図5に戻り、再び推論処理に基づく制御処理(S51)が行われ、以降、処理は繰り返される。
【0078】
図8は、上述の追加学習の理解を補足するための概念図である。
図8(A)は、従来の追加手法として木構造を伸長させる手法を採用した場合の2次元状態空間の分割に関する概念図を示しており、
図8(B)は、本願発明に係る追加学習手法を採用した場合の2次元状態空間の分割に関する概念図である。
【0079】
図8(A)から明らかな通り、従来の追加学習手法においては、モデル構築時の分割状態が同図左側の状態であった場合に木構造を伸長させて追加学習を行うと、各分割領域をさらに細かく分割するように学習が行われる。
【0080】
これに対して、
図8(B)から明らかな通り、本実施形態に係る追加学習の例にあっては、モデル構築時の分割態様が同図左側の状態であった場合に追加学習を行うと、分割の態様を変えることなしに各領域の出力値のみを変更することができることが分かる。
【0081】
以上の構成によれば、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0082】
なお、本実施形態においては、出力データの更新を数式1を用いて行うものとしたが、本発明はこのような構成に限定されない。すなわち、決定木の構造に対する変更、例えば、木構造の伸長等や、分岐条件の変更等を伴わずに出力値を更新するような態様であれば他の手法であってもよい。
【0083】
(2.第2の実施形態)
続いて、
図9〜
図11を参照しつつ、複数の学習済モデルを利用した、本発明の第2の実施形態について説明する。本実施形態においては、オフライン学習とオンライン学習を併用する学習モデルにおいて、追加学習を行う場面を想定している。なお、第1の実施形態と略同一の構成については適宜説明を省略する。
【0084】
本実施形態において、オンライン学習とは、制御装置へと搭載した学習モデルのパラメータ等を制御対象装置において得られたデータに基づいて機械学習を行って制御装置上で更新することを意味する。なお、このとき、更新周期は、様々に変更でき、例えば、装置の制御周期と対応した逐次的な学習であってもよいし、所定量学習対象データが蓄積してから行うバッチ学習又はミニバッチ学習等であってもよい。
【0085】
第1の実施形態と同様に、第2の実施形態においても、初期学習処理(S1)と、学習済モデルの搭載処理(S3)及び制御対象装置の稼働処理(S5)が行われる(
図3)。
【0086】
図9は、初期学習処理(S1)に関する概念図である。同図から明らかな通り、上段にはオフライン学習用モデルの学習処理が概念的に示されており、中段には、差分データの生成処理が概念的にしめされており、最下段には、オンライン学習用モデルの学習処理が概念的に示されている。
【0087】
初期学習処理が開始されると、まず、オフライン学習用モデルに関する学習処理が行われる。
図9上段から明らかな通り、訓練用入力データ31と訓練用正解データ32とから成る訓練用データのデータ群が、オフライン学習用モデルへと入力されて学習処理が行われる。これにより、訓練用データ群に基づいて、オフライン学習による学習済モデルが生成される。
【0088】
なお、本実施形態においてオフライン学習用モデルとして、既知の種々の学習モデルやその組み合わせを採用可能であるが、本実施形態においては回帰出力可能な決定木(回帰木)が採用される。なお、オフライン学習用モデルに代えて、学習を伴わない定式化モデルを採用してもよい。以下では、機械学習により得られた学習済モデルと、定式化に基づくモデルとを総称して単にモデルと呼ぶことがある。
【0089】
次に、この学習済モデルを生成した後、差分データの生成処理が行われる。
図9中段から明らかな通り、生成された学習済モデルに対して訓練用入力データ31を入力してその出力データ(推論結果)を算出し、当該出力データと訓練用正解データ32との差分を算出することにより差分データ34を生成する処理が行われる。
【0090】
この差分データ34を生成した後、オンライン学習用モデルについて学習処理が行われる。
図9下段から明らかな通り、訓練用入力データ31と差分データ34とを用いてオンライン学習用モデルについて機械学習を行い、オンライン学習用の学習済モデルを生成する処理が行われる。なお、この学習済モデルは回帰出力可能な決定木(回帰木)である。
【0091】
初期学習処理(S1)が完了すると、次に、生成された学習済のオフライン学習用モデルとオンライン学習用モデルとを制御装置200へと搭載する処理が行われる(S3)。
【0092】
続いて、制御対象装置の稼働処理(S5)、すなわち、推論処理に基づく制御対象装置の制御処理(S51)と追加学習処理(S52)が繰り返し行われる(
図5参照)。
【0093】
図10は、本実施形態に係る推論処理の概念図である。同図から明らかな通り、制御対象装置から入力データ41が取得されると、学習済のオフライン学習用モデルとオンライン学習用モデルへと入力される。オフライン学習用モデルとオンライン学習用モデルは、それぞれ推論処理を行い、オフライン学習用モデルの出力データ42とオンライン学習用モデルの出力データ43をそれぞれ生成する。
【0094】
これらの出力データは、その後足し合わされて、最終的な出力データ44が生成される。生成された出力データは、データ出力部によって制御装置から出力される。この出力データは制御対象装置へと提供されて、装置制御に利用される。
【0095】
推論処理に基づき制御対象装置の制御処理が完了すると、次に、追加学習処理が行われる。本実施形態において、追加学習処理はオンライン学習用モデルについてのみ行われる。
【0096】
図11は、オンライン学習に関する概念図である。同図から明らかな通り、制御対象装置から取得された入力データ41は、オフライン学習用の学習済モデルへと入力され、学習済モデルから推論結果である出力データ42が生成される。この出力データ42と、入力データ41に対応して制御対象装置から取得された実データ51との差分から、差分データ52が生成される。この差分データ52と入力データ41とに基づいて、オンライン学習用の学習済モデル、すなわち、学習済の決定木を更新して追加学習する処理が行われる。
【0097】
より詳細には、まず、オンライン用学習モデルにおいて入力データ41に対応する末端の出力ノードを特定すると共に、当該末端ノードに対応付けられた出力データO
curを特定する。その後、当該出力ノードの出力データO
curを実データO(51)及びオフライン用学習モデルの出力データO
Off_cur(42)を用いて更新し、更新後の出力データO
newを得る処理を行う。更新処理は、更新前の出力データO
curと、実データOとオフライン用学習モデルの出力データO
Off_cur(42)との差分データ52の相加平均を算出することにより行われる。すなわち更新後の出力データO
newは以下の数式を用いて算出される。
【数2】
【0098】
この追加学習処理完了後、決定木を記憶部へと記憶する処理が行われる。以降、推論処理に基づく制御対象装置の制御処理と追加学習処理を繰り返すことで、制御対象装置の稼働処理が行われる。
【0099】
このような構成によれば、オフライン学習により事前に獲得された近似関数により一定の出力精度を担保しつつ、コンセプトドリフト等の対象の特性変化に対してオンライン学習により適応的な機械学習を行うことができる。すなわち、出力精度について一定の担保をしつつも対象の特性変化やモデル変化等に対して適応可能な機械学習技術を提供することができる。
【0100】
また、このとき、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0101】
(3.変形例)
本発明は、上述の実施形態に限定されず、様々に変形して実施することができる。
【0102】
上述の実施形態においては、決定木のうち、特に、回帰木を利用して回帰問題を解く例について説明したが、本発明はそのような構成に限定されない。従って、上述の構成を利用して、分類問題を解くこともできる。
【0103】
図12は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。同図左側には、3つの商品を、それぞれサイズ(Size)、プライス(Price)、色(Color)に着目してまとめた表が描かれている。この状態において新たな商品のサイズとプライスに基づいて色を推論する状況を検討する。
【0104】
ここで、色は、「Red(赤)」、「Green(緑)」、及び「Blue(青)」であり、これらはラベルであるのでこのままでは回帰木で取り扱うことはできない。そこで所謂ワン・ホット・エンコーディング(One−Hot Encoding)を利用する。ワン・ホット・エンコーディングとは、変数を0と1のダミー変数を持つ新しい特徴量で置換する処理である。
【0105】
同図右側には、ワン・ホット・エンコーディング処理後の各変数の状態を表した表が示されている。同図から明らかな通り、「カラー」の項目は、「Red(赤)」、「Green(緑)」及び「Blue(青)」の3つの項目と置換され、対応する色について「1」、対応しない色について「0」が配置されている。このような構成によれば、出力次元を1次元から3次元とすることで回帰問題として扱うことができる。
【0106】
さらに追加学習を行った場合について説明する。この例にあっては、さらに新たな入力データとしてサイズ「S」、プライス「6000」、及び色「グリーン」の商品データが追加学習されたものとする。
【0107】
図13は、追加学習の結果について示す説明図である。同図の例にあっては、出力値を確率値として扱い合計が1となるように構成され、赤と緑がそれぞれ0.5ずつに更新されている。すなわち、以上の構成によれば、回帰木を利用して分類問題を解くことができる。
【0108】
上述の構成においては、追加学習を行う際の更新後の出力データは相加平均により算出されることとしたが、本発明はこのような構成に限定されない。
【0109】
従って、例えば、出力ノードにおける現在の出力データをO
1cur、実データをO
1、それまでの学習済データ数をnumとしたときに、更新後の出力データO
1newは加重平均を利用して以下の通りとしてもよい。
【数3】
【0110】
また、例えば、出力ノードにおける現在の出力データO
1curに対して、現在の出力データO
1curと実データをO
1の差分に所定の学習率を掛けたものを足し合わせて更新してもよい。
【数4】
【0111】
勿論、第2の実施形態の構成においても同様に、以上の数式を応用可能である。例えば、以下の通り、数式4における実データO
1を、実データOとオフライン学習用モデルの出力O
off_curとの差分に置換することで、オンライン学習用モデルを更新することができる。
【数5】
【0112】
いずれの更新手法を採用する場合であっても、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0113】
上述の構成においては、単一の決定木を利用することとしたが、本発明はこのような構成に限定されない。従って、例えば、本発明を、ランダムフォレスト等の複数の決定木を利用したアンサンブル学習に適用してもよい。すなわち、各決定木の追加学習処理を行う際に、分割態様を変更することなく出力データを直接更新してもよい。
【0114】
このような構成によれば、アンサンブル学習に用いられる各決定木に対して、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を適用することができる。
【0115】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【0116】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0117】
2 記憶部
11 学習対象データ取得部
12 決定木生成処理部
13 記憶処理部
21 入力データ取得部
22 推論処理部
24 データ出力部
26 記憶部
28 追加学習処理部
100 情報処理装置
200 制御装置
【要約】
【課題】追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供すること。
【解決手段】 対象装置から得られるデータを入力データとして取得する、入力データ取得部と、学習済決定木による推論処理により、前記入力データに対応する出力ノードを特定し、前記対象装置の制御に利用される対応する出力データを生成する、推論処理部と、前記入力データに対応して前記対象装置から得られる実データを取得する、実データ取得部と、前記出力データと前記実データに基づいて、前記出力ノードに対応付けられた前記出力データを更新することにより更新済出力データを生成し、前記学習済決定木に対する追加学習処理を行う、追加学習処理部と、を備えた、制御装置が提供される。
【選択図】
図8