(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023049092
(43)【公開日】2023-04-10
(54)【発明の名称】モデル評価装置、モデル評価方法およびモデル評価プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230403BHJP
G06N 3/08 20230101ALI20230403BHJP
G06N 20/00 20190101ALI20230403BHJP
【FI】
G06T7/00 350B
G06N3/08
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021158633
(22)【出願日】2021-09-29
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】鈴木 聡志
(72)【発明者】
【氏名】樋口 陽光
(72)【発明者】
【氏名】庄野 逸
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA03
5L096DA02
5L096HA09
5L096HA11
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】学習済みモデルのシフト不変性を正当に評価する。
【解決手段】信号対評価部は、学習済みモデルにテスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、信号対それぞれの評価値を取得する。評価値は、信号対を学習済みモデルに入力することで得られる特徴ベクトルの相違の大きさを評価する値である。グループ評価部は、各テスト信号の特徴に応じたグループ別に、評価値の代表値を算出する。モデル評価部は、グループ別の評価値の代表値に基づいて、学習済みモデルの評価値を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、複数のテスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得する信号対評価部と、
前記複数のテスト信号それぞれの特徴に応じたグループ別に、前記評価値の代表値を算出するグループ評価部と、
前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出するモデル評価部と
を備えるモデル評価装置。
【請求項2】
前記学習済みモデルに前記複数のテスト信号を入力することで得られる前記複数のテスト信号それぞれの特徴ベクトルを取得する第1取得部と、
前記複数のテスト信号それぞれの特徴ベクトルに基づいて、前記複数のテスト信号を複数のグループに分類する分類部と、
前記信号対をそれぞれ前記学習済みモデルに入力することで得られる、前記信号対それぞれの特徴ベクトルを取得する第2取得部と、
を備え、
前記信号対評価部は、前記第2取得部が取得した信号対別に前記評価値を算出し、
前記グループ評価部は、前記信号対の評価値と前記信号対が属するグループとに基づいて、前記グループ別の評価値の代表値を算出する
請求項1に記載のモデル評価装置。
【請求項3】
前記信号対評価部は、前記学習済みモデルが出力した前記信号対のそれぞれについての特徴ベクトルの距離を前記評価値として算出する
請求項1または請求項2に記載のモデル評価装置。
【請求項4】
前記複数のグループは、前記学習済みモデルが出力した前記特徴ベクトルが前記テスト信号の属するクラスを表す正解グループと、前記学習済みモデルが出力した前記特徴ベクトルが前記テスト信号の属さないクラスを表す不正解グループとからなる
請求項1から請求項3の何れか1項に記載のモデル評価装置。
【請求項5】
前記学習済みモデルが出力する前記特徴ベクトルは、入力された信号の複数のクラスについての所属確率分布を示す
請求項1から請求項4の何れか1項に記載のモデル評価装置。
【請求項6】
コンピュータが、入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、複数のテスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得するステップと、
前記コンピュータが、前記複数のテスト信号それぞれの特徴に応じたグループ別に、前記評価値の代表値を算出するステップと、
前記コンピュータが、前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出するステップと
を備えるモデル評価方法。
【請求項7】
コンピュータを、
請求項1から請求項5の何れか1項に記載のモデル評価装置
として機能させるためのモデル評価プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル評価装置、モデル評価方法およびモデル評価プログラムに関する。
【背景技術】
【0002】
近年、機械学習技術、特に畳み込みニューラルネットワーク(Convolutional Neural Network,CNN)を用いた、画像処理技術の精度向上が著しい。モデルによる入力信号の評価結果は、入力信号のシフトによって変化しないことが好ましい。このようにシフトによって評価結果が変化しない性質を、シフト不変性という。CNNは、非特許文献1に示すようにシフト不変性を有すると考えられていたが、実際にはシフトが評価結果に影響を与えることが明らかになっている(非特許文献2)。
【0003】
非特許文献2では、学習済みモデルのシフト不変性を評価する指標としてConsistencyと呼ばれる指標が提案されている。非特許文献2によれば、同一の画像に異なるシフトを与えた画像対に対して学習済みモデルを用いた画像識別を行い、画像対のクラスが一致した割合がConsistencyとして求められる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】K. Fukushima, “Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position”, 1980.
【非特許文献2】R. Zhang, “Making Convolutional Networks Shift-Invariant Again”, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、発明者は、学習済みモデルが識別したクラスが正解だった画像(以下、正解画像)のみからなる正解画像群と、不正解だった画像(以下、不正解画像)のみからなる不正解画像群のそれぞれを用いてConsistencyを評価した結果、正解画像群から求められるConsistencyが、不正解画像群から求められるConsistencyと比較して有意に大きいことを発見した。このことから、発明者は、Consistencyによる評価は、学習済みモデルの識別精度などのシフト不変性に直接的な関係が無い指標によってバイアスされる可能性があり、適切にシフト不変性を評価することができない可能性があると考察した。例えば、同数の画像を用いてConsistencyを求めたとしても、学習済みモデルの識別精度が高いと正解画像の数が不正解画像の数と比較して相対的に多くなることによって、Consistencyが高く評価される可能性がある。
【0006】
本発明の目的は、シフト不変性を正当に評価することができるモデル評価装置、モデル評価方法およびモデル評価プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の態様は、入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、複数のテスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得する信号対評価部と、前記学習済みモデルによる前記複数のテスト信号それぞれの識別結果に応じたグループ別に、前記評価値の代表値を算出するグループ評価部と、前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出するモデル評価部とを備えるモデル評価装置である。
【0008】
本発明の第2の態様は、コンピュータが、入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、複数のテスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得するステップと、前記学習済みモデルによる前記複数のテスト信号それぞれの識別結果に応じたグループ別に、前記評価値の代表値を算出するステップと、前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出するステップとを備えるモデル評価方法である。
【0009】
本発明の第3の態様は、コンピュータを、上記態様に係るモデル評価装置として機能させるためのモデル評価プログラムである。
【発明の効果】
【0010】
上記態様によれば、シフト不変性を正当に評価することができる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態に係るモデル評価装置の構成を示す概略図である。
【
図2】第1の実施形態に係るモデル評価装置の動作を示すフローチャートである。
【
図3】第1の実施形態に係るモデル評価装置による対象モデルの評価結果を示す図である。
【
図4】比較対象としてのConsistencyによる対象モデルの評価結果を示す図である。
【
図5】正解グループと不正解グループにおけるConsistency評価値の差異の一例を示す図である。
【
図6】第2の実施形態に係るモデル評価装置の動作を示すフローチャートである。
【
図7】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
〈第1の実施形態〉
《モデル評価装置1の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るモデル評価装置1の構成を示す概略図である。
第1の実施形態に係るモデル評価装置1は、学習済みモデルのシフト不変性を評価するモデル評価値を算出する。第1の実施形態に係るモデル評価装置1による評価対象のモデル(対象モデル)は、CNNで構成され、N個のクラスのうち、入力された画像データが属するクラスを識別する識別モデルである。クラスは、例えば画像データに写る被写体の種別を示す。対象モデルは、N個のクラスについての所属確率分布を示すN次元のベクトルを出力する。
【0013】
モデル評価装置1は、モデル入力部11、モデル記憶部12、データセット記憶部13、シフト画像生成部14、識別部15、分類部16、信号対評価部17、グループ評価部18、モデル評価部19、出力部20を備える。
【0014】
モデル入力部11は、対象モデルの入力を受け付ける。対象モデルは、訓練されたパラメータによって表される。モデル入力部11は、入力された対象モデルをモデル記憶部12に記録する。
【0015】
データセット記憶部13は、対象モデルに識別させる画像データであるテスト画像と当該テスト画像が属するクラスを表す正解ラベルとを関連付けた複数のデータセットを記憶する。テスト画像は、テスト信号の一例である。
【0016】
シフト画像生成部14は、データセット記憶部13が記憶する複数のデータセットに係るテスト画像から、互いにずれを有する画像データ対を生成する。具体的には、シフト画像生成部14は、テスト画像を、乱数に基づいて生成された第1シフト量でシフトした第1シフト画像データと、乱数に基づいて生成された第2シフト量でシフトした第2シフト画像データを生成する。第1シフト画像データと第2シフト画像データからなる画像データ対は、信号対の一例である。
【0017】
識別部15は、モデル記憶部12が記憶する対象モデルに画像データを入力することで、画像データのクラスを識別する。すなわち、識別部15は、対象モデルに画像データを入力することでN次元のベクトルを得る。対象モデルが出力するベクトルは、特徴ベクトルの一例である。識別部15は、得られたベクトルが示す最も所属確率が高いクラスを、入力された画像データが属するクラスとして識別する。
【0018】
分類部16は、データセット記憶部13が記憶する複数のデータセットを、識別部15によるクラスの識別結果が正解ラベルと一致する正解グループと、識別部15によるクラスの識別結果が正解ラベルと一致しない不正解グループとに分類する。
【0019】
信号対評価部17は、識別部15によって算出された第1シフト画像データのベクトルと第2シフト画像データのベクトルとの距離を、信号対評価値として算出する。ベクトルの距離としては、JS(Jensen-Shannon)ダイバージェンスや、KL(Kullback-Leibler)ダイバージェンスなどの、分布間距離指標を用いることができる。また、他の実施形態においては、ベクトルの距離として、コサイン類似度やユークリッド距離などの他の距離指標を用いてもよい。なお、JSダイバージェンスは、対称性があるため、画像データ対を用いた評価における距離の指標として好ましい。
【0020】
グループ評価部18は、正解グループと不正解グループのそれぞれについて、信号対評価値の平均値を求める。グループ別の信号対評価値の平均値を、グループ評価値ともいう。具体的には、グループ評価部18は、正解グループに係るデータセットから生成された画像データ対の信号対評価値の平均値を、正解グループのグループ評価値として算出する。グループ評価部18は、不正解グループに係るデータセットから生成された画像データ対の信号対評価値の平均値を、不正解グループのグループ評価値として算出する。
【0021】
モデル評価部19は、正解グループのグループ評価値と不正解グループのグループ評価値の平均値を、対象モデルのシフト不変性を評価するモデル評価値として求める。
出力部20は、モデル評価部19が算出したモデル評価値を出力する。例えば、出力部20は、図示しないディスプレイにモデル評価値を表示させてよい。また例えば、出力部20は、図示しない記憶媒体にモデル評価値を記録してもよい。
【0022】
《モデル評価装置1の動作》
図2は、第1の実施形態に係るモデル評価装置1の動作を示すフローチャートである。
ユーザは、モデル評価装置1に対象モデルを評価させるために、モデル評価装置1に対象モデルを入力する。これにより、モデル評価装置1は対象モデルの評価処理を開始する。モデル評価装置1は、評価処理を開始すると、メインメモリのうち評価処理に用いる記憶領域を初期化する。モデル評価装置1のモデル入力部11は、対象モデルの入力を受け付ける(ステップS1)。モデル入力部11は、入力された対象モデルをモデル記憶部12に記録する(ステップS2)。次に、モデル評価装置1は、データセット記憶部13が記憶するデータセットを1つずつ選択し(ステップS3)、各データセットについてステップS4からステップS12の処理を実行する。
【0023】
シフト画像生成部14は、ステップS3で選択されたデータセットに係るテスト画像から、第1シフト画像データおよび第2シフト画像データからなる画像データ対を生成する(ステップS4)。具体的には、シフト画像生成部14は、以下の手順で画像データ対を生成する。シフト画像生成部14は、高さH×幅Wの画素からなるテスト画像を所定倍率で拡大し、拡大テスト画像を生成する。シフト画像生成部14は、乱数に基づいて第1シフト量と第2シフト量とを決定する。シフト画像生成部14は、拡大テスト画像を第1シフト量に基づいてクロップした高さH×幅Wの画素からなる第1シフト画像データを生成する。シフト画像生成部14は、拡大テスト画像を第2シフト量に基づいてクロップした高さH×幅Wの画素からなる第2シフト画像データを生成する。
【0024】
次に、識別部15は、ステップS4で生成された第1シフト画像データをモデル記憶部12が記憶する対象モデルに入力することで、第1シフト画像データのN個のクラスの所属確率分布を示す第1特徴ベクトルを生成する(ステップS5)。また、識別部15は、ステップS4で生成された第2シフト画像データをモデル記憶部12が記憶する対象モデルに入力することで、第2シフト画像データのN個のクラスの所属確率分布を示す第2特徴ベクトルを生成する(ステップS6)。つまり、識別部15は、画像データ対をそれぞれ対象モデルに入力することで得られる、画像データ対それぞれの特徴ベクトルを取得する第2取得部の一例である。信号対評価部17は、ステップS5で算出された第1特徴ベクトルとステップS6で算出された第2特徴ベクトルとの距離を、信号対評価値として算出する(ステップS7)。
【0025】
識別部15は、ステップS3で選択されたデータセットに係るテスト画像を、モデル記憶部12が記憶する対象モデルに入力することで、N個のクラスの所属確率分布を示す特徴ベクトルを生成する(ステップS8)。つまり、識別部15は、対象モデルにテスト信号を入力することでテスト信号の特徴ベクトルを取得する第1取得部の一例である。識別部15は、生成された特徴ベクトルに基づいてテスト画像が属するクラスを識別する(ステップS9)。分類部16は、ステップS3で選択されたデータセットに係る正解ラベルが示すクラスとステップS8で識別されたクラスとが一致するか否かを判定する(ステップS10)。すなわち、分類部16は、識別モデルによるテスト画像の識別が成功したか否かを判定する。
【0026】
テスト画像の識別が成功した場合(ステップS10:YES)、グループ評価部18は、メインメモリの評価処理のために確保された記憶領域のうち、正解グループに係る信号対評価値を記録する領域に、ステップS7で算出した信号対評価値を記録する(ステップS11)。
他方、テスト画像の識別が失敗した場合(ステップS10:NO)、グループ評価部18は、メインメモリの評価処理のために確保された記憶領域のうち、不正解グループに係る信号対評価値を記録する領域に、ステップS7で算出した信号対評価値を記録する(ステップS12)。
【0027】
データセット記憶部13が記憶するすべてのデータセットについてステップS4からステップS12の処理が実行されると、グループ評価部18は、正解グループに係る信号対評価値の平均値を正解グループのグループ評価値として算出し、不正解グループに係る信号対評価値の平均値を不正解グループのグループ評価値として算出する(ステップS13)。モデル評価部19は、グループ評価部18が算出したグループ評価値の平均値を、対象モデルのモデル評価値として算出する(ステップS14)。そして、出力部20は、算出されたモデル評価値を出力する(ステップS15)。
【0028】
《作用・効果》
このように、第1の実施形態に係るモデル評価装置1は、以下の手順で対象モデルの評価値を算出する。モデル評価装置1は、対象モデルによる互いにずれを有する画像データ対の評価結果の一致度を示す信号対評価値を取得する。モデル評価装置1は、その画像データ対の元となったテスト画像の対象モデルによる識別結果を表すグループ別に、信号対評価値の平均値を求めることでグループ別の評価値を求める。モデル評価装置1は、グループ別の評価値の代表値に基づいて対象モデルの評価値を算出する。これにより、第1の実施形態に係るモデル評価装置1は、対象モデルの識別精度などのシフト不変性に直接的な関係が無い指標によって対象モデルの評価値がバイアスされることを防ぐことができる。つまり、モデル評価装置1は、テスト画像の識別に成功したときの評価値と識別に失敗したときの評価値との平均を取ることで、対象モデルによるデータセットに係るテスト画像の識別成功率の影響をなくすことができる。
【0029】
また、第1の実施形態に係るモデル評価装置1は、画像データ対のそれぞれについて算出された特徴ベクトルの距離を信号対評価値として算出する。つまり、モデル評価装置1は、各クラスの所属確率を示す確率分布の差分を評価する。これにより、第1の実施形態に係るモデル評価装置1は、画像シフトによる対象モデルの出力分布の変化を連続的に評価する事ができ、評価値を安定させることができる。
【0030】
《実験結果》
発明者は、第1の実施形態に係るモデル評価装置1による対象モデルの評価と、Consistencyによる対象モデルの評価とを比較する実験を行った。本実験では、中間層の実装の異なる3つのCNNを対象モデルとした。各対象モデルは、入力層、第1畳み込み層、第1中間処理層、第2畳み込み層、第2中間処理層、第3畳み込み層、第3中間処理層および出力層を備える。第1対象モデルは、各中間処理層において、対象範囲の平均値を抽出するアベレージプーリング処理を行うものである。第2対象モデルは、各中間処理層において対象範囲の最大値を抽出するマックスプーリング処理を行うものである。第3対象モデルは、各中間処理層において畳み込み処理を行うものである。
【0031】
データセットとしては、CIFAR-10([online]https://www.cs.toronto.edu/~kriz/cifar.html[令和03年8月27日検索])を用いた。シフト画像は、データセットに係る32×32のテスト画像を36×36に拡大し、拡大されたテスト画像から32×32の部分画像をクロッピングする。このとき、クロッピング位置を乱数に基づいて決定する。
乱数に基づく評価値の変化による影響を抑えるため、各対象モデルについて4種類の乱数シードを用いてそれぞれパラメータを学習させ、その分散と平均を求めることで評価値を比較した。
【0032】
図3は、第1の実施形態に係るモデル評価装置1による対象モデルの評価結果を示す図である。
図4は、比較対象としてのConsistencyによる対象モデルの評価結果を示す図である。
図3および
図4において、横軸が評価値の大きさを示す。図においてプロットが右方向に位置するほどシフト不変性が高いことを示す。
図3に示すように、第1の実施形態に係るモデル評価装置1による対象モデルの評価結果によれば、Consistencyと比較して乱数によるパラメータの違いに対する評価値の分散が小さいことが分かる。また、第1の実施形態に係るモデル評価装置1による対象モデルの評価結果は、Consistencyと比較して対象モデル間の評価値の差が明確であった。
図3に示す結果を参照すると、第1から第3の対象モデルのうち、第1対象モデル、すなわち中間処理層においてアベレージプーリング処理を行うものが、最もシフト不変性が高いことを示している。この結果は、非特許文献2に示される考察と一致しており、第1の実施形態に係るモデル評価装置1による評価が妥当であるといえる。
【0033】
図5は、正解グループと不正解グループにおけるConsistency評価値の差異の一例を示す図である。
発明者は、対象モデルについて、正解グループに属する画像データのみに基づいてConsistencyを計算し、また不正解グループに属する画像データのみに基づいてConsistencyを計算した。その結果、
図5に示すように、正解グループに属する画像データのみに基づいて求められたConsistencyは、いずれも不正解グループに属する画像データのみに基づいて求められたConsistencyより有意に高いことがわかる。
図5によれば、正解グループに属する画像データのみに基づいて求められたConsistencyは、約91~93の値をとるのに対し、不正解グループに属する画像データのみに基づいて求められたConsistencyは、約64~70の値をとる。すべての画像データから求められるConsistencyは、正解グループに属する画像データのみに基づいて求められたConsistencyと、不正解グループに属する画像データのみに基づいて求められたConsistencyとの加重平均と等しいことから、Consistencyは、対象モデルの正解率のバイアスを受けることが分かる。これに対し、第1の実施形態に係るモデル評価装置1は、グループ評価値の重みをかけない平均値をモデル評価値として求めるため、正解率のバイアスを受けない。つまり、第1の実施形態に係るモデル評価装置1は、Consistencyのような従来の評価方法に対して特定の改善を提供するものであり、学習済みモデルの性能評価に係る技術分野の向上を示すものである。
【0034】
〈第2の実施形態〉
第1の実施形態に係るモデル評価装置1は、テスト画像から2つのシフト画像データを生成することで、画像データ対を生成する。これに対し、第2の実施形態に係るモデル評価装置1は、テスト画像から1つのシフト画像データを生成し、当該テスト画像とシフト画像データからなる画像データ対を用いて、対象モデルを評価する。つまり、第2の実施形態に係るモデル評価値は、対象モデルが加工前の画像と加工後の画像とから同じ特徴を捉えられている程度を表すといえる。第2の実施形態に係るモデル評価装置1の構成は、第1の実施形態と同様である。
【0035】
《モデル評価装置1の動作》
図6は、第2の実施形態に係るモデル評価装置1の動作を示すフローチャートである。
ユーザは、モデル評価装置1に対象モデルを評価させるために、モデル評価装置1に対象モデルを入力する。これにより、モデル評価装置1は対象モデルの評価処理を開始する。モデル評価装置1は、評価処理を開始すると、メインメモリのうち評価処理に用いる記憶領域を初期化する。モデル評価装置1のモデル入力部11は、対象モデルの入力を受け付ける(ステップS101)。モデル入力部11は、入力された対象モデルをモデル記憶部12に記録する(ステップS102)。次に、モデル評価装置1は、データセット記憶部13が記憶するデータセットを1つずつ選択し(ステップS103)、各データセットについてステップS104からステップS111の処理を実行する。
【0036】
シフト画像生成部14は、ステップS103で選択されたデータセットに係るテスト画像から、1つのシフト画像データを生成する(ステップS104)。そして、シフト画像生成部14は、ステップS3で選択したデータセットに係るテスト画像と、生成したシフト画像データとの対を、画像データ対とする。
【0037】
次に、識別部15は、ステップS103で選択されたテスト画像をモデル記憶部12が記憶する対象モデルに入力することで、テスト画像の特徴ベクトルである第1特徴ベクトルを生成する(ステップS105)。また、識別部15は、ステップS104で生成されたシフト画像データをモデル記憶部12が記憶する対象モデルに入力することで、シフト画像データの特徴ベクトルである第2特徴ベクトルを生成する(ステップS106)。信号対評価部17は、ステップS105で算出された第1特徴ベクトルとステップS106で算出された第2特徴ベクトルとの距離を、信号対評価値として算出する(ステップS107)。
【0038】
識別部15は、ステップS105で生成された第1特徴ベクトルに基づいてテスト画像が属するクラスを識別する(ステップS108)。分類部16は、ステップS103で選択されたデータセットに係る正解ラベルが示すクラスとステップS108で識別されたクラスとが一致するか否かを判定する(ステップS109)。すなわち、分類部16は、識別モデルによるテスト画像の識別が成功したか否かを判定する。
【0039】
テスト画像の識別が成功した場合(ステップS109:YES)、グループ評価部18は、メインメモリの評価処理のために確保された記憶領域のうち、正解グループに係る信号対評価値を記録する領域に、ステップS107で算出した信号対評価値を記録する(ステップS110)。
他方、テスト画像の識別が失敗した場合(ステップS109:NO)、グループ評価部18は、メインメモリの評価処理のために確保された記憶領域のうち、不正解グループに係る信号対評価値を記録する領域に、ステップS107で算出した信号対評価値を記録する(ステップS111)。
【0040】
データセット記憶部13が記憶するすべてのデータセットについてステップS104からステップS111の処理が実行されると、グループ評価部18は、正解グループに係る信号対評価値の平均値を正解グループのグループ評価値として算出し、不正解グループに係る信号対評価値の平均値を不正解グループのグループ評価値として算出する(ステップS112)。モデル評価部19は、グループ評価部18が算出したグループ評価値の平均値を、対象モデルのモデル評価値として算出する(ステップS113)。そして、出力部20は、算出されたモデル評価値を出力する(ステップS114)。
【0041】
このように、第2の実施形態に係るモデル評価装置1は、第1の実施形態に係るモデル評価装置1と同様に、対象モデルの識別精度などのシフト不変性に直接的な関係が無い指標によって対象モデルの評価値がバイアスされることを防ぐことができる。
また、第2の実施形態のように、画像データ対の一方を加工前の画像とすることで、画像データ対を構成する2つの画像データ間のシフト量が過大となり、2つの画像データの性質が大きく異なってしまうことを防ぐことができる。
【0042】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
上述した実施形態に係るモデル評価装置1は、単独のコンピュータによって構成されるものであってもよいし、モデル評価装置1の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することでモデル評価装置1として機能するものであってもよい。
【0043】
上述した実施形態に係るモデル評価装置1の分類部16は、画像データを正解グループと不正解グループとに分類するが、これに限られない。例えば、他の実施形態に係る分類部16は、画像データを認識されたクラス別のグループに分類するなど、画像データを、対象モデルの出力に基づく他のグループに分類してもよい。また例えば、画像データに写る被写体の写り方や被写体が人工物であるか否かなど、画像データをその特徴に基づいて分類してもよい。また例えば、他の実施形態に係る分類部16は、複数のモデルによる識別結果の多数決により画像データを正解グループと不正解グループとに分類してもよい。また例えば、他の実施形態に係る分類部16は、テスト画像と非シフト画像とで識別されるクラスが変化したか否かによって画像データを分類してもよい。
【0044】
上述した実施形態に係るモデル評価装置1の信号対評価部17は、対象モデルが出力するベクトル同士の距離を、信号対評価値として求めるが、これに限られない。例えば、他の実施形態に係る信号対評価部17は、対象モデルの中間層から得られるベクトル同士の距離を信号対評価値として求めてもよい。なお、対象モデルの中間層から得られるベクトルも、画像データの特徴を表す特徴ベクトルといえる。また他の実施形態に係る信号対評価部17は、Consistencyのように対象モデルによるクラスの識別が正解であるか否かを示すものであってもよい。なお、第1の実施形態に係るモデル評価装置1のように、特徴ベクトルの距離を求めることで、対象モデルが捉えた画像データの特徴全体を比較することで、シフトに対する分布の連続的な変化を捉えることができる。
【0045】
上述した実施形態に係るモデル評価装置1のシフト画像生成部14は、画像データを平行移動させることでシフト画像データを生成するが、これに限られない。例えば、他の実施形態に係るモデル評価装置1は、さらに拡大率の変更や回転を加えることでシフト画像データを生成してもよい。拡大率の違い、回転角度の違いは、信号間のずれの一例である。
【0046】
上述した実施形態に係るモデル評価装置1のモデル評価部19は、各グループのグループ評価値の平均値を求めることでモデル評価値を算出するが、これに限られない。例えば、他の実施形態に係るモデル評価部19は、正解グループのグループ評価値をモデル評価値として算出してもよい。これは、対象モデルが少なくとも正解データに対してシフト不変性が要求される場合などにおける評価値として用いることができる。また他の実施形態に係るモデル評価部19は、グループ評価値の調和平均など他の代表値をモデル評価値として求めてもよい。
【0047】
上述した実施形態に係るモデル評価装置1は、画像データを識別する学習済みモデルを対象モデルとするが、これに限られない。例えば、他の実施形態に係るモデル評価装置1は、音声データ、動画像データ、時系列データなど他の信号を入力とする学習済みモデルを対象モデルとしてもよい。
また他の実施形態に係る対象モデルは、CNN以外の機械学習モデルに係るモデルであってもよい。例えば、他の実施形態に係る対象モデルはCNNでないニューラルネットワークモデルであってもよいし、ブースティングやバギングによるモデルであってもよい。
【0048】
上述した実施形態に係るモデル評価装置1は、モデル記憶部12に対象モデルを記憶し、当該対象モデルを用いた演算を行うが、これに限られない。例えば、他の実施形態に係るモデル評価装置1は、以下の手順でモデル評価値を算出してもよい。モデル評価装置1は、シフト画像対を対象モデルに入力して得られる特徴ベクトルのペアからなる評価用セットを、対象モデルによるシフト画像対の識別結果に基づいて2以上に分割したサブセットの入力を受け付ける。モデル評価装置1は、入力されたサブセットごとに画像対評価値の算出を行ってその結果を統合することで、モデル評価値を算出する。
【0049】
〈コンピュータ構成〉
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ92、メインメモリ94、ストレージ96、インタフェース98を備える。
上述のモデル評価装置1は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ96に記憶されている。プロセッサ92は、プログラムをストレージ96から読み出してメインメモリ94に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ92は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ94に確保する。プロセッサ92の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0050】
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ90は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ92によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
【0051】
ストレージ96の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ96は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース98または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ94に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ96は、一時的でない有形の記憶媒体である。
【0052】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ96に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0053】
〈付記〉
以上の実施形態は、例えば以下の付記のように表されてもよい。
【0054】
《付記1》
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、前記テスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得し、
各テスト信号の特徴に応じたグループ別に、前記評価値の代表値を算出し、
前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出する
を備えるモデル評価装置。
【0055】
《付記2》
一時的でない有形の記憶媒体であって、
コンピュータに、
入力された信号に基づいて前記信号の特徴を表す特徴ベクトルを出力する学習済みモデルに、前記テスト信号から生成された互いにずれを有する信号対をそれぞれ入力することで得られる、前記信号対それぞれの特徴ベクトルの相違の大きさを評価する評価値を取得するステップと、
各テスト信号の特徴に応じたグループ別に、前記評価値の代表値を算出するステップと、
前記グループ別の評価値の代表値に基づいて、前記学習済みモデルの評価値を算出するステップと
を実行させるコンピュータプログラムを記憶した記憶媒体。
【符号の説明】
【0056】
1…モデル評価装置 11…モデル入力部 12…モデル記憶部 13…データセット記憶部 14…シフト画像生成部 15…識別部 16…分類部 17…信号対評価部 18…グループ評価部 19…モデル評価部 20…出力部 90…コンピュータ 92…プロセッサ 94…メインメモリ 96…ストレージ 98…インタフェース