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

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

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

特許7507172情報処理方法、情報処理システム及び情報処理装置
<>
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図1
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図2
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図3A
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図3B
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図4
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図5
  • 特許-情報処理方法、情報処理システム及び情報処理装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-19
(45)【発行日】2024-06-27
(54)【発明の名称】情報処理方法、情報処理システム及び情報処理装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240620BHJP
   G06N 3/082 20230101ALI20240620BHJP
【FI】
G06N20/00 130
G06N3/082
【請求項の数】 8
(21)【出願番号】P 2021562535
(86)(22)【出願日】2020-11-11
(86)【国際出願番号】 JP2020042082
(87)【国際公開番号】W WO2021111832
(87)【国際公開日】2021-06-10
【審査請求日】2023-08-24
(31)【優先権主張番号】62/944,668
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】P 2020099961
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】石井 育規
(72)【発明者】
【氏名】中田 洋平
(72)【発明者】
【氏名】奥野 智行
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2019-139277(JP,A)
【文献】特開2019-133628(JP,A)
【文献】特開2016-110082(JP,A)
【文献】特開2002-202984(JP,A)
【文献】特表2017-531255(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/082
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される方法であって、
第1データを取得し、
前記第1データを第1推論モデルに入力して第1推論結果を算出し、
前記第1データを第2推論モデルに入力して第2推論結果を算出し、
前記第1推論結果及び前記第2推論結果の類似度を算出し、
前記類似度に基づいて機械学習における訓練データである第2データを決定し、
前記第2データを用いて前記第2推論モデルを機械学習により訓練し、
前記類似度は、前記第1推論結果と前記第2推論結果とが一致しているか否か、であり、
前記第1推論結果と前記第2推論結果とが一致しない場合、前記決定では、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する、
または、
前記類似度は、前記第1推論結果における第1推論値の大きさと前記第2推論結果における第2推論値の大きさとの類似度であり、
前記第1推論値と前記第2推論値との差分が閾値以上である場合、前記決定では、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する、
情報処理方法。
【請求項2】
前記第1推論モデルの構成と前記第2推論モデルの構成は異なる
請求項1に記載の情報処理方法。
【請求項3】
前記第1推論モデルの処理精度と前記第2推論モデルの処理精度は異なる
請求項1又は2に記載の情報処理方法。
【請求項4】
前記第2推論モデルは、前記第1推論モデルの軽量化により得られる
請求項2又は3に記載の情報処理方法。
【請求項5】
前記訓練では、前記第2データを他の訓練データより多く用いて前記第2推論モデルを訓練する
請求項1~のいずれか1項に記載の情報処理方法。
【請求項6】
前記第1推論モデル及び前記第2推論モデルは、ニューラルネットワークモデルである
請求項1~のいずれか1項に記載の情報処理方法。
【請求項7】
第1データを取得する取得部と、
前記第1データを第1推論モデルに入力して第1推論結果を算出し、前記第1データを第2推論モデルに入力して第2推論結果を算出する推論結果算出部と、
前記第1推論結果及び前記第2推論結果の類似度を算出する類似度算出部と、
前記類似度に基づいて機械学習における訓練データである第2データを決定する決定部と、
前記第2データを用いて第2推論モデルを機械学習により訓練する訓練部と、を備え
前記類似度は、前記第1推論結果と前記第2推論結果とが一致しているか否か、であり、
前記第1推論結果と前記第2推論結果とが一致しない場合、前記決定部は、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する、
または、
前記類似度は、前記第1推論結果における第1推論値の大きさと前記第2推論結果における第2推論値の大きさとの類似度であり、
前記第1推論値と前記第2推論値との差分が閾値以上である場合、前記決定部は、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する、
情報処理システム。
【請求項8】
センシングデータを取得する取得部と、
前記センシングデータを第2推論モデルに入力して推論結果を取得する制御部と、
取得された前記推論結果に基づくデータを出力する出力部と、を備え、
前記第2推論モデルは、第2データを用いて機械学習により訓練され、
前記第2データは、機械学習における訓練データであり、類似度に基づいて決定され、
前記類似度は、第1推論結果及び第2推論結果から算出され、
前記第1推論結果は、第1データを第1推論モデルに入力して算出され、
前記第2推論結果は、前記第1データを前記第2推論モデルに入力して算出され
前記類似度は、前記第1推論結果と前記第2推論結果とが一致しているか否か、であり、
前記第1推論結果と前記第2推論結果とが一致しない場合、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータが前記第2データとして決定される、
または、
前記類似度は、前記第1推論結果における第1推論値の大きさと前記第2推論結果における第2推論値の大きさとの類似度であり、
前記第1推論値と前記第2推論値との差分が閾値以上である場合、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータが前記第2データとして決定される、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、推論モデルを機械学習により訓練するための情報処理方法、情報処理システム及び情報処理装置に関する。
【背景技術】
【0002】
近年、エッジ端末でDeep Learningを実行する際に、処理の軽量化のために、推論モデルを軽量な推論モデルに変換することがなされている。例えば、特許文献1には、推論モデルの変換前後で推論性能をなるべく維持したまま、推論モデルの変換を行う技術が開示されている。この文献では、推論性能が落ちないように推論モデルの変換(例えば第1推論モデルから第2推論モデルへの変換)が実施される。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開2016/0328644号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に開示された技術では、第1推論モデルと第2推論モデルとで推論性能(例えば認識率などの認識性能)が同じでも、ある推論対象について、第1推論モデルの振る舞い(例えば正解/不正解)と第2推論モデルの振る舞いとが異なる場合がある。つまり、第1推論モデルと第2推論モデルとで、統計的な推論結果は同じであっても、個別的な推論結果が異なる場合がある。この差異が問題を引き起こすおそれがある。
【0005】
そこで、本開示は、第1推論モデルの振る舞いと第2推論モデルの振る舞いとを近づけることができる情報処理方法等を提供する。
【課題を解決するための手段】
【0006】
本開示に係る情報処理方法は、コンピュータにより実行される方法であって、第1データを取得し、前記第1データを第1推論モデルに入力して第1推論結果を算出し、前記第1データを第2推論モデルに入力して第2推論結果を算出し、前記第1推論結果及び前記第2推論結果の類似度を算出し、前記類似度に基づいて機械学習における訓練データである第2データを決定し、前記第2データを用いて前記第2推論モデルを機械学習により訓練する処理を含み、前記類似度は、前記第1推論結果と前記第2推論結果とが一致しているか否か、であり、前記第1推論結果と前記第2推論結果とが一致しない場合、前記決定では、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する、または、前記類似度は、前記第1推論結果における第1推論値の大きさと前記第2推論結果における第2推論値の大きさとの類似度であり、前記第1推論値と前記第2推論値との差分が閾値以上である場合、前記決定では、前記第1推論モデルおよび前記第2推論モデルに入力された前記第1データを加工したデータを前記第2データとして決定する
【0007】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示の一態様に係る情報処理方法等によれば、第1推論モデルの振る舞いと第2推論モデルの振る舞いとを近づけることができる。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態に係る情報処理システムの一例を示すブロック図である。
図2図2は、実施の形態に係る情報処理方法の一例を示すフローチャートである。
図3A図3Aは、第1推論モデルにおいて識別層手前の層の出力によって張られる特徴量空間と第2推論モデルにおいて識別層手前の層の出力によって張られる特徴量空間との一例を示す図である。
図3B図3Bは、第1推論モデル21の振る舞いと第2推論モデル22との振る舞いとが一致しないときの第1データの一例を示す図である。
図4図4は、実施の形態に係る第2推論モデルの訓練方法の一例を示すフローチャートである。
図5図5は、実施の形態の変形例に係る情報処理システムの一例を示すブロック図である。
図6図6は、その他の実施の形態に係る情報処理装置の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
従来技術では、推論性能が落ちないように推論モデルの変換が実施されるが、第1推論モデルと第2推論モデルとで推論性能が同じでも、ある推論対象について、第1推論モデルでの振る舞いと第2推論モデルでの振る舞いとが異なる場合がある。ここで、振る舞いは、複数の入力のそれぞれに対する推論モデルの出力である。つまり、第1推論モデルと第2推論モデルとで、統計的な推論結果は同じであっても、個別的な推論結果が異なる場合がある。この差異が問題を引き起こすおそれがある。例えば、ある推論対象について、第1推論モデルでは推論結果が正解で、第2推論モデルでは推論結果が不正解となる場合があったり、第1推論モデルでは推論結果が不正解で、第2推論モデルでは推論結果が正解となる場合があったりする。
【0011】
このように、第1推論モデルと第2推論モデルとで振る舞いが異なると、例えば、第1推論モデルの推論性能が改善され、改善後の第1推論モデルから第2推論モデルが生成された場合であっても、第2推論モデルの推論性能が改善されない又は劣化することがある。また、例えば、推論モデルの推論結果を用いた後続の処理において、同じ入力に対して第1推論モデルと第2推論モデルとで異なる処理結果が出力されるおそれもある。特に、当該処理が安全に関わる処理(例えば車両における物体認識処理)である場合は、上記振る舞いの差異は危険をもたらすおそれがある。
【0012】
本開示の一態様に係る情報処理方法は、コンピュータにより実行される方法であって、第1データを取得し、前記第1データを第1推論モデルに入力して第1推論結果を算出し、前記第1データを第2推論モデルに入力して第2推論結果を算出し、前記第1推論結果及び前記第2推論結果の類似度を算出し、前記類似度に基づいて機械学習における訓練データである第2データを決定し、前記第2データを用いて前記第2推論モデルを機械学習により訓練する処理を含む。
【0013】
第1推論モデルと第2推論モデルとは異なるモデルであるため、それぞれに同じ第1データを入力しても、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しない場合がある。しかし、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しないときの第1推論結果及び第2推論結果の類似度を用いることで、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しない第1データを決定することができる。そして、第2推論モデルの振る舞いを第1推論モデルの振る舞いに近づけるように第2推論モデルを機械学習により訓練するための訓練データである第2データを第1データから決定することができる。したがって、本開示によれば、第1推論モデルの振る舞いと第2推論モデルの振る舞いとを近づけることができる。
【0014】
また、前記第1推論モデルの構成と前記第2推論モデルの構成は異なっていてもよい。
【0015】
これによれば、それぞれ異なる構成(例えばネットワーク構成)である第1推論モデル及び第2推論モデルについて、それぞれの振る舞いを近づけることができる。
【0016】
また、前記第1推論モデルの処理精度と前記第2推論モデルの処理精度は異なっていてもよい。
【0017】
これによれば、それぞれ異なる処理精度(例えばビット精度)である第1推論モデル及び第2推論モデルについて、それぞれの振る舞いを近づけることができる。
【0018】
また、前記第2推論モデルは、前記第1推論モデルの軽量化により得られてもよい。
【0019】
これによれば、第1推論モデルの振る舞いと、軽量化された第2推論モデルの振る舞いとを近づけることができる。軽量化された第2推論モデルの振る舞いが第1推論モデルの振る舞いに近づくように第2推論モデルが訓練されることで、軽量化された第2推論モデルの性能を第1推論モデルの性能に近づけることができ、第2推論モデルの精度の改善も可能となる。
【0020】
また、前記類似度は、前記第1推論結果と前記第2推論結果とが一致しているか否か、を含んでいてもよい。
【0021】
これによれば、第1推論結果と第2推論結果とが一致しているか否かに基づいて、第1推論モデルの振る舞いと第2推論モデルとの振る舞いが一致しない第1データを決定することができる。具体的には、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しない第1データとして、第1推論結果と第2推論結果とが一致していないときの第1データを決定できる。
【0022】
また、前記決定では、前記第1推論結果と前記第2推論結果とが一致しない場合の入力である前記第1データに基づいて前記第2データを決定してもよい。
【0023】
これによれば、第1推論結果と第2推論結果とが一致していない第1データに基づいて第2推論モデルを訓練することができる。これは一致/不一致が明確な推論において有効である。
【0024】
また、前記類似度は、前記第1推論結果における第1推論値の大きさと前記第2推論結果における第2推論値の大きさとの類似度、を含んでいてもよい。
【0025】
これによれば、第1推論結果における推論値の大きさと第2推論結果における推論値の大きさとの類似度に基づいて、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しない第1データを決定することができる。具体的には、第1推論モデルと第2推論モデルとの振る舞いが一致しない第1データとして、第1推論結果における推論値の大きさと第2推論結果における推論値の大きさとの差が大きいときの第1データを決定できる。
【0026】
また、前記決定では、前記第1推論値と前記第2推論値との差分が閾値以上である場合の入力である前記第1データに基づいて前記第2データを決定してもよい。
【0027】
これによれば、第1推論値と第2推論値との差分が閾値以上である第1データに基づいて第2推論モデルを訓練することができる。これは一致/不一致を明確に判断しにくい推論において有効である。
【0028】
また、前記第2データは、前記第1データを加工したデータであってもよい。
【0029】
これによれば、第1推論モデルの振る舞いと第2推論モデルの振る舞いとが一致しない第1データを加工したデータを第2データとして決定することができる。
【0030】
また、前記訓練では、前記第2データを他の訓練データより多く用いて前記第2推論モデルを訓練してもよい。
【0031】
これによれば、第2推論モデルの訓練データとして有効な第2データを多く用いることで、第2推論モデルの機械学習を効果的に進めることができる。
【0032】
また、前記第1推論モデル及び前記第2推論モデルは、ニューラルネットワークモデルであってもよい。
【0033】
このように、それぞれニューラルネットワークモデルである第1推論モデル及び第2推論モデルについて、それぞれの振る舞いを近づけることができる。
【0034】
本開示の一態様に係る情報処理システムは、第1データを取得する取得部と、前記第1データを第1推論モデルに入力して第1推論結果を算出し、前記第1データを第2推論モデルに入力して第2推論結果を算出する推論結果算出部と、前記第1推論結果及び前記第2推論結果の類似度を算出する類似度算出部と、前記類似度に基づいて機械学習における訓練データである第2データを決定する決定部と、前記第2データを用いて第2推論モデルを機械学習により訓練する訓練部と、を備える。
【0035】
これによれば、第1推論モデルの振る舞いと第2推論モデルの振る舞いとを近づけることができる情報処理システムを提供できる。
【0036】
本開示の一態様に係る情報処理装置は、センシングデータを取得する取得部と、前記センシングデータを第2推論モデルに入力して推論結果を取得する制御部と、取得された前記推論結果に基づくデータを出力する出力部と、を備え、前記第2推論モデルは、第2データを用いて機械学習により訓練され、前記第2データは、機械学習における訓練データであり、類似度に基づいて決定され、前記類似度は、第1推論結果及び第2推論結果から算出され、前記第1推論結果は、第1データを前記第1推論モデルに入力して算出され、前記第2推論結果は、前記第1データを前記第2推論モデルに入力して算出される。
【0037】
これによれば、第1推論モデルの振る舞いに近づけられた第2推論モデルを装置に用いることができる。これにより、組込み環境における推論モデルを用いた推論処理の性能を向上させることができる。
【0038】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0039】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。
【0040】
(実施の形態)
以下、実施の形態に係る情報処理システムについて説明する。
【0041】
図1は、実施の形態に係る情報処理システム1の一例を示すブロック図である。情報処理システム1は、取得部10、推論結果算出部20、第1推論モデル21、第2推論モデル22、類似度算出部30、決定部40、訓練部50及び学習データ100を備える。
【0042】
情報処理システム1は、第2推論モデル22を機械学習により訓練するためのシステムであり、機械学習の際に学習データ100を用いる。情報処理システム1は、プロセッサ及びメモリ等を含むコンピュータである。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)等であり、プロセッサにより実行されるプログラムを記憶することができる。取得部10、推論結果算出部20、類似度算出部30、決定部40及び訓練部50は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。
【0043】
例えば、情報処理システム1は、サーバであってもよい。また、情報処理システム1を構成する構成要素は、複数のサーバに分散して配置されてもよい。
【0044】
学習データ100には、数多くの種類のデータが含まれており、例えば、画像認識をさせるモデルを機械学習により訓練する場合、学習データ100には、画像データが含まれる。学習データ100には、様々な種類(例えばクラス)のデータが含まれる。なお、画像は、撮像画像であってもよく、生成画像であってもよい。
【0045】
第1推論モデル21及び第2推論モデル22は、例えば、ニューラルネットワークモデルであり、入力されたデータに対して推論を行う。推論は、ここでは例えば分類とするが、物体検出、セグメンテーション又はカメラから被写体までの距離の推定等であってもよい。なお、振る舞いは、推論が分類の場合、正解/不正解又はクラスであってよく、推論が物体検出の場合、正解/不正解又はクラスに代えて又はそれと共に検出枠の大きさ又は位置関係であってよく、推論がセグメンテーションの場合、領域のクラス、大きさ又は位置関係であってよく、推論が距離推定である場合、推定距離の長さであってよい。
【0046】
例えば、第1推論モデル21の構成と第2推論モデル22の構成は異なっていてもよく、また、第1推論モデル21の処理精度と第2推論モデル22の処理精度は異なっていてもよく、第2推論モデル22は、第1推論モデル21の軽量化により得られる推論モデルであってもよい。例えば、第1推論モデル21の構成と第2推論モデル22の構成が異なる場合、第2推論モデル22は、第1推論モデル21よりも枝数が少ない又はノード数が少ない。例えば、第1推論モデル21の処理精度と第2推論モデル22の処理精度が異なる場合、第2推論モデル22は、第1推論モデル21よりもビット精度が低い。具体的には、第1推論モデル21は浮動小数点モデルであり、第2推論モデル22は固定小数点モデルであってもよい。なお、第1推論モデル21の構成と第2推論モデル22の構成が異なり、かつ、第1推論モデル21の処理精度と第2推論モデル22の処理精度が異なっていてもよい。
【0047】
取得部10は、学習データ100から第1データを取得する。
【0048】
推論結果算出部20は、取得部10が取得した第1データを第1推論モデル21及び第2推論モデル22に入力して第1推論結果及び第2推論結果を算出する。また、推論結果算出部20は、学習データ100から第2データを選択して、第2データを第1推論モデル21及び第2推論モデル22に入力して第3推論結果及び第4推論結果を算出する。
【0049】
類似度算出部30は、第1推論結果及び第2推論結果の類似度を算出する。
【0050】
決定部40は、算出された類似度に基づいて機械学習における訓練データである第2データを決定する。
【0051】
訓練部50は、決定された第2データを用いて第2推論モデル22を機械学習により訓練する。例えば、訓練部50は、パラメタ算出部51及び更新部52を機能構成要素として有する。パラメタ算出部51及び更新部52の詳細については、後述する。
【0052】
情報処理システム1の動作について図2を用いて説明する。
【0053】
図2は、実施の形態に係る情報処理方法の一例を示すフローチャートである。情報処理方法は、コンピュータ(情報処理システム1)により実行される方法である。このため、図2は、実施の形態に係る情報処理システム1の動作の一例を示すフローチャートでもある。すなわち、以下の説明は、情報処理システム1の動作の説明でもあり、情報処理方法の説明でもある。
【0054】
まず、取得部10は、第1データを取得する(ステップS11)。例えば、第1データを画像とすると、取得部10は、あるクラスの物体が写る画像を取得する。
【0055】
次に、推論結果算出部20は、第1データを第1推論モデル21に入力して第1推論結果を算出し(ステップS12)、第1データを第2推論モデル22に入力して第2推論結果を算出する(ステップS13)。つまり、推論結果算出部20は、同じ第1データを第1推論モデル21と第2推論モデル22とに入力することで、第1推論結果と第2推論結果とを算出する。なお、ステップS12及びステップS13は、ステップS13、ステップS12の順序で実行されてもよいし、並行して実行されてもよい。
【0056】
次に、類似度算出部30は、第1推論結果と第2推論結果との類似度を算出する(ステップS14)。類似度は、同じ第1データを異なる第1推論モデル21と第2推論モデル22とに入力したときに算出される第1推論結果と第2推論結果との類似度である。類似度の詳細については後述する。
【0057】
次に、決定部40は、算出された類似度に基づいて機械学習における訓練データである第2データを決定する(ステップS15)。例えば、第2データは、第1データそのものであってもよいし、第1データを加工したデータであってもよい。例えば、決定部40は、決定した第2データを学習データ100に追加する。なお、決定部40は、第2データを繰り返し学習データ100に追加してもよい。学習データ100に繰り返し追加される第2データのそれぞれは、追加されるごとに異なる加工が施されたものであってもよい。
【0058】
なお、1つの第1データについてステップS11からステップS15までの処理が行われ、次に別の第1データについてステップS11からステップS15までの処理が行われ、・・・というのが繰り返されて複数の第2データが決定されてもよいし、複数の第1データについてまとめてステップS11からステップS15までの処理が行われて、複数の第2データが決定されてもよい。
【0059】
そして、訓練部50は、決定された第2データを用いて第2推論モデル22を機械学習により訓練する(ステップS16)。例えば、訓練部50は、第2データを他の訓練データより多く用いて第2推論モデル22を訓練する。例えば、学習データ100には複数の第2データが新たに追加されているため、学習データ100における第2データの数が多くなっており、訓練部50は、第2データを他のデータより多く用いて第2推論モデル22を訓練することができる。例えば、第2データを他の訓練データより多く用いるとは、訓練における第2データの数が他の訓練データより多いことである。また例えば、第2データを他の訓練データより多く用いるとは、訓練における第2データの使用回数が他の訓練データより多いことであってもよい。訓練部50は、例えば、決定部40から、第2データを学習データ100における他のデータより多く用いて第2推論モデル22を訓練するように指示を受け、当該指示に応じて第2データを用いた訓練回数が他のデータより多くなるように第2推論モデル22を訓練してもよい。第2推論モデル22の訓練の詳細については後述する。
【0060】
ここで、第1推論モデル21において識別層手前の層の出力によって張られる特徴量空間と第2推論モデル22において識別層手前の層の出力によって張られる特徴量空間について図3Aを用いて説明する。
【0061】
図3Aは、第1推論モデル21において識別層手前の層の出力によって張られる特徴量空間と第2推論モデル22において識別層手前の層の出力によって張られる特徴量空間との一例を示す図である。なお、図3Aに示される第2推論モデル22での特徴量空間は、訓練部50による訓練がされていない、又は、訓練部50による訓練途中の第2推論モデル22での特徴量空間である。各特徴量空間における10個の丸は、各推論モデルに入力されたデータの特徴量を示し、5つの白丸はそれぞれ同じ種類(例えばクラスX)のデータの特徴量であり、5つのドットが付された丸はそれぞれ同じ種類(例えばクラスY)のデータの特徴量である。クラスXとクラスYとは異なるクラスである。例えば、各推論モデルについて、特徴量空間において特徴量が識別境界より左側にあるデータの推論結果はクラスXを示し、特徴量が識別境界より右側にあるデータの推論結果はクラスYを示すとする。
【0062】
図3Aには、特徴量が識別境界付近にある第1データとして第1データ101、102、103及び104の特徴量が、第1推論モデル21での特徴量空間及び第2推論モデル22での特徴量空間のそれぞれに示されている。第1データ101は、クラスXのデータであり、同じ第1データ101が第1推論モデル21及び第2推論モデル22に入力されたときに、第1推論結果はクラスXを示し、第2推論結果はクラスYを示している。第1データ102は、クラスYのデータであり、同じ第1データ102が第1推論モデル21及び第2推論モデル22に入力されたときに、第1推論結果はクラスXを示し、第2推論結果はクラスYを示している。第1データ103は、クラスYのデータであり、同じ第1データ103が第1推論モデル21及び第2推論モデル22に入力されたときに、第1推論結果はクラスYを示し、第2推論結果はクラスXを示している。第1データ104は、クラスXのデータであり、同じ第1データ104が第1推論モデル21及び第2推論モデル22に入力されたときに、第1推論結果はクラスYを示し、第2推論結果はクラスXを示している。
【0063】
クラスXの第1データ101に対する第1推論結果及び第2推論結果について、第1推論結果はクラスXと正解になっているが、第2推論結果はクラスYと不正解になっている。また、クラスYの第1データ102に対する第1推論結果及び第2推論結果について、第2推論結果はクラスYと正解になっているが、第1推論結果はクラスXと不正解となっている。また、クラスYの第1データ103に対する第1推論結果及び第2推論結果について、第1推論結果はクラスYと正解になっているが、第2推論結果はクラスXと不正解になっている。また、クラスXの第1データ104に対応する第1推論結果及び第2推論結果について、第2推論結果はクラスXと正解になっているが、第1推論結果はクラスYと不正解となっている。この例では、第1推論モデル21及び第2推論モデル22はそれぞれ10個中8個が正解となっており、認識率は80%と同じであるが、同じ第1データについて特徴量が識別境界付近の第1データの推論結果が第1推論モデル21と第2推論モデル22とで異なっており、第1推論モデル21と第2推論モデル22とで振る舞いがずれている。
【0064】
これに対して、本開示では、同じ第1データが第1推論モデル21及び第2推論モデル22に入力されたときに算出される第1推論結果及び第2推論結果の類似度に着目し、当該類似度に基づいて決定される訓練データである第2データから振る舞いを一致させるために有効なデータを重点サンプリングする。例えば、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しないときの第1推論結果及び第2推論結果の類似度に基づいて第2データが決定される。
【0065】
図3Bは、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しないときの第1データの一例を示す図である。各特徴量空間における4個の丸に斜線が付されているが、これらは、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しないときに第1推論モデル21及び第2推論モデル22に入力されていた第1データの特徴量を示す。例えば、類似度は、第1推論結果と第2推論結果とが一致しているか否か、を含む。例えば、第1データ101に対する第1推論結果が示すクラス(クラスX)と第2推論結果が示すクラス(クラスY)とが一致していない。また、第1データ102に対する第1推論結果が示すクラス(クラスX)と第2推論結果が示すクラス(クラスY)とが一致していない。また、第1データ103に対する第1推論結果が示すクラス(クラスY)と第2推論結果が示すクラス(クラスX)とが一致していない。また、第1データ104に対する第1推論結果が示すクラス(クラスY)と第2推論結果が示すクラス(クラスX)とが一致していない。
【0066】
このように、決定部40は、第1推論結果及び第2推論結果の類似度(例えば、第1推論結果と第2推論結果とが一致しているか否か)に基づいて、具体的には、第1推論結果と第2推論結果とが一致しない場合の入力である第1データに基づいて、第1推論モデル21及び第2推論モデル22の振る舞いが一致しない第1データ(図3A及び図3Bの例では第1データ101、102、103及び104)を、第2データとして決定する。入力される推論モデルによって推論結果が変わってくるような第1データを訓練データとして利用して推論モデルを訓練することで、推論モデルの改善を図ることができるためである。なお、決定部40は、第1推論結果と第2推論結果とが一致している第1データであっても、特徴量が識別境界付近となっている場合には、当該第1データを第2データとして決定してもよい。特徴量が識別境界付近となっている第1データは、当該第1データが入力されたときに第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しない可能性が高いデータであり、訓練データとして利用するのに有効なデータとなるためである。
【0067】
なお、類似度は、第1推論結果における第1推論値の大きさと第2推論結果における第2推論値の大きさとの類似度を含んでいてもよい。例えば、第1データに対する第1推論結果における第1推論値の大きさと当該第1データに対する第2推論結果における第2推論値の大きさとの差が大きい場合、決定部40は、当該第1データを第2データとして決定してもよい。つまり、決定部40は、第1推論値と第2推論値との差分が閾値以上である場合の入力である第1データに基づいて第2データを決定してもよい。第1推論結果における第1推論値の大きさと第2推論結果における第2推論値の大きさとの差が大きくなるような第1データは、推論モデルの推論の信頼度又は尤度等を低くするデータであり、すなわち、当該第1データが入力されたときに第1推論モデル21の振る舞いと第2推論モデル22の振る舞いが一致しない可能性が高いデータであり、訓練データとして利用するのに有効なデータとなるためである。
【0068】
なお、決定部40は、第1データをそのまま第2データとして決定して学習データ100に追加してもよいが、第1データを加工したデータを第2データとして決定して学習データ100に追加してもよい。例えば、第1データを加工した第2データは、第1データに幾何学的な変換が施されたデータであってもよいし、第1データの値にノイズが付与されたデータであってもよいし、第1データの値に線形変換が施されたデータであってもよい。
【0069】
次に、第2推論モデル22の訓練方法について説明する。
【0070】
図4は、実施の形態に係る第2推論モデル22の訓練方法の一例を示すフローチャートである。
【0071】
推論結果算出部20は、第2データを用いて重点サンプリングを行うために、第2データを取得する(ステップS21)。
【0072】
推論結果算出部20は、第2データを第1推論モデル21に入力して第3推論結果を算出し(ステップS22)、第2データを第2推論モデル22に入力して第4推論結果を算出する(ステップS23)。つまり、推論結果算出部20は、同じ第2データを第1推論モデル21と第2推論モデル22とに入力することで、第3推論結果と第4推論結果とを算出する。なお、ステップS22及びステップS23は、ステップS23、ステップS22の順序で実行されてもよいし、並行して実行されてもよい。
【0073】
次に、パラメタ算出部51は、第3推論結果及び第4推論結果に基づいて訓練パラメタを算出する(ステップS24)。例えば、パラメタ算出部51は、第3推論結果と第4推論結果との誤差が小さくなるように、訓練パラメタを算出する。誤差が小さくなるとは、異なる第1推論モデル21及び第2推論モデル22に同じ第2データを入力したときに得られる第3推論結果及び第4推論結果が近い推論結果となることを意味する。誤差は、第3推論結果と第4推論結果との距離が近いほど小さくなる。推論結果の距離は、例えば、クロスエントロピーによって求めることができる。
【0074】
そして、更新部52は、算出された訓練パラメタを用いて第2推論モデル22を更新する(ステップS25)。
【0075】
なお、取得部10が学習データ100から第1データを取得する例について説明したが、取得部10は、学習データ100から第1データを取得しなくてもよい。これについて、図5を用いて説明する。
【0076】
図5は、実施の形態の変形例に係る情報処理システム2の一例を示すブロック図である。
【0077】
実施の形態の変形例に係る情報処理システム2は、追加データ200を備え、取得部10は、学習データ100ではなく追加データ200から第1データを取得する点が、実施の形態に係る情報処理システム1と異なる。その他の点は、実施の形態におけるものと同じであるため説明は省略する。
【0078】
図5に示されるように、学習データ100に追加される第2データを決定するための第1データを含む追加データ200が学習データ100とは別に用意されていてもよい。つまり、学習データ100にもともと含まれているデータではなく、学習データ100とは別に用意された追加データ200に含まれているデータが第2データの決定のために用いられてもよい。
【0079】
以上説明したように、第1推論モデル21と第2推論モデル22とは異なるモデルであるため、それぞれに同じ第1データを入力しても、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しない場合がある。しかし、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しないときの第1推論結果及び第2推論結果の類似度を用いることで、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとが一致しない第1データを決定することができる。そして、第2推論モデル22の振る舞いを第1推論モデル21の振る舞いに近づけるように第2推論モデル22を機械学習により訓練するための訓練データである第2データを第1データから決定することができる。したがって、本開示によれば、第1推論モデル21の振る舞いと第2推論モデル22の振る舞いとを近づけることができる。
【0080】
また、通常の重点サンプリング学習では、1つの推論モデルについて識別境界付近のデータが重点サンプリングされるが、本開示では、推論モデル間で振る舞いが一致したり、不一致になったりするデータを重点的に学習するため、学習の安定化が可能となる。
【0081】
また、第2推論モデル22が第1推論モデル21の軽量化により得られるモデルである場合、第2推論モデル22は第1推論モデル21よりも精度が劣るが、軽量化された第2推論モデル22の振る舞いが第1推論モデル21に近づくことで、軽量化された第2推論モデル22の性能を第1推論モデル21に近づけることができ、第2推論モデル22の精度の改善も可能となる。
【0082】
(その他の実施の形態)
以上、本開示の一つ又は複数の態様に係る情報処理方法及び情報処理システム1について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
【0083】
例えば、上記実施の形態では、第2推論モデル22が、第1推論モデル21の軽量化により得られる例について説明したが、第2推論モデル22は、第1推論モデル21の軽量化により得られるモデルでなくてもよい。
【0084】
例えば、上記実施の形態では、第1データ及び第2データが画像である例を説明したが、他のデータであってもよい。具体的には、画像以外のセンシングデータであってもよい。例えば、マイクロフォンから出力される音声データ、LiDAR等のレーダから出力される点群データ、圧力センサから出力される圧力データ、温度センサ又は湿度センサから出力される温度データ又は湿度データ、香りセンサから出力される香りデータなどの正解データが取得可能なセンシングデータであれば、処理の対象とされてよい。
【0085】
例えば、上記実施の形態に係る訓練後の第2推論モデル22は、装置に組み込まれてもよい。これについて、図6を用いて説明する。
【0086】
図6は、その他の実施の形態に係る情報処理装置300の一例を示すブロック図である。なお、図6には、情報処理装置300の他にセンサ400も示している。
【0087】
図6に示されるように、情報処理装置300は、センシングデータを取得する取得部310と、上記第第2データに基づいて機械学習により訓練された第2推論モデル22にセンシングデータを入力して推論結果を取得する制御部320と、取得された推論結果に基づくデータを出力する出力部330と、を備える。このように、センシングデータをセンサ400から取得する取得部310と、訓練後の第2推論モデル22を用いた処理を制御する制御部320と、第2推論モデル22の出力である推論結果に基づくデータを出力する出力部330と、を備える情報処理装置300が提供されてよい。なお、情報処理装置300にセンサ400が含まれてもよい。また、取得部310は、センシングデータが記録されたメモリからセンシングデータを取得してもよい。
【0088】
例えば、本開示は、情報処理方法に含まれるステップを、プロセッサに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【0089】
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
【0090】
なお、上記実施の形態において、情報処理システム1に含まれる各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0091】
上記実施の形態に係る情報処理システム1の機能の一部又は全ては典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0092】
さらに、本開示の主旨を逸脱しない限り、本開示の各実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本開示に含まれる。
【産業上の利用可能性】
【0093】
本開示は、例えば、エッジ端末でDeep Learningを実行する際に用いられる推論モデルの開発に適用できる。
【符号の説明】
【0094】
1、2 情報処理システム
10、310 取得部
20 推論結果算出部
21 第1推論モデル
22 第2推論モデル
30 類似度算出部
40 決定部
50 訓練部
51 パラメタ算出部
52 更新部
100 学習データ
101、102、103、104 第1データ
200 追加データ
300 情報処理装置
320 制御部
330 出力部
図1
図2
図3A
図3B
図4
図5
図6