[構成の説明]
実施形態1.
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明によるパターン認識装置の第1の実施形態の構成例を示すブロック図である。
図1に示すように、パターン認識装置100は、ニューラルネットワーク型識別器101と、第1学習データ記憶手段102と、第2学習データ記憶手段103と、学習手段104とを備える。
上述したように、ファインチューニング用の学習データとして、画像データ以外にニューラルネットワーク型識別器の複数の中間層からの各出力がそれぞれ記録された複数の特徴量データが存在する場合、識別性能と特徴量データの再利用可能性との間にトレードオフの関係がある。
ニューラルネットワーク型識別器の識別性能、および特徴量データの再利用可能性は、ファインチューニングの対象の層の範囲と関連する。本実施形態のパターン認識装置100は、画像データと特徴量データ、または複数種類の特徴量データが学習データとして与えられている場合、ファインチューニング後の識別性能と学習データの再利用可能性の両方を考慮してファインチューニングの対象の層の範囲を決定する。
ニューラルネットワーク型識別器101は、ニューラルネットワークを用いてパターン認識処理を行う識別器である。
ニューラルネットワークは、例えば局所領域内でコンボリューションが行われるコンボリューション層、局所領域内で指定された性質の値が抽出されるプーリング層、およびニューロンが前段の層内の全てのニューロンと結合された全結合層等が層状に結合されたネットワークである。
本実施形態のニューラルネットワーク型識別器101は、例えば図11に示すニューラルネットワーク型識別器である。また、ニューラルネットワーク型識別器101は、ResNet、GoogleNet 、またはMobileNet 等でもよい。
第1学習データ記憶手段102は、第1学習データを記憶する機能を有する。第1学習データには、例えば、学習用の画像データがニューラルネットワーク型識別器101に入力された際に1つの層から出力される特徴量データと、入力された学習用の画像データに対応する正解クラスと、特徴量データが出力された層の識別情報とが含まれる。
本実施形態の第1学習データは、ニューラルネットワーク型識別器101により事前に生成されている。例えば、図11に示すニューラルネットワーク型識別器の入力層に学習用の画像データが入力された際、中間層L3の有効な状態(発火)のニューロンの値がサンプリングされて特徴量データが生成される。ニューラルネットワーク型識別器101は、生成された特徴量データを基に第1学習データを生成する。
次いで、第1学習データ記憶手段102には、生成された特徴量データと、入力された学習用の画像データに対応する正解クラスを示す情報と、中間層L3を示す情報とを含む第1学習データが保存される。予め定められた層が入力層であれば、特徴量データの保存は、入力された学習用の画像データの保存と等価になる。
第2学習データ記憶手段103は、第2学習データを記憶する機能を有する。第2学習データには、例えば、第1学習データに含まれる特徴量データの生成元である学習用の画像データと異なる画像データがニューラルネットワーク型識別器101に入力された際に出力される特徴量データが含まれる。含まれる特徴量データは、第1学習データに含まれる特徴量データが出力された1つの層と異なる1つの層から出力されるデータである。
また、第2学習データには、入力された画像データに対応する正解クラスと、特徴量データが出力された層の識別情報とが、特徴量データと共に含まれる。
第2学習データは、第1学習データと同一構造のデータである。上記のように、第2学習データは、第1学習データに含まれる特徴量データがサンプリングされた層と別の層からサンプリングされた特徴量データを含む。
また、第1学習データ記憶手段102に記憶されている第1学習データの生成に利用された学習用の画像データは、第2学習データ記憶手段103に記憶されている第2学習データの生成に利用された学習用の画像データと異なる。なお、共通の学習用の画像データを基にそれぞれ生成された第1学習データおよび第2学習データが、各記憶手段に記憶されていてもよい。
学習手段104は、第1学習データと第2学習データとを両方用いて、ニューラルネットワーク型識別器101に対してファインチューニングを実行する機能を有する。以下、学習手段104によるファインチューニングの実行方法をいくつか示す。
例えば、図11に示す中間層L1から特徴量データF1、中間層L2から特徴量データF2がそれぞれ抽出されたとする。特徴量データF1は第1学習データに、特徴量データF2は第2学習データにそれぞれ含まれている。学習手段104は、第1学習データと第2学習データとを両方用いて、中間層L1よりも上位の層のみに対してファインチューニングを実行してもよい。
中間層L1よりも上位の層のみに対してファインチューニングを実行する際、学習手段104は、特徴量データF1を中間層L1へ、特徴量データF2を中間層L2へそれぞれ入力する。学習手段104は、例えば、入力層に画像データが入力された場合と同様に、出力層からの出力と正解ラベルとの二乗和を誤差関数として、バックプロパゲーションで誤差関数の値を減少させるようにネットワークの重みパラメータを修正する。
学習手段104は、バックプロパゲーションにおける誤差の逆伝搬を中間層L1で止める。上記の方法によれば、ファインチューニングで重みパラメータが修正される層は、中間層L1よりも上位の層に限られる。しかし、特徴量データF1および特徴量データF2は、ファインチューニングが実行された後のニューラルネットワーク型識別器101においても使用可能なデータになる。
また、学習手段104は、上記の方法で中間層L1よりも上位の層のみを学習した後、特徴量データF2を用いて中間層L2よりも上位の層を学習するという2段階でファインチューニングを実行してもよい。
2段階でファインチューニングを実行する方法によれば、学習手段104は、ニューラルネットワーク型識別器101の、より下位の中間層L2まで学習データに適合させることができる。
ただし、一度中間層L2以上の層の重みパラメータが修正されると、中間層L2よりも上位の層からサンプリングされた特徴量データ(本例では特徴量データF1)が、ニューラルネットワーク型識別器101で使用不可能になる。学習データの削減を回避する要請がある場合、本方法は、要請にそぐわない。
第1学習データと第2学習データとを利用してニューラルネットワーク型識別器101に対してファインチューニングを実行する際、学習手段104は、上記のような検討を行った上でファインチューニングの実行対象の層の範囲を決定する。
上記の例であれば、学習手段104は、特徴量データF1と特徴量データF2とを用いて中間層L1よりも上位の層のみを学習するか、さらに特徴量データF2のみを用いて中間層L2まで学習するかを、それぞれの識別性能、および学習データの減少量を考慮して決定する。
上記の識別性能は、学習手段104がファインチューニングを実行する前に予測可能な値である。ニューラルネットワーク型識別器101に対するファインチューニングの実行対象の層の範囲を決定した後、学習手段104は、ニューラルネットワーク型識別器101の決定された範囲に対してファインチューニングを実行する。
例えば、学習手段104は、以下の計算式で算出されるスコアのうち最大のスコアが算出される範囲を、ファインチューニングの実行対象の層の範囲に決定してもよい。
(スコア)=(識別性能)-α×(学習データの減少量)・・・式(1)
ただし、式(1)における定数αは、識別性能の次元と学習データの減少量の次元とを揃えるための定数である。
また、学習手段104は、第1学習データと第2学習データとを利用して学習を行う。例えば、第1学習データは、学習用の画像データがニューラルネットワーク型識別器101に入力された際に予め定められた層から出力された特徴量データと、入力された学習用の画像データに対応する正解クラスと、特徴量データが出力された層の識別情報との組を含む。
本実施形態の第1学習データに含まれる特徴量データと第2学習データに含まれる特徴量データは、基本的に同一の画像データを基に生成されたデータではない。よって、本実施形態の学習手段104は、同一の画像データに対する複数種類の特徴量データを生成し、生成された特徴量データを結合した上で識別器の学習を行う一般的な学習手段と異なる。
また、本実施形態の学習手段104は、異なる2つの層からそれぞれ抽出された特徴量データを用いる。しかし、学習手段104は、より多くの層からそれぞれ抽出された特徴量データを併せて学習に用いてもよい。
なお、通常教師情報は、最上位層である出力層からの理想的な出力値として与えられる。学習手段104は、ニューラルネットワーク型識別器101の出力層からの出力値と、理想的な出力値との誤差を最小化するように、上位層側から層間のネットワークの重みパラメータを更新する。
すなわち、学習手段104は、残差が1層ずつ下位の層に伝搬されていく手順でファインチューニングを実行する。よって、本実施形態の学習手段104は、中間の層のみに対するファインチューニングを実行しない。
[動作の説明]
以下、本実施形態のパターン認識装置100のファインチューニングを実行する動作を図2を参照して説明する。図2は、第1の実施形態のパターン認識装置100によるファインチューニング実行処理の動作を示すフローチャートである。
最初に、学習用の画像データが、ニューラルネットワーク型識別器101に入力される。次いで、ニューラルネットワーク型識別器101の予め定められた1つの層から、特徴量データが出力される。
次いで、ニューラルネットワーク型識別器101は、出力された特徴量データ、入力された学習用の画像データに対応する正解カテゴリを示す情報、および第何層目であるか等の特徴量データが出力された層の位置を示す情報を含む第1学習データを生成する(ステップS101)。ニューラルネットワーク型識別器101は、生成された第1学習データを第1学習データ記憶手段102に保存する。
次いで、ステップS101で入力された学習用の画像データと異なる学習用の画像データが、ニューラルネットワーク型識別器101に入力される。次いで、ニューラルネットワーク型識別器101の第1学習データに関して予め定められた層と異なる層から特徴量データが出力される。
次いで、ニューラルネットワーク型識別器101は、出力された特徴量データ、入力された学習用の画像データに対応する正解カテゴリを示す情報、および第何層目であるか等の特徴量データが出力された層の位置を示す情報を含む第2学習データを生成する(ステップS102)。ニューラルネットワーク型識別器101は、生成された第2学習データを第2学習データ記憶手段103に保存する。
次いで、学習手段104は、ニューラルネットワーク型識別器101に対するファインチューニングの実行対象の層の範囲を決定する(ステップS103)。学習手段104は、第1学習データ記憶手段102に保存されている第1学習データ、および第2学習データ記憶手段103に保存されている第2学習データの両方を利用して決定する。
具体的には、学習手段104は、第1学習データと第2学習データとを用いて予め定められた層よりも上位の層のみを学習するか、さらに第2学習データのみを用いてより下位の層まで学習するかを、それぞれの学習後の識別性能、および学習データの減少量を考慮して決定する。
例えば、学習手段104は、学習後の識別性能を予測し、予測された識別性能を基に式(1)のスコアを算出する。学習手段104は、算出された式(1)のスコアを基に実行対象の層の範囲を決定する。
決定した後、学習手段104は、ニューラルネットワーク型識別器101の決定された範囲に対してファインチューニングを実行する(ステップS104)。ファインチューニングを実行した後、パターン認識装置100は、ファインチューニング実行処理を終了する。
[効果の説明]
本実施形態のパターン認識装置100は、ネットワーク構造で表現されるニューラルネットワーク型識別器101を備える。また、パターン認識装置100は、第1学習データを記憶する第1学習データ記憶手段102と、第2学習データを記憶する第2学習データ記憶手段103とを備える。
第1学習データは、学習用の画像データがニューラルネットワーク型識別器101に入力された際に1つの層から出力される特徴量データと、入力された学習用の画像データに対応する正解クラスと、特徴量データを出力する層の識別情報とを含む。
第2学習データは、第1学習データの生成に使用された学習用の画像データと異なる画像データがニューラルネットワーク型識別器101に入力された際に、第1学習データに含まれる特徴量データを出力した1つの層と異なる層から出力される特徴量データを含む。また、第2学習データは、入力された学習用の画像データに対応する正解クラスと、特徴量データを出力する層の識別情報とを含む。
また、パターン認識装置100は、第1学習データと第2学習データの両方を用いて、ニューラルネットワーク型識別器101に対してファインチューニングを実行する学習手段104を備える。
本実施形態のパターン認識装置100は、ファインチューニングで重みパラメータが修正される層の最適な範囲を決定できる。その理由は、学習手段104がファインチューニング後の識別性能と学習データの再利用可能性の2つの観点でファインチューニングの結果を表す指標を算出し、算出された指標に基づいて最適な学習範囲を選択するためである。
実施形態2.
[構成の説明]
次に、本発明によるパターン認識装置の第2の実施形態を、図面を参照して説明する。図3は、本発明によるパターン認識装置の第2の実施形態の構成例を示すブロック図である。
図3に示すように、パターン認識装置200は、ニューラルネットワーク型識別器201と、学習データ記憶手段202と、学習手段203と、学習データ選択手段204と、再学習範囲決定手段205と、評価手段206と、再学習結果記憶手段207と、再学習結果選択手段208とを備える。
ニューラルネットワーク型識別器201は、ニューラルネットワークを用いてパターン認識処理を行う識別器である。ニューラルネットワーク型識別器201が有する機能は、第1の実施形態のニューラルネットワーク型識別器101が有する機能と同様である。
学習データ記憶手段202は、学習用の画像データと、ニューラルネットワーク型識別器201の中間層から出力された特徴量データとを含む学習データを記憶する機能を有する。記憶されている学習データには、第1の実施形態の第1学習データと、第2学習データとが含まれる。なお、学習データには、画像データ、または特徴量データのうちのいずれか1つのみが含まれていてもよい。
学習手段203は、学習データ記憶手段202に記憶されている学習データを用いて、ニューラルネットワーク型識別器201に対してファインチューニングを実行する機能を有する。学習手段203が有する機能は、第1の実施形態の学習手段104が有する機能と同様である。
学習データ選択手段204は、学習データ記憶手段202に記憶されている学習データの中から、ファインチューニングの実行対象の層よりも下位の層から抽出された特徴量データを含む学習データを選択する機能を有する。
再学習範囲決定手段205は、ファインチューニングの実行対象の層の範囲(再学習範囲)の候補を1通り以上決定する機能を有する。再学習範囲決定手段205は、ニューラルネットワーク型識別器201を構成する層の中からファインチューニングの実行対象の層の範囲の候補を1通り、または複数通り決定する。
例えば、再学習範囲決定手段205は、図11に示すニューラルネットワーク型識別器に対してファインチューニングの実行対象の層の範囲の候補を「第L1層よりも上位の層」、「第L2層よりも上位の層」、「第L3層よりも上位の層」と3通り決定する。再学習範囲決定手段205は、決定されたファインチューニングの実行対象の層の範囲の候補を示す情報を出力する。
学習データ選択手段204は、再学習範囲決定手段205が決定したファインチューニングの実行対象の層の範囲の候補を示す1つの情報に着目する。次いで、学習データ選択手段204は、学習データ記憶手段202に記憶されている学習データのうち、ファインチューニングの実行対象の層の範囲の候補以外から得られた学習データのみ選択する。
学習データ選択手段204が選択した学習データは、継続して利用可能なデータである。一般的に、継続して利用可能なデータは、多い方が好ましいと考えられる。以下、学習データ選択手段204の具体的な選択方法を、図4を参照して説明する。図4は、学習データ記憶手段202に記憶されている学習データの例を示す説明図である。
図4は、学習データのデータ名と、データの内容とを併せて示す。データの内容は、学習データが画像データ、または特徴量データのいずれかを含むことを示す。学習データが特徴量データを含む場合、データの内容は、特徴量データが抽出されたニューラルネットワーク型識別器201の層も示す。
図4は、学習データAおよび学習データBが画像データを含むことを示す。また、図4は、学習データCおよび学習データDが中間層L3から抽出された特徴量データを含むことを示す。
また、図4は、学習データEおよび学習データFが中間層L2から抽出された特徴量データを含むことを示す。また、図4は、学習データGおよび学習データHが中間層L1から抽出された特徴量データを含むことを示す。
例えば、入力層が含まれる全ての層を再学習範囲決定手段205がファインチューニングの実行対象の範囲の候補に決定した場合、学習データ選択手段204は、学習データAおよび学習データBをファインチューニングに用いる学習データに選択する。
また、中間層L3以上の層を再学習範囲決定手段205がファインチューニングの実行対象の範囲の候補に決定した場合、学習データ選択手段204は、学習データA、学習データB、学習データC、および学習データDをファインチューニングに用いる学習データに選択する。
図5は、ファインチューニングの実行対象の層の範囲と学習データ量との関係の例を示す説明図である。図5に示すように、一般的にファインチューニングの実行対象の層の範囲が狭いほど、学習に用いられる学習データ量、およびファインチューニング後に再利用可能な学習データ量は増える。
なお、図5は、学習に利用される学習データ量、および再利用可能な学習データ量の変化を定性的に示す。ファインチューニングの実行対象の層の範囲と、学習に利用される学習データ量、およびファインチューニング後に再利用可能な学習データ量との関係は、必ずしも図5に示すように線形関数で表されるわけではない。両者の関係は、学習データ量に含まれる画像データの量、および各層からサンプリングされた特徴量データの量の割合に依存する。
評価手段206は、ファインチューニングが実行された後のニューラルネットワーク型識別器201の識別性能を評価する機能を有する。
評価手段206は、学習手段203により更新されたニューラルネットワーク型識別器201を用いて、例えば評価データに対するニューラルネットワーク型識別器201の識別性能を求める。識別性能は、例えば正認識率と誤認識率とで表現されてもよい。
再学習結果記憶手段207は、ファインチューニングが実行された後のニューラルネットワーク型識別器201の重みパラメータを示す情報を一時的に記憶する機能を有する。
再学習結果記憶手段207は、学習手段203により更新されたニューラルネットワーク型識別器201のネットワークの重みパラメータを示す情報を記憶する。また、再学習結果記憶手段207は、評価手段206で求められた識別性能、ファインチューニングの実行対象の層の範囲の候補を示す情報、および学習データ選択手段204が選択した学習データ数を、重みパラメータを示す情報と共に記憶する。
再学習結果選択手段208は、評価手段206により評価された識別性能と、ファインチューニングが実行された後も利用可能な学習データ量とに基づいて、再学習結果(ファインチューニングの結果)を選択する機能を有する。再学習結果選択手段208は、識別性能と利用可能な学習データ量とが考慮された統一的な指標に基づいて、最適な再学習結果を選択できる。
すなわち、再学習結果選択手段208は、最良のニューラルネットワーク型識別器201を選出する。具体的には、再学習結果選択手段208は、再学習結果記憶手段207に記憶されているファインチューニングの実行対象の層の範囲の候補毎の識別性能、および学習データ選択手段204が選択した学習データ数に基づいて選出する。
最良のニューラルネットワーク型識別器201の選択基準として、例えば以下に示す基準が考えられる。
例えば、識別性能の許容範囲が既知である場合、再学習結果選択手段208は、識別性能が許容範囲内である再学習結果の中から、最もファインチューニングの実行対象の層の数が少ない再学習結果を選べばよい。上記の基準で再学習結果を選ぶことによって、再学習結果選択手段208は、再利用可能な学習データ量を最大にできる。
また、再学習結果選択手段208は、再利用可能な学習データ量の減少による負の影響が与えられた識別性能を表すスコアを、例えば以下のように計算してもよい。
(スコア)=(識別性能)-α×(学習データの減少量)・・・式(2)
ただし、式(2)における定数αは、識別性能の次元と学習データの減少量の次元とを揃えるための定数である。再学習結果選択手段208は、最大のスコアを与える再学習結果に対応するニューラルネットワーク型識別器201を選択してもよい。
また、再利用可能な学習データ量を最大にする場合、再学習結果選択手段208は、最もファインチューニングの実行対象の層の数が少ないニューラルネットワーク型識別器201を選択すればよい。再利用可能な学習データ量を最大にするという基準が当初から明確である場合、再学習範囲決定手段205は、基準に対応する層の範囲のみを示す情報を出力すればよい。
本実施形態では、識別問題を題材としてパターン認識処理を行うためのニューラルネットワーク型識別器がニューラルネットワーク型識別器201として用いられる例を説明した。しかし、ニューラルネットワーク型識別器201は、識別問題以外の問題を解決するためのネットワーク型識別器でもよい。
例えば、オブジェクト検知を行うように学習されたネットワーク型識別器や、数値を予測するために回帰問題が学習されたネットワーク型識別器が、ニューラルネットワーク型識別器201でもよい。
ニューラルネットワーク型識別器201が識別問題以外の問題を解決するためのネットワーク型識別器である場合、評価手段206が有する機能と再学習結果選択手段208が有する機能のみ変更される。
ニューラルネットワーク型識別器201がオブジェクト検知を行うように学習されたネットワーク型識別器である場合、評価手段206は、mAP(mean Average Precision) で検知性能を表してもよいし、誤検知率と検知率とで検知性能を表してもよい。
誤検知率と検知率とで検知性能を表す場合、評価手段206は、誤検知率および検知率の2次元の指標を検知性能という1次元の指標に変換するために、例えば検知率と誤検知率にそれぞれ重みを付けた上で検知率と誤検知率を加算してもよい。
評価手段206は、例えば誤検知率に付けられる重みを負の値にするか、検知率に付けられる重みの絶対値よりも誤検知率に付けられる重みの絶対値を大きくすれば、誤検知に対するペナルティをより大きく勘案できる。
また、検知性能の許容範囲が既知である場合、再学習結果選択手段208は、検知性能が許容範囲内である再学習結果の中から、最もファインチューニングの実行対象の層の数が少ない再学習結果を選べばよい。上記の基準で再学習結果を選ぶことによって、再学習結果選択手段208は、再利用可能な学習データ量を最大にできる。
また、再学習結果選択手段208は、再利用可能な学習データ量の減少による負の影響が与えられた検知性能を表すスコアを、例えば以下のように計算してもよい。
(スコア)=(検知性能)-β×(学習データの減少量)・・・式(3)
ただし、式(3)における定数βは、検知性能の次元と学習データの減少量の次元とを揃えるための定数である。再学習結果選択手段208は、最大のスコアを与える再学習結果に対応するニューラルネットワーク型識別器201を選択してもよい。
また、再利用可能な学習データ量を最大にする場合、再学習結果選択手段208は、最もファインチューニングの実行対象の層の数が少ないニューラルネットワーク型識別器201を選択すればよい。再利用可能な学習データ量を最大にするという基準が当初から明確である場合、再学習範囲決定手段205は、基準に対応する層の範囲のみを示す情報を出力すればよい。
また、ニューラルネットワーク型識別器201が回帰問題が学習されたネットワーク型識別器である場合、評価手段206は、例えば予測された数値と真値との二乗誤差の逆数等を検知性能の性能値として求めればよい。
なお、上記の説明では、再学習結果選択手段208が識別性能の値や検知性能の値からスコアを算出する式の例として、一次式を示した。しかし、統計的な関係性を高精度に表現することが求められる場合、再学習結果選択手段208は、スコアを算出する式として一次式の代わりに、より高次の計算式を用いてもよい。また、再学習結果選択手段208は、特定のモデル式に基づいてスコアを計算してもよい。
[動作の説明]
以下、本実施形態のパターン認識装置200のファインチューニングを実行する動作を図6を参照して説明する。図6は、第2の実施形態のパターン認識装置200によるファインチューニング実行処理の動作を示すフローチャートである。
最初に、再学習範囲決定手段205が、ニューラルネットワーク型識別器201に対するファインチューニングの実行対象の層の範囲の候補を決定する(ステップS201)。再学習範囲決定手段205は、決定されたファインチューニングの実行対象の層の範囲の候補を学習データ選択手段204に入力する。
次いで、学習データ選択手段204が、ステップS201で入力された各ファインチューニングの実行対象の層の範囲の候補のうち、1つの範囲の候補に着目する。すなわち、再学習ループに入る(ステップS202)。
学習データ選択手段204は、着目されたファインチューニングの実行対象の層の範囲の候補に対してファインチューニングを実行するために求められる学習データを、学習データ記憶手段202に記憶されている学習データの中から選択する(ステップS203)。学習データ選択手段204は、選択された学習データを学習手段203に入力する。
次いで、学習手段203は、ステップS203で選択された学習データを用いて、ニューラルネットワーク型識別器201に対してファインチューニングを実行する(ステップS204)。
次いで、評価手段206は、ステップS204で更新されたニューラルネットワーク型識別器201を用いて、評価データに対するニューラルネットワーク型識別器201の識別性能を評価する(ステップS205)。
次いで、評価手段206は、ステップS205で評価された識別性能を再学習結果記憶手段207に再学習結果として格納する(ステップS206)。
また、学習手段203は、ステップS204で更新されたニューラルネットワーク型識別器201の重みパラメータを示す情報、およびファインチューニングの実行対象の層の範囲の候補を示す情報を、再学習結果記憶手段207に格納されている再学習結果に含める。また、学習データ選択手段204は、選択された学習データ数を、再学習結果記憶手段207に格納されている再学習結果に含める。
パターン認識装置200は、ステップS201で決定された各ファインチューニングの実行対象の層の範囲の候補全てに対してファインチューニングが実行されるまでの間、ステップS203~ステップS206の処理を繰り返し実行する。各ファインチューニングの実行対象の層の範囲の候補全てに対してファインチューニングが実行された時、パターン認識装置200は、再学習ループを抜ける(ステップS207)。
次いで、再学習結果選択手段208は、再学習結果記憶手段207に格納されている再学習結果のうち最適な再学習結果を選択する(ステップS208)。最適な再学習結果を選択した後、パターン認識装置200は、ファインチューニング実行処理を終了する。
以下、本実施形態の他の例を、図7を参照して説明する。上記の例のパターン認識装置200は、1種類のニューラルネットワーク型識別器201のみ備える。
すなわち、中間層から抽出された特徴量データは、1種類のニューラルネットワーク型識別器に関する特徴量データのみである。換言すると、特徴量データが抽出されたニューラルネットワーク型識別器は、予め1種類に特定された。
しかし、本実施形態の学習データ記憶手段202には、複数のニューラルネットワーク型識別器からそれぞれ抽出された各特徴量データが、混在して記憶されてもよい。すなわち、パターン認識装置200は、複数種類のニューラルネットワーク型識別器を備えてもよい。パターン認識装置200が複数種類のニューラルネットワーク型識別器を備える場合、各ニューラルネットワーク型識別器は、ネットワーク識別情報をそれぞれ有する。
本変形例では、ニューラルネットワーク型識別器が、ネットワーク識別情報をさらに具備する。ネットワーク識別情報は、各ネットワークのモデル、および各ネットワーク係数を区別可能な情報である。
すなわち、例えば同じネットワーク構造のニューラルネットワーク型識別器同士であっても各ネットワーク係数が異なる場合、各ニューラルネットワーク型識別器には、それぞれ異なるネットワーク識別情報が割り当てられる。
ネットワーク識別情報は、単一の数値、または文字列で表現されてもよい。また、ネットワーク識別情報は、層数、各層の種類、フィルタサイズ、フィルタ係数、ストライド幅、活性化関数等が所定の規則に従って1列の数値列として展開された情報でもよい。
各層の種類は、コンボリューション層、プーリング層、フルコネクト層、softmax 層等である。また、フィルタサイズ等の層に関する各情報は、層毎に列挙されてもよい。
また、学習データ記憶手段202に記憶されている学習データでは、ニューラルネットワーク型識別器を識別できるネットワーク識別情報と、学習データに含まれる特徴量データが抽出されたニューラルネットワーク型識別器の層の位置を示す情報とが対応付けられている。
具体的には、学習データ記憶手段202に記憶されている画像データと特徴量データのうち特徴量データに関して、特徴量データが抽出されたニューラルネットワーク型識別器のネットワーク識別情報と、特徴量データが抽出された層の位置を示す情報との組が記憶される。
また、1つの特徴量データは、複数のニューラルネットワーク型識別器と対応付けられてもよい。例えば全体の構造が異なるが、入力層から第N層までのネットワーク構造およびネットワークの重みパラメータが共通しているニューラルネットワーク型識別器Aとニューラルネットワーク型識別器Bを、パターン認識装置200が備えているとする。
ニューラルネットワーク型識別器Aの第N層から抽出された特徴量データが学習データ記憶手段202に記憶されている場合、記憶されている特徴量データには、ニューラルネットワーク型識別器Bの第N層から抽出された特徴量データであることを示す情報も追記される。情報が追記された特徴量データは、異なるファインチューニングに渡って使用される。
図7は、学習データ記憶手段202に記憶されている学習データの他の例を示す説明図である。図7は、学習データのデータ名と、データの内容とを併せて示す。
データの内容は、学習データが画像データ、または特徴量データのいずれかを含むことを示す。学習データが特徴量データを含む場合、データの内容は、特徴量データが抽出されたニューラルネットワーク型識別器のネットワーク識別情報と、特徴量データが抽出された層も示す。
図7は、学習データAおよび学習データBが画像データを含むことを示す。また、図7は、学習データCおよび学習データDが、ネットワーク識別情報N1で識別されるネットワーク型識別器の中間層L3から抽出された特徴量データを含むことを示す。
同様に、学習データCおよび学習データDは、ネットワーク識別情報N2で識別されるネットワーク型識別器の中間層L3から抽出された特徴量データ、およびネットワーク識別情報N3で識別されるネットワーク型識別器の中間層L3から抽出された特徴量データを含む。
すなわち、ネットワーク識別情報N1で識別されるネットワーク型識別器の構造、ネットワーク識別情報N2で識別されるネットワーク型識別器の構造、およびネットワーク識別情報N3で識別されるネットワーク型識別器の構造は、入力層から中間層L3まで共通である。
また、図7は、学習データEおよび学習データFが、ネットワーク識別情報N1で識別されるネットワーク型識別器の中間層L2から抽出された特徴量データ、およびネットワーク識別情報N2で識別されるネットワーク型識別器の中間層L2から抽出された特徴量データを含むことを示す。
すなわち、ネットワーク識別情報N1で識別されるネットワーク型識別器の構造とネットワーク識別情報N2で識別されるネットワーク型識別器の構造は、入力層から中間層L2まで共通である。
また、図7は、学習データGおよび学習データHが、ネットワーク識別情報N1で識別されるネットワーク型識別器の中間層L1から抽出された特徴量データを含むことを示す。
学習データ選択手段204は、再学習範囲決定手段205が決定したファインチューニングの実行対象の層の範囲の候補のうち、1つの範囲の候補に着目する。次いで、学習データ選択手段204は、学習データ記憶手段202に記憶されている学習データのうち、ニューラルネットワーク型識別器のファインチューニングの実行対象の層の範囲の候補以外から得られた学習データのみを選択する。
すなわち、本変形例の学習データ選択手段204は、ファインチューニングの実行対象のニューラルネットワーク型識別器を示すネットワーク識別情報と、含まれているネットワーク識別情報が等しい学習データだけを選択する。
従って、本変形例のパターン認識装置200は、様々な撮影地点向けに様々なニューラルネットワーク型識別器が構築されていた場合であっても、構造が同様な範囲で複数のニューラルネットワーク型識別器に対して同じ特徴量データを利用できる。
以下、各実施形態のパターン認識装置のハードウェア構成の具体例を説明する。図8は、本発明によるパターン認識装置のハードウェア構成例を示す説明図である。
図8に示すパターン認識装置は、CPU(Central Processing Unit )11と、主記憶部12と、通信部13と、補助記憶部14とを備える。また、ユーザが操作するための入力部15や、ユーザに処理結果または処理内容の経過を提示するための出力部16を備えてもよい。
なお、図8に示すパターン認識装置は、CPU11の代わりにDSP(Digital Signal Processor)を備えてもよい。または、図8に示すパターン認識装置は、CPU11とDSPとを併せて備えてもよい。
主記憶部12は、データの作業領域やデータの一時退避領域として用いられる。主記憶部12は、例えばRAM(Random Access Memory)である。
通信部13は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
補助記憶部14は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
入力部15は、データや処理命令を入力する機能を有する。入力部15は、例えばキーボードやマウス等の入力デバイスである。
出力部16は、データを出力する機能を有する。出力部16は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
また、図8に示すように、パターン認識装置において、各構成要素は、システムバス17に接続されている。
補助記憶部14は、例えば、学習手段104、学習手段203、学習データ選択手段204、再学習範囲決定手段205、評価手段206、および再学習結果選択手段208を実現するためのプログラムを記憶している。
なお、パターン認識装置は、ハードウェアにより実現されてもよい。例えば、パターン認識装置は、内部に図1に示すような機能を実現するプログラムが組み込まれたLSI(Large Scale Integration )等のハードウェア部品が含まれる回路が実装されてもよい。
また、パターン認識装置は、図8に示すCPU11が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。
ソフトウェアにより実現される場合、CPU11が補助記憶部14に格納されているプログラムを、主記憶部12にロードして実行し、パターン認識装置の動作を制御することによって、各機能がソフトウェアにより実現される。また、CPU11が、補助記憶部14に格納されている学習データ等を、主記憶部12にロードしてもよい。
また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図9は、本発明によるパターン認識装置の概要を示すブロック図である。本発明によるパターン認識装置20は、学習用の画像データが入力された複数の層が層状に結合されたニューラルネットワーク型識別器の複数の層のうちの1つの層が出力する特徴量データを含む第1学習データと、画像データと異なる学習用の画像データが入力されたニューラルネットワーク型識別器の複数の層のうちの1つの層と異なる1つの層が出力する特徴量データを含む第2学習データとが用いられて学習された後のニューラルネットワーク型識別器の識別性能を予測する予測手段21(例えば、学習手段104)と、予測された識別性能に基づいてニューラルネットワーク型識別器の学習対象の層の範囲を決定する決定手段22(例えば、学習手段104)とを備える。
そのような構成により、パターン認識装置は、再利用可能な特徴量データの量を考慮しながらファインチューニングを実行できる。
また、パターン認識装置20は、決定された範囲の層が出力する特徴量データを用いてニューラルネットワーク型識別器を学習する学習手段(例えば、学習手段104)を備えてもよい。
そのような構成により、パターン認識装置は、再利用可能な特徴量データの量を考慮しながらファインチューニングを実行できる。
また、第1学習データは、第1学習データに含まれる特徴量データの生成元である学習用の画像データに対応する正解クラスと、第1学習データに含まれる特徴量データを出力した1つの層を示す情報とを含み、第2学習データは、第2学習データに含まれる特徴量データの生成元である学習用の画像データに対応する正解クラスと、第2学習データに含まれる特徴量データを出力した1つの層を示す情報とを含んでもよい。
そのような構成により、パターン認識装置は、ファインチューニングの精度をより高めることができる。
また、学習手段は、第1学習データに含まれる特徴量データの生成元である学習用の画像データと異なる学習用の画像データと、異なる学習用の画像データに対応する正解クラスとを含む第3学習データと、第1学習データとを用いて学習してもよい。
そのような構成により、パターン認識装置は、より多様なファインチューニングを実行できる。
また、図10は、本発明によるパターン認識装置の他の概要を示すブロック図である。本発明によるパターン認識装置30は、複数の層が層状に結合されたニューラルネットワーク型識別器の学習対象の層の範囲の候補を決定する決定手段31(例えば、再学習範囲決定手段205)と、学習用の画像データが入力されたニューラルネットワーク型識別器の決定された範囲の候補の層が出力する特徴量データを含む学習データを用いてニューラルネットワーク型識別器を学習する学習手段32(例えば、学習手段203)と、学習された後のニューラルネットワーク型識別器の識別性能を評価する評価手段33(例えば、評価手段206)と、学習されて導出されたニューラルネットワーク型識別器のパラメータを決定された範囲の候補と共に記憶する記憶手段34(例えば、再学習結果記憶手段207)と、評価された識別性能と学習に利用された学習データの数とに基づいて記憶手段34からパラメータを選択する選択手段35(例えば、再学習結果選択手段208)とを備える。
そのような構成により、パターン認識装置は、再利用可能な特徴量データの量を考慮しながらファインチューニングを実行できる。
また、学習データは、学習データに含まれる特徴量データを出力した層を示す情報を含んでもよい。
そのような構成により、パターン認識装置は、所定の層よりも上位の層から抽出された全ての特徴量データを認識できる。
また、学習データは、学習データに含まれる特徴量データの生成元である学習用の画像データと、特徴量データおよび画像データに対応する正解クラスとを含んでもよい。
そのような構成により、パターン認識装置は、ファインチューニングの精度をより高めることができる。
また、学習データは、学習データに含まれる特徴量データを出力したニューラルネットワーク型識別器を示すネットワーク情報を含んでもよい。
そのような構成により、パターン認識装置は、複数種類のニューラルネットワーク型識別器に対応できる。
また、学習手段32は、学習対象のニューラルネットワーク型識別器を示すネットワーク情報を含む学習データを用いて学習してもよい。
そのような構成により、パターン認識装置は、複数種類のニューラルネットワーク型識別器に対応できる。
また、記憶手段34は、パラメータと、パラメータを有するニューラルネットワーク型識別器の識別性能と、パラメータが導出された学習に利用された学習データの数とを併せて記憶してもよい。
そのような構成により、パターン認識装置は、複数のファインチューニングの結果をまとめて管理できる。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)学習用の画像データが入力された複数の層が層状に結合されたニューラルネットワーク型識別器の前記複数の層のうちの1つの層が出力する特徴量データを含む第1学習データと、前記画像データと異なる学習用の画像データが入力された前記ニューラルネットワーク型識別器の前記複数の層のうちの前記1つの層と異なる1つの層が出力する特徴量データを含む第2学習データとが用いられて学習された後の前記ニューラルネットワーク型識別器の識別性能を予測する予測手段と、予測された識別性能に基づいて前記ニューラルネットワーク型識別器の学習対象の層の範囲を決定する決定手段とを備えることを特徴とするパターン認識装置。
(付記2)決定された範囲の層が出力する特徴量データを用いてニューラルネットワーク型識別器を学習する学習手段を備える付記1記載のパターン認識装置。
(付記3)第1学習データは、前記第1学習データに含まれる特徴量データの生成元である学習用の画像データに対応する正解クラスと、前記第1学習データに含まれる特徴量データを出力した1つの層を示す情報とを含み、第2学習データは、前記第2学習データに含まれる特徴量データの生成元である学習用の画像データに対応する正解クラスと、前記第2学習データに含まれる特徴量データを出力した1つの層を示す情報とを含む付記2記載のパターン認識装置。
(付記4)学習手段は、第1学習データに含まれる特徴量データの生成元である学習用の画像データと異なる学習用の画像データと、前記異なる学習用の画像データに対応する正解クラスとを含む第3学習データと、前記第1学習データとを用いて学習する付記3記載のパターン認識装置。
(付記5)複数の層が層状に結合されたニューラルネットワーク型識別器の学習対象の層の範囲の候補を決定する決定手段と、学習用の画像データが入力された前記ニューラルネットワーク型識別器の決定された範囲の候補の層が出力する特徴量データを含む学習データを用いて前記ニューラルネットワーク型識別器を学習する学習手段と、学習された後の前記ニューラルネットワーク型識別器の識別性能を評価する評価手段と、学習されて導出された前記ニューラルネットワーク型識別器のパラメータを前記決定された範囲の候補と共に記憶する記憶手段と、評価された識別性能と学習に利用された学習データの数とに基づいて前記記憶手段からパラメータを選択する選択手段とを備えることを特徴とするパターン認識装置。
(付記6)学習データは、前記学習データに含まれる特徴量データを出力した層を示す情報を含む付記5記載のパターン認識装置。
(付記7)学習データは、前記学習データに含まれる特徴量データの生成元である学習用の画像データと、前記特徴量データおよび前記画像データに対応する正解クラスとを含む付記5または付記6記載のパターン認識装置。
(付記8)学習データは、前記学習データに含まれる特徴量データを出力したニューラルネットワーク型識別器を示すネットワーク情報を含む付記5から付記7のうちのいずれかに記載のパターン認識装置。
(付記9)学習手段は、学習対象のニューラルネットワーク型識別器を示すネットワーク情報を含む学習データを用いて学習する付記8記載のパターン認識装置。
(付記10)記憶手段は、パラメータと、前記パラメータを有するニューラルネットワーク型識別器の識別性能と、前記パラメータが導出された学習に利用された学習データの数とを併せて記憶する付記5から付記9のうちのいずれかに記載のパターン認識装置。
(付記11)学習用の画像データが入力された複数の層が層状に結合されたニューラルネットワーク型識別器の前記複数の層のうちの1つの層が出力する特徴量データを含む第1学習データと、前記画像データと異なる学習用の画像データが入力された前記ニューラルネットワーク型識別器の前記複数の層のうちの前記1つの層と異なる1つの層が出力する特徴量データを含む第2学習データとが用いられて学習された後の前記ニューラルネットワーク型識別器の識別性能を予測し、予測された識別性能に基づいて前記ニューラルネットワーク型識別器の学習対象の層の範囲を決定することを特徴とするパターン認識方法。
(付記12)複数の層が層状に結合されたニューラルネットワーク型識別器の学習対象の層の範囲の候補を決定し、学習用の画像データが入力された前記ニューラルネットワーク型識別器の決定された範囲の候補の層が出力する特徴量データを含む学習データを用いて前記ニューラルネットワーク型識別器を学習し、学習された後の前記ニューラルネットワーク型識別器の識別性能を評価し、学習されて導出された前記ニューラルネットワーク型識別器のパラメータを前記決定された範囲の候補と共に記憶手段に記憶させ、評価された識別性能と学習に利用された学習データの数とに基づいて前記記憶手段からパラメータを選択することを特徴とするパターン認識方法。
(付記13)コンピュータに、学習用の画像データが入力された複数の層が層状に結合されたニューラルネットワーク型識別器の前記複数の層のうちの1つの層が出力する特徴量データを含む第1学習データと、前記画像データと異なる学習用の画像データが入力された前記ニューラルネットワーク型識別器の前記複数の層のうちの前記1つの層と異なる1つの層が出力する特徴量データを含む第2学習データとが用いられて学習された後の前記ニューラルネットワーク型識別器の識別性能を予測する予測処理、および予測された識別性能に基づいて前記ニューラルネットワーク型識別器の学習対象の層の範囲を決定する決定処理を実行させるためのパターン認識プログラム。
(付記14)コンピュータに、複数の層が層状に結合されたニューラルネットワーク型識別器の学習対象の層の範囲の候補を決定する決定処理、学習用の画像データが入力された前記ニューラルネットワーク型識別器の決定された範囲の候補の層が出力する特徴量データを含む学習データを用いて前記ニューラルネットワーク型識別器を学習する学習処理、学習された後の前記ニューラルネットワーク型識別器の識別性能を評価する評価処理、学習されて導出された前記ニューラルネットワーク型識別器のパラメータを前記決定された範囲の候補と共に記憶手段に記憶させる記憶処理、および評価された識別性能と学習に利用された学習データの数とに基づいて前記記憶手段からパラメータを選択する選択処理を実行させるためのパターン認識プログラム。