(本開示の一態様を得るに至った経緯)
近年、IoT機器にDeep Learning等の機械学習で訓練された推論モデルを組み込むことが検討されている。しかし、このような推論モデルは、コスト及びプライバシーの観点から、クラウドコンピューティング環境又はGPU(Graphical Processing Unit)を用いた環境ではなく、演算能力及びメモリ容量などの計算リソースが限られた機器上のプロセッサで動作することが求められる。このような計算リソースが限られたプロセッサ上で推論を行うために、推論モデルを量子化する等の手法を用いて推論モデルを軽量化することが考えられる。
例えば、特許文献1で開示される技術は、システムの計算リソース及び性能仕様に基づいて機械学習処理のための設定を変更する。これにより、計算リソース及び性能仕様が制約されても推論性能がある程度維持される。ここで、推論性能は正解データに対する推論結果の精度又は正確度であり、例えば入力データ全体に対する推論結果の正答率である。なお、1つの入力データに複数の推論対象がある場合には、推論性能は1つの入力データにおける複数の推論対象全体に対する推論結果の正答率であってもよい。
しかし、推論性能が維持されても、軽量化前の推論モデルの振る舞いと、軽量化後の推論モデルの振る舞いとの間に差異が生じることがある。言い換えると、軽量化前の推論モデルの推論結果と、軽量化後の推論モデルの推論結果との間に差異が生じることがある。
これに対し、非特許文献1で開示される技術は、入力データが異なる2つの推論モデルの間に生じる推論性能の差異を入力データの射影空間上の距離に基づいて小さくする。これにより、入力データが異なっていても推論性能の差異をある程度小さくすることができる。
しかし、入力データの組み合わせによっては、入力データに基づき2つの推論モデルが出力する推論結果の間の射影空間上の距離が小さくなり、機械学習処理による訓練が進行しなくなることがある。例えば、入力データが同一又は類似である場合、出力される推論結果の間の射影空間上の距離が小さくなり、訓練の進行が困難となることがある。
発明者らは、このような問題に鑑みて、鋭意検討、実験を繰り返した。その結果発明者らは、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる、下記本開示の一態様に係る情報処理方法等に想到した。
本開示の一態様に係る情報処理方法は、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、前記第2推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなる処理である。
上記態様によれば、上記情報処理方法は、第1射影結果と第2射影結果との誤差が第1非変換射影結果と第2非変換射影結果との誤差よりも大きくなるように第1特徴情報及び第2特徴情報に変換処理を行う。その結果、第1非変換射影結果と第2非変換射影結果との誤差を機械学習処理による訓練に用いる場合よりも訓練を進行しやすくすることができる。また、上記情報処理方法は、第1射影結果と第2射影結果との誤差が小さくなるように第2推論モデルを訓練する。その結果、第2推論モデルは、第1推論モデルと同じ推論結果を出力するように訓練される。つまり、上記情報処理方法は、第1推論モデルと第2推論モデルとの間に生じる推論結果の差異を小さくすることができる。具体的には、第1推論モデルを手本として新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。このように、上記情報処理方法は、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。したがって、上記情報処理方法は、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、さらに、前記第2推論モデルの訓練では、前記第1データを前記第1推論モデルに入力してさらに取得される第1推論結果と、前記第1データを前記第2推論モデルに入力してさらに取得される第2推論結果との差分を示す第2誤差をさらに用いて前記第2推論モデルを機械学習により訓練するとしてもよい。
上記態様によれば、第1推論モデルから得られる第1データに対する推論結果(第1推論結果)と、第2推論モデルから得られる第1データに対する推論結果(第2推論結果)との誤差をさらに用いて第2推論モデルを訓練する。これにより、射影結果間の差異が小さくなるように訓練することに加え、第1推論モデルの推論結果と第2推論モデルの推論結果との差異が直接的に小さくなるように訓練するため、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
本開示の一態様に係る情報処理方法は、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、第3推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなるような処理であり、訓練された前記第3推論モデルを変換するモデル変換処理を行って、前記第2推論モデルを更新する。
上記態様によれば、上記情報処理方法は、第1射影結果と第2射影結果との誤差が第1非変換射影結果と第2非変換射影結果との誤差よりも大きくなるように第1特徴情報及び第2特徴情報に変換処理を行う。その結果、第1非変換射影結果と第2非変換射影結果との誤差を機械学習処理による訓練に用いる場合よりも訓練を進行しやすくすることができる。また、上記情報処理方法は、第1射影結果と第2射影結果との誤差が小さくなるように第3推論モデルを訓練する。そして、訓練された第3推論モデルからモデル変換処理により第2推論モデルを得ることで、第2推論モデルを更新する。その結果、第2推論モデルは、第1推論モデルと同じ推論結果を出力するように間接的に訓練されるといえる。つまり、上記情報処理方法は、第1推論モデルと第2推論モデルとの間に生じる推論結果の差異を小さくすることができる。具体的には、第1推論モデルを手本として新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。このように、上記情報処理方法は、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。したがって、上記情報処理方法は、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、さらに、前記第3推論モデルの訓練では、前記第1データを前記第1推論モデルに入力してさらに取得される第1推論結果と前記第1データを前記第2推論モデルに入力してさらに取得される第2推論結果の差分を示す第2誤差をさらに用いて前記第3推論モデルを機械学習により訓練するとしてもよい。
上記態様によれば、第1推論モデルから得られる第1データに対する推論結果(第1推論結果)と、第2推論モデルから得られる第1データに対する推論結果(第2推論結果)との誤差をさらに用いて第3推論モデルを訓練する。そして、訓練された第3推論モデルからモデル変換処理により第2推論モデルを得ることで、第2推論モデルを更新する。これにより、射影結果間の差異が小さくなるように訓練することに加え、第1推論モデルの推論結果と第2推論モデルの推論結果との差異が直接的に小さくなるように訓練するため、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
また、さらに、前記第1誤差が大きくなるように前記射影処理を変更するとしてもよい。
上記態様によれば、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように射影処理を変更する。これにより、射影処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
また、さらに、前記第1誤差が大きくなるように前記変換処理を変更するとしてもよい。
上記態様によれば、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように変換処理を変更する。これにより、変換処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
また、さらに、前記第1誤差が大きくなるように前記変換処理と前記射影処理との組み合わせを変更するとしてもよい。
上記態様によれば、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように変換処理と射影処理の組み合わせを変更する。これにより、変換処理又は射影処理の少なくとも一方が変更されない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
また、前記第1推論モデル、前記第2推論モデル、及び、前記第3推論モデルは、ニューラルネットワークモデルであり、前記モデル変換処理は、前記ニューラルネットワークモデルを軽量化する処理を含むとしてもよい。
上記態様によれば、第3推論モデルであるニューラルネットワークモデルを軽量化することで第2推論モデルを得る。よって、第1推論モデルを手本として、軽量化された新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。よって、上記情報処理方法は、推論モデルを手本として、軽量化された新たな推論モデルを得る場合に、上記2つの推論モデルの間に生じる差異を小さくすることができる。したがって、IoT機器などの計算リソースが限られた環境においても、推論性能を維持しつつ第1推論モデルの振る舞いに近い第2推論モデルを適用することができる。
また、前記軽量化する処理は、前記ニューラルネットワークモデルを量子化する処理を含むとしてもよい。
上記態様によれば、第3推論モデルであるニューラルネットワークモデルを量子化することで第2推論モデルを得る。そのため、ネットワーク構造を変更することなくニューラルネットワークモデルを軽量化でき、軽量化前後の推論性能及び推論結果(振る舞い)の変動を抑制することができる。
また、前記量子化する処理は、前記ニューラルネットワークモデルの係数を浮動小数点形式から固定小数点形式へ変換する処理を含むとしてもよい。
上記態様によれば、第3推論モデルであるニューラルネットワークモデルの係数(重み)を浮動小数点形式から固定小数点形式に変換することで第2推論モデルを得る。そのため、推論性能及び推論結果(振る舞い)の変動を抑制しながら、一般的な組込み環境に適応させることができる。
また、前記軽量化する処理は、前記ニューラルネットワークモデルのノードを削減する処理、又は、前記ニューラルネットワークモデルのノードの接続を削減する処理を含むとしてもよい。
上記態様によれば、第3推論モデルであるニューラルネットワークモデルのノードの削減又はノードの接続の削減をすることで第2推論モデルを得る。そのため、ノード数及びノードの接続の削減は計算量の削減に直結するため、第2推論モデルを計算リソースの制約が厳しい環境に適応させることができる。
また、前記変換処理は、入力をスケール変換する処理を含むとしてもよい。
上記態様によれば、第1特徴情報及び第2特徴情報のスケールを変化させることで第1変換結果及び第2変換結果を得る。これにより、例えば、第1特徴情報と第2特徴情報とのスケールの差異を無くす又は減らすことができるため、第1特徴情報と第2特徴情報との差異を明確化することができる。言い換えると、差異を大きくすることができる。その結果、第1射影結果と第2射影結果との差異も明確化されるので、訓練をより一層進行しやすくすることができる。言い換えると、訓練が停滞することを抑制できる。別の観点では、第1特徴情報と第2特徴情報との分布の差異を明確化することができるともいえる。そして、これらの明確化された差異が機械学習処理による訓練により小さくなることにより、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
また、前記射影処理は、入力を内積空間へ射影する処理を含むとしてもよい。
上記態様によれば、第1変換結果及び第2変換結果を内積が定義された空間へ射影することで第1射影結果及び第2射影結果を得る。これにより、第1射影結果と第2射影結果とのノルムを定義することができ、例えば、第1射影結果と第2射影結果とのノルムを小さくするように第2推論モデルを訓練することができる。その結果、上記情報処理方法は、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、前記射影処理は、入力の次元を削減する処理を含むとしてもよい。
上記態様によれば、第1変換結果及び第2変換結果の次元の削減をすることで第1射影結果及び第2射影結果を得る。これにより、例えば、第1変換結果と第2変換結果との差異を表す射影軸を選んだうえで、選ばれた射影軸以外の次元を削減する処理を行い、第1射影結果及び第2射影結果を得ることができる。その結果、上記情報処理方法は、第1射影結果と第2射影結果との誤差の算出にかかる時間をより一層短縮することができる。また、上記情報処理方法は、2つの推論モデルの間に生じる推論結果の差異を効率的に小さくすることができる。
また、前記次元を削減する処理は、主成分分析を含むとしてもよい。
上記態様によれば、第1変換結果及び第2変換結果に主成分分析を行い、次元を削減する処理を行うことで、第1射影結果及び第2射影結果を得る。これにより、特定の主成分以外の主成分が削減されるため、第1射影結果と第2射影結果との差異を明確化することができる。例えば、特定の主成分は、第1射影結果の分布と第2射影結果の分布との間の誤差(距離)が他の主成分に比べて大きくなりそうな主成分に設定されてよい。その結果、上記情報処理方法は、第1射影結果と第2射影結果との誤差の算出にかかる時間をより一層短縮することができる。また、2つの推論モデルの間に生じる推論結果の差異を効率的に小さくすることができる。
また、前記第1データは、画像データであるとしてもよい。
上記態様によれば、画像データに対する推論に用いる推論モデルを手本として新たな推論モデルを得る場合に、上記2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
本開示の一態様に係る情報処理システムは、第2データを取得する取得部と、前記取得部が取得した前記第2データを第2推論モデルに入力し、第2推論結果を取得して出力する推論部とを備え、前記第2推論モデルは、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを前記第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、前記第2推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなる処理である、前記情報処理方法を実行することにより得られたモデルである。
上記態様によれば、上記情報処理システムは、既存の推論モデルを手本として、推論結果の差異を小さくするように生成された新たな推論モデルを用いて推論処理を実行し、推論結果を出力することができる。このように、既存の推論モデルの代わりに推論結果の差異が小さい当該新たな推論モデルを利用することができる。言い換えると、上記情報処理システムは、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
本開示の一態様に係る情報処理システムは、第2データを取得する取得部と、前記取得部が取得した前記第2データを第2推論モデルに入力し、第2推論結果を取得して出力する推論部とを備え、前記第2推論モデルは、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを前記第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、第3推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなる処理であり、訓練された前記第3推論モデルを変換するモデル変換処理によって、前記第2推論モデルを更新する、前記情報処理方法を実行することにより得られたモデルである。
上記態様によれば、上記情報処理システムは、既存の推論モデルを手本として、推論結果の差異を小さくするように生成された新たな推論モデルを用いて推論処理を実行し、推論結果を出力することができる。言い換えると、上記情報処理システムは、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
なお、これらの包括的又は具体的な態様は、システム、装置、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
以下本開示の一態様に係る実施の形態について、図面を参照しながら説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態1において、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
図1は本実施の形態1に係る情報処理システム10Aの機能構成を示すブロック図である。情報処理システム10Aは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
図1に示すように、情報処理システム10Aは、第1推論部11Aと、第2推論部12Aと、出力変換部13Aと、空間射影部14Aと、誤差算出部15Aと、訓練部16Aと、訓練制御部17Aとを備える。
情報処理システム10Aは、例えば、プロセッサ(例えば、CPU(Central Processing Unit))とメモリとを備えるコンピュータ装置において、プロセッサがメモリに記憶されたプログラムを実行することにより実現される。また、情報処理システム10Aは、1つの装置において実現されてもよいし、互いに通信可能な複数の装置において実現されてもよい。
第1推論部11A及び第2推論部12Aは、入力されたデータ(入力データともいう)を、推論モデルを用いて推論する。推論モデルは、例えば、ニューラルネットワークモデルである。入力データは、例えば画像データである。以下では、入力データは画像データであるとして説明するが、入力データは、必ずしも画像データである例に限定される必要はない。入力データは、例えば、マイクロフォンから出力される音声データ、LiDAR(Light Detection and Ranging)等のレーダから出力される点群データ、圧力センサから出力される圧力データ、温度センサ又は湿度センサから出力される温度データ又は湿度データ、又は、香りセンサから出力される香りデータなどのようなセンシングデータが用いられ得る。入力データは、第1データに相当する。
第1推論部11Aは、入力データを推論する推論モデルに用いられるニューラルネットワークとして、ネットワークAを取得する。より具体的には、第1推論部11Aは、ネットワークAに含まれる係数を取得する。ネットワークAを用いた推論モデルが、「既存の推論モデル」に相当し、第1推論モデルともいう。
第1推論部11Aは、入力データを、ネットワークAを用いた推論モデルに入力して得られた推論結果(第1推論結果ともいう)と、特徴情報(第1特徴情報ともいう)とを出力する。
第2推論部12Aは、入力データを推論する推論モデルに用いられるニューラルネットワークとして、ネットワークBを取得する。より具体的には、第2推論部12Aは、ネットワークBに含まれる係数を取得する。ネットワークBを用いた推論モデルが、既存の推論モデルと同じ推論結果を出力するように訓練される新たな推論モデルに相当し、第2推論モデルともいう。なお、後述するように、ネットワークBを用いた推論モデルは、訓練部16Aによって、ネットワークAを用いた推論モデルと同じ推論結果を出力するように訓練される。
第2推論部12Aは、入力データを、ネットワークBを用いた推論モデルに入力して得られた推論結果(第2推論結果ともいう)と、特徴情報(第2特徴情報ともいう)とを出力する。
ここで、推論結果は、入力データを推論した結果を示す情報であり、例えば画像データに映っている物もしくは状況、又は、それらの属性を示す情報を含む。また、推論結果は、入力データの特徴を示す情報である特徴量を含んでもよい。また、推論結果は、推論モデルの処理の中間データであってもよく、特徴量が中間データであってもよい。
ここでは、特徴量は、推論モデルの処理の中間データであるとして説明する、すなわち、特徴情報は、推論モデルの中間出力であるとして説明する。例えば、特徴情報は、入力データが画像データである場合、画像データの特徴を示す特徴マップである。なお、推論モデルは、特徴情報を最終出力とするモデルであってもよい。
出力変換部13Aは、第1推論部11A及び第2推論部12Aによる特徴情報を取得し、取得した特徴情報を、変換処理により変換する。より具体的には、出力変換部13Aは、第1推論部11Aから第1特徴情報を取得し、第2推論部12Aから第2特徴情報を取得する。そして、出力変換部13Aは、取得した第1特徴情報及び第2特徴情報を、変換処理を用いてそれぞれ変換して、入力された特徴情報についての変換結果を取得する。すなわち、出力変換部13Aは、第1特徴情報を変換処理で変換した結果である変換結果(第1変換結果ともいう)と、第2特徴情報を変換処理で変換した結果である変換結果(第2変換結果ともいう)とを出力する。
ここで、変換処理は、後述する空間射影部14Aにより行われる射影処理により、第1変換結果が射影された結果を示す射影結果(第1射影結果ともいう)と、第2変換結果が射影された結果を示す射影結果(第2射影結果ともいう)との誤差が、第1特徴情報が射影された結果を示す射影結果(第1非変換射影結果ともいう)と、第2特徴情報が射影された結果を示す射影結果(第2非変換射影結果ともいう)との誤差よりも大きくなる処理である。
空間射影部14Aは、出力変換部13Aによる変換結果を取得し、取得した変換結果を射影処理により射影する。より具体的には、空間射影部14Aは、出力変換部13Aから、第1変換結果と第2変換結果とを取得する。そして、空間射影部14Aは、出力変換部13Aから得た変換結果を、射影処理を用いてそれぞれ射影して、入力された変換結果についての射影結果を取得する。すなわち、空間射影部14Aは、第1変換結果を射影処理で射影した結果である射影結果(第1射影結果ともいう)と、第2変換結果を射影処理で射影した結果である射影結果(第2射影結果ともいう)とを出力する。
誤差算出部15Aは、空間射影部14Aによる射影結果を取得し、取得した射影結果間の誤差を算出する。より具体的には、誤差算出部15Aは、空間射影部14Aによる第1射影結果及び第2射影結果を取得する。そして、誤差算出部15Aは、取得した第1射影結果と第2射影結果との間の差分を示す誤差情報(第1誤差ともいう)を算出する。ここで、誤差情報は、誤差算出部15Aが保有している損失関数によって演算することで算出される。損失関数は、例えば射影結果間の射影空間上でのノルム(距離)であり、例えば、ノルムは射影結果の座標間の二乗和誤差を利用した関数で算出される。なお、誤差算出方法は、これに限られない。
訓練部16Aは、ネットワークBを用いた推論モデルを機械学習により訓練する。訓練部16Aは、誤差算出部15Aが算出した第1誤差を取得し、第1誤差を小さくするように、ネットワークBを用いた推論モデルを機械学習により訓練する。より具体的には、訓練部16Aは、誤差算出部15Aが保有している損失関数を参照し、第1誤差が小さくなるようにネットワークBに含まれる係数を更新する。損失関数には、二乗和誤差によるノルムなどの周知技術が採用され得る。
訓練制御部17Aは、ニューラルネットワークを用いた推論モデルの訓練を制御する。より具体的には、訓練制御部17Aは、ネットワークAと、訓練部16Aにより更新されたネットワークBとの振る舞いの差異が要求性能に達しているかを判断し、判断結果に基づいてさらにネットワークBを用いた推論モデルを訓練するかどうかを決定する。例えば、訓練制御部17Aは、第1推論部11Aが出力した第1推論結果と、訓練部16Aにより更新されたネットワークBを取得した第2推論部12Aが出力した第2推論結果とを取得し、第1推論結果と第2推論結果との差異が許容される値よりも小さいかどうかを判断する。
例えば、訓練制御部17Aは、ネットワークAとネットワークBとの振る舞いの差異が要求性能に達していると判断した場合、ネットワークBを用いた推論モデルの訓練を終了する。より具体的には、訓練制御部17Aは、第1推論結果と第2推論結果との差異が許容される値よりも小さい場合、訓練を終了する。
また、例えば、訓練制御部17Aは、ネットワークAとネットワークBとの振る舞いの差異が要求性能に達していないと判断した場合、ネットワークBを用いた推論モデルの訓練を継続させる。この場合、例えば、訓練制御部17Aは、新たな入力データを第1推論部11A及び第2推論部12Aに入力させて、ネットワークAと、新たなネットワークBと、新たな入力とを用いて、第1推論部11A、第2推論部12A、出力変換部13A、空間射影部14A、誤差算出部15A、及び、訓練部16Aに上記処理を再度実行させることで、ネットワークBを用いた推論モデルをさらに訓練する。
以下、情報処理システム10AによるネットワークBの更新の概要について説明する。
図2は、本実施の形態1に係る情報処理システム10Aにおける第2推論部12Aにおける訓練を示す説明図である。
第1推論部11Aは、入力データが入力されたとき、ネットワークAを用いた推論モデルによって画像を推論する推論処理を実行し、中間出力である特徴情報を出力する。特徴情報は、例えば、ニューラルネットワークにおける中間特徴マップである。中間特徴マップは、画像データの特徴を示す特徴量を含む。以降でも同様とする。第1推論部11Aが出力した特徴情報は、出力変換部13Aに提供される。
第2推論部12Aは、入力データが入力されたとき、ネットワークBを用いた推論モデルによって画像を推論する推論処理を実行し、中間出力である特徴情報を出力する。特徴情報は、第1推論部11Aが出力する特徴情報と同様の情報である。第2推論部12Aが出力した特徴情報は、出力変換部13Aに提供される。
出力変換部13Aは、第1推論部11A及び第2推論部12Aから提供された特徴情報に対して変換処理を行う。変換処理は、例えば、特徴情報が取る値の範囲を変更するスケール変換である。一例として、入力をx、スケール変換に用いられる係数をaとして、変換処理fは以下の(式1)で得られる線形スケール変換である。
f(x)=a×x (式1)
なお、変換処理はこれに限られない。この変換処理により、後の射影処理により得られる第1射影結果と第2射影結果との誤差E1が、変換処理を経ていない第1非変換射影結果と第2非変換射影結果との誤差E0よりも大きくなる。言い換えると、誤差E1が誤差E0よりも大きくなるような変換処理(例えば、線形スケール変換の係数)が設定される。
空間射影部14Aは、出力変換部13Aが出力した変換結果に対して射影処理を行う。射影処理は、例えば、入力の次元を削減する処理であり、例えば、主成分分析処理である。特定の主成分が選ばれ、選ばれた主成分以外の主成分が削減される。すなわち、n次元の入力に上記処理を行ってm次元(n>m)の射影結果を得る場合、空間射影部14Aは、入力x=(x1、x2、・・・、xn)を取得し、射影結果y=(y1、y2、・・・、ym)を出力する。なお、射影処理はこれに限られない。
誤差算出部15Aは、空間射影部14Aが出力した射影結果間の誤差を算出する。誤差は、例えば、射影結果間の射影空間上でのノルム(距離)であり、例えば、ノルムは射影結果の座標間の二乗和誤差を利用した関数で算出される。すなわち、空間射影部14Aによる射影結果として、第1射影結果y1=(y11、y12、・・・、y1m)と、第2射影結果y2=(y21、y22、・・・、y2m)とが出力された場合、誤差算出部15Aは、以下の(式2)で射影結果y1と射影結果y2間の二乗和誤差を算出する。なお、誤差算出方法はこれに限られない。
(y11-y21)2+(y12-y22)2+…+(y1m-y2m)2 (式2)
訓練部16Aは、誤差算出部15Aによって算出される誤差を小さくするように、ネットワークBに含まれる係数を調整する。このとき、訓練部16Aは、損失関数を参照し、係数の調整によって上記誤差が小さくなるように上記係数を調整する。このようにして、訓練部16Aは、ネットワークBの係数を調整することによってネットワークBを更新する。
以上のように構成された情報処理システム10Aが実行する処理について説明する。
図3は、本実施の形態1に係る情報処理システム10Aが実行する処理(情報処理方法ともいう)を示すフロー図である。
ステップS101において、第1推論部11Aは、ネットワークAを用いた推論モデルに入力データを入力して、ネットワークAによる第1特徴情報を取得する。
ステップS102において、第2推論部12Aは、ネットワークBを用いた推論モデルに入力データを入力して、ネットワークBによる第2特徴情報を取得する。
ステップS103において、出力変換部13Aは、ステップS101で第1推論部11Aが取得したネットワークAによる第1特徴情報に、変換処理を行うことで第1変換結果を取得する。
ステップS104において、出力変換部13Aは、ステップS102で第2推論部12Aが取得したネットワークBによる第2特徴情報に、変換処理を行うことで第2変換結果を取得する。
ステップS105において、空間射影部14Aは、ステップS103で出力変換部13Aが取得した第1変換結果に、射影処理を行うことで第1射影結果を取得する。
ステップS106において、空間射影部14Aは、ステップS104で出力変換部13Aが取得した第2変換結果に、射影処理を行うことで第2射影結果を取得する。
ステップS107において、誤差算出部15Aは、ステップS105で空間射影部14Aが取得した第1射影結果と、ステップS106で空間射影部14Aが取得した第2射影結果との誤差E1を算出する。
ステップS108において、訓練部16Aは、ステップS107で算出された誤差E1を用いて、誤差E1が小さくなるように、ネットワークBの係数を更新する。
ステップS109において、訓練制御部17Aは、ネットワークAと、訓練部16Aにより更新されたネットワークBとの振る舞いの差異が予め決定された要求性能に達しているかを判断する。すなわち、訓練制御部17Aは、ネットワークAを用いた推論モデルによる推論結果と、更新されたネットワークBを用いた推論モデルによる推論結果との差異が許容される値よりも小さいかどうかを判断する。要求性能に達している場合、処理を終了する。要求性能に達していない場合、ステップS102の処理に戻り、以上と同様の一連の処理を繰り返す。
以上の一連の処理により、情報処理システム10Aは、第1射影結果と第2射影結果との誤差E1が第1非変換射影結果と第2非変換射影結果との誤差E0よりも大きくなるようにネットワークAによる第1特徴情報及びネットワークBによる第2特徴情報に変換処理を行う。その結果、誤差E0を機械学習処理による訓練に用いる場合よりも訓練を進行しやすくすることができる。また、上記情報処理システム10Aは、誤差E1が小さくなるようにネットワークBを用いた推論モデルを訓練する。その結果、ネットワークBを用いた推論モデルは、ネットワークAを用いた推論モデルと同じ推論結果を出力するように訓練される。このように、情報処理システム10Aは、ネットワークAを用いた推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。したがって、入力データの組み合わせによらず、ネットワークAを用いた推論モデルとネットワークBを用いた推論モデルの間に生じる推論結果の差異を小さくすることができる。
次に、情報処理システム10Aによって得られたネットワークBを用いた推論システム20Aについて説明する。推論システムを情報処理システムともいう。
図4は、本実施の形態1に係る推論システム20Aの機能構成を示すブロック図である。
図4に示すように、推論システム20Aは、取得部21Aと、第2推論部22Aとを備える。
推論システム20Aは、例えば、プロセッサ(例えば、CPU)とメモリとを備えるコンピュータ装置において、プロセッサがメモリに記憶されたプログラムを実行することにより実現される。また、推論システム20Aは、1つの装置において実現されてもよいし、互いに通信可能な複数の装置において実現されてもよい。
取得部21Aは、入力されたデータ(入力データともいう)を取得する。入力データは、情報処理システム10Aに入力されるデータと同様に、例えば画像データである。以下では、入力データは画像データであるとして説明するが、入力データは、情報処理システム10Aの場合と同様に、必ずしも画像データである例に限定される必要はない。
取得部21Aは、取得した入力データを第2推論部22Aに提供する。入力データは、第2データに相当する。
第2推論部22Aは、取得部21Aが取得した入力データを推論モデル(第2推論モデルに相当)に入力し、推論結果を取得して出力する。第2推論部22Aが推論結果を得るために用いる推論モデルは、情報処理システム10Aによって訓練された、ネットワークBを用いた推論モデルである。
図5は、本実施の形態1に係る推論システム20Aが実行する処理を示すフロー図である。
ステップS201において、取得部21Aは、入力データを取得する。
ステップS202において、第2推論部22Aは、取得部21Aが取得した入力データを推論モデルに入力し、ステップS203において、推論結果を取得して出力する。
このようにして、推論システム20Aは、既存の推論モデルを手本として、推論結果の差異を小さくするように生成された新たな推論モデルを用いて推論処理を実行し、推論結果を出力することができる。
以上のように、本実施の形態1に係る情報処理方法は、第1射影結果と第2射影結果との誤差が第1非変換射影結果と第2非変換射影結果との誤差よりも大きくなるように第1特徴情報及び第2特徴情報に変換処理を行う。その結果、第1非変換射影結果と第2非変換射影結果との誤差を機械学習処理による訓練に用いる場合よりも訓練を進行しやすくすることができる。また、上記情報処理方法は、第1射影結果と第2射影結果との誤差が小さくなるように第2推論モデルを訓練する。その結果、第2推論モデルは、第1推論モデルと同じ推論結果を出力するように訓練される。つまり、上記情報処理方法は、第1推論モデルと第2推論モデルとの間に生じる推論結果の差異を小さくすることができる。具体的には、第1推論モデルを手本として新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。このように、上記情報処理方法は、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。したがって、上記情報処理方法は、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、画像データに対する推論に用いる推論モデルを手本として新たな推論モデルを得る場合に、上記2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、情報処理システムは、既存の推論モデルを手本として、推論結果の差異を小さくするように生成された新たな推論モデルを用いて推論処理を実行し、推論結果を出力することができる。このように、既存の推論モデルの代わりに推論結果の差異が小さい当該新たな推論モデルを利用することができる。言い換えると、上記情報処理システムは、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、第1特徴情報及び第2特徴情報のスケールを変化させることで第1変換結果及び第2変換結果を得る。これにより、例えば、第1特徴情報と第2特徴情報とのスケールの差異を無くす又は減らすことができるため、第1特徴情報と第2特徴情報との差異を明確化することができる。言い換えると、差異を大きくすることができる。その結果、第1射影結果と第2射影結果との差異も明確化されるので、訓練をより一層進行しやすくすることができる。言い換えると、訓練が停滞することを抑制できる。別の観点では、第1特徴情報と第2特徴情報との分布の差異を明確化することができるともいえる。そして、これらの明確化された差異が機械学習処理による訓練により小さくなることにより、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
(実施の形態2)
本実施の形態2において、実施の形態1に係る情報処理方法及び情報処理システムとは異なる情報処理方法及び情報処理システムであって、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
以下、実施の形態1に係る情報処理システム10Aの一部が変更されて構成される実施の形態2に係る情報処理システムについて説明する。
以下では、実施の形態2に係る情報処理システムについて、実施の形態1に係る情報処理システム10Aの構成要素と同様の構成要素については、既に説明済みであるとして同じ符号を振ってその詳細な説明を省略し、情報処理システム10Aとの相違点を中心に説明する。
図6は、本実施の形態2に係る情報処理システム10Bの機能構成を示すブロック図である。情報処理システム10Bは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
ここで、既存の推論モデルの形式と、新たな推論モデルの形式とは異なる。具体的には、例えば、既存の推論モデルを構成するネットワークの係数は、浮動小数点形式で表現されており、新たな推論モデルを構成するネットワークの係数は固定小数点形式で表現されている。この場合、例えば、情報処理システム10Bは、浮動小数点形式で表現された既存の推論モデルを量子化することで、固定小数点形式で表現された新たなネットワークを得るためのシステムであるといえる。
図6に示すように、情報処理システム10Bは、第1推論部11Aと、第2推論部12Bと、出力変換部13Aと、空間射影部14Aと、誤差算出部15Aと、訓練部16Bと、訓練制御部17Aと、変換部18Bとを備える。
情報処理システム10Bの構成要素のうち、第1推論部11Aと、出力変換部13Aと、空間射影部14Aと、誤差算出部15Aと、訓練制御部17Aとは、実施の形態1に係る情報処理システム10Aにおけるものと同様である。そのため、第2推論部12Bと、訓練部16Bと、変換部18Bとについて、以下で詳細に説明する。
第2推論部12Bは、実施の形態1に係る第2推論部12Aと同様に、入力データを、推論モデルを用いて推論する。
また、第2推論部12Bは、実施の形態1に係る第2推論部12Aと同様に、入力データを推論する推論モデルに用いられるニューラルネットワークとして、ネットワークBを取得する。より具体的には、第2推論部12Bは、ネットワークBに含まれる係数を取得する。ネットワークBを用いた推論モデルが、既存の推論モデルと同じ推論結果を出力するように訓練される新たな推論モデルに相当し、第2推論モデルともいう。
なお、実施の形態1に係る第2推論部12Aと第2推論部12Bとは、(A)実施の形態1に係る第2推論部12Aは、ネットワーク変換を経ないネットワークを取得するのに対して、(B)第2推論部12Bは、後述する変換部18Bにより変換されたネットワークBであって、既存の推論モデルに用いられるネットワークAと異なる形式のネットワークBを取得する点において相違する。
また、第2推論部12Bは、実施の形態1に係る第2推論部12Aと同様に、入力データを、ネットワークBを用いた推論モデルに入力して得られた推論結果(第2推論結果ともいう)と、特徴情報(第2特徴情報ともいう)とを出力する。
訓練部16Bは、ネットワークB1を用いた推論モデル(第3推論モデルともいう)を機械学習により訓練する。ここで、ネットワークB1は、既存の推論モデルに用いられるネットワークAと同じ形式のネットワークである。つまり、ネットワークB1は、ネットワークBと異なる形式のネットワークである。訓練部16Bは、誤差算出部15Aが算出した第1誤差を取得し、第1誤差を小さくするように、ネットワークB1を用いた推論モデルを機械学習により訓練する。より具体的には、訓練部16Bは、誤差算出部15Aが保有している損失関数を参照し、第1誤差が小さくなるようにネットワークB1に含まれる係数を更新する。損失関数については、実施の形態1と同様である。
変換部18Bは、ネットワークB1の係数に対してモデル変換処理を行うことでネットワークBを得る。より具体的には、変換部18Bは、訓練部16Bによって訓練されたネットワークB1を取得し、ネットワークB1の係数に所定のモデル変換処理を施すことによってネットワークBを得る。
なお、モデル変換処理は、例えば、ネットワークB1を軽量化する処理を含む。軽量化する処理は、例えばネットワークB1を量子化する処理を含む。例えば、ネットワークB1がニューラルネットワークモデルである場合、量子化する処理は、ニューラルネットワークモデルの係数を浮動小数点形式から固定小数点形式へ変換する処理を含んでもよい。また、軽量化する処理は、ニューラルネットワークモデルのノードを削減する処理、又は、ニューラルネットワークモデルのノードの接続を削減する処理を含んでもよい。
図7は、本実施の形態2に係る情報処理システム10Bにおける第2推論部12Bにおける訓練を示す説明図である。
入力データが第1推論部11Aに入力されてから、誤差算出部15Aによって誤差が算出されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
誤差算出部15Aによって誤差が算出された後に、訓練部16Bは、誤差算出部15Aによって算出される誤差を小さくするように、ネットワークB1に含まれる係数を調整する。このとき、訓練部16Bは、損失関数を参照し、係数の調整によって上記誤差が小さくなるように上記係数を調整する。このようにして、訓練部16Bは、ネットワークB1の係数を調整することによってネットワークB1を更新する。
変換部18Bは、訓練部16Bによって訓練されたネットワークB1を取得し、ネットワークB1の係数に対する変換処理を行うことで、新たなネットワークBを得る。
以上のように構成された情報処理システム10Bが実行する処理について説明する。
図8は、本実施の形態2に係る情報処理システム10Bが実行する処理(情報処理方法ともいう)を示すフロー図である。
図8に示すステップS101~ステップS107及びステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3等参照)。
ステップS121において、訓練部16Bは、ステップS107で誤差算出部15Aが算出した誤差E1を用いて、誤差E1が小さくなるように、ネットワークB1の係数を更新する。
ステップS122において、変換部18Bは、ステップS121で訓練部16Bによって係数が更新されたネットワークB1を取得し、ネットワークB1の係数を変換することでネットワークBを取得する。
ステップS123において、変換部18Bは、ステップS122において取得したネットワークB1により、第2推論部12Bに入力されるネットワークBを更新する。
以上の一連の処理により、情報処理システム10Bは、第1射影結果と第2射影結果との誤差が小さくなるようにネットワークB1を用いた推論モデルを訓練する。そして、訓練されたネットワークB1からモデル変換処理によりネットワークBを得ることで、ネットワークBを更新する。その結果、ネットワークBを用いた推論モデルは、ネットワークAを用いた推論モデルと同じ推論結果を出力するように訓練される。このように、情報処理システム10Bは、ネットワークAを用いた推論モデルを手本としてネットワークBを用いた推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。
以上のように、本実施の形態2に係る情報処理方法は、第1射影結果と第2射影結果との誤差が第1非変換射影結果と第2非変換射影結果との誤差よりも大きくなるように第1特徴情報及び第2特徴情報に変換処理を行う。その結果、第1非変換射影結果と第2非変換射影結果との誤差を機械学習処理による訓練に用いる場合よりも訓練を進行しやすくすることができる。また、上記情報処理方法は、第1射影結果と第2射影結果との誤差が小さくなるように第3推論モデルを訓練する。そして、訓練された第3推論モデルからモデル変換処理により第2推論モデルを得ることで、第2推論モデルを更新する。その結果、第2推論モデルは、第1推論モデルと同じ推論結果を出力するように間接的に訓練されるといえる。つまり、上記情報処理方法は、第1推論モデルと第2推論モデルとの間に生じる推論結果の差異を小さくすることができる。具体的には、第1推論モデルを手本として新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。このように、上記情報処理方法は、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。したがって、入力データの組み合わせによらず、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、第3推論モデルであるニューラルネットワークモデルを軽量化することで第2推論モデルを得る。よって、第1推論モデルを手本として、軽量化された新たな第2推論モデルを得る場合に生じ得る推論結果の差異を小さくすることができる。よって、上記情報処理方法は、推論モデルを手本として、軽量化された新たな推論モデルを得る場合に、上記2つの推論モデルの間に生じる差異を小さくすることができる。したがって、IoT機器などの計算リソースが限られた環境においても、推論性能を維持しつつ第1推論モデルの振る舞いに近い第2推論モデルを適用することができる。
また、第3推論モデルであるニューラルネットワークモデルを量子化することで第2推論モデルを得る。そのため、ネットワーク構造を変更することなくニューラルネットワークモデルを軽量化でき、軽量化前後の推論性能及び推論結果(振る舞い)の変動を抑制することができる。
また、第3推論モデルであるニューラルネットワークモデルの係数(重み)を浮動小数点形式から固定小数点形式に変換することで第2推論モデルを得る。そのため、推論性能及び推論結果(振る舞い)の変動を抑制しながら、一般的な組込み環境に適応させることができる。
また、第3推論モデルであるニューラルネットワークモデルのノードの削減又はノードの接続の削減をすることで第2推論モデルを得る。そのため、ノード数及びノードの接続の削減は計算量の削減に直結するため、第2推論モデルを計算リソースの制約が厳しい環境に適応させることができる。
また、本実施の形態2の構成で得られた推論モデルが、実施の形態1における推論システムで利用されてもよい。この場合、推論システムは、既存の推論モデルを手本として、推論結果の差異を小さくするように生成された新たな推論モデルを用いて推論処理を実行し、推論結果を出力することができる。
(実施の形態3)
本実施の形態3において、実施の形態1及び実施の形態2における情報処理方法及び情報処理システムとは異なる情報処理方法及び情報処理システムであって、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
以下、実施の形態1に係る情報処理システム10Aの一部が変更されて構成される実施の形態3に係る情報処理システムについて説明する。
以下では、実施の形態3に係る情報処理システムについて、実施の形態1に係る情報処理システム10Aの構成要素と同様の構成要素については、既に説明済みであるとして同じ符号を振ってその詳細な説明を省略し、情報処理システム10Aとの相違点を中心に説明する。
図9は、本実施の形態3に係る情報処理システム10Cの機能構成を示すブロック図である。情報処理システム10Cは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
図9に示すように、情報処理システム10Cは、第1推論部11Cと、第2推論部12Cと、出力変換部13Aと、空間射影部14Aと、誤差算出部15Aと、訓練部16Cと、訓練制御部17Aと、第2誤差算出部19Cとを備える。
情報処理システム10Cの構成要素のうち、出力変換部13Aと、空間射影部14Aと、誤差算出部15Aと、訓練制御部17Aとは、実施の形態1に係る情報処理システム10Aにおけるものと同様である。そのため、第1推論部11Cと、第2推論部12Cと、訓練部16Cと、第2誤差算出部19Cとについて以下で詳細に説明する。
第1推論部11Cは、実施の形態1に係る第1推論部11Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、第1推論部11Cは、入力データを、ネットワークAを用いた推論モデルに入力して得られた推論結果(第1推論結果ともいう)を第2誤差算出部19Cへ提供する。
第2推論部12Cは、実施の形態1に係る第2推論部12Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、第2推論部12Cは、入力データを、ネットワークBを用いた推論モデルに入力して得られた推論結果(第2推論結果ともいう)を第2誤差算出部19Cへ提供する。
なお、ここでは、(1)第1推論部11Cは、第1推論結果を第2誤差算出部19Cに出力し、第1特徴情報を出力変換部13Aに出力するとして、及び、第2推論部12Cは、第2推論結果を第2誤差算出部19Cに出力し、第2特徴情報を出力変換部13Aに出力するとして説明するが、(2)第1推論部11Cは、第1特徴情報を第2誤差算出部19Cに出力し、第1推論結果を出力変換部13Aに出力するとして、及び、第2推論部12Cは、第2特徴情報を第2誤差算出部19Cに出力し、第2推論結果を出力変換部13Aに出力するとしてもよいし、(3)第1推論部11Cは、第1推論結果を第2誤差算出部19Cと出力変換部13Aとに出力するとして、及び、第2推論部12Cは、第2推論結果を第2誤差算出部19Cと出力変換部13Aとに出力するとしてもよいし、(4)第1推論部11Cは、第1特徴情報を第2誤差算出部19Cと出力変換部13Aとに出力するとし、及び、第2推論部12Cは、第2特徴情報を第2誤差算出部19Cと出力変換部13Aとに出力するとしてもよい。
なお、第1推論部11Cと第2推論部12Cとが、それぞれ、第1推論結果と第2推論結果とを出力変換部13Aに出力する場合には、出力変換部13Aは、第1推論結果と第2推論結果とを取得し、第1推論結果を変換処理で変換した結果である第1変換結果と、第2推論結果を変換処理で変換した結果である第2変換結果とを出力することとなる。
第2誤差算出部19Cは、第1推論部11C及び第2推論部12Cが出力した推論結果間の誤差を算出する。すなわち、第2誤差算出部19Cは、第1推論部11Cが出力した第1推論結果と第2推論部12Cが出力した第2推論結果との間の差分を示す誤差情報(第2誤差ともいう)を算出する。ここで、誤差情報は、第2誤差算出部19Cが保有している損失関数によって演算することで算出される。損失関数は、実施の形態1に係る誤差算出部15Aにおけるものと同様であってよい。
なお、第1推論部11Cと第2推論部12Cとが、それぞれ、第1特徴情報と第2特徴情報とを第2誤差算出部19Cに出力する場合には、第2誤差算出部19Cは、第1特徴情報と第2特徴情報との間の差分を示す第2誤差を算出することとなる。
訓練部16Cは、ネットワークBを用いた推論モデルを機械学習により訓練する。訓練部16Cは、誤差算出部15Aが算出した第1誤差と、第2誤差算出部19Cが算出した第2誤差とを取得し、第1誤差及び第2誤差を小さくするように、ネットワークBを用いた推論モデルを機械学習により訓練する。より具体的には、訓練部16Cは、誤差算出部15Aと第2誤差算出部19Cとが保有している損失関数を参照し、第1誤差及び第2誤差が小さくなるようにネットワークBに含まれる係数を更新する。損失関数には、二乗和誤差によるノルムなどの周知技術が採用され得る。
図10は、本実施の形態3に係る情報処理システム10Cにおける第2推論部12Cにおける訓練を示す説明図である。
入力データが第1推論部11Cに入力されてから、誤差算出部15Aによって誤差が算出されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
また、第1推論部11Cは、入力データが入力されたとき、ネットワークAを用いた推論モデルによって画像を推論する推論処理を実行し、推論結果を出力する。推論結果は、例えば「犬:70%、猫:30%」という情報である。上記推論結果は、入力画像に映っている被写体が犬である確率が70%であり、被写体が猫である確率が30%であることを意味する。以降でも同様とする。第1推論部11Cが出力した推論結果は、第2誤差算出部19Cに提供される。
また、第2推論部12Cは、入力データが入力されたとき、ネットワークBを用いた推論モデルによって画像を推論する推論処理を実行し、推論結果を出力する。推論結果は、第1推論部11Cが出力する推論結果と同様の情報である。第2推論部12Cが出力した推論結果は、第2誤差算出部19Cに提供される。
第2誤差算出部19Cは、第1推論部11C及び第2推論部12Cが出力した推論結果間の誤差を算出する。具体的には、第2誤差算出部19Cは、ネットワークAを用いた推論モデルでの推論結果として「犬:70%、猫:30%」という情報と、ネットワークBを用いた推論モデルでの推論結果として「犬:60%、猫:40%」という情報とが得られた場合、推論結果における犬に係る確率の差(0.7-0.6)の二乗である0.01と、推論結果における猫に係る確率の差(0.3-0.4)の二乗である0.01との和である0.02から算出される誤差を得る。
訓練部16Cは、誤差算出部15A及び第2誤差算出部19Cによって算出される誤差を小さくするように、ネットワークBに含まれる係数を調整する。このとき、訓練部16Cは、損失関数を参照し、係数の調整によって上記誤差が小さくなるように上記係数を調整する。
このようにして、訓練部16Cは、ネットワークBの係数を調整することによってネットワークBを更新する。
以上のように構成された情報処理システム10Cが実行する処理について説明する。
図11は、本実施の形態に係る情報処理システム10Cが実行する処理(情報処理方法ともいう)を示すフロー図である。
図11に示すステップS101~ステップS107及びステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3等参照)。
ステップS141において、第1推論部11Cは、ネットワークAを用いた推論モデルに入力データを入力して、ネットワークAによる第1推論結果を取得する。
ステップS142において、第2推論部12Cは、ネットワークBを用いた推論モデルに入力データを入力して、ネットワークBによる第2推論結果を取得する。
ステップS143において、第2誤差算出部19Cは、ステップS141で第1推論部11Cが取得した第1推論結果と、ステップS142で第2推論部12Cが取得した第2推論結果との誤差E2を算出する。
ステップS108Cにおいて、訓練部16Cは、ステップS107で誤差算出部15Aが算出した誤差E1と、ステップS143で第2誤差算出部19Cが算出した誤差E2とが小さくなるように、ネットワークBの係数を更新する。
以上の一連の処理により、情報処理システム10Cは、第1射影結果と第2射影結果との誤差E1が小さくなるようにネットワークBを用いた推論モデルを訓練する。さらに、情報処理システム10Cは、第1推論結果と第2推論結果との誤差E2が小さくなるようにネットワークBを用いた推論モデルを訓練する。その結果、ネットワークBを用いた推論モデルは、ネットワークAを用いた推論モデルと同じ推論結果を出力するようにより一層訓練される。このように、情報処理システム10Cは、ネットワークAを用いた推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異をより一層小さくすることができる。したがって、入力データの組み合わせによらず、ネットワークAを用いた推論モデルとネットワークBを用いた推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
以上のように、本実施の形態3に係る情報処理方法は、第1推論モデルから得られる第1データに対する推論結果(第1推論結果)と、第2推論モデルから得られる第1データに対する推論結果(第2推論結果)との誤差をさらに用いて第2推論モデルを訓練する。これにより、射影結果間の差異が小さくなるように訓練することに加え、第1推論モデルの推論結果と第2推論モデルの推論結果との差異が直接的に小さくなるように訓練するため、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
また、本実施の形態3に係る構成が実施の形態2に適用されてもよい。この場合、第1推論モデルから得られる第1データに対する推論結果(第1推論結果)と、第2推論モデルから得られる第1データに対する推論結果(第2推論結果)との誤差をさらに用いて第3推論モデルが訓練される。そして、訓練された第3推論モデルからモデル変換処理により第2推論モデルを得ることで、第2推論モデルが更新される。これにより、第1推論モデルの推論結果と第2推論モデルの推論結果との差異をより一層小さくし、2つの推論モデルの間に生じる推論結果の差異をより一層小さくすることができる。
(実施の形態4)
本実施の形態4において、実施の形態1~実施の形態3に係る情報処理方法及び情報処理システムとは異なる情報処理方法及び情報処理システムであって、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
以下、実施の形態1に係る情報処理システム10Aの一部が変更されて構成される実施の形態4に係る情報処理システムについて説明する。
以下では、実施の形態4に係る情報処理システムについて、実施の形態1に係る情報処理システム10Aの構成要素と同様の構成要素については、既に説明済みであるとして同じ符号を振ってその詳細な説明を省略し、情報処理システム10Aとの相違点を中心に説明する。
本実施の形態において、実施の形態1~実施の形態3に係る情報処理方法及び情報処理システムとは異なる構成を説明する。なお、実施の形態1~実施の形態3におけるものと実質的に同じ構成要素については同じ符号を付し、詳細な説明を省略する。
図12は、本実施の形態4に係る情報処理システム10Dの機能構成を示すブロック図である。情報処理システム10Dは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
図12に示すように、情報処理システム10Dは、第1推論部11Aと、第2推論部12Aと、出力変換部13Aと、空間射影部14Dと、誤差算出部15Dと、訓練部16Aと、訓練制御部17Dと、第1選別部51Dとを備える。
情報処理システム10Dの構成要素のうち、第1推論部11Aと、第2推論部12Aと、出力変換部13Aと、訓練部16Aとは、実施の形態1に係る情報処理システム10Aにおけるものと同様である。そのため、空間射影部14Dと、誤差算出部15Dと、訓練制御部17Dと、第1選別部51Dとについて以下で詳細に説明する。
空間射影部14Dは、実施の形態1に係る空間射影部14Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、空間射影部14Dは、第1選別部51Dが記録又は変更した射影処理を取得する。そして、空間射影部14Dは、出力変換部13Aから得た変換結果を、第1選別部51Dから得た射影処理を用いて射影して、入力された変換結果についての射影結果を出力する。また、空間射影部14Dは、空間射影部14Dが実行する射影処理を第1選別部51Dへ通知する。なお、第1選別部51Dによる射影処理の記録及び変更の詳細については後述する。
誤差算出部15Dは、実施の形態1における誤差算出部15Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、誤差算出部15Dは、空間射影部14Dから得た射影結果に基づいて算出した誤差情報(第1誤差ともいう)を第1選別部51Dへ出力する。
第1選別部51Dは、誤差算出部15Dが算出する誤差情報が大きくなるように、空間射影部14Dが実行する射影処理を変更する。具体的には、第1選別部51Dは、実行された射影処理と算出された誤差情報との組み合わせを記録し、記録された組み合わせに基づいて射影処理を変更する。第1選別部51Dは、空間射影部14Dが実行した射影処理と誤差算出部15Dが算出した誤差情報との組み合わせと、第1選別部51Dが記録している射影処理と誤差情報との組み合わせとの比較結果に基づいて、空間射影部14Dが実行する射影処理と誤差算出部15Dが算出する誤差情報との組み合わせを記録する。
詳細には、まず、第1選別部51Dは、空間射影部14Dが実行した射影処理と、誤差算出部15Dによって算出された第1誤差とを取得する。第1選別部51Dは、第1選別部51Dが記録した射影処理と誤差情報とを参照し、記録された射影処理と誤差情報との中に、取得した射影処理と第1誤差との組み合わせが存在しない場合、言い換えると、射影処理及び第1誤差が、第1選別部51Dが最初に取得した射影処理と誤差情報との組み合わせである場合、射影処理と第1誤差とを記録する。記録された射影処理と誤差情報との中に、取得した射影処理と第1誤差との組み合わせが存在する場合、第1選別部51Dは、第1誤差と上記記録された誤差情報とを比較する。第1誤差が上記記録された誤差情報よりも大きい場合、第1選別部51Dは、射影処理と第1誤差とを記録する。第1誤差が上記記録された誤差情報よりも小さい場合、第1選別部51Dは、上記記録処理を行わず、記録された射影処理と誤差情報とを保持する。
第1選別部51Dは、上記組み合わせの比較の履歴を参照し、まだ比較されていない射影処理の候補が存在する場合、空間射影部14Dが実行する射影処理を変更する。比較されていない射影処理の候補が存在しない場合、第1選別部51Dは、空間射影部14Dが実行する射影処理を第1選別部51Dが記録している射影処理に変更し、射影処理の記録及び変更処理を終了する。例えば、射影処理は、入力を内積空間へ射影する処理(射影処理A)であってもよく、入力の次元を削減する処理(射影処理B)であってもよい。入力の次元を削減する処理は、主成分分析を含んでもよい。射影処理の候補は、射影処理A及び射影処理Bといった異なる種類の射影処理を含んでもよく、同じ種類の射影処理であって処理のパラメタがそれぞれ異なる複数の射影処理を含んでもよい。
なお、第1選別部51Dによる射影処理の記録及び変更処理は、予め設定した閾値に基づいて終了されてもよい。その場合、第1選別部51Dは、第1誤差と上記閾値とを比較し、第1誤差が上記閾値よりも大きい場合、第1選別部51Dは、射影処理と第1誤差とを記録し、空間射影部14Dが実行する射影処理を第1選別部51Dが記録している射影処理に変更し、射影処理の記録及び変更処理を終了する。第1誤差が上記閾値よりも小さい場合、第1選別部51Dは、第1選別部51Dが記録した射影処理と誤差情報とを参照し、以降の処理を同様に繰り返すことで、第1選別部51Dは、空間射影部14Dが実行する射影処理を変更する。
また、第1選別部51Dによる射影処理の記録及び変更処理は、訓練部16Aが更新したネットワークBに基づいて、再度行われてもよい。その場合、第1選別部51Dは、訓練制御部17Dから指示を受け、以上の処理を同様に実行することで、空間射影部14Dが実行する射影処理を変更する。
訓練制御部17Dは、実施の形態1に係る訓練制御部17Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、訓練制御部17Dは、訓練部16Aが更新したネットワークBに基づいて、第1選別部51Dに射影処理の変更処理を再度実施させる。例えば、訓練制御部17Dは、新たな入力データを第1推論部11A及び第2推論部12Aに入力させて、ネットワークAと、新たなネットワークBと、新たな入力とを用いて、第1推論部11A、第2推論部12A、出力変換部13A、空間射影部14D、誤差算出部15D、第1選別部51D、及び、訓練部16Aに上記処理を再度実行させることで、ネットワークBを用いた推論モデルをさらに訓練する。
図13は、本実施の形態4に係る情報処理システム10Dにおける射影処理の変更を示す説明図である。
入力データが第1推論部11Aに入力されてから、誤差算出部15Dによって誤差が算出されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
誤差算出部15Dによって誤差が算出された後に、第1選別部51Dは、誤差算出部15Dによって算出される誤差を大きくするように、空間射影部14Dが実行する射影処理を変更する。例えば、空間射影部14Dが実行する射影処理が、n次元の入力の次元を削減してm次元(n>m)の射影結果を得る射影処理である場合、射影処理の変更は、パラメタである射影結果の次元mを増減させる処理や、射影軸の組み合わせを変更する処理が含まれる。第1選別部51Dによる射影処理の変更手順の詳細については、後述する。
図14は、本実施の形態4に係る情報処理システム10Dにおける第2推論部12Aにおける訓練を示す説明図である。
入力データが第1推論部11Aに入力されてから、訓練部16AによってネットワークBが更新されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
空間射影部14Dが実行する射影処理は、第1選別部51Dが変更した処理である。例えば、第1選別部51Dが、空間射影部14Dが実行する射影処理を、n次元の入力の次元を削減してk次元(n>k)の射影結果を得る射影処理に変更した場合、空間射影部14Dは、入力x=(x1、x2、・・・、xn)を取得し、射影結果z=(z1、z2、・・・、zk)を出力する。
誤差算出部15Dは、空間射影部14Dが出力した射影結果間の誤差を算出する。誤差は、例えば、射影結果間の射影空間上でのノルム(距離)であり、例えば、ノルムは射影結果の座標間の二乗和誤差を利用した関数で算出される。すなわち、空間射影部14Dによる射影結果として、第1射影結果z1=(z11、z12、・・・、z1k)と、第2射影結果z2=(z21、z22、・・・、z2k)とが出力された場合、誤差算出部15Dは、以下の(式3)で射影結果z1と射影結果z2間の二乗和誤差を算出する。なお、誤差算出方法はこれに限られない。
(z11-z21)2+(z12-z22)2+…+(z1k-z2k)2 (式3)
訓練部16Aは、誤差算出部15Dによって算出される誤差を小さくするように、ネットワークBに含まれる係数を調整する。このとき、訓練部16Aは、損失関数を参照し、係数の調整によって上記誤差が小さくなるように上記係数を調整する。このようにして、訓練部16Aは、ネットワークBの係数を調整することによってネットワークBを更新する。
以上のように構成された情報処理システム10Dが実行する処理について説明する。
図15及び図16は、実施の形態4に係る情報処理システム10Dが実行する処理(情報処理方法ともいう)を示すフロー図である。図15は、本実施の形態4に係る情報処理システム10Dが実行する処理のうち、射影処理の変更処理を除く処理を示すフロー図である。また、図16は、本実施の形態4に係る情報処理システム10Dが実行する処理のうち、射影処理の変更処理を示すフロー図である。
図15に示すステップS101~ステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3参照)。
ステップS161において、第1選別部51Dは、まず後述する閾値処理を行うかどうか決定する。閾値処理を行わない場合、後述するステップS163の処理を行う。閾値処理を行う場合、第1選別部51Dは、ステップS107で誤差算出部15Dが算出した誤差E1が予め決定した閾値よりも大きいかどうか判断する。誤差E1が上記閾値よりも大きい場合、後述するステップS162の処理を行う。誤差E1が上記閾値よりも小さい場合、後述するステップS163の処理を行う。
ステップS162において、第1選別部51Dは、空間射影部14Dが実行した射影処理と、誤差E1との組み合わせを記録する。
ステップS163において、第1選別部51Dは、ステップS107における誤差算出部15Dによる誤差算出処理が最初の誤差算出である、又は、ステップS107で誤差算出部15Dが算出した誤差E1が記録された誤差よりも大きいかどうか判断する。すなわち、第1選別部51Dは、第1選別部51Dが記録した組み合わせを参照し、組み合わせが記録されていない場合は、最初の誤差算出処理であると判断し、後述するステップS162Dの処理を行う。組み合わせが記録されており、かつ、誤差E1が記録された組み合わせの誤差よりも大きい場合、後述するステップS162Dの処理を行う。誤差E1が記録された組み合わせの誤差よりも小さい場合、後述するステップS164の処理を行う。
ステップS162Dにおいて、第1選別部51Dは、空間射影部14Dが実施した射影処理と、誤差E1との組み合わせを記録する。
ステップS164において、第1選別部51Dは、上記組み合わせの比較の履歴を参照し、まだ比較されていない射影処理候補があるかどうかを判断する。他に射影処理候補が存在する場合、後述するステップS165の処理を行う。他に射影処理候補が存在しない場合、後述するステップS105Dの処理を行う。
ステップS165において、第1選別部51Dは、空間射影部14Dが実行する射影処理を変更する。
ステップS105Dにおいて、空間射影部14Dは、ステップS103で出力変換部13Aが取得した第1変換結果に、ステップS162又はステップS162Dで第1選別部51Dが記録した組み合わせの射影処理を行い、第1射影結果を取得する。
ステップS106Dにおいて、空間射影部14Dは、ステップS104で出力変換部13Aが取得した第2変換結果に、ステップS162又はステップS162Dで第1選別部51Dが記録した組み合わせの射影処理を行い、第2射影結果を取得する。
ステップS107Dにおいて、誤差算出部15Dは、ステップS105Dで空間射影部14Dが取得した第1射影結果と、ステップS106Dで空間射影部14Dが取得した第2射影結果との誤差E1を算出する。
ステップS166において、訓練制御部17Dは、訓練部16AがネットワークBの係数を更新するごとに、第1選別部51Dが再度射影処理を変更するかどうかを判断する。第1選別部51Dが更新されたネットワークBに基づいて、射影処理を再度変更する場合はステップS105の処理に戻り、射影処理を再度変更しない場合はステップS105Dの処理に戻り、以上と同様の一連の処理を繰り返す。
以上の一連の処理により、情報処理システム10Dは、第1射影結果と第2射影結果との誤差E1が大きくなるように射影処理を変更した上で、第1射影結果と第2射影結果との誤差E1が小さくなるようにネットワークBを用いた推論モデルを訓練する。その結果、射影処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
以上のように、本実施の形態4に係る情報処理方法は、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように射影処理を変更する。これにより、射影処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
また、第1変換結果及び第2変換結果を内積が定義された空間へ射影することで第1射影結果及び第2射影結果を得る。これにより、第1射影結果と第2射影結果とのノルムを定義することができ、例えば、第1射影結果と第2射影結果とのノルムを小さくするように第2推論モデルを訓練することができる。その結果、上記情報処理方法は、2つの推論モデルの間に生じる推論結果の差異を小さくすることができる。
また、第1変換結果及び第2変換結果の次元の削減をすることで第1射影結果及び第2射影結果を得る。これにより、例えば、第1変換結果と第2変換結果との差異を表す射影軸を選んだうえで、選ばれた射影軸以外の次元を削減する処理を行い、第1射影結果及び第2射影結果を得ることができる。その結果、上記情報処理方法は、第1射影結果と第2射影結果との誤差の算出にかかる時間をより一層短縮することができる。また、上記情報処理方法は、2つの推論モデルの間に生じる推論結果の差異を効率的に小さくすることができる。
また、第1変換結果及び第2変換結果に主成分分析を行い、次元を削減する処理を行うことで、第1射影結果及び第2射影結果を得る。これにより、特定の主成分以外の主成分が削減されるため、第1射影結果と第2射影結果との差異を明確化することができる。例えば、特定の主成分は、第1射影結果の分布と第2射影結果の分布との間の誤差(距離)が他の主成分に比べて大きくなりそうな主成分に設定されてよい。その結果、上記情報処理方法は、第1射影結果と第2射影結果との誤差の算出にかかる時間をより一層短縮することができる。また、2つの推論モデルの間に生じる推論結果の差異を効率的に小さくすることができる。
なお、本実施の形態4の構成が実施の形態2又は実施の形態3に適用されてもよい。
(実施の形態5)
本実施の形態5において、実施の形態1~実施の形態4に係る情報処理方法及び情報処理システムとは異なる情報処理方法及び情報処理システムであって、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
以下、実施の形態1に係る情報処理システム10Aの一部が変更されて構成される実施の形態5に係る情報処理システムについて説明する。
図17は、本実施の形態5に係る情報処理システム10Eの機能構成を示すブロック図である。情報処理システム10Eは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
図17に示すように、情報処理システム10Eは、第1推論部11Aと、第2推論部12Aと、出力変換部13Eと、空間射影部14Aと、誤差算出部15Eと、訓練部16Aと、訓練制御部17Eと、第2選別部52Eとを備える。
情報処理システム10Eの構成要素のうち、第1推論部11Aと、第2推論部12Aと、空間射影部14Aと、訓練部16Aとは、実施の形態1に係る情報処理システム10Aにおけるものと同様である。そのため、出力変換部13Eと、誤差算出部15Eと、訓練制御部17Eと、第2選別部52Eとについて以下で詳細に説明する。
出力変換部13Eは、実施の形態1に係る出力変換部13Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、出力変換部13Eは、第2選別部52Eが記録又は変更した変換処理を取得する。そして、出力変換部13Eは、第1推論部11A及び第2推論部12Aから得た特徴情報を第2選別部52Eから得た変換処理を用いて変換して、入力された特徴情報についての変換結果を出力する。また、出力変換部13Eは、出力変換部13Eが実行する変換処理を第2選別部52Eへ通知する。なお、第2選別部52Eによる変換処理の記録及び変更の詳細については後述する。
誤差算出部15Eは、実施の形態1に係る誤差算出部15Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、誤差算出部15Eは、空間射影部14Aから得た射影結果に基づいて算出した誤差情報(第1誤差ともいう)を第2選別部52Eへ出力する。
第2選別部52Eは、誤差算出部15Eが算出する誤差情報が大きくなるように、出力変換部13Eが実行する変換処理を変更する。具体的には、第2選別部52Eは、実行された変換処理と算出された誤差情報との組み合わせを記録し、記録された組み合わせに基づいて変換処理を変更する。第2選別部52Eは、出力変換部13Eが実行した変換処理と誤差算出部15Eが算出した誤差情報との組み合わせと、第2選別部52Eが記録している変換処理と誤差情報との組み合わせとの比較結果に基づいて、出力変換部13Eが実行する変換処理と誤差算出部15Eが算出する誤差情報との組み合わせを記録する。
詳細には、まず、第2選別部52Eは、出力変換部13Eが実行した変換処理と、誤差算出部15Eによって算出された第1誤差とを取得する。第2選別部52Eは、第2選別部52Eが記録した変換処理と誤差情報とを参照し、記録された変換処理と誤差情報との中に、取得した変換処理と第1誤差との組み合わせが存在しない場合、言い換えると、変換処理及び第1誤差が、第2選別部52Eが最初に取得した変換処理と誤差情報との組み合わせである場合、変換処理と第1誤差とを記録する。記録された変換処理と誤差情報との中に、取得した変換処理と第1誤差との組み合わせが存在する場合、第2選別部52Eは、第1誤差と上記記録された誤差情報とを比較する。第1誤差が上記記録された誤差情報よりも大きい場合、第2選別部52Eは、変換処理と第1誤差とを記録する。第1誤差が上記記録された誤差情報よりも小さい場合、第2選別部52Eは、上記記録処理を行わず、記録された変換処理と誤差情報とを保持する。
第2選別部52Eは、上記組み合わせの比較の履歴を参照し、まだ比較されていない変換処理の候補が存在する場合、出力変換部13Eが実行する変換処理を変更する。比較されていない変換処理の候補が存在しない場合、第2選別部52Eは、出力変換部13Eが実行する変換処理を第2選別部52Eが記録している変換処理に変更し、変換処理の記録及び変更処理を終了する。例えば、変換処理は、入力をスケール変換する処理であってもよい。変換処理の候補は、変換処理A及び変換処理Bといった異なる種類の変換処理を含んでもよく、同じ種類の変換処理であって処理のパラメタがそれぞれ異なる複数の変換処理を含んでもよい。また、変換処理は、ニューラルネットワークモデルによる変換処理であり、上記処理のパラメタはニューラルネットワークモデルの係数であってもよい。
なお、第2選別部52Eによる変換処理の記録及び変更処理は、予め設定した閾値に基づいて終了されてもよい。その場合、第2選別部52Eは、第1誤差と上記閾値とを比較し、第1誤差が上記閾値よりも大きい場合、第2選別部52Eは、変換処理と第1誤差とを記録し、出力変換部13Eが実行する変換処理を第2選別部52Eが記録している変換処理に変更し、変換処理の記録及び変更処理を終了する。第1誤差が上記閾値よりも小さい場合、第2選別部52Eは、第2選別部52Eが記録した変換処理と誤差情報とを参照し、以降の処理を同様に繰り返すことで、第2選別部52Eは、出力変換部13Eが実行する変換処理を変更する。
また、第2選別部52Eによる変換処理の記録及び変更処理は、訓練部16Aが更新したネットワークBに基づいて、再度行われてもよい。その場合、第2選別部52Eは、訓練制御部17Eから指示を受け、以上の処理を同様に実行することで、変換処理を変更する。
訓練制御部17Eは、実施の形態1に係る訓練制御部17Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、訓練制御部17Eは、訓練部16Aが更新したネットワークBに基づいて、第2選別部52Eに変換処理の変更処理を再度実施させる。例えば、訓練制御部17Eは、新たな入力データを第1推論部11A及び第2推論部12Aに入力させて、ネットワークAと、新たなネットワークBと、新たな入力とを用いて、第1推論部11A、第2推論部12A、出力変換部13E、空間射影部14A、誤差算出部15E、第2選別部52E、及び、訓練部16Aに上記処理を再度実行させることで、ネットワークBを用いた推論モデルをさらに訓練する。
図18は、本実施の形態5に係る情報処理システム10Eにおける変換処理の変更を示す説明図である。
入力データが第1推論部11Aに入力されてから、誤差算出部15Eによって誤差が算出されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
誤差算出部15Eによって誤差が算出された後に、第2選別部52Eは、誤差算出部15Eによって算出される誤差を大きくするように、出力変換部13Eが実行する変換処理を変更する。例えば、出力変換部13Eが実行する変換処理が、(式1)で得られる、特徴情報が取る値の範囲を変更するスケール変換fである場合、変換処理の変更は、パラメタであるaを変更する処理や、スケール変換に用いる関数を以下の(式4)で得られるスケール変換f2へ変更する処理が含まれる。第2選別部52Eによる変換処理の変更手順の詳細については、後述する。
f2(x)=a×tanh(x) (式4)
図19は、本実施の形態5に係る情報処理システム10Eにおける第2推論部12Aにおける訓練を示す説明図である。
入力データが第1推論部11Aに入力されてから、訓練部16AによってネットワークBが更新されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
出力変換部13Eが実行する変換処理は、第2選別部52Eが変更した処理である。例えば、第2選別部52Eが、出力変換部13Eが実行する変換処理を、(式4)で得られるスケール変換f2に変更した場合、出力変換部13Eは、入力xを取得し、変換結果f2(x)を出力する。
その後、変換結果が空間射影部14Aに入力されてから以降の処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
以上のように構成された情報処理システム10Eが実行する処理について説明する。
図20及び図21は、実施の形態5に係る情報処理システム10Eが実行する処理(情報処理方法ともいう)を示すフロー図である。図20は、本実施の形態5に係る情報処理システム10Eが実行する処理のうち、変換処理の変更処理を除く処理を示すフロー図である。また、図21は、本実施の形態5に係る情報処理システム10Eが実行する処理のうち、変換処理の変更処理を示すフロー図である。
図20に示すステップS101~ステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3参照)。
ステップS161Eにおいて、第2選別部52Eは、まず後述する閾値処理を行うかどうか決定する。閾値処理を行わない場合、後述するステップS163Eの処理を行う。閾値処理を行う場合、第2選別部52Eは、ステップS107で誤差算出部15Eが算出した誤差E1が予め決定した閾値よりも大きいかどうか判断する。誤差E1が上記閾値よりも大きい場合、後述するステップS181の処理を行う。誤差E1が上記閾値よりも小さい場合、後述するステップS163Eの処理を行う。
ステップS181において、第2選別部52Eは、出力変換部13Eが実行した変換処理と、誤差E1との組み合わせを記録する。
ステップS163Eにおいて、第2選別部52Eは、ステップS107における誤差算出部15Eによる誤差算出処理が最初の誤差算出である、又は、ステップS107で誤差算出部15Eが算出した誤差E1が記録された誤差よりも大きいかどうか判断する。すなわち、第2選別部52Eは、第2選別部52Eが記録した組み合わせを参照し、組み合わせが記録されていない場合は、最初の誤差算出処理であると判断し、後述するステップS181Eの処理を行う。組み合わせが記録されており、かつ、誤差E1が記録された組み合わせの誤差よりも大きい場合、後述するステップS181Eの処理を行う。誤差E1が記録された誤差よりも小さい場合、後述するステップS182の処理を行う。
ステップS181Eにおいて、第2選別部52Eは、出力変換部13Eが実行した変換処理と、誤差E1との組み合わせを記録する。
ステップS182において、第2選別部52Eは、上記組み合わせの比較の履歴を参照し、まだ比較されていない変換処理候補があるかどうかを判断する。他に変換処理候補が存在する場合、後述するステップS183の処理を行う。他に変換処理候補が存在しない場合、後述するステップS103Eの処理を行う。
ステップS183において、第2選別部52Eは、出力変換部13Eが実行する変換処理を変更する。
ステップS103Eにおいて、出力変換部13Eは、ステップS101で第1推論部11Aが取得した第1特徴情報に、ステップS181又はステップS181Eで第2選別部52Eが記録した組み合わせの変換処理を行い、第1変換結果を取得する。
ステップS104Eにおいて、出力変換部13Eは、ステップS102で第2推論部12Aが取得した第2特徴情報に、ステップS181又はステップS181Eで第2選別部52Eが記録した組み合わせの変換処理を行い、第2変換結果を取得する。
ステップS105Eにおいて、空間射影部14Aは、ステップS103Eで出力変換部13Eが取得した第1変換結果に、射影処理を行い、第1射影結果を取得する。
ステップS106Eにおいて、空間射影部14Aは、ステップS104Eで出力変換部13Eが取得した第2変換結果に、射影処理を行い、第2射影結果を取得する。
ステップS107Eにおいて、誤差算出部15Eは、ステップS105Eで空間射影部14Aが取得した第1射影結果と、ステップS106Eで空間射影部14Aが取得した第2射影結果との誤差E1を算出する。
ステップS102Eにおいて、第2推論部12Aは、ネットワークBを用いた推論モデルに入力データを入力して、ネットワークBによる第2特徴情報を取得する。
ステップS184において、訓練制御部17Eは、訓練部16AがネットワークBの係数を更新するごとに、第2選別部52Eが再度変換処理を変更するかどうかを判断する。第2選別部52Eが更新されたネットワークBに基づいて、変換処理を再度変更する場合はステップS103の処理に戻り、変換処理を再度変更しない場合はステップS103Eの処理に戻り、以上と同様の一連の処理を繰り返す。
以上の一連の処理により、情報処理システム10Eは、第1射影結果と第2射影結果との誤差E1が大きくなるように変換処理を変更した上で、第1射影結果と第2射影結果との誤差E1が小さくなるようにネットワークBを用いた推論モデルを訓練する。その結果、変換処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
以上のように、本実施の形態5に係る情報処理方法は、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように変換処理を変更する。これにより、変換処理の変更を行わない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
なお、本実施の形態5の構成が実施の形態2又は実施の形態3に適用されてもよい。
(実施の形態6)
本実施の形態6において、実施の形態1~実施の形態5に係る情報処理方法及び情報処理システムとは異なる情報処理方法及び情報処理システムであって、入力データの組み合わせによらず、推論モデルを手本として新たな推論モデルを得る場合に生じ得る推論結果の差異を小さくする情報処理方法及び情報処理システムについて説明する。
以下、実施の形態1に係る情報処理システム10Aの一部が変更されて構成される実施の形態6に係る情報処理システムについて説明する。
図22は、本実施の形態6に係る情報処理システム10Fの機能構成を示すブロック図である。情報処理システム10Fは、既存の推論モデルと同じ推論結果を出力するように訓練された新たな推論モデルを得るためのシステムである。
図22に示されるように、情報処理システム10Fは、第1推論部11Aと、第2推論部12Aと、出力変換部13Fと、空間射影部14Fと、誤差算出部15Fと、訓練部16Aと、訓練制御部17Fと、第3選別部53Fとを備える。
情報処理システム10Fの構成要素のうち、第1推論部11Aと、第2推論部12Aと、訓練部16Aとは実施の形態1の情報処理システム10Aにおけるものと同様である。そのため、出力変換部13Fと、空間射影部14Fと、誤差算出部15Fと、訓練制御部17Fと、第3選別部53Fとについて以下で詳細に説明する。
出力変換部13Fは、実施の形態1に係る出力変換部13Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、出力変換部13Fは、第3選別部53Fが記録又は変更した変換処理を取得する。そして、出力変換部13Fは、第1推論部11A及び第2推論部12Aから得た特徴情報を第3選別部53Fから得た変換処理を用いて変換して、入力された特徴情報についての変換結果を出力する。また、出力変換部13Fは、出力変換部13Fが実行する変換処理を第3選別部53Fへ通知する。なお、第3選別部53Fによる変換処理の記録及び変更の詳細については後述する。
空間射影部14Fは、実施の形態1に係る空間射影部14Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、空間射影部14Fは、第3選別部53Fが記録又は変更した射影処理を取得する。そして、空間射影部14Fは、出力変換部13Fから得た変換結果を、第3選別部53Fから得た射影処理を用いて射影して、入力された変換結果についての射影結果を出力する。また、空間射影部14Fは、空間射影部14Fが実行する射影処理を第3選別部53Fへ通知する。なお、第3選別部53Fによる射影処理の記録及び変更の詳細については後述する。
誤差算出部15Fは、実施の形態1に係る誤差算出部15Aの機能と同様の機能に加えて、さらに以下の機能を有する。すなわち、誤差算出部15Fは、空間射影部14Fから得た射影結果に基づいて算出した誤差情報(第1誤差ともいう)を第3選別部53Fへ出力する。
第3選別部53Fは、誤差算出部15Fが算出する誤差情報が大きくなるように、出力変換部13Fが実行する変換処理と空間射影部14Fが実行する射影処理とを変更する。具体的には、第3選別部53Fは、実行された変換処理と、実行された射影処理と、算出された誤差情報との組み合わせを記録し、記録された組み合わせに基づいて変換処理と射影処理とを変更する。第3選別部53Fは、出力変換部13Fが実行した変換処理と、空間射影部14Fが実行した射影処理と、誤差算出部15Fが算出した誤差情報との組み合わせと、第3選別部53Fが記録している変換処理と、射影処理と、誤差情報との組み合わせとの比較結果に基づいて、出力変換部13Fが実行する変換処理と、空間射影部14Fが実行する射影処理と、誤差算出部15Fが算出する誤差情報との組み合わせを記録する。
詳細には、まず、第3選別部53Fは、出力変換部13Fが実行した変換処理と、空間射影部14Fが実行した射影処理と、誤差算出部15Fによって算出された第1誤差とを取得する。第3選別部53Fは、第3選別部53Fが記録した変換処理と、射影処理と、誤差情報とを参照し、記録された変換処理と、射影処理と、誤差情報とが存在しない場合、言い換えると、変換処理と、射影処理と、第1誤差とが第3選別部53Fが最初に取得した変換処理と、射影処理と、誤差情報との組み合わせである場合、変換処理と、射影処理と、第1誤差とを記録する。記録された変換処理と、射影処理と、誤差情報との中に、取得した変換処理と、射影処理と、第1誤差との組み合わせが存在する場合、第3選別部53Fは、第1誤差と上記記録された誤差情報とを比較する。第1誤差が上記記録された誤差情報よりも大きい場合、第3選別部53Fは、変換処理と、射影処理と、第1誤差とを記録する。第1誤差が上記記録された誤差情報よりも小さい場合、第3選別部53Fは、上記記録処理を行わず、記録された変換処理と、射影処理と、誤差情報とを保持する。
第3選別部53Fは、上記組み合わせの比較の履歴を参照し、まだ比較されていない変換処理と射影処理との組み合わせの候補が存在する場合、出力変換部13Fが実行する変換処理と、空間射影部14Fが実行する射影処理とを変更する。比較されていない変換処理と射影処理との組み合わせの候補が存在しない場合、第3選別部53Fは、出力変換部13Fが実行する変換処理と、空間射影部14Fが実行する射影処理とを第3選別部53Fが記録している変換処理と射影処理とに変更し、変換処理と射影処理との組み合わせの記録及び変更処理を終了する。上記変換処理は、実施の形態5におけるものと同様である。また、上記射影処理は、実施の形態4におけるものと同様である。
なお、第3選別部53Fによる変換処理と射影処理との組み合わせの記録及び変更処理は、予め設定した閾値に基づいて終了されてもよい。その場合、第3選別部53Fは、第1誤差と上記閾値とを比較し、第1誤差が上記閾値よりも大きい場合、第3選別部53Fは、変換処理と、射影処理と、第1誤差との組み合わせを記録し、出力変換部13Fが実行する変換処理を第3選別部53Fが記録している変換処理に変更し、空間射影部14Fが実行する射影処理を第3選別部53Fが記録している射影処理に変更し、変換処理と射影処理との組み合わせの記録及び変更処理を終了する。第1誤差が上記閾値よりも小さい場合、第3選別部53Fは、第3選別部53Fが記録した変換処理と、射影処理と、誤差情報とを参照し、以降の処理を同様に繰り返すことで、第3選別部53Fは、変換処理と射影処理とを変更する。
また、第3選別部53Fによる変換処理と射影処理との組み合わせの記録及び変更処理は、訓練部16Aが更新したネットワークBに基づいて、再度行われてもよい。その場合、第3選別部53Fは、訓練制御部17Fから指示を受け、以上の処理を同様に実行することで、変換処理と射影処理とを変更する。
なお、第3選別部53Fによる変換処理と射影処理との組み合わせの変更処理は、順番に行われてもよいし、同時に行われてもよい。すなわち、第3選別部53Fによる変換処理と射影処理との組み合わせの変更処理が順番に行われる場合は、第1誤差が大きくなるように変換処理を変更し、さらに変更された変換処理に基づいて第1誤差が大きくなるように射影処理を変更する、又は、第1誤差が大きくなるように射影処理を変更し、さらに変更された射影処理に基づいて第1誤差が大きくなるように変換処理を変更する。第3選別部53Fによる変換処理と射影処理との組み合わせの変更処理が同時に行われる場合は、第1誤差が大きくなるように変換処理と射影処理との組み合わせを変更する。この場合の変更方法は、例えばベイズ最適化などの周知技術が採用され得る。
訓練制御部17Fは、実施の形態1に係る訓練制御部17Aと同様の機能に加えて、さらに以下の機能を有する。すなわち、訓練制御部17Fは、訓練部16Aが更新したネットワークBに基づいて、第3選別部53Fに変換処理と射影処理との組み合わせの変更処理を再度実施させる。例えば、訓練制御部17Fは、新たな入力データを第1推論部11A及び第2推論部12Aに入力させて、ネットワークAと、新たなネットワークBと、新たな入力とを用いて、第1推論部11A、第2推論部12A、出力変換部13F、空間射影部14F、誤差算出部15F、第3選別部53F、及び、訓練部16Aに上記処理を再度実行させることで、ネットワークBを用いた推論モデルをさらに訓練する。
図23は、本実施の形態6に係る情報処理システム10Fにおける変換処理と射影処理との組み合わせの変更を示す説明図である。
入力データが第1推論部11Aに入力されてから、誤差算出部15Fによって誤差が算出されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
誤差算出部15Fによって誤差が算出された後に、第3選別部53Fは、誤差算出部15Fによって算出される誤差を大きくするように、出力変換部13Fが実行する変換処理と、空間射影部14Fが実行する射影処理とを変更する。変換処理の変更の詳細については、実施の形態5におけるものと同様である。また、射影処理の変更の詳細については、実施の形態4におけるものと同様である。
図24は、本実施の形態6に係る情報処理システム10Fにおける第2推論部12Aにおける訓練を示す説明図である。
入力データが第1推論部11Aに入力されてから、訓練部16AによってネットワークBが更新されるまでの処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
出力変換部13Fが実行する変換処理は、第3選別部53Fが変更した処理である。第3選別部53Fが変換処理を変更した場合の出力変換部13Fの処理の詳細は、実施の形態5に係る情報処理システム10Eにおけるものと同様である。
空間射影部14Fが実行する射影処理は、第3選別部53Fが変更した処理である。第3選別部53Fが射影処理を変更した場合の空間射影部14Fの処理の詳細は、実施の形態4に係る情報処理システム10Dにおけるものと同様である。
その後、射影結果が誤差算出部15Fに入力されてから以降の処理は、実施の形態1に係る情報処理システム10Aにおける訓練における処理と同様である。
以上のように構成された情報処理システム10Fが実行する処理について説明する。
図25及び図26は、実施の形態6に係る情報処理システム10Fが実行する処理(情報処理方法ともいう)を示すフロー図である。図25は、本実施の形態6に係る情報処理システム10Fが実行する処理のうち、変換処理と射影処理との組み合わせの変更処理を除く処理を示すフロー図である。また、図26は、本実施の形態6に係る情報処理システム10Fが実行する処理のうち、変換処理と射影処理との組み合わせの変更処理を示すフロー図である。
図25に示すステップS101~ステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3参照)。
ステップS161Fにおいて、第3選別部53Fは、まず後述する閾値処理を行うかどうか決定する。閾値処理を行わない場合、後述するステップS163Fの処理を行う。閾値処理を行う場合、第3選別部53Fは、ステップS107で誤差算出部15Fが算出した誤差E1が予め決定した閾値よりも大きいかどうか判断する。誤差E1が上記閾値よりも大きい場合、後述するステップS191の処理を行う。誤差E1が上記閾値よりも小さい場合、後述するステップS163Fの処理を行う。
ステップS191において、第3選別部53Fは、出力変換部13Fが実行した変換処理と、空間射影部14Fが実行した射影処理と、誤差E1との組み合わせを記録する。
ステップS163Fにおいて、第3選別部53Fは、ステップS107における誤差算出部15Fによる誤差算出処理が最初の誤差算出である、又は、ステップS107で誤差算出部15Fが算出した誤差E1が記録された誤差よりも大きいかどうか判断する。すなわち、第3選別部53Fは、第3選別部53Fが記録した組み合わせを参照し、組み合わせが記録されていない場合は、最初の誤差算出処理であると判断し、後述するステップS191Fの処理を行う。組み合わせが記録されており、かつ、誤差E1が記録された組み合わせの誤差よりも大きい場合、後述するステップS191Fの処理を行う。誤差E1が記録された誤差よりも小さい場合、後述するステップS192の処理を行う。
ステップS191Fにおいて、第3選別部53Fは、出力変換部13Fが実行した変換処理と、空間射影部14Fが実行した射影処理と、誤差E1との組み合わせを記録する。
ステップS192において、第3選別部53Fは、上記組み合わせの比較の履歴を参照し、まだ比較されていない変換処理と射影処理との組み合わせ候補があるかどうかを判断する。他に変換処理と射影処理との組み合わせ候補が存在する場合、後述するステップS193の処理を行う。他に変換処理と射影処理との組み合わせ候補が存在しない場合、後述するステップS103Fの処理を行う。
ステップS193において、第3選別部53Fは、出力変換部13Fが実行する変換処理と、空間射影部14Fが実行する射影処理とを変更する。
ステップS103Fにおいて、出力変換部13Fは、ステップS101で第1推論部11Aが取得した第1特徴情報に、ステップS191又はステップS191Fで第3選別部53Fが記録した組み合わせの変換処理を行い、第1変換結果を取得する。
ステップS104Fにおいて、出力変換部13Fは、ステップS102で第2推論部12Aが取得した第2特徴情報に、ステップS191又はステップS191Fで第3選別部53Fが記録した組み合わせの変換処理を行い、第2変換結果を取得する。
ステップS105Fにおいて、空間射影部14Fは、ステップS103Fで出力変換部13Fが取得した第1変換結果に、ステップS191又はステップS191Fで第3選別部53Fが記録した組み合わせの射影処理を行い、第1射影結果を取得する。
ステップS106Fにおいて、空間射影部14Fは、ステップS104Fで出力変換部13Fが取得した第2変換結果に、ステップS191又はステップS191Fで第3選別部53Fが記録した組み合わせの射影処理を行い、第2射影結果を取得する。
ステップS107Fにおいて、誤差算出部15Fは、ステップS105Fで空間射影部14Fが取得した第1射影結果と、ステップS106Fで空間射影部14Fが取得した第2射影結果との誤差E1を算出する。
ステップS102Fにおいて、第2推論部12Aは、ネットワークBを用いた推論モデルに入力データを入力して、ネットワークBによる第2特徴情報を取得する。
ステップS194において、訓練制御部17Fは、訓練部16AがネットワークBの係数を更新するごとに、第3選別部53Fが再度変換処理と射影処理との組み合わせを変更するかどうかを判断する。第3選別部53Fが更新されたネットワークBに基づいて、変換処理と射影処理との組み合わせを再度変更する場合はステップS103の処理に戻り、変換処理と射影処理との組み合わせを再度変更しない場合はステップS103Fの処理に戻り、以上と同様の一連の処理を繰り返す。
以上の一連の処理により、情報処理システム10Fは、第1射影結果と第2射影結果との誤差E1が大きくなるように変換処理と射影処理との組み合わせを変更した上で、第1射影結果と第2射影結果との誤差E1が小さくなるようにネットワークBを用いた推論モデルを訓練する。その結果、変換処理又は射影処理の少なくとも一方が変更されない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
以上のように、本実施の形態6に係る情報処理方法は、第1射影結果と第2射影結果との誤差(第1誤差)が大きくなるように変換処理と射影処理の組み合わせを変更する。これにより、変換処理又は射影処理の少なくとも一方が変更されない場合よりも機械学習処理による訓練をより一層進行しやすくすることができる。言い換えると、当該訓練が停滞することを抑制できる。
なお、本実施の形態の構成が実施の形態2又は実施の形態3に適用されてもよい。
(変形例)
なお、実施の形態1~実施の形態6に係る情報処理システム10A~情報処理システム10Fが実行する処理において、変換処理が必要かどうかの要否判断を行ってもよい。以下では、変換処理が必要かどうかの要否判断を行う場合の変形例について説明する。なお、以下では実施の形態1に係る情報処理システム10Aが実行する処理を例として説明するが、実施の形態2~実施の形態6に係る情報処理システム10B~情報処理システム10Fが実行する処理の場合についても、実施の形態1に係る情報処理システム10Aが実行する処理の場合と同様である。
図27は、変形例に係る情報処理システムが実行する処理を示すフロー図である。
図27に示すステップS101~ステップS109に含まれる処理は、実施の形態1に係る情報処理システム10Aの処理と同様の処理である(図3参照)。
ステップS110において、誤差算出部15Aは、変換処理が必要かどうかの要否判断を行うかどうかを判断する。要否判断を行わない場合、ステップS108の処理を行う。要否判断を行う場合、後述するステップS111の処理を行う。
ステップS111において、空間射影部14Aは、ステップS101で第1推論部11Aが取得したネットワークAによる第1特徴情報に射影処理を行い、第1非変換射影結果を取得する。
ステップS112において、空間射影部14Aは、ステップS102で第2推論部12Aが取得したネットワークBによる第2特徴情報に射影処理を行い、第2非変換射影結果を取得する。
ステップS113において、誤差算出部15Aは、ステップS111で空間射影部14Aが取得した第1非変換射影結果と、ステップS112で空間射影部14Aが取得した第2非変換射影結果との誤差E0を算出する。
ステップS114において、誤差算出部15Aは、ステップS107で誤差算出部15Aが算出した誤差E1が、ステップS113で誤差算出部15Aが算出した誤差E0よりも大きいかどうか判断する。誤差算出部15Aは、誤差E1が誤差E0よりも大きい場合、変換処理は必要と判断し、ステップS108の処理を行う。誤差算出部15Aは、誤差E1が誤差E0よりも小さい場合、変換処理は不要と判断し、後述のステップS108Aの処理を行う。
なお、ステップS114の処理において、誤差算出部15Aは、誤差E0が所定の閾値よりも大きい場合、変換処は必要と判断し、誤差E0が所定の閾値よりも小さい場合、変換処理は不要と判断してもよい。
ステップS108Aにおいて、訓練部16Aは、ステップS113で算出された誤差E0を用いて、上記誤差E0が小さくなるように、ネットワークBの係数を更新し、ステップS109の処理を行う。
(補足)
また、実施の形態1~実施の形態6、変形例において、情報処理システム10A~情報処理システム10Fが備える各機能は、プロセッサ(例えばCPU)(不図示)が、所定のプログラムを実行することで実現され得る。
また、実施の形態1~実施の形態6、変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、これら実施の形態及び変形例の情報処理装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、前記第2推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなる処理である情報処理方法を実行させるプログラムである。
また、このプログラムは、コンピュータに、プロセッサが実行する情報処理方法であって、第1データを第1推論モデルに入力して、第1特徴情報を取得し、前記第1データを第2推論モデルに入力して、第2特徴情報を取得し、前記第1特徴情報に変換処理を行って、第1変換結果を取得し、前記第2特徴情報に前記変換処理を行って、第2変換結果を取得し、前記第1変換結果に射影処理を行って、第1射影結果を取得し、前記第2変換結果に前記射影処理を行って、第2射影結果を取得し、前記第1射影結果と、前記第2射影結果との誤差を示す第1誤差を取得し、前記第1誤差を小さくするように、第3推論モデルを機械学習により訓練し、前記変換処理は、前記第1射影結果と前記第2射影結果との誤差が、前記第1特徴情報に前記射影処理を行って取得される第1非変換射影結果と前記第2特徴情報に前記射影処理を行って取得される第2非変換射影結果との誤差よりも大きくなるような処理であり、訓練された前記第3推論モデルを変換するモデル変換処理を行って、前記第2推論モデルを更新する情報処理方法を実行させるプログラムである。
これらプログラムは、例えば、コンピュータ読み取り可能な非一時的な記録媒体に記録される。
以上のように、本出願において開示する技術の例示として、実施の形態及び変形例に基づいて説明した。しかしながら、本開示は、これら実施の形態及び変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形をこれら実施の形態及び変形例に施したものや、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本開示の1つまたは複数の態様の範囲内に含まれてもよい。