(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】情報処理方法、および情報処理システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241025BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022534938
(86)(22)【出願日】2021-05-24
(86)【国際出願番号】 JP2021019554
(87)【国際公開番号】W WO2022009543
(87)【国際公開日】2022-01-13
【審査請求日】2024-03-01
(31)【優先権主張番号】P 2020119086
(32)【優先日】2020-07-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】中田 洋平
(72)【発明者】
【氏名】石井 育規
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開平10-63632(JP,A)
【文献】特開2019-139479(JP,A)
【文献】BOCK, Sebastian, et al.,"A MULTI-MODEL APPROACH TO BEAT TRACKING CONSIDERING HETEROGENEOUS MUSIC STYLES",Proceedings of the 15th International Society for Music Information Retrieval Conference (ISMIR 2014,[online],2014年10月31日,Pages 603-608,Retrieved from the Internet: <URL: https://www.ismir.net/conferences/> and <URL: https://www.ismir.net/conferences/ismir2014.html> and <URL: https://archives.ismir.net/ismir2014/paper/000367.pdf>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
プロセッサがメモリを用いて実行する情報処理方法であって、
センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得し、
前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得し、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、
前記少なくとも1つの第2推論結果を出力する
情報処理方法。
【請求項2】
前記第3推論モデルは、
訓練用センシングデータを前記第1推論モデルに入力することにより、前記訓練用センシングデータに対する訓練用第1推論結果を前記第1推論モデルから取得し、
前記複数の第2推論モデルのうちの少なくとも1つの第2推論モデルの選択パターン毎における、選択される少なくとも1つの第2推論モデルに前記訓練用第1推論結果を入力することで得られる少なくとも1つの訓練用第2推論結果と、前記訓練用第1推論結果を前記第3推論モデルに入力することにより取得される前記モデル選択情報である訓練用モデル選択情報とに基づいて、機械学習を用いて訓練されたモデルである
請求項1に記載の情報処理方法。
【請求項3】
前記第3推論モデルの訓練は、前記少なくとも1つの訓練用第2推論結果に基づいて前記モデル選択情報の形式にしたがって生成されるデータをリファレンスデータとし、前記訓練用モデル選択情報を出力データとした機械学習を用いた訓練を含む
請求項2に記載の情報処理方法。
【請求項4】
前記モデル選択情報は、第2推論モデルが実行するタスクに対応する第1情報を含み、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルは、前記第1情報に対応するタスクを実行し、
前記少なくとも1つの訓練用第2推論結果に貢献したタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成する
請求項3に記載の情報処理方法。
【請求項5】
前記リファレンスデータの生成は、
前記少なくとも1つの訓練用第2推論結果に基づくスコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項4に記載の情報処理方法。
【請求項6】
前記モデル選択情報は、前記第2推論モデルの性能に対応する第2情報を含み、
前記モデル選択情報が示す少なくとも1つの第2推論モデルは、前記第2情報に対応する性能を有し、
前記リファレンスデータの生成は、
前記少なくとも1つの訓練用第2推論結果における性能要件を満たす第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項3~5のいずれか1項に記載の情報処理方法。
【請求項7】
前記第2情報は、前記第2推論モデルの処理の難易度を含み、
リファレンスデータの生成は、
前記難易度に応じた性能を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項6に記載の情報処理方法。
【請求項8】
前記第2推論モデルは、ニューラルネットワークモデルを含み、
前記第2情報は、前記第2推論モデルの性能として、前記ニューラルネットワークモデルのサイズを示すサイズ情報を含み、
リファレンスデータの生成は、
前記第2情報に含まれる前記サイズ情報を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項6に記載の情報処理方法。
【請求項9】
プロセッサがメモリを用いて実行する情報処理方法であって、
センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを前記第1推論モデルから取得し、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、
前記少なくとも1つの第2推論結果を出力する
情報処理方法。
【請求項10】
前記第1推論モデルは、
訓練用センシングデータを前記第1推論モデルに入力することにより、前記訓練用センシングデータに対する訓練用第1推論結果と、訓練用モデル選択情報とを前記第1推論モデルから取得し、
前記複数の第2推論モデルのうちの少なくとも1つの第2推論モデルの選択パターン毎における、選択される少なくとも1つの第2推論モデルに前記訓練用第1推論結果を入力することで得られる少なくとも1つの訓練用第2推論結果と、前記訓練用モデル選択情報とに基づいて、機械学習を用いて訓練されたモデルである
請求項9に記載の情報処理方法。
【請求項11】
前記第1推論モデルの訓練は、前記少なくとも1つの訓練用第2推論結果に基づいて前記モデル選択情報の形式にしたがって生成されるデータをリファレンスデータとし、前記訓練用モデル選択情報を出力データとした機械学習を用いた訓練を含む
請求項10に記載の情報処理方法。
【請求項12】
前記モデル選択情報は、第2推論モデルが実行するタスクに対応する第1情報を含み、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルは、前記第1情報に対応するタスクを実行し、
前記少なくとも1つの訓練用第2推論結果に貢献したタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成する
請求項11に記載の情報処理方法。
【請求項13】
前記リファレンスデータの生成は、
前記少なくとも1つの訓練用第2推論結果に基づくスコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項12に記載の情報処理方法。
【請求項14】
前記モデル選択情報は、前記第2推論モデルの性能に対応する第2情報を含み、
前記モデル選択情報が示す少なくとも1つの第2推論モデルは、前記第2情報に対応する性能を有し、
前記リファレンスデータの生成は、
前記少なくとも1つの訓練用第2推論結果における性能要件を満たす第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項11~13のいずれか1項に記載の情報処理方法。
【請求項15】
前記第2情報は、前記第2推論モデルの処理の難易度を含み、
リファレンスデータの生成は、
前記難易度に応じた性能を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項14に記載の情報処理方法。
【請求項16】
前記第2推論モデルは、ニューラルネットワークモデルを含み、
前記第2情報は、前記第2推論モデルの性能として、前記ニューラルネットワークモデルのサイズを示すサイズ情報を含み、
リファレンスデータの生成は、
前記第2情報に含まれる前記サイズ情報を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含む
請求項14に記載の情報処理方法。
【請求項17】
センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得する第1取得部と、
前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得する第2取得部と、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得する第3取得部と、
前記少なくとも1つの第2推論結果を出力する出力部と、を備える
情報処理システム。
【請求項18】
センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを前記第1推論モデルから取得する第1取得部と、
前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得する第2取得部と、
前記少なくとも1つの第2推論結果を出力する出力部と、を備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、および情報処理システムに関する。
【背景技術】
【0002】
デバイスから取得したデータに基づいて推論処理を実行する技術がある(特許文献1参照)。この文献では、デバイスの置かれた環境又は条件に基づいて推論処理を実行する推論モデルを選択することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献の技術では、デバイスから取得されるデータに対して間接的な情報に基づいて推論モデルが選択されるため、推論処理対象のデータ(言い換えると推論モデルの入力データ)に適した推論モデルが選択されないことがある。
【0005】
そこで、本発明は、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる情報処理方法などを提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理方法は、プロセッサがメモリを用いて実行する情報処理方法であって、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得し、前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得し、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、前記少なくとも1つの第2推論結果を出力する情報処理方法である。
【0007】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本発明の情報処理方法は、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1における学習システムの機能構成を示すブロック図である。
【
図2】
図2は、実施の形態1における学習システムに入力される画像の一例を示す説明図である。
【
図3】
図3は、実施の形態1におけるタスク評価情報の一例を示す説明図である。
【
図4】
図4は、実施の形態1における訓練データの例を示す説明図である。
【
図5】
図5は、実施の形態1における学習システムが実行する処理を示すフロー図である。
【
図6】
図6は、実施の形態1における推論システムの機能構成を示すブロック図である。
【
図7】
図7は、実施の形態1における推論システムが実行する処理を示すフロー図である。
【
図8】
図8は、実施の形態2における訓練システムの機能構成を示すブロック図である。
【
図9】
図9は、実施の形態2における訓練データの例を示す説明図である。
【
図10】
図10は、実施の形態2における訓練システムが実行する処理を示すフロー図である。
【
図11】
図11は、実施の形態2における推論システムの機能構成を示すブロック図である。
【
図12】
図12は、実施の形態2における推論システムが実行する処理を示すフロー図である。
【
図13】
図13は、実施の形態3における訓練システムの機能構成を示すブロック図である。
【
図14】
図14は、実施の形態3における訓練システムが実行する処理を示すフロー図である。
【
図15】
図15は、実施の形態3における推論システムの機能構成を示すブロック図である。
【
図16】
図16は、実施の形態3における推論システムが実行する処理を示すフロー図である。
【
図17】
図17は、実施の形態4における訓練システムの機能構成を示すブロック図である。
【
図18】
図18は、実施の形態4における訓練システムが実行する処理を示すフロー図である。
【
図19】
図19は、実施の形態4における推論システムの機能構成を示すブロック図である。
【
図20】
図20は、実施の形態4における推論システムが実行する処理を示すフロー図である。
【発明を実施するための形態】
【0010】
(本発明の基礎となった知見)
近年、機械学習などを用いた推論処理技術の向上に伴い、推論処理が適用されるケースが拡大している。例えば、宅内での人の行動認識に推論処理が用いられる。他方で、行動認識においては、様々な種類又は認識難易度の物体又はシーンが認識対象として存在する。また、宅内での行動認識のためには認識処理を行う装置の小型化・低コスト化が求められ、装置の計算リソースは限られてくる。そのため、宅内の行動認識においては、様々な認識対象について、限られた計算リソース(例えば、プロセッサ、メモリ)下で認識することが求められる。なお、これは行動認識に限らず、他の推論処理においても同様であると推測される。
【0011】
しかし、様々な種類の認識対象に対応するためには、多種類の行動認識モデルを用いて認識処理を実行することになるため、計算コストが膨大になる。また、様々な認識難易度の認識対象に対応するためには、巨大な行動認識モデルを用いて認識処理を実行することになるため、計算コスト(例えば、計算量、計算時間、計算リソースの占有量、消費電力)が膨大になる。
【0012】
また、従来技術としては、デバイスの置かれた環境又は条件に基づいて推論処理を実行する推論モデルを選択する技術がある。
【0013】
しかし、上記技術では、デバイスから取得されるデータに対して間接的な情報に基づいて推論モデルが選択されるため、推論処理対象のデータに適した推論モデルが選択されないことがある。また、推論モデルの選択処理と推論処理とが独立して実行されるため、計算コストがかかる。
【0014】
そこで、本発明の一態様に係る情報処理方法は、プロセッサがメモリを用いて実行する情報処理方法であって、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得し、前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得し、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、前記少なくとも1つの第2推論結果を出力する情報処理方法である。
【0015】
上記態様によれば、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを用いて第2推論結果を取得するので、第2推論結果を取得するに際して、複数の第2推論モデルのうちの選択されない第2推論モデルが稼働しない。そのため、選択されない第2推論モデルの稼働に要する計算リソースまたは電力を削減できる。このように、上記情報処理方法は、様々な推論対象に対する推論処理を可能にしながら当該推論処理にかかる計算コストを抑制することができる。また、センシングデータを入力することにより得られる第1推論結果に基づいて第2推論モデルが選択されるため、実質的に当該センシングデータの特徴に基づいて第2推論モデルが選択されることになる。したがって、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる。
【0016】
例えば、前記第3推論モデルは、訓練用センシングデータを前記第1推論モデルに入力することにより、前記訓練用センシングデータに対する訓練用第1推論結果を前記第1推論モデルから取得し、前記複数の第2推論モデルのうちの少なくとも1つの第2推論モデルの選択パターン毎における、選択される少なくとも1つの第2推論モデルに前記訓練用第1推論結果を入力することで得られる少なくとも1つの訓練用第2推論結果と、前記訓練用第1推論結果を前記第3推論モデルに入力することにより取得される前記モデル選択情報である訓練用モデル選択情報とに基づいて、機械学習を用いて訓練されたモデルであってもよい。
【0017】
上記態様によれば、機械学習を用いることで、センシングデータの特徴から第2推論モデルを選択するという複雑な推論処理を行う第3推論モデルを他の手法よりも容易に生成することができる。
【0018】
例えば、前記第3推論モデルの訓練は、前記少なくとも1つの訓練用第2推論結果に基づいて前記モデル選択情報の形式にしたがって生成されるデータをリファレンスデータとし、前記訓練用モデル選択情報を出力データとした機械学習を用いた訓練を含んでもよい。
【0019】
上記態様によれば、訓練用第2推論結果からモデル選択情報の形式に従うデータを生成することにより、訓練用第2推論結果の形式の制約を受けることなく第3推論モデルを訓練することができる。言い換えると、様々な第2推論結果を出力する多様な第2推論モデルを本開示の実施の形態に適用することができる。
【0020】
例えば、前記モデル選択情報は、第2推論モデルが実行するタスクに対応する第1情報を含み、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルは、前記第1情報に対応するタスクを実行し、前記少なくとも1つの訓練用第2推論結果に貢献したタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成してもよい。
【0021】
上記態様によれば、少なくとも1つの第2推論結果に貢献したタスクを実行する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該貢献したタスクを実行する第2推論モデルが選択されるモデル選択情報を出力する第3推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第3推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0022】
例えば、前記リファレンスデータの生成は、前記少なくとも1つの訓練用第2推論結果に基づくスコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0023】
上記態様によれば、スコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第3推論モデルが実質的に選択する第2推論モデルによる第2推論結果の精度又は正確性等のレベルを所定の基準に近づけることができる。
【0024】
例えば、前記モデル選択情報は、前記第2推論モデルの性能に対応する第2情報を含み、前記モデル選択情報が示す少なくとも1つの第2推論モデルは、前記第2情報に対応する性能を有し、前記リファレンスデータの生成は、前記少なくとも1つの訓練用第2推論結果における性能要件を満たす第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0025】
上記態様によれば、性能要件を満たす第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該性能要件を満たす第2推論モデルが選択されるモデル選択情報を出力する第3推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第3推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0026】
例えば、前記第2情報は、前記第2推論モデルの処理の難易度を含み、リファレンスデータの生成は、前記難易度に応じた性能を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0027】
上記態様によれば、難易度に応じた性能を有する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第3推論モデルが実質的に選択する第2推論モデルによる推論処理の処理性能(言い換えると計算コスト)を要求されるレベルに近づけることができる。
【0028】
例えば、前記第2推論モデルは、ニューラルネットワークモデルを含み、前記第2情報は、前記第2推論モデルの性能として、前記ニューラルネットワークモデルのサイズを示すサイズ情報を含み、リファレンスデータの生成は、前記第2情報に含まれる前記サイズ情報を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0029】
上記態様によれば、第2推論モデルの性能として、ニューラルネットワークのサイズ情報を用いるので、より容易に、第2推論モデルの性能が調整され得る。
【0030】
また、本発明の一態様に係る情報処理方法は、プロセッサがメモリを用いて実行する情報処理方法であって、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを前記第1推論モデルから取得し、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、前記少なくとも1つの第2推論結果を出力する情報処理方法である。
【0031】
上記態様によれば、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを用いて第2推論結果を取得するので、第2推論結果を取得するに際して、複数の第2推論モデルのうちの選択されない第2推論モデルが稼働しない。そのため、選択されない第2推論モデルの稼働に要する計算リソースまたは電力を削減できる。このように、上記情報処理方法は、様々な推論対象に対する推論処理を可能にしながら当該推論処理にかかる計算コストを抑制することができる。また、実質的にセンシングデータに基づいて第2推論モデルが選択されるため、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる。
【0032】
例えば、前記第1推論モデルは、訓練用センシングデータを前記第1推論モデルに入力することにより、前記訓練用センシングデータに対する訓練用第1推論結果と、訓練用モデル選択情報とを前記第1推論モデルから取得し、前記複数の第2推論モデルのうちの少なくとも1つの第2推論モデルの選択パターン毎における、選択される少なくとも1つの第2推論モデルに前記訓練用第1推論結果を入力することで得られる少なくとも1つの訓練用第2推論結果と、前記訓練用モデル選択情報とに基づいて、機械学習を用いて訓練されたモデルであってもよい。
【0033】
上記態様によれば、機械学習を用いることで、センシングデータの特徴から第2推論モデルを選択するという複雑な推論処理を行う推論モデルを、第1推論モデルとして、他の手法よりも容易に生成することができる。
【0034】
例えば、前記第1推論モデルの訓練は、前記少なくとも1つの訓練用第2推論結果に基づいて前記モデル選択情報の形式にしたがって生成されるデータをリファレンスデータとし、前記訓練用モデル選択情報を出力データとした機械学習を用いた訓練を含んでもよい。
【0035】
上記態様によれば、訓練用第2推論結果からモデル選択情報の形式に従うデータを生成することにより、訓練用第2推論結果の形式の制約を受けることなく第1推論モデルを訓練することができる。言い換えると、様々な第2推論結果を出力する多様な第2推論モデルを本開示の実施の形態に適用することができる。
【0036】
例えば、前記モデル選択情報は、第2推論モデルが実行するタスクに対応する第1情報を含み、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルは、前記第1情報に対応するタスクを実行し、前記少なくとも1つの訓練用第2推論結果に貢献したタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成してもよい。
【0037】
上記態様によれば、少なくとも1つの第2推論結果に貢献したタスクを実行する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該貢献したタスクを実行する第2推論モデルが選択されるモデル選択情報を出力する第1推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第1推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0038】
例えば、前記リファレンスデータの生成は、前記少なくとも1つの訓練用第2推論結果に基づくスコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0039】
上記態様によれば、スコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第1推論モデルが実質的に選択する第2推論モデルによる第2推論結果の精度又は正確性等のレベルを所定の基準に近づけることができる。
【0040】
例えば、前記モデル選択情報は、前記第2推論モデルの性能に対応する第2情報を含み、前記モデル選択情報が示す少なくとも1つの第2推論モデルは、前記第2情報に対応する性能を有し、前記リファレンスデータの生成は、前記少なくとも1つの訓練用第2推論結果における性能要件を満たす第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0041】
上記態様によれば、性能要件を満たす第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該性能要件を満たす第2推論モデルが選択されるモデル選択情報を出力する第1推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第1推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0042】
例えば、前記第2情報は、前記第2推論モデルの処理の難易度を含み、リファレンスデータの生成は、前記難易度に応じた性能を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0043】
上記態様によれば、難易度に応じた性能を有する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第1推論モデルが実質的に選択する第2推論モデルによる推論処理の処理性能(言い換えると計算コスト)を要求されるレベルに近づけることができる。
【0044】
例えば、前記第2推論モデルは、ニューラルネットワークモデルを含み、前記第2情報は、前記第2推論モデルの性能として、前記ニューラルネットワークモデルのサイズを示すサイズ情報を含み、リファレンスデータの生成は、前記第2情報に含まれる前記サイズ情報を有する第2推論モデルが、前記訓練用モデル選択情報が示す少なくとも1つの第2推論モデルに優先的に含まれるように、前記リファレンスデータを生成することを含んでもよい。
【0045】
上記態様によれば、第2推論モデルの性能として、ニューラルネットワークのサイズ情報を用いるので、より容易に、第2推論モデルの性能が調整され得る。
【0046】
また、本発明の一態様に係る情報処理装置は、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得する第1取得部と、前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得する第2取得部と、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得する第3取得部と、前記少なくとも1つの第2推論結果を出力する出力部と、を備える情報処理システムである。
【0047】
上記態様によれば、上記情報処理方法と同様の効果を奏する。
【0048】
また、本発明の一態様に係る情報処理装置は、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを前記第1推論モデルから取得する第1取得部と、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得する第2取得部と、前記少なくとも1つの第2推論結果を出力する出力部と、を備える情報処理システムである。
【0049】
上記態様によれば、上記情報処理方法と同様の効果を奏する。
【0050】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0051】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0052】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0053】
(実施の形態1)
本実施の形態において、推論モデルを効率よく稼働させる情報処理方法および情報処理システムについて説明する。以降において、情報処理方法を単に処理方法ともいい、情報処理システムを単に処理システムともいう。
【0054】
本実施の形態において、訓練システム1および推論システム2について説明する。訓練システム1は、入力されたセンシングデータに対する推論処理に用いる推論モデルを選択する選択モデルを機械学習によって訓練する処理システムである。推論システム2は、入力されたセンシングデータに応じて、訓練システム1によって学習したタスク選択モデルを用いて選択される推論モデルを用いて、上記センシングデータに対する推論処理を実行する処理システムである。以降において、訓練システム1および推論システム2について順に説明する。
【0055】
(1-1)訓練システム1
図1は、本実施の形態における処理システムである訓練システム1の構成を示すブロック図である。
【0056】
図1に示されるように、訓練システム1は、入力されたセンシングデータ10に基づいて、センシングデータ10に対する推論処理を実行する推論モデルを選択する推論モデル(タスク選択モデルM1)を出力する。
【0057】
訓練システム1は、特徴量抽出部101と、推論制御部102と、統合部103と、タスク選択正解生成部104と、タスク選択モデル訓練部105と、モデルライブラリ30と、を備える。訓練システム1が備える各機能部は、プロセッサ(例えばCPU(Central Processing Unit))(不図示)が、メモリを用いて所定のプログラムを実行することで実現され得る。なお、訓練システム1は、1つの装置として実現されてもよいし、互いに通信可能な複数の装置によって実現されてもよい。
【0058】
特徴量抽出部101は、特徴量抽出モデルL1(第1推論モデル)を用いてセンシングデータ10の特徴量(第1推論結果)を抽出する機能部である。特徴量抽出部101は、具体的には、入力されたセンシングデータ10を特徴量抽出モデルL1に入力することで、センシングデータ10の特徴量を抽出する。例えば、特徴量は、特徴マップであってよい。生成した特徴マップは、推論制御部102に提供される。特徴量抽出モデルは、例えば、入力されたデータの特徴マップを出力するように訓練されたニューラルネットワークモデルである。
【0059】
センシングデータ10は、例えば画像データである。なお、以降では、センシングデータ10が、画像データである場合を例として説明するが、これに限られない。センシングデータ10は、上記の他に、マイクロフォンから出力される音声データ、LiDAR(Light Detection and Ranging)等のレーダから出力される点群データ、圧力センサから出力される圧力データ、温度センサ又は湿度センサから出力される温度データ又は湿度データ、または、香りセンサから出力される香りデータなどのような、正解データが取得可能なセンシングデータ10が用いられ得る。
【0060】
推論制御部102は、1以上のタスク用推論モデル(第2推論モデル)を用いた特徴マップを入力とする推論処理による推論を制御する機能部である。タスク用推論モデルは、入力された特徴マップに基づいて、当該特徴マップに係るセンシングデータ10である画像に含まれている物体または人などについての情報を推論するモデルであり、例えば、ニューラルネットワークモデルである。
【0061】
推論制御部102は、特徴量抽出部101から特徴マップを取得する。また、推論制御部102は、モデルライブラリ30が保有している複数のタスク用推論モデルを用いて推論処理を実行する。複数のタスク用推論モデルは、さまざまなタスクを実行するタスク用推論モデルを含む。ここでは、複数のタスクが、物体検出のタスクA、姿勢推定のタスクB、および属性判定のタスクCを含むとして説明するが、これに限定されない。
【0062】
例えば、物体検出のタスクAは、入力されたセンシングデータ10である画像に映っている物体(例えば、照明装置、棚、引き出し、バッグなど。人が含まれてよい)を検出するタスクである。例えば、姿勢推定のタスクBは、上記画像に映っている人の姿勢(例えば、立っている、背伸びをしている、座っているなど)を推定するタスクである。例えば、属性判定のタスクCは、上記画像に映っている状況の属性(例えば、場所がキッチンである、時間帯が朝であるなど)を判定するタスクである。
【0063】
推論制御部102は、複数のタスクのうちから選択される1以上のタスク(タスクセットともいう)を決定する。推論制御部102は、また、上記タスクセットとは少なくとも一部が異なる新たなタスクセットを、複数のタスクのうちから選択して決定する。このようにして推論制御部102は、複数のタスクセットを決定する。推論制御部102は、上記複数のタスクセットとして、複数のタスクから選択され得るすべてのタスクセットを決定してもよい。
【0064】
推論制御部102は、決定した複数のタスクセットから選択したタスクセットに含まれるタスクそれぞれを実行するタスク用推論モデルそれぞれに特徴マップを入力して推論処理を実行する。推論制御部102は、上記タスク用推論モデルそれぞれが出力する推論結果(第2推論結果)を統合部103によって統合することで、統合情報を取得する。推論制御部102は、決定した複数のタスクセットについて統合情報を取得する。
【0065】
統合部103は、1以上の推論結果に基づいて統合処理を実行し、統合情報を出力する機能部である。言い換えると、統合部103は、1以上の推論結果が入力された場合に、入力された1以上の推論結果を統合した1つの統合情報を生成する。統合部103は、1以上の推論結果として、モデルライブラリ30が保有している1以上のタスク用推論モデルによって推論された結果を取得する。統合情報には、タスクセットと、センシングデータ10から推定される状況(又は行動)及びその状況の推定の尤度を示すスコアの組と、が含まれる。状況が複数存在する場合には、統合情報には、状況及びスコアの組が複数含まれる。なお、タスクセットに含まれるタスクが1つのみである場合には、統合部103は、その1つのタスクを実行するタスク用推論モデルが出力する推論結果を含む統合情報を生成する。統合部103は、ニューラルネットワークモデルで実現され得る。具体的には、統合部103は、入力された1以上の推論結果が入力されると、タスクセットと、状況及びスコアの組とを示す統合情報を出力するように訓練されたニューラルネットワークモデルにより実現され得る。推論制御部102は、生成した統合情報を、タスク選択正解生成部104に提供する。なお、ここでは、統合部103の統合処理が分類問題を解く処理である(言い換えると統合情報に含まれる状況が分類結果である)例について説明するがこれに限定されない。例えば、統合部103の処理は、後述する回帰問題、物体検出問題等を解く処理であってもよい。また、統合部103が単一の状況についてのみ処理する場合は、統合情報は、状況を含まなくてもよい。なお、統合部103における統合処理は、機械学習モデルによってなされてもよい。
【0066】
ここで、
図2を用いて統合情報の生成について具体的に説明する。
図2は、本実施の形態における訓練システム1に入力される画像の一例を示す説明図である。
【0067】
図2に示されるように、訓練システム1に入力される画像20は、人が作業をしている光景を映した画像である。
【0068】
具体的には、画像20は、住居内のシステムキッチンにおいて人が立っている光景を映した画像である。システムキッチンの天井付近には扉を有する棚がある。システムキッチンのワークトップには、バッグが置かれている。人は、台所の天井近くの棚の扉を開いて、その棚に物品を収納しようとしている。
【0069】
例えば、画像20に対して物体検出のタスクAによる検出処理を実行すると、人、棚、ドアなどが検出され得る。画像20に対して姿勢推定のタスクBによる推定処理を実行すると、人が立っていること、又は、人が背伸びをしていることなどが推定され得る。画像20に対して属性判定のタスクCによる判定処理を実行すると、場所がキッチンであることなどが判定され得る。
【0070】
上記のようなタスクA、B及びCの処理結果が統合される場合、例えば、タスクA、B及びCのセットと、「キッチンで人が背伸びをして物を取り出そうとしている」という状況と、その状況に対応付けられるスコア90とを含む統合情報が生成される。また、上記のようなタスクA、Bの処理結果が統合される場合、タスクA及びBのセットと、「人が立ち上がって棚に物を収納しようとしている」という状況と、その状況に対応付けられるスコア60とを含む統合情報が生成される。
【0071】
タスク選択正解生成部104は、タスク選択モデルの訓練に用いられる正解データ(以下、タスク選択正解データ又は上位概念としてモデル選択情報の正解データとも称する)を生成する機能部である。タスク選択正解データは、モデルライブラリ30が保有しているモデルに係る複数のタスクのうちの特徴量抽出部101に入力されたセンシングデータ10に対して実行されるべきタスクが選択されるようにタスク選択モデルを訓練するための正解データ(リファレンスデータ)である。タスク選択正解生成部104は、推論制御部102から統合情報を取得し、取得した統合情報に基づいてタスク選択正解データを生成する。具体的には、タスク選択正解生成部104は、統合情報に含まれるタスクセットとスコアに基づいてタスク選択正解データを生成する。統合情報に複数の状況が含まれる場合は、タスクセットと、同じ状況に対応付けられるスコアと(以下、タスクセットとスコアの組とも称する)を統合情報それぞれから取得し、取得した複数のタスクセットとスコアの組に基づいてタスク選択正解データが生成される。統合情報に単一の状況が含まれる場合は、複数の統合情報それぞれに含まれるタスクセットとスコアの組に基づいてタスク選択正解データが生成される。
【0072】
タスク選択正解データは、例えば、少なくとも1つの第2推論結果に貢献したタスクを実行するタスク用推論モデルが、訓練用モデル選択情報が示す少なくとも1つのタスク用推論モデルに優先的に含まれるように、生成される。より具体的には、タスク選択正解データは、少なくとも1つのタスク用推論モデルの推論結果に基づくスコアが閾値よりも高いタスクセットに属するタスクを実行するタスク用推論モデルが、上記少なくとも1つのタスク用推論モデルに優先的に含まれるように、生成される。
【0073】
図3は、本実施の形態におけるタスクセットとスコアの組の一例を示す説明図である。
図3は、特定の状況に対応付けられるタスクセットとスコアの組が取得される場合を例示する。
【0074】
図3に示される一番上の組は、タスクセットA、BおよびCと、当該タスクセットに含まれるタスクそれぞれを実行するタスク用推論モデルに特徴マップを入力することにより出力された推論結果を統合部103で統合することにより得られる状況に対するスコア90と、を示している。
【0075】
同様に、
図3に示される上から二番目の組は、タスクセットAおよびBと、当該タスクセットについての状況に対するスコア85と、を示している。
【0076】
同様に、
図3に示される上から三番目の組は、タスクセットAと、当該タスクセットについての所定の状況に対するスコア60と、を示している。
【0077】
タスク選択正解生成部104は、上記のような複数のタスクセットとスコアとの組の中から、スコアの高さにしたがって(すなわち第2推論結果への貢献度にしたがって)組を選択し、選択された組のタスクセットに基づいてタスク選択正解データを生成する。
【0078】
例えば、
図3に示される、スコアが80以上である一番上と上から二番目の組のタスクセットが選択され、共通するタスクAおよびBが選択されるべきタスクであることを示すタスク選択正解データが生成される。
【0079】
なお、さらに、統合情報に複数の状況が含まれる場合は、センシングデータ10に対して予め定義される状況(すなわち状況の正解データ)と一致する状況に対応付けられるタスクセットスコアの組に基づいてタスク選択正解データが生成されてもよい。例えば、タスクA、BおよびCそれぞれによる推論結果を統合して「キッチンで人が背伸びをして物を取り出そうとしている」という状況とスコア90の組合せが得られ、タスクA、およびBそれぞれによる推論結果を統合して「人が立ち上がって棚に物を収納しようとしている」という状況とスコア60の組合せとが得られた場合、センシングデータ10に対して予め定義される状況が「キッチンで人が背伸びをして物を取り出そうとしている」であるときには、タスクA、BおよびCを含むタスクセットと、スコア90と、の組が取得される。
【0080】
タスク選択正解データは、タスク選択モデルの出力形式にしたがって生成される。言い換えると、タスク選択正解データは、タスク選択モデルが出力するモデル選択情報の形式にしたがって生成される。
【0081】
モデル選択情報は、特徴マップを入力して推論処理を実行させる少なくとも1つのタスク用推論モデルを示す情報である。モデル選択情報は、タスク用推論モデルを特定するための情報であり、タスクに対応する第1情報を含む。例えば、第1情報は、タスクを示す情報であってよく、第1情報が示すタスクを実行するモデルが特定される。
【0082】
タスク選択正解生成部104は、生成したタスク選択正解データとセンシングデータとの組を訓練データとして、タスク選択モデル訓練部105に提供する。
【0083】
図4は、本実施の形態における訓練データの第一例を示す説明図である。
図4に示される訓練データは、センシングデータと、
図3に示されるタスクセットとスコアの組に基づいて生成されるタスク選択正解データと、を含む。
【0084】
図4に示されるように、訓練データには、センシングデータとモデル選択情報の正解データであるタスク選択正解データとが対応付けて含まれている。センシングデータは、例えば訓練システム1に入力された画像20であり、モデル選択情報の正解データが生成される際に使用されたセンシングデータである。モデル選択情報の正解データは、上記センシングデータを用いてタスク選択正解生成部104により生成された正解データである。
【0085】
具体的には、
図4には、センシングデータとしての画像20と、モデル選択情報の正解データとしての情報「A:1 B:1 C:0」が対応付けて含まれている。これは、画像20に対する処理をするタスクにタスクAおよびBが含まれ、かつ、タスクCが含まれないことを意味している。ここでは、モデル選択情報は、画像20に対する処理をするタスクに含まれるタスクを「1」で表現し、画像20に対する処理をするタスクに含まれないタスクを「0」で表現するという形式で表現されている。当然ながらモデル選択情報の形式はこれに限定されない。
【0086】
タスク選択モデル訓練部105は、タスク選択モデルM1を訓練する機能部である。タスク選択モデル訓練部105は、タスク選択正解生成部104が生成した訓練データを取得し、また、訓練データに含まれるセンシングデータの特徴量として特徴量抽出部101から特徴マップを取得する。タスク選択モデル訓練部105は、取得した特徴マップをタスク選択モデルM1に入力して訓練用モデル選択情報としてモデル選択情報を取得する。そして、タスク選択モデル訓練部105は、タスク選択正解データをリファレンスデータとし、モデル選択情報を出力データとした機械学習によってタスク選択モデルM1を訓練し、出力する。
【0087】
タスク選択モデルM1は、モデルライブラリ30が保有している複数のタスク用推論モデルのうちの少なくとも1つのタスク用推論モデルに、特徴マップを入力することで得られる少なくとも1つの推論結果と、タスク選択モデルM1に、特徴マップを入力することで得られるモデル選択情報と、に基づいて、機械学習を用いて訓練されたモデルである。タスク選択モデルM1は、例えばニューラルネットワークモデルであり、第3推論モデルの一例である。
【0088】
具体的には、タスク選択モデル訓練部105は、
図4に示される訓練データを用いて、訓練データに含まれるセンシングデータが訓練システム1に入力されたときに、訓練データにおいて当該センシングデータに対応付けられたモデル選択情報の正解データをタスク選択モデルM1が出力するように、タスク選択モデルM1を訓練する。例えば、タスク選択モデルM1の訓練は、センシングデータから特徴量抽出部101で抽出された特徴マップをタスク選択モデルM1に入力した場合に出力されるモデル選択情報と、訓練データに含まれるモデル選択情報の正解データとの差分を損失関数によって算出し、その差分を小さくするようにタスク選択モデルM1に含まれるパラメータを調整することによってなされ得る。
【0089】
以上のように訓練システム1によって訓練されたタスク選択モデルM1は推論システム2に提供され、センシングデータの推論処理に用いられる。
【0090】
以上のように構成された訓練システム1が実行する処理を以降で説明する。
【0091】
図5は、本実施の形態における訓練システム1が実行する処理を示すフロー図である。
【0092】
ステップS1001において、特徴量抽出部101は、センシングデータ10を取得する。
【0093】
ステップS1002において、特徴量抽出部101は、ステップS1001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0094】
ステップS1003において、推論制御部102は、ステップS1002で取得された特徴マップに対する推論処理を実行するタスクセットを決定する。このとき、推論制御部102は、少なくとも一部が異なる複数のタスクセットを決定する。
【0095】
ステップS1004において、推論制御部102は、ステップS1003で決定した複数のタスクセットそれぞれに属するタスクを実行するモデルを用いて推論処理を実行する。
【0096】
ステップS1005において、統合部103は、ステップS1004で複数のタスクセットそれぞれに属するタスクを実行するモデルを用いて実行した推論処理の結果を示す推論結果を統合することで統合情報を生成する。
【0097】
ステップS1006において、タスク選択正解生成部104は、ステップS1005で生成された統合情報に基づいて、タスク選択正解データを生成する。
【0098】
ステップS1007において、タスク選択モデル訓練部105は、ステップS1006で生成したタスク選択正解データを用いて機械学習を行うことでタスク選択モデルM1を訓練する。
【0099】
図5に示される一連の処理により、訓練システム1は、タスク選択モデルM1を訓練する。訓練システム1は、訓練したタスク選択モデルM1を推論システム2に提供する。
【0100】
(1-2)推論システム2
次に、推論システム2について説明する。なお、訓練システム1における構成と実質的に同一である構成については説明を簡略する。
【0101】
図6は、本実施の形態における推論システム2の機能構成を示すブロック図である。
【0102】
図6に示されるように、推論システム2は、入力されたセンシングデータ10に基づいて推論モデルを選択し、選択された推論モデルによってセンシングデータ10に対する推論処理を実行する。
【0103】
図6に示されるように、推論システム2は、特徴量抽出部201と、推論制御部202と、タスク選択部208と、モデル選択部210と、モデルライブラリ30とを備える。
【0104】
特徴量抽出部201は、特徴量抽出モデルL1を用いてセンシングデータ10の特徴量を抽出する機能部である。特徴量抽出部201は、訓練システム1が備える特徴量抽出部101と同じ機能部である。特徴量抽出部201は、入力されたセンシングデータ10の特徴を示す特徴マップを生成し、生成した特徴マップを推論制御部202、タスク選択部208に提供する。
【0105】
推論制御部202は、特徴量抽出部201から特徴マップを取得し、取得した特徴マップに対して、モデル選択部210によって選択されたタスク用推論モデルによって推論処理を実行する機能部である。推論制御部202は、上記推論処理の結果を示す結果情報50を出力する。推論制御部202は、上記推論処理を実行する前に、モデル選択部210によって選択されたタスク用推論モデルを稼働させ、稼働させたタスク用推論モデルを用いて上記推論処理を実行する。推論制御部202は、上記推論処理を実行する際には、保持されるタスク用推論モデルのうち、モデル選択部210によって選択されたタスク用推論モデルのみを稼働させる。モデル選択部210によって選択されていないタスク用推論モデルは稼働させられない。結果情報50は、第2推論結果に相当する。
【0106】
タスク選択部208は、推論制御部202が推論処理の実行に使用するタスク用推論モデルのタスクを選択する機能部である。タスク選択部208は、訓練システム1が訓練したタスク選択モデルM1を取得し、保有している。タスク選択部208は、特徴量抽出部201から特徴マップを取得し、タスク選択モデルM1を用いて、当該特徴マップに対して実行されるべきタスクを実行するモデルを特定するモデル選択情報を生成し、モデル選択情報をモデル選択部210に提供する。
【0107】
モデル選択部210は、推論制御部202が推論処理の実行に使用するタスク用推論モデルを選択する機能部である。
【0108】
モデル選択部210は、タスク選択部208が生成したモデル選択情報を取得する。そして、モデル選択部210は、取得した上記モデル選択情報にしたがってタスク用推論モデルをモデルライブラリ30から選択して、推論制御部202に提供する。具体的には、モデル選択部210は、モデル選択情報に含まれる第1情報からタスクを特定し、特定したタスクを実行するタスク用推論モデルを選択する。
【0109】
なお、モデル選択部210は、さらに推論システム2を稼働させているハードウェア、特に、推論制御部202を稼働させているハードウェアのデバイス情報40を取得し、取得したデバイス情報40を上記モデル選択情報と併せて考慮して、モデルライブラリ30からタスク用推論モデルを選択してもよい。デバイス情報40は、静的な計算リソースの量、現在または将来の計算リソースの空き状況などを含む情報である。例えば、推論制御部202を稼働させているハードウェアが備えるCPUまたはメモリのスペックが比較的低い場合には、モデル選択情報に示されるタスク用推論モデルの性能より低い性能を有するタスク用推論モデルをモデルライブラリ30から取得してもよい。
【0110】
モデル選択部210は、デバイス情報40を考慮してタスク用推論モデルを選択する場合には、稼動条件としてのタスク用推論モデルの性能を示す情報とデバイス情報40とに基づいて、稼働可能なタスク用推論モデルの計算量の上限を決定する。そして、モデル選択部210は、モデル選択情報にしたがって特定されるタスクを実行するタスク用推論モデルのうち、上記計算量が上限以下となるタスク用推論モデルを選択する。
【0111】
モデルライブラリ30は、推論制御部202が推論処理の実行に使用し得るタスク用推論モデルを保有しているライブラリである。
【0112】
なお、特徴量抽出部201は、センシングデータを第1推論モデルに入力することにより、センシングデータに対する第1推論結果を前記第1推論モデルから取得する第1取得部に相当する。
【0113】
タスク選択部208は、第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を第3推論モデルから取得する第2取得部に相当する。
【0114】
推論制御部202は、モデル選択情報が示す少なくとも1つの第2推論モデルに第1推論結果を入力することにより、第1推論結果に対する少なくとも1つの第2推論結果を第2推論モデルから取得する第3取得部と、少なくとも1つの第2推論結果を出力する出力部とに相当する。
【0115】
以上のように構成された推論システム2が実行する処理を以降で説明する。
【0116】
図7は、実施の形態における推論システム2が実行する処理を示すフロー図である。
【0117】
ステップS2001において、特徴量抽出部201は、センシングデータ10を取得する。
【0118】
ステップS2002において、特徴量抽出部201は、ステップS2001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0119】
ステップS2003において、タスク選択部208は、ステップS2002で取得された特徴マップを取得し、取得した特徴マップをタスク選択モデルM1に入力することで出力されるモデル選択情報を取得する。
【0120】
ステップS2004において、モデル選択部210は、モデルライブラリ30が保有しているタスク用推論モデルのうち、ステップS2003で生成されたモデル選択情報により示されるタスク用推論モデルを選択し、推論制御部102に提供する。
【0121】
ステップS2005において、推論制御部202は、モデル選択部210から提供されたタスク用推論モデルに、特徴量抽出部201から提供された特徴マップを入力することで、推論処理を実行し、推論結果を取得する。推論制御部202は、取得した推論結果を出力する。
【0122】
図7に示される一連の処理により、推論システム2は、センシングデータ10に対する推論処理に適した推論モデルを稼働させて推論処理を実行することができる。このとき、推論システム2は、センシングデータ10に対する推論処理に適した推論モデル以外の推論モデルを稼働させることがないので、使用する計算リソースまたは消費電力を削減することができる。
【0123】
(実施の形態2)
本実施の形態では、実施の形態1におけるタスク選択モデルの代わりに、性能選択モデルが訓練され、性能選択モデルの出力結果を用いてセンシングデータについての推論処理に用いられる推論モデルが選択される。なお、実施の形態1の構成と実質的に同一である構成については説明を簡略する。
【0124】
(2-1)訓練システム1
図8は、本実施の形態における処理システムである訓練システム1の構成を示すブロック図である。
【0125】
図8に示されるように、訓練システム1は、入力されたセンシングデータ10に基づいて、センシングデータ10に対する推論処理を実行する推論モデルを選択する推論モデル(性能選択モデルM2)を出力する。
【0126】
訓練システム1は、特徴量抽出部301と、推論制御部302と、統合部303、性能選択正解生成部306と、性能選択モデル訓練部307と、モデルライブラリ30と、を備える。
【0127】
特徴量抽出部301は、特徴量抽出モデルL3を用いて、センシングデータ10に基づいて特徴マップを生成する。
【0128】
推論制御部302は、生成された特徴マップに基づいて、モデルライブラリ30で管理されるタスク用推論モデルを用いた推論処理を制御する。モデルライブラリ30が有する複数のタスク用推論モデルは、さまざまなタスクを実行するタスク用推論モデルを含み、また、さまざまな性能を有するモデルを含む。例えば、同一タスクを実行し互いに性能が異なるタスク用推論モデルが含まれる。例えば、「モデルA1」は、タスクAを実行するモデルであって、性能が相対的に低いモデルである。また、「モデルB2」は、タスクBを実行するモデルであって、性能が相対的に中程度であるモデルである。ここでは、タスク用推論モデルの性能を、1(低い)、2(中程度)、および、3(高い)の3段階で表現するが、これに限定されない。
【0129】
推論制御部302は、性能の異なるタスク用推論モデルの少なくとも1つにそれぞれ特徴マップを入力して推論処理を実行する。例えば、推論制御部302は、物体検出のタスクを実行するタスク用推論モデルA1~A3、B1~B3およびC1~C3にそれぞれ特徴マップを入力し、推論結果を取得する。推論結果はそれぞれ、例えば、物体の位置、大きさ、尤度などが異なり得る。なお、異なる性能のタスク用推論モデルのうちの特定の性能の1つのみ(例えば性能が中程度のタスク用推論モデルのみ)について推論処理が実行されてもよいし、異なる性能のタスク用推論モデルのうちの全てについて推論処理が実行されてもよい。
【0130】
統合部303は、各タスクについての1以上の推論結果に基づいて統合情報を生成する。本実施の形態では、実施の形態1と異なりタスクが選択されないため、統合情報は、状況及びスコアの組を含む。統合部303は、各タスクについて、異なる性能のタスク用推論モデルの推論結果のうちの1つを選択し、選択した推論結果に基づいて統合情報を生成する。統合情報の生成については実施の形態1と同様である。なお、異なる性能のタスク用推論モデルの推論結果のうちの特定の性能の1つのみについて統合情報が生成されてもよいし、異なる性能のタスク用推論モデルの推論結果のうちの全てについて統合情報が生成されてもよい。後者の場合、統合情報には、性能の組合せ(以下、性能セット)が含まれる。また、タスクが1つである場合は、統合情報には、状況の代わりに推論結果が含まれてもよい。
【0131】
性能選択正解生成部306は、性能選択モデルM2の訓練に用いられる正解データ(以下、性能選択正解データ又は上位概念としてモデル選択情報の正解データとも称する)を生成する機能部である。性能選択正解データは、特徴量抽出部301に入力されたセンシングデータ10に対する推論処理を実行するモデルとして適切な性能を有するモデルが選択されるように性能選択モデルM2を訓練するための正解データ(リファレンスデータ)である。性能選択正解生成部306は、統合部303から統合情報を取得し、取得した統合情報に基づいて、推論処理に要求される性能を特定するデータを、性能選択正解データとして生成する。
【0132】
具体的には、性能選択正解生成部306は、統合情報が良好であるほど低い性能を特定する性能選択正解データを生成し、統合情報が悪いほど高い性能を特定する性能選択正解データを生成する。統合情報が良好であるか否かの評価は、統合情報の正解データ(例えば、センシングデータ10に対して予め定義される正解データ)との比較に基づいて行われてもよく、統合情報の内容に基づいて行われてもよい。詳細については後述する。性能選択正解生成部306は、生成した性能選択正解データを、性能選択モデル訓練部307に提供する。
【0133】
性能選択正解データは、例えば、少なくとも1つの第2推論結果における性能要件を満たすタスク用推論モデルが、訓練用モデル選択情報が示す少なくとも1つのタスク用推論モデルに優先的に含まれるように、生成される。より具体的には、性能選択正解データは、タスク用推論モデルの処理の難易度に応じた性能を有するタスク用推論モデルが、訓練用モデル選択情報が示す少なくとも1つのタスク用推論モデルに優先的に含まれるように、性能選択正解データを生成する。
【0134】
性能選択正解データは、性能選択モデルM2の出力所定の形式にしたがって生成される。言い換えると、性能選択正解データは、性能選択モデルM2が出力するモデル選択情報の形式にしたがって生成される。
【0135】
モデル選択情報は、特徴マップを入力して推論処理を実行させる少なくとも1つのタスク用推論モデルを示す情報である。モデル選択情報は、タスク用推論モデルを特定するための情報であり、タスク用推論モデルの性能に対応する第2情報を含む。第2情報は、例えば、タスク用推論モデルの性能を示す情報である。具体的には、性能を示す情報は、タスク用推論モデルの処理の精度、若しくは、モデルの処理の速度を示す情報、又はこれらの少なくとも1つのスコアであってもよい。また、性能を示す情報は、ニューラルネットワークモデルのサイズを示すサイズ情報を含んでもよい。サイズ情報は、ニューラルネットワークモデルの、ノードの数、枝の数、または層の数などを含んでもよい。
【0136】
また、第2情報は、例えば、タスク用推論モデルの処理の難易度を示す情報であってもよい。当該難易度にしたがって、後述するモデル選択部410により、当該難易度に応じた性能のタスク用推論モデルが選択される。難易度を示す情報は、処理の難しさ又は容易さの度合いを示す情報である。ここで、「処理が難しい」とは、当該処理に要求される精度が高いこと、または、当該処理に要求される計算量が多いことなどを意味する。難易度は、離散値(0または1等)で表現してもよいし、連続値(0~1等)で表現してもよい。
【0137】
ここで、性能選択正解データの生成について詳細に説明する。なお、統合情報が推論結果を含む場合は、統合処理は推論処理に置き換えて解釈される。
【0138】
例えば、統合処理が分類問題を解く処理である場合には、分類を間違えた(すなわち分類結果が正解データと一致しない)ときに難易度が高いと設定されてもよいし、複数クラスの尤度の少なくとも一部が互いに近いときに難易度が高いと設定されてもよい。なお、後者では正解データは用いられない。
【0139】
また、統合処理が回帰問題を解く処理である場合には、統合情報と正解データとの差分にしたがって難易度が設定されてもよいし、上記差分がそのまま難易度として設定されてもよい。また、上記差分が一定の閾値を超えた場合に難易度が高いと設定されてもよい。なお、上記差分は単に減算によって算出されてもよいし、減算結果を入力とする任意の関数によって算出されてもよい。
【0140】
また、統合処理が物体検出問題、すなわち、ある検出枠に対する分類問題(枠を分類する問題)と、回帰問題(枠の座標を決定する問題)との組合せの問題を解く処理である場合には、難易度は、上述した「分類問題」と「回帰問題」における設定方法が組み合わされて用いられてよい。このとき、回帰問題部分は、正解枠と検出枠との重なり率(IoU: Intersection over Union)を1から引いた値(1-IoU)が難易度とされてもよい。また、物体検出問題の難易度は、分類問題の難易度と回帰問題の難易度とを一次結合したもの、または、乗算したものであってもよい。
【0141】
なお、統合情報が複数である場合には、性能選択正解生成部306は、各統合情報の難易度を算出し、算出した難易度それぞれを統合して1つの難易度を設定してもよい。例えば、統合情報に含まれる状況が、センシングデータ10に対して予め定義される状況(すなわち状況の正解データ)と一致する場合にカウントし、カウント数の大きさに応じて難易度が設定されてもよい。例えば、カウント数が多い(すなわち一致数が多い)ほど、難易度が低い(すなわち性能が低い)ことを示す性能選択正解データが生成されてよい。また、カウント数が少ない(すなわち一致数が少ない)ほど、難易度が高い(すなわち性能が高い)ことを示す性能選択正解データが生成されてよい。
【0142】
性能選択正解生成部306は、生成した性能選択正解データとセンシングデータとの組を訓練データとして、性能選択モデル訓練部307に提供する。
【0143】
図9は、本実施の形態における訓練データの例を示す説明図である。
図9に示される訓練データは、センシングデータと、推論結果に基づいて生成される性能選択正解データと、を含む。
【0144】
具体的には、
図9には、センシングデータとしての画像20と、モデル選択情報の正解データとしての情報「3」が対応付けて含まれている。これは、画像20に対する処理をするタスク用推論モデルの性能が「高い」ことが要求されることを意味している。ここでは、モデル選択情報は、画像20に対する処理をするタスク用推論モデルに要求される性能(又は難易度)を、1(低い)、2(中程度)、3(高い)の3段階で表現するという形式で表現されている。当然ながらモデル選択情報の形式はこれに限定されない。
【0145】
性能選択モデル訓練部307は、性能選択モデルM2を生成する機能部である。性能選択モデル訓練部307は、性能選択正解生成部306が生成した性能選択正解データを取得し、また、訓練データに含まれるセンシングデータの特徴量として特徴量抽出部301から特徴マップを取得する。性能選択モデル訓練部307は、取得した特徴マップを性能選択モデルM2に入力して訓練用モデル選択情報としてモデル選択情報を取得する。そして、性能選択モデル訓練部307は、性能選択正解データをリファレンスデータとし、モデル選択情報を出力データとした機械学習によって性能選択モデルM2を訓練し、出力する。性能選択モデルM2は、第3推論モデルの一例である。
【0146】
性能選択モデル訓練部307は、
図9に示される訓練データを用いて、訓練データに含まれるセンシングデータが訓練システム1に入力されたときに、訓練データにおいて当該センシングデータに対応付けられたモデル選択情報の正解データを性能選択モデルM2が出力するように、性能選択モデルM2を訓練する。性能選択モデルM2の訓練は、センシングデータから特徴量抽出部301で抽出された特徴マップを性能選択モデルM2に入力した場合に出力されるモデル選択情報と、訓練データに含まれるモデル選択情報の正解データとの差分を損失関数によって算出し、その差分を小さくするように性能選択モデルM2に含まれるパラメータを調整することによってなされ得る。
【0147】
以上のように訓練システム1によって訓練された性能選択モデルM2は推論システム2に提供され、センシングデータの推論処理に用いられる。
【0148】
以上のように構成された訓練システム1が実行する処理を以降で説明する。
【0149】
図10は、本実施の形態における訓練システム1が実行する処理を示すフロー図である。
【0150】
ステップS3001において、特徴量抽出部301は、センシングデータ10を取得する。
【0151】
ステップS3002において、特徴量抽出部301は、ステップS3001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0152】
ステップS3003において、推論制御部302は、モデルライブラリ30が保有するそれぞれ性能が異なるタスク用推論モデルにセンシングデータ10を入力して推論処理を実行する。
【0153】
ステップS3004において、性能選択正解生成部306は、ステップS3003で出力された推論結果に基づいて、性能選択正解データを生成する。
【0154】
ステップS3005において、性能選択モデル訓練部307は、ステップS3004で生成された性能選択正解データを用いて機械学習を行うことで性能選択モデルM2を訓練する。
【0155】
図10に示される一連の処理により、訓練システム1は、性能選択モデルM2を訓練する。訓練システム1は、訓練した性能選択モデルM2を推論システム2に提供する。
【0156】
(2-2)推論システム2
次に、推論システム2について説明する。
【0157】
図11は、本実施の形態における推論システム2の機能構成を示すブロック図である。
【0158】
図11に示されるように、推論システム2は、特徴量抽出部401と、推論制御部402と、性能選択部409と、モデル選択部410と、モデルライブラリ30とを備える。
【0159】
特徴量抽出部401は、入力されたセンシングデータ10の特徴を示す特徴マップを、特徴量抽出モデルL3を用いて生成し、生成した特徴マップを推論制御部402、性能選択部409に提供する。
【0160】
性能選択部409は、推論制御部402が推論処理の実行に使用するタスク用推論モデルの性能を選択する機能部である。性能選択部409は、訓練システム1が訓練した性能選択モデルM2を取得し、保有している。性能選択部409は、特徴量抽出部401から特徴マップを取得し、性能選択モデルM2を用いて、当該特徴マップに対する推論処理に用いるべきタスク用推論モデルの性能を特定するモデル選択情報を生成し、モデル選択部410に提供する。
【0161】
モデル選択部410は、性能選択部409が生成したモデル選択情報を取得する。そして、モデル選択部410は、取得した上記モデル選択情報にしたがってタスク用推論モデルをモデルライブラリ30から選択して、推論制御部402に提供する。具体的には、モデル選択部410は、モデル選択情報に含まれる第2情報から性能を特定し、特定した性能を有するタスク用推論モデルを選択する。
【0162】
なお、モデル選択部410は、さらにデバイス情報40を上記モデル選択情報と併せて考慮して、モデルライブラリ30からタスク用推論モデルを選択してもよい。
【0163】
モデル選択部410は、デバイス情報40を考慮してタスク用推論モデルを選択する場合には、稼動条件としてのタスク用推論モデルの性能を示す情報とデバイス情報40とに基づいて、稼働可能なタスク用推論モデルの計算量の上限を決定する。そして、モデル選択部410は、モデル選択情報にしたがって特定される性能を有するタスク用推論モデルのうち、上記計算量が上限以下となるタスク用推論モデルを選択する。
【0164】
以上のように構成された推論システム2が実行する処理を以降で説明する。
【0165】
図12は、実施の形態における推論システム2が実行する処理を示すフロー図である。
【0166】
ステップS4001において、特徴量抽出部401は、センシングデータ10を取得する。
【0167】
ステップS4002において、特徴量抽出部401は、ステップS4001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0168】
ステップS4003において、性能選択部409は、ステップS4002で取得された特徴マップを取得し、取得した特徴マップを性能選択モデルM2に入力することで出力されるモデル選択情報を取得する。
【0169】
ステップS4004において、モデル選択部410は、モデルライブラリ30が保有しているタスク用推論モデルのうち、ステップS4003で生成されたモデル選択情報により示されるタスク用推論モデルを選択し、推論制御部402に提供する。
【0170】
ステップS4005において、推論制御部402は、モデル選択部410から提供されたタスク用推論モデルに、特徴量抽出部401から提供された特徴マップを入力することで、推論処理を実行し、推論結果を取得する。推論制御部402は、取得した推論結果を出力する。
【0171】
図12に示される一連の処理により、推論システム2は、センシングデータ10に対する推論処理に適した推論モデルを稼働させて推論処理を実行することができる。このとき、推論システム2は、センシングデータ10に対する推論処理に適した推論モデル以外の推論モデルを稼働させることがないので、使用する計算リソースまたは消費電力を削減することができる。
【0172】
(実施の形態3)
本実施の形態では、実施の形態1のタスク選択モデル及び実施の形態2の性能選択モデルの両方が訓練され、タスク選択モデル及び性能選択モデルの出力結果を用いてセンシングデータについての推論処理に用いられる推論モデルが選択される。なお、実施の形態1又は2の構成と実質的に同一である構成については説明を簡略する。
【0173】
(3-1)訓練システム1
図13は、本実施の形態における処理システムである訓練システム1の構成を示すブロック図である。
【0174】
図13に示されるように、訓練システム1は、入力されたセンシングデータ10に基づいて、センシングデータ10に対する推論処理を実行する推論モデルを選択する推論モデル(タスク選択モデルM1および性能選択モデルM2)を出力する。
【0175】
訓練システム1は、特徴量抽出部501と、推論制御部502と、統合部503と、タスク選択正解生成部504と、タスク選択モデル訓練部505と、性能選択正解生成部506と、性能選択モデル訓練部507とを備える。
【0176】
特徴量抽出部501は、特徴量抽出モデルL5を用いて、センシングデータ10に基づいて特徴マップを生成する。
【0177】
推論制御部502は、決定した複数のタスクセットから選択したタスクセットに含まれるタスクそれぞれを実行するタスク用推論モデルであって、性能の異なるタスク用推論モデルの少なくとも1つにそれぞれに特徴マップを入力して推論処理を実行する。
【0178】
統合部503は、上記タスク用推論モデルそれぞれが出力する推論結果(第2推論結果)に基づいて統合情報を取得する。統合情報には、タスクセットと、センシングデータ10から推定される状況及びその状況の推定の尤度を示すスコアの組と、が含まれる。なお、統合情報には性能セットが含まれてもよい。
【0179】
タスク選択正解生成部504は、生成された統合情報に基づいてタスク選択正解データを生成する。また、タスク選択正解生成部504は、生成したタスク選択正解データに基づいてタスク選択モデルM1の訓練データを生成する。
【0180】
タスク選択モデル訓練部505は、生成された訓練データを用いてタスク選択モデルM1を訓練する。
【0181】
性能選択正解生成部506は、生成された統合情報に基づいて性能選択正解データを生成する。具体的には、性能選択正解生成部506は、生成されたタスク選択正解データが示すタスクセットについての統合情報に基づいて性能選択正解データを生成する。例えば、タスク選択正解データが示すタスクセットがタスクA、B及びCである場合、性能が2(中程度)である統合情報が生成されるときは、モデルA2、モデルB2及びモデルC2の推論結果それぞれが統合された結果である状況と、状況の正解データとが比較される。例えば、状況が正解データと一致しない場合、性能が高いタスク用推論モデルが要求される(言い換えると難易度が高い)として、3(高い)を示す性能選択正解データが生成される。また、性能選択正解生成部506は、生成した性能選択正解データに基づいて性能選択モデルM2の訓練データを生成する。なお、上記では、性能選択正解データの生成に用いる統合情報が、生成されたタスク選択正解データが示すタスクセットについての統合情報であるとしたが、これに限定されず、生成された全ての統合情報であってもよい。
【0182】
性能選択モデル訓練部507は、生成された訓練データを用いて性能選択モデルM2を訓練する。
【0183】
以上のように訓練システム1によって訓練されたタスク選択モデルM1及び性能選択モデルM2は推論システム2に提供され、センシングデータの推論処理に用いられる。
【0184】
以上のように構成された訓練システム1が実行する処理を以降で説明する。
【0185】
図14は、本実施の形態における訓練システム1が実行する処理を示すフロー図である。
【0186】
ステップS5001において、特徴量抽出部501は、センシングデータ10を取得する。
【0187】
ステップS5002において、特徴量抽出部501は、ステップS5001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0188】
ステップS5003において、推論制御部502は、ステップS5002で取得された特徴マップに対する推論処理を実行するタスクセットを決定する。このとき、推論制御部502は、少なくとも一部が異なる複数のタスクセットを決定する。
【0189】
ステップS5004において、推論制御部502は、ステップS5003で決定した複数のタスクセットそれぞれに属するタスクを実行するモデルを用いて推論処理を実行する。
【0190】
ステップS5005において、統合部503は、ステップS5004で複数のタスクセットそれぞれに属するタスクを実行するモデルを用いて実行した推論処理の結果を示す推論結果を統合することで統合情報を生成する。
【0191】
ステップS5006において、タスク選択正解生成部504は、ステップS5005で生成された統合情報に基づいて、タスク選択正解データを生成する。
【0192】
ステップS5007において、タスク選択モデル訓練部105は、ステップS5006で生成したタスク選択正解データを用いて機械学習を行うことでタスク選択モデルM1を訓練する。
【0193】
ステップS5008において、性能選択正解生成部506は、ステップS5005で生成された統合情報とステップS5006において生成されたタスク選択正解データとに基づいて、性能選択正解データを生成する。
【0194】
ステップS5009において、性能選択モデル訓練部507は、ステップS5008で生成された性能選択正解データを用いて機械学習を行うことで性能選択モデルM2を訓練する。
【0195】
図14に示される一連の処理により、訓練システム1は、タスク選択モデルM1及び性能選択モデルM2を訓練する。訓練システム1は、訓練したタスク選択モデルM1及び性能選択モデルM2を推論システム2に提供する。
【0196】
(3-2)推論システム2
次に、推論システム2について説明する。なお、訓練システム1における構成と実質的に同一である構成については説明を簡略する。
【0197】
図15は、本実施の形態における推論システム2の機能構成を示すブロック図である。
【0198】
図15に示されるように、推論システム2は、特徴量抽出部601と、推論制御部602と、タスク選択部608と、性能選択部609と、モデル選択部610と、モデルライブラリ30とを備える。
【0199】
特徴量抽出部601は、入力されたセンシングデータ10の特徴を示す特徴マップを、特徴量抽出モデルL5を用いて生成し、生成した特徴マップを推論制御部602、タスク選択部608、性能選択部609に提供する。
【0200】
モデル選択部610は、タスク選択部608が生成したモデル選択情報(以下、モデル選択情報1)と、性能選択部609が生成したモデル選択情報(以下、モデル選択情報2)とを取得する。そして、モデル選択部610は、取得した上記2つのモデル選択情報にしたがってタスク用推論モデルをモデルライブラリ30から選択して、推論制御部602に提供する。具体的には、モデル選択部610は、モデル選択情報1に含まれる第1情報からタスクを特定し、モデル選択情報2に含まれる第2情報から性能を特定する。モデル選択部610は、特定したタスクを実行する特定した性能のタスク用推論モデルを選択する。なお、モデル選択情報は1つであってもよく、その場合、当該1つのモデル選択情報に第1情報及び第2情報が含まれてもよい。
【0201】
なお、モデル選択部610は、さらにデバイス情報40を上記2つのモデル選択情報と併せて考慮して、モデルライブラリ30からタスク用推論モデルを選択してもよい。
【0202】
モデル選択部610は、デバイス情報40を考慮してタスク用推論モデルを選択する場合には、稼動条件としてのタスク用推論モデルの性能を示す情報とデバイス情報40とに基づいて、稼働可能なタスク用推論モデルの計算量の上限を決定する。そして、モデル選択部610は、モデル選択情報1にしたがって特定されるタスクを実行しモデル選択情報2にしたがって特定される性能を有するタスク用推論モデルのうち、上記計算量が上限以下となるタスク用推論モデルを選択する。
【0203】
なお、モデル選択部610が、タスク用推論モデルを選択する際に、モデル選択情報1、モデル選択情報2、およびデバイス情報40のどれを優先するかについては、さまざまなパターンがあり得る。例えば、デバイス情報40、モデル選択情報1、モデル選択情報2の順に優先してタスク用推論モデルを選択してもよい。
【0204】
しかし、優先順は、上記に限定されず、例えば、モデル選択情報2、モデル選択情報1、デバイス情報40の順であってもよく、モデル選択情報1、モデル選択情報2、デバイス情報40の順であってもよい。
【0205】
以上のように構成された推論システム2が実行する処理を以降で説明する。
【0206】
図16は、実施の形態における推論システム2が実行する処理を示すフロー図である。
【0207】
ステップS6001において、特徴量抽出部601は、センシングデータ10を取得する。
【0208】
ステップS6002において、特徴量抽出部601は、ステップS6001で取得したセンシングデータ10の特徴量を抽出する処理を行うことで、センシングデータ10の特徴マップを取得する。
【0209】
ステップS6003において、タスク選択部608は、ステップS6002で取得された特徴マップを取得し、取得した特徴マップをタスク選択モデルM1に入力することで出力されるモデル選択情報1を取得する。
【0210】
ステップS6004において、性能選択部609は、ステップS6002で取得された特徴マップを取得し、取得した特徴マップを性能選択モデルM2に入力することで出力されるモデル選択情報2を取得する。
【0211】
ステップS6005において、モデル選択部610は、モデルライブラリ30が保有しているタスク用推論モデルのうち、ステップS6003で生成されたモデル選択情報1及びステップS6004で生成されたモデル選択情報2により示されるタスク用推論モデルを選択し、推論制御部602に提供する。
【0212】
ステップS6006において、推論制御部602は、モデル選択部610から提供されたタスク用推論モデルに、特徴量抽出部601から提供された特徴マップを入力することで推論処理を実行し、推論結果を取得する。推論制御部602は、取得した推論結果を出力する。
【0213】
なお、ステップS6003及びステップS6004の処理の実行順は反対であってもよいし、同時並行であってもよい。
【0214】
図16に示される一連の処理により、推論システム2は、センシングデータ10に対する推論処理に適した推論モデルを稼働させて推論処理を実行することができる。このとき、推論システム2は、センシングデータ10に対する推論処理に適した推論モデル以外の推論モデルを稼働させることがないので、使用する計算リソースまたは消費電力を削減することができる。
【0215】
(実施の形態4)
本実施の形態では、タスク選択モデル及び性能選択モデルの代わりに、特徴量抽出モデルの出力結果を用いてセンシングデータについての推論処理に用いられる推論モデルが選択される。なお、本実施の形態では、タスク及び性能の両方の観点で推論モデルが選択される例を説明するが、実施の形態1又は2のように、タスクのみ又は性能のみの観点で推論モデルが選択されてもよい。
【0216】
(4-1)訓練システム1
図17は、本実施の形態における処理システムである訓練システム1の構成を示すブロック図である。
【0217】
図17に示されるように、訓練システム1は、特徴量抽出部701と、推論制御部702と、統合部703と、タスク選択正解生成部704と、性能選択正解生成部706と、訓練部711とを備える。
【0218】
本実施の形態における訓練システム1は、実施の形態3におけるタスク選択モデル訓練部505と性能選択モデル訓練部507とを備えず、その代わりに訓練部711を備える点で、実施の形態3における訓練システム1と異なる。
【0219】
また、特徴量抽出部701は、センシングデータに基づいて特徴量を抽出する点では、各実施の形態と同一であるが、特徴量の抽出に用いられる特徴量抽出モデルが異なる。本実施の形態における特徴量抽出モデルM3は、センシングデータを入力することで、特徴量とモデル選択情報を出力する。なお、特徴量抽出モデルM3の詳細については後述する。
【0220】
以下、訓練部711を中心に説明する。
【0221】
訓練部711は、特徴量抽出モデルM3を訓練する機能部である。訓練部711は、タスク選択正解生成部704が生成したタスク選択正解データと、性能選択正解生成部706が生成した性能選択正解データとを取得し、また、センシングデータ10を取得する。訓練部711は、取得したセンシングデータ10を特徴量抽出モデルM3に入力して訓練用モデル選択情報としてモデル選択情報を取得する。そして、訓練部711は、タスク選択正解データおよび性能選択正解データをリファレンスデータとし、モデル選択情報を出力データとした機械学習によって特徴量抽出モデルM3を訓練し、出力する。ここで、タスク選択正解データおよび性能選択正解データについては、実施の形態3におけるものと同じである。
【0222】
本実施の形態におけるモデル選択情報は、第1情報及び第2情報を含む。上述したように、第1情報は、タスクに対応する情報であり、タスクを特定するための情報又はタスクを実行するタスク用推論モデルを特定するための情報である。また、第2情報は、性能に対応する情報であり、性能を特定するための情報又は性能を有するモデルを特定するための情報である。
【0223】
特徴量抽出モデルM3は、モデルライブラリ30が保有している複数のタスク用推論モデルのうちの少なくとも1つのタスク用推論モデルに、特徴量抽出モデルM3が出力する特徴マップを入力することで得られる少なくとも1つの推論結果(第2推論結果)と、特徴量抽出モデルM3にセンシングデータ10を入力することで得られるモデル選択情報と、に基づいて、機械学習を用いて訓練されたモデルである。なお、特徴量抽出モデルM3は、第1推論モデルの一例である。
【0224】
特徴量抽出モデルM3は、センシングデータ10が入力されると、特徴量とモデル選択情報とを出力する。具体的には、特徴量抽出モデルM3は、特徴量を抽出する部分と、抽出された特徴量が入力されるとモデル選択情報を出力する部分と、を備える。例えば、モデル選択情報を出力する部分に、モデル外部へ出力される特徴量と同一の特徴量が入力されてもよく、モデル外部へ出力されない中間生成物である特徴量(例えば特徴量を抽出する部分の最終層ではなく中間層が出力する特徴量)が入力されてもよい。
【0225】
訓練部711は、タスク選択正解データ及び性能選択正解データを用いた特徴量抽出モデルM3の訓練では、特徴量を抽出する部分は訓練の対象外とし、モデル選択情報を出力する部分のみを訓練の対象とする。例えば、訓練部711は、特徴量を抽出する部分のパラメータを固定し、モデル選択情報を出力する部分のみパラメータを更新する。なお、特徴量を抽出する部分の訓練時において、同時にモデル選択情報を出力する部分を訓練する場合は、両方を訓練の対象としてパラメータが更新されてもよい。
【0226】
以上のように構成された訓練システム1が実行する処理を以降で説明する。
【0227】
図18は、本実施の形態における訓練システム1が実行する処理を示すフロー図である。
【0228】
訓練システム1が実行する処理のうち、上記実施の形態3の訓練システム1が実行する処理と異なる部分を主に説明する。
【0229】
図18に示されるステップS7001からS7007までの処理は、上記実施の形態3の訓練システム1が実行するステップS5001からS5006までの処理、および、ステップS5008の処理(
図14参照)と同じである。
【0230】
ステップS7008において、訓練部711は、ステップS7006で生成されたタスク選択正解データと、ステップS7007で生成された性能選択正解データと、を用いて機械学習を行うことで特徴量抽出モデルM3を訓練する。
【0231】
図18に示される一連の処理により、訓練システム1は、特徴量抽出モデルM3を訓練する。訓練システム1は、訓練した特徴量抽出モデルM3を、推論システム2に提供する。
【0232】
(4-2)推論システム2
図19は、本実施の形態における推論システム2の機能構成を示すブロック図である。
【0233】
図19に示されるように、推論システム2は、特徴量抽出部801と、推論制御部802と、モデル選択部810と、モデルライブラリ30と、を備える。
【0234】
特徴量抽出部801は、センシングデータ10に基づいて特徴量とモデル選択情報を出力する機能部である。具体的には、特徴量抽出部801は、特徴量抽出モデルM3にセンシングデータ10を入力することで、特徴量とモデル選択情報を生成する。モデル選択情報は、タスク及び性能が特定される情報を含む。特徴量抽出部801は、生成した特徴量(特徴マップ)を推論制御部802に提供し、生成したモデル選択情報をモデル選択部810に提供する。したがって、特徴量抽出部801は、実施の形態3の特徴量抽出部601とタスク選択部608と性能選択部609の機能をあわせもつ機能部であるともいえる。
【0235】
推論制御部802は、実施の形態3の推論制御部802と同様に、特徴量抽出部801から特徴マップを取得し、取得した特徴マップを、モデル選択部810によって選択されたタスク用推論モデルに入力することで推論処理を実行し、結果情報50(第2推論結果に相当)を出力する。
【0236】
なお、特徴量抽出部801は、センシングデータを第1推論モデルに入力することにより、センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを第1推論モデルから取得する第1取得部に相当する。
【0237】
推論制御部802は、モデル選択情報が示す少なくとも1つの第2推論モデルに第1推論結果を入力することにより、第1推論結果に対する少なくとも1つの第2推論結果を第2推論モデルから取得する第2取得部と、少なくとも1つの第2推論結果を出力する出力部とに相当する。
【0238】
以上のように構成された推論システム2が実行する処理を以降で説明する。
【0239】
図20は、本実施の形態における推論システム2が実行する処理を示すフロー図である。
【0240】
推論システム2が実行する処理のうち、上記実施の形態3の推論システム2が実行する処理と異なる部分を主に説明する。
【0241】
図20に示されるステップS8001の処理は、上記実施の形態3の推論システム2が実行するステップS6001の処理(
図16参照)と同じである。
【0242】
ステップS8002において、特徴量抽出部801は、ステップS8001で取得されたセンシングデータ10を特徴量抽出モデルM3に入力することで特徴マップ及びモデル選択情報を生成する。
【0243】
ステップS8003において、モデル選択部810は、モデルライブラリ30が保有しているタスク用推論モデルのうち、ステップS8003で生成されたモデル選択情報により示されるタスク用推論モデルを選択し、推論制御部802に提供する。
【0244】
ステップS8004において、推論制御部802は、モデル選択部810から提供されたタスク用推論モデルに、特徴量抽出部801から提供された特徴マップを入力することで、推論処理を実行し、推論結果を取得する。推論制御部802は、取得した推論結果を出力する。
【0245】
図20に示される一連の処理により、推論システム2は、センシングデータ10に対する推論処理に適した推論モデルを稼働させて推論処理を実行することができる。そのため、本実施の形態の推論システム2は、上記実施の形態3の推論システム2と同様の効果を奏する。
【0246】
(まとめ)
以上のように、上記実施の形態1から4にかかる情報処理方法によれば、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを用いて第2推論結果を取得するので、第2推論結果を取得するに際して、複数の第2推論モデルのうちの選択されない第2推論モデルが稼働しない。そのため、選択されない第2推論モデルの稼働に要する計算リソースまたは電力を削減できる。このように、上記情報処理方法は、様々な推論対象に対する推論処理を可能にしながら当該推論処理にかかる計算コストを抑制することができる。また、センシングデータを入力することにより得られる第1推論結果に基づいて第2推論モデルが選択されるため、実質的に当該センシングデータの特徴に基づいて第2推論モデルが選択されることになる。したがって、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる。
【0247】
また、機械学習を用いることで、センシングデータの特徴から第2推論モデルを選択するという複雑な推論処理を行う第3推論モデルを他の手法よりも容易に生成することができる。
【0248】
また、訓練用第2推論結果からモデル選択情報の形式に従うデータを生成することにより、訓練用第2推論結果の形式の制約を受けることなく第3推論モデルを訓練することができる。言い換えると、様々な第2推論結果を出力する多様な第2推論モデルを本開示の実施の形態に適用することができる。
【0249】
また、少なくとも1つの第2推論結果に貢献したタスクを実行する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該貢献したタスクを実行する第2推論モデルが選択されるモデル選択情報を出力する第3推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第3推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0250】
また、スコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第3推論モデルが実質的に選択する第2推論モデルによる第2推論結果の精度又は正確性等のレベルを所定の基準に近づけることができる。
【0251】
また、性能要件を満たす第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該性能要件を満たす第2推論モデルが選択されるモデル選択情報を出力する第3推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第3推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0252】
また、難易度に応じた性能を有する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第3推論モデルが実質的に選択する第2推論モデルによる推論処理の処理性能(言い換えると計算コスト)を要求されるレベルに近づけることができる。
【0253】
また、第2推論モデルの性能として、ニューラルネットワークのサイズ情報を用いるので、より容易に、第2推論モデルの性能が調整され得る。
【0254】
また、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを用いて第2推論結果を取得するので、第2推論結果を取得するに際して、複数の第2推論モデルのうちの選択されない第2推論モデルが稼働しない。そのため、選択されない第2推論モデルの稼働に要する計算リソースまたは電力を削減できる。このように、上記情報処理方法は、様々な推論対象に対する推論処理を可能にしながら当該推論処理にかかる計算コストを抑制することができる。また、実質的にセンシングデータに基づいて第2推論モデルが選択されるため、推論処理対象のデータに適した推論モデルが選択される可能性を向上させることができる。
【0255】
また、機械学習を用いることで、センシングデータの特徴から第2推論モデルを選択するという複雑な推論処理を行う推論モデルを、第1推論モデルとして、他の手法よりも容易に生成することができる。
【0256】
また、訓練用第2推論結果からモデル選択情報の形式に従うデータを生成することにより、訓練用第2推論結果の形式の制約を受けることなく第1推論モデルを訓練することができる。言い換えると、様々な第2推論結果を出力する多様な第2推論モデルを本開示の実施の形態に適用することができる。
【0257】
また、少なくとも1つの第2推論結果に貢献したタスクを実行する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該貢献したタスクを実行する第2推論モデルが選択されるモデル選択情報を出力する第1推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第1推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0258】
また、スコアが閾値よりも高いタスクセットに属するタスクを実行する第2推論モデルが機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第1推論モデルが実質的に選択する第2推論モデルによる第2推論結果の精度又は正確性等のレベルを所定の基準に近づけることができる。
【0259】
また、性能要件を満たす第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、当該性能要件を満たす第2推論モデルが選択されるモデル選択情報を出力する第1推論モデルを自動的に生成することができる。また、リファレンスデータに含まれる、第1推論モデルの訓練に有効なデータがより多くなり、訓練の効率が向上する。
【0260】
また、難易度に応じた性能を有する第2推論モデルが、機械学習の際のリファレンスデータとしての訓練用モデル選択情報に優先的に含まれるので、第1推論モデルが実質的に選択する第2推論モデルによる推論処理の処理性能(言い換えると計算コスト)を要求されるレベルに近づけることができる。
【0261】
また、第2推論モデルの性能として、ニューラルネットワークのサイズ情報を用いるので、より容易に、第2推論モデルの性能が調整され得る。
【0262】
なお、上記実施の形態および上記変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態および上記変形例の情報処理装置などを実現するソフトウェアは、次のようなプログラムである。
【0263】
すなわち、このプログラムは、コンピュータに、プロセッサがメモリを用いて実行する情報処理方法であって、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果を前記第1推論モデルから取得し、前記第1推論結果を第3推論モデルに入力することにより、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報を前記第3推論モデルから取得し、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、前記少なくとも1つの第2推論結果を出力する情報処理方法を実行させるプログラムである。
【0264】
また、このプログラムは、コンピュータに、プロセッサがメモリを用いて実行する情報処理方法であって、センシングデータを第1推論モデルに入力することにより、前記センシングデータに対する第1推論結果と、複数の第2推論モデルのうちから選択される少なくとも1つの第2推論モデルを示すモデル選択情報とを前記第1推論モデルから取得し、前記モデル選択情報が示す前記少なくとも1つの第2推論モデルに前記第1推論結果を入力することにより、前記第1推論結果に対する少なくとも1つの第2推論結果を前記第2推論モデルから取得し、前記少なくとも1つの第2推論結果を出力する情報処理方法を実行させるプログラムである。
【0265】
以上、一つまたは複数の態様に係る情報処理装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【0266】
例えば、上記各実施の形態では、推論処理は、物体検出、姿勢推定、属性判定である例を説明したがこれに限らず、シーン推定、セグメンテーション又は物体までの距離の推定等であってもよい。
【0267】
また、例えば、上記各実施の形態では、主に、第1情報がタスクを示す情報である例を説明したが、第1情報は第2推論モデルを示す情報であってもよい。具体的には、少なくとも1つの訓練用第2推論結果に貢献したタスクを示す情報の代わりに、当該タスクを実行する第2推論モデルを示す情報がモデル選択情報に含まれてよい。また、少なくとも1つの訓練用第2推論結果に貢献した第2推論結果を出力した第2推論モデルを示す情報がモデル選択情報に含まれてもよい。
【産業上の利用可能性】
【0268】
本発明は、行動認識をするシステムに利用可能である。
【符号の説明】
【0269】
1 訓練システム
2 推論システム
10 センシングデータ
20 画像
30 モデルライブラリ
40 デバイス情報
50 結果情報
101、201、301、401、501、601、701、801 特徴量抽出部
102、202、302、402、502、602、702、802 推論制御部
103、303、503、703 統合部
104、504、704 タスク選択正解生成部
105、505 タスク選択モデル訓練部
208、608 タスク選択部
210、410、610、810 モデル選択部
306、506、706 性能選択正解生成部
307、507 性能選択モデル訓練部
409、609 性能選択部
711 訓練部
L1、L3、L5、M3 特徴量抽出モデル
M1 タスク選択モデル
M2 性能選択モデル