(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】推論装置、推論方法、及び推論プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230905BHJP
【FI】
G06N20/00
(21)【出願番号】P 2019137318
(22)【出願日】2019-07-25
【審査請求日】2022-05-13
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】米谷 竜
(72)【発明者】
【氏名】諏訪 正樹
(72)【発明者】
【氏名】バレカテイン モハマダミン
(72)【発明者】
【氏名】井尻 善久
(72)【発明者】
【氏名】宮浦 宏之
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2019-095968(JP,A)
【文献】特開2018-072876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
所定の推論の対象となる所定の対象データを取得する第1データ取得部と、
前記所定の推論を実行する対象の環境に関する環境データを取得する第2データ取得部と、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得する結果取得部と、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成する統合部であって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
統合部と、
生成された前記推論結果に関する情報を出力する出力部と、
を備
え、
前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成され、
前記環境データおよび対象データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行する学習処理部であって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、学習処理部を更に備え、
前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備え、
前記前記環境データおよび対象データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データおよび対象データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成され、
前記演算モデルの機械学習は、前記環境データと同種のデータである訓練用環境データ、前記対象データと同種のデータである訓練用対象データ、及び、前記訓練用対象データに対して所定の推論を実行した結果を示す正解データの組み合わせをそれぞれ含む複数の学習データセットを利用する機械学習であって、
前記各学習データセットの入力を受け付けた前記演算モデルが出力する前記各統合パラメータの値を使用して、前記各学習データセットに含まれる前記訓練用対象データに対する前記各推論モデルの推論結果を重み付けし、
重み付けされた前記推論結果を統合することにより、前記各学習データセットに含まれる前記訓練用環境データおよび前記訓練用対象データに対する前記推論結果を生成し、
生成された前記推論結果が、前記各学習データセットに含まれる前記正解データに適合するように、前記演算モデルを訓練することにより構成され、
前記学習済み機械学習モデルについては、前記対象の環境に適合するための学習を行わず、
前記所定の推論は、回帰又は識別であり、
前記各推論モデルの重み付けされた前記推論結果を統合することは、
前記各推論モデルの前記推論結果を示す値の重み付け平均を算出すること、
または、
前記各推論モデルの前記推論結果を重み付けした上で多数決することにより、前記各推論モデルの前記推論結果のうちのいずれかを選択すること、
である、
推論装置。
【請求項2】
前記複数の統合パラメータのうちの少なくとも1つの統合パラメータの値の指定を受け付け、かつ前記少なくとも1つの統合パラメータの値を指定された値に設定するパラメータ設定部を更に備え、
前記各推論モデルの前記推論結果を重み付けすることは、設定された前記値を使用して、前記少なくとも1つの統合パラメータに対応する推論モデルの推論結果を重み付けすることを含む、
請求項
1に記載の推論装置。
【請求項3】
前記所定の推論は、センサにより対象物の属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサにより得るための適正な観測状態への変更方法を推定することであり、
前記対象データは、対象センサの現在の観測状態に関し、
前記環境データは、前記対象センサが前記対象物の属性を観測する対象の観測環境に関する、
請求項1
または2に記載の推論装置。
【請求項4】
前記環境データは、前記対象センサとは異なる他のセンサであって、前記対象の観測環境を観測する他のセンサにより得られる、
請求項
3に記載の推論装置。
【請求項5】
前記推論装置は、前記対象センサの観測状態を変更させる介入装置に接続され、
前記推論結果に関する情報は、推定された前記変更方法に従って前記対象センサの観測状態を変更させる動作を前記介入装置に実行させるための指令情報を含み、
前記出力部は、前記介入装置に前記指令情報を送信することで、推定された前記変更方法に従って前記対象センサの観測状態を変更するための前記動作を前記介入装置に実行させる、
請求項
3又は
4に記載の推論装置。
【請求項6】
前記推論結果に関する情報は、前記変更方法に従って前記対象センサの観測状態を変更することをユーザに指示するための指示情報を含み、
前記出力部は、前記指示情報を出力装置に出力する、
請求項
3又は
4に記載の推論装置。
【請求項7】
前記センサは、カメラであり、
前記観測データは、画像データであり、
前記所定の条件は、前記対象物の属性を検査するのに適するように前記対象物が前記画像データに写ることに関する、
請求項
3から
6のいずれか1項に記載の推論装置。
【請求項8】
前記所定の推論は、移動体の移動する経路を移動体の状態から予測することであり、
前記対象データは、センサにより観測される対象の移動体の状態に関し、
前記環境データは、前記対象の移動体の移動を前記センサが観測する対象の観測環境に関する、
請求項1
または2に記載の推論装置。
【請求項9】
前記所定の推論は、ユーザに適合する会話の戦略をユーザの会話行動から推定することであり、
前記対象データは、対象のユーザの会話行動に関し、
前記環境データは、前記対象のユーザが会話行動を行う対象の会話環境に関する、
請求項1
または2に記載の推論装置。
【請求項10】
前記所定の推論は、タスクに適合するロボット装置の動作指令をロボット装置の状態から推定することであり、
前記対象データは、対象のロボット装置の状態に関し、
前記環境データは、前記対象のロボット装置が前記タスクを遂行する対象のタスク環境に関する、
請求項1
または2に記載の推論装置。
【請求項11】
コンピュータが、
所定の推論の対象となる所定の対象データを取得するステップと、
前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
ステップと、
生成された前記推論結果に関する情報を出力するステップと、
を実行
し、
前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成され、
前記環境データおよび対象データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行するステップであって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、ステップを更に実行し、
前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備え、
前記前記環境データおよび対象データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データおよび対象データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成され、
前記演算モデルの機械学習は、前記環境データと同種のデータである訓練用環境データ、前記対象データと同種のデータである訓練用対象データ、及び、前記訓練用対象データに対して所定の推論を実行した結果を示す正解データの組み合わせをそれぞれ含む複数の学習データセットを利用する機械学習であって、
前記各学習データセットの入力を受け付けた前記演算モデルが出力する前記各統合パラメータの値を使用して、前記各学習データセットに含まれる前記訓練用対象データに対する前記各推論モデルの推論結果を重み付けし、
重み付けされた前記推論結果を統合することにより、前記各学習データセットに含まれる前記訓練用環境データおよび前記訓練用対象データに対する前記推論結果を生成し、
生成された前記推論結果が、前記各学習データセットに含まれる前記正解データに適合するように、前記演算モデルを訓練することにより構成され、
前記学習済み機械学習モデルについては、前記対象の環境に適合するための学習を行わず、
前記所定の推論は、回帰又は識別であり、
前記各推論モデルの重み付けされた前記推論結果を統合することは、
前記各推論モデルの前記推論結果を示す値の重み付け平均を算出すること、
または、
前記各推論モデルの前記推論結果を重み付けした上で多数決することにより、前記各推論モデルの前記推論結果のうちのいずれかを選択すること、
である、
推論方法。
【請求項12】
コンピュータに、
所定の推論の対象となる所定の対象データを取得するステップと、
前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
ステップと、
生成された前記推論結果に関する情報を出力するステップと、
を実行さ
せ、
前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成され、
前記環境データおよび対象データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行するステップであって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、ステップを更に実行させ、
前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備え、
前記前記環境データおよび対象データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データおよび対象データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成され、
前記演算モデルの機械学習は、前記環境データと同種のデータである訓練用環境データ、前記対象データと同種のデータである訓練用対象データ、及び、前記訓練用対象データに対して所定の推論を実行した結果を示す正解データの組み合わせをそれぞれ含む複数の学習データセットを利用する機械学習であって、
前記各学習データセットの入力を受け付けた前記演算モデルが出力する前記各統合パラメータの値を使用して、前記各学習データセットに含まれる前記訓練用対象データに対する前記各推論モデルの推論結果を重み付けし、
重み付けされた前記推論結果を統合することにより、前記各学習データセットに含まれる前記訓練用環境データおよび前記訓練用対象データに対する前記推論結果を生成し、
生成された前記推論結果が、前記各学習データセットに含まれる前記正解データに適合するように、前記演算モデルを訓練することにより構成され、
前記学習済み機械学習モデルについては、前記対象の環境に適合するための学習を行わず、
前記所定の推論は、回帰又は識別であり、
前記各推論モデルの重み付けされた前記推論結果を統合することは、
前記各推論モデルの前記推論結果を示す値の重み付け平均を算出すること、
または、
前記各推論モデルの前記推論結果を重み付けした上で多数決することにより、前記各推論モデルの前記推論結果のうちのいずれかを選択すること、
である、
推論プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推論装置、推論方法、及び推論プログラムに関する。
【背景技術】
【0002】
近年、何らかの対象を観測するために、カメラ(撮影装置)、マイクロフォン、温度センサ、照度センサ等のセンサが様々な場面で用いられている。例えば、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。
【0003】
対象を観測する場所が異なれば、センサによる最適な観測方法は異なり得る。例えば、明るい場所で製品の状態を検査する場合には、撮影装置のシャッタースピードは速い方がよく、暗い場所で製品の状態を検査する場合には、撮影装置のシャッタースピードは遅い方がよい。また、同一の場所であっても、時間帯によってセンサによる最適な観測方法は異なり得る。例えば、時間帯によって、対象の場所における明るさは相違し得る。また、例えば、異なる季節では、同一の時間帯でも対象の場所における明るさは相違し得る。すなわち、観測の環境が異なれば、センサによる最適な観測方法が異なり得る。
【0004】
対象を適切に観察するためには、異なる環境であっても、センサによる観測が系統的に実施されるのが望ましい。センサによる観測を系統的に実施する方法の一例として、センサによる観測方法を人手により標準化することが考えられる。しかしながら、観測の環境が多様である場合、観測方法を一律に標準化することは困難である。また、センサを取り付ける際に、人の主観が入ってしまい、標準化された観測方法を実現できない可能性がある。つまり、人為的な要因により、標準化された観測方法を各環境で実現できない可能性がある。
【0005】
そのため、人手による標準化に依らずに、各環境においてセンサによる観測方法を体系的に最適化することが望まれる。例えば、特許文献1では、基板上に形成された位置合わせ用のマークの検出条件を最適化する方法が提案されている。具体的に、基板上に形成された複数のマークを、複数の照明条件及び結像条件の下でマーク検出系を用いて検出する。次に、マーク検出系からの検出信号を所定の信号処理アルゴリズムにより解析し、検出信号の波形形状に関する判定量を算出する。そして、得られた判定量に基づいて複数のマークの検出結果の再現性を評価し、評価結果に基づいて複数の照明条件及び結像条件を最適化する。特許文献1の方法によれば、各環境において、所定の信号処理アルゴリズムによるマークの検出に適合するように照明条件及び結像条件を最適化することができる。
【0006】
また、近年、機械学習を用いて、センサによる観測方法を最適化する方法も提案されている。例えば、特許文献2では、物体の観測行動を繰り返しながら、観測行動により得られた観測データに基づいて物体をクラスに分類する分類システムが、対象物体の分類確率により導出されるエントロピーの減少量に応じて設定された報酬に基づいて観測行動の強化学習を実行することが提案されている。特許文献2の方法によれば、分類システムは、各環境において、物体のクラス識別に適合した観測行動を強化学習により習得することができる。また、例えば、非特許文献1では、強化学習を用いて、超音波アレーセンサの指向性を最適化する方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2012-038794号公報
【文献】特開2012-216158号公報
【文献】特開2011-059924号公報
【文献】特開2017-173874号公報
【文献】特開2018-051664号公報
【文献】特開2019-067238号公報
【文献】特開2019-087096号公報
【非特許文献】
【0008】
【文献】小谷直樹、谷口研二、「強化学習を用いた超音波アレーセンサの指向性の最適設計法」、システム制御情報学会論文誌、2010年、23巻、12号、p.291-293
【発明の概要】
【発明が解決しようとする課題】
【0009】
本件発明者らは、上記のような従来の最適化方法には、次のような問題点があることを見出した。
【0010】
すなわち、従来の方法では、個々の環境で、センサの観測方法を最適化している。特に、教師あり学習、教師なし学習、強化学習等の機械学習により、センサの観測方法を最適化する場合、各環境において学習データを収集し、収集された学習データを利用した機械学習により学習済み機械学習モデルを構築している。学習済み機械学習モデルは、学習データを収集した環境と同じ環境で運用された場合には、所定の推論(この場合は、センサの最適な観測方法を推定する)を適切に実行することができる。
【0011】
しかしながら、学習データを収集した環境と異なる環境で運用された場合、学習済み機械学習モデルは、当該所定の推論を適切に実行できるとは限らない。そのため、基本的には、新たな環境でセンサの観測方法を最適化する場合には、対象の新たな環境で学習データを収集し、収集された学習データを利用して、新たな学習済み機械学習モデルを構築するための機械学習を実施することになる。したがって、従来の方法では、新たな環境でセンサの観測方法を最適化するのにはコストがかかるという問題点があった。
【0012】
なお、この問題点は、センサの観測方法を最適化する場面に特有のものではない。学習済み機械学習モデルにより所定の推論を実行するあらゆる場面で同様の問題点が生じる。学習済み機械学習モデルにより所定の推論を実行する場面とは、上記センサの最適な観測方法を推定する場面の他、例えば、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。
【0013】
具体例として、引用文献3では、ユーザの移動経路を予測する能力を隠れマルコフモデルに習得させることが提案されている。引用文献4では、深層強化学習により、後続の発言が会議の目的に近付くような応答を決定する能力を学習器に習得させることが提案されている。引用文献5では、ロボット装置としてハンドを備える産業用ロボットの稼働条件であって、物品の位置姿勢、サイクルタイム、トルク及び振動に関する稼働条件を決定する能力を強化学習により学習モデルに習得させることが提案されている。引用文献6では、ロボット装置として制御対象設備の制御内容を決定する能力を強化学習により学習モデルに習得させることが提案されている。引用文献7では、ロボット装置として自動運転車両の行動を決定する能力を強化学習により学習モデルに習得させることが提案されている。
【0014】
これらの場面でも、学習データを収集した環境と異なる環境で運用された場合に、学習済み機械学習モデルは、所定の推論を適切に実行できるとは限らない。そのため、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにはコストがかかるという問題点が生じ得る。
【0015】
更には、上記の問題点は、機械学習により学習済み機械学習モデルを構築する場面に特有のものではない。例えば、人手によるルール化等、機械学習以外の方法により、所定の推論を実行するように構成された推論モデルを学習データから導出するあらゆる場面で生じ得る。例えば、人手によりルール化により推論モデルを生成する場面を想定する。この場面でも、学習データを収集した環境と異なる環境で推論モデルが運用された場合、生成の際に考慮されていない入力が与えられる可能性があり、推論モデルは、所定の推論を適切に実行できるとは限らない。そのため、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するにはコストがかかるという問題点が生じ得る。
【0016】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減するための技術を提供することである。
【課題を解決するための手段】
【0017】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0018】
すなわち、本発明の一側面に係る推論装置は、所定の推論の対象となる所定の対象データを取得する第1データ取得部と、前記所定の推論を実行する対象の環境に関する環境データを取得する第2データ取得部と、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得する結果取得部と、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成する統合部であって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、統合部と、生成された前記推論結果に関する情報を出力する出力部と、を備える。
【0019】
当該構成に係る推論装置は、異なる環境下で得られたローカル学習データから導出された複数の推論モデルを利用して、対象の環境下で所定の推論を実行する。具体的には、当該構成に係る推論装置は、所定の推論の対象となる対象データを各推論モデルに与えて、対象データに対する所定の推論を各推論モデルに実行させることで、対象データに対する各推論モデルの推論結果を取得する。そして、当該構成に係る推論装置は、統合規則に従って、各推論モデルの推論結果を統合することで、対象の環境下での対象データに対する推論結果を生成する。このように、当該構成に係る推論装置は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、既に構築された複数の推論モデルを活用する。
【0020】
統合規則は、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成される。一般的には、対象の環境に類似する学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が高いと想定される。他方、対象の環境に類似しない学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が低いと想定される。また、複数の推論モデルには、対象の環境下で優先的に利用することが推奨される推論モデルが含まれる場合がある。
【0021】
そこで、当該構成に係る推論装置は、所定の推論を実行する対象の環境に関する環境データに応じて、統合規則の各統合パラメータの値を決定する。例えば、対象の環境に類似する学習環境の推論モデル及び優先度の高い推論モデルの少なくともいずれかの推論結果が重視されるように各統合パラメータの値が決定されてよい。そして、当該構成に係る推論装置は、決定された各統合パラメータの値を使用して、各推論モデルの推論結果を重み付けし、重み付けされた各推論モデルの推論結果を統合する。当該構成では、このように対象の環境に応じて各推論モデルの推論を重視する程度を調整することで、様々な環境で得られた知見(推論モデル)を新たな環境に適合するようにカスタマイズすることができる。その結果、対象の環境下で所定の推論を適切に実行することができる。
【0022】
したがって、当該構成によれば、異なる環境下で得られたローカル学習データから導出された複数の推論モデルを利用して、対象の環境下で所定の推論を適切に実行することができる。すなわち、既に構築された複数の推論モデルを活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデルを導出する作業の手間を省略することができる。よって、当該構成によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
【0023】
なお、「所定の推論」を実行することは、未知の対象データに基づいて何らかの推定処理を実行することである。推論の内容は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推論は、回帰又は識別であってもよい。所定の推論は、例えば、センサの最適な観測方法を推定すること、移動体の移動する経路を予測すること、ユーザに適合する会話戦略を推定すること、タスクに適合するロボット装置の動作指令を推定すること等であってよい。推論結果の表現は、推論の内容に応じて適宜決定されてよい。推論結果は、例えば、回帰による連続値、クラスに属する確率等により表現されてよい。また、推論結果は、例えば、1つ以上の数値又は1つ以上のクラスにより表現されてもよい。
【0024】
「対象データ」は、所定の推論の際に使用されるものであれば、その種類は、特に限定されなくてもよく、推論の内容に応じて適宜選択されてよい。対象データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。対象データは、「入力データ」と読み替えられてもよい。
【0025】
「環境データ」は、所定の推論を実行する対象の環境に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の推論を実行する環境は、例えば、対象データの得られる環境である。対象データの得られる環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。環境データは、対象データと同様に、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。
【0026】
対象データ及び環境データそれぞれを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ及び環境データがセンサにより得られる観測データに由来する場合、対象データ及び環境データは、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。対象データ及び環境データは、少なくとも部分的に共通のデータを含んでもよい。
【0027】
各推論モデルは、所定の推論を実行可能であれば、その構成は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各推論モデルは、例えば、データテーブル、関数式、ルール等により構成されてよい。推論に利用される各推論モデルの出力(推論結果)の形式及び内容は、必ずしも完全に一致していなければならない訳ではない。各推論モデルの出力の形式及び内容の少なくとも一方は、各推論モデルの推論結果を統合可能な範囲で異なっていてもよい。例えば、関節数の異なるロボット装置の動作指令を推定する複数の推論モデルが、対象の環境下におけるロボット装置の動作指令を推定するのに利用されてよい。各推論モデルの推論結果を統合する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各推論モデルの推論結果を統合することは、平均化又は多数決により構成されてよい。
【0028】
ローカル学習データを得る環境が異なっていることとは、例えば、時間、場所、対象物、ユーザ等の所定の推論に影響を及ぼし得る事象が少なくとも部分的に相違していることである。一例として、異なる場所で取得されたローカル学習データは、異なる環境下で得られたローカル学習データとして取り扱われてよい。また、その他の例として、同一の場所で異なる時刻に取得されたローカル学習データは、異なる環境下で得られたローカル学習データとして取り扱われてよい。各推論モデルの導出に利用されたローカル学習データには、少なくとも部分的に同一のデータが含まれてもよい。
【0029】
各推論モデルを導出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各推論モデルの導出は、人手により行われてもよいし、或いは機械学習により行われてもよい。機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。ローカル学習データの形式及び種類は、特に限定されなくてもよく、例えば、各推論モデルを導出する方法、所定の推論の内容等に応じて適宜決定されてよい。
【0030】
上記一側面に係る推論装置において、前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成されてよい。当該構成によれば、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
【0031】
上記一側面に係る推論装置は、前記環境データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行する学習処理部であって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、学習処理部を更に備えてもよい。これに応じて、前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備えてよい。そして、前記前記環境データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成されてよい。当該構成によれば、機械学習により構築された学習済み演算モデルを含む統合規則により、対象の環境で所定の推論を更に適切に実行することができる。
【0032】
推論モデルのパラメータ数は、対象データの次元数及び推論結果の表現形式に依存する。これに対して、演算モデルのパラメータ数は、環境データの次元数及び対象の環境下での所定の推論に利用する推論モデルの数に依存する。そのため、対象データ及び推論内容の少なくとも一方が複雑になればなるほど、推論モデルのパラメータの数は大きく増加するのに対して、演算モデルのパラメータ数の増加は抑えることができる。
【0033】
例えば、対象の環境として明るさを考慮して、カメラの最適な観測方法を当該カメラにより得られる画像データから推定する場面を想定する。この場合、推論モデルのパラメータ数は、画像データの画素数及びカメラの取り得る状態数に依存し、千を超えるオーダーと成り得る。一方、演算モデルのパラメータ数は、明るさの次元数及び推論モデルの数に依存するが、最適な観測方法の推定に数十の推論モデルを利用するとしても、多くて数十~数百程度のオーダーである。
【0034】
したがって、一般的に、演算モデルのパラメータ数は、推論モデルのパラメータ数よりも少なくて済む。機械学習のコストはパラメータ数に依存するため、機械学習により学習済み演算モデルを構築するコストは、新たな推論モデルとして学習済み機械学習モデルを構築するコストよりも低く抑えることができる。よって、当該構成においても、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
【0035】
なお、演算モデルの機械学習は、推論装置以外の情報処理装置(コンピュータ)により実行されてよい。演算モデルは、各統合パラメータの値を算出するための複数の演算パラメータを含む。演算モデルの機械学習は、対象の環境に適合する所望の出力を得るように演算パラメータの値を調整することであってよい。すなわち、算出される各統合パラメータの値が対象の環境下における所定の推論に適合するように演算モデルを訓練することとは、算出された各統合パラメータの値を用いて各推論モデルの推論結果を統合した結果が対象の環境下における推論結果として適合するような各統合パラメータの値を環境データから算出するように演算モデルの演算パラメータの値を調整することであってよい。
【0036】
上記一側面に係る推論装置において、前記演算モデルの前記機械学習は、前記統合により生成される推論結果の適正度に応じて報酬が設定された強化学習により構成されてよく、前記演算モデルを訓練することは、前記報酬が多く得られるように前記演算モデルを構成する演算パラメータの値の修正を繰り返すことを含んでよい。演算パラメータの値の修正は、例えば、演算パラメータの値を修正する量が閾値以下になる等の所定の条件を満たすまで繰り返されてよい。当該構成によれば、強化学習により構築された学習済み演算モデルを含む統合規則により、対象の環境で所定の推論を更に適切に実行することができる。
【0037】
なお、適正度は、統合により生成される推論結果が適正である程度を示す。例えば、センサの最適な観測方法を推定する場面では、統合により得られた観測方法に従ってセンサの観測状態を変更した結果、所定の条件に適合した観測データ(例えば、製品の外観検査に適合した画像データ)をセンサにより取得することが可能であるほど、その観測方法の推定結果は適正であると評価されてよい。また、例えば、移動体の移動する経路を予測する場面では、統合により得られた予測経路が正確であるほど、その経路の予測結果は適正であると評価されてよい。また、例えば、ユーザに適合する会話戦略を推定する場面では、統合により得られた会話戦略がユーザに適合しているほど、その会話戦略の推定結果は適正であると評価されてよい。また、例えば、タスクに適合するロボット装置の動作指令を推定する場面では、統合により得られた動作指令がタスクに適合しているほど、その動作指令の推定結果は適正であると評価されてよい。適正度は、所定の指標に基づいてコンピュータにより自動的に算出されてもよいし、或いはオペレータの入力により指定されてもよい。すなわち、適正度の評価は、コンピュータにより行われてもよいし、或いはオペレータにより行われてもよい。
【0038】
上記一側面に係る推論装置において、前記環境データに応じて、前記各統合パラメータの値を決定することは、前記各推論モデルの導出に利用された前記ローカル学習データの得られた環境に関する学習環境データを取得すること、取得された学習環境データ及び前記環境データの適合度を算出すること、及び算出された適合度に応じて、前記各推論モデルに対する前記各統合パラメータの値を決定すること、により構成されてよい。当該構成によれば、環境データ及び学習環境データの比較の結果(すなわち、適合度)に基づいて、対象の環境に学習環境が類似するほど、その推論モデルの推論結果が重視されるように、各統合パラメータの値を決定することができる。したがって、当該構成によれば、簡易な方法により、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
【0039】
上記一側面に係る推論装置は、前記複数の統合パラメータのうちの少なくとも1つの統合パラメータの値の指定を受け付け、かつ前記少なくとも1つの統合パラメータの値を指定された値に設定するパラメータ設定部を更に備えてもよい。これに応じて、前記各推論モデルの前記推論結果を重み付けすることは、設定された前記値を使用して、前記少なくとも1つの統合パラメータに対応する推論モデルの推論結果を重み付けすることを含んでもよい。当該構成によれば、各推論モデルの推論結果に適用する各統合パラメータの値の少なくとも一部をオペレータの指定により決定することができる。これにより、対象の環境下における所定の推論にオペレータの意図(例えば、特定の推論モデルの推論結果を重視する)を反映することができる。
【0040】
上記各側面に係る推論装置は、推論モデルにより何らかの推論を実行するあらゆる場面に適用されてよい。何らかの推論を実行する場面とは、例えば、センサの最適な観測方法を推定する場面、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。或いは、何らかの推論を実行する場面とは、例えば、カメラにより得られた画像データに写る被写体の属性を推定する場面等、センサにより得られた観測データに表れる特徴を推定する場面であってもよい。或いは、何らかの推論を実行する場面とは、センサにより得られた観測データからセンサの観測条件に関する特徴を推定する場面であってもよい。観測条件に関する特徴は、観測条件に関連し得るあらゆる事象を含んでよく、例えば、センサと観測対象との間の距離、観測対象の周囲の明るさ等を含んでよい。
【0041】
例えば、上記一側面に係る推論装置において、前記所定の推論は、センサにより得られた観測データに表れる特徴を当該観測データから推定することであってよい。前記対象データは、前記センサにより得られた観測データであってよい。前記環境データは、前記観測データを取得する環境に関するものであってよい。センサにより得られた観測データに表れる特徴を推定することは、カメラにより得られた画像データに写る被写体の属性を推定するであってよい。当該構成によれば、センサにより得られた観測データに表れる特徴を推定する場面において、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。推論装置は、例えば、検査装置、予測装置、会話装置、制御装置等と、推論内容に適合するように適宜読み替えられてよい。
【0042】
例えば、上記一側面に係る推論装置において、前記所定の推論は、センサにより対象物の属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサにより得るための適正な観測状態への変更方法を推定することであってよい。前記対象データは、対象センサの現在の観測状態に関するものであってよい。前記環境データは、前記対象センサが前記対象物の属性を観測する対象の観測環境に関するものであってよい。当該構成によれば、対象物の属性をセンサにより観測する場面において、新たな環境でセンサの最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
【0043】
なお、所定の条件に適合した観測データが得られることは、センサの観測状態が適正であることに対応する。「所定の条件」は、センサの観測目的に応じて適宜規定されてよい。例えば、製品の欠陥検出のために観測データを得る場合、所定の条件は、センサにより得られた観測データに基づいて、欠陥検出が可能であるか否か、欠陥検出の精度が基準を満たすか否か等の、センサにより得られた観測データに対する他の推論の性能に応じて規定されてよい。製品の欠陥検出は、被写体の品質評価(例えば、農作物の生育状態の評価)に置き換えられてよい。「適正な観測状態への変更方法」を推定することは、当該変更方法を直接的に推定すること、及び適正な観測状態を推定し、推定された適正な観測状態と現在の観測状態との差分を算出することで、適正な観測状態に導くための変更方法を間接的に推定することを含んでよい。
【0044】
上記一側面に係る推論装置において、前記環境データは、前記対象センサとは異なる他のセンサであって、前記対象の観測環境を観測する他のセンサにより得られてよい。当該構成によれば、環境データを簡易に取得することができるため、各推論モデルの推論結果を統合する一連の処理の簡略化を図ることができる。また、当該構成によれば、観測データを適切に取得することができるため、統合により生成される推論結果の精度の向上を図ることができる。
【0045】
上記一側面に係る推論装置は、前記対象センサの観測状態に介入することで、当該観測状態を変更させる介入装置に接続されてよい。前記推論結果に関する情報は、推定された前記変更方法に従って前記対象センサの観測状態を変更させる動作を前記介入装置に実行させるための指令情報を含んでもよい。前記出力部は、前記介入装置に前記指令情報を送信することで、推定された前記変更方法に従って前記対象センサの観測状態を変更するための前記動作を前記介入装置に実行させてもよい。当該構成によれば、センサの観測状態を自動的に最適化することができる。
【0046】
なお、介入装置は、センサの観測状態に介入可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。具体例として、介入装置は、例えば、パンチルト雲台、照明装置等であってよい。パンチルト雲台は、センサの位置及び向きの少なくともいずれかを変更するのに利用されてよい。照明装置は、センサの観測対象周囲の明るさを変更するのに利用されてよい。介入装置は、当該介入装置の動作を制御する制御装置を備えてよい。この場合、推論装置は、制御装置に指令情報を送信することで、対象センサの観測状態を変更するための動作の制御を当該制御装置に実行させてもよい。
【0047】
上記一側面に係る推論装置において、前記推論結果に関する情報は、前記変更方法に従って前記対象センサの観測状態を変更することをユーザに指示するための指示情報を含んでもよい。前記出力部は、前記指示情報を出力装置に出力してもよい。当該構成によれば、センサの観測状態を最適化するための変更方法をユーザに提示することができる。これによって、専門知識を有さないユーザでも、対象の環境に応じてセンサの観測状態を最適化することができる。
【0048】
上記一側面に係る推論装置において、前記センサは、カメラであってよい。前記観測データは、画像データであってよい。前記所定の条件は、前記対象物の属性を検査するのに適するように前記対象物が前記画像データに写ることに関するものであってよい。当該構成によれば、カメラにより得られる画像データに基づいて対象物の属性を検査する場面において、新たな環境でカメラの最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
【0049】
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、移動体の移動する経路を移動体の状態から予測することであってよい。前記対象データは、センサにより観測される対象の移動体の状態に関するものであってよい。前記環境データは、前記対象の移動体の移動を前記センサが観測する対象の観測環境に関するものであってよい。当該構成によれば、移動体の移動を監視する場面において、新たな環境で移動体の移動する経路を適切に予測可能な推論モデルを構築するのにかかるコストを低減することができる。なお、移動体は、例えば、生物(人間等)、機械(車両等)等であってよい。
【0050】
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、ユーザに適合する会話の戦略をユーザの会話行動から推定することであってよい。前記対象データは、対象のユーザの会話行動に関するものであってよい。前記環境データは、前記対象のユーザが会話行動を行う対象の会話環境に関するものであってよい。当該構成によれば、ユーザに対する会話を生成する場面において、新たな環境でユーザに適合する会話戦略を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。なお、会話戦略は、ユーザに対する会話行動の決定に関するものであれば、その規定内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。会話戦略は、例えば、会話の内容、発話タイミング、会話の頻度、口調等を規定してもよい。
【0051】
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、タスクに適合するロボット装置の動作指令をロボット装置の状態から推定することであってよい。前記対象データは、対象のロボット装置の状態に関するものであってよい。前記環境データは、前記対象のロボット装置が前記タスクを遂行する対象のタスク環境に関するものであってよい。当該構成によれば、ロボット装置の動作を制御する場面において、新たな環境でタスクに適合するロボット装置の動作指令を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
【0052】
なお、ロボット装置及びタスクはそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ロボット装置は、例えば、産業用ロボット、設備装置、自動運転可能な車両等であってよい。設備装置は、例えば、空調設備(エアコンディショナ)、照明装置等であってよい。ロボット装置が産業用ロボットである場合、タスクは、例えば、ワークを目的位置に配置すること等であってよい。ロボット装置が空調設備等の設備装置である場合、タスクは、例えば、所定の温度に保つ等、設備装置の種類に応じて決定されてよい。ロボット装置が自動運転可能な車両である場合、タスクは、例えば、現在位置から目的位置まで自動運転により移動すること等であってよい。
【0053】
また、本発明の一側面に係る演算モデル生成装置は、演算モデルの機械学習に利用するための学習データを取得するデータ取得部であって、演算モデルは、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータそれぞれの値を環境データから算出するのに利用されるものであり、各推論モデルは、異なる環境下で得られたローカル学習データから所定の推論を実行するように導出されたものである、データ取得部と、取得された学習データを利用して、上記演算モデルの機械学習を実行する学習処理部であって、機械学習は、算出される各統合パラメータの値が対象の環境下における所定の推論に適合するように演算モデルを訓練することにより構成される、学習処理部と、演算モデルの機械学習の結果を所定の記憶領域に保存する保存処理部と、を備える。演算モデル生成装置は、モデル生成装置、学習装置等と読み替えられてよい。各モデル(例えば、機械学習モデル)の学習方法は、学習済みモデル(例えば、学習済み機械学習モデル)の生成方法に相当する。
【0054】
上記各形態に係る推論装置の別の態様として、本発明の一側面は、以上の推論装置又はモデル生成装置の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る推論システムは、上記いずれかの形態に係る推論装置、及びローカル学習データから推論モデルを導出する1つ以上の推論モデル生成装置により構成されてよい。推論モデル生成装置は、モデル生成装置、ローカル学習装置等と読み替えられてよい。推論システムは、上記演算モデル生成装置を更に備えてよい。
【0055】
例えば、本発明の一側面に係る推論方法は、コンピュータが、所定の推論の対象となる所定の対象データを取得するステップと、前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、ステップと、生成された前記推論結果に関する情報を出力するステップと、を実行する、情報処理方法である。
【0056】
また、例えば、本発明の一側面に係る推論プログラムは、コンピュータに、所定の推論の対象となる所定の対象データを取得するステップと、前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、ステップと、生成された前記推論結果に関する情報を出力するステップと、を実行させるための、プログラムである。
【発明の効果】
【0057】
本発明によれば、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
【図面の簡単な説明】
【0058】
【
図1A】
図1Aは、本発明が適用される場面の一例を模式的に例示する。
【
図1B】
図1Bは、本発明が適用される場面の一例を模式的に例示する。
【
図2】
図2は、実施の形態に係る推論装置のハードウェア構成の一例を模式的に例示する。
【
図3】
図3は、実施の形態に係るローカル学習装置のハードウェア構成の一例を模式的に例示する。
【
図4】
図4は、実施の形態に係る推論装置のソフトウェア構成の一例を模式的に例示する。
【
図5A】
図5Aは、実施の形態に係るローカル学習装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【
図5B】
図5Bは、実施の形態に係るローカル学習装置の推論装置に関するソフトウェア構成の一例を模式的に例示する。
【
図6】
図6は、実施の形態に係るローカル学習装置の学習済み機械学習モデル生成に関する処理手順の一例を例示する。
【
図7A】
図7Aは、実施の形態に係る機械学習モデル及び機械学習方法の一例を例示する。
【
図7B】
図7Bは、実施の形態に係る機械学習モデル及び機械学習方法の一例を例示する。
【
図7C】
図7Cは、実施の形態に係る機械学習モデル及び機械学習方法の一例を例示する。
【
図8】
図8は、実施の形態に係るローカル学習装置による推論処理の処理手順の一例を例示する。
【
図9A】
図9Aは、実施の形態に係る推論装置の推論処理に関する処理手順の一例を例示する。
【
図9B】
図9Bは、実施の形態に係る推論装置による統合処理に関するサブルーチンの処理手順の一例を例示する。
【
図10A】
図10Aは、実施の形態に係る統合パラメータの値を決定する方法の一例を例示する。
【
図10B】
図10Bは、実施の形態に係る統合パラメータの値の決定に利用される演算モデルの機械学習の処理手順の一例を例示する。
【
図10C】
図10Cは、実施の形態に係る演算モデル及び機械学習方法の一例を例示する。
【
図10D】
図10Dは、実施の形態に係る演算モデル及び機械学習方法の一例を例示する。
【
図11A】
図11Aは、実施の形態に係る統合パラメータの値を決定する方法の一例を例示する。
【
図12A】
図12Aは、実施の形態に係る統合パラメータの値を決定する方法の一例を例示する。
【
図13A】
図13Aは、実施の形態に係る学習済み機械学習モデルのグルーピング処理を模式的に例示する。
【
図13B】
図13Bは、実施の形態に係る推論装置によるグルーピングの処理手順の一例を例示する。
【
図13C】
図13Cは、実施の形態に係る推論装置によるグルーピングの処理手順の一例を例示する。
【
図14】
図14は、本発明が適用される他の場面の一例を模式的に例示する。
【
図15】
図15は、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【
図16A】
図16Aは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【
図16B】
図16Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【
図17】
図17は、本発明が適用される他の場面の一例を模式的に例示する。
【
図18】
図18は、他の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【
図19A】
図19Aは、他の形態に係る予測装置のソフトウェア構成の一例を模式的に例示する。
【
図19B】
図19Bは、他の形態に係る予測装置のソフトウェア構成の一例を模式的に例示する。
【
図20】
図20は、本発明が適用される他の場面の一例を模式的に例示する。
【
図21】
図21は、他の形態に係る会話装置のハードウェア構成の一例を模式的に例示する。
【
図22A】
図22Aは、他の形態に係る会話装置のソフトウェア構成の一例を模式的に例示する。
【
図22B】
図22Bは、他の形態に係る会話装置のソフトウェア構成の一例を模式的に例示する。
【
図23】
図23は、本発明が適用される他の場面の一例を模式的に例示する。
【
図24】
図24は、他の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。
【
図25A】
図25Aは、他の形態に係る制御装置のソフトウェア構成の一例を模式的に例示する。
【
図25B】
図25Bは、他の形態に係る制御装置のソフトウェア構成の一例を模式的に例示する。
【
図26A】
図26Aは、他の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
【
図26B】
図26Bは、他の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【
図27】
図27は、他の形態に係るローカル学習装置の構成の一例を模式的に例示する。
【
図28】
図28は、本発明が適用される他の場面の一例を模式的に例示する。
【
図29】
図29は、実施例及び比較例のシミュレーションで利用したロボット装置の概要を模式的に示す。
【
図30A】
図30Aは、内挿条件のダイナミクスを有するロボット装置の運動を実施例及び比較例で強化学習により訓練した結果を示す。
【
図30B】
図30Bは、外挿条件のダイナミクスを有するロボット装置の運動を実施例及び比較例で強化学習により訓練した結果を示す。
【発明を実施するための形態】
【0059】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0060】
§1 適用例
まず、
図1A及び
図1Bを用いて、本発明が適用される場面の一例について説明する。
図1A及び
図1Bは、本発明を適用した場面の一例を模式的に例示する。
図1A及び
図1Bに示されるとおり、本実施形態に係る推論システム100は、推論装置1及び複数のローカル学習装置2を備えている。推論装置1及び各ローカル学習装置2は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【0061】
本実施形態に係る各ローカル学習装置2は、ローカル学習データ30を利用して、機械学習モデル40の機械学習を実行するように構成されたコンピュータである。
図1Aに示されるとおり、各ローカル学習装置2は、異なる環境下でローカル学習データ30を収集し、得られたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、各ローカル学習装置2は、所定の推論を実行する能力を獲得した学習済み機械学習モデル45を構築する。
【0062】
構築された各学習済み機械学習モデル45は、本発明の「異なる環境下で得られたローカル学習データから所定の推論を実行するように導出された各推論モデル」の一例である。すなわち、本実施形態では、各推論モデルは、学習済み機械学習モデル45により構成される。以下の説明において、学習済み機械学習モデル45は、「推論モデル」と読み替えられてよい。
【0063】
機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。ローカル学習データ30の形式及び種類は、特に限定されなくてもよく、例えば、機械学習の方法、所定の推論の内容等に応じて適宜決定されてよい。各ローカル学習装置2は、推論モデル生成装置、モデル生成装置等と読み替えられてよい。
【0064】
所定の推論を実行することは、未知の対象データに基づいて何らかの推定処理を実行することである。推論の内容は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推論は、回帰又は識別であってもよい。所定の推論は、例えば、センサの最適な観測方法を推定すること、移動体の移動する経路を予測すること、ユーザに適合する会話戦略を推定すること、タスクに適合するロボット装置の動作指令を推定すること等であってよい。或いは、所定の推論は、例えば、カメラ(撮影装置)により得られた画像データに写る被写体の属性を推定する等、センサにより得られた観測データに表れる特徴を推定することであってよい。或いは、所定の推論は、センサにより得られた観測データからセンサの観測条件に関する特徴を推定することであってもよい。観測条件に関する特徴は、観測条件に関連し得るあらゆる事象を含んでよく、例えば、センサと観測対象との間の距離、観測対象の周囲の明るさ等を含んでよい。推論結果の表現は、推論の内容に応じて適宜決定されてよい。推論結果は、例えば、回帰による連続値、クラスに属する確率等により表現されてよい。また、推論結果は、例えば、1つ以上の数値又は1つ以上のクラスにより表現されてもよい。
【0065】
ローカル学習データ30を得る環境が異なっていることは、例えば、時間、場所、対象物、ユーザ等の、所定の推論に影響を及ぼし得る事象が少なくとも部分的に相違していることである。一例として、異なる場所で得られたローカル学習データ30は、異なる環境下で得られたローカル学習データとして取り扱われてよい。また、その他の例として、同一の場所で異なる時刻に得られたローカル学習データ30は、異なる環境下で得られたローカル学習データとして取り扱われてよい。各学習済み機械学習モデル45の構築に利用されたローカル学習データ30には、少なくとも部分的に同一のデータが含まれてよい。
【0066】
ローカル学習データ30を得る環境及び推論装置1が所定の推論を実行する対象の環境はそれぞれ、1つ以上のクラス又は1つ以上の数値により表現されてよい。各環境が数値により表現される場合、各環境は、数値範囲で表現されてもよい。このとき、第1環境と第2環境とが異なっていることは、第1環境を表現する第1数値範囲と第2環境を表現する第2数値範囲とが重複していないことの他、第1数値範囲と第2数値範囲とが部分的に重複していることを含んでもよい。
【0067】
なお、
図1A及び
図1Bの例では、推論システム100は、n個のローカル学習装置2_1~2_nを備える。以下、説明の便宜のため、それぞれを区別する場合に、_1、_2、_n等の更なる符号を付し、そうではない場合には、「ローカル学習装置2」等のようにそれらの符号を省略する。各ローカル学習装置2_1~2_nは、各ローカル学習データ30_1~30_nを収集し、収集された各ローカル学習データ30_1~30_nを利用して、各機械学習モデル40_1~40_nの機械学習を実行する。これにより、各ローカル学習装置2_1~2_nは、各学習済み機械学習モデル45_1~45_nを構築する。すなわち、n個の学習済み機械学習モデル45_1~45_nが生成される。ただし、ローカル学習装置2及び生成される学習済み機械学習モデル45それぞれの数(n)は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、各ローカル学習装置2により生成される学習済み機械学習モデル45の数は、1つに限られなくてもよく、2つ以上であってもよい。
【0068】
一方、本実施形態に係る推論装置1は、異なる環境下で得られたローカル学習データ30から導出された各学習済み機械学習モデル45を利用して、対象の環境下で所定の推論を実行するように構成されたコンピュータである。
図1Bに示されるとおり、本実施形態に係る推論装置1は、所定の推論の対象となる所定の対象データ61を取得する。また、本実施形態に係る推論装置1は、所定の推論を実行する対象の環境に関する環境データ63を取得する。
【0069】
対象データ61は、所定の推論の際に使用されるものであれば、その種類は、特に限定されなくてもよく、推論の内容に応じて適宜選択されてよい。対象データ61は、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。また、対象データ61は、未加工のデータ、又は加工済みのデータ(例えば、未加工のデータから算出された特徴量)であってよい。対象データ61は、「入力データ」と読み替えられてよい。
【0070】
環境データ63は、所定の推論を実行する対象の環境に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の推論を実行する環境は、例えば、対象データ61の得られる環境である。対象データ61の得られる環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。環境データ63は、対象データ61と同様に、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。また、環境データ63は、未加工のデータ、又は加工済みのデータであってもよい。
【0071】
対象データ61及び環境データ63それぞれを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61及び環境データ63の取得にセンサを利用する場合、対象データ61及び環境データ63は、同一のセンサにより得られた同一の観測データに由来してもよいし、或いは異なるセンサにより得られた異なる観測データに由来してもよい。また、対象データ61及び環境データ63は、少なくとも部分的に共通のデータを含んでもよい。
【0072】
本実施形態に係る推論装置1は、取得された対象データ61を各学習済み機械学習モデル45(45_1~45_n)に与えて、各学習済み機械学習モデル45(45_1~45_n)に所定の推論を対象データ61に対して実行させる。これにより、本実施形態に係る推論装置1は、取得された対象データ61に対する各学習済み機械学習モデル45(45_1~45_n)の推論結果を取得する。そして、本実施形態に係る推論装置1は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合することで、対象の環境下での対象データ61に対する推論結果を生成する。
【0073】
具体的には、統合規則5は、対象の環境下において、各学習済み機械学習モデル45(45_1~45_n)の推論結果を重視する程度をそれぞれ規定する複数の統合パラメータP(P1~Pn)により構成されている。統合パラメータの数は、推論モデル(学習済み機械学習モデル45)の数に応じて適宜決定されてよい。各学習済み機械学習モデル45には、1つ以上の統合パラメータが設定されてよい。
【0074】
本実施形態に係る推論装置1は、取得された環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定する。なお、各統合パラメータP(P1~Pn)の値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。すなわち、本実施形態に係る推論装置1は、対象データ61及び環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定してもよい。
【0075】
次に、本実施形態に係る推論装置1は、決定された各統合パラメータP(P1~Pn)の値を使用して、対応する各学習済み機械学習モデル45(45_1~45_n)の推論結果を重み付けする。そして、本実施形態に係る推論装置1は、各学習済み機械学習モデル45(45_1~45_n)の重み付けされた推論結果を統合する。これにより、本実施形態に係る推論装置1は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
【0076】
推論結果の統合方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各学習済み機械学習モデル45の推論結果を統合することは、平均化又は多数決により構成されてよい。所定の推論が回帰である場合に、推論結果の統合は、主に平均化により行われてよい。また、所定の推論が識別である場合に、推論結果の統合は、主に多数決により行われてよい。当該統合処理により、対象の環境下での対象データ61に対する推論結果が生成される。本実施形態に係る推論装置1は、生成された推論結果に関する情報を出力する。
【0077】
以上のとおり、本実施形態に係る推論装置1は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、既に構築された複数の推論モデル(学習済み機械学習モデル45_1~45_n)を活用する。一般的には、対象の環境に類似する学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が高いと想定される。他方、対象の環境に類似しない学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が低いと想定される。また、複数の推論モデルには、対象の環境下で優先的に利用することが推奨される推論モデルが含まれる場合がある。
【0078】
そこで、上記統合処理では、本実施形態に係る推論装置1は、所定の推論を実行する対象の環境に関する環境データ63に応じて、統合規則5の各統合パラメータP(P1~Pn)の値を決定する。例えば、対象の環境に類似する学習環境の学習済み機械学習モデル45及び優先度の高い学習済み機械学習モデル45の少なくともいずれかの推論結果が重視されるように各統合パラメータP(P1~Pn)の値が決定されてもよい。本実施形態では、このように対象の環境に応じて各学習済み機械学習モデル45の推論を重視する程度を調整することで、様々な環境で得られた知見(学習済み機械学習モデル45)を新たな環境に適合するようにカスタマイズすることができる。その結果、カスタマイズされた知見、換言すると、各学習済み機械学習モデル45の重み付けされた推論結果の統合結果に基づいて、対象の環境下で所定の推論を適切に実行することができる。
【0079】
したがって、本実施形態によれば、異なる環境下で得られたローカル学習データ30から導出された複数の学習済み機械学習モデル45を利用して、対象の環境下で所定の推論を適切に実行することができる。すなわち、既に構築された複数の学習済み機械学習モデル45を活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデル(本実施形態では、学習済み機械学習モデル)を導出する作業の手間を省略することができる。よって、当該構成によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
【0080】
§2 構成例
[ハードウェア構成]
<推論装置>
次に、
図2を用いて、本実施形態に係る推論装置1のハードウェア構成の一例について説明する。
図2は、本実施形態に係る推論装置1のハードウェア構成の一例を模式的に例示する。
【0081】
図2に示されるとおり、本実施形態に係る推論装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、
図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0082】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、学習環境データ35等の各種情報を記憶する。
【0083】
推論プログラム81は、対象の環境下において所定の推論に関する後述の情報処理(
図9A及び
図9B)を推論装置1に実行させるためのプログラムである。推論プログラム81は、当該情報処理の一連の命令を含む。統合規則データ57は、統合規則5に関する情報を示す。各件の学習結果データ47は、機械学習により構築された各学習済み機械学習モデル45に関する情報を示す。後述するとおり、環境データ63から各統合パラメータP(P1~Pn)の値を算出するのに演算モデルが利用されてよい。統合規則5は、機械学習により構築された学習済み演算モデルを更に備えてよい。学習データ59は、機械学習により学習済み演算モデルを構築するのに利用される。各件の学習環境データ35は、各推論モデルの導出(本実施形態では、各学習済み機械学習モデル45の機械学習)に利用されたローカル学習データ30の得られた環境に関する情報を示す。詳細は後述する。
【0084】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推論装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、ローカル学習装置2)と行うことができる。
【0085】
外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。推論装置1は、外部インタフェース14を介して、対象データ61、環境データ63及びこれらに関連し得るデータの少なくともいずれかを取得するためのセンサに接続されてよい。また、推論装置1は、外部インタフェース14を介して、推論結果に基づいて制御する対象の装置(例えば、後述する介入装置、ロボット装置等)に接続されてよい。
【0086】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置15及び出力装置16を利用することで、推論装置1を操作することができる。
【0087】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
【0088】
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。推論装置1は、この記憶媒体91から、上記推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35の少なくともいずれかを取得してもよい。
【0089】
ここで、
図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【0090】
なお、推論装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。推論装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推論装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0091】
<ローカル学習装置>
次に、
図3を用いて、本実施形態に係る各ローカル学習装置2のハードウェア構成の一例について説明する。
図3は、本実施形態に係る各ローカル学習装置2のハードウェア構成の一例を模式的に例示する。
【0092】
図3に示されるとおり、本実施形態に係る各ローカル学習装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。なお、
図3では、
図2と同様に、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0093】
各ローカル学習装置2の制御部21~ドライブ27はそれぞれ、上記推論装置1の制御部11~ドライブ17それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、学習プログラム821、推論プログラム822、ローカル学習データ30、学習結果データ47、学習環境データ35等の各種情報を記憶する。
【0094】
学習プログラム821は、機械学習モデル40の機械学習に関する後述の情報処理(
図6)をローカル学習装置2に実行させるためのプログラムである。学習プログラム821は、この情報処理の一連の命令を含む。推論プログラム822は、学習済み機械学習モデル45を利用した所定の推論に関する後述の情報処理(
図8)をローカル学習装置2に実行させるためのプログラムである。推論プログラム822は、この情報処理の一連の命令を含む。ローカル学習データ30は、個々の環境で収集され、所定の推論を実行する能力を機械学習モデル40に獲得させるための機械学習に利用される。詳細は後述する。
【0095】
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。各ローカル学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推論装置1)と行うことができる。
【0096】
外部インタフェース24は、例えば、USBポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。各ローカル学習装置2は、外部インタフェース24を介して、ローカル学習データ30、学習環境データ35、後述する対象データ及びこれらに関連し得るデータの少なくともいずれかを取得するためのセンサに接続されてよい。また、各ローカル学習装置2は、外部インタフェース24を介して、推論結果に基づいて制御する対象の装置(例えば、後述する介入装置、ロボット装置等)に接続されてよい。
【0097】
入力装置25は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置26は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置25及び出力装置26を利用することで、各ローカル学習装置2を操作することができる。
【0098】
ドライブ27は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム821、推論プログラム822、及びローカル学習データ30のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、各ローカル学習装置2は、記憶媒体92から、上記学習プログラム821、推論プログラム822、及びローカル学習データ30のうちの少なくともいずれかを取得してもよい。
【0099】
なお、各ローカル学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。各ローカル学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。本実施形態では、各ローカル学習装置2のハードウェア構成は共通している。しかしながら、各ローカル学習装置2のハードウェア構成の関係は、このような例に限定されなくてもよい。一のローカル学習装置2と他のローカル学習装置2との間で、ハードウェア構成は異なっていてもよい。また、各ローカル学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0100】
[ソフトウェア構成]
<推論装置>
次に、
図4を用いて、本実施形態に係る推論装置1のソフトウェア構成の一例について説明する。
図4は、本実施形態に係る推論装置1のソフトウェア構成の一例を模式的に例示する。
【0101】
推論装置1の制御部11は、記憶部12に記憶された推論プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された推論プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図4に示されるとおり、本実施形態に係る推論装置1は、第1データ取得部111、第2データ取得部112、結果取得部113、統合部114、出力部115、学習データ取得部116、学習処理部117、保存処理部118、パラメータ設定部119、及びグルーピング部1110をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0102】
第1データ取得部111は、所定の推論の対象となる所定の対象データ61を取得する。第2データ取得部112は、所定の推論を実行する対象の環境に関する環境データ63を取得する。結果取得部113は、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データ61を与えて、対象データ61に対する所定の推論を各推論モデルに実行させることで、取得された対象データ61に対する各推論モデルの推論結果を取得する。
【0103】
本実施形態では、各推論モデルは、異なる環境下で得られたローカル学習データ30を利用した機械学習により所定の推論を実行する能力を獲得した学習済み機械学習モデル45により構成される。更に、本実施形態では、結果取得部113は、各件の学習結果データ47を保持することで、各学習済み機械学習モデル45を備えている。結果取得部113は、各件の学習結果データ47を参照して、各学習済み機械学習モデル45の設定を行う。そして、結果取得部113は、対象データ61を各学習済み機械学習モデル45に与えて、各学習済み機械学習モデル45に所定の推論を対象データ61に対して実行させることで、取得された対象データ61に対する各学習済み機械学習モデル45の推論結果を取得する。
【0104】
統合部114は、統合規則5に従って、各推論モデルの推論結果を統合する。統合規則5は、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータPにより構成される。本実施形態では、各統合パラメータP(P1~Pn)は、各学習済み機械学習モデル45(45_1~45_n)の推論結果を重視する程度を規定する。統合部114は、統合規則データ57を保持することで、統合規則5に関する情報を有する。統合部114は、統合規則データ57を参照し、統合規則5の設定を行う。統合部114は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
【0105】
具体的には、統合部114は、取得された環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定する。なお、各統合パラメータP(P1~Pn)の値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。次に、統合部114は、決定された各統合パラメータPの値を使用して、対応する各推論モデルの推論結果を重み付けする。そして、統合部114は、各推論モデルの重み付けされた推論結果を統合する。
【0106】
本実施形態では、統合部114は、決定された各統合パラメータP(P1~Pn)の値を使用して、対応する各学習済み機械学習モデル45(45_1~45_n)の推論結果を重み付けする。そして、統合部114は、各学習済み機械学習モデル45(45_1~45_n)の重み付けされた推論結果を統合する。これにより、統合部114は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
【0107】
以上の統合処理により、統合部114は、対象の環境下での対象データ61に対する推論結果を生成する。出力部115は、生成された推論結果に関する情報を出力する。
【0108】
本実施形態では、環境データ63から各統合パラメータP(P1~Pn)の値を決定するのに演算モデルが利用されてよい。学習データ取得部116、学習処理部117、及び保存処理部118は、学習済み演算モデルの生成に関する情報処理を実行する。具体的には、学習データ取得部116は、環境データ63から各統合パラメータP(P1~Pn)の値を算出するための演算モデル51の機械学習に利用する学習データ59を取得する。学習処理部117は、取得された学習データ59を利用して、演算モデル51の機械学習を実行する。機械学習は、算出される各統合パラメータP(P1~Pn)の値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することにより構成される。これにより、学習済み演算モデル52が生成される。保存処理部118は、演算モデル51の機械学習の結果(すなわち、学習済み演算モデル52)に関する情報を生成し、生成した情報を所定の記憶領域に保存する。生成された学習済み演算モデル52に関する情報は統合規則データ57に含まれてよい。
【0109】
この場合、統合部114は、学習済み演算モデル52に環境データ63(及び対象データ61)を与えて、学習済み演算モデル52の演算処理を実行することで、学習済み演算モデル52の出力として各統合パラメータP(P1~Pn)の値を取得してもよい。これにより、統合部114は、環境データ63(及び対象データ61)に応じて、各統合パラメータP(P1~Pn)の値を決定してもよい。
【0110】
また、本実施形態では、複数の統合パラメータP(P1~Pn)の少なくとも一部の値は、ユーザ等のオペレータにより指定されてよい。パラメータ設定部119は、統合パラメータの値の指定に関する情報処理を実行する。具体的には、パラメータ設定部119は、複数の統合パラメータP(P1~Pn)のうちの少なくとも1つの統合パラメータの値の指定を受け付ける。そして、パラメータ設定部119は、少なくとも1つの統合パラメータの値を指定された値に設定する。指定された設定内容に関する情報は、統合規則データ57に含まれてよい。この場合、上記各推論モデル(学習済み機械学習モデル45)の推論結果を重み付けすることは、少なくとも1つの統合パラメータに対応する推論モデル(学習済み機械学習モデル45)の推論結果を重み付けすることを含んでよい。
【0111】
また、本実施形態では、各推論モデル(学習済み機械学習モデル45)は、グループ分けされてもよい。グループは、推論の種類、目的、対象の環境等に応じて適宜設定されてよい。グルーピング部1110は、推論モデル(学習済み機械学習モデル45)のグルーピングに関する情報処理を実行する。具体的には、グルーピング部1110は、各推論モデル(学習済み機械学習モデル45)を複数のグループのうちの少なくともいずれかに割り当てる。これに応じて、結果取得部113は、設定された複数のグループのうち対象の環境で利用するグループを特定し、特定されたグループに属する推論モデル(学習済み機械学習モデル45)について、上記推論結果を取得する処理を実行してもよい。同様に、統合部114は、特定されたグループに属する推論モデル(学習済み機械学習モデル45)の推論結果について、上記統合処理を実行してもよい。各推論モデル(学習済み機械学習モデル45)に対するグループの割り当て結果に関する情報は所定の記憶領域に適宜保存されてよい。
【0112】
<ローカル学習装置>
(A)学習処理
次に、
図5Aを用いて、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例について説明する。
図5Aは、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例を模式的に例示する。
【0113】
各ローカル学習装置2の制御部21は、記憶部22に記憶された学習プログラム821をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム821に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図5Aに示されるとおり、本実施形態に係る各ローカル学習装置2は、学習データ取得部211、環境データ取得部212、学習処理部213、及び保存処理部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習処理に関する各ローカル学習装置2の各ソフトウェアモジュールは、制御部21(CPU)により実現される。
【0114】
学習データ取得部211は、推論モデルの導出に利用するローカル学習データ30を取得する。本実施形態では、学習データ取得部211は、機械学習モデル40の機械学習に利用するローカル学習データ30を取得する。環境データ取得部212は、ローカル学習データ30の得られた環境(以下、「学習環境」とも記載する)に関する学習環境データ35を取得する。学習環境データ35は、環境データ63と同種のデータである。
【0115】
学習処理部213は、取得されたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、所定の推論を実行する能力を獲得した学習済み機械学習モデル45が構築(生成)される。保存処理部214は、構築された学習済み機械学習モデル45に関する情報を学習結果データ47として生成し、生成した学習結果データ47を所定の記憶領域に保存する。
【0116】
本実施形態では、各ローカル学習装置2の間において、ローカル学習データ30の収集が異なる環境下で実行され得る。そして、得られたローカル学習データ30から学習済み機械学習モデル45が生成される。その結果、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の学習済み機械学習モデル45を得ることができる。
【0117】
(B)推論処理
次に、
図5Bを用いて、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例について説明する。
図5Bは、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【0118】
各ローカル学習装置2の制御部21は、記憶部22に記憶された推論プログラム822をRAMに展開する。そして、制御部21は、RAMに展開された推論プログラム822に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図5Bに示されるとおり、本実施形態に係る各ローカル学習装置2は、対象データ取得部216、推論部217、及び出力部218をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論処理に関する各ローカル学習装置2の各ソフトウェアモジュールも、制御部21(CPU)により実現される。
【0119】
対象データ取得部216は、所定の推論の対象となる対象データ225を取得する。対象データ225は、推論装置1で得られる対象データ61と同種のデータである。推論部217は、ローカル学習データ30から導出された推論モデルを含んでいる。推論部217は、推論モデルを利用して、対象データ225に対して所定の推論を実行する。本実施形態では、推論部217は、学習結果データ47を保持することで、学習済み機械学習モデル45を含んでいる。推論部217は、学習結果データ47を参照して、学習済み機械学習モデル45の設定を行う。次に、推論部217は、学習済み機械学習モデル45に対象データ225を与えて、学習済み機械学習モデル45の演算処理を実行する。これにより、推論部217は、学習済み機械学習モデル45の出力として、対象データ225に対して所定の推論を実行した結果を取得する。出力部218は、対象データ225に対する推論結果に関する情報を出力する。
【0120】
<その他>
推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、推論装置1及び各ローカル学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0121】
§3 動作例
[ローカル学習装置]
(A)学習処理
次に、
図6を用いて、推論モデルの生成に関する各ローカル学習装置2の動作例について説明する。
図6は、各ローカル学習装置2による学習済み機械学習モデル45の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0122】
(ステップS101及びステップS102)
ステップS101では、制御部21は、学習データ取得部211として動作し、推論モデルの導出に利用するローカル学習データ30を取得する。本実施形態では、制御部21は、機械学習モデル40の機械学習に利用するローカル学習データ30を取得する。
【0123】
ステップS102では、制御部21は、学習処理部213として動作し、取得されたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、制御部21は、所定の推論を実行する能力を獲得した学習済み機械学習モデル45を生成することができる。
【0124】
機械学習モデル40の構成及び機械学習の方法の構成はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。機械学習モデル40は、例えば、データテーブル、関数式等により表現されてよい。機械学習モデル40が関数式で表現される場合、機械学習モデル40は、例えば、ニューラルネットワーク、線形関数、決定木等により構成されてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習モデル40を構成するニューラルネットワークには、例えば、全結合型ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、これらの組み合わせ等が用いられてよい。以下、機械学習モデル40の構成及び機械学習の方法それぞれの3つの例について説明する。
【0125】
1.第1の例
図7Aは、機械学習モデル40の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、機械学習モデル40にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、
図7Aでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ301、機械学習モデル401、及び学習済み機械学習モデル451と表記する。
【0126】
1-1.機械学習モデルの構成例
第1の例では、機械学習モデル401は、4層構造の全結合型ニューラルネットワークにより構成されている。具体的に、機械学習モデル401は、入力側から順に、入力層4011、中間(隠れ)層(4012、4013)、及び出力層4014を備えている。ただし、機械学習モデル401の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、機械学習モデル401の備える中間層の数は、2つに限定されなくてもよく、1つ以下であってもよいし、3つ以上であってもよい。中間層は、省略されてもよい。また、機械学習モデル401は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。再帰層には、例えば、長・短期記憶(Long short-term memory)等が用いられてよい。
【0127】
各層4011~4014に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。
図7Aの例では、各層4011~4014に含まれるニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層4011~4014に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、機械学習により調整の対象となる演算パラメータの一例である。
【0128】
1-2.ローカル学習データの構成例
この機械学習モデル401の教師あり学習に利用されるローカル学習データ301は、訓練データ311(入力データ)及び正解データ312(教師信号)の組み合わせをそれぞれ含む複数の学習データセット310により構成される。訓練データ311は、所定の推論を実行する対象となるデータであり、対象データ(61、225)と同種のデータである。正解データ312は、訓練データ311に対して所定の推論を実行した結果(正解)を示すデータである。正解データ312は、ラベルと称されてもよい。
【0129】
訓練データ311及び正解データ312の内容は、機械学習モデル401に習得させる推論の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、センサの現在の観測状態に関するデータにより構成されてよく、正解データ312は、その現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。また、例えば、移動体の移動する経路を予測する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、移動体の状態に関するデータにより構成されてよく、正解データ312は、その状態の移動体が実際に又は仮想的に移動した経路を示すデータにより構成されてよい。また、例えば、ユーザに適合する会話戦略を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、ユーザの会話行動に関するデータにより構成されてよく、正解データ312は、そのユーザに適合する会話戦略を示すデータにより構成されてよい。また、例えば、タスクに適合するロボット装置の動作指令を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、ロボット装置の状態に関するデータにより構成されてよく、正解データ312は、そのタスクの遂行に適合する動作指令を示すデータにより構成されてよい。また、例えば、センサにより得られた観測データに表れる特徴を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、センサにより得られた観測データにより構成されてよく、正解データ312は、その観測データに表れる特徴を示すデータにより構成されてよい。
【0130】
1-3.ステップS101について
上記ステップS101では、制御部21は、複数の学習データセット310により構成されるローカル学習データ301を取得する。各学習データセット310を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において対象データ(61、225)と同種のデータを訓練データ311として取得してもよい。具体例として、対象データ(61、225)の取得にセンサを利用する場合、利用するセンサと同種のセンサを用意し、用意したセンサにより、所定の推論を実行する様々な状況を観測することにより、訓練データ311を取得することができる。次に、取得された訓練データ311に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練データ311に対して所定の推論を実行した結果(正解)を当該訓練データ311に関連付ける。これにより、各学習データセット310を生成することができる。
【0131】
各学習データセット310は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット310の生成は、各ローカル学習装置2により行われてもよいし、各ローカル学習装置2以外の他のコンピュータにより行われてもよい。各学習データセット310を各ローカル学習装置2が生成する場合、制御部21は、自動的に又は入力装置25を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の学習データセット310により構成されるローカル学習データ301を取得する。一方、各学習データセット310を他のコンピュータが生成する場合、制御部21は、例えば、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された複数の学習データセット310により構成されるローカル学習データ301を取得する。一部の学習データセット310が各ローカル学習装置2により生成され、その他の学習データセット310が1又は複数の他のコンピュータにより生成されてもよい。取得される学習データセット310の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0132】
1-4.ステップS102について
上記ステップS102では、制御部21は、取得されたローカル学習データ301を利用して、機械学習モデル401の機械学習(教師あり学習)を実行する。第1の例では、制御部21は、機械学習により、各学習データセット310について、訓練データ311を入力層4011に入力すると、正解データ312に適合する出力値を出力層4014から出力するように機械学習モデル401を訓練する。これにより、制御部21は、所定の推論を実行する能力を獲得した学習済み機械学習モデル451を生成する。
【0133】
教師あり学習の具体的な処理手順の一例として、制御部21は、まず、機械学習の処理対象となる機械学習モデル401を用意する。用意する機械学習モデル401の構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、及び各演算パラメータの初期値(例えば、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等)は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の教師あり学習により得られた学習結果データに基づいて、機械学習モデル401を用意してもよい。
【0134】
次に、制御部21は、各学習データセット310に含まれる訓練データ311を入力データとして利用し、正解データ312を教師信号として利用して、機械学習モデル401を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0135】
例えば、第1のステップでは、制御部21は、各学習データセット310について、訓練データ311を機械学習モデル401に入力し、機械学習モデル401の演算処理を実行する。すなわち、制御部21は、入力層4011に訓練データ311を入力し、入力側から順に各層4011~4014に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部21は、訓練中の機械学習モデル401が訓練データ311に対して所定の推論を実行した結果に対応する出力値を出力層4014から取得する。
【0136】
第2のステップでは、制御部21は、出力層4014から取得された出力値と正解データ312との誤差を損失関数に基づいて算出する。損失関数は、機械学習モデル401の出力と正解との差分を評価する関数であり、出力層4014から取得された出力値と正解データ312との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。この誤差の算出に利用される損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0137】
第3のステップでは、制御部21は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、各ニューロン間の結合の重み、各ニューロンの閾値等の機械学習モデル401の各演算パラメータの値の誤差を算出する。第4のステップでは、制御部21は、算出された各誤差に基づいて、機械学習モデル401の各演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0138】
制御部21は、上記第1~第4のステップを繰り返すことで、各学習データセット310について、訓練データ311を入力層4011に入力すると、対応する正解データ312に適合する出力値が出力層4014から出力されるように、機械学習モデル401の各演算パラメータの値を調整する。例えば、制御部21は、各学習データセット310について、出力層4014から得られる出力値と正解データ312との誤差の和が閾値以下になるまで、上記第1~第4のステップを繰り返してもよい。正解データ312の値と出力層4014の出力値とが適合することは、このような閾値による誤差が正解データ312の値と出力層4014の出力値との間に生じることを含んでもよい。閾値は、実施の形態に応じて適宜設定されてよい。或いは、制御部21は、上記第1~第4のステップを所定回数繰り返してもよい。調整を繰り返す回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。
【0139】
これにより、制御部21は、訓練データ311の入力に対して、対応する正解データ312に適合する出力値を出力するように訓練された学習済み機械学習モデル451を生成することができる。例えば、上記センサの最適な観測方法を推定するケースでは、センサの現在の観測状態から適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル451を生成することができる。
【0140】
1-5.その他
なお、機械学習の方法に教師あり学習を採用する場合に、機械学習モデル40の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを機械学習モデル40として採用してもよい。機械学習モデル40は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、機械学習モデル40の構成に応じて適宜選択されてよい。
【0141】
2.第2の例
図7Bは、機械学習モデル40の構成及び機械学習の方法の第2の例を模式的に示す。第2の例では、機械学習モデル40に生成モデル、機械学習方法に教師なし学習を採用する。なお、
図7Bでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ302、機械学習モデル402、及び学習済み機械学習モデル452と表記する。
【0142】
2-1.機械学習モデルの構成例
第2の例では、機械学習モデル402は、ノイズ323から疑似データ325を生成するように構成される。機械学習モデル402は、生成モデルとして利用される。機械学習モデル402の機械学習は、他の機械学習モデル412と共に実行される。他の機械学習モデル412は、与えられた入力データの由来を識別する、すなわち、与えられた入力データがローカル学習データ302に含まれる訓練データ321か機械学習モデル402により生成された疑似データ325かを識別するように構成される。他の機械学習モデル412は、識別モデルとして利用される。
【0143】
第2の例では、機械学習モデル402と他の機械学習モデル412との間で敵対的学習が実施される。機械学習モデル402及び他の機械学習モデル412はそれぞれ、機械学習モデル401と同様に、演算パラメータを備える。それぞれの情報処理が実行可能であれば、機械学習モデル402及び他の機械学習モデル412それぞれの構成は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習モデル402及び他の機械学習モデル412それぞれは、ニューラルネットワークにより構成されてよい。また、機械学習モデル402及び他の機械学習モデル412はそれぞれ、条件を示すデータ(ラベルと称されてよい)の入力を更に受け付けるように構成されてよい。これにより、条件を限定して、データの生成及び識別を行うことができる。
【0144】
2-2.ローカル学習データの構成例
敵対的学習に利用されるローカル学習データ302は、複数件の訓練データ321により構成される。敵対的学習により、機械学習モデル402は、ローカル学習データ302に含まれる訓練データ321に適合(例えば、類似)する疑似データ325を生成する能力を獲得する。そのため、訓練データ321は、敵対的学習で習得させる能力により機械学習モデル402に生成させることを所望するデータにより構成される。
【0145】
例えば、移動体の移動する経路を予測する(すなわち、移動体の予測される移動の経路を生成する)能力を機械学習モデル402に習得させるケースでは、訓練データ321は、移動体が実際に又は仮想的に移動した経路を示すデータにより構成されてよい。また、例えば、ユーザに適合する会話戦略を推定する能力を機械学習モデル402に習得させるケースでは、訓練データ321は、任意のユーザ間で実際に又は仮想的に採用された会話戦略を示すデータにより構成されてよい。機械学習モデル402及び他の機械学習モデル412がそれぞれ条件を示すデータの入力を更に受け付けるように構成されている場合、訓練データ321には、条件を示すデータが関連付けられていてもよい。
【0146】
2-3.ステップS101について
上記ステップ101では、制御部21は、複数件の訓練データ321により構成されるローカル学習データ302を取得する。訓練データ321を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、上記第1の例と同様に、データの生成を所望する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況の表れたデータを訓練データ321として取得することができる。取得された訓練データ321には、その状況を識別するための条件(例えば、カテゴリ)を示すデータが関連付けられてもよい。
【0147】
訓練データ321は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、訓練データ321の生成は、各ローカル学習装置2により行われてもよいし、各ローカル学習装置2以外の他のコンピュータにより行われてもよい。訓練データ321を各ローカル学習装置2が生成する場合、制御部21は、自動的に又は入力装置25を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数件の訓練データ321により構成されるローカル学習データ302を取得する。一方、訓練データ321を他のコンピュータが生成する場合、制御部21は、例えば、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された複数件の訓練データ321により構成されるローカル学習データ302を取得する。一部の訓練データ321が各ローカル学習装置2により生成され、その他の訓練データ321が1又は複数の他のコンピュータにより生成されてもよい。取得される訓練データ321の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0148】
2-4.ステップS102について
上記ステップS102では、制御部21は、取得されたローカル学習データ302を利用して、機械学習モデル402及び他の機械学習モデル412の敵対的学習を実行する。以下、敵対的学習の処理手順の一例について説明する。以下の処理手順では、説明の便宜上、機械学習モデル402及び他の機械学習モデル412それぞれはニューラルネットワークにより構成されていると想定する。ただし、機械学習モデル402及び他の機械学習モデル412の構成は、このような例に限定されなくてもよい。機械学習モデル402及び他の機械学習モデル412の少なくとも一方は、ニューラルネットワーク以外のモデルにより構成されてよい。
【0149】
・前処理
前処理として、制御部21は、処理対象となる機械学習モデル402及び他の機械学習モデル412を用意する。用意する機械学習モデル402及び他の機械学習モデル412それぞれの構造、及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の教師あり学習により得られた学習結果データに基づいて、機械学習モデル402及び他の機械学習モデル412を用意してもよい。
【0150】
・識別モデルの機械学習
まず、制御部21は、機械学習モデル402の演算パラメータを固定した上で、他の機械学習モデル412の機械学習を実行する。すなわち、制御部21は、所定の確率分布(例えば、ガウス分布)から複数のノイズ323を抽出する。続いて、制御部21は、抽出された各ノイズ323を機械学習モデル402に与えて、機械学習モデル402の演算処理を実行する。換言すると、制御部21は、機械学習モデル402の入力層に各ノイズを入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、機械学習モデル402の出力層からの出力として、ノイズ323から生成された疑似データ325を取得する。生成する疑似データ325の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0151】
そして、制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び生成された複数件の疑似データ325を利用して、他の機械学習モデル412の学習処理を実行する。この学習処理では、与えられた入力データの由来を識別する、換言すると、与えられた入力データが訓練データ321であるか疑似データ325であるかを識別する能力を獲得するように他の機械学習モデル412を訓練する。この学習処理には、例えば、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0152】
具体的には、制御部21は、機械学習モデル402により生成された疑似データ325を他の機械学習モデル412に入力し、他の機械学習モデル412の演算処理を実行する。すなわち、制御部21は、他の機械学習モデル412の入力層に疑似データ325を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた疑似データ325の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
【0153】
この場面では、入力データは疑似データ325であるため、他の機械学習モデル412は、「疑似」であると識別するのが正解である。制御部21は、機械学習モデル402により生成された各件の疑似データ325について、出力層から得られる出力値とこの正解との誤差を算出する。上記第1の例と同様に、誤差の算出には、損失関数が用いられてよい。
【0154】
また、制御部21は、ローカル学習データ302に含まれる訓練データ321を他の機械学習モデル412に入力し、他の機械学習モデル412の演算処理を実行する。すなわち、制御部21は、他の機械学習モデル412の入力層に訓練データ321を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた訓練データ321の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
【0155】
この場面では、入力データは訓練データ321であるため、他の機械学習モデル412は、「真」であると識別するのが正解である。制御部21は、ローカル学習データ302に含まれる各件の訓練データ321について、出力層から得られる出力値とこの正解との誤差を算出する。上記と同様に、誤差の算出には、損失関数が用いられてよい。
【0156】
制御部21は、上記第1の例と同様に、誤差逆伝播法により、算出した出力値の誤差の勾配を用いて、他の機械学習モデル412の演算パラメータの値の誤差を算出する。制御部21は、算出された誤差に基づいて、他の機械学習モデル412の演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0157】
制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び機械学習モデル402により生成された複数件の疑似データ325それぞれからサンプルを抽出し、抽出されたサンプルを使用して、上記の一連の学習処理を実行する。これにより、制御部21は、他の機械学習モデル412の演算パラメータの値を調整する。この調整を繰り返す回数は適宜設定されてよい。
【0158】
例えば、制御部21は、上記第1の例と同様に、算出される出力値の誤差の和が閾値以下になるまで、一連の学習処理を繰り返し実行してもよい。或いは、制御部21は、上記の一連の学習処理による演算パラメータの値の調整を所定回数繰り返してもよい。この場合、調整を繰り返す回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。
【0159】
これにより、制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び機械学習モデル402により生成された複数件の疑似データ325について、与えられた入力データの由来を識別する能力を獲得した他の機械学習モデル412を構築することができる。
【0160】
・生成モデルの機械学習
次に、制御部21は、他の機械学習モデル412の演算パラメータの値を固定した上で、機械学習モデル402の機械学習を実行する。すなわち、制御部21は、上記訓練済みの他の機械学習モデル412を利用して、機械学習モデル402の学習処理を実行する。この学習処理では、制御部21は、他の機械学習モデル412の識別性能を低下させるようなデータ(疑似データ325)を生成するように機械学習モデル402を訓練する。つまり、制御部21は、他の機械学習モデル412が「真」である(すなわち、ローカル学習データ302由来である)と誤った識別をするようなデータを生成するように機械学習モデル402を訓練する。
【0161】
具体的には、まず、上記と同様に、制御部21は、所定の確率分布から複数のノイズ323を抽出する。続いて、制御部21は、抽出された各ノイズ323を機械学習モデル402に与えて、機械学習モデル402の演算処理を実行する。換言すると、制御部21は、機械学習モデル402の入力層に各ノイズを入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、機械学習モデル402の出力層からの出力として、ノイズ323から生成された疑似データ325を取得する。生成する疑似データ325の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。なお、機械学習モデル402の学習処理でも、他の機械学習モデル412の機械学習の際に生成した疑似データ325が利用されてよい。この場合、機械学習モデル402の学習処理において、疑似データ325を生成する一連の処理は省略されてよい。
【0162】
次に、制御部21は、生成された各疑似データ325を他の機械学習モデル412に与えて、他の機械学習モデル412の演算処理を実行する。換言すると、制御部21は、他の機械学習モデル412の入力層に各疑似データ325を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた疑似データ325の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
【0163】
この場面では、他の機械学習モデル412が入力データは「真」であると誤った識別をすることが正解である。制御部21は、機械学習モデル402により生成された各件の疑似データ325について、他の機械学習モデル412の出力層から得られる出力値とこの正解との誤差を算出する。これにより、制御部21は、他の機械学習モデル412の識別性能を低下させるように当該出力値の誤差を算出する。上記と同様に、誤差の算出には、損失関数が用いられてよい。
【0164】
制御部21は、誤差逆伝播法により、算出した出力値の誤差の勾配を、他の機械学習モデル412を介して機械学習モデル402の演算パラメータに逆伝播して、機械学習モデル402の演算パラメータの値の誤差を算出する。制御部21は、算出された誤差に基づいて、機械学習モデル402の演算パラメータの値の更新を行う。上記と同様に、演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0165】
制御部21は、上記一連の学習処理を繰り返し実行することで、機械学習モデル402の演算パラメータの値を調整する。この調整を繰り返す回数は適宜設定されてよい。上記と同様に、制御部21は、算出される出力値の誤差の和が閾値以下になるまで、上記一連の学習処理を繰り返し実行してもよいし、或いは上記一連の学習処理による演算パラメータの値の調整を所定回数繰り返してもよい。これにより、制御部21は、上記訓練済みの他の機械学習モデル412の識別性能を低下させるようなデータを生成するように機械学習モデル402を訓練することができる。
【0166】
・各学習処理の繰り返し実行
制御部21は、上記他の機械学習モデル412の学習処理及び機械学習モデル402の学習処理を交互に繰り返し実行する。交互に繰り返し実行する回数は適宜設定されてよい。交互に繰り返し実行する回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。なお、条件を示すデータが訓練データ321に関連付けられている場合、上記各学習処理において、機械学習モデル402及び他の機械学習モデル412それぞれに、条件を示すデータが更に入力されてよい。
【0167】
これにより、他の機械学習モデル412及び機械学習モデル402の精度を交互に高めていくことができる。その結果、機械学習モデル402は、ローカル学習データ302に含まれる訓練データ321に適合する疑似データ325を生成する能力を獲得する。換言すると、制御部21は、ローカル学習データ302に含まれる訓練データ321に適合する疑似データ325を生成する能力を獲得した学習済み機械学習モデル452を生成することができる。例えば、移動体の移動する経路を予測するケースでは、移動体の予測される移動の経路を示すデータを生成する能力を獲得した学習済み機械学習モデル452を生成することができる。
【0168】
2-5.その他
なお、機械学習の方法に教師なし学習を採用する場合に、機械学習モデル40の構成は、上記生成モデルに限られなくてもよく、生成モデル以外のモデルを機械学習モデル40として採用してもよい。機械学習の方法には、クラスタリング等が採用されてよい。また、機械学習モデル40は、1クラスサポートベクタマシン、自己組織化マップ、その他識別モデル等により構成されてよい。
【0169】
3.第3の例
図7Cは、機械学習モデル40の構成及び機械学習の方法の第3の例を模式的に示す。第3の例では、機械学習方法に強化学習を採用する。なお、
図7Cでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ303、機械学習モデル403、及び学習済み機械学習モデル453と表記する。
【0170】
3-1.機械学習モデルの構成例
第3の例では、機械学習モデル403には、価値ベース、方策ベース、又はその両方が採用されてよい。価値ベースを採用する場合、機械学習モデル403は、例えば、状態価値関数、行動価値関数(Q関数)等の価値関数により構成されてよい。状態価値関数は、与えられた状態の価値を出力するように構成される。行動価値関数は、与えられた状態に対して各行動の価値を出力するように構成される。方策ベースを採用する場合、機械学習モデル403は、例えば、方策関数により構成されてよい。方策関数は、与えられた状態に対して各行動を選択する確率を出力するように構成される。両方を採用する場合、機械学習モデル403は、例えば、価値関数(Critic)及び方策関数(Actor)により構成されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
【0171】
3-2.ローカル学習データの構成例
強化学習では、基本的に、方策に従って行動することで、学習の環境と相互作用するエージェントが仮定される。エージェントの実体は、例えば、CPUである。機械学習モデル403は、上記の構成により、行動を決定する方策として動作する。エージェントは、与えられた学習の環境内で、強化する行動に関する状態を観測する。
【0172】
観測対象となる状態及び実行される行動は、機械学習モデル403に習得させる推論の内容に応じて適宜設定されてよい。例えば、センサの最適な観測方法を推定するケースでは、観測対象となる状態は、センサの観測状態であってよく、実行される行動は、センサの観測状態の変更であってよい。また、例えば、移動体の移動する経路を予測するケースでは、観測対象となる状態は、移動体の移動する経路に関するものであってよく、実行される行動は、移動体の移動であってよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、観測対象となる状態は、ユーザの会話行動に関するものであってよく、実行される行動は、ユーザとの会話であってよい。また、例えば、タスクに適合するロボット装置の動作指令を推定するケースでは、観測対象となる状態は、ロボット装置の内部及び外部の少なくとも一方の状況に関するものであってよく、実行される行動は、動作指令に基づく動作であってよい。学習の環境は、手動的に又は自動的に適宜作成されてよい。
【0173】
エージェントは、機械学習モデル403により、観測された現在の状態(入力データ)に対して所定の推論を実行し、得られた推論の結果に基づいて採用する行動を決定する。或いは、採用する行動は、ランダムに決定されてもよい。決定された行動を実行すると、観測される状態は次の状態に遷移する。場合によって、エージェントは、学習の環境から即時報酬を得ることができる。
【0174】
この行動の決定及び実行の試行錯誤を繰り返しながら、エージェントは、即時報酬の総和(すなわち、価値)を最大化するように、機械学習モデル403を更新する。これにより、最適な行動、すなわち、高い価値の取得を期待可能な行動が強化され、そのような行動の選択を可能にする方策(学習済み機械学習モデル453)を得ることができる。
【0175】
したがって、強化学習では、ローカル学習データ303は、この試行錯誤により得られる状態遷移データであって、実行された行動により現在の状態から次の状態に遷移し、場合によって即時報酬が得られるという状態遷移を示す状態遷移データにより構成される。1件の状態遷移データは、1エピソード全ての状態遷移の軌跡を示すデータにより構成されてもよいし、或いは、所定回数(1回以上)分の状態遷移を示すデータにより構成されてもよい。
【0176】
また、状態遷移に応じて即時報酬を算出するのには報酬関数が用いられてよい。報酬関数は、データテーブル、関数式、又はルールにより表現されてよい。関数式により表現する場合、報酬関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。報酬関数は、機械学習モデル403に習得させる推論の内容に応じて、オペレータ等により、手動的に設定されてもよい。
【0177】
或いは、報酬関数は、機械学習モデル403の推論結果(すなわち、決定された行動)の適正度に応じて即時報酬を与えるように設定されてよい。推論結果の適正度は、5段階、10段階等のように所定数のグレードで表現されてもよい。或いは、推論結果の適正度は、連続値により表現されてもよい。また、推論結果の適正度は、オペレータ等により手動的に与えられてもよい。若しくは、推論結果の適正度は、判定器48を用いて所定の基準に従って評価されてよい。所定の基準は、推論の内容に応じて適宜設定されてよい。判定器48は、所定の基準に従って推論結果の適正度を評価するように適宜構成されてよい。
【0178】
具体例として、製品の画像検査を実施するケースで、強化学習により、製品の欠陥の検出に最適なカメラの観測方法を推定する能力を機械学習モデル403に習得させる場面を想定する。このカメラの最適な観測方法を推定する場面は、センサの最適な観測方法を推定する場面の一例である。強化学習の環境として、それぞれ異なる欠陥を含む複数の製品を用意し、用意された各製品をカメラにより撮影する環境が作成されてよい。
【0179】
この場合に、所定の基準は、カメラにより得られた画像データから製品の欠陥を検出可能か否かに関するものであってよい。これに応じて、判定器48は、画像データから製品の欠陥を検出するように構成された検出器により構成されてよい。検出器は、エッジ検出等の画像処理により欠陥を検出するように構成されてもよいし、ニューラルネットワーク等の学習済み機械学習モデルにより構成されてもよい。
【0180】
このとき、報酬関数は、検出器による欠陥の検出精度に応じて即時報酬を算出するように設定されてよい。一例として、カメラにより得られた画像データに対する検出器による欠陥の検出が複数回試行されてもよい。報酬関数は、この複数回の欠陥検出の試行の結果に基づいて、欠陥検出の成功確率が閾値以上であればプラスの即時報酬を与え、欠陥検出不能であればマイナスの即時報酬(罰)を与えるように設定されてよい。なお、試行回数及びプラスの即時報酬を与える基準となる閾値はそれぞれ、プログラム内の設定値により与えられてもよいし、オペレータ等により手動的に与えられてもよい。
【0181】
その他のケースでも同様に、推論結果の適正度に応じて報酬が設定されてよい。例えば、移動体の移動する経路を予測するケースでは、移動体の移動する経路の予測が複数回試行されてもよい。報酬関数は、その複数回の予測の試行結果に基づいて、予測の精度が閾値以上であればプラスの即時報酬を与え、予測精度が許容値以下であればマイナスの即時報酬(罰)を与えるように設定されてよい。同様に、ユーザに適合する会話戦略を推定するケースでは、ユーザに適合する会話戦略の推定が複数回試行されてよい。報酬関数は、その複数回の推定の試行結果に基づいて、推定の精度が閾値以上であればプラスの即時報酬を与え、推定精度が許容値以下であればマイナスの即時報酬(罰)を与えるように設定されてもよい。タスクに適合するロボット装置の動作指令を推定するケースでも同様に報酬関数が設定されてよい。なお、適正度を評価する方法は、上記推論結果の精度に基づく方法に限られなくてもよい。例えば、センサの最適な観測方法を推定する場面では、同一の対象を観測するのにセンサの計測にかかる時間が短い方が好ましいと想定される。これに応じて、報酬関数は、センサの計測にかかる時間が長いほどマイナスの即時報酬を与え、センサの計測にかかる時間が短いほどプラスの即時報酬を与えるように設定されてもよい。このように、報酬関数は、所望の結果が得られるほど高い即時報酬を与え、そうではないほど低い即時報酬又はマイナスの即時報酬を与えるように設定されてよい。
【0182】
或いは、報酬関数は、エキスパートにより得られた事例データから逆強化学習により推定されてよい。事例データは、エキスパートによる実演(の軌跡)を示すデータにより構成される。センサの最適な観測方法を推定する場面では、事例データは、例えば、熟練者の操作により得られたセンサの変更方法を示すデータにより構成されてよい。移動体の移動する経路を予測する場面では、事例データは、例えば、移動体が実際に移動した経路を示すデータにより構成されてよい。ユーザに適合する会話戦略を推定する場面では、事例データは、例えば、熟練者により指定された会話戦略を示すデータにより構成されてよい。タスクに適合するロボット装置の動作指令を推定する場面では、熟練者によるロボット装置の操作軌跡を示すデータにより構成されてよい。事例データを生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。事例データは、例えば、エキスパートによる実演の軌跡をセンサ等により記録することにより生成されてよい。
【0183】
逆強化学習の方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。逆強化学習には、例えば、最大エントロピー原理による方法、相対エントロピーの最小化による方法、敵対的生成ネットワークを利用した方法(例えば、Justin Fu, et al., "Learning Robust Rewards with Adversarial Inverse Reinforcement Learning", arXiv:1710.11248, 2018)等が用いられてよい。逆強化学習により報酬関数を得る場合、ローカル学習データ303は、逆強化学習に利用する事例データを更に備えてよい。
【0184】
3-3.ステップS101及びステップS102について
上記ステップS101では、制御部21は、訓練中の学習済み機械学習モデル403を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS101では、制御部21は、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
【0185】
上記ステップS102では、制御部21は、得られた状態遷移データに基づいて、価値を最大化するように機械学習モデル403の演算パラメータの値を更新する。機械学習モデル403の演算パラメータの値を調整する方法は、機械学習モデル403の構成に応じて適宜選択されてよい。例えば、機械学習モデル403がニューラルネットワークにより構成される場合、機械学習モデル403の演算パラメータの値は、誤差逆伝播法等により、上記第1の例及び第2の例と同様の方法で調整されてよい。
【0186】
制御部21は、ステップS101及びステップS102の処理を繰り返し、得られる価値(の期待値)が最大化されるように(例えば、更新量が閾値以下になるまで)、機械学習モデル403の演算パラメータの値を調整する。すなわち、機械学習モデル403を訓練することは、所定の条件を満たすまで報酬が多く得られるように機械学習モデル403を構成する演算パラメータの値の修正を繰り返すことを含む。これにより、制御部21は、所定の推論を実行する(第3の例では、高い価値の取得を期待可能な行動を決定する)能力を獲得した学習済み機械学習モデル453を生成することができる。例えば、上記センサの最適な観測方法を推定するケースでは、センサの現在の観測状態から適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル453を生成することができる。
【0187】
機械学習モデル403が価値ベースで構成される場合、上記強化学習の方法には、TD(temporal difference)法、TD(λ)法、モンテカルロ法、動的計画法、等が用いられてよい。試行錯誤における行動の決定は、オンポリシであってもよいし、オフポリシであってもよい。具体例として、強化学習の方法には、Q学習、Sarsa等が用いられてよい。試行錯誤の際には、確率εでランダムな行動を採用してもよい(ε-グリーディ法)。
【0188】
また、機械学習モデル403が方策ベースで構成される場合、上記強化学習の方法には、方策勾配法等が用いられてよい。この場合、制御部21は、得られる価値が増加する方向に方策関数の演算パラメータの勾配を算出し、算出された勾配に基づいて、方策関数の演算パラメータの値を更新する。方策関数の勾配の算出には、例えば、REINFORCEアルゴリズム等が用いられてよい。
【0189】
また、機械学習モデル403が両方で構成される場合、上記強化学習の方法には、Actor Critic法等が用いられてよい。
【0190】
更に、逆強化学習を実施する場合には、上記強化学習の処理を実行する前に、制御部21は、上記ステップS101において、事例データを更に取得する。事例データは、各ローカル学習装置2により生成されてもよいし、他のコンピュータにより生成されてもよい。他のコンピュータにより生成される場合、制御部21は、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された事例データを取得してもよい。次に、制御部21は、取得された事例データを利用して、逆強化学習を実行することで、報酬関数を設定する。そして、制御部21は、逆強化学習により設定された報酬関数を利用して、上記強化学習の処理を実行する。これにより、制御部21は、逆強化学習により設定された報酬関数を利用して、所定の推論を実行する能力を獲得した学習済み機械学習モデル453を生成することができる。
【0191】
4.小括
本実施形態では、機械学習モデル40の構成には、上記3つの構成の少なくともいずれかが採用されてよい。制御部21は、上記3つの機械学習の方法の少なくともいずれかを採用することで、所定の推論を実行する能力を獲得した(所定の推論を実行可能に訓練された)学習済み機械学習モデル45を生成することができる。学習済み機械学習モデル45を生成すると、制御部21は、次のステップS103に処理を進める。
【0192】
(ステップS103)
ステップS103では、制御部21は、環境データ取得部212として動作し、ローカル学習データ30の得られた環境に関する学習環境データ35を取得する。ローカル学習データ30の得られた環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。学習環境データ35は、推論装置1で得られる環境データ63と同種のデータである。
【0193】
学習環境データ35の内容は、特に限定されなくてもよく、推論装置1の統合処理に考慮する環境の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定するケースでは、学習環境データ35には、センサによる観測に影響を及ぼす環境属性(例えば、明るさ、温度等)に関する情報が含まれてよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、学習環境データ35には、ユーザの属性(例えば、年齢、性別、職業、出身地、性格タイプ等)に関する情報が含まれてよい。
【0194】
また、学習環境データ35を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習環境データ35は、入力装置25を介して、ユーザ等のオペレータの入力により取得されてもよい。また、例えば、学習環境データ35の取得には、センサが利用されてもよい。
【0195】
学習環境データ35の取得にセンサを利用する場合、学習環境データ35は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理(例えば、特徴抽出)を実行することで得られたデータであってもよい。観測データに対して情報処理を実行する場面の一例として、ユーザに適合する会話戦略を推定するケースにおいて、学習環境データ35としてユーザの性別に関する情報を取得する場面を想定する。この場合に、制御部21は、学習環境データ35を取得するためのセンサとしてカメラを利用し、ユーザの顔の写る画像データを取得してもよい。そして、制御部21は、得られた画像データに対して、顔から性別を推定する画像処理を実行してもよい。制御部21は、この推定処理の結果に基づいて、ユーザの性別に関する情報を取得してもよい。
【0196】
また、学習環境データ35を取得する経路も、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御部21は、外部インタフェース24、入力装置25等を介して、学習環境データ35を直接的に取得してもよい。或いは、制御部21は、ネットワーク、記憶媒体92等を介して、学習環境データ35を間接的に取得してもよい。
【0197】
学習環境データ35を取得すると、制御部21は、次のステップS104に処理を進める。なお、ステップS103の処理を実行するタイミングは、このような例に限定されなくてもよい。ステップS103の処理は、次のステップS104の処理を実行する前の任意のタイミングに実行されてよい。
【0198】
(ステップS104)
制御部21は、保存処理部214として動作し、生成された学習済み機械学習モデル45に関する情報を学習結果データ47として生成する。
図7A~
図7Cの例では、制御部21は、生成された学習済み機械学習モデル451~453に関する情報を学習結果データ47として生成する。学習済み機械学習モデル45に関する情報には、例えば、学習済み機械学習モデル45の構造を示す情報、及び機械学習により調整された演算パラメータの値を示す情報が含まれてよい。そして、制御部21は、生成された学習結果データ47を学習環境データ35に関連付けて所定の記憶領域に保存する。
【0199】
所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部21は、ドライブ27を介して記憶メディアに学習結果データ47を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部21は、通信インタフェース23を利用して、ネットワークを介してデータサーバに学習結果データ47を格納してもよい。また、外部記憶装置は、例えば、各ローカル学習装置2に接続される外付けの記憶装置であってもよい。
【0200】
これにより、学習結果データ47の保存が完了すると、制御部21は、学習済み機械学習モデル45の生成に関する一連の情報処理を終了する。
【0201】
なお、学習結果データ47及び学習環境データ35は、任意のタイミングで推論装置1に提供されてよい。例えば、制御部21は、ステップS104の処理として又はステップS104の処理とは別に、学習結果データ47及び学習環境データ35を推論装置1に転送してもよい。推論装置1の制御部11は、この転送を受信することで、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、制御部11は、通信インタフェース13を利用して、各ローカル学習装置2又はデータサーバにネットワークを介してアクセスすることで、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、制御部11は、記憶媒体91を介して、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、学習結果データ47及び学習環境データ35は、推論装置1に予め組み込まれてもよい。
【0202】
更に、制御部21は、上記ステップS101~ステップS104の処理を定期的に繰り返すことで、学習結果データ47及び学習環境データ35を定期的に更新又は新たに生成してもよい。この繰り返す際には、ローカル学習データ30に含まれるデータの変更、修正、追加、削除等が適宜実行されてよい。そして、制御部21は、更新した又は新たに生成した学習結果データ47及び学習環境データ35を学習処理の実行毎に推論装置1に提供することで、推論装置1の保持する学習結果データ47及び学習環境データ35を定期的に更新してもよい。
【0203】
(B)推論処理
次に、
図8を用いて、各ローカル学習装置2の所定の推論に関する動作例について説明する。
図8は、各ローカル学習装置2の所定の推論に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0204】
(ステップS111)
ステップS111では、制御部21は、対象データ取得部216として動作し、所定の推論の対象となる対象データ225を取得する。対象データ225は、推論装置1で得られる対象データ61と同種のデータである。
【0205】
対象データ225の内容は、特に限定されなくてもよく、所定の推論の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定するケースでは、対象データ225には、センサの現在の観測状態に関する情報として、センサの設置状況に関する属性(例えば、センサの設置角度、センサと観測対象との間の距離等)を示す情報が含まれてよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、対象データ225には、入力デバイス(例えば、キーボード、タッチパネル)、カメラ、マイクロフォン等により得られるユーザの会話行動に関するデータが含まれてよい。学習済み機械学習モデル45が生成モデルにより構成される場合、対象データ225には、所定の確率分布から抽出されたノイズが含まれてよい。
【0206】
また、対象データ225を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象データ225は、入力装置25を介して、ユーザ等のオペレータの入力により取得されてもよい。また、例えば、対象データ225の取得には、センサが利用されてもよい。
【0207】
対象データ225の取得にセンサを利用する場合、対象データ225は、学習環境データ35と同様に、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。観測データに対して情報処理を実行する場面の一例として、ユーザに適合する会話戦略を推定するケースにおいて、対象データ225としてユーザの発話内容の文字列を取得する場面を想定する。この場合に、制御部21は、対象データ225を取得するためのセンサとしてマイクロフォンを利用し、ユーザの発話音声を含む音データを取得してもよい。そして、制御部21は、得られた音データに対して音声解析を実行してもよい。制御部21は、この音声解析処理の結果に基づいて、ユーザの発話内容の文字列を取得してもよい。
【0208】
更に、学習環境データ35及び対象データ225それぞれの取得にセンサを利用する場合に、学習環境データ35及び対象データ225は、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。同一の観測データに由来する場面の一例として、上記ユーザに適合する会話戦略を推定するケースにおいて、ビデオカメラを利用する場面を想定する。この場合に、制御部21は、ビデオカメラにより得られた画像データからユーザの性別を推定することで、推定されたユーザの性別に関する情報を学習環境データ35として取得してもよい。また、制御部21は、ビデオカメラにより得られた音データからユーザの発話内容の文字列を解析することで、得られたユーザの発話内容の文字列を対象データ225として取得してもよい。
【0209】
また、対象データ225を取得する経路も、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御部21は、外部インタフェース24、入力装置25等を介して、対象データ225を直接的に取得してもよい。或いは、制御部21は、ネットワーク、記憶媒体92等を介して、対象データ225を間接的に取得してもよい。
【0210】
対象データ225を取得すると、制御部21は、次のステップS112に処理を進める。
【0211】
(ステップS112)
ステップS112では、制御部21は、推論部217として動作し、ローカル学習データ30から導出された推論モデルを利用して、取得された対象データ225に対して所定の推論を実行する。本実施形態では、制御部21は、学習結果データ47を保持することで、学習済み機械学習モデル45を推論モデルとして備えている。制御部21は、学習結果データ47を参照して、学習済み機械学習モデル45の設定を行う。次に、制御部21は、学習済み機械学習モデル45に対象データ225を与えて、学習済み機械学習モデル45の演算処理を実行する。
【0212】
演算処理は、学習済み機械学習モデル45の構成に応じて適宜実行されてよい。学習済み機械学習モデル45が関数式により構成される場合、制御部21は、対象データ225を関数式に代入し、当該関数式の演算処理を実行する。学習済み機械学習モデル45がニューラルネットワークにより構成される場合、制御部21は、対象データ225を入力層に入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。学習済み機械学習モデル45がデータテーブルにより構成される場合、制御部21は、対象データ225をデータテーブルに照合する。
【0213】
これにより、制御部21は、学習済み機械学習モデル45の出力(すなわち、演算処理の実行結果)として、対象データ225に対して所定の推論を実行した結果を取得する。得られる推論結果は、学習済み機械学習モデル45に習得させた能力に依存する。例えば、センサの最適な観測方法を推定する能力を学習済み機械学習モデル45に習得させたケースでは、制御部21は、推定処理の結果として、センサの現在の観測状態から推定された、センサの適正な観測状態への変更方法に関する情報を取得することができる。推論結果を取得すると、制御部21は、次のステップS113に処理を進める。
【0214】
(ステップS113)
ステップS113では、制御部21は、出力部218として動作し、対象データ225に対する推論結果に関する情報を出力する。
【0215】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS112により対象データ225に対して所定の推論を実行した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、所定の推論を実行した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて特定のメッセージを出力すること、推論結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
【0216】
推論結果に関する情報の出力が完了すると、制御部21は、所定の推論に関する一連の情報処理を終了する。なお、所定の期間の間、制御部21は、ステップS111~ステップS113の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、各ローカル学習装置2は、所定の推論を継続的に実施してもよい。
【0217】
[推論装置]
次に、
図9Aを用いて、推論装置1の所定の推論に関する動作例について説明する。
図9Aは、推論装置1の所定の推論に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「推論方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0218】
(ステップS201及びステップS202)
ステップS201では、制御部11は、第1データ取得部111として動作し、所定の推論の対象となる所定の対象データ61を取得する。処理環境が異なる点を除き、ステップS201の対象データ61を取得する処理は、上記ステップS111の対象データ225を取得する処理と同様であってよい。
【0219】
すなわち、対象データ61の内容は、所定の推論の内容に応じて適宜選択されてよい。対象データ61を取得する方法及び経路はそれぞれ、実施の形態に応じて適宜選択されてよい。対象データ61は、入力装置15を介したオペレータの入力により取得されてもよい。対象データ61の取得には、対象データ225の取得に利用されるセンサと同種のセンサが利用されてもよい。対象データ61の取得にセンサを利用する場合、対象データ61は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。制御部11は、外部インタフェース14、入力装置15等を介して、対象データ61を直接的に取得してもよいし、或いは、ネットワーク、記憶媒体91等を介して、対象データ61を間接的に取得してもよい。
【0220】
ステップS202では、制御部11は、第2データ取得部112として動作し、所定の推論を実行する対象の環境に関する環境データ63を取得する。処理環境が異なる点を除き、ステップS202の環境データ63を取得する処理は、上記ステップS103の学習環境データ35を取得する処理と同様であってよい。
【0221】
すなわち、環境データ63の内容は、統合処理に考慮する環境の内容に応じて適宜選択されてよい。環境データ63を取得する方法及び経路はそれぞれ、実施の形態に応じて適宜選択されてよい。環境データ63は、入力装置15を介したオペレータの入力により取得されてもよい。環境データ63の取得には、学習環境データ35の取得に利用されるセンサと同種のセンサが利用されてもよい。環境データ63の取得にセンサを利用する場合、環境データ63は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。対象データ61及び環境データ63の取得にセンサを利用する場合に、対象データ61及び環境データ63は、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。制御部11は、外部インタフェース14、入力装置15等を介して、環境データ63を直接的に取得してもよいし、或いは、ネットワーク、記憶媒体91等を介して、環境データ63を間接的に取得してもよい。
【0222】
なお、環境データ63は、対象データ61の取得される対象の環境に関して取得されるのに対して、学習環境データ35は、ローカル学習データ30の得られた環境に関して取得される。ローカル学習データ30には、対象データ61と同種のデータ(例えば、上記訓練データ311)が蓄積されている。そのため、学習環境データ35は、環境データ63と比べて、例えば、時間、場所、対象物、ユーザ等の環境の属性に関して広がりを有してもよい。これに応じて、環境データ63のデータ形式と学習環境データ35のデータ形式とは、それぞれの環境を比較可能な態様で異なっていてもよい。
【0223】
以上により、制御部11は、対象データ61及び環境データ63を取得する。なお、ステップS201及びステップS202の処理順序は任意であってよい。ステップS201及びステップS202のいずれかが先に実行されてもよいし、ステップS201及びステップS202の処理は並列に実行されてもよい。対象データ61及び環境データ63を取得すると、制御部11は、次のステップS203に処理を進める。
【0224】
(ステップS203)
ステップS203では、制御部11は、結果取得部113として動作し、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データ61を与えて、対象データ61に対する所定の推論を各推論モデルに実行させる。これにより、制御部11は、取得された対象データ61に対する各推論モデルの推論結果を取得する。
【0225】
本実施形態では、各推論モデルは、上記各ローカル学習装置2により生成された各学習済み機械学習モデル45により構成される。また、本実施形態では、推論装置1は、各ローカル学習装置2により生成された各件の学習結果データ47を保持することで、各学習済み機械学習モデル45を備えている。そこで、制御部11は、各件の学習結果データ47を参照することで、各学習済み機械学習モデル45の設定を行う。次に、制御部11は、各学習済み機械学習モデル45に対象データ61を与えて、各学習済み機械学習モデル45の演算処理を実行する。各学習済み機械学習モデル45の演算処理は、上記ステップS112における学習済み機械学習モデル45の演算処理と同様であってよい。これにより、制御部11は、各学習済み機械学習モデル45の出力として、対象データ61に対する各学習済み機械学習モデル45の推論結果を取得することができる。なお、推論処理に使用する学習済み機械学習モデル45は、オペレータの指定等により適宜選択されてよい。対象データ61に対する各学習済み機械学習モデル45の推論結果を取得すると、制御部11は、次のステップS204に処理を進める。
【0226】
(ステップS204)
ステップS204では、制御部11は、統合部114として動作し、統合規則5に従って、ステップS203で得られた各推論モデルの推論結果を統合する。本実施形態では、制御部11は、統合規則5に従って、各学習済み機械学習モデル45の推論結果を統合する。これにより、制御部11は、対象の環境下での対象データ61に対する推論結果を生成する。
【0227】
本実施形態では、制御部11は、統合規則データ57を保持することで、統合規則5に関する情報を有している。統合規則5は、対象の環境下において、各学習済み機械学習モデル45の推論結果を重視する程度をそれぞれ規定する複数の統合パラメータPを備えている。制御部11は、統合規則データ57を参照することで、統合規則5の設定を行う。そして、制御部11は、以下の処理により、統合規則5に従って、各学習済み機械学習モデル45の推論結果を統合する。
【0228】
図9Bは、ステップS204の統合処理に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS204の処理は、以下のステップS211~ステップS213の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0229】
ステップS211では、制御部11は、取得された環境データ63に応じて、各統合パラメータPの値を決定する。各統合パラメータPの値を決定する方法の詳細は後述する。なお、各統合パラメータPの値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。すなわち、制御部11は、対象データ61及び環境データ63に応じて、各統合パラメータPの値を決定してもよい。
【0230】
ステップS212では、制御部11は、決定された各統合パラメータPの値を使用して、対応する各推論モデルの推論結果を重み付けする。ステップS213では、制御部11は、各推論モデルの重み付けされた推論結果を統合する。本実施形態では、制御部11は、決定された各統合パラメータPの値を使用して、対応する各学習済み機械学習モデル45の推論結果を重み付けする。そして、制御部11は、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。
【0231】
重み付け及び統合の方法は、重み付けに応じて推論結果を優先する形態であれば、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、各学習済み機械学習モデル45の推論結果の重み付けされた推論結果を統合することは、各学習済み機械学習モデル45の推論結果を示す値の重み付け平均を算出することであってよい。また、例えば、各学習済み機械学習モデル45の推論結果の重み付けされた推論結果を統合することは、重み付けした上で多数決することにより、各学習済み機械学習モデル45の推論結果のうちのいずれかを選択することであってよい。所定の推論が回帰である場合に、推論結果の統合は、主に上記重み付け平均により行われてよい。また、所定の推論が識別である場合に、推論結果の統合は、主に上記重み付き多数決により行われてよい。
【0232】
ステップS213による統合が完了すると、制御部11は、ステップS204の統合処理に関するサブルーチンの処理を終了する。これにより、制御部11は、対象の環境下での対象データ61に対する推論結果を生成することができる。当該統合処理により推論結果を生成すると、制御部11は、次のステップS205に処理を進める。
【0233】
(ステップS205)
図9Aに戻り、ステップS205では、制御部11は、出力部115として動作し、生成された推論結果に関する情報を出力する。処理環境が異なる点を除き、ステップS205の出力処理は、上記ステップS113の出力処理と同様であってよい。
【0234】
すなわち、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、ステップS204により生成された推論結果をそのまま出力装置16に出力してもよい。また、例えば、制御部11は、生成された推論結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部11は、その情報処理を実行した結果を推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて特定のメッセージを出力すること、推論結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置等であってよい。
【0235】
推論結果に関する情報の出力が完了すると、制御部11は、所定の推論に関する一連の情報処理を終了する。なお、所定の期間の間、制御部11は、ステップS201~ステップS205の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推論装置1は、所定の推論を継続的に実施してもよい。
【0236】
<統合パラメータの値の決定方法>
次に、上記ステップS211における各統合パラメータPの値を決定する方法の具体例について説明する。本実施形態では、制御部11は、以下の3つの方法のうちの少なくともいずれかの方法により、各統合パラメータPの値を決定することができる。
【0237】
(1)第1の方法
図10Aは、第1の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第1の方法では、制御部11は、環境データ63(及び対象データ61)から各統合パラメータPの値を算出するための演算モデルを利用する。
【0238】
(1-1)統合パラメータの値を決定する処理
本実施形態では、制御部11は、学習データ59を利用して、演算モデル51の機械学習を実行する。演算モデル51は、上記機械学習モデル40と同様に、例えば、データテーブル、関数式等により表現されてよい。機械学習により、制御部11は、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように訓練された学習済み演算モデル52を構築(生成)する。第1の方法では、統合規則5は、当該機械学習により構築された学習済み演算モデル52を更に備える。構築された学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてもよいし、統合規則データ57とは別に保存されてもよい。
【0239】
上記ステップS211では、制御部11は、当該情報を適宜参照することで、学習済み演算モデル52の設定を行う。そして、制御部11は、学習済み演算モデル52に環境データ63を与えて、学習済み演算モデル52の演算処理を実行する。対象データ61を更に考慮する場合には、制御部11は、学習済み演算モデル52に対象データ61を更に与えて、学習済み演算モデル52の演算処理を実行する。学習済み演算モデル52の演算処理は、上記学習済み機械学習モデル45の演算処理と同様であってよい。これにより、制御部11は、学習済み演算モデル52の出力として、各推論モデルに対する各統合パラメータPの値を取得することができる。本実施形態では、各統合パラメータPの値を取得した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。
【0240】
(1-2)演算モデルの機械学習
次に、
図10Bを更に用いて、学習済み演算モデル52の生成に関する推論装置1の動作例について説明する。
図10Bは、推論装置1による学習済み演算モデル52の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0241】
(ステップS301及びステップS302)
ステップS301では、制御部11は、学習データ取得部116として動作し、演算モデル51の機械学習に利用する学習データ59を取得する。ステップS302では、制御部11は、学習処理部117として動作し、取得された学習データ59を利用して、演算モデル51の機械学習を実行する。
【0242】
ステップS302における機械学習は、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することにより構成される。この演算モデル51の機械学習は、対象の環境に適合する所望の出力を得るように演算モデル51の演算パラメータの値を調整することであってよい。すなわち、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することは、上記ステップS212及びステップS213の処理により、算出された各統合パラメータPの値を用いて、各推論モデル(各機械学習モデル45)の推論結果を統合した結果が対象の環境下における推論結果に適合するような各統合パラメータPの値を環境データ(及び対象データ)から算出するように演算モデル51の演算パラメータの値を調整することであってよい。この機械学習により、制御部11は、環境データ(及び対象データ)から対象の環境下における所定の推論に適合する各統合パラメータPの値を推定する能力を獲得した学習済み演算モデル52を生成することができる。
【0243】
演算モデル51の構成及び機械学習の方法はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。学習済み演算モデル52は、各統合パラメータPの値を算出するために利用される。算出された各統合パラメータPの値は、上記統合処理の際に、各推論モデルの推論結果を重み付けするのに利用される。推論装置1では、上記統合処理により、推論結果が生成される。一方、学習済み機械学習モデル45は、対象データに対する推論結果を直接的に導出する。そのため、演算モデル51(学習済み演算モデル52)は、取り扱うデータ及び推論結果を得る過程の点で、上記機械学習モデル40(学習済み機械学習モデル45)と相違する。ただし、それら以外の点については、演算モデル51の構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
【0244】
演算モデル51は、例えば、データテーブル、関数式等により表現されてよい。演算モデル51が関数式で表現される場合、演算モデル51は、例えば、ニューラルネットワーク、線形関数、決定木等により構成されてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。演算モデル51を構成するニューラルネットワークには、例えば、全結合型ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、これらの組み合わせ等が用いられてよい。以下、演算モデル51の構成及び機械学習の方法それぞれの2つの例について説明する。
【0245】
I.第1の例
図10Cは、演算モデル51の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、上記機械学習モデル40の第1の例と同様に、演算モデル51にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、
図10Cでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ591、演算モデル511、及び学習済み演算モデル521と表記する。
【0246】
I-1.演算モデルの構成例
第1の例では、演算モデル511は、3層構造の全結合型ニューラルネットワークにより構成されている。具体的には、演算モデル511は、入力側から順に、入力層5111、中間(隠れ)層5112、及び出力層5113を備えている。ただし、演算モデル511の構成は、上記機械学習モデル401と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、演算モデル511の備える中間層の数は、2つ以上であってもよい。或いは、中間層5112は省略されてもよい。また、演算モデル511は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。その他の点については、演算モデル511は、上記機械学習モデル401と同様であってよい。演算モデル511は、各層5111~5113に含まれる各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータを備える。
【0247】
I-2.学習データの構成例
この演算モデル511の教師あり学習に利用される学習データ591は、訓練用環境データ5911、訓練用対象データ5912、及び正解データ5913(教師信号)の組み合わせをそれぞれ含む複数の学習データセット5910により構成される。訓練用環境データ5911は、環境データ63と同種のデータであり、訓練データ(入力データ)として利用される。訓練用対象データ5912は、対象データ61と同種のデータである。対象データ61を更に考慮する場合には、訓練用対象データ5912は、訓練用環境データ5911と共に、訓練データ(入力データ)として利用されてよい。正解データ5913は、対象の環境下において訓練用対象データ5912に対して所定の推論を実行した結果(正解)を示すデータである。正解データ5913は、ラベルと称されてもよい。
【0248】
訓練用環境データ5911の内容は、統合処理に考慮する環境の内容に応じて適宜選択されてよい。訓練用に取得される点を除き、訓練用環境データ5911は、上記環境データ63と同様であってよい。訓練用対象データ5912及び正解データ5913の内容は、各推論モデル(学習済み機械学習モデル45)に習得させた推論の内容に応じて適宜選択されてよい。訓練用に取得される点を除き、訓練用対象データ5912は、上記対象データ61と同様であってよい。また、推論装置1が所定の推論を実行する対象の環境を考慮して取得される点を除き、訓練用対象データ5912及び正解データ5913は、上記訓練データ311及び正解データ312と同様であってよい。
【0249】
I-3.ステップS301について
上記ステップS301では、制御部11は、複数の学習データセット5910により構成される学習データ591を取得する。各学習データセット5910を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象の環境下において所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において環境データ63と同種のデータを訓練用環境データ5911として取得してもよい。また、訓練用環境データ5911と共に、対象データ61と同種のデータを訓練用対象データ5912として取得してもよい。そして、対象の環境下において、取得された訓練用対象データ5912に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練用対象データ5912に対して所定の推論を実行した結果(正解)を訓練用環境データ5911及び訓練用対象データ5912に関連付ける。これにより、各学習データセット5910を生成することができる。
【0250】
I-4.ステップS302について
上記ステップS302では、制御部11は、取得された学習データ591を利用して、演算モデル511の機械学習(教師あり学習)を実行する。第1の例では、制御部11は、機械学習により、各学習データ591について、訓練用環境データ5911(及び訓練用対象データ5912)を入力層5111に入力することで、出力される各統合パラメータPの値を用いて、訓練用対象データ5912に対する各推論モデル(学習済み機械学習モデル45)の推論結果を統合した結果が正解データ5913に適合するような各統合パラメータPの値を出力層5113から出力するように演算モデル511を訓練する。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル521を生成する。
【0251】
教師あり学習の具体的な処理手順は、上記機械学習モデル401と同様であってよい。制御部11は、まず、機械学習の処理対象となる演算モデル511を用意する。用意する演算モデル511の構造、及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の教師あり学習により得られた学習結果データに基づいて、演算モデル511を用意してもよい。
【0252】
次に、制御部11は、各学習データセット5910に含まれる訓練用環境データ5911を入力データとして利用し、正解データ5913を教師信号として利用し、演算モデル511を構成するニューラルネットワークの学習処理を実行する。この学習処理では、訓練用対象データ5912が更に入力データとして利用されてよい。基本的には、演算モデル511の学習処理は、上記機械学習モデル401と同様であってよい。
【0253】
第1のステップでは、制御部11は、各学習データセット5910について、訓練用環境データ5911を演算モデル511の入力層5111に入力する。対象データ61を更に考慮する場合には、制御部11は、訓練用対象データ5912を演算モデル511の入力層5111に更に入力してもよい。続いて、制御部11は、入力側から順に各層5111~5113に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、訓練中の演算モデル511が、訓練用環境データ5911(及び訓練用対象データ5912)に応じて、各統合パラメータPの値を算出した結果に対応する出力値を出力層5113から取得する。
【0254】
第2のステップでは、制御部11は、対応する訓練用対象データ5912に対して、上記ステップS203の処理を実行する。すなわち、制御部11は、対応する訓練用対象データ5912を各推論モデルに与えて、訓練用対象データ5912に対する所定の推論を各推論モデルに実行させる。これにより、制御部11は、訓練用対象データ5912に対する各推論モデルの推論結果を取得する。本実施形態では、制御部11は、訓練用対象データ5912に対する各学習済み機械学習モデル45の推論結果を取得する。
【0255】
次に、制御部11は、第1のステップで得られた各統合パラメータPの値を利用して、得られた各学習済み機械学習モデル45の推論結果に対して上記ステップS204の処理を実行する。すなわち、制御部11は、第1のステップで得られた各統合パラメータPの値を使用して、各学習済み機械学習モデル45の推論結果を重み付けする。そして、制御部11は、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。これにより、制御部11は、対象の環境下における推論結果を生成する。そして、制御部11は、生成された推論結果と正解データ5913との誤差を算出する。誤差の算出には、損失関数が適宜用いられてよい。
【0256】
第3のステップでは、制御部11は、誤差逆伝播法により、算出された誤差の勾配を演算モデル511に逆伝播させることで、各ニューロン間の結合の重み、各ニューロンの閾値等の演算モデル511の各演算パラメータの値の誤差を算出する。第4のステップでは、制御部11は、算出された各誤差に基づいて、演算モデル511の各演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0257】
制御部11は、上記第1~第4のステップを繰り返すことで、各学習データセット5910について、訓練用環境データ5911(及び訓練用対象データ5912)を入力層5111に入力することで、出力される各統合パラメータPの値を用いて、訓練用対象データ5912に対する各推論モデル(学習済み機械学習モデル45)の推論結果を統合した結果が正解データ5913に適合するような各統合パラメータPの値を出力層5113から出力するように、演算モデル511の各演算パラメータの値を調整する。例えば、制御部11は、各学習データセット5910について、生成される推論結果の誤差の和が閾値以下になるまで、上記第1~第4のステップを繰り返してもよい。或いは、制御部11は、上記第1~第4のステップを所定回数繰り返し実行してもよい。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル521を生成することができる。
【0258】
I-5.その他
なお、機械学習の方法に教師あり学習を採用する場合に、演算モデル511の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを演算モデル511として採用してもよい。演算モデル511は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、演算モデル511の構成に応じて適宜選択されてよい。
【0259】
II.第2の例
図10Dは、演算モデル51の構成及び機械学習の方法の第3の例を模式的に示す。第2の例では、上記機械学習モデル40の第3の例と同様に、機械学習方法に強化学習を採用する。なお、
図10Dでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ592、演算モデル512、及び学習済み演算モデル522と表記する。
【0260】
II-1.演算モデルの構成例
演算モデル512は、上記機械学習モデル403と同様に構成されてよい。すなわち、演算モデル512には、価値ベース、方策ベース、及びその両方が採用されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
【0261】
II-2.学習データの構成例
取り扱うデータ及び対象の環境下における推論結果を導出する過程が相違する点を除き、演算モデル512の強化学習の方法は、上記機械学習モデル403と同様であってよい。学習の環境は、手動的に又は自動的に適宜作成されてよい。演算モデル512の強化学習では、エージェントの観測する状態は、環境データ63及び対象データ61に対応する。
【0262】
エージェントは、演算モデル512を利用して、観測された現在の状態(入力データ)から各統合パラメータPの値を算出する。また、エージェントは、上記ステップS203と同様に、観測された現在の状態に含まれる対象データを各推論モデルに与えて、対象データに対する所定の推論を各推論モデルに実行させる。これにより、エージェントは、対象データに対する各推論モデルの推論結果を取得する。本実施形態では、エージェントは、対象データに対する各学習済み機械学習モデル45の推論結果を取得する。次に、エージェントは、演算モデル512により得られた各統合パラメータPの値を使用して、各学習済み機械学習モデル45の推論結果を重み付けする。そして、エージェントは、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。これにより、エージェントは、対象の環境下における推論結果を生成する。
【0263】
エージェントは、生成された推論結果に基づいて採用する行動を決定する。或いは、採用する行動は、ランダムに決定されてもよい。決定された行動を実行すると、観測される状態は次の状態に遷移する。場合によって、エージェントは、学習の環境から即時報酬を得ることができる。この行動の決定及び実行の試行錯誤を繰り返しながら、エージェントは、即時報酬の総和を最大化するように、演算モデル512を更新する。これにより、最適な行動が強化され、そのような行動の選択を可能にする各統合パラメータPの値を算出する方策(学習済み演算モデル522)を得ることができる。
【0264】
したがって、第2の例では、学習データ592は、この試行錯誤により得られる状態遷移データであって、実行された行動により現在の状態から次の状態に遷移し、場合によって即時報酬が得られるという状態遷移を示す状態遷移データにより構成される。上記ローカル学習データ303と同様に、1件の状態遷移データは、1エピソード全ての状態遷移の軌跡を示すデータにより構成されてもよいし、或いは、所定回数(1回以上)分の状態遷移を示すデータにより構成されてもよい。
【0265】
なお、上記機械学習モデル403の強化学習と同様に、演算モデル512の強化学習において、即時報酬を算出するための報酬関数が用いられてよい。報酬関数は、データテーブル、関数式、又はルールにより表現されてよい。関数式により表現する場合、報酬関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。報酬関数は、上記一連の処理で実行される所定の推論の内容に応じて、オペレータ等により、手動的に設定されてもよい。
【0266】
或いは、報酬関数は、上記一連の処理で生成される推論結果の適正度に応じて即時報酬を与えるように設定されてもよい。推論結果の適正度は、5段階、10段階等のように所定数のグレードで表現されてもよい。或いは、推論結果の適正度は、連続値により表現されてもよい。また、推論結果の適正度は、オペレータ等により手動的に与えられてもよい。若しくは、推論結果の適正度は、判定器49を用いて所定の基準に従って評価されてよい。所定の基準は、上記機械学習モデル403と同様であってよい。また、判定器49は、上記機械学習モデル403の強化学習における判定器48と同様であってよい。
【0267】
或いは、報酬関数は、エキスパートにより得られた事例データから逆強化学習により推定されてよい。事例データの内容、事例データを生成する方法、及び逆強化学習の方法はそれぞれ、特に限定されなくてもよく、上記機械学習モデル403の強化学習における報酬関数の設定に利用される事例データと同様であってよい。逆強化学習により報酬関数を得る場合、学習データ592は、逆強化学習に利用する事例データを更に備えてよい。
【0268】
II-3.ステップS301及びステップS302
上記ステップS301では、制御部11は、訓練中の演算モデル512を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS301では、制御部11は、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
【0269】
上記ステップS302では、制御部11は、得られた状態遷移データに基づいて、価値を最大化するように演算モデル512の演算パラメータの値を更新する。演算モデル512の演算パラメータの値を調整する方法は、演算モデル512の構成に応じて適宜選択されてよい。例えば、演算モデル512がニューラルネットワークにより構成される場合、演算モデル512の演算パラメータの値は、誤差逆伝播法等により、上記第1の例と同様の方法で調整されてよい。
【0270】
制御部11は、ステップS301及びステップS302の処理を繰り返し、得られる価値(の期待値)が最大化されるように(例えば、更新量が閾値以下になるまで)、演算モデル512の演算パラメータの値を調整する。すなわち、演算モデル512を訓練することは、所定の条件を満たすまで報酬が多く得られるように演算モデル512を構成する演算パラメータの値の修正を繰り返すことを含む。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル522を生成することができる。なお、強化学習の方法は、上記機械学習モデル403と同様であってよい。
【0271】
更に、逆強化学習を実施する場合には、上記強化学習の処理を実行する前に、制御部11は、上記ステップS301において、事例データを更に取得する。事例データは、推論装置1により生成されてもよいし、他のコンピュータにより生成されてもよい。他のコンピュータにより生成される場合、制御部11は、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された事例データを取得してもよい。次に、制御部11は、取得された事例データを利用して、逆強化学習を実行することで、報酬関数を設定する。そして、制御部11は、逆強化学習により設定された報酬関数を利用して、上記強化学習の処理を実行する。これにより、制御部11は、逆強化学習により設定された報酬関数を利用して、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル522を生成することができる。
【0272】
III.小括
本実施形態では、演算モデル51の構成には、上記2つの構成の少なくともいずれかが採用されてよい。制御部11は、上記2つの機械学習の方法の少なくともいずれかを採用することで、学習済み演算モデル52を生成することができる。演算モデル51の機械学習が完了し、学習済み演算モデル52を生成すると、制御部11は、次のステップS303に処理を進める。
【0273】
(ステップS303)
図10Bに戻り、ステップS303では、制御部11は、保存処理部118として動作し、演算モデル51の機械学習の結果、すなわち、学習済み演算モデル52に関する情報を生成する。
図10C及び
図10Dの例では、制御部11は、学習済み演算モデル(521、522)に関する情報を生成する。制御部11は、生成された学習済み演算モデル52に関する情報を所定の記憶領域に保存する。
【0274】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習済み演算モデル52に関する情報を格納してもよい。外部記憶装置は、例えば、NAS等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習済み演算モデル52に関する情報を格納してもよい。また、外部記憶装置は、例えば、推論装置1に接続される外付けの記憶装置であってもよい。
【0275】
生成された学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてもよいし、統合規則データ57とは別に保存されてもよい。これにより、学習済み演算モデル52に関する情報の保存が完了すると、制御部11は、学習済み演算モデル52の生成に関する一連の情報処理を終了する。
【0276】
なお、制御部11は、上記ステップS301~ステップS303の処理を定期的に繰り返すことで、学習済み演算モデル52を定期的に更新又は新たに生成してもよい。この繰り返す際には、学習データ59に含まれるデータの変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習済み演算モデル52を以降の推論処理に利用してもよい。
【0277】
第1の方法では、機械学習により、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように訓練された学習済み演算モデル52が構築される。
そのため、構築された学習済み演算モデル52により算出される各統合パラメータPの値を使用することで、各学習済み機械学習モデル45の推論結果を対象の環境に適合するように適切に統合することができる。したがって、第1の方法によれば、対象の環境下で所定の推論を更に適切に実行することができるようになる。
【0278】
なお、機械学習モデル40(学習済み機械学習モデル45)のパラメータ数は、対象データ(61、225)の次元数及び推論結果の表現形式に依存する。そのため、対象データ(61、225)及び推論内容の少なくとも一方が複雑になればなるほど、機械学習モデル40のパラメータ数は大きく増加する。これに対して、演算モデル51(学習済み演算モデル52)のパラメータ数は、環境データ63の次元数及び対象の環境下で所定の推論に利用する学習済み機械学習モデル45の数に依存する。演算モデル51の情報処理は各統合パラメータPの値を決定することに過ぎないため、対象データ(61、225)及び推論内容が複雑になっても、演算モデル51のパラメータ数の増加は抑えることができる。
【0279】
例えば、対象の環境として明るさを考慮して、カメラの最適な観測方法を当該カメラにより得られる画像データから推定する場面を想定する。この場合、対象データ(61、225)は、画像データである。機械学習モデル40のパラメータ数は、画像データの画素数及びカメラの取り得る状態数に依存し、千を超えるオーダーと成り得る。一方、演算モデル51のパラメータ数は、明るさの次元数及び学習済み機械学習モデル45の数に依存するが、最適な観測方法の推定に数十の学習済み機械学習モデル45を利用するとしても、多くて数十~数百程度のオーダーである。
【0280】
したがって、一般的には、統合パラメータPの値を決定する演算モデル51のパラメータ数は、所定の推論を直接的に実行する機械学習モデル40のパラメータ数よりも少なくて済む。例えば、演算モデル51及び機械学習モデル40それぞれにニューラルネットワークを採用し、機械学習の方法として教師あり学習を採用する場合、演算モデル51のニューラルネットワークの規模は、機械学習モデル40のニューラルネットワークよりも小さくてよい。また、例えば、機械学習の方法として強化学習を採用する場合には、機械学習モデル40を訓練する場面より、演算モデル51を訓練する場面の方が、学習の環境を規定するパラメータの数が少なくて済む。機械学習のコストはパラメータ数に依存するため、機械学習により学習済み演算モデル52を構築するコストは、対象の環境に適合する新たな学習済み機械学習モデル45を構築するコストよりも低く抑えることができる。よって、第1の方法によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを抑えたまま、所定の推論の精度の向上を図ることができる。
【0281】
(2)第2の方法
図11Aは、第2の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第2の方法では、制御部11は、所定の推論を実行する対象の環境と各推論モデルの導出に利用されたローカル学習データ30の得られた学習環境との比較に基づいて、各統合パラメータPの値を決定する。具体的には、制御部11は、環境データ63と各件の学習環境データ35との適合度を算出し、算出された適合度に応じて、対応する各推論モデルに対する統合パラメータPの値を決定する。
【0282】
図11Bは、第2の方法により各統合パラメータPの値を決定するサブルーチンの処理手順の一例を示すフローチャートである。第2の方法を採用する場合、上記ステップS211は、以下のステップS311~ステップS313の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0283】
ステップS311では、制御部11は、各推論モデルの導出に利用されたローカル学習データ30の得られた環境に関する学習環境データ35を取得する。上記のとおり、本実施形態では、各学習済み機械学習モデル45の学習環境データ35は、各ローカル学習装置2から推論装置1に任意のタイミングで提供されてよい。制御部11は、各件の学習環境データ35を適宜取得してよい。各件の学習環境データ35を取得すると、制御部11は、次のステップS312に処理を進める。
【0284】
ステップS312では、制御部11は、各件の学習環境データ35及び環境データ63の適合度を算出する。算出された適合度により対象の環境と学習環境とが類似しているか否かを評価可能であれば、適合度の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、学習環境データ35及び環境データ63の一致度を適合度として算出してもよい。また、例えば、制御部11は、学習環境データ35及び環境データ63の間の距離(ノルム)を算出し、算出された距離に応じて適合度を算出してもよい。この場合、制御部11は、算出された距離が大きいほど適合度を小さな値に算出し、算出された距離が小さいほど適合度を大きな値に算出してもよい。距離と適合度との間の対応関係は、データテーブル、関数式、又はルール等により表現されてよい。この対応関係は、オペレータ等により手動的に設定されてよいし、或いは、例えば、フィッティング等の公知の方法により自動的に導出されてもよい。若しくは、制御部11は、算出された距離の逆数を適合度として算出してもよい。適合度は、所定数のグレードで表現されてもよいし、或いは、連続値により表現されてもよい。各適合度を算出すると、制御部11は、次のステップS313に処理を進める。
【0285】
ステップS313では、制御部11は、算出された各適合度に応じて、対応する各推論モデルに対する各統合パラメータPの値を決定する。対象の環境に類似する学習環境から得られたローカル学習データ30から導出された推論モデルの推論結果は、当該対象の環境でも信頼性が高いと想定される。反対に、対象の環境と大きく相違する学習環境から得られたローカル学習データ30から導出された推論モデルの推論結果は、当該対象の環境においては信頼性が低いと想定される。そのため、制御部11は、適合度が大きいほど統合パラメータPの値を大きな値に算出し、適合度が小さいほど統合パラメータPの値を小さな値に算出してもよい。適合度と統合パラメータPの値との対応関係は、データテーブル、関数式、又はルール等により表現されてよい。この対応関係は、オペレータ等により手動的に設定されてよいし、或いは、例えば、フィッティング等の公知の方法により自動的に導出されてもよい。若しくは、制御部11は、算出された各適合度をそのまま各統合パラメータPの値として採用してもよい。
【0286】
これにより、制御部11は、算出された適合度に応じて、各推論モデルに対する各統合パラメータPの値を決定することができる。制御部11は、各統合パラメータPの値を決定した結果を示す情報を、統合規則データ57の少なくとも一部として保存してもよいし、統合規則データ57とは別に保存してもよい。各統合パラメータPの値を決定すると、制御部11は、ステップS211に関するサブルーチンの処理を終了する。本実施形態では、各統合パラメータPの値を決定した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。
【0287】
第1の方法とは異なり、第2の方法では、学習済み演算モデル52を生成する手間を省略することができる。また、対象の環境と学習環境との比較という簡易な処理により、各統合パラメータPの値を適切に決定することができる。そのため、第2の方法によれば、簡易な方法により、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
【0288】
(3)第3の方法
図12Aは、第3の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第3の方法では、制御部11は、入力装置15を介したオペレータによる統合パラメータPの値の指定を受け付けて、対象の統合パラメータPの値を指定された値に設定する。
図12Aは、この統合パラメータPの値の指定を受け付けるための受付画面の一例を模式的に例示する。
【0289】
図12Bは、第3の方法により統合パラメータPの値を設定するサブルーチンの処理手順の一例を示すフローチャートである。制御部11は、パラメータ設定部119として動作し、以下のステップS321~ステップS323の処理を実行する。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0290】
ステップS321では、制御部11は、推論モデルに対する統合パラメータPの値の入力を受け付けるための受付画面を出力する。ステップS322では、制御部11は、受付画面を介して、複数の統合パラメータPのうちの少なくとも1つの統合パラメータPの値の指定を受け付ける。
【0291】
本実施形態では、制御部11は、
図12Aに例示される受付画面を出力装置16に出力する。受付画面の出力先は、出力装置16に限定されなくてもよい。受付画面は、例えば、他のコンピュータの出力装置に出力されてよい。
図12Aに例示される受付画面は、表示欄161、選択欄162、入力欄163、及び決定ボタン165を備えている。
【0292】
表示欄161には、各推論モデルの情報が表示される。例えば、表示欄161には、学習環境データ35の内容が表示されてもよい。また、例えば、上記適合度が算出されている場合、表示欄161には、算出された適合度が表示されてもよい。選択欄162では、推論処理に使用するか否かの選択が受け付けられる。本実施形態では、制御部11は、選択欄162の選択に応じて、推論処理に使用する学習済み機械学習モデル45を決定する。
【0293】
入力欄163では、対象の推論モデルに対する統合パラメータPの値の指定が受け付けられる。オペレータは、入力装置15を操作して、対象の推論モデルの入力欄163に所望の値を入力することにより、対応する統合パラメータPの値を指定することができる。統合パラメータPの値は、所定数のグレードから指定されてもよいし、連続値により指定されてもよい。なお、入力欄163に無効値(例えば、0)を入力することで、対象の推論モデルを使用しないことが指定されてよい。この場合に、選択欄162は省略されてよい。
【0294】
決定ボタン165は、統合パラメータPの値の指定を終了するために利用される。統合パラメータPの値の指定が完了した後、オペレータは、入力装置15を操作して、決定ボタン165を操作する。制御部11は、この決定ボタン165の操作に応じて、ステップS322の処理を終了し、次のステップS323に処理を進める。
【0295】
ステップS323では、制御部11は、対象の統合パラメータPの値を指定された値に設定する。制御部11は、指定された設定内容に関する情報を、統合規則データ57の少なくとも一部として保存してもよいし、統合規則データ57とは別に保存してもよい。対象の統合パラメータPの値の設定が完了すると、制御部11は、統合パラメータPの値の設定に関するサブルーチンの処理を終了する。本実施形態では、統合パラメータPの値を設定した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。上記ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPに対応する学習済み機械学習モデル45の推論結果を重み付けする。
【0296】
第3の方法によれば、各学習済み機械学習モデル45の推論結果に適用する各統合パラメータPの値の少なくとも一部をオペレータの指定により決定することができる。そのため、対象の環境下で実行される所定の推論にオペレータの意図(例えば、特定の学習済み機械学習モデル45の推論結果を重視する)を反映することができる。
【0297】
(4)小括
本実施形態では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、ステップS211において、各統合パラメータPの値を決定することができる。上記3つの方法は、適宜採用されてよい。例えば、制御部11は、第1の方法又は第2の方法で、各統合パラメータPの値を決定した後、第3の方法により、複数の統合パラメータPのうちの少なくともいずれかの値を修正してもよい。
【0298】
<推論モデルのグルーピング>
次に、
図13Aを用いて、各推論モデルのグルーピングについて説明する。
図13Aは、各推論モデルをグルーピングする場面の一例を模式的に例示する。本実施形態では、推論モデルの一例である学習済み機械学習モデル45は、個々のローカル学習装置2により生成される。そのため、複数の学習済み機械学習モデル45のうちの一の学習済み機械学習モデル45と他の学習済み機械学習モデル45とが、全く異なる目的により、異なる推論を実施するために生成される可能性がある。この場合、一の学習済み機械学習モデル45の推論結果と他の学習済み機械学習モデル45の推論結果とを統合するのは困難である。
【0299】
そこで、本実施形態では、制御部11は、グルーピング部1110として動作し、各推論モデル(本実施形態では、各学習済み機械学習モデル45)を複数のグループのうちの少なくともいずれかに割り当ててもよい。各グループは、推論の種類、目的、対象の環境等に応じて適宜設定されてよい。
図13Aは、グループA及びグループBの2つのグループに各学習済み機械学習モデル45を割り当てる場面の一例を模式的に例示する。制御部11は、この各学習済み機械学習モデル45に対するグループの割り当て結果を割当情報125に格納する。割当情報125は、例えば、所定の記憶領域に保存されてよい。所定の記憶領域は、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0300】
これに応じて、統合規則5はグループ毎に用意される。上記ステップS203では、制御部11は、設定された複数のグループのうち対象の環境で利用するグループを特定し、特定されたグループに属する学習済み機械学習モデル45について、上記推論結果を取得する処理を実行してもよい。そして、上記ステップS204では、制御部11は、対応する統合規則5に従って、特定されたグループに属する学習済み機械学習モデル45の推論結果を統合してもよい。これにより、目的に応じてグループ毎に統合処理を実行することができる。
【0301】
なお、グルーピングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部11は、以下の2つの方法のうちのいずれかの方法により、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることができる。
【0302】
(1)第1のグルーピング方法
まず、
図13Bを用いて、第1のグルーピング方法の一例について説明する。
図13Bは、第1のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順のいちれいを示すフローチャートである。第1のグルーピング方法では、制御部11は、グループのリストから所望のグループを選択することで、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てる。
【0303】
なお、各推論モデルをグループに割り当てる方法として第1のグルーピング方法が採用された場合、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップS411及びステップS412の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0304】
ステップS411では、制御部11は、複数のグループを示すリストから、各推論モデルに対して割り当てる1つ以上のグループの選択を受け付ける。例えば、制御部11は、複数のグループを示すリストを出力装置16に出力してもよい。これに応じて、オペレータは、入力装置15を操作して、各推論モデルに対して割り当てる1つ以上のグループをリストの中から選択してもよい。これにより、複数のグループを示すリストから、各推論モデルに対して割り当てる1つ以上のグループの選択を受け付けることができる。
【0305】
なお、グループの選択は、推論装置1で実施されなくてもよい。例えば、グループの選択は、各ローカル学習装置2により実施されてもよい。具体例として、制御部11は、複数のグループを示すリストを各ローカル学習装置2に配信してもよい。これにより、制御部11は、各ローカル学習装置2に対して、リストに示される複数のグループの中から1つ以上のグループを選択させてよい。
【0306】
また、リストに含まれる各グループは、ローカル学習データ30、ローカル学習装置2、ローカル学習装置2の利用者等の属性に応じて設定されてよい。例えば、センサの最適な観測方法を推定するケースで、工場の製造ラインの状態を監視するためにセンサが利用されている場面を想定する。この場合、ライン番号、工場名、企業名等の属性に応じてグループが設定されていてもよい。オペレータの操作又は各ローカル学習装置2からの要求により、新たなグループがリストに追加されてよい。
【0307】
ステップS412では、制御部11は、ステップS411の回答に基づいて、選択された1つ以上のグループに各推論モデルを割り当てる。1つ以上のグループの割り当てが完了すると、制御部11は、第1のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第1のグルーピング方法によれば、制御部11は、簡易な方法により各推論モデルをグループ分けすることができる。
【0308】
(2)第2のグルーピング方法
次に、
図13Cを用いて、第2のグルーピング方法の一例について説明する。
図13Cは、第2のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第2のグルーピング方法では、制御部11は、ローカル学習データ30の属性に応じて、各推論モデルを適切なグループに割り当てる。
【0309】
なお、各推論モデルをグループに割り当てる方法として第2のグルーピング方法が採用された場合、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップS421~ステップS423の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0310】
(ステップS421)
ステップS421では、制御部11は、ローカル学習データ30に関する属性データを各ローカル学習装置2から取得する。属性データを取得する方法は、上記学習環境データ35を取得する方法と同様であってよい。制御部11は、各ローカル学習装置2から属性データを適宜取得してよい。
【0311】
属性データは、ローカル学習データ30に関するあらゆる情報を含んでもよい。属性データは、例えば、ローカル学習データ30に含まれるデータの種別を示す情報、データに表れる特徴を示す情報、データの利用目的を示す情報等を含んでもよい。また、属性データは、学習環境データ35を含んでもよい。属性データは、上記ステップS101によりローカル学習データ30を取得する際、及びステップS103により学習環境データ35を取得する際の少なくともいずれかで生成されてよい。属性データを取得すると、制御部11は、次のステップS422に処理を進める。
【0312】
(ステップS422及びステップS423)
ステップS422では、制御部11は、各ローカル学習装置2から取得された属性データをクラスタリングする。クラスタリングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。クラスタリングには、k平均法(k-meansクラスタリング)等の公知の方法が採用されてよい。
【0313】
ステップS423では、制御部11は、クラスタリングの結果に基づいて、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てる。一例として、制御部11は、取得した属性データが同一のクラスに割り当てられた推論モデルを同一のグループに割り当てる。この場合、各グループは、属性データのクラスに応じて設定されてよい。また、制御部11は、クラスタリングの結果に基づいて、各推論モデルを2つ以上のグループに割り当ててもよい。
【0314】
クラスタリングの結果に基づくグループの割り当てが完了すると、制御部11は、第2のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第2のグルーピング方法によれば、制御部11は、ローカル学習データ30の属性に応じて、各推論モデルを適切なグループに割り当てることができる。
【0315】
以上の2つの方法の少なくともいずれかの方法を採用することで、制御部11は、各推論モデルを適切にグループ分けすることができる。ただし、グルーピングの方法は、これらの例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【0316】
[特徴]
以上のとおり、本実施形態に係る推論装置1は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、上記ステップS203及びステップS204の処理では、既に構築された複数の学習済み機械学習モデル45を活用する。上記ステップS211~ステップS213の統合処理では、本実施形態に係る推論装置1は、環境データ63に示される対象の環境に応じて、各学習済み機械学習モデル45の推論を重視する程度を調整する。これにより、本実施形態に係る推論装置1は、様々な環境で得られた所定の推論に関する知見を新たな環境に適合するようにカスタマイズすることができる。その結果、カスタマイズされた知見、換言すると、各学習済み機械学習モデル45の重み付けされた推論結果を統合した結果に基づいて、対象の環境下で所定の推論を適切に実行することができる。
【0317】
したがって、本実施形態によれば、異なる環境下で得られたローカル学習データ30からそれぞれ導出された複数の学習済み機械学習モデル45を活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデルを導出する、特に、新たな学習済み機械学習モデルを生成する作業の手間を省略することができる。よって、本実施形態によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
【0318】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0319】
<4.1>
上記実施形態に係る推論装置1及び各ローカル学習装置2は、推論モデルにより何らかの推論を実行するあらゆる場面に適用されてよい。何らかの推論を実行する場面とは、例えば、センサの最適な観測方法を推定する場面、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。以下、適用場面を限定した4つの変形例を例示する。
【0320】
(A)センサの最適な観測方法を推定する場面
図14は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、センサの最適な観測方法を推測する場面に上記実施形態を適用した例である。
図14に示されるとおり、本変形例に係る検査システム100Aは、検査装置1A及び複数のローカル学習装置2Aを備えている。上記実施形態と同様に、検査装置1A及び各ローカル学習装置2Aは、ネットワークを介して互いに接続されてよい。
【0321】
検査装置1Aは、上記推論装置1に対応する。各ローカル学習装置2Aは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、検査装置1Aは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に構成されてよい。検査装置1Aのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Aのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
【0322】
本変形例では、検査装置1A及び各ローカル学習装置2Aには、センサSA1が接続されている。本変形例に係る所定の推論は、センサSA1により対象物RAの属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサSA1により得るための適正な観測状態への変更方法を推定することである。センサSA1は、例えば、カメラ、マイクロフォン、バイタルセンサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。対象物RAは、例えば、製品、植物、人物等であってよい。
【0323】
所定の条件は、センサSA1の観測目的に応じて適宜規定されてよい。例えば、対象物RAの品質評価のためにセンサSA1により観測データを得る場合を想定する。この場合、所定の条件は、センサSA1により得られる観測データに対する品質評価に関する推論の性能に応じて規定されてよい。対象物RAの品質評価は、例えば、製品の検査(例えば、欠陥検出)、植物(例えば、農作物)の生育状態の検査、人物の健康状態の検査等であってよい。具体例として、製品の検査の場合、所定の条件は、センサSA1により得られた観測データに基づいて、欠陥検出が可能であるか否か、欠陥検出の精度が基準を満たすか否か等の、センサにより得られる観測データに対する目的の検査の性能に応じて規定されてよい。
【0324】
本変形例に係る各ローカル学習装置2Aは、センサSA1の適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル45Aを生成する。これに対して、本変形例に係る検査装置1Aは、各ローカル学習装置2Aにより異なる環境下で得られたローカル学習データ30Aから導出された各学習済み機械学習モデル45Aを利用して、対象の環境下において対象のセンサSA1の最適な観測方法を推定する。本変形例では、最適な観測方法を推定する対象のセンサSA1は、検査装置1Aに接続されたセンサSA1である。ただし、対象のセンサSA1は、これに限られなくてもよく、検査装置1Aは、他のコンピュータに接続されたセンサSA1の最適な観測方法を推定してもよい。
【0325】
本変形例に係る検査装置1Aは、所定の推論の対象となる対象データ61A、及び所定の推論を実行する対象の環境に関する環境データ63Aを取得する。本変形例に係る所定の推論の対象となる対象データ61Aは、対象のセンサSA1の現在の観測状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Aは、対象のセンサSA1が対象物RAの属性を観測する対象の観測環境に関するものである。
【0326】
本変形例では、検査装置1Aは、他のセンサSA2に更に接続されている。他のセンサSA2は、最適な観測方法を推定する対象のセンサSA1とは異なり、対象の観測環境を観測するのに利用される。そのため、検査装置1Aは、他のセンサSA2から環境データ63Aを取得することができる。対象の観測環境として、明るさ、温度、湿度等を考慮する場合、他のセンサSA2は、例えば、カメラ、光度計、照度計、温度計、湿度計等であってよい。
【0327】
本変形例に係る検査装置1Aは、取得された対象データ61Aを各学習済み機械学習モデル45Aに与えて、センサSA1の適正な観測状態への変更方法を各学習済み機械学習モデル45Aに推定させる。これにより、本変形例に係る検査装置1Aは、センサSA1の適正な観測状態への変更方法ついての各学習済み機械学習モデル45Aの推定結果を取得する。そして、本変形例に係る検査装置1Aは、統合規則5Aに従って、各学習済み機械学習モデル45Aの推定結果を統合する。
【0328】
上記実施形態と同様に、統合規則5Aは、対象の環境下において、各学習済み機械学習モデル45Aの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPAを備えている。本変形例に係る検査装置1Aは、環境データ63Aに応じて、各統合パラメータPAの値を決定する。このとき、環境データ63Aの他に、対象データ61Aが更に考慮されてもよい。次に、本変形例に係る検査装置1Aは、決定された各統合パラメータPAの値を使用して、対応する各学習済み機械学習モデル45Aの推定結果を重み付けする。そして、本変形例に係る検査装置1Aは、各学習済み機械学習モデル45Aの重み付けされた推定結果を統合する。
【0329】
これにより、本変形例に係る検査装置1Aは、対象の環境下において、対象のセンサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を生成することができる。適正な観測状態への変更方法を推定することは、当該変更方法を直接的に推定すること、及び適正な観測状態を推定し、推定された適正な観測状態と現在の観測状態との差分を算出することで、適正な観測状態に導くための変更方法を間接的に推定することを含んでよい。
【0330】
なお、
図14の各シンボルは、製品の画像検査の場面を模式的に例示している。対象物RAは、製造ラインで製造される製品であってよく、センサSA1は、カメラであってよい。センサSA1により得られる観測データは、画像データであってよい。画像検査の場面で明るさを考慮する場合、他のセンサSA2は、光度計又は照度計であってもよい。所定の条件は、対象物RA(製品)の属性(例えば、欠陥の有無、欠陥の種別)を検査するのに適するように対象物RAが画像データに写ることに関するものであってよい。
【0331】
また、本変形例では、検査装置1Aは、雲台装置IN1及び照明装置IN2に更に接続されている。センサS1は、雲台装置IN1に取り付けられている。雲台装置IN1は、台座部In11、第1関節部In12、及び第2関節部In13を備えている。各関節部(In12、In13)は、サーボモータ等の駆動装置を備えてよい。第1関節部In12は、台座部In11に接続されており、先端側の部分を台座の軸周りに回転させる。第2関節部In13は、第1関節部In12に接続されており、先端側の部分を前後方向に回転させる。雲台装置IN1は、これらを備えていることで、コンピュータ制御によりセンサS1の向き及び配置を変更可能に構成されている。また、照明装置IN2は、コンピュータ制御により出力する光の量を調節することで、観測環境の明るさを変更可能に構成されてよい。
【0332】
雲台装置IN1及び照明装置IN2によれば、センサSA1の観測状態のうち、センサSA1の設置角度及び対象物RA周囲の明るさを変更させることができる。雲台装置IN1及び照明装置IN2はそれぞれ、本発明の「介入装置」の一例である。ただし、介入装置は、対象のセンサSA1の観測状態に介入することで、観測状態を変更可能に構成されていれば、このような例に限定されなくてもよい。温度、湿度に介入する場合、空調装置、加湿器、ヒータ等が介入装置として利用されてよい。また、対象物RA及びセンサSA1の少なくとも一方の位置又は姿勢に介入する場合、コンベア装置、ロボットアーム等が介入装置として利用されてよい。
【0333】
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Aを生成する。すなわち、ステップS101では、各ローカル学習装置2Aは、ローカル学習データ30Aを取得する。そして、ステップS102では、各ローカル学習装置2Aは、取得されたローカル学習データ30Aを利用して、機械学習モデル40Aの機械学習を実行する。機械学習モデル40Aの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
【0334】
一例として、機械学習の方法には、上記教師あり学習(第1の例)又は強化学習(第3の例)が用いられてよい。教師あり学習を採用する場合、ローカル学習データ30Aは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Aと同種であり、センサSA1の現在の観測状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Aは、取得されたローカル学習データ30Aを利用して、機械学習モデル40Aの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
【0335】
また、強化学習を採用する場合、機械学習モデル40Aには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、センサSA1の観測状態であってよく、エージェントにより実行される行動は、センサSA1の観測状態の変更であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Aの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、センサSA1により得られる観測データに対して目的の推定処理を実行するように構成されてよい。例えば、製品の画像検査の場面では、判定器は、画像データから製品の欠陥を検出するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、推定処理の精度が閾値以上であればプラスの即時報酬を与え、推定処理の精度が許容値以下(例えば、欠陥検出不能)であればマイナスの即時報酬を与えるように設定されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者の操作により得られたセンサSA1の変更方法を示すデータにより構成されてよい。各ローカル学習装置2Aは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Aの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0336】
各ローカル学習装置2Aは、上記いずれかの方法により、機械学習モデル40Aの機械学習を実行することができる。これにより、各ローカル学習装置2Aは、センサSA1により対象物RAの属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサSA1により得るための適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル45Aを生成することができる。
【0337】
ステップS103では、各ローカル学習装置2Aは、ローカル学習データ30Aの得られた環境に関する学習環境データ35Aを取得する。学習環境データ35Aは、検査装置1Aで得られる環境データ63Aと同種のデータである。学習環境データ35Aを取得する方法は、環境データ63Aを取得する方法と同様であってよい。例えば、各ローカル学習装置2Aは、他のセンサSA2と同種のセンサに更に接続されてよく、学習環境データ35Aを当該センサから取得してもよい。ステップS104では、各ローカル学習装置2Aは、生成された学習済み機械学習モデル45Aに関する情報を学習結果データ47Aとして生成する。そして、各ローカル学習装置2Aは、学習結果データ47Aを学習環境データ35Aに関連付けて所定の記憶領域に保存する。
【0338】
本変形例では、各ローカル学習装置2Aの間において、ローカル学習データ30Aが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Aから学習済み機械学習モデル45Aが生成されてよい。その結果、センサSA1の最適な観測方法を推定可能に、異なる環境下で得られたローカル学習データ30Aから導出された複数の学習済み機械学習モデル45Aを得ることができる。
【0339】
<検査装置のハードウェア構成>
図15は、本変形例に係る検査装置1Aのハードウェア構成の一例を模式的に例示する。
図15に示されるとおり、本変形例に係る検査装置1Aは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。検査装置1Aは、外部インタフェース14を介して、センサSA1、他のセンサSA2、雲台装置IN1及び照明装置IN2に接続される。ただし、検査装置1Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置1Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置1Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
【0340】
本変形例に係る検査装置1Aの記憶部12は、検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、学習環境データ35A等の各種情報を記憶する。検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、検査装置1Aは、記憶媒体91から、検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aの少なくともいずれかを取得してもよい。
【0341】
<検査装置のソフトウェア構成>
図16A及び
図16Bは、本変形例に係る検査装置1Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置1Aのソフトウェア構成は、制御部11による検査プログラム81Aの実行により実現される。
図16A及び
図16Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、検査装置1Aのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、検査装置1Aは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
【0342】
(ステップS201)
すなわち、
図16Aに示されるとおり、ステップS201では、検査装置1Aの制御部11は、対象データ61Aを取得する。対象データ61Aは、対象のセンサSA1の現在の観測状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Aには、例えば、対象センサSA1の設置状況に関する属性を示すデータ、対象センサSA1の動作設定に関する属性を示すデータ、対象センサSA1により得られる観測データ等が含まれてよい。対象センサSA1の設置状況に関する属性には、例えば、センサSA1の設置角度、センサSA1と観測対象(対象物RA)との間の距離、センサSA1による観測に影響を及ぼす観測属性(例えば、明るさ、温度、湿度等)等が含まれてよい。対象センサSA1の動作設定に関する属性には、例えば、センサSA1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSA1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
【0343】
対象データ61Aを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象センサSA1自身から対象データ61Aが取得されてもよい。また、例えば、環境属性を観測する他のセンサ(例えば、他のセンサSA2)から対象データ61Aが取得されてもよい。また、本変形例では、介入装置として、雲台装置IN1及び照明装置IN2が検査装置1Aに接続されている。各介入装置自身及び各介入装置の状態を観測するセンサ(不図示)の少なくともいずれかから対象データ61Aが取得されてもよい。また、例えば、オペレータ等の入力により、対象データ61Aは取得されてもよい。制御部11は、各装置から直接的に対象データ61Aを取得してもよいし、他のコンピュータを介して間接的に対象データ61Aを取得してもよい。
【0344】
(ステップS202)
ステップS202では、制御部11は、環境データ63Aを取得する。環境データ63Aは、対象のセンサSA1が対象物RAの属性を観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Aには、例えば、対象センサSA1の仕様(又は性能)に関する属性を示すデータ、観測対象(対象物RA)の属性を示すデータ、対象センサSA1による観測に影響を及ぼす環境属性等が含まれてよい。対象センサSA1の仕様(又は性能)に関する属性には、例えば、センサSA1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。観測対象(対象物RA)の属性には、例えば、観測対象の種別、観測目的等が含まれてよい。観測対象の種別は、例えば、製品・ワークの種別、植物の種別等であってよい。観測目的は、例えば、欠陥検出、品質検査等である。
【0345】
環境データ63Aを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、オペレータ等の入力により、環境データ63Aは取得されてもよい。また、例えば、対象センサSA1自身から環境データ63Aが取得されてもよい。また、例えば、対象センサSA1により得られる観測データから環境データ63Aが取得されてもよい。また、例えば、環境属性を観測する他のセンサ(例えば、他のセンサSA2)から環境データ63Aが取得されてもよい。制御部11は、各装置から直接的に環境データ63Aを取得してもよいし、他のコンピュータを介して間接的に環境データ63Aを取得してもよい。
【0346】
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Aを参照することで、各学習済み機械学習モデル45Aの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Aに対象データ61Aを与えて、各学習済み機械学習モデル45Aの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Aの出力として、対象センサSA1の適正な観測状態への変更方法についての各学習済み機械学習モデル45Aの推定結果を取得する。
【0347】
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Aを参照して、統合規則5Aの設定を行う。そして、制御部11は、統合規則5Aに従って、各学習済み機械学習モデル45Aの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Aに応じて、各統合パラメータPAの値を決定する。このとき、環境データ63Aの他に、対象データ61Aが更に考慮されてもよい。各統合パラメータPAの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
【0348】
(1)第1の方法
図16Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Aを取得する。そして、制御部11は、学習データ59Aを利用して、演算モデル51Aの機械学習を実行する。演算モデル51Aの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Aの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
【0349】
第1の例を採用する場合、学習データ59Aは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Aと同種のデータである。訓練用対象データは、対象データ61Aと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Aを利用して、演算モデル51Aの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
【0350】
第2の例を採用する場合、演算モデル51Aには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63A及び対象データ61Aに対応する。エージェントにより実行される行動は、センサSA1の観測状態の変更であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Aの推定結果を取得して、取得された推定結果を統合することで、対象の環境下における推定結果を生成することができる。エージェントは、生成された推定結果に基づいて採用する行動を決定してもよい。
【0351】
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Aの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Aの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Aの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0352】
制御部11は、上記いずれかの方法により、演算モデル51Aの機械学習を実行することができる。これにより、制御部11は、対象の観測環境下におけるセンサSA1の最適な観測方法の推定に適合する各統合パラメータPAの値を環境データ63A(及び対象データ61A)から推定する能力を獲得した学習済み演算モデル52Aを生成することができる。制御部11は、生成された学習済み演算モデル52Aに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Aに関する情報は、統合規則データ57Aの少なくとも一部として保存されてもよいし、統合規則データ57Aとは別に保存されてもよい。
【0353】
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Aを利用して、各統合パラメータPAの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Aに環境データ63Aを与える。このとき、制御部11は、学習済み演算モデル52Aに対象データ61Aを更に与えてよい。そして、制御部11は、学習済み演算モデル52Aの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Aの出力として、各学習済み機械学習モデル45Aに対する各統合パラメータPAの値を取得することができる。
【0354】
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPAの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Aの学習環境データ35Aを取得する。次に、制御部11は、各件の学習環境データ35A及び環境データ63Aの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Aに対する各統合パラメータPAの値を決定してもよい。適合度に応じて統合パラメータPAの値を決定する方法は、上記実施形態と同様であってよい。
【0355】
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPAの値の指定を受け付けて、対象の統合パラメータPAの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(
図12A)。
【0356】
図16Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPAの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPAの値を使用して、対応する各学習済み機械学習モデル45Aの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPAのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPAに対応する学習済み機械学習モデル45Aの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Aの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象センサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を生成することができる。
【0357】
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
【0358】
例えば、制御部11は、ステップS204により生成された推定結果に基づいて、推定された適正な観測状態への変更方法に従って、対象センサSA1の観測状態を変更することをユーザに指示するための指示情報を推定結果に関する情報として生成してもよい。そして、制御部11は、生成された指示情報を出力装置に出力してもよい。出力先の出力装置は、検査装置1Aの出力装置16であってもよいし、他のコンピュータの出力装置であってよい。他のコンピュータは、ユーザの近傍に配置されたコンピュータであってもよいし、ユーザの所持する端末装置であってもよい。この出力方法によれば、専門知識を有さないユーザでも、対象の環境に応じてセンサSA1の観測状態を最適化することができる。
【0359】
また、検査装置1Aが、対象センサSA1の観測状態を変更させる介入装置に接続されている場合を想定する。この場合、制御部11は、生成された推定結果に基づいて、推定された適正な観測状態への変更方法に従って対象センサSA1の観測状態を変更させる動作を介入装置に実行させるための指令情報を推定結果に関する情報として生成してもよい。そして、制御部11は、介入装置に指令情報を送信することで、推定された変更方法に従って対象センサSA1の観測状態を変更するための動作を介入装置に実行させてもよい。このとき、制御部11は、介入装置の動作を直接的に制御してもよい。或いは、介入装置が制御装置を備えている場合、制御部11は、制御装置に指令情報を送信し、介入装置の動作の制御を制御装置に実行させることで、介入装置の動作を間接的に制御してもよい。この出力方法によれば、センサSA1の観測状態を自動的に最適化することができる。
【0360】
本変形例では、検査装置1Aは、介入装置の一例として雲台装置IN1及び照明装置IN2に接続されている。制御部11は、ステップS204において生成された推定結果に基づいて、雲台装置IN1及び照明装置IN2の少なくとも一方の動作を制御することで、対象センサSA1の観測状態を変更してもよい。これにより、対象センサSA1の設置角度及び対象物RA周囲の明るさの少なくとも一方を最適化することができる。
【0361】
なお、上記実施形態と同様に、検査装置1Aの制御部11は、各学習済み機械学習モデル45Aを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
【0362】
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Aを利用して、センサSA1の最適な観測方法を推定することができる。各ローカル学習装置2Aにより最適な観測方法を推定する対象のセンサSA1は、典型的には、各ローカル学習装置2A自身に接続されたセンサSA1である。ただし、対象のセンサSA1は、これに限られなくてもよく、各ローカル学習装置2Aは、他のコンピュータに接続されたセンサSA1の最適な観測方法を推定してもよい。
【0363】
ステップS111では、各ローカル学習装置2Aは、推定に利用する対象データを取得する。対象データの取得方法は、上記検査装置1AのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Aは、学習済み機械学習モデル45Aに対象データを与えて、学習済み機械学習モデル45Aの演算処理を実行する。これにより、各ローカル学習装置2Aは、学習済み機械学習モデル45Aの出力として、センサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を取得することができる。
【0364】
ステップS113では、各ローカル学習装置2Aは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Aは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。
【0365】
また、ステップS113の処理は、上記検査装置1AのステップS205と同様に実行されてよい。例えば、各ローカル学習装置2Aは、推定された適正な観測状態への変更方法に従って、センサSA1の観測状態を変更することをユーザに指示するための指示情報を生成し、生成された指示情報を出力装置に出力してもよい。また、各ローカル学習装置2Aは、例えば、雲台装置IN1、照明装置IN2等の介入装置に更に接続されていてもよい。この場合、各ローカル学習装置2Aは、推定された適正な観測状態への変更方法に従ってセンサSA1の観測状態を変更させる動作を介入装置に実行させるための指令情報を生成してもよい。そして、各ローカル学習装置2Aは、介入装置に指令情報を送信することで、推定された変更方法に従ってセンサSA1の観測状態を変更するための動作を介入装置に実行させてもよい。
【0366】
<特徴>
本変形例によれば、センサSA1で対象物RAの属性を観測する場面において、新たな環境でセンサSA1の最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSA1の観測状態の観測に他のセンサSA2を利用することで、センサSA1の観測状態が十分に反映された環境データ63Aを取得することができる。これにより、検査装置1Aによる対象センサSA1の最適な観測方法の推定精度の向上を図ることができる。
【0367】
更に、検査装置1Aの出力処理により、対象センサSA1の観測状態を自動的に又はユーザにより手動的に最適化することができる。これにより、人手による標準化に依らず、各環境においてセンサSA1の観測状態を体系的に最適化することができる。したがって、本変形例によれば、様々な環境において低コストで、製品の欠陥検出、植物の品質検査等のために対象物RAの属性を観察する方法を適正化することができる。よって、様々な環境において、ばらつきを抑えた高品質な検査を実施することができるようになる。
【0368】
なお、本変形例は適宜変更されてよい。例えば、他のセンサSA2以外から環境データ63Aを取得する場合、他のセンサSA2は省略されてよい。介入装置による観測状態の変更を実施しない場合、雲台装置IN1及び照明装置IN2は省略されてよい。検査装置1Aと各装置(センサSA1、他のセンサSA2、雲台装置IN1及び照明装置IN2)とは、通信インタフェースを介して接続されてよい。検査装置1Aは、上記ステップS205において、指示情報及び指令情報の両方を出力可能に構成されてもよい。或いは、指示情報及び指令情報のいずれか一方は省略されてもよい。
【0369】
(B)移動体の移動経路を予測する場面
図17は、第2変形例に係る予測システム100Bの適用場面の一例を模式的に例示する。本変形例は、移動体の移動する経路を予測する場面に上記実施形態を適用した例である。
図17に示されるとおり、本変形例に係る予測システム100Bは、予測装置1B及び複数のローカル学習装置2Bを備えている。上記実施形態と同様に、予測装置1B及び各ローカル学習装置2Bは、ネットワークを介して互いに接続されてよい。
【0370】
予測装置1Bは、上記推論装置1に対応する。各ローカル学習装置2Bは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、予測装置1Bは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に構成されてよい。予測装置1Bのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Bのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
【0371】
本変形例に係る所定の推論は、移動体RBの移動する経路を移動体RBの状態から予測することである。移動体RBは、移動する対象物であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。移動体RBは、例えば、生物(人間等)、機械(車両等)等であってよい。本変形例では、予測装置1B及び各ローカル学習装置2Bには、センサSB1が接続されている。移動体RBの状態は、センサSB1により観測される。センサSB1は、例えば、カメラ、ビーコン等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。
【0372】
本変形例に係る各ローカル学習装置2Bは、移動体RBの移動する経路を移動体RBの状態から予測する能力を獲得した学習済み機械学習モデル45Bを生成する。これに対して、本変形例に係る予測装置1Bは、各ローカル学習装置2Bにより異なる環境下で得られたローカル学習データ30Bから導出された各学習済み機械学習モデル45Bを利用して、対象の環境下において移動体RBの移動する経路を予測する。
【0373】
本変形例に係る予測装置1Bは、所定の推論の対象となる対象データ61B、及び所定の推論を実行する対象の環境に関する環境データ63Bを取得する。本変形例に係る所定の推論の対象となる対象データ61Bは、センサSB1により観測される対象の移動体RBの状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Bは、対象の移動体RBをセンサSB1が観測する対象の観測環境に関するものである。
【0374】
本変形例では、予測装置1Bは、他のセンサSB2に更に接続されている。他のセンサSB2は、移動体RBの状態を観測するセンサSB1とは異なり、対象の移動体RBをセンサSB1が観測する対象の観測環境を観測するのに利用される。そのため、予測装置1Bは、他のセンサSB2から環境データ63Bを取得することができる。対象の観測環境として、天気、気圧などを考慮する場合、他のセンサSB2は、例えば、気象センサ、気圧計等であってよい。
【0375】
本変形例に係る予測装置1Bは、取得された対象データ61Bを各学習済み機械学習モデル45Bに与えて、移動体RBの移動する経路を各学習済み機械学習モデル45Bに予測させる。これにより、本変形例に係る予測装置1Bは、移動体RBの移動する経路についての各学習済み機械学習モデル45Bの予測結果を取得する。そして、本変形例に係る予測装置1Bは、統合規則5Bに従って、各学習済み機械学習モデル45Bの予測結果を統合する。
【0376】
上記実施形態と同様に、統合規則5Bは、対象の環境下において、各学習済み機械学習モデル45Bの予測結果を重視する程度をそれぞれ規定する複数の統合パラメータPBを備えている。本変形例に係る予測装置1Bは、環境データ63Bに応じて、各統合パラメータPBの値を決定する。このとき、環境データ63Bの他に、対象データ61Bが更に考慮されてもよい。次に、本変形例に係る予測装置1Bは、決定された各統合パラメータPBの値を使用して、対応する各学習済み機械学習モデル45Bの予測結果を重み付けする。そして、本変形例に係る予測装置1Bは、各学習済み機械学習モデル45Bの重み付けされた予測結果を統合する。
【0377】
これにより、本変形例に係る予測装置1Bは、対象の環境下において、移動体RBの移動する経路を移動体RBの状態から予測した結果を生成することができる。
【0378】
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Bを生成する。すなわち、ステップS101では、各ローカル学習装置2Bは、ローカル学習データ30Bを取得する。そして、ステップS102では、各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40Bの機械学習を実行する。機械学習モデル40Bの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
【0379】
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Bは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Bと同種であり、センサSB1により観測される移動体RBの状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、その状態の移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40Bの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
【0380】
第2の例を採用する場合、ローカル学習データ30Bは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Bに生成させることを所望するデータにより構成される。訓練データは、例えば、移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成される。各件の訓練データは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40B及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
【0381】
第3の例を採用する場合、機械学習モデル40Bには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、移動体RBの移動する経路に関するものであってよく、エージェントにより実行される行動は、移動体RBの移動であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Bの予測結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、移動体RBの移動する経路を予測した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の予測処理の試行の結果に基づいて、経路予測の精度が閾値以上であればプラスの即時報酬を与え、経路予測の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、移動体RBが実際に移動した経路を示すデータにより構成されてよい。各ローカル学習装置2Bは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Bの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0382】
各ローカル学習装置2Bは、上記いずれかの方法により、機械学習モデル40Bの機械学習を実行することができる。これにより、各ローカル学習装置2Bは、移動体RBの状態から、移動体RBの移動する経路を予測する能力を獲得した学習済み機械学習モデル45Bを生成することができる。
【0383】
ステップS103では、各ローカル学習装置2Bは、ローカル学習データ30Bの得られた環境に関する学習環境データ35Bを取得する。学習環境データ35Bは、予測装置1Bで得られる環境データ63Bと同種のデータである。学習環境データ35Bを取得する方法は、環境データ63Bを取得する方法と同様であってよい。例えば、各ローカル学習装置2Bは、他のセンサSB2と同種のセンサに更に接続されてよく、学習環境データ35Bを当該センサから取得してもよい。ステップS104では、各ローカル学習装置2Bは、生成された学習済み機械学習モデル45Bに関する情報を学習結果データ47Bとして生成する。そして、各ローカル学習装置2Bは、学習結果データ47Bを学習環境データ35Bに関連付けて所定の記憶領域に保存する。
【0384】
本変形例では、各ローカル学習装置2Bの間において、ローカル学習データ30Bが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Bから学習済み機械学習モデル45Bが生成されてよい。その結果、移動体RBの移動する経路を予測可能に、異なる環境下で得られたローカル学習データ30Bから導出された複数の学習済み機械学習モデル45Bを得ることができる。
【0385】
<予測装置のハードウェア構成>
図18は、本変形例に係る予測装置1Bのハードウェア構成の一例を模式的に例示する。
図18に示されるとおり、本変形例に係る予測装置1Bは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。予測装置1Bは、外部インタフェース14を介して、センサSB1及び他のセンサSB2に接続される。ただし、予測装置1Bのハードウェア構成は、このような例に限定されなくてもよい。予測装置1Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。予測装置1Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってよい。
【0386】
本変形例に係る予測装置1Bの記憶部12は、予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、学習環境データ35B等の各種情報を記憶する。予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、予測装置1Bは、記憶媒体91から、予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bの少なくともいずれかを取得してもよい。
【0387】
<予測装置のソフトウェア構成>
図19A及び
図19Bは、本変形例に係る予測装置1Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、予測装置1Bのソフトウェア構成は、制御部11による予測プログラム81Bの実行により実現される。
図19A及び
図19Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、予測装置1Bのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、予測装置1Bは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
【0388】
(ステップS201)
すなわち、
図19Aに示されるとおり、ステップS201では、予測装置1Bの制御部11は、対象データ61Bを取得する。対象データ61Bは、センサSB1により観測される対象の移動体RBの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Bには、例えば、移動体RBの状態を観測するセンサSB1により得られる観測データ、当該観測データから解析される移動範囲の状態(例えば、混雑具合等)を示すデータ、移動体RBの現在位置を示すデータ、移動体RBの現在までの移動経路を示すデータ等が含まれてよい。
【0389】
対象データ61Bを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサSB1の観測データが対象データ61Bとして取得されてもよい。また、例えば、センサSB1により得られる観測データに何らかの解析処理を実行することで、対象データ61Bが取得されてもよい。また、例えば、オペレータ等の入力により、対象データ61Bは取得されてもよい。制御部11は、各装置から直接的に対象データ61Bを取得してもよいし、他のコンピュータを介して間接的に対象データ61Bを取得してもよい。
【0390】
(ステップS202)
ステップS202では、制御部11は、環境データ63Bを取得する。環境データ63Bは、対象の移動体RBをセンサSB1が観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Bには、例えば、移動体RBの属性を示すデータ、移動範囲の属性を示すデータ、移動に影響を及ぼす環境属性を示すデータ、センサSB1の仕様(又は性能)に関する属性を示すデータ、センサSB1の観測条件に関する属性を示すデータ等が含まれてよい。移動体RBの属性には、例えば、移動体RBの種別(人物又は車両の別、車種等)、移動体RBの移動能力に関する情報が含まれてよい。移動体RBが人物である場合、移動能力は、人物の性別、年齢、身長、体重等により評価されてもよい。また、移動体RBが車両である場合、移動能力は、車両の性能で評価されてよい。移動範囲の属性には、例えば、移動する場所、移動する通路(道路)の種別等が含まれてよい。移動する通路(道路)の種別には、例えば、歩行者専用、高速道路、一般道等が含まれてよい。移動に影響を及ぼす環境属性には、例えば、天候、混雑具合、曜日、休日/平日の種別等が含まれてよい。センサSB1の仕様に関する属性は、例えば、センサSB1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。センサSB1の観測条件に関する属性には、例えば、センサSB1の設置角度、センサSB1の動作設定に関する属性等が含まれてよい。センサSB1の動作設定に関する属性には、例えば、センサSB1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSB1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
【0391】
環境データ63Bを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、オペレータ等の入力により、環境データ63Bは取得されてもよい。また、例えば、環境データ63Bは、センサSB1により得られる観測データに何らかの解析処理を実行することにより取得されてもよい。また、例えば、対象の観測環境を観測する他のセンサ(例えば、他のセンサSB2)から環境データ63Bが取得されてもよい。また、例えば、気象データ等の情報を配信する他の情報処理装置(サーバ)から環境データ63Bが取得されてもよい。制御部11は、各装置から直接的に環境データ63Bを取得してもよいし、他のコンピュータを介して間接的に環境データ63Bを取得してもよい。
【0392】
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Bを参照することで、各学習済み機械学習モデル45Bの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Bに対象データ61Bを与えて、各学習済み機械学習モデル45Bの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Bの出力として、移動体RBの移動する経路についての各学習済み機械学習モデル45Bの予測結果を取得する。
【0393】
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Bを参照して、統合規則5Bの設定を行う。そして、制御部11は、統合規則5Bに従って、各学習済み機械学習モデル45Bの予測結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Bに応じて、各統合パラメータPBの値を決定する。このとき、環境データ63Bの他に、対象データ61Bが更に考慮されてもよい。各統合パラメータPBの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
【0394】
(1)第1の方法
図19Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Bを取得する。そして、制御部11は、学習データ59Bを利用して、演算モデル51Bの機械学習を実行する。演算モデル51Bの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Bの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
【0395】
第1の例を採用する場合、学習データ59Bは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Bと同種のデータである。訓練用対象データは、対象データ61Bと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、任意の状態の移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Bを利用して、演算モデル51Bの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
【0396】
第2の例を採用する場合、演算モデル51Bには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63B及び対象データ61Bに対応する。エージェントにより実行される行動は、移動体RBの移動であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Bの予測結果を取得して、取得された予測結果を統合することで、対象の環境下における移動体RBの移動経路の予測結果を生成することができる。エージェントは、生成された予測結果に基づいて採用する行動を決定してもよい。
【0397】
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される予測結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Bの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Bの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Bの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0398】
制御部11は、上記いずれかの方法により、演算モデル51Bの機械学習を実行することができる。これにより、制御部11は、対象の観測環境下における移動体RBの移動する経路の予測に適合する各統合パラメータPBの値を環境データ63B(及び対象データ61B)から推定する能力を獲得した学習済み演算モデル52Bを生成することができる。制御部11は、生成された学習済み演算モデル52Bに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Bに関する情報は、統合規則データ57Bの少なくとも一部として保存されてもよいし、統合規則データ57Bとは別に保存されてもよい。
【0399】
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Bを利用して、各統合パラメータPBの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Bに環境データ63Bを与える。このとき、制御部11は、学習済み演算モデル52Bに対象データ61Bを更に与えてよい。そして、制御部11は、学習済み演算モデル52Bの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Bの出力として、各学習済み機械学習モデル45Bに対する各統合パラメータPBの値を取得することができる。
【0400】
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPBの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Bの学習環境データ35Bを取得する。次に、制御部11は、各件の学習環境データ35B及び環境データ63Bの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Bに対する各統合パラメータPBの値を決定してもよい。適合度に応じて統合パラメータPBの値を決定する方法は、上記実施形態と同様であってよい。
【0401】
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPBの値の指定を受け付けて、対象の統合パラメータPBの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(
図12A)。
【0402】
図19Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPBの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPBの値を使用して、対応する各学習済み機械学習モデル45Bの予測結果を重み付けする。上記第3の方法により複数の統合パラメータPBのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPBに対応する学習済み機械学習モデル45Bの予測結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Bの重み付けされた予測結果を統合する。予測結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、移動体RBの状態から移動体RBの移動する経路を予測した結果を生成することができる。
【0403】
(ステップS205)
ステップS205では、制御部11は、生成された予測結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された予測結果をそのまま出力装置16に出力してもよいし、生成された予測結果に基づいて、何らかの情報処理を実行してもよい。
【0404】
例えば、制御部11は、ステップS204により生成された予測結果に基づいて、例えば、混雑していない経路等の推奨される移動経路を示す情報を予測結果に関する情報として生成してもよい。そして、制御部11は、生成された推奨経路を示す情報を他の移動体に向けて出力してもよい。
【0405】
なお、上記実施形態と同様に、予測装置1Bの制御部11は、各学習済み機械学習モデル45Bを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
【0406】
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Bを利用して、移動体RBの移動する経路を予測することができる。
【0407】
ステップS111では、各ローカル学習装置2Bは、予測に利用する対象データを取得する。対象データの取得方法は、上記予測装置1BのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Bは、学習済み機械学習モデル45Bに対象データを与えて、学習済み機械学習モデル45Bの演算処理を実行する。これにより、各ローカル学習装置2Bは、学習済み機械学習モデル45Bの出力として、移動体RBの移動する経路を予測した結果を取得する。
【0408】
ステップS113では、各ローカル学習装置2Bは、予測結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Bは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。また、ステップS113の処理は、上記予測装置1BのステップS205と同様に実行されてよい。
【0409】
<特徴>
本変形例によれば、センサSB1で移動体RBの移動を観測する場面において、新たな環境で移動体RBの移動を適切に予測可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSB1の観測環境の観測に他のセンサSB2を利用することで、センサSB2の観測環境が十分に反映された環境データ63Bを取得することができる。これにより、予測装置1Bによる移動体RBの移動する経路の予測精度の向上を図ることができる。
【0410】
なお、本変形例は適宜変更されてよい。例えば、他のセンサSB2以外から環境データ63Bを取得する場合、他のセンサSB2は省略されてよい。予測装置1Bと各センサ(センサSA1、他のセンサSA2)とは、通信インタフェースを介して接続されてよい。
【0411】
(C)ユーザに適合する会話戦略を推定する場面
図20は、第3変形例に係る会話システム100Cの適用場面の一例を模式的に例示する。本変形例は、ユーザの適合する会話戦略を推定する場面に上記実施形態を適用した例である。
図20に示されるとおり、本変形例に係る会話システム100Cは、会話装置1C及び複数のローカル学習装置2Cを備えている。上記実施形態と同様に、会話装置1C及び各ローカル学習装置2Cは、ネットワークを介して互いに接続されてよい。
【0412】
会話装置1Cは、上記推論装置1に対応する。各ローカル学習装置2Cは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、会話装置1Cは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に構成されてよい。会話装置1Cのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Cのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
【0413】
本変形例に係る所定の推論は、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定することである。会話戦略は、会話を生成する規則を与える。会話戦略は、例えば、発話する会話の内容、発話タイミング、会話の頻度、口調等を規定してもよい。ユーザの会話行動には、ユーザの会話に関するあらゆる行動が含まれてよい。ユーザの会話行動には、例えば、会話の内容、会話の頻度等が含まれてよい。会話の頻度は、例えば、前回に会話してからの経過時間、次に会話するまでの平均時間、一定時間内における会話の回数等により表現されてよい。本変形例では、会話装置1C及び各ローカル学習装置2Cには、マイクロフォンSC1が接続されている。ユーザRCの会話行動は、マイクロフォンSC1により観測される。
【0414】
なお、マイクロフォンSC1は、ユーザRCの会話行動を観測するセンサの一例である。ユーザRCの会話行動を観測する方法は、このような例に限定されなくてもよく、マイクロフォン以外の方法が採用されてもよい。例えば、ユーザRCの会話行動は、ビデオカメラにより観測されてもよい。また、例えば、ユーザRCの会話行動は、キーボード等の入力装置を介して取得されてもよい。
【0415】
本変形例に係る各ローカル学習装置2Cは、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定する能力を獲得した学習済み機械学習モデル45Cを生成する。これに対して、本変形例に係る会話装置1Cは、各ローカル学習装置2Cにより異なる環境下で得られたローカル学習データ30Cから導出された各学習済み機械学習モデル45Cを利用して、対象の環境下において対象ユーザRCに適合する会話の戦略を推定する。
【0416】
本変形例に係る会話装置1Cは、所定の推論の対象となる対象データ61C、及び所定の推論を実行する対象の環境に関する環境データ63Cを取得する。本変形例に係る所定の推論の対象となる対象データ61Cは、対象のユーザRCの会話行動に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Cは、対象のユーザRCが会話行動を行う対象の会話環境に関するものである。
【0417】
本変形例では、マイクロフォンSC1とは別の他のセンサとしてカメラSC2が会話装置1Cに更に接続されている。カメラSC2は、対象のユーザRCが会話行動を行う対象の会話環境を観測するのに利用される。そのため、本変形例に係る会話装置1Cは、カメラSC2から環境データ63Cを取得することができる。なお、対象の会話環境を観測するセンサは、カメラに限られなくてもよく、実施の形態に応じて適宜選択されてよい。対象の会話環境として、気温、天気等を考慮する場合、対象の会話環境を観測するセンサには、例えば、気温計、気象センサ等が用いられてよい。
【0418】
本変形例に係る会話装置1Cは、取得された対象データ61Cを各学習済み機械学習モデル45Cに与えて、ユーザRCに適合する会話の戦略を各学習済み機械学習モデル45Cに推定させる。これにより、本変形例に係る会話装置1Cは、ユーザRCに適合する会話戦略についての各学習済み機械学習モデル45Cの推定結果を取得する。そして、本変形例に係る会話装置1Cは、統合規則5Cに従って、各学習済み機械学習モデル45Cの推定結果を統合する。
【0419】
上記実施形態と同様に、統合規則5Cは、対象の環境下において、各学習済み機械学習モデル45Cの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPcを備えている。本変形例に係る会話装置1Cは、環境データ63Cに応じて、各統合パラメータPcの値を決定する。このとき、環境データ63Cの他に、対象データ61Cが更に考慮されてもよい。次に、本変形例に係る会話装置1Cは、決定された各統合パラメータPcの値を使用して、対応する各学習済み機械学習モデル45Cの推定結果を重み付けする。そして、本変形例に係る会話装置1Cは、各学習済み機械学習モデル45Cの重み付けされた推定結果を統合する。
【0420】
これにより、本変形例に係る会話装置1Cは、対象の環境下において、対象のユーザRCに適合する会話の戦略を対象のユーザRCの会話行動から推定した結果を生成することができる。
【0421】
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Cを生成する。すなわち、ステップS101では、各ローカル学習装置2Cは、ローカル学習データ30Cを取得する。そして、ステップS102では、各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40Cの機械学習を実行する。機械学習モデル40Cの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
【0422】
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Cは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Cと同種であり、ユーザRC(被験者)の会話行動に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、そのユーザRC(被験者)に適合する会話戦略を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40Cの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
【0423】
第2の例を採用する場合、ローカル学習データ30Cは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Cに生成させることを所望するデータにより構成される。訓練データは、例えば、ユーザRC(被験者)に適合する会話戦略を示すデータにより構成される。各件の訓練データは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40C及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
【0424】
第3の例を採用する場合、機械学習モデル40Cには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、ユーザRCの会話行動に関するものであってよく、エージェントにより実行される行動は、ユーザRCとの会話であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Cの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、ユーザRCに適合する会話戦略を推定した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、会話戦略の推定の精度が閾値以上であればプラスの即時報酬を与え、会話戦略の推定の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。なお、会話戦略の推定精度は、例えば、ユーザRCの会話頻度が向上した等、エージェントとユーザRCとの会話が公的な方向に改善したことに基づいて評価されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者により指定された会話戦略を示すデータにより構成されてよい。各ローカル学習装置2Cは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Cの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0425】
各ローカル学習装置2Cは、上記いずれかの方法により、機械学習モデル40Cの機械学習を実行することができる。これにより、各ローカル学習装置2Cは、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定する能力を獲得した学習済み機械学習モデル45Cを生成することができる。
【0426】
ステップS103では、各ローカル学習装置2Cは、ローカル学習データ30Cの得られた環境に関する学習環境データ35Cを取得する。学習環境データ35Cは、会話装置1Cで得られる環境データ63Cと同種のデータである。学習環境データ35Cを取得する方法は、環境データ63Cを取得する方法と同様であってよい。例えば、各ローカル学習装置2Cは、カメラSC2と同種のカメラに更に接続されてよく、学習環境データ35Cを当該カメラから取得してもよい。ステップS104では、各ローカル学習装置2Cは、生成された学習済み機械学習モデル45Cに関する情報を学習結果データ47Cとして生成する。そして、各ローカル学習装置2Cは、学習結果データ47Cを学習環境データ35Cに関連付けて所定の記憶領域に保存する。
【0427】
本変形例では、各ローカル学習装置2Cの間において、ローカル学習データ30Cが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Cから学習済み機械学習モデル45Cが生成されてよい。その結果、ユーザRCに適合する会話戦略を推定可能に、異なる環境下で得られたローカル学習データ30Cから導出された複数の学習済み機械学習モデル45Cを得ることができる。
【0428】
<会話装置のハードウェア構成>
図21は、本変形例に係る会話装置1Cのハードウェア構成の一例を模式的に例示する。
図21に示されるとおり、本変形例に係る会話装置1Cは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。会話装置1Cは、外部インタフェース14を介して、マイクロフォンSC1及びカメラSC2に接続される。ただし、会話装置1Cのハードウェア構成は、このような例に限定されなくてもよい。会話装置1Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。会話装置1Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、携帯電話、スマートフォン、モバイルPC等であってよい。
【0429】
本変形例に係る会話装置1Cの記憶部12は、会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、学習環境データ35C等の各種情報を記憶する。会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、会話装置1Cは、記憶媒体91から、会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cの少なくともいずれかを取得してもよい。
【0430】
<会話装置のソフトウェア構成>
図22A及び
図22Bは、本変形例に係る会話装置1Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、会話装置1Cのソフトウェア構成は、制御部11による会話プログラム81Cの実行により実現される。
図22A及び
図22Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、会話装置1Cのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、会話装置1Cは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
【0431】
(ステップS201)
すなわち、
図22Aに示されるとおり、ステップS201では、会話装置1Cの制御部11は、対象データ61Cを取得する。対象データ61Cは、対象のユーザRCの会話行動に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Cには、例えば、対象のユーザRCの会話行動を観測するセンサにより得られる観測データ、観測データから解析される会話情報を示すデータ等が含まれてよい。会話行動を観測するセンサは、例えば、マイクロフォン、カメラ、ビデオカメラ等であってよい。また、観測データから解析される会話情報は、例えば、会話の内容、会話の頻度、会話装置1CとユーザRCとの間の距離等が含まれてよい。会話情報の解析には、公知の方法が採用されてよい。また、会話の内容、会話の頻度等の会話情報は、入力装置15を介したユーザRCの入力行動から特定されてもよい。
【0432】
対象データ61Cを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、会話行動を観測するセンサにより得られる観測データが対象データ61Cとして取得されてよい。本変形例では、会話装置1CにはマイクロフォンSC1が接続されているため、制御部11は、マイクロフォンSC1により得られる音データを対象データ61Cとして取得することができる。また、例えば、センサにより得られる観測データに何らかの解析処理を実行することで、対象データ61Cが取得されてもよい。本変形例では、マイクロフォンSC1により得られる音データに何らかの解析処理(例えば、音声解析)を実行し、これにより得られる解析結果(例えば、会話の文字列)を対象データ61Cとして取得してもよい。また、例えば、入力装置15を介したユーザRCの入力行動に基づいて対象データ61Cが取得されてもよい。制御部11は、各装置から直接的に対象データ61Cを取得してもよいし、他のコンピュータを介して間接的に対象データ61Cを取得してもよい。
【0433】
(ステップS202)
ステップS202では、制御部11は、環境データ63Cを取得する。環境データ63Cは、対象のユーザRCが会話行動を行う対象の会話環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Cには、例えば、ユーザRCの属性を示すデータ、会話行動に影響を与える環境属性を示すデータ、会話行動を観測するセンサの仕様(又は性能)に関する属性を示すデータ等が含まれてよい。ユーザRCの属性には、例えば、ユーザRCの年齢、性別、職業、出身地、性格タイプ等が含まれてよい。会話行動に異教を与える環境属性には、例えば、気温、天候、曜日、休日/平日の種別等が含まれてよい。センサの仕様に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。
【0434】
環境データ63Cを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、環境データ63Cは、ユーザ等の入力により取得されてもよい。また、例えば、環境データ63Cは、会話行動を観測するセンサから取得されてもよい。本変形例では、マイクロフォンSC1から得られる仕様に関する情報が環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、会話行動を観測するセンサにより得られる観測データに何らかの解析処理を実行することで取得されてもよい。本変形例では、マイクロフォンSC1により得られる音データに何らかの解析処理(例えば、音声解析)を実行し、これにより得られる解析結果(例えば、ユーザの性別を識別した結果)が環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、対象の会話環境を観測する他のセンサから取得されてもよい。本変形例では、他のセンサとしてカメラSC2が会話装置1Cに接続されている。そのため、カメラSC2により得られる画像データが環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、他のセンサにより得られる観測データに何らかの解析処理を実行することで取得されてもよい。本変形例では、カメラSC2により得られる画像データに何らかの解析処理(例えば、ユーザの属性を識別する画像解析)を実行し、これにより得られる解析結果(ユーザの属性の識別結果)が環境データ63Cとして取得されてもよい。また、例えば、気象データ等の情報を配信する他の情報処理装置(サーバ)から環境データ63Cが取得されてもよい。制御部11は、各装置から直接的に環境データ63Cを取得してもよいし、他のコンピュータを介して間接的に環境データ63Cを取得してもよい。
【0435】
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Cを参照することで、各学習済み機械学習モデル45Cの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Cに対象データ61Cを与えて、各学習済み機械学習モデル45Cの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Cの出力として、ユーザRCに適合する会話戦略についての各学習済み機械学習モデル45Cの推定結果を取得する。
【0436】
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Cを参照して、統合規則5Cの設定を行う。そして、制御部11は、統合規則5Cに従って、各学習済み機械学習モデル45Cの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Cに応じて、各統合パラメータPcの値を決定する。このとき、環境データ63Cの他に、対象データ61Cが更に考慮されてもよい。各統合パラメータPcの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
【0437】
(1)第1の方法
図22Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Cを取得する。そして、制御部11は、学習データ59Cを利用して、演算モデル51Cの機械学習を実行する。演算モデル51Cの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Cの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
【0438】
第1の例を採用する場合、学習データ59Cは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Cと同種のデータである。訓練用対象データは、対象データ61Cと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、ユーザRCに適合する会話戦略を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Cを利用して、演算モデル51Cの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
【0439】
第2の例を採用する場合、演算モデル51Cには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63C及び対象データ61Cに対応する。エージェントにより実行される行動は、ユーザRCとの会話であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Cの推定結果を取得して、取得された推定結果を統合することで、対象の環境下においてユーザRCに適合する会話戦略の推定結果を生成することができる。エージェントは、生成された推定結果(すなわち、推定された最適な会話戦略)に基づいて採用する会話行動を決定してもよい。
【0440】
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Cの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Cの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Cの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0441】
制御部11は、上記いずれかの方法により、演算モデル51Cの機械学習を実行することができる。これにより、制御部11は、対象の会話環境下におけるユーザRCに適合する会話戦略の推定に適合する各統合パラメータPcの値を環境データ63C(及び対象データ61C)から推定する能力を獲得した学習済み演算モデル52Cを生成することができる。制御部11は、生成された学習済み演算モデル52Cに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Cに関する情報は、統合規則データ57Cの少なくとも一部として保存されてもよいし、統合規則データ57Cとは別に保存されてもよい。
【0442】
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Cを利用して、各統合パラメータPcの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Cに環境データ63Cを与える。このとき、制御部11は、学習済み演算モデル52Cに対象データ61Cを更に与えてよい。そして、制御部11は、学習済み演算モデル52Cの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Cの出力として、各学習済み機械学習モデル45Cに対する各統合パラメータPcの値を取得することができる。
【0443】
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPcの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Cの学習環境データ35Cを取得する。次に、制御部11は、各件の学習環境データ35C及び環境データ63Cの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Cに対する各統合パラメータPcの値を決定してもよい。適合度に応じて統合パラメータPcの値を決定する方法は、上記実施形態と同様であってよい。
【0444】
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPcの値の指定を受け付けて、対象の統合パラメータPcの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(
図12A)。
【0445】
図22Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPcの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPcの値を使用して、対応する各学習済み機械学習モデル45Cの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPcのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPcに対応する学習済み機械学習モデル45Cの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Cの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象のユーザRCに適合する会話戦略を推定した結果を生成することができる。
【0446】
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
【0447】
例えば、制御部11は、生成された推定結果、すなわち、推定されたユーザRC適合の会話戦略に基づいて、ユーザRCと会話を行ってもよい。制御部11は、スピーカ、ディスプレイ等の出力装置16を介して会話内容を出力してもよい。会話の出力は、音声出力であってもよいし、画像出力であってもよい。また、会話の出力先は、出力装置16に限られなくてもよい。制御部11は、他のコンピュータを介してユーザRCと会話を行ってもよい。
【0448】
なお、上記実施形態と同様に、会話装置1Cの制御部11は、各学習済み機械学習モデル45Cを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
【0449】
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Cを利用して、ユーザRCに適合する会話戦略を推定することができる。
【0450】
ステップS111では、各ローカル学習装置2Cは、推定に利用する対象データを取得する。対象データの取得方法は、上記会話装置1CのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Cは、学習済み機械学習モデル45Cに対象データを与えて、学習済み機械学習モデル45Cの演算処理を実行する。これにより、各ローカル学習装置2Cは、学習済み機械学習モデル45Cの出力として、ユーザRCに適合する会話戦略を推定した結果を取得する。
【0451】
ステップS113では、各ローカル学習装置2Cは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Cは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。また、上記会話装置1CのステップS205と同様に、各ローカル学習装置2Cは、出力処理として、推定されたユーザRC適合の会話戦略に基づいて、ユーザRCと会話を行ってもよい。
【0452】
<特徴>
本変形例によれば、ユーザRCとの間で会話を行う場面において、新たな環境で対象のユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、これに応じて、そのような推論モデルを構築するまでにかかる時間を短縮することが可能である。
【0453】
ユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するのに時間がかかる場合、その構築の間に、ユーザRCに適合しない会話戦略に基づく会話が繰り返される可能性がある。これにより、ユーザRCは、会話装置との会話を煩わしく感じ、会話装置の利用を止めてしまう可能性がある。これに対して、本変形例によれば、ユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するまでにかかる時間を短縮することができるため、会話装置1Cの利用性を高めることができる。
【0454】
なお、本変形例は適宜変更されてよい。例えば、マイクロフォンSC1以外から対象データ61Cを取得する場合、マイクロフォンSC1は省略されてよい。カメラSC2以外から環境データ63Cを取得する場合、カメラSC2は省略されてよい。会話装置1Cと各センサ(マイクロフォンSC1、カメラSC2)とは、通信インタフェースを介して接続されてもよい。
【0455】
(D)タスクに適合する動作指令を推定する場面
図23は、第4変形例に係る制御システム100Dの適用場面の一例を模式的に例示する。本変形例は、タスクに適合する動作指令を推定する場面に上記実施形態を適用した例である。
図23に示されるとおり、本変形例に係る制御システム100Dは、制御装置1D及び複数のローカル学習装置2Dを備えている。上記実施形態と同様に、制御装置1D及び各ローカル学習装置2Dは、ネットワークを介して互いに接続されてよい。
【0456】
制御装置1Dは、上記推論装置1に対応する。各ローカル学習装置2Dは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、制御装置1Dは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に構成されてよい。制御装置1Dのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Dのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
【0457】
本変形例に係る所定の推論は、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定することである。ロボット装置RD及びタスクそれぞれの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ロボット装置RDは、例えば、産業用ロボット、設備装置、自動運転可能な車両等であってよい。設備装置は、例えば、エアコンディショナ、照明装置等であってよい。ロボット装置RDが産業用ロボットである場合、タスクは、例えば、ワークを目的位置に配置することなどであってよい。ロボット装置RDがエアコンディショナ等の設備装置である場合、タスクは、例えば、所定の温度に保つ等、設備装置の種類に応じて適宜決定されてよい。ロボット装置RDが自動運転可能な車両である場合、タスクは、例えば、現在位置から目的位置まで自動運転により移動すること等であってよい。本変形例では、制御装置1D及び各ローカル学習装置2Dそれぞれには、ロボット装置RDが接続されている。これにより、制御装置1D及び各ローカル学習装置2Dはそれぞれ、推定した動作指令に基づいてロボット装置RDの動作を制御することができる。
【0458】
本変形例に係る各ローカル学習装置2Dは、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定する能力を獲得した学習済み機械学習モデル45Dを生成する。これに対して、本変形例に係る制御装置1Dは、各ローカル学習装置2Dにより異なる環境下で得られたローカル学習データ30Dから導出された各学習済み機械学習モデル45Dを利用して、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定する。
【0459】
本変形例に係る制御装置1Dは、所定の推論の対象となる対象データ61D、及び所定の推論を実行する対象の環境に関する環境データ63Dを取得する。本変形例に係る所定の推論の対象となる対象データ61Dは、対象のロボット装置RDの状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Dは、対象のロボット装置RDがタスクを遂行する対象のタスク環境に関するものである。
【0460】
本変形例では、センサSDが制御装置1Dに更に接続されている。センサSDは、例えば、カメラ等であり、対象のロボット装置RDの状態を観測するのに利用される。そのため、本変形例に係る制御装置1Dは、センサSDから対象データ61Dを取得することができる。なお、センサSD又は他のセンサにより、対象のタスク環境が観測されてよい。この場合、本変形例に係る制御装置1Dは、センサSD又は他のセンサから環境データ63Dを取得してもよい。
【0461】
本変形例に係る制御装置1Dは、取得された対象データ61Dを各学習済み機械学習モデル45Dに与えて、タスクに適合するロボット装置RDの動作指令を各学習済み機械学習モデル45Dに推定させる。これにより、本変形例に係る制御装置1Dは、タスクに適合するロボット装置RDの動作指令についての各学習済み機械学習モデル45Dの推定結果を取得する。そして、本変形例に係る制御装置1Dは、統合規則5Dに従って、各学習済み機械学習モデル45Dの推定結果を統合する。
【0462】
上記実施形態と同様に、統合規則5Dは、対象の環境下において、各学習済み機械学習モデル45Dの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPDを備えている。本変形例に係る制御装置1Dは、環境データ63Dに応じて、各統合パラメータPDの値を決定する。このとき、環境データ63Dの他に、対象データ61Dが更に考慮されてもよい。次に、本変形例に係る制御装置1Dは、決定された各統合パラメータPDの値を使用して、対応する各学習済み機械学習モデル45Dの推定結果を重み付けする。そして、本変形例に係る制御装置1Dは、各学習済み機械学習モデル45Dの重み付けされた推定結果を統合する。
【0463】
これにより、本変形例に係る制御装置1Dは、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定することができる。
【0464】
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Dを生成する。すなわち、ステップS101では、各ローカル学習装置2Dは、ローカル学習データ30Dを取得する。そして、ステップS102では、各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40Dの機械学習を実行する。機械学習モデル40Dの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
【0465】
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Dは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Dと同種であり、ロボット装置RDの状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、そのタスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40Dの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
【0466】
第2の例を採用する場合、ローカル学習データ30Dは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Dに生成させることを所望するデータにより構成される。訓練データは、例えば、タスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成される。各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40D及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
【0467】
第3の例を採用する場合、機械学習モデル40Dには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、ロボット装置RDの内部及び外部の少なくとも一方の状況に関するものであってよい。エージェントにより実行される行動は、動作指令に基づく動作であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Dの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、タスクに適合する動作指令を推定した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、動作指令の推定の精度が閾値以上であればプラスの即時報酬を与え、動作指令の推定の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。なお、動作指令の推定精度は、例えば、対象のタスクが適正に遂行されたか否か等、タスクの遂行状況に基づいて評価されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者によるロボット装置RDの操作軌跡を示すデータにより構成されてよい。各ローカル学習装置2Dは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Dの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0468】
各ローカル学習装置2Dは、上記いずれかの方法により、機械学習モデル40Dの機械学習を実行することができる。これにより、各ローカル学習装置2Dは、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定する能力を獲得した学習済み機械学習モデル45Dを生成することができる。
【0469】
ステップS103では、各ローカル学習装置2Dは、ローカル学習データ30Dの得られた環境に関する学習環境データ35Dを取得する。学習環境データ35Dは、制御装置1Dで得られる環境データ63Dと同種のデータである。学習環境データ35Dを取得する方法は、環境データ63Dを取得する方法と同様であってよい。ステップS104では、各ローカル学習装置2Dは、生成された学習済み機械学習モデル45Dに関する情報を学習結果データ47Dとして生成する。そして、各ローカル学習装置2Dは、学習結果データ47Dを学習環境データ35Dに関連付けて所定の記憶領域に保存する。
【0470】
本変形例では、各ローカル学習装置2Dの間において、ローカル学習データ30Dが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Dから学習済み機械学習モデル45Dが生成されてよい。その結果、タスクに適合するロボット装置RDの動作指令を推定可能に、異なる環境下で得られたローカル学習データ30Dから導出された複数の学習済み機械学習モデル45Dを得ることができる。
【0471】
図24は、本変形例に係る制御装置1Dのハードウェア構成の一例を模式的に例示する。
図24に示されるとおり、本変形例に係る制御装置1Dは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。制御装置1Dは、外部インタフェース14を介して、ロボット装置RD及びセンサSDに接続される。ただし、制御装置1Dのハードウェア構成は、このような例に限定されなくてもよい。制御装置1Dの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。制御装置1Dは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってよい。
【0472】
本変形例に係る制御装置1Dの記憶部12は、制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、学習環境データ35D等の各種情報を記憶する。制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、制御装置1Dは、記憶媒体91から、制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dの少なくともいずれかを取得してもよい。
【0473】
<制御装置のソフトウェア構成>
図25A及び
図25Bは、本変形例に係る制御装置1Dのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、制御装置1Dのソフトウェア構成は、制御部11による制御プログラム81Dの実行により実現される。
図25A及び
図25Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、制御装置1Dのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、制御装置1Dは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
【0474】
(ステップS201)
すなわち、
図25Aに示されるとおり、ステップS201では、制御装置1Dの制御部11は、対象データ61Dを取得する。対象データ61Dは、対象のロボット装置RDの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Dには、例えば、ロボット装置RDの内部状況を示すデータ、ロボット装置RDの外部状況を示すデータ等が含まれてよい。
【0475】
ロボット装置RDが産業用ロボットである場合、ロボット装置RDの内部状況には、例えば、エンコーダにより計測される各関節の角度、力センサにより計測されるエンドエフェクタに作用する力等が含まれてよく、ロボット装置RDの外部状況には、例えば、ワークの状態、作業範囲の状態等が含まれてよい。ワークの状態及び作業範囲の状態は、例えば、カメラ等のセンサにより観測されてよい。
【0476】
また、ロボット装置RDが設備装置である場合、ロボット装置RDの内部状況には、例えば、設備装置の動作設定(例えば、空調温度)等が含まれてよく、ロボット装置RDの外部状況には、例えば、設備装置の動作範囲の状態等が含まれてよい。設備装置が空調装置である場合、設備装置の動作範囲の状態には、例えば、温度センサにより得られる室内温度が含まれてよい。
【0477】
ロボット装置RDが自動運転可能な車両である場合、ロボット装置RDの内部状況には、例えば、ハンドルの操舵角、アクセル量、ブレーキ量、クラクションの操作の有無等が含まれてよく、ロボット装置RDの外部状況には、例えば、障害物の有無、走行道路の状態等の車両外部の状況が含まれてよい。車両外部の状況は、例えば、カメラ、Lidarセンサ等により観測されてよい。
【0478】
対象データ61Dを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ロボット装置RD自身から内部状況を示すデータが対象データ61Dとして取得されてもよい。また、例えば、対象データ61Dは、ロボット装置RDの内部状況を観測するセンサから取得されてもよい。ロボット装置RDの内部状況を観測するセンサには、例えば、エンコーダ、力センサ等が用いられてよい。また、例えば、対象データ61Dは、ロボット装置RDの外部状況を観測するセンサから取得されてもよい。ロボット装置RDの外部状況を観測するセンサには、例えば、カメラ、Lidarセンサ、赤外線センサ等が用いられてよい。また、例えば、オペレータ等の入力により、対象データ61Dは取得されてもよい。制御部11は、各装置から直接的に対象データ61Dを取得してもよいし、他のコンピュータを介して間接的に対象データ61Dを取得してもよい。本変形例では、制御装置1Dには、ロボット装置RDの外部状況を観測するセンサSDが接続されている。そのため、制御部11は、センサSDから対象データ61Dを取得することができる。
【0479】
(ステップS202)
ステップS202では、制御部11は、環境データ63Dを取得する。環境データ63Dは、対象のロボット装置RDがタスクを遂行する対象のタスク環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Dには、例えば、ロボット装置RDの属性を示すデータ、ロボット装置RDの状態を観測するセンサの仕様(又は性能)に関する属性を示すデータ、センサの観測条件に関する属性を示すデータ等が含まれてもよい。
【0480】
ロボット装置RDの属性には、例えば、ロボット装置RDの種別、ロボット装置RDの性能等が含まれてよい。ロボット装置RDが産業用ロボットである場合、ロボット装置RDの性能は、例えば、駆動範囲、可搬重量等により表現されてよい。ロボット装置RDが空調装置である場合、ロボット装置RDの性能は、例えば、温度制御範囲等により表現されてよい。ロボット装置RDが自動運転可能な車両である場合、ロボット装置RDの性能は、例えば、限界走行速度等により表現されてよい。
【0481】
センサの仕様に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。センサの観測条件に関する属性には、例えば、センサの設置角度、センサの動作設定に関する属性等が含まれてよい。センサの動作設定に関する属性には、例えば、センサの計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサがカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
【0482】
環境データDを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、環境データ63Dは、オペレータ等の入力により取得されてもよい。また、例えば、環境データ63Dは、ロボット装置RD自身又はロボット装置RDの情報を提供する他の情報処理装置(サーバ)から取得されてもよい。また、例えば、環境データ63Dは、ロボット装置RDの状態を観測するセンサ自身又はセンサの情報を提供する他の情報処理装置(サーバ)から取得されてもよい。制御部11は、各装置から直接的に環境データ63Dを取得してもよいし、他のコンピュータを介して間接的に環境データ63Dを取得してもよい。
【0483】
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Dを参照することで、各学習済み機械学習モデル45Dの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Dに対象データ61Dを与えて、各学習済み機械学習モデル45Dの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Dの出力として、タスクに適合するロボット装置RDの動作指令についての各学習済み機械学習モデル45Dの推定結果を取得する。
【0484】
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Dを参照して、統合規則5Dの設定を行う。そして、制御部11は、統合規則5Dに従って、各学習済み機械学習モデル45Dの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Dに応じて、各統合パラメータPDの値を決定する。このとき、環境データ63Dの他に、対象データ61Dが更に考慮されてもよい。各統合パラメータPDの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
【0485】
(1)第1の方法
図25Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Dを取得する。そして、制御部11は、学習データ59Dを利用して、演算モデル51Dの機械学習を実行する。演算モデル51Dの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Dの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
【0486】
第1の例を採用する場合、学習データ59Dは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Dと同種のデータである。訓練用対象データは、対象データ61Dと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、タスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Dを利用して、演算モデル51Dの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
【0487】
第2の例を採用する場合、演算モデル51Dには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63D及び対象データ61Dに対応する。エージェントにより実行される行動は、動作指令に基づく動作であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Dの推定結果を取得し、取得された推定結果を統合することで、対象の環境下においてタスクに適合するロボット装置RDの動作指令の推定結果を生成することができる。エージェントは、生成された推定結果(すなわち、推定された最適な動作指令)に基づいて採用する動作を決定してもよい。
【0488】
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Dの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Dの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Dの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
【0489】
制御部11は、上記いずれかの方法により、演算モデル51Dの機械学習を実行することができる。これにより、制御部11は、対象のタスク環境下において対象のロボット装置RDのタスクに適合する動作指令の推定に適合する各統合パラメータPDの値を環境データ63D(及び対象データ61D)から推定する能力を獲得した学習済み演算モデル52Dを生成することができる。制御部11は、生成された学習済み演算モデル52Dに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Dに関する情報は、統合規則データ57Dの少なくとも一部として保存されてもよいし、統合規則データ57Dとは別に保存されてもよい。
【0490】
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Dを利用して、各統合パラメータPDの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Dに環境データ63Dを与える。このとき、制御部11は、学習済み演算モデル52Dに対象データ61Dを更に与えてよい。そして、制御部11は、学習済み演算モデル52Dの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Dの出力として、各学習済み機械学習モデル45Dに対する各統合パラメータPDの値を取得することができる。
【0491】
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPDの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Dの学習環境データ35Dを取得する。次に、制御部11は、各件の学習環境データ35D及び環境データ63Dの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Dに対する各統合パラメータPDの値を決定してもよい。適合度に応じて統合パラメータPDの値を決定する方法は、上記実施形態と同様であってよい。
【0492】
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPDの値の指定を受け付けて、対象の統合パラメータPDの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(
図12A)。
【0493】
図25Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPDの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPDの値を使用して、対応する各学習済み機械学習モデル45Dの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPDのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPDに対応する学習済み機械学習モデル45Dの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Dの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定した結果を生成することができる。
【0494】
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
【0495】
例えば、制御部11は、生成された推定結果、すなわち、推定されたタスク適合の動作指令を推定結果に関する情報としてロボット装置RDに送信することで、推定された動作指令に従ってロボット装置RDの動作を制御してもよい。このとき、制御部11は、ロボット装置RDを直接的に制御してもよい。或いは、ロボット装置RDは、コントローラを備えてもよい。この場合、制御部11は、動作指令をコントローラに送信することで、ロボット装置RDを間接的に制御してもよい。
【0496】
また、例えば、制御部11は、推定されたタスク適合の動作指令に従ってロボット装置RDを操作するようにユーザに指示するための指示情報を推定結果に関する情報として生成してもよい。そして、制御部11は、生成された指示情報を出力装置に出力してもよい。出力先の出力装置は、検査装置1Aの出力装置16であってもよいし、他のコンピュータの出力装置であってよい。他のコンピュータは、ユーザの近傍に配置されたコンピュータであってもよいし、ユーザの所持する端末装置であってもよい。
【0497】
なお、上記実施形態と同様に、制御装置1Dの制御部11は、各学習済み機械学習モデル45Dを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
【0498】
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Dを利用して、タスクに適合するロボット装置RDの動作指令を推定することができる。
【0499】
ステップS111では、各ローカル学習装置2Dは、推定に利用する対象データを取得する。対象データの取得方法は、上記制御装置1DのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Dは、学習済み機械学習モデル45Dに対象データを与えて、学習済み機械学習モデル45Dの演算処理を実行する。これにより、各ローカル学習装置2Dは、学習済み機械学習モデル45Dの出力として、タスクに適合するロボット装置RDの動作指令を推定した結果を取得する。
【0500】
ステップS113では、各ローカル学習装置2Dは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Dは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。例えば、各ローカル学習装置2Dは、推定されたタスク適合の動作指令をロボット装置RDに送信することで、推定された動作指令に従ってロボット装置RDの動作を制御してもよい。また、例えば、各ローカル学習装置2Dは、推定されたタスク適合の動作指令に従ってロボット装置RDを操作するようにユーザに指示するための指示情報を生成し、生成された指示情報を出力装置に出力してもよい。
【0501】
<特徴>
本変形例によれば、ロボット装置RDの動作を制御する場面において、新たな環境で対象のロボット装置RDのタスクに適合する動作指令を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。これにより、タスクを適切に遂行するための動作系列を生成するのにかかるコストを抑えることができる。
【0502】
なお、本変形例は適宜変更されてよい。例えば、センサSD以外から対象データ61Dを取得する場合、センサSDは省略されてよい。制御装置1Dと各装置(ロボット装置RD、センサSD)とは、通信インタフェースを介して接続されてもよい。
【0503】
<4.2>
上記実施形態では、推論装置1が、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成している。しかしながら、学習済み演算モデル52を生成する主体は、推論装置1に限られなくてもよい。推論装置1以外の他のコンピュータが、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成してもよい。
【0504】
図26Aは、本変形例に係るモデル生成装置7のハードウェア構成の一例を模式的に例示する。モデル生成装置7は、学習済み演算モデル52を生成する他のコンピュータの一例である。
図26Aに示されるとおり、本変形例に係るモデル生成装置7は、制御部71、記憶部72、通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77が電気的に接続されたコンピュータである。モデル生成装置7の制御部71~ドライブ77は、上記推論装置1の制御部11~ドライブ77と同様であってよい。ただし、モデル生成装置7のハードウェア構成は、このような例に限定されなくてもよい。モデル生成装置7の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。モデル生成装置7は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってよい。
【0505】
本変形例に係るモデル生成装置7の記憶部72は、生成プログラム87、統合規則データ57、学習結果データ47、学習データ59等の各種情報を記憶する。生成プログラム87は、演算モデル51の機械学習に関する情報処理をモデル生成装置7に実行させるためのプログラムである。生成プログラム87は、この情報処理の一連の命令を含む。生成プログラム87、統合規則データ57、学習結果データ47、及び学習データ59の少なくともいずれかは記憶媒体97に記憶されていてもよい。記憶媒体97は、上記記憶媒体91と同様であってよい。また、モデル生成装置7は、記憶媒体97から、生成プログラム87、統合規則データ57、学習結果データ47、及び学習データ59の少なくともいずれかを取得してもよい。
【0506】
図26Bは、本変形例に係るモデル生成装置7のソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、モデル生成装置7の制御部71は、記憶部72に記憶された生成プログラム87を実行する。これにより、モデル生成装置7は、学習データ取得部116、学習処理部117、及び保存処理部118をソフトウェアモジュールとして備えるコンピュータとして動作する。なお、モデル生成装置7のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置7のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0507】
モデル生成装置7は、学習データ取得部116、学習処理部117、及び保存処理部118をソフトウェアモジュールとして備えていることで、上記ステップS301~ステップS303の処理を実行する。すなわち、ステップS301では、制御部71は、学習データ取得部116として動作し、学習データ59を取得する。ステップS302では、制御部71は、学習処理部117として動作し、学習データ59を利用して、演算モデル51の機械学習を実行する。ステップS303では、制御部71は、保存処理部118として動作し、演算モデル51の機械学習の結果、すなわち、学習済み演算モデル52に関する情報を所定の記憶領域に保存する。学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてよい。これにより、制御部71は、上記実施形態と同様に、学習済み演算モデル52を生成することができる。
【0508】
生成された学習済み演算モデル52に関する情報は、任意のタイミングで推論装置1に提供されてよい。推論装置1が学習済み演算モデル52を生成しない場合、学習データ取得部116、学習処理部117、及び保存処理部118は、推論装置1のソフトウェア構成から省略されてもよい。また、推論装置1の記憶部12等に保持される情報から学習データ59が省略されてもよい。
【0509】
なお、上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dについても同様であってよい。上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dの少なくともいずれかにおいて、学習済み演算モデル52A~52Dは他のコンピュータにより生成されてよい。この場合、学習データ取得部116、学習処理部117、及び保存処理部118は、ソフトウェア構成から省略されてよい。
【0510】
<4.3>
上記実施形態では、各ローカル学習装置2は、学習済み機械学習モデル45の生成処理、及び生成された学習済み機械学習モデル45を利用する推論処理の両方を実行するように構成される。しかしながら、各ローカル学習装置2の構成は、このような例に限定されなくてもよい。複数のローカル学習装置2の少なくともいずれかは、複数台のコンピュータにより構成されてよい。この場合、ローカル学習装置2は、生成処理及び推論処理が別々のコンピュータで実行されるように構成されてよい。
【0511】
図27は、本変形例に係るローカル学習装置2Fの構成の一例を模式的に例示する。本変形例では、ローカル学習装置2Fは、上記生成処理を実行するように構成されるモデル生成装置200、及び上記推論処理を実行するように構成されるモデル利用装置201を備える。モデル生成装置200及びモデル利用装置201それぞれのハードウェア構成は、上記実施形態に係る各ローカル学習装置2のハードウェア構成と同様であってよい。
【0512】
モデル生成装置200は、学習プログラム821を実行することで、学習データ取得部211、環境データ取得部212、学習処理部213、及び保存処理部214をソフトウェアモジュールとして備えるコンピュータとして動作する。これにより、モデル生成装置200は、機械学習モデル40の機械学習を実行し、学習済み機械学習モデル45を生成する。
【0513】
一方、モデル利用装置201は、推論プログラム822を実行することで、対象データ取得部216、推論部217、及び出力部218をソフトウェアモジュールとして備えるコンピュータとして動作する。これにより、モデル利用装置201は、学習済み機械学習モデル45を利用して、所定の推論を実行する。
【0514】
なお、上記変形例に係る各ローカル学習装置2A~2Dの少なくともいずれかも、本変形例と同様に、生成処理及び推論処理が別々のコンピュータで実行されるように構成されてよい。
【0515】
<4.4>
上記実施形態において、各ローカル学習装置2の生成する学習済み機械学習モデル45の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数のローカル学習装置2のうちの少なくともいずれかは、複数件の異なるローカル学習データ30を収集し、得られた各件のローカル学習データ30を使用して、複数の学習済み機械学習モデル45を生成してもよい。また、1つのローカル学習装置2が複数の学習済み機械学習モデル45を生成する場合、推論装置1で利用される複数の学習済み機械学習モデル45は、1つのローカル学習装置2により生成されたものであってもよい。
【0516】
また、上記実施形態では、各ローカル学習装置2が、機械学習モデル40の機械学習を実行し、学習済み機械学習モデル45を生成している。しかしながら、機械学習モデル40の機械学習(すなわち、学習済み機械学習モデル45の生成)は、必ずしも各ローカル学習装置2で実行されなくてもよい。機械学習モデル40の機械学習は、推論装置1、他の情報処理装置等の各ローカル学習装置2以外の他のコンピュータにより実行されてもよい。
【0517】
また、上記実施形態では、所定の推論を実行する推論モデルの一例として、学習済み機械学習モデル45が採用されている。しかしながら、推論モデルは、所定の推論を実行可能であれば、その構成は、学習済み機械学習モデルに限られなくてもよく、実施の形態に応じて適宜選択されてよい。推論モデルを導出する方法は、機械学習に限られなくてもよい。推論モデルは、例えば、人手により導出されてもよい。すなわち、ローカル学習データ30を参考にして、人間によりヒューリスティックに決定されたモデルが推論モデルとして採用されてもよい。
【0518】
なお、推論に利用される各推論モデルの出力(推論結果)の形式及び内容は、必ずしも完全に一致していなければならない訳ではない。各推論モデルの出力の形式及び内容の少なくとも一方は、各推論モデルの推論結果を統合可能な範囲で異なっていてもよい。例えば、関節数の異なるロボット装置の動作指令を推定する複数の推論モデルが、対象の環境下におけるロボット装置の動作指令を推定するのに利用されてよい。
【0519】
図28は、本変形例に係る推論システム100Gの適用場面の一例を模式的に例示する。学習済み機械学習モデル45が推論モデル45Gに置き換わる点を除き、本変形例に係る推論システム100Gは、上記推論システム100と同様に構成されてよい。推論モデル45Gは、例えば、データテーブル、関数式、ルール等により構成されてよい。
【0520】
ローカル学習データ30から推論モデル45Gを導出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。推論モデル45Gは、ローカル学習装置2を操作するオペレータにより導出されてよい。推論モデル45Gが人手により導出される場合、各ローカル学習装置2のソフトウェア構成から学習処理部117は省略されてよい。保存処理部118は、人手により導出された推論モデル45Gに関する情報を所定の記憶領域に保存してもよい。この変形例によれば、新たな環境で推論モデルを人手で作成する手間を削減することができる。
【0521】
なお、上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。上記検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dの少なくともいずれかにおいて、機械学習以外の方法で導出された推論モデルが利用されてもよい。例えば、各学習済み機械学習モデル45A~45Dは、ローカル学習データ30A~30Dを参考にして人間によりヒューリスティック決定されたモデルに置き換えられてもよい。
【0522】
<4.5>
上記実施形態では、推論装置1は、各推論モデル(各学習済み機械学習モデル45)を保持しており、ステップS203では、制御部11は、各推論モデルの演算処理を実行することで、各推論モデルの推論結果を取得している。しかしながら、各推論モデルの推論結果を取得する方法は、このような例に限定されなくてもよい。所定の推論に利用される複数の推論モデルのうちの少なくともいずれかは、推論装置1に保持されていなくてもよく、ローカル学習装置2、ローカル学習装置2以外の情報処理装置等の他のコンピュータに保持されていてもよい。
【0523】
この場合、上記ステップS203では、制御部11は、対象データ61を他のコンピュータに送信し、他のコンピュータに推論モデルの演算処理を実行させてもよい。そして、制御部11は、他のコンピュータから演算結果を受信することで、推論モデルの推論結果を取得してもよい。これに応じて、推論装置1の記憶部12等に保持される情報から対応する学習結果データ47は省略されてよい。上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。
【0524】
また、上記実施形態では、各統合パラメータPの値を決定する方法として、上記第1~第3の方法を採用することができる。しかしながら、上記第1~第3の方法のうちのいずれかは省略されてよい。適合度に基づく第2の方法が省略される場合、推論装置1の記憶部12等に保持される情報から学習環境データ35が省略されてよい。各ローカル学習装置2のソフトウェア構成から環境データ取得部212が省略されてよい。更に、学習済み機械学習モデル45の生成に関する処理手順からステップS103の処理は省略されてよく、ステップS104の処理において、学習環境データ35を関連付ける処理が省略されてよい。また、オペレータの指定に基づく第3の方法が省略される場合、推論装置1のソフトウェア構成からパラメータ設定部119が省略されてもよい。上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。
【0525】
また、上記実施形態において、各推論モデルのグルーピングの処理は省略されてもよい。この場合、推論装置1のソフトウェア構成からグルーピング部1110が省略されてもよい。上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dにおいても同様であってよい。
【0526】
§5 実施例
上記演算モデル51の機械学習を実施する形態の有効性を検証するために、OpenAIの提供する強化学習のシミュレーション環境で、以下の実施例及び比較例に係る学習済みモデルを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
【0527】
まず、
図29を用いて、実施例及び比較例のシミュレーション環境で利用したロボット装置(Hopper)について説明する。
図29は、実施例及び比較例のシミュレーション環境で利用したロボット装置900の概要を模式的に示す。ロボット装置900は、複数のリンクが関節で連結された構成を有している。複数のリンクのうち地面に接する下端のリンクが足(foot)901であり、足901に連結するリンクが脚部(leg)902である。脚部902に連結するリンクが大腿部(thigh)903であり、大腿部903に連結するリンクが胴部(torso)904である。ロボット装置900は、各リンクを動かして前進する運動を行う。実施例及び比較例では、以下の基本条件を採用し、一定時間により多く進むことを報酬として強化学習を行った。
【0528】
<基本条件>
・強化学習の方法:PPO(Proximal Policy Optimization)、方策ベース
・環境の並行数:8
・エピソードの最大タイムステップ数:2048
・学習率:0.00025
・方策関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・方策関数の中間層:第2層及び第3層共に64チャンネル
・価値関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・価値関数の中間層:第2層及び第3層共に64チャンネル
・活性化関数:tanh関数
・割引率:0.99
・GAE(Generated Advantage Estimation)パラメータ:0.95
・クリッピング幅:0.2
・バッチサイズ:128
・各ロールアウト後のトレーニングのエポック数:10
・エントロピー係数:0
・最適化アルゴリズム:Adam
【0529】
実施例では、まず、上記基本条件の構成をそれぞれ有する4つのエージェントを用意し、以下の表1に示される第1~第4条件それぞれのダイナミクスを有するロボット装置900の運動を強化学習により最大の報酬が得られるまで、用意した4つのエージェントそれぞれを訓練した。これにより、4つの学習済みモデルを生成した。
【0530】
【0531】
続いて、上記基本条件の構成を有し、上記実施形態の統合規則5として動作するエージェントを用意した。これにより、4つの学習済みモデルの推論結果を統合することで、ロボット装置900の動作を決定する実施例に係るモデルを構成した。
【0532】
一方、上記基本条件の構成を有するエージェントを用意し、これにより、ロボット装置900の動作を決定する比較例に係るモデルを構成した。
【0533】
そして、以下の表2に示される内挿条件及び外挿条件のダイナミクスを有するロボット装置900をそれぞれ用意し、用意した各ロボット装置900の動作を実施例及び比較例それぞれのモデルにより3回ずつ強化学習により訓練した。そして、各試行の平均を算出した。内挿条件は、上記第1~第4条件の範囲内の実験サンプルに相当し、外挿条件は、上記第1~第4条件の範囲外の実験サンプルに相当する。
【0534】
【0535】
図30Aは、内挿条件のダイナミクスを有するロボット装置900の運動を実施例及び比較例で強化学習により訓練した結果を示す。
図30Bは、外挿条件のダイナミクスを有するロボット装置900の運動を実施例及び比較例で強化学習により訓練した結果を示す。縦軸は、各エピソードで得られる報酬を示し、縦軸は、エピソード数を示す。
【0536】
図30A及び
図30Bに示されるとおり、内挿条件及び外挿条件共に、実施例のモデルの方が比較例よりも極めて短時間で最大報酬が得られるように学習が収束した。この結果から、上記実施形態において、演算モデル51の機械学習を実施する構成を採用した場合でも、新たな環境で新たな学習済み機械学習モデルを生成するのに比べて、短時間でかつ低コストで、適切な推論を実行可能な推論モデルを構築できることが分かった。
【符号の説明】
【0537】
1…推論装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、
17…ドライブ、91…記憶媒体、
81…推論プログラム、
2…ローカル学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、
27…ドライブ、92…記憶媒体、
821…学習プログラム、822…推論プログラム、
225…対象データ、
30…ローカル学習データ、35…学習環境データ、
40…機械学習モデル、45…学習済み機械学習モデル、
47…学習結果データ、
5…統合規則、P1~Pn…統合パラメータ、
51…演算モデル、52…学習済み演算モデル、
57…統合規則データ、59…学習データ、
61…対象データ、63…環境データ