IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-43184情報処理装置、判定方法、および判定プログラム
<>
  • 特開-情報処理装置、判定方法、および判定プログラム 図1
  • 特開-情報処理装置、判定方法、および判定プログラム 図2
  • 特開-情報処理装置、判定方法、および判定プログラム 図3
  • 特開-情報処理装置、判定方法、および判定プログラム 図4
  • 特開-情報処理装置、判定方法、および判定プログラム 図5
  • 特開-情報処理装置、判定方法、および判定プログラム 図6
  • 特開-情報処理装置、判定方法、および判定プログラム 図7
  • 特開-情報処理装置、判定方法、および判定プログラム 図8
  • 特開-情報処理装置、判定方法、および判定プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024043184
(43)【公開日】2024-03-29
(54)【発明の名称】情報処理装置、判定方法、および判定プログラム
(51)【国際特許分類】
   G06N 3/04 20230101AFI20240322BHJP
   G06N 3/08 20230101ALI20240322BHJP
【FI】
G06N3/04
G06N3/08
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022148225
(22)【出願日】2022-09-16
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】並木 重哲
(72)【発明者】
【氏名】細井 利憲
(57)【要約】
【課題】推論時間を抑えつつ、必要な推論精度は担保する。
【解決手段】情報処理装置(1)は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち1段目の推論モデルに時系列を構成する入力データを入力して行う推論の難易度を算出する第1の難易度算出部(11)と、前記難易度に基づいて2段目以降の推論モデルを用いるか否かを判定する第1の判定部(12)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段と、
前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段と、を備える情報処理装置。
【請求項2】
1段目の推論モデルに入力される前記入力データを、当該入力データよりも時系列順で前の入力データである過去入力データから予測する第1のデータ予測手段を備え、
前記第1の難易度算出手段は、前記第1のデータ予測手段の予測誤差を、前記推論の難易度を示す値として算出する、請求項1に記載の情報処理装置。
【請求項3】
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段と、
前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段と、を備える情報処理装置。
【請求項4】
前記複数段の推論モデルは、1つの多層ニューラルネットワークモデルに基づいて生成されたものであり、
2段目以降の推論モデルの学習では、前段の推論モデルの重み値も更新する推論モデル学習手段を備える、請求項3に記載の情報処理装置。
【請求項5】
時系列を構成する前記教師データのうちある時点の教師データを、当該時点よりも時系列順で前の時点の教師データから第1の予測モデルを用いて予測する第1のデータ予測手段を備え、
前記第1の難易度算出手段は、前記第1のデータ予測手段の予測誤差を、前記ある時点の教師データを用いた推論の難易度を示す値として算出し、
時系列を構成する前記教師データを用いた学習により、前記予測誤差が小さくなるように前記第1の予測モデルを更新する第1の予測モデル学習手段を備える、請求項3または4に記載の情報処理装置。
【請求項6】
前記第1の判定手段は、前記難易度が第1の閾値を超える前記教師データを、2段目以降の推論モデルの学習に用いると判定し、
1段目の推論モデルに時系列を構成する前記教師データを入力して得られる複数の推論の結果に基づいて前記第1の閾値を更新する第1の閾値更新手段を備える、請求項3または4に記載の情報処理装置。
【請求項7】
少なくとも1つのプロセッサが、
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出することと、
前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定することと、を含む判定方法。
【請求項8】
少なくとも1つのプロセッサが、
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出することと、
前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定することと、を含む判定方法。
【請求項9】
コンピュータを、
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段、および
前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段、として機能させる判定プログラム。
【請求項10】
コンピュータを、
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段、および
前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段、として機能させる判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
推論モデルを用いた推論に関する処理を行う情報処理装置等に関する。
【背景技術】
【0002】
近年、機械学習した推論モデルの実用化が様々な分野で急速に進展している。例えば、自動運転においては、機械学習した推論モデルを用いて、車載カメラで撮影した動画像からリアルタイムで物体認識し、その認識結果に応じた車両の制御が行われる。
【0003】
しかしながら、下記の非特許文献1に記載されているように、動画像からリアルタイムで物体認識を行う場合、物体検出の演算時間を考慮すれば、動画像の全てのフレームを物体認識の対象とすることは難しい。このため、動画像の一部のフレームからの物体認識結果に基づいて自動運転を行わざるを得ない。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Mengtian Li et. al.,Towards Streaming Perception,arXiv:2005.10420v2,2020
【発明の概要】
【発明が解決しようとする課題】
【0005】
一部のフレームを物体認識の対象外とした場合、対象外としたフレームに検出対象が写っていた場合に、その検出対象の検出漏れが発生してしまうおそれがある。また、一般に、機械学習した推論モデルは、推論精度が高いものほど推論時間も長くなる。このため、物体認識の対象外とするフレーム数を減らすために推論精度が低い推論モデルを適用した場合には、推論精度の不足による誤認識や認識漏れが生じ得る。
【0006】
つまり、時系列を構成するデータを推論モデルに入力して行う推論においては、推論時間の短さを重視すると推論精度が不足して推論結果の安定性を損ない、推論精度を重視すると処理できないデータが増えるという問題がある。このような問題は、動画像からの物体認識に限られず、時系列を構成する任意のデータを任意の推論モデルに入力することにより行われる推論において共通して生じ得る問題である。
【0007】
本発明の一態様は、上記の問題に鑑みてなされたものであり、時系列を構成するデータを推論モデルに入力して行う推論において、推論時間を抑えつつ、必要な推論精度は担保することが可能な情報処理装置等を提供することを一目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係る情報処理装置は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段と、前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段と、を備える。
【0009】
また、本発明の他の態様に係る情報処理装置は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段と、前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段と、を備える。
【0010】
本発明の一態様に係る判定方法は、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出することと、前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定することと、を含む。
【0011】
また、本発明の他の態様に係る判定方法は、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出することと、前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定することと、を含む。
【0012】
本発明の一態様に係る判定プログラムは、コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段、および前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段、として機能させる。
【0013】
また、本発明の他の態様に係る判定プログラムは、コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段、および前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段、として機能させる。
【発明の効果】
【0014】
本発明の一態様によれば、時系列を構成するデータを推論モデルに入力して行う推論において、推論時間を抑えつつ、必要な推論精度は担保することが可能になる。
【図面の簡単な説明】
【0015】
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
図2】本発明の例示的実施形態1に係る判定方法の流れを示すフロー図である。
図3】本発明の例示的実施形態2に係る情報処理装置が行う処理の概要を示す図である。
図4】本発明の例示的実施形態2に係る情報処理装置の構成例を示すブロック図である。
図5】1段目処理部の構成例を示すブロック図である。
図6】1段目処理部の他の構成例を示すブロック図である。
図7】上記情報処理装置が推論時に行う処理の流れを示すフロー図である。
図8】上記情報処理装置が学習時に行う処理の流れを示すフロー図である。
図9】本発明の各例示的実施形態に係る各装置の各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0016】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0017】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置1および2について図1を参照して説明する。図1は、情報処理装置1および2の構成を示すブロック図である。図示のように、情報処理装置1は、第1の難易度算出部11と第1の判定部12とを備えている。
【0018】
第1の難易度算出部11は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する。
【0019】
第1の判定部12は、第1の難易度算出部11が算出する難易度に基づき、上記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する。
【0020】
以上のように、本例示的実施形態に係る情報処理装置1は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出部11と、第1の難易度算出部11が算出する難易度に基づき、上記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定部12と、を備える。このため、本例示的実施形態に係る情報処理装置1によれば、時系列を構成するデータを推論モデルに入力して行う推論において、推論時間を抑えつつ、必要な推論精度は担保することが可能になるという効果が得られる。
【0021】
一方、情報処理装置2は、第1の難易度算出部21と第1の判定部22とを備えている。第1の難易度算出部21は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する。
【0022】
第1の判定部22は、第1の難易度算出部21が算出する難易度に基づき、上記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する。
【0023】
以上のように、本例示的実施形態に係る情報処理装置2は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出部21と、第1の難易度算出部21が算出する難易度に基づき、上記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定部22と、を備える。このため、本例示的実施形態に係る情報処理装置2によれば、時系列を構成するデータを推論モデルに入力して行う推論において、推論時間を抑えつつ、必要な推論精度は担保することを可能にする複数段の推論モデルを生成することができる。そして、この推論モデルを用いることにより、推論時間を抑えつつ、必要な推論精度は担保することが可能になる。
【0024】
(判定プログラム)
上述の情報処理装置1の機能は、プログラムによって実現することもできる。本例示的実施形態に係る判定プログラムは、コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出部11、および第1の難易度算出部11が算出する難易度に基づき、上記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定部12、として機能させる。この判定プログラムによれば、推論時間を抑えつつ、必要な推論精度は担保することが可能になるという効果が得られる。
【0025】
同様に上述の情報処理装置2の機能もプログラムによって実現することもできる。本例示的実施形態に係る他の判定プログラムは、コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出部21、および第1の難易度算出部21が算出する難易度に基づき、上記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定部22、として機能させる。この判定プログラムによれば、推論時間を抑えつつ、必要な推論精度は担保することを可能にする複数段の推論モデルを生成することができるという効果が得られる。
【0026】
(判定方法の流れ)
本例示的実施形態に係る判定方法の流れについて、図2を参照して説明する。図2は、当該判定方法の流れを示すフロー図である。なお、図2に示す判定方法における各ステップの実行主体は、情報処理装置1または2が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
【0027】
図2の左側に示すフロー図において、S11では、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する。
【0028】
S12では、少なくとも1つのプロセッサが、S11で算出された難易度に基づき、上記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する。
【0029】
以上のように、本例示的実施形態に係る判定方法においては、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出すること(S11)と、S11で算出された難易度に基づき、上記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定すること(S12)とを含む。よって、推論時間を抑えつつ、必要な推論精度は担保することが可能になるという効果が得られる。
【0030】
図2の右側に示すフロー図において、S21では、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する。
【0031】
S22では、少なくとも1つのプロセッサが、S21で算出された難易度に基づき、上記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する。
【0032】
以上のように、本例示的実施形態に係る判定方法においては、少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出すること(S21)と、S21で算出された難易度に基づき、上記教師データを2段目以降の推論モデルの学習に用いるか否かを判定すること(S22)とを含む。よって、推論時間を抑えつつ、必要な推論精度は担保することを可能にする複数段の推論モデルを生成することが可能になるという効果が得られる。
【0033】
〔例示的実施形態2〕
(判定方法の概要)
図3に基づいて本例示的実施形態に係る情報処理装置3が行う処理の概要について説明する。図3は、本発明の例示的実施形態2に係る情報処理装置3が行う処理の概要を示す図である。
【0034】
本例示的実施形態では、動画像から抽出したフレーム画像を入力データとして推論を行う例を説明する。フレーム画像は時系列を構成する入力データであり、時刻の経過と共に新たなフレーム画像が取得される。図3にはx1~x9のフレーム画像が順次取得されている様子を示している。
【0035】
なお、推論内容は特に限定されず、例えばフレーム画像に写る物体の検出や分類等であってもよい。無論、情報処理装置3は、フレーム画像以外の任意の時系列データを入力データとして推論を行うことができる。このため、以下の説明における「フレーム画像」は時系列を構成する任意の「入力データ」に読み替えることができる。
【0036】
情報処理装置3は、1段目処理部、2段目処理部、および3段目処理部を備えており、これらの処理部により推論を行う。より詳細には、情報処理装置3は、通常は1段目処理部による推論を行い、1段目処理部にとって推論の難易度が高いフレーム画像については2段目処理部による推論を行い、2段目処理部にとって推論の難易度が高いフレーム画像については3段目処理部による推論を行う。
【0037】
1段目処理部では、後段のものを用いるほど推論精度が高くなるように構成された3段の推論モデルのうち1段目の推論モデルを用いる。また、2段目処理部では2段目の推論モデルを用い、3段目処理部では3段目の推論モデルを用いる。このため、3つの処理部のうち1段目処理部は推論精度が最も低いが推論時間は最も短く、3段目処理部は推論精度が最も高いが推論時間は最も長く、2段目処理部の推論精度と推論時間は1段目処理部と2段目処理部の中間である。
【0038】
例えば、図3に示されるフレーム画像x3については、1段目処理部にとって推論の難易度が高いと判定されている。このため、フレーム画像x3に基づく推論は2段目処理部によって行われている。また、フレーム画像x6については、1段目処理部にとって推論の難易度が高いと判定されていると共に、2段目処理部にとっても推論の難易度が高いと判定されている。このため、フレーム画像x6に基づく推論は3段目処理部によって行われている。
【0039】
このように、情報処理装置3は、推論の難易度が低いフレーム画像(例えばフレーム画像x1、x2、x4、x5等)については推論時間が短い1段目処理部で推論を行う。一方、1段目処理部にとって推論の難易度が高いフレーム画像(例えばフレーム画像x3等)については推論精度がより高い2段目処理部で推論を行う。そして、2段目処理部にとって推論の難易度が高いフレーム画像(例えばフレーム画像x6等)については推論精度が最も高い3段目処理部で推論を行う。
【0040】
これにより、推論の難易度が低いフレーム画像については推論時間が短い1段目処理部で高速に処理して平均処理時間を抑えることができると共に、推論の難易度がより高いフレーム画像については1段目処理部または2段目処理部で処理することにより推論精度の低下が抑えられる。よって、情報処理装置3によれば、推論時間を抑えつつ、必要な推論精度は担保することが可能になる。例えば、情報処理装置3によれば、取得されたフレーム画像の全てをリアルタイムで処理することも可能になる。
【0041】
(情報処理装置の構成)
情報処理装置3の構成を図4に基づいて説明する。図4は、情報処理装置3の構成例を示すブロック図である。情報処理装置3は、情報処理装置3の各部を統括して制御する制御部30と、情報処理装置3が使用する各種データを記憶する記憶部31を備えている。また、情報処理装置3は、情報処理装置3が他の装置と通信するための通信部32、情報処理装置3に対する各種データの入力を受け付ける入力部33、および情報処理装置3が各種データを出力するための出力部34を備えている。
【0042】
また、制御部30には、データ取得部301、1段目処理部302-1、2段目処理部302-2、第1の判定部303-1、第2の判定部303-2、および第3の推論部304が含まれている。さらに、制御部30には、学習に関するブロックとして、推論モデル学習部305、第1の予測モデル学習部306-1、第2の予測モデル学習部306-2、第1の閾値更新部307-1、および第2の閾値更新部307-2が含まれている。
【0043】
なお、第1の予測モデル学習部306-1および第2の予測モデル学習部306-2については、後記「予測モデルの更新」の項目で説明する。また、第1の閾値更新部307-1および第2の閾値更新部307-2については、後記「閾値の更新」の項目で説明する。
【0044】
データ取得部301は、推論に用いる入力データを取得する。また、データ取得部301は、推論に用いる推論モデルの学習用の教師データを取得する。例えば、データ取得部301は、動画像を構成する時系列のフレーム画像を入力データとして取得してもよいし、時系列のフレーム画像のそれぞれに推論の正解を示す正解データが対応付けられた教師データを取得してもよい。
【0045】
1段目処理部302-1は、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち1段目の推論モデルに、データ取得部301が取得する入力データの少なくとも1つを入力して推論を行う。また、2段目処理部302-2は、複数段の上記推論モデルのうち2段目の推論モデルを用いて推論を行う。なお、1段目処理部302-1および2段目処理部302-2の詳細は図5および図6に基づいて後述する。
【0046】
第1の判定部303-1は、2段目以降の推論モデルを用いるか否かを判定する。また、第2の判定部303-2は、3段目の推論モデルを用いるか否かを判定する。これらの判定の詳細についても図5および図6に基づいて後述する。
【0047】
第3の推論部304は、図3における3段目処理部に相当する。第3の推論部304は、第2の判定部303-2が3段目の推論モデルを用いると判定したときに、複数段の上記推論モデルのうち3段目の推論モデルを用いて推論を行う。
【0048】
推論モデル学習部305は、複数段の上記推論モデルの学習を行う。より詳細には、推論モデル学習部305は、データ取得部301が取得する教師データを用いて上記推論モデルの重み値を更新する。推論モデルの学習については後記「予測モデルの更新」の項目で説明する。
【0049】
(複数段の推論モデルについて)
情報処理装置3が用いる複数段の推論モデルは、後段のものを用いるほど推論精度が高くなるように構成されたものであればよく、その生成方法は特に限定されない。例えば、ニューラルネットワークの推論モデルであれば、基本的に中間層の数が多いほど推論精度が高くなるから、中間層の数が異なる複数の推論モデルをそれぞれ独立に生成し、それらを複数段の推論モデルとしてもよい。
【0050】
また、複数段の推論モデルは、1つの多層ニューラルネットワークモデルに基づいて生成されたものであってもよい。
【0051】
例えば、3段の推論モデルをCNN(Convolutional Neural Network)すなわち畳み込みニューラルネットワークで構築する場合、1つの推論モデルを構築した後、当該推論モデルの入力層と出力層(第1の出力層と呼ぶ)との間に、2つの追加の出力層(第2、第3の出力層と呼ぶ)を追加してもよい。なお、第2、第3の出力層はそれぞれ異なる位置に追加する。第1の出力層による推論はPrimary Taskといえ、第2、第3の出力層による推論はAuxiliary Taskといえる。そして、入力層から第1の出力層までの推論モデル全体を3段目の推論モデルとし、当該推論モデルの入力層から第2の出力層までの部分を1段目の推論モデルとし、当該推論モデルの入力層から第3の出力層までの部分を2段目の推論モデルとしてもよい。
【0052】
また、例えば、1つの推論モデルを構築した後、当該推論モデルを段階的に軽量化することにより、複数の推論モデルを生成してもよい。この場合、軽量化前の推論モデルを3段目の推論モデルとし、1段階軽量化したものを2段目の推論モデルとし、2段階軽量化したものを1段目の推論モデルとすればよい。軽量化の手法は特に限定されず、例えば、推論モデルを構成する層を間引くことにより軽量化してもよい。
【0053】
また、推論モデルをRNN(Recurrent Neural Network)すなわちリカレントニューラルネットワークで構築する場合、再帰的に実行される内部処理のニューラルネットワークの規模を段階的に大きくすることにより、複数段の推論モデルを生成してもよい。
【0054】
また、後段の推論モデルの一部に、前段の推論モデルの構造をコピーしてもよい。言い換えれば、後段の推論モデルと前段の推論モデルとで、重み値を共有してもよい。なお、重み値はモデルパラメータと呼ぶこともできる。
【0055】
以上のような各手法により、段階的に推論精度が高くなる3段の推論モデルを生成することができる。また、2段の推論モデルや、4段以上の推論モデルについても同様にして生成可能である。
【0056】
そして、1つの多層ニューラルネットワークモデルに基づいて生成された複数段の推論モデルを用いる場合、前段の推論結果を利用して後段の推論を行うこと、言い換えれば前段の推論結果からレジュームする形で後段の処理を開始することが可能になるという利点もある。例えば、1段目の推論モデルによりフレーム画像から第1の特徴量が抽出された場合、2段目の推論モデルによる推論の際には、当該第1の特徴量を入力データとして推論を行ってもよい。そして、2段目の推論モデルによる推論の際に第2の特徴量が抽出された場合、3段目の推論モデルによる推論の際には、当該第2の特徴量を入力データとして推論を行ってもよい。
【0057】
(1段目処理部の構成例1)
図5は、1段目処理部302-1の構成例を示すブロック図である。図示のように、1段目処理部302-1は、第1の推論部3021-1と、第1のデータ予測部3022-1と、第1の難易度算出部3023-1と、を含む。
【0058】
なお、2段目処理部302-2は、1段目処理部302-1と同様の構成であり、第2の推論部3021-2と、第2のデータ予測部3022-2と、第2の難易度算出部3023-2と、を含む。また、情報処理装置3は、4段以上の推論モデルを用いてもよい。この場合、1段目から最終段のひとつ前の段までのそれぞれについて、図5に示すような処理部を設ければよい。つまり、(k+1)段の推論モデルを用いる情報処理装置は、1段目処理部302-1からk段目処理部302-kまでのk個の処理部と、(k+1)段目の推論モデルを用いて推論する第(k+1)の推論部とを備える。そして、k段目処理部302-kは、第kの推論部3021-kと、第kのデータ予測部3022-kと、第kの難易度算出部3023-kと、を含む。
【0059】
第1の推論部3021-1は、1段目の推論モデルを用いて推論を行う。図示のように、第1の推論部3021-1は、CNNの推論モデルを用いて推論を行うものであってもよい。
【0060】
第1のデータ予測部3022-1は、時系列を構成するフレーム画像のうち、1段目の推論モデルによる推論に用いられるフレーム画像を、当該フレーム画像よりも時系列順で前のフレーム画像から予測する。この予測には、第1の予測モデルが用いられる。
【0061】
第1の予測モデルは、ある時点のフレーム画像を、当該時点よりも時系列順で前のフレーム画像から予測するものである。第1の予測モデルは、それらのフレーム画像間の関係を学習することにより生成された、ニューラルネットワーク等の機械学習モデルであってもよい。例えば、第1の推論部3021-1がCNNの推論モデルを用いる場合には、第1の予測モデルもCNNモデルとしてもよい。また、例えば、第1の推論部3021-1がRNNの推論モデルを用いる場合には、当該推論モデルに入力データを予測する内部処理を行う層を追加してもよい。この場合、第1のデータ予測部3022-1は、当該推論モデルを用いて入力データを予測すればよい。
【0062】
また、複数段の推論モデルの学習時においては、第1のデータ予測部3022-1は、時系列を構成する教師データのうちある時点の教師データ(より正確には当該教師データに含まれるフレーム画像)を、当該教師データよりも時系列順で前の教師データから予測する。
【0063】
第1の難易度算出部3023-1は、複数段の推論モデルのうち1段目の推論モデルにフレーム画像を入力して行う推論の難易度を、当該フレーム画像に基づいて算出する。また、複数段の推論モデルの学習時においては、第1の難易度算出部3023-1は、複数段の推論モデルのうち1段目の推論モデルに教師データ(より正確には当該教師データに含まれるフレーム画像)を入力して行う推論の難易度を、当該教師データに基づいて算出する。より詳細には、第1の難易度算出部3023-1は、第1のデータ予測部3022-1の予測誤差を、推論の難易度を示す値として算出する。
【0064】
例えば、図5に示すように、フレーム画像x3が取得されたときには、第1の推論部3021-1は、フレーム画像x3を1段目の推論モデルに入力し、推論結果y3を出力する。このとき、第1のデータ予測部3022-1は、1段目の推論モデルによる推論に用いられるフレーム画像x3を、フレーム画像x3よりも時系列順で前のフレーム画像であるフレーム画像x1およびx2から予測する。予測されたフレーム画像はx3’である。そして、第1の難易度算出部3023-1は、第1のデータ予測部3022-1の予測誤差e3を、推論の難易度を示す値として算出する。
【0065】
予測誤差の算出方法は特に限定されない。例えば、第1の難易度算出部3023-1は、フレーム画像x3およびフレーム画像x3’と誤差関数とを用いて予測誤差を算出してもよい。誤差関数としては、例えば、MSE(Mean Squared Error)やKL‐divergense等を用いることができる。
【0066】
第1の難易度算出部3023-1が予測誤差を算出する場合、第1の判定部303-1は、算出された予測誤差e3に基づいて2段目の推論モデルを用いるか否かを判定する。例えば、第1の判定部303-1は、予測誤差e3が予め定められた第1の閾値を超えている場合に2段目の推論モデルを用いると判定してもよい。誤差関数をf(x)、第1の閾値をthと表す場合2段目の推論モデルを用いる条件は、f(x3)=e3>thと表される。
【0067】
以上のように、情報処理装置3は、1段目の推論モデルに入力される入力データであるフレーム画像を、当該フレーム画像よりも時系列順で前のフレーム画像(過去入力データ)から予測する第1のデータ予測部3022-1を備える。そして、第1の難易度算出部3023-1は、第1のデータ予測部3022-1の予測誤差を、1段目の推論モデルによる推論の難易度を示す値として算出する。
【0068】
一般に、入力データが急変したときには、その値を用いた推論の精度は低下しやすくなる。また、一般に、入力データが急変したときには上記の予測誤差は大きくなる。よって、本例示的実施形態に係る情報処理装置3によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、推論の精度の低下が見込まれるときに2段目以降の推論モデルを用いるようにすることが可能になるという効果が得られる。
【0069】
また、第1の判定部303-1が2段目の推論モデルを用いると判定した場合には、2段目処理部302-2による処理が行われる。この際、2段目処理部302-2に含まれる第2の推論部3021-2は、第1の推論部3021-1の推論の過程で抽出された第1の特徴量を、2段目の推論モデルに入力して推論を行ってもよい。
【0070】
このように、情報処理装置3は、1段目の推論モデルに入力データを入力して推論を行う第1の推論部3021-1と、第1の判定部303-1が2段目の推論モデルを用いると判定した場合に、第1の推論部3021-1の推論の過程で抽出された第1の特徴量を、2段目の推論モデルに入力して推論を行う第2の推論部3021-2と、を備える。よって、本例示的実施形態に係る情報処理装置3によれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、2段目の推論モデルを用いた推論において、第1の特徴量を有効に活用した効率的な推論を行うことができるという効果が得られる。
【0071】
また、情報処理装置3は、第1の特徴量の抽出元となったフレーム画像よりも時系列順で前のフレーム画像(過去入力データ)から抽出された特徴量を用いて第1の特徴量を予測する第2のデータ予測部3022-2と、第2のデータ予測部3022-2の予測誤差を、2段目の推論モデルを用いた推論の難易度を示す値として算出する第2の難易度算出部3023-2と、第2の難易度算出部3023-2が算出する予測誤差に基づき、3段目以降の推論モデルを用いるか否かを判定する第2の判定部303-2と、を備える。
【0072】
上述のように、一般に、入力データが急変したときには、その値を用いた推論の精度は低下しやすくなると共に予測誤差は大きくなる。よって、上記の構成によれば、2段目の推論モデルによる推論の精度の低下が見込まれるときに3段目以降の推論モデルを用いるようにすることが可能になるという効果が得られる。
【0073】
なお、第2のデータ予測部3022-2は、RNNモデルを用いて第1の特徴量を予測してもよい。RNNモデルでは、過去の時刻の入力データを保持しておき、それを予測計算に用いることができる。これにより、2段目の推論モデルを用いた推論が行われるタイミングが不定期であることにより予測に用いる過去入力データがばらついても、安定した精度で第1の特徴量を予測することが可能になる。
【0074】
例えば、図3の例では、2段目処理部302-2は、フレーム画像x3に関する処理を行った後、フレーム画像x6に関する処理を行っている。この場合、第2のデータ予測部3022-2は、フレーム画像x3から抽出された第1の特徴量が保持されたRNNモデルを用いて、フレーム画像x6から抽出される第1の特徴量を予測することにより妥当な予測結果を出力することができる。
【0075】
また、第2のデータ予測部3022-2は、CNNモデルを用いて第1の特徴量を予測してもよい。この場合、第2のデータ予測部3022-2は、過去のフレーム画像から抽出された第1の特徴量を保持しておき、それを予測計算に使用してもよい。例えば、第2のデータ予測部3022-2は、各時刻のフレーム画像から抽出された第1の特徴量をチャネル方向に連結したものを入力データとして第1の特徴量を予測してもよい。なお、どれくらいの時刻分の第1の特徴量を保持しておくかは予め定めておけばよい。
【0076】
例えば、図3の例において、2フレーム分の第1の特徴量を保持しておくとする。この場合、2段目処理部302-2は、フレーム画像x6から抽出される第1の特徴量を予測する際に、フレーム画像x1から抽出された第1の特徴量と、フレーム画像x3から抽出された第1の特徴量とを用いる。
【0077】
なお、フレーム画像に写る対象物が変わる等の環境変化の度合いが予測誤差に反映されていれば、予測誤差が第1の閾値を超えるときの環境変化の度合いはある程度の範囲に収まると考えられる。このため、第1の特徴量の予測には、必ずしもRNNモデルや複数のフレーム画像から抽出された第1の特徴量を用いる必要はない。
【0078】
また、第1の判定部303-1は、第1の難易度算出部3023-1が算出する難易度に基づき、入力データを用いた推論に2段目以降の何れの段の推論モデルを用いるかを判定してもよい。これにより、難易度に応じた段の推論モデルを用いることができる。例えば、1段目および2段目の何れの推論モデルにとっても難易度が高い推論を、2段目の推論モデルによる推論を省略して、3段目の推論モデルに推論させることも可能になる。
【0079】
推論の難易度と使用する推論モデルとの関係は予め規定しておけばよい。例えば、推論の難易度を示す予測誤差が閾値th1以下であれば1段目の推論モデルを用い、予測誤差が閾値th1より大きく閾値th2(th1<th2)以下であれば2段目の推論モデルを用い、予測誤差が閾値th2より大きければ3段目の推論モデルを用いるようにしてもよい。
【0080】
(1段目処理部の構成例2)
図6は、1段目処理部302-1の他の構成例を示すブロック図である。図6に示す1段目処理部302-1は、第1の推論部3021-1と第1のデータ予測部3022-1がRNNモデルで推論および予測を行う点で図5の1段目処理部302-1と相違している。なお、第1の難易度算出部3023-1が実行する処理は図5の例と同様であるからここでは説明を繰り返さない。
【0081】
第1のデータ予測部3022-1は、RNNモデルで予測を行う場合、図6に示すように、第1の推論部3021-1が推論に用いたフレーム画像x3よりも1時刻前のフレーム画像x2のみを用いてフレーム画像x3を予測してもよい。RNNモデルであれば、過去入力データ(x2およびそれ以前のフレーム画像)を、当該RNNモデルの内部状態として反映させることが可能であるから、入力データとしてフレーム画像x2のみを用いた場合であっても、フレーム画像x1等についても考慮した予測が可能である。
【0082】
また、第2の推論部3021-2は、RNNモデルを用いる場合も、CNNモデルを用いる場合と同様に、第1の推論部3021-1の推論の過程で抽出された第1の特徴量を、2段目の推論モデルに入力して推論を行ってもよい。同様に、第3の推論部304は、第2の推論部3021-2の推論の過程で抽出された第2の特徴量を、3段目の推論モデルに入力して推論を行ってもよい。
【0083】
そして、第2のデータ予測部3022-2は、2段目の推論モデルに入力される入力データである第1の特徴量を、当該第1の特徴量よりも時系列順で前のフレーム画像から抽出された第1の特徴量(過去入力データ)から予測してもよい。例えば、第2のデータ予測部3022-2は、フレーム画像x3から抽出された第1の特徴量を、フレーム画像x2から抽出された第1の特徴量から予測してもよい。
【0084】
(推論時の処理の流れ)
図7は、情報処理装置3が推論時に行う処理の流れを示すフロー図である。なお、図7には、2フレーム目以降のフレーム画像を対象とした推論の際の処理の流れを示している。1フレーム目のフレーム画像については、データ予測部3022-kによる予測ができないから、1フレーム目のフレーム画像を用いた推論に何段目までの推論モデルを用いるかについては予め定めておけばよい。例えば、1フレーム目のフレーム画像については、3段目までの推論モデルを用いて推論するようにしてもよいし、1段目の推論モデルを用いて推論するようにしてもよい。また、図7には3段の推論モデルを用いる例を示しているが、2段または4段以上の推論モデルを用いた推論も同様のフローで実現できる。
【0085】
S301では、データ取得部301がフレーム画像を取得する。続いて、S302では、1段目処理部302-1に含まれる第1の推論部3021-1が1段目の推論モデルを用いて推論を行う。例えば、第1の推論部3021-1は、S301で取得されたフレーム画像を1段目の推論モデルに入力し、1段目の推論モデルに推論結果を出力させてもよい。また、例えば、第1の推論部3021-1は、S301で取得されたフレーム画像と、当該フレーム画像よりも時系列順で前の1または複数のフレーム画像とを1段目の推論モデルに入力し、1段目の推論モデルに推論結果を出力させてもよい。
【0086】
S303では、第1の難易度算出部3023-1が、S301で取得されたフレーム画像に基づき1段目の推論モデルによる推論の難易度を算出する。より詳細には、S303では、まず、第1のデータ予測部3022-1が、S301で取得されたフレーム画像よりも時系列順で前の1または複数のフレーム画像から、S301で取得されたフレーム画像を予測する。そして、第1の難易度算出部3023-1は、第1のデータ予測部3022-1が予測したフレーム画像とS301で取得されたフレーム画像とに基づいて、第1のデータ予測部3022-1の予測誤差を算出する。この予測誤差は、1段目の推論モデルによる推論の難易度を示している。
【0087】
S304では、第1の判定部303-1が、S303で算出された難易度に基づき、2段目以降の推論モデルを用いるか否かを判定する。例えば、第1の判定部303-1は、S303で算出された難易度が第1の閾値を超えている場合に2段目以降の推論モデルを用いると判定してもよい。
【0088】
S304でYESと判定された場合にはS305に進む。一方、S304でNOと判定された場合にはS309に進む。S304から遷移したS309では、第1の推論部3021-1がS302の推論結果を記憶部31等に記録する。この後、処理はS301に戻り、次のフレーム画像が取得される。なお、情報処理装置3は、S309において、推論結果を、出力部34等を介して出力してもよいし、推論結果に応じた処理を自動で実行するようにしてもよい。これは後述するS307またはS308からS309に遷移する場合においても同様である。
【0089】
S305では、2段目処理部302-1に含まれる第2の推論部3021-2が、2段目の推論モデルを用いて推論を行う。より詳細には、第2の推論部3021-2は、S302における第1の推論部3021-1の推論の過程で抽出された第1の特徴量を2段目の推論モデルに入力して推論を行う。なお、第2の推論部3021-2は、S301で取得されたフレーム画像を2段目の推論モデルに入力して推論を行ってもよい。
【0090】
S306では、第2の難易度算出部3023-2が、2段目の推論モデルによる推論の難易度を算出する。より詳細には、S306では、まず、第2のデータ予測部3022-2が、S301で取得されたフレーム画像よりも時系列順で前のフレーム画像からの推論の過程で抽出された第1の特徴量から、S302における推論の過程で抽出された第1の特徴量を予測する。そして、第2の難易度算出部3023-2は、第2のデータ予測部3022-2が予測した第1の特徴量と、S302における推論の過程で抽出された第1の特徴量とに基づいて、第2のデータ予測部3022-2の予測誤差を算出する。この予測誤差は、2段目の推論モデルによる推論の難易度を示している。
【0091】
S307では、第2の判定部303-2が、S306で算出された難易度に基づき、3段目の推論モデルを用いるか否かを判定する。例えば、第2の判定部303-2は、S306で算出された難易度が予め設定された第2の閾値を超えている場合に3段目の推論モデルを用いると判定してもよい。
【0092】
S307でYESと判定された場合にはS308に進む。一方、S307でNOと判定された場合にはS309に進む。S307から遷移したS309では、第2の推論部3021-2がS305の推論結果を記憶部31等に記録する。この後、処理はS301に戻り、次のフレーム画像が取得される。
【0093】
S308では、第3の推論部304が、3段目の推論モデルを用いて推論を行う。より詳細には、第3の推論部304は、S305における第2の推論部3021-2の推論の過程で抽出された第2の特徴量を3段目の推論モデルに入力して推論を行う。なお、第3の推論部304は、S301で取得されたフレーム画像を3段目の推論モデルに入力して推論を行ってもよい。S308から遷移したS309では、第3の推論部304がS308の推論結果を記憶部31等に記録する。この後、処理はS301に戻り、次のフレーム画像が取得される。
【0094】
(学習時の処理の流れ)
図8は、情報処理装置3が学習時に行う処理の流れを示すフロー図である。なお、図8の処理は、複数の教師データを含む教師データセットが取得された後で実行される。教師データは、フレーム画像に対して当該フレーム画像を用いた推論の正解を示す正解データが対応付けられたデータである。また、教師データセットに含まれる各フレーム画像は時系列を構成している。例えば、動画像から抽出したフレーム画像を用いて物体検出および検出した物体の分類を行う場合、動画像から抽出した時系列のフレーム画像に対して当該フレーム画像に写る物体の位置および範囲と当該物体の分類とが正解データとして対応付けられた教師データを用いればよい。
【0095】
なお、教師データセットの取得方法は特に限定されず、例えばデータ取得部301が、通信部32を介して他の装置から教師データセットを取得してもよいし、入力部33を介して入力される教師データセットを取得してもよい。また、学習の対象となる複数段の推論モデルについては、事前学習モデルを用いる等して、予めある程度の精度で推論が可能な状態としておく。また、図8には3段の推論モデルの学習を行う例を示しているが、2段または4段以上の推論モデルの学習も同様のフローで実現できる。
【0096】
S311では、第1の推論部2021-1が、上述の教師データセットから1つの教師データを取得する。そして、S312では、第1の推論部2021-1は、S311で取得した教師データに含まれるフレーム画像を入力データとし、1段目の推論モデルを用いて推論を行う。
【0097】
なお、図8では、S311において、時系列順で2番目以降のフレーム画像を含む教師データが取得された場合の処理を示している。時系列順で1番目のフレーム画像を含む教師データを、何段目までの推論モデルの学習に用いるかについては予め定めておけばよい。例えば、時系列順で1番目のフレーム画像を含む教師データについては、3段目までの推論モデルの学習に用いるようにしてもよいし、1段目までの推論モデルの学習に用いるようにしてもよい。
【0098】
S313では、第1の難易度算出部3023-1が、S311で取得された教師データに含まれるフレーム画像に基づき、当該フレーム画像を用いた1段目の推論モデルによる推論の難易度を算出する。より詳細には、S313では、まず、第1のデータ予測部3022-1が、S311で取得された教師データに含まれるフレーム画像よりも時系列順で前のフレーム画像から、S311で取得された教師データに含まれるフレーム画像を予測する。そして、第1の難易度算出部3023-1は、第1のデータ予測部3022-1が予測したフレーム画像とS311で取得された教師データに含まれるフレーム画像とに基づいて、第1のデータ予測部3022-1の予測誤差を算出する。この予測誤差は、1段目の推論モデルによる推論の難易度を示している。
【0099】
S314では、第1の判定部303-1が、S313で算出された難易度に基づき、S311で取得された教師データを、2段目以降の推論モデルの学習に用いるか否かを判定する。例えば、第1の判定部303-1は、S313で算出された難易度が予め設定された第1の閾値を超えている場合に2段目以降の推論モデルの学習に用いると判定してもよい。S314でYESと判定された場合にはS316に進む。一方、S314でNOと判定された場合にはS315に進む。
【0100】
S315では、推論モデル学習部305が、1段目の推論モデルを更新する。例えば、推論モデル学習部305は、S311で取得された教師データに含まれる正解データを用いて、S312の推論結果の誤差を計算すると共に、計算した誤差から1段目の推論モデルに含まれる各重み値の勾配を算出し、算出した勾配に基づいて各重み値を更新してもよい。この場合、勾配の計算には例えば誤差逆伝搬法が適用でき、重み値の更新には例えば確率的勾配降下法が適用できる。S315の終了後はS322に進む。
【0101】
S316では、2段目処理部302-1に含まれる第2の推論部3021-2が、2段目の推論モデルを用いて推論を行う。より詳細には、第2の推論部3021-2は、S312における第1の推論部3021-1の推論の過程で抽出された第1の特徴量を2段目の推論モデルに入力して推論を行う。なお、第2の推論部3021-2は、S311で取得された教師データに含まれるフレーム画像を2段目の推論モデルに入力して推論を行ってもよい。
【0102】
S317では、第2の難易度算出部3023-2が、2段目の推論モデルによる推論の難易度を算出する。より詳細には、S317では、まず、第2のデータ予測部3022-2が、S311で取得された教師データに含まれるフレーム画像よりも時系列順で前のフレーム画像からの推論の過程で抽出された第1の特徴量から、S311で取得された教師データに含まれるフレーム画像から抽出された第1の特徴量を予測する。そして、第2の難易度算出部3023-2は、第2のデータ予測部3022-2が予測した第1の特徴量と、S316の推論の際に抽出された第1の特徴量とに基づいて、第1のデータ予測部3022-1の予測誤差を算出する。この予測誤差は、2段目の推論モデルによる推論の難易度を示している。
【0103】
S318では、第2の判定部303-2が、S317で算出された難易度に基づき、S311で取得された教師データを、2段目以降の推論モデルの学習に用いるか否かを判定する。例えば、第2の判定部303-2は、S317で算出された難易度が、予め設定された第2の閾値を超えている場合に3段目の推論モデルの学習に用いると判定してもよい。S318でYESと判定された場合にはS320に進む。一方、S318でNOと判定された場合にはS319に進む。
【0104】
S319では、推論モデル学習部305が、2段目までの推論モデルを更新する。例えば、推論モデル学習部305は、S311で取得された教師データに含まれる正解データを用いて、S316の推論結果の誤差を計算すると共に、計算した誤差から2段目までの推論モデルに含まれる各モデルパラメータの勾配を算出し、算出した勾配に基づいて各重み値を更新してもよい。この場合、勾配の計算には例えば誤差逆伝搬法が適用でき、重み値の更新には例えば確率的勾配降下法が適用できる。S319の終了後はS322に進む。
【0105】
S319において、複数段の推論モデルが1つの多層ニューラルネットワークモデルに基づいて生成されたものである場合、推論モデル学習部305は、2段目の推論モデルの学習において前段の推論モデルの重み値も更新してもよい。例えば、S319において推論モデル学習部305が誤差逆伝搬法を適用して2段目の推論モデルの重み値の更新を行う場合、1段目の推論モデルの重み値も更新される。このように、複数段の推論モデルの学習においてはend to end学習が可能である。これにより、推論の難易度が高い教師データは後段の学習に用いつつ、前段の推論モデルの学習を重点的に進めることができる。なお、これは以下説明するS321の処理においても同様である。
【0106】
S320では、第3の推論部304が、3段目の推論モデルを用いて推論を行う。より詳細には、第3の推論部304は、S316における第2の推論部3021-2の推論の過程で抽出された第2の特徴量を3段目の推論モデルに入力して推論を行う。なお、第3の推論部304は、S311で取得された教師データに含まれるフレーム画像を3段目の推論モデルに入力して推論を行ってもよい。
【0107】
S321では、推論モデル学習部305が、3段目までの推論モデルを更新する。例えば、推論モデル学習部305は、S311で取得された教師データに含まれる正解データを用いて、S320の推論結果の誤差を計算すると共に、計算した誤差から3段目までの推論モデルに含まれる各重み値の勾配を算出し、算出した勾配に基づいて各重み値を更新してもよい。この場合、勾配の計算には例えば誤差逆伝搬法が適用でき、重み値の更新には例えば確率的勾配降下法が適用できる。誤差逆伝搬法を適用して推論モデルの更新を行う場合、S321では1段目および2段目の推論モデルの重み値も更新される。S321の終了後はS322に進む。
【0108】
S322では、推論モデル学習部305は、学習を終了するか否かを判定する。S322でYESと判定された場合には図8の処理は終了する。一方、S322でNOと判定された場合にはS311に戻り、時系列順で次のフレーム画像を含む教師データが取得される。なお、学習を終了する条件は予め定めておけばよい。例えば、推論モデル学習部305は、推論モデルの更新回数が所定回数に達したことを条件として学習を終了してもよい。
【0109】
以上のように、情報処理装置3が学習時に行う処理、すなわち推論モデルの生成方法は、複数段の推論モデルのうち1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を当該教師データに基づいて算出すること(S313)と、算出した難易度に基づいて当該教師データを2段目以降の推論モデルの学習に用いるか否かを判定すること(S314)と、を含む。
【0110】
これにより、1段目の推論モデルについては推論の難易度が低い教師データに特化した学習が行われる。よって、推論の難易度が低い入力データの処理に用いられる1段目の推論モデルを、推論の難易度が高い教師データで学習することにより生じる推論精度の低下を防ぐことができる。また、推論の難易度が高い教師データについては2段目以降の推論モデルの学習に用いられるため、2段目以降の推論モデルの推論精度も効果的に高めることができる。よって、当該推論モデルの生成方法によれば、情報処理装置3による推論に好適な複数段の推論モデルを生成することができる。
【0111】
(閾値の更新)
図8の処理の際に、第1の閾値更新部307-1は、S314の判定に用いられる第1の閾値の更新を行ってもよい。同様に、第2の閾値更新部307-2は、S318の判定に用いられる第2の閾値の更新を行ってもよい。
【0112】
第1の閾値と第2の閾値は、学習に用いた教師データセットに含まれる各フレーム画像が、当該フレーム画像を用いた推論の難易度に応じた適切な処理部(1段目処理部302-1、2段目処理部302-2、または第3の推論部304)に割り振られるように更新すればよい。
【0113】
例えば、第1の閾値更新部307-1は、S315における推論モデルの更新に用いられた教師データのうち、推論結果の誤差が所定の上限値を超えたものを特定してもよい。そして、第1の閾値更新部307-1は、特定した教師データについてのS314の判定結果がYESとなるように第1の閾値を更新してもよい。これにより、1段目の推論モデルにとって推論の難易度が高いフレーム画像についての推論に、2段目以降の推論モデルが用いられる可能性を高めることができる。
【0114】
同様に、第2の閾値更新部307-2は、S319における推論モデルの更新に用いられた教師データのうち、推論結果の誤差が所定の上限値を超えたものを特定してもよい。そして、第2の閾値更新部307-2は、特定した教師データについてのS318の判定結果がYESとなるように第2の閾値を更新してもよい。これにより、2段目の推論モデルにとって推論の難易度が高いフレーム画像についての推論に、3段目の推論モデルが用いられる可能性を高めることができる。
【0115】
また、第1の閾値更新部307-1は、S319における推論モデルの更新に用いられた教師データのうち、推論結果の誤差が所定の下限値未満であったものを特定してもよい。そして、第1の閾値更新部307-1は、特定した教師データについてのS314の判定結果がNOとなるように第1の閾値を更新してもよい。これにより、2段目の推論モデルにとって推論の難易度が低く、1段目の推論モデルでも十分な精度で推論が可能と考えられるフレーム画像についての推論に1段目の推論モデルが用いられる可能性を高めることができる。
【0116】
同様に、第2の閾値更新部307-2は、S321における推論モデルの更新に用いられた教師データのうち、推論結果の誤差が所定の下限値未満であったものを特定してもよい。そして、第2の閾値更新部307-2は、特定した教師データについてのS318の判定結果がNOとなるように第2の閾値を更新してもよい。これにより、3段目の推論モデルにとって推論の難易度が低く、2段目の推論モデルでも十分な精度で推論が可能と考えられるフレーム画像についての推論に2段目の推論モデルが用いられる可能性を高めることができる。
【0117】
以上のように、第1の判定部303-1は、第1の難易度算出部3023-1により算出される難易度が第1の閾値を超える教師データを、2段目以降の推論モデルの学習に用いると判定してもよい。そして、情報処理装置3は、1段目の推論モデルに時系列を構成する教師データを入力して得られる複数の推論の結果に基づいて第1の閾値を更新する第1の閾値更新部307-1を備えていてもよい。
【0118】
上記の構成によれば、実際の推論結果に基づいて、教師データを1段目の推論モデルの学習に用いるか、2段目以降の推論モデルの学習に用いるかの判定をより的確に行うこと、すなわち1段目の推論モデルで妥当な推論が得られることが見込まれる教師データは1段目の推論モデルの学習に用い、1段目の推論モデルでは妥当な推論結果が得られないことが見込まれる教師データは2段目の推論モデルの学習に用いることが可能になる。
【0119】
また、以上のように、情報処理装置3は、2段目の推論モデルに時系列を構成する教師データを入力して得られる複数の推論の結果に基づいて第2の閾値を更新する第2の閾値更新部307-2を備えていてもよい。これにより、2段目の推論モデルで妥当な推論が得られることが見込まれる教師データは2段目の推論モデルの学習に用い、2段目の推論モデルでは妥当な推論結果が得られないことが見込まれる教師データは3段目の推論モデルの学習に用いることが可能になる。なお、4段以上の推論モデルを用いる場合には、3段目以降の各段にも閾値更新部を設けてもよい。
【0120】
(予測モデルの更新)
また、図8の処理の際に、第1のデータ予測部3022-1が使用する第1の予測モデルと、第2のデータ予測部3022-2が使用する第2の予測モデルについても更新するようにしてもよい。第1の予測モデルの更新は第1の予測モデル学習部306-1が行い、第2の予測モデルの更新は第2の予測モデル学習部306-2が行う。なお、4段以上の推論モデルを用いる場合には、3段目以降の各段にも予測モデル学習部を設けてもよい。
【0121】
具体的には、例えば、第1の予測モデル学習部306-1は、S313において第1の難易度算出部3023-1が算出する予測誤差から第1の予測モデルに含まれる各重み値の勾配を算出し、算出した勾配に基づいて各重み値を更新してもよい。同様に、第2の予測モデル学習部306-2は、S317において第2の難易度算出部3023-2が算出する予測誤差から第2の予測モデルに含まれる各重み値の勾配を算出し、算出した勾配に基づいて各重み値を更新してもよい。なお、勾配の計算には例えば誤差逆伝搬法が適用でき、重み値の更新には例えば確率的勾配降下法が適用できる。
【0122】
また、第1の予測モデルの更新は、図7のS303の後にも行うようにしてもよい。同様に、第2の予測モデルの更新は、図7のS306の後にも行うようにしてもよい。なお、第1の予測モデルおよび第2の予測モデルの更新のタイミングは任意であり、これらの例に限られない。
【0123】
以上のように、情報処理装置3は、時系列を構成する教師データのうちある時点の教師データを、当該時点よりも時系列順で前の時点の教師データから第1の予測モデルを用いて予測する第1のデータ予測部3022-1を備える。また、第1の難易度算出部3023-1は、第1のデータ予測部3022-1の予測誤差を、上記ある時点の教師データを用いた推論の難易度を示す値として算出する。そして、情報処理装置3は、系列を構成する教師データを用いた学習により、上記予測誤差が小さくなるように第1の予測モデルを更新する第1の予測モデル学習部306-1を備える。
【0124】
上記の構成によれば、予測誤差が小さくなるように第1の予測モデルを更新するから、教師データを1段目の推論モデルの学習に用いるか、2段目以降の推論モデルの学習に用いるかの判定をより精度よく行うことが可能になる。
【0125】
〔変形例〕
上述の例示的実施形態で説明した各処理の実行主体は任意であり、上述の例に限られない。つまり、相互に通信可能な複数の装置により情報処理装置1~3と同様の機能を備えた情報処理システムを構築することができる。例えば、図7あるいは図8に示すフロー図における各処理を複数の情報処理装置(あるいはプロセッサ)に分担させて実行させることもできる。
【0126】
上述の各例示的実施形態で説明した情報処理装置1~3等は、例えば、高速カメラで撮影されたフレーム画像からのリアルタイムでの物体検出や、当該フレーム画像のリアルタイムでの領域分割等に好適に適用できる。そして、これらの検出あるいは領域分割の結果を利用することにより、高速な外観検査や高速な環境認識も可能になる。例えば、車載カメラやドローン等の無人移動体に搭載したカメラで撮影した画像から周囲の環境を認識する、といった用途にも好適に適用できる。また、自動運転等にも好適に適用できる。
【0127】
〔ソフトウェアによる実現例〕
情報処理装置1~3の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0128】
後者の場合、情報処理装置1~3は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図9に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1~3として動作させるためのプログラム(判定プログラム)Pが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1~3の各機能が実現される。
【0129】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0130】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0131】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0132】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0133】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0134】
(付記1)
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段と、前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段と、を備える情報処理装置。
【0135】
(付記2)
1段目の推論モデルに入力される前記入力データを、当該入力データよりも時系列順で前の入力データである過去入力データから予測する第1のデータ予測手段を備え、前記第1の難易度算出手段は、前記第1のデータ予測手段の予測誤差を、前記推論の難易度を示す値として算出する、付記1に記載の情報処理装置。
【0136】
(付記3)
後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段と、前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段と、を備える情報処理装置。
【0137】
(付記4)
前記複数段の推論モデルは、1つの多層ニューラルネットワークモデルに基づいて生成されたものであり、2段目以降の推論モデルの学習では、前段の推論モデルの重み値も更新する推論モデル学習手段を備える、付記3に記載の情報処理装置。
【0138】
(付記5)
時系列を構成する前記教師データのうちある時点の教師データを、当該時点よりも時系列順で前の時点の教師データから第1の予測モデルを用いて予測する第1のデータ予測手段を備え、前記第1の難易度算出手段は、前記第1のデータ予測手段の予測誤差を、前記ある時点の教師データを用いた推論の難易度を示す値として算出し、時系列を構成する前記教師データを用いた学習により、前記予測誤差が小さくなるように前記第1の予測モデルを更新する第1の予測モデル学習手段を備える、付記3または4に記載の情報処理装置。
【0139】
(付記6)
前記第1の判定手段は、前記難易度が第1の閾値を超える前記教師データを、2段目以降の推論モデルの学習に用いると判定し、1段目の推論モデルに時系列を構成する前記教師データを入力して得られる複数の推論の結果に基づいて前記第1の閾値を更新する第1の閾値更新手段を備える、付記3から5の何れかに記載の情報処理装置。
【0140】
(付記7)
少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出することと、前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定することと、を含む判定方法。
【0141】
(付記8)
少なくとも1つのプロセッサが、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出することと、前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定することと、を含む判定方法。
【0142】
(付記9)
コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する第1の難易度算出手段、および前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する第1の判定手段、として機能させる判定プログラム。
【0143】
(付記10)
コンピュータを、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する第1の難易度算出手段、および前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する第1の判定手段、として機能させる判定プログラム。
【0144】
(付記11)
1段目の推論モデルに前記入力データを入力して推論を行う第1の推論手段と、前記第1の判定手段が、2段目の推論モデルを用いると判定した場合に、前記第1の推論手段の推論の過程で抽出された第1の特徴量を、前記2段目の推論モデルに入力して推論を行う第2の推論手段と、を備える、付記1または2に記載の情報処理装置。
【0145】
(付記12)
前記第1の特徴量の抽出元となった前記入力データよりも時系列順で前の入力データである過去入力データから抽出された特徴量を用いて前記第1の特徴量を予測する第2のデータ予測手段と、前記第2のデータ予測手段の予測誤差を、前記2段目の推論モデルを用いた推論の難易度を示す値として算出する第2の難易度算出手段と、前記第2の難易度算出手段が算出する予測誤差に基づき、3段目以降の推論モデルを用いるか否かを判定する第2の判定手段と、を備える付記11に記載の情報処理装置。
【0146】
(付記13)
前記第2のデータ予測手段は、リカレントニューラルネットワークモデルを用いて前記第1の特徴量を予測する、付記12に記載の情報処理装置。
【0147】
(付記14)
前記第1の判定手段は、前記難易度に基づき、前記入力データを用いた推論に2段目以降の何れの段の推論モデルを用いるかを判定する、付記1、2、11、12、および13の何れかに記載の情報処理装置。
【0148】
(付記15)
少なくとも1つのプロセッサを備え、前記プロセッサは、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する入力データの少なくとも1つを入力して行う推論の難易度を、当該入力データに基づいて算出する処理と、前記難易度に基づき、前記入力データを用いた推論に2段目以降の推論モデルを用いるか否かを判定する処理と、を実行する情報処理装置。
【0149】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記難易度を算出する処理と、前記判定する処理とを前記プロセッサに実行させるための判定プログラムが記憶されていてもよい。また、この判定プログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0150】
(付記16)
少なくとも1つのプロセッサを備え、前記プロセッサは、後段のものを用いるほど推論精度が高くなるように構成された複数段の推論モデルのうち、1段目の推論モデルに時系列を構成する教師データの少なくとも1つを入力して行う推論の難易度を、当該教師データに基づいて算出する処理と、前記難易度に基づき、前記教師データを2段目以降の推論モデルの学習に用いるか否かを判定する処理と、を実行する情報処理装置。
【0151】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記難易度を算出する処理と、前記判定する処理とを前記プロセッサに実行させるための判定プログラムが記憶されていてもよい。また、この判定プログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0152】
1 情報処理装置
11 第1の難易度算出部
12 第1の判定部
2 情報処理装置
21 第1の難易度算出部
22 第1の判定部
3 情報処理装置
3021-1 第1の推論部
3022-1 第1のデータ予測部
3023-1 第1の難易度算出部
3021-2 第2の推論部
3022-2 第2のデータ予測部
3023-2 第2の難易度算出部
303-1 第1の判定部
303-2 第2の判定部
305 推論モデル学習部
306-1 第1の予測モデル学習部
307-1 第1の閾値更新部
図1
図2
図3
図4
図5
図6
図7
図8
図9