(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022118026
(43)【公開日】2022-08-12
(54)【発明の名称】情報処理装置、方法、プログラム及びシステム
(51)【国際特許分類】
G06N 20/20 20190101AFI20220804BHJP
【FI】
G06N20/20
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022087606
(22)【出願日】2022-05-30
(62)【分割の表示】P 2020193712の分割
【原出願日】2020-11-20
(71)【出願人】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
(57)【要約】 (修正有)
【課題】複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化情報処理システム、情報処理装置、方法及びプログラムを提供する。
【解決手段】制御装置200は、入力データと入力データに対応する正解データを取得する入力データ取得部と、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、入力データを入力することにより、アンサンブル学習型推論器の推論出力データを生成する推論処理部と、推論出力データと正解データに基づく更新量を用いて、アンサンブル学習型推論器を構成する各推論器の一部又は全部に対して追加学習処理を行う追加学習処理部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
入力データと前記入力データに対応する正解データを取得する、データ取得部と、
複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、
前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、
を備える、情報処理装置。
【請求項2】
前記アンサンブル学習型推論器は、各前記推論器がより上位の推論器群による推論誤差を減少させるように逐次的に学習されて成る複数の推論器で構成されるブースティング学習型推論器である、請求項1に記載の情報処理装置。
【請求項3】
前記アンサンブル学習型推論器は、同一の学習対象データ群から抽出された複数のデータ群に基づいてそれぞれ学習されて成る複数の推論器の各推論結果に基づいて推論を行うバギング学習型推論器である、請求項1に記載の情報処理装置。
【請求項4】
前記更新量は、前記推論出力データと前記正解データの差分に基づく値である、請求項1に記載の情報処理装置。
【請求項5】
前記更新量は、前記推論出力データと前記正解データの差分に学習率を乗じた値に基づく値である、請求項1に記載の情報処理装置。
【請求項6】
前記更新量は、前記推論出力データと前記正解データの差分に学習率を乗じた値を前記アンサンブル学習型推論器を構成する推論器の個数で除した値である、請求項1に記載の情報処理装置。
【請求項7】
前記推論器は、学習済みの決定木である、請求項1に記載の情報処理装置。
【請求項8】
前記追加学習処理は、各前記推論器を構成する決定木の推論出力に対して前記更新量を積算する処理である、請求項7に記載の情報処理装置。
【請求項9】
前記推論器は、学習済みのニューラルネットワークである、請求項1に記載の情報処理。
【請求項10】
前記追加学習処理は、各前記推論器を構成するニューラルネットワークに対して、前記更新量を逆伝播して前記ニューラルネットワークのパラメータを更新する処理である、請求項9に記載の情報処理装置。
【請求項11】
前記ブースティング学習型推論器は、さらに、
訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成された第1の近似関数へと、前記入力データを入力して第1の出力データを生成する、第1出力データ生成部と、
前記訓練用入力データと、前記訓練用入力データを前記第1の近似関数へと入力して生成された出力データと前記訓練用正解データの差分データと、に基づいて機械学習を行うことにより生成された第2の学習済モデルへと、前記入力データを入力して第2の出力データを生成する、第2出力データ生成部と、
前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、を備える第1の推論器を含み、
前記追加学習処理は、前記正解データと前記第1の出力データの差分データと、前記推論出力データに基づく更新量を用いて、前記第2の学習済モデルを更新する処理である、請求項2に記載の情報処理装置。
【請求項12】
前記ブースティング学習型推論器において、所定の推論器以下の推論器のみが前記第1の推論器として構成されている、請求項2又は11に記載の情報処理装置。
【請求項13】
前記第1の近似関数は、前記訓練用入力データと前記訓練用正解データに基づいて機械学習を行うことにより生成された第1の学習済モデルである、請求項11に記載の情報処理装置。
【請求項14】
前記第1の近似関数は、前記訓練用入力データと前記訓練用正解データとの関係を定式化した関数である、請求項11に記載の情報処理装置。
【請求項15】
前記正解データがラベルである場合、前記ラベルを数値へと変換する変換処理部、をさらに備える、請求項1に記載の情報処理装置。
【請求項16】
前記追加学習処理は、オンライン学習である、請求項1に記載の情報処理装置。
【請求項17】
入力データと前記入力データに対応する正解データを取得する、データ取得ステップと、
複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成ステップと、
前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理ステップと、
を備える、情報処理方法。
【請求項18】
入力データと前記入力データに対応する正解データを取得する、データ取得ステップと、
複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成ステップと、
前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理ステップと、
を備える、情報処理プログラム。
【請求項19】
入力データと前記入力データに対応する正解データを取得する、データ取得部と、
複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、
前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、
を備える、情報処理システム。
【請求項20】
対象装置を制御するための制御装置であって、
前記対象装置から、入力データと前記入力データに対応する正解データを取得する、データ取得部と、
複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、
前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、
を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、機械学習、特にアンサンブル学習を行う情報処理装置等に関する。
【背景技術】
【0002】
機械学習の手法として、複数の学習器、特に複数の弱学習器を利用してより精度の高い学習器を実現するアンサンブル学習が知られている。このアンサンブル学習には、大別して、ブースティング学習とバギング学習がある。
【0003】
ブースティング学習には様々なバリエーションが存在するものの、代表的な手法として、例えば、勾配ブースティングがある(例えば、特許文献1)。
【0004】
図20は、勾配ブースティングにおける学習器構成の概念図である。同図の例にあっては、学習器として決定木が採用され、決定木がTreeNum個、直列的に配置されている。このような構成を前提として、機械学習処理及び推論処理が行われる。なお、本明細書においては、機械学習を行った学習済の学習器を推論器と称することがある。
【0005】
図21は、勾配ブースティングにより各学習器に対して行われる学習処理の概念図である。同図において、入力データはX、学習対象となる正解データはyとして示されている。
【0006】
同図から明らかな通り、n = 1番目の学習器に対しては、入力Xと、yに学習率ηを乗じた勾配値ηyに基づいて、教師あり学習(フィッティング)が行われる(この操作を関数Fit(X,y)として示す)。また、n = 2番目の学習器に対しては、入力Xと、学習後の1番目の学習器の推論出力(pred1)とyとの差分に学習率ηを乗じた勾配値に基づいて、教師あり学習が行われる(Fit(X,y - pred1))。さらに、n = 3番目の学習器に対しては、入力Xと、学習後の1番目の学習器の推論出力(pred1)と学習後の2番目の学習器の推論出力(pred2)をyから減算した値に学習率ηを乗じた勾配値に基づいて、教師あり学習が行われる(Fit(X,y - pred1 - pred2))。このような学習処理がn = TreeNumに至るまで逐次的に行われる。すなわち、各学習器において、より上位の学習器の推論誤差を減少させるように逐次的に学習が行われる。
【0007】
一方、対応する推論処理として、まず、推論の基礎となる所定の入力データが各学習器へと提供される。その後、入力データに対応する各学習器からの推論出力、例えば、入力データに対応する決定木の出力ノードに対応付けられた出力値が演算され又は読み出される。最後に、各学習器からの推論出力を加算等することにより、最終的なブースティングの推論出力が生成される。
【0008】
一方、バギング学習にも様々な態様が存在するものの、代表的な手法として、例えば、ランダムフォレストがある。
【0009】
図22は、ランダムフォレストにおける学習器構成の概念図である。同図から明らかな通り、ランダムフォレストにおいては、まず、同一の学習対象データ群から、ブートストラップ法等により複数のデータが選択され、複数のデータ群が生成される。その後、各データ群に基づいて、それぞれ決定木を生成することにより学習が行われる。
【0010】
また、対応する推論処理として、所定の入力データに対する各決定木の推論出力に基づいて、最終的なランダムフォレストとしての推論出力が生成される。例えば、決定木が回帰木である場合には、推論の基礎となる入力データに対応する各決定木の出力ノードに対応する出力yiの相加平均を算出することにより推論出力y_hatが生成される。
【先行技術文献】
【特許文献】
【0011】
【発明の概要】
【発明が解決しようとする課題】
【0012】
ところで、近年、運用後の学習対象モデルの変化(コンセプトドリフト)に適応させること等を目的として、運用後に得られたデータに基づいて、学習済モデルへと追加的に学習を行うことが行われている。
【0013】
しかしながら、そもそも、上述のようなアンサンブル型学習器において、追加学習を行うことは一般的ではなく、その手法は未だ十分に確立されていない。特に、アンサンブル型学習器は、複数の学習器から構成されるため、各学習器の学習が必要となるが、そのような学習構成において各学習器に対して更新量をどのように分配するかについて適切な方法論が提案されていなかった。この分配が歪となれば、アンサンブル型学習器全体として適切な更新ができず、その結果、種々の不都合が生じるおそれがあった。
【0014】
例えば、上述の通り、ブースティング学習器を構成する各学習器は、上位学習器の推論出力の積算値と正解値との誤差を学習する構成を有している。しかしながら、同構成を基本として単に追加学習を行おうとすれば、各学習器の学習対象は上位推論器の推論出力に依存することから、各学習器の更新量やその符号はまちまちとなる。その結果、ブースティング型学習器全体として見た場合に更新量が歪となり、その結果、収束安定性が良好でない等の不都合が生じ得た。
【0015】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することを可能とする追加学習手法及びそれを実行する情報処理装置等を提供することにある。
【0016】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0017】
上述の技術的課題は、以下の構成を有する情報処理装置等により解決することができる。
【0018】
すなわち、本発明に係る情報処理装置は、入力データと前記入力データに対応する正解データを取得する、データ取得部と、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、を備えている。
【0019】
このような構成によれば、アンサンブル学習型推論器の最終的な出力である推論出力データと正解データに基づく更新量を用いて各推論器に対して追加学習を行うので、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することができる。
【0020】
前記アンサンブル学習型推論器は、各前記推論器がより上位の推論器群による推論誤差を減少させるように逐次的に学習されて成る複数の推論器で構成されるブースティング学習型推論器であってもよい。
【0021】
このような構成によれば、ブースティング学習型推論器の最終的な出力である推論出力データと正解データに基づく更新量を用いて各推論器に対して追加学習を行うので、学習を並列化することが可能となり、追加学習に係る時間を低減することができる。また、ブースティング推論器を構成する各推論器に対して同一の更新量が適用されると共にその符号が同一となるので、鍛造的な学習が可能となり、収束安定性を向上させることができる。
【0022】
前記アンサンブル学習型推論器は、同一の学習対象データ群から抽出された複数のデータ群に基づいてそれぞれ学習されて成る複数の推論器の各推論結果に基づいて推論を行うバギング学習型推論器であってもよい。
【0023】
このような構成によれば、バギング学習型推論器の最終的な出力である推論出力データと正解データに基づく更新量を用いて各推論器に対して追加学習を行うので、全体最適的な更新を行うことができる。
【0024】
前記更新量は、前記推論出力データと前記正解データの差分に基づく値であってもよい。
【0025】
このような構成によれば、アンサンブル学習型推論器の最終的な出力である推論出力データと正解データの差分に基づく更新量を用いて、各推論器に対して追加学習を行うことができる。
【0026】
前記更新量は、前記推論出力データと前記正解データの差分に学習率を乗じた値に基づく値であってもよい。
【0027】
このような構成によれば、アンサンブル学習型推論器の最終的な出力である推論出力データと正解データの差分に基づく更新量を用いて、各推論器に対して追加学習を行うことができる。また、学習率によりその更新の程度を調整することができる。
【0028】
前記更新量は、前記推論出力データと前記正解データの差分に学習率を乗じた値を前記アンサンブル学習型推論器を構成する推論器の個数で除した値であってもよい。
【0029】
このような構成によれば、アンサンブル学習型推論器の最終的な出力である推論出力データと正解データの差分に基づく更新量を用いて、各推論器に対して追加学習を行うことができる。また、学習率によりその更新の程度を調整することができる。さらに、ブースティング推論器のサイズに合わせて、各推論器へと更新量を分配することができる。
【0030】
前記推論器は、学習済みの決定木であってもよい。
【0031】
このような構成によれば、決定木を利用して推論及び追加学習処理を行うことができる。
【0032】
前記追加学習処理は、各前記推論器を構成する決定木の推論出力に対して前記更新量を積算する処理であってもよい。
【0033】
このような構成によれば、決定木において計算コストが小さい追加学習処理を行うことができ、高速に追加学習を行うことができる。
【0034】
前記推論器は、学習済みのニューラルネットワークであってもよい。
【0035】
このような構成によれば、ニューラルネットワークを利用して推論及び追加学習処理を行うことができる。
【0036】
前記追加学習処理は、各前記推論器を構成するニューラルネットワークに対して、前記更新量を逆伝播して前記ニューラルネットワークのパラメータを更新する処理であってもよい。
【0037】
このような構成によれば、ニューラルネットワークに対して誤差を逆伝播させることにより追加学習を行うことができる。なお、逆伝播は必ずしも逐次的に行う必要はなく、ミニバッチ的に行ってもよい。
【0038】
前記ブースティング学習型推論器は、さらに、訓練用入力データと前記訓練用入力データに対応する訓練用正解データに基づいて生成された第1の近似関数へと、前記入力データを入力して第1の出力データを生成する、第1出力データ生成部と、前記訓練用入力データと、前記訓練用入力データを前記第1の近似関数へと入力して生成された出力データと前記訓練用正解データの差分データと、に基づいて機械学習を行うことにより生成された第2の学習済モデルへと、前記入力データを入力して第2の出力データを生成する、第2出力データ生成部と、前記第1の出力データと前記第2の出力データとに基づいて最終出力データを生成する、最終出力データ生成部と、を備える第1の推論器を含み、前記追加学習処理は、前記正解データと前記第1の出力データの差分データと、前記推論出力データに基づく更新量を用いて、前記第2の学習済モデルを更新する処理であってもよい。
【0039】
このような構成によれば、第1の近似関数の出力と正解データとの差分を学習した第2の学習済モデルのみを更新するので、一定の出力精度を担保しつつもモデルの特性変化に適応可能となる。
【0040】
前記ブースティング学習型推論器において、所定の推論器以下の推論器のみが前記第1の推論器として構成されている、ものであってもよい。
【0041】
このような構成によれば、出力への寄与が相対的に小さい下位推論器のみを学習により更新させるので、微調整を行うことができる。
【0042】
前記第1の近似関数は、前記訓練用入力データと前記訓練用正解データに基づいて機械学習を行うことにより生成された第1の学習済モデルであってもよい。
【0043】
このような構成によれば、機械学習により第1の近似関数を生成することができる。
【0044】
前記第1の近似関数は、前記訓練用入力データと前記訓練用正解データとの関係を定式化した関数であってもよい。
【0045】
このような構成によれば、第1の近似関数を訓練データの定式化により生成することができる。
【0046】
前記正解データがラベルである場合、前記ラベルを数値へと変換する変換処理部、をさらに備える、ものであってもよい。
【0047】
このような構成によれば、分類問題を回帰問題として扱うことができる。
【0048】
前記追加学習処理は、オンライン学習であってもよい。
【0049】
このような構成によれば、オンライン学習により入力されるデータを逐次的に都度学習するので、学習対象の特性変化に対して柔軟に対応することができる。
【0050】
本発明は方法として観念することもできる。すなわち、本発明に係る方法は、入力データと前記入力データに対応する正解データを取得する、データ取得ステップと、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成ステップと、前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理ステップと、を備えている。
【0051】
本発明はプログラムとして観念することもできる。すなわち、本発明に係るプログラムは、入力データと前記入力データに対応する正解データを取得する、データ取得ステップと、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成ステップと、前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理ステップと、を備えている。
【0052】
本発明はシステムとして観念することもできる。すなわち、本発明に係るシステムは、入力データと前記入力データに対応する正解データを取得する、データ取得部と、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、を備えている。
【0053】
本発明は制御装置として観念することもできる。すなわち、本発明に係る制御装置は、対象装置を制御するための制御装置であって、前記対象装置から、入力データと前記入力データに対応する正解データを取得する、データ取得部と、複数の推論器の各推論結果に基づいて推論を行うアンサンブル学習型推論器へと、前記入力データを入力することにより、前記アンサンブル学習型推論器の推論出力データを生成する、推論出力データ生成部と、前記推論出力データと前記正解データに基づく更新量を用いて、前記アンサンブル学習型推論器を構成する各前記推論器の一部又は全部に対して追加学習処理を行う、追加学習処理部と、を備えている。
【発明の効果】
【0054】
本発明によれば、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することができる追加学習手法及びそれを実行する情報処理装置等を提供することができる。
【図面の簡単な説明】
【0055】
【
図1】
図1は、初期学習を行う情報処理装置の機能ブロック図である。
【
図3】
図3は、第1の実施形態に係るゼネラルフローチャートである。
【
図4】
図4は、制御装置において実行される処理の詳細フローチャートである。
【
図5】
図5は、推論処理に基づく制御処理の詳細フローチャートである。
【
図6】
図6は、追加学習処理の詳細フローチャートである。
【
図7】
図7は、第1の実施形態に係る更新処理の概念図である。
【
図8】
図8は、第1の実施形態に係る追加学習における更新量の概念図である。
【
図9】
図9は、鍛造的な更新に関する説明図である。
【
図11】
図11は、ブースティング推論器の推論精度に関する比較実験例である。
【
図12】
図12は、第2の実施形態に係るゼネラルフローチャートである。
【
図13】
図13は、初期学習時のブースティング推論器を構成する各学習モデルの概念図である。
【
図15】
図15は、ブースティング推論器を構成する各推論器における推論処理の概念図である。
【
図16】
図16は、ブースティング推論器を構成する各推論器において行われるオンラインによる追加学習の概念図である。
【
図17】
図17は、第3の実施形態に係る更新処理の概念図である。
【
図18】
図18は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。
【
図19】
図19は、回帰木を利用して分類問題を解く手法において追加学習が行う場合の説明図である。
【
図20】
図20は、勾配ブースティングにおける学習器構成の概念図である。
【
図21】
図21は、勾配ブースティングにより各学習器に対して行われる学習処理の概念図である。
【
図22】
図22は、ランダムフォレストにおける学習器構成の概念図である。
【発明を実施するための形態】
【0056】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0057】
(1.第1の実施形態)
図1~
図11を参照しつつ、本発明の第1の実施形態について説明する。本実施形態においては、所定の情報処理装置100上で初期学習を行って学習済モデルを生成した後に、当該学習済モデルを所定の制御対象装置を制御する制御装置200へと搭載し、その後、制御を行うことにより制御対象装置から得られるデータを元に、制御装置200において追加学習を行う例について説明する。
【0058】
なお、本実施形態において、制御対象装置は特に限定されない。従って、例えば工場内の作業機械であってもよいし乗用車等の車両であってもよい。また、制御対象装置に機械的要素が含まれている必要もなく、例えば、情報処理装置上での情報の操作であってもよい。
【0059】
(1.1 構成)
図1は、初期学習を行う情報処理装置100の機能ブロック図である。同図から明らかな通り、情報処理装置100は、記憶部2、学習対象データ取得部11、ブースティング推論器生成処理部12及び記憶処理部13を備えている。
【0060】
なお、情報処理装置100は、本実施形態においてはPC(パーソナル・コンピュータ)であるが、情報処理機能を有する装置であれば他の装置でもよい。本実施形態においては、ブースティング学習により得られた学習済モデル又は推論器をブースティング推論器、ブースティング学習型推論器等と称することがある。なお、推論の語は、学習済モデルの出力を意味し、例えば、予測、推定等といった言葉と置換してもよい。
【0061】
図1は、情報処理装置100の機能ブロック図であり、情報処理装置100は、ハードウェアとして、CPUやGPU等の制御部、ROM、RAM、ハードディスク及び/又はフラッシュメモリ等から成る記憶部、通信ユニット等から成る通信部、入力部、表示制御部、I/O部等を備えている。上記の各機能は、主に制御部において実現される。
【0062】
記憶部2は、機械学習による学習の対象となるデータを記憶している。学習対象データは、所謂訓練データ乃至教師データであり、例えば、予め制御対象装置から取得されたデータやシミュレーションで得られたデータ等である。
【0063】
図2は、制御対象装置へと組み込まれる組込システムである制御装置200の機能ブロック図である。制御装置200は、推論処理と追加学習処理を行う。同図から明らかな通り、制御装置200は、入力データ取得部21、推論処理部22、データ出力部24、記憶部26及び追加学習処理部28を備えている。
【0064】
なお、
図2は、制御装置200の機能ブロック図であり、制御装置200は、ハードウェアとして、CPU等の制御部、ROM、RAM及び/又はフラッシュメモリ等のメモリから成る記憶部、I/O部等を備えている。上記の各機能は、主に制御部において実現される。
【0065】
なお、ハードウェア構成は上述の構成に限定されない。従って、例えば、複数の装置から成るシステム等として構成してもよい。
【0066】
(1.2 動作)
次に、
図3~
図11を参照しつつ、本実施形態に係る発明の動作について説明する。
【0067】
図3は、第1の実施形態に係るゼネラルフローチャートであり、より詳細には、初期学習を行ってから制御装置200を稼働させ追加学習を行うまでの手順に関するフローチャートである。
【0068】
同図から明らかな通り、まず、初期学習処理が行われる(S1)。初期学習処理においては、予め制御対象装置から取得された訓練データ等を用いて、情報処理装置100上でブースティング学習が行われ、制御対象装置の制御に最適な学習済モデル、特に、ブースティング推論器が生成される。なお、本実施形態において使用する学習器は決定木であり、特に、連続的な数値を出力可能な回帰木である。
【0069】
より詳細には、
図20及び
図21で示したように、各学習器において、上位の学習器の推論誤差を減少させるように逐次的に学習を行う。すなわち、学習対象データ取得部11は、所定の入力データと正解データとの組合せを読み出す。その後、ブースティング推論器生成処理部12が、入力データと正解データの組み合わせに基づいて推論器として機能する一連の学習済モデルを生成する。
【0070】
より詳細には、ブースティング推論器生成処理部12は、入力データと正解データの組み合わせに基づいて、まず、最上位の決定木において教師あり学習を行う。その後、ブースティング推論器生成処理部12は、下位の決定木に対して、入力データと、学習後の最上位決定木の入力データに対応する出力と正解データの差分データに基づいて、教師あり学習を行う。このような処理を最下位の学習器まで逐次的に繰り返すことにより、ブースティング推論器が生成される。
【0071】
なお、決定木の教師あり学習の手法として、既知の種々の方法を採用することが出来る。例えば、当業者にはよく知られるように、学習用データから情報利得が最大となるデータ分割基準を決定し、当該基準に沿ってデータを分割することを繰り返することにより学習を行ってもよい。また、推論段階においては、入力データを学習により得られた分割基準に基づいて分類して出力ノードを特定し、当該出力ノードに対応付けられたデータの相加平均を算出する等して推論出力データを得てもよい。なお、このとき、推論出力データは、予め出力ノードに対応付けられていてもよいし、都度新たに演算してもよい。
【0072】
また、初期学習の手法は本実施形態の手法に限定されない。例えば、最上位の学習器においては学習を行わず、単に、最上位学習器の推論値と正解データの平均値を出力するものとしてもよい。
【0073】
その後、記憶処理部13は、生成されたブースティング推論器を記憶部2へと記憶して、初期学習処理は終了する。
【0074】
図3に戻り、初期学習処理(S1)が完了すると、次に初期学習を行うことにより生成された学習済モデルであるブースティング推論器を制御装置200へと搭載する処理が行われる(S3)。
【0075】
本実施形態において、ブースティング推論器の制御装置200への搭載処理は、情報処理装置100と制御装置200とを有線又は無線により接続して転送することにより行われる。このとき、LANやインターネット等を介してもよい。なお、ブースティング推論器の搭載処理は、制御装置200上においてブースティング推論器による推論処理が可能とするような構成であればいずれの形態でもよく、本実施形態の構成に限定されない。例えば、ブースティング推論器を情報処理装置100からインターネット等のネットワークを介して送信し、制御装置200へと記憶させる処理としてもよいし、ブースティング推論器として機能する回路として制御装置200へと搭載してもよい。なお、本実施形態においては、情報処理装置100上で初期学習を行う構成としたが、制御装置200上で初期学習も行われる構成としてもよい。
【0076】
制御装置200へのブースティング推論器の搭載処理終了後、制御装置200をさらに制御対象装置へと搭載し又は接続し、制御対象装置を稼働する処理が行われる(S5)。
【0077】
図4は、制御対象装置の稼働中において制御装置200において実行される処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、推論処理に基づく制御対象装置の制御処理が行われる(S51)。
【0078】
図5は、推論処理に基づく制御処理(S51)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、入力データ取得部21は、制御対象装置から入力データを取得する処理を行う(S511)。
【0079】
入力データは、制御対象装置から得られ、推論の基礎となる種々のデータである。例えば、制御対象装置が車両であって、ブレーキ直前の車両速度を入力として制動距離を推論するような場合には、入力データはブレーキ直前の車両速度である。
【0080】
次に、推論処理部22は、最新のブースティング推論器を記憶部26から読み出す処理を行う(S513)。
【0081】
その後、推論処理部22は、読み出したブースティング推論器に対して入力データを入力して推論処理を行い、出力データを生成する(S514)。すなわち、ブースティング推論器を構成する学習済決定木である各推論器に対して入力データが入力されることで、各ノードに対応付けられた分岐条件に応じて分類が行われ出力ノードが特定される。その後、各推論器において特定された出力ノードに対応付けられた出力データを加算することで、最終的なブースティング推論器の出力データが生成される。なお、この出力データは、上述の例で言えば制動距離に相当する。
【0082】
この後、生成された出力データは、データ出力部24によって制御装置200から出力される(S516)。この出力データは図示しない制御対象装置へと提供されて、装置制御に利用される。その後、処理は終了する。
【0083】
図4に戻り、推論処理に基づく制御処理が完了すると、次に、追加学習処理が行われる(S52)。
【0084】
図6は、追加学習処理(S52)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、追加学習処理部28は、記憶部26から最新の学習済モデル、すなわち、ブースティング推論器を読み出す処理を行う(S521)。
【0085】
さらに、追加学習処理部28は、記憶部26から入力データを取得し、制御対象装置から入力データに対応する実際のデータである正解データを取得する処理を行う(S522)。例えば、制御対象装置が車両であって、ブレーキ直前の車両速度を入力として制動距離を推論するような場合には、正解データは車両から取得された実際の制動距離である。
【0086】
その後、追加学習処理部28は、入力データと正解データとを利用してブースティング推論器に対して追加学習処理を行う(S524)。
【0087】
より詳細には、追加学習処理部28は、まず、推論処理(S514)で得られたブースティング推論器の最終的な推論出力データy_hatと正解データyとの差分に学習率ηを乗じて、下記の数式の通り、勾配(ngrad)を計算する。
【0088】
【0089】
なお、推論出力データy_hatと正解データyとの差分は、損失関数として二乗誤差を採用したことに由来するものであり、勾配の計算方法はこのような手法に限定されない。従って、例えば絶対値誤差などの他の損失関数に基づいて勾配を計算してもよい。
【0090】
次に、この勾配をブースティング推論器を構成する各推論器に対して配分するようにして、各推論器の出力値ynを更新する。より詳細には、下記式の通り、各推論器の出力ノード(末端ノード)に対応する出力値ynに対して、勾配(ngrad)をブースティング推論器を構成する決定木の数(TreeNum)で除した値を足し合わせることにより更新する。
【0091】
【0092】
なお、上記の式において、等号は、右辺の値の左辺の値への代入を表している。また、出力ノードに対応する出力値の更新方法は、このような方法に限定されず、様々な変形が可能である。例えば、更新量と更新前の出力値とで相加平均や加重平均をとる等してもよい。
【0093】
このように、決定木の構造を変化させることなく、単に出力データに足し合わせる方法により決定木を更新することによれば、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0094】
図7は、本実施形態に係る更新処理の概念図である。同図から明らかな通り、本実施形態においては、ブースティング推論器の最終的な推論結果である推論出力データy_hatと正解データyとの差分に学習率ηを乗じた値を決定木の数で除した値に基づいて、ブースティング推論器を構成する各推論器の出力ノードに対応付けられた出力データが更新されている。
【0095】
このような構成によれば、上位学習器からの逐次的な学習を行う必要がないので学習を並列化することが可能となり、追加学習に係る時間を低減することができる。これにより制御対象装置を動作させて得られたデータで都度追加学習を行う所謂オンライン学習等が容易となる。
【0096】
また、学習率ηによりその更新の程度を調整することができる。また、決定木の数に基づいて調整を行うので、ブースティング推論器のサイズに合わせて、各推論器へと適切な更新量を分配することができる。
【0097】
さらに、ブースティング推論器を構成する各推論器に対して同一の更新量が適用されると共にその符号が同一となるので、鍛造的な学習が可能となり、学習の収束安定性を向上させることができる。
【0098】
加えて、各推論器の出力ノードを等しい更新量を以て更新することとなるので、下位推論器ほど更新量が小さくなるという傾向を有するブースティング学習においても、適切な更新を行うことができる。
【0099】
すなわち、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することができる追加学習手法及びそれを実行する情報処理装置等を提供することができる。
【0100】
図8は、本実施形態に係る追加学習における更新量の概念図である。同図(a)は、従来のブースティング推論器における更新量の概念図、同図(b)は、本実施形態に係るブースティング推論器における更新量の概念図である。また、同図(a)及び同図(b)のいずれにおいても、上段には、例として3つの決定木の各分割空間における更新量が長方形で示され、また、矢印を挟んで、同図下段には、各決定木の更新量を積算したブースティング推論器全体における更新量が長方形で示されている。
【0101】
同図(a)の状態において、図示される位置に相当する学習データが新たに入力されたものとする。このとき、この学習データに基づいて、決定木1では左から3番目の区間において正の更新量、決定木2では左から2番目の区間において負の更新量、決定木3では左から4番目の区間において正の更新量が生成される。このすべてを積算したものがブースティング推論器全体における更新量である。
【0102】
同図の例から明らかな通り、積算した更新量は、区間を跨ぐ度に大小の落差をもって変動している。
【0103】
これに対して、同図(b)の状態において、図示される位置に相当する学習データが新たに入力されたものとする。このとき、この学習データに基づいて、決定木1では左から3番目の区間において正の更新量、決定木2では左から2番目の区間において正の更新量、決定木3では左から4番目の区間において正の更新量が生成される。このとき、すべての更新量及びその符号は同一となる。このすべてを積算したものがブースティング推論器全体における更新量である。
【0104】
同図の例から明らかな通り、本実施形態に係るブースティング推論器によれば、積算した更新量は、追加学習点を中心としたなだらかな更新量となっている。これにより、追加学習時の収束安定性の向上等が実現される。
【0105】
図9は、鍛造的な更新に関する説明図である。
図9(a)は、出力を増大させる方向の更新、
図9(b)は、出力を減少させる方向の更新を表している。なお、横軸は決定木の番号を表し、木番号が増大する程、下位の決定木を表している。また、縦軸は出力を表している。さらに、グラフ中の実線は更新前の出力を表し、破線は更新後の出力を表している。
【0106】
同図から明らかな通り、本実施形態に係る更新では、出力に対して、勾配を決定木の数で除した値を等しく足し合わせるので、すべての決定木出力を同一の符号の更新量で更新することができる。これにより、出力全体を押し上げたり押し下げたりするような学習が可能となる。このような作用は、機械学習の収束安定性に寄与する。
【0107】
図10は、本実施形態に係る追加学習の作用について別の角度から説明する図である。同図左側には、ブースティング推論器を構成する各決定木が学習対象とする状態空間の概念図が、縦に3つ配置されている。また、同図右側には、それらの状態空間を重ね合わせた状態空間の概念図が配置されている。
【0108】
同図左側の一番上の例にあっては、分割された各状態空間に、左上から時計回りでV1、V2、V4、V3の記号が付されている。真ん中の例にあっては、分割された各状態空間に、左上から時計回りでV5、V6、V8、V7の記号が付されている。一番下の例にあっては、分割された各状態空間に、左上から時計回りでV9、V10、V12、V11の記号が付されている。
【0109】
このような状態において、図において×で示される学習データが提供されると、同図においてドットによる網掛けがなされた領域、すなわち、V4、V8、V9の領域の出力が更新される。これらの更新される領域を重ね合わせると、同図右側の概念図の通り、学習点を中心としてその周辺領域を同一方向でなだらかに更新する構成となる。すなわち、学習点の周辺領域もなだらかに更新する鍛造的な学習が可能となっている。
【0110】
図6に戻り、追加学習処理の完了後、追加学習処理部28は、追加学習されたブースティング推論器を記憶部26へと記憶する処理を行い(S526)、追加学習処理(S52)は終了する。
【0111】
図4に戻り、再び推論処理に基づく制御処理(S51)が行われ、以降、処理は繰り返される。このような繰り返し処理は、図示しない終了信号の割り込み処理等があるまで繰り返される。
【0112】
なお、本実施形態においては、出力データの更新を数式2を用いて行うものとしたが、本発明はこのような構成に限定されない。すなわち、ブースティング推論器の最終出力データと正解データに基づく更新量を用いた更新であれば他の手法であってもよい。
【0113】
(1.3 実験例)
次に、
図20乃至
図21に係る従来のブースティング推論器と、本実施形態に係るブースティング推論器の推論精度に関する比較実験例について説明する。
【0114】
図11(a)は、従来のブースティング推論器を用いた場合の学習回数と推論誤差(RMSE:二乗平均平方根誤差)との関係について示す図であり、
図11(b)は、本実施形態に係る推論器を用いた場合の学習回数と推論誤差(RMSE:二乗平均平方根誤差)との関係について示す図である。
【0115】
なお、いずれの図においても、新規学習としてブースティング推論器に対して正弦波(サイン波)を学習させた後、追加学習として、正弦波の位相を10度ずらした値を追加学習させている。また、ブースティング推論器を構成する推論器の個数は同一である。さらに、図において、0.01_ランダムは、学習率が0.01で正弦波の任意の点をランダムに学習させた場合を表し、0.01_シーケンスは、学習率が0.01で正弦波を構成する点を順に学習させた場合を表す。同様に、0.1_ランダムは、学習率が0.1で正弦波の任意の点をランダムに学習させた場合を表し、0.1_シーケンスは、学習率が0.1で正弦波を構成する点を順に学習させた場合を表す。
【0116】
同図から明らかな通り、従来のブースティング推論器においては学習率によってはRMSEが振動しているのに対して、本実施形態に係るブースティング推論器においては、RMSEは学習率を変えても振動することなく安定して減少している。すなわち、本実施形態に係るブースティング推論器は、従来のブースティング推論器よりも収束安定性が良好であり、また、学習パラメータの調整が容易であることが把握される。
【0117】
なお、本実施形態においては、ブースティング推論器を構成するすべての推論器(学習済モデル)をオンライン学習の対象として説明したが、このような構成に限定されない。従って、例えば、出力への寄与が一般に小さい所定の推論器より下位の推論器のみを本実施形態に係るオンライン学習がなされる学習器とし、所定の推論器以上の推論器を追加学習を行わない決定木として構成してもよい。
【0118】
(2.第2の実施形態)
続いて、
図12~
図16を参照しつつ、本発明の第2の実施形態について説明する。本実施形態においては、ブースティング推論器を構成する各推論器を、オフライン学習がなされるモデルとオンライン学習がなされるモデルの2つのモデルを含む構成とする例について説明する。なお、装置構成等は、第1の実施形態と略同一であるので説明を省略し、以下では、対応する構成及び符号については、第2の実施形態において新たに定義されるものを除き、第1の実施形態と同様とする。
【0119】
図12は、第2の実施形態に係るゼネラルフローチャートである。
図12から明らかな通り、第2の実施形態においても、第1の実施形態と同様に、ブースティング推論器を生成するための初期学習処理(S7)、生成された学習済のブースティング推論器の搭載処理(S8)及び、追加学習を伴う制御対象装置の稼働処理(S9)が行われる。
【0120】
初期学習処理(S7)が開始すると、まず、ブースティング推論器、すなわち、ブースティング推論器を構成する各推論器について上位から順に学習処理が行われる(
図20及び
図21も参照)。
【0121】
図13は、初期学習時のブースティング推論器を構成する各学習モデルの概念図である。同図において、上段にはオフライン学習用モデルの学習処理が概念的に示されており、中段には、差分データの生成処理が概念的に示されており、下段には、オンライン学習用モデルの学習処理が概念的に示されている。同図を参照しつつ、以下説明する。
【0122】
初期学習が開始すると、第1の実施形態と同様に訓練用入力データ31と訓練用正解データ32とから成る訓練用データのデータ群が読み出される。その後、各推論器においては、まず、オフライン学習用モデルに関して教師あり学習が行われる。すなわち、
図13の上段から明らかな通り、訓練用入力データ31と訓練用正解データ32に基づいて、オフライン学習用モデルについて教師あり学習が行われる。なお、訓練用正解データ32は、最上位推論器においては、訓練用正解データ32であるが、それより下位の推論器においては、学習後の上位推論器の訓練用入力データ31に対応する推論出力データの積算値と正解データの差分である。
【0123】
なお、本実施形態において、オフライン学習用モデルとして、既知の種々の学習モデルやその組み合わせを採用可能であるが、本実施形態においては決定木(回帰木)が採用される。なお、オフライン学習用モデルに代えて、学習を伴わない定式化モデルを採用してもよい。以下では、機械学習により得られた学習済モデルと、定式化に基づくモデルとを総称して単にモデルと呼ぶことがある。
【0124】
その後、各推論器において、学習済のオフライン学習用モデルに対して差分データの生成処理が行われる。
図13中段から明らかな通り、ブースティング推論器生成処理部12は、生成されたオフライン用学習済モデルに対して訓練用入力データ31を入力してその出力データ33(推論結果)を算出し、当該出力データ33と訓練用正解データ32との差分を算出することにより差分データ34を生成する処理を行う。
【0125】
この差分データ34を生成した後、この差分データ34を正解データとしてオンライン学習用モデルについて学習処理を行う。
図13下段から明らかな通り、ブースティング推論器生成処理部12は、訓練用入力データ31と差分データ34とを用いてオンライン学習用モデルについて機械学習を行い、オンライン学習用の学習済モデルを生成する処理を行う。なお、本実施形態において、この学習モデルも同様に回帰出力可能な決定木(回帰木)である。
【0126】
すなわち、ブースティング推論器生成処理部12は、このような学習処理を、各学習データに対して、それぞれ上位推論器から下端の推論器に至るまで順に行い、学習済のブースティング推論器を生成する。
【0127】
初期学習処理(S7)が完了すると、次に、第1の実施形態と同様に、生成されたブースティング推論器を制御装置200へと搭載する処理が行われ(S8)、制御対象装置の稼働処理(S9)が行われる。
【0128】
図14は、稼働処理(S9)の詳細フローチャートである。同図から明らかな通り、第1の実施形態と同様に、ブースティング推論器の推論を利用して行われる制御対象装置の制御処理(S91)と、制御対象装置から得られた実際のデータ、すなわち、正解データに基づく追加学習処理(S92)が繰り返し行われる。
【0129】
図15は、ブースティング推論器を構成する各推論器における推論処理の概念図である。同図から明らかな通り、入力データ取得部21により制御対象装置から得られた入力データ41が取得されると、推論処理部22は、当該入力データ41を、学習済のオフライン学習用モデルとオンライン学習用モデルへと入力する。オフライン学習用モデルとオンライン学習用モデルは、それぞれ推論処理を行い、オフライン学習用モデルの出力データである第1の出力データ42と、オンライン学習用モデルの出力データである第2の出力データ43をそれぞれ生成する。
【0130】
推論処理部22は、その後、第1の出力データ42と第2の出力データ43を加算し、出力データ44を生成する。その後、推論処理部22は、各推論器から得られる出力データ44をすべて加算してブースティング推論器の推論出力データを生成し、データ出力部24を介して制御装置から出力する。この推論出力データは、制御対象装置へと提供されて制御に利用される。
【0131】
推論処理に基づく制御対象装置の制御処理(S91)が完了すると、次に、追加学習処理(S92)が行われる。本実施形態において、追加学習処理はオンライン学習用モデルについてのみ行われる。
【0132】
図16は、ブースティング推論器を構成する各推論器において行われるオンラインによる追加学習の概念図である。同図から明らかな通り、追加学習処理が開始すると、追加学習処理部28は、記憶部26から最新のブースティング推論器と、直近の入力データ41と正解データ51とを読み出す。
【0133】
その後、追加学習処理部28は、ブースティング推論器を構成する各推論器において、制御対象装置から取得された入力データ41を、オフライン学習用の学習済モデルへと入力し、その推論結果である出力データ42を生成する。そして、この出力データ42と、入力データ41に対応して制御対象装置から取得された正解データ51との差分から、差分データ52を生成する。
【0134】
追加学習処理部28は、この差分データ52と入力データ41とに基づいて、各推論器のオンライン学習用モデルを更新して、追加学習する処理を行う。
【0135】
より詳細には、以下の通り追加学習する処理を行う。まず、差分データ52をE、正解データ51をy、オフライン学習用モデルの出力データ42をypredoffとすると、以下の通り表される。
【0136】
【0137】
追加学習処理部28は、この差分データ52を学習するため、差分データ52とオンライン学習用モデルの推論出力ypredonとの差分に学習率ηを乗じて、下記数式の通り、勾配ngradを計算する。
【0138】
【0139】
そして、追加学習処理部28は、この勾配をブースティング推論器を構成する各推論器に対して配分するようにして、各推論器のオンライン用学習用モデルの出力値を更新する。より詳細には、下記数式の通り、各推論器のオンライン学習用モデルの出力ノード(末端ノード)に対応する出力値yonに対して、勾配(ngrad)をブースティング推論器を構成する推論器の個数、すなわち、決定木の数(TreeNum)で除した値を足し合わせることにより更新を行う。
【0140】
【0141】
なお、上記の式において、等号は、右辺の値の左辺の値への代入を表している。また、出力ノードに対応する出力値の更新方法は、このような方法に限定されず、様々な変形が可能である。例えば、更新量と更新前の出力値とで相加平均や加重平均をとる等してもよい。
【0142】
この追加学習処理完了後、追加学習処理部28は、決定木を記憶部26へと記憶する処理を行い、追加学習処理は終了する。
【0143】
以降、推論処理に基づく制御対象装置の制御処理(S91)と追加学習処理(S92)を繰り返すことで、制御対象装置の稼働処理が行われる。
【0144】
このような構成によれば、決定木の構造を変化させることなく、単に更新量を出力データに足し合わせる方法により決定木を更新するので、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0145】
本実施形態に係る構成によれば、上位学習器からの逐次的な学習を行う必要がないので学習を並列化することが可能となり、追加学習に係る時間を低減することができる。これにより制御対象装置を動作させる度に得られたデータで追加学習を行う所謂オンライン学習等が容易となる。
【0146】
本実施形態に係る構成によれば、学習率ηによりその更新の程度を調整することができる。また、決定木の数に基づいて調整を行うので、ブースティング推論器のサイズに合わせて、各推論器へと適切な更新量を分配することができる。
【0147】
本実施形態に係る構成によれば、ブースティング推論器を構成する各推論器に対して同一の更新量が適用されると共にその符号が同一となるので、鍛造的な学習が可能となり、学習の収束安定性を向上させることができる。
【0148】
本実施形態に係る構成によれば、ブースティング推論器を構成する各推論器において、オフライン学習により事前に獲得された近似関数により一定の出力精度を担保しつつ、コンセプトドリフト等の対象の特性変化に対してオンライン学習により適応的な機械学習を行うことができる。すなわち、出力精度について一定の担保をしつつも対象の特性変化やモデル変化等に対して適応可能な機械学習技術を提供することができる。
【0149】
すなわち、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することができる追加学習手法及びそれを実行する情報処理装置等を提供することができる。
【0150】
なお、本実施形態においては、ブースティング推論器を構成するすべての推論器(学習済モデル)をオンライン学習用モデルとオフライン学習用モデルとから成るものとして説明したが、このような構成に限定されない。従って、例えば、出力への寄与が一般に小さい所定の推論器より下位の推論器のみを本実施形態に係るオンライン学習用モデルとオフライン学習用モデルとから成る学習器とし、所定の推論器以上の推論器を追加学習を行わない決定木として構成してもよい。
【0151】
また、勾配等の計算は、ブースティングの最終出力データと正解データを利用するものであれば、本実施形態に係るものに限定されない。従って、様々な変形を行うことができる。例えば、下記の通り、学習データの個数DataNumを考慮して以下の通り勾配ngradを計算してもよい。なお、下記の式において、等号は、右辺の値の左辺の値への代入を表している。
【0152】
【0153】
このような構成によれば、学習データ数が大きくなるに連れて更新量が小さくなるような更新を行うことができる。なお、これは第1の実施形態においても同様である。
【0154】
(3.第3の実施形態)
続いて、
図17を参照しつつ、本発明の第3の実施形態について説明する。本実施形態においては、アンサンブル学習の一類型として、バギング学習、特にランダムフォレストに対して追加学習を行う例について説明する。
【0155】
なお、装置構成等は、第1の実施形態と略同一であるので説明を省略する。また、ブースティング推論器に代えてバギング推論器を利用する点を除いては、第1の実施形態と同様の動作を行うため、動作に関する説明を適宜省略する。なお、本実施形態において、バギング推論器の語は、バギング学習により生成された学習済モデルを指すものとし、他にバギング学習型推論器等と呼ぶことがある。
【0156】
初期学習(S7)においては、情報処理装置100上で、
図22で説明したランダムフォレスト、すなわちバギング推論器を生成する処理が行われる。生成されたバギング推論器は、制御装置200へと搭載される。その後、運用後に得られたデータに基づいて、バギング推論器に対して追加学習が行われる。
【0157】
すなわち、追加学習処理(S52)において、処理が開始すると、追加学習処理部28は、記憶部26から最新の学習済モデル、すなわち、バギング推論器を読み出す処理を行う(S521)。
【0158】
さらに、追加学習処理部28は、記憶部26から入力データを取得し、制御対象装置から入力データに対応する実際のデータである正解データを取得する処理を行う(S522)。
【0159】
その後、追加学習処理部28は、入力データと正解データとを利用してバギング推論器に対して追加学習処理を行う(S524)。
【0160】
より詳細には、追加学習処理部28は、まず、推論処理(S514)で得られたバギング推論器の最終的な推論出力データy_hatと正解データyとの差分に学習率ηを乗じて、勾配ngradを計算する。なお、推論出力データy_hatは、以下の数式により、TreeNum本の決定木の出力yiの相加平均をとることにより算出される。
【0161】
【0162】
また、勾配ngradは、以下の通り、表される。
【0163】
【0164】
なお、推論出力データy_hatと正解データyとの差分は、損失関数として二乗誤差を採用したことに由来するものであり、勾配の計算方法はこのような手法に限定されない。従って、例えば絶対値誤差などの他の損失関数に基づいて勾配を計算してもよい。
【0165】
次に、この勾配をバギング推論器を構成する各推論器に対して配分するようにして、各推論器の出力値yiを更新する。より詳細には、下記式の通り、各推論器の出力ノード(末端ノード)に対応する出力値yiに対して、勾配(ngrad)を足し合わせることにより更新する。
【0166】
【0167】
なお、上記の式において、等号は、右辺の値の左辺の値への代入を表している。また、出力ノードに対応する出力値の更新方法は、このような方法に限定されず、様々な変形が可能である。例えば、更新量と更新前の出力値とで相加平均や加重平均をとる等してもよい。
【0168】
このように、決定木の構造を変化させることなく、単に出力データに足し合わせる方法により決定木を更新することによれば、追加学習にあたって、深さ等の決定木の構造に関する変化も生じず、分岐条件の計算等の比較的に大きな演算量を要する演算も不要となる。そのため、追加学習の計算コストが小さく、追加学習を行っても推論時間に変化もなく、さらに、追加の記憶容量等も必要としない、決定木の追加学習手法を提供することができる。これにより、例えば、限られたハードウェア資源下で決定木についてオンライン追加学習を行う場合等であっても、制御の信頼性・安全性を担保できる制御装置を提供することができる。
【0169】
図17は、第3の実施形態に係る更新処理の概念図である。同図から明らかな通り、本実施形態においては、バギング推論器の最終的な推論結果である推論出力データy_hatと正解データyとの差分に学習率ηを乗じた値に基づいて、バギング推論器を構成する各推論器の出力ノードに対応付けられた出力データが更新されている。
【0170】
このような構成によれば、学習率ηによりその更新の程度を調整することができる。
【0171】
また、バギング推論器を構成する各推論器に対して同一の更新量が適用されると共にその符号が同一となるので、鍛造的な学習が可能となり、学習の収束安定性を向上させることができる。
【0172】
すなわち、複数の学習器から成るアンサンブル型学習器において、各学習器へと分配される更新量を最適化することができる追加学習手法及びそれを実行する情報処理装置等を提供することができる。
【0173】
(4.変形例)
本発明は、上述の実施形態に限定されず、様々に変形して実施することができる。
【0174】
上述の実施形態においては、決定木のうち、特に、回帰木を利用して回帰問題を解く例について説明したが、本発明はそのような構成に限定されない。従って、上述の構成を利用して、分類問題を解くこともできる。
【0175】
図18は、回帰木を利用して分類問題を解く手法の概要について示す説明図である。同図左側には、動物に関する3つのデータを、それぞれ高さ(Height)、重さ(Weight)、動物の種類(Animal)に着目してまとめた表が描かれている。この状態において、新たな商品の高さと重さに基づいて、動物の種類を推論する状況を検討する。
【0176】
ここで、動物の種類は、同例にあっては「Cat(ネコ)」、「Dog(イヌ)」、及び「Rat(ネズミ)」であり、これらはラベルであるのでこのままでは回帰木で取り扱うことはできない。そこで所謂ワン・ホット・エンコーディング(One-Hot Encoding)を利用する。ワン・ホット・エンコーディングとは、変数を0と1のダミー変数を持つ新しい特徴量で置換する処理である。
【0177】
同図右側には、ワン・ホット・エンコーディング処理後の各変数の状態を表した表が示されている。同図から明らかな通り、「動物の種類」の項目は、「Cat(ネコ)」、「Dog(イヌ)」、及び「Rat(ネズミ)」の3つの項目と置換され、対応する動物の種類について「1」、対応しない動物の種類について「0」が配置されている。このように、出力次元を1次元から3次元とするような変換処理を行うことで、分類問題を回帰問題として取り扱うことができる。
【0178】
さらに、
図19を参照しつつ、追加学習を行った場合について説明する。
図19は、回帰木を利用して分類問題を解く手法において追加学習が行う場合の説明図である。同図左側の表にある通り、同表にさらに新たな入力データとして、高さ「75」、重さ「3」の「イヌ」のデータが追加されたとする。このとき、動物の種類の項目の値は、合計が1となる確率値として扱われ、高さ「75」、重さ「3」の動物の種類は、ネコ又は犬である確率がそれぞれ0.5(=50%)であるものとして算出される。すなわち、同図右表の通り更新される。
【0179】
以上の構成をブースティング推論器を構成する各決定木に採用すれば、回帰木を利用して分類問題を解くことができる。ブースティング推論器の最終出力を得るには、例えば、各推論器の分類結果の多数決又は重み付きの多数決等としてもよい。
【0180】
なお、上述のワン・ホット・エンコーディングを利用した例にあっては、各ラベルに対する値を直接確率値として取り扱う構成としたが、このような構成に限定されない。従って、例えば、各ラベルに対する値を下記のソフトマックス関数により確率値に変換することにより、回帰的に取り扱ってもよい。
【0181】
【0182】
上述の実施形態においては、ブースティング推論器を構成する各機械学習モデルとして決定木を利用する例について説明したが、本発明はそのような構成に限定されない。従って、例えば、ニューラルネットワーク等他の機械学習モデルを採用してもよい。この場合、例えば、勾配と誤差逆伝播法等を用いて機械学習モデルを構成するパラメータの更新が行われる。
【0183】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【産業上の利用可能性】
【0184】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0185】
2 記憶部
11 学習対象データ取得部
12 決定木生成処理部
13 記憶処理部
21 入力データ取得部
22 推論処理部
24 データ出力部
26 記憶部
28 追加学習処理部
100 情報処理装置
200 制御装置