(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187564
(43)【公開日】2022-12-20
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20221213BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021095607
(22)【出願日】2021-06-08
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】柴田 剛志
(72)【発明者】
【氏名】田中 正行
(72)【発明者】
【氏名】奥富 正敏
(57)【要約】
【課題】幾何学的あるいは光学的な画像変換に頑健な学習装置、学習方法及びプログラムを提供する。
【解決手段】特徴抽出部は、変換部により変換された入力データを特徴抽出モデルに入力して第一の特徴を抽出する。逆変変換部は、抽出された第一の特徴に、変換部による変換に対応する逆変換を行って第二の特徴を算出する。特徴統合部は、第二の特徴を統合する。認識部は、特徴と入力データの認識結果との対応を表す認識モデルに、特徴統合部が統合した第二の特徴を入力して認識結果を得る。更新部は、認識部が得た認識結果と、入力データに対応した正解との差分を表す損失を算出し、算出した損失がより小さくなるように認識モデルと特徴抽出モデルとの一方又は両方を更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
異なる変換パラメタそれぞれを用いて入力データを変換した複数の変換データを生成する変換部と、
入力されたデータの特徴を抽出する特徴抽出モデルに前記変換部が生成した複数の前記変換データそれぞれを入力して第一の特徴を抽出する特徴抽出部と、
前記特徴抽出部が抽出した前記第一の特徴それぞれに、前記変換部による変換に対応した逆変換を行って第二の特徴を算出する逆変換部と、
複数の前記変換データそれぞれから得られた前記第二の特徴を統合する特徴統合部と、
入力された特徴に基づいてデータの認識を行う認識モデルに、前記特徴統合部が統合した前記第二の特徴を入力して認識結果を得る認識部と、
前記認識部が得た前記認識結果と、前記入力データに対応した正解の認識結果との差分を表す損失を算出し、算出した前記損失が小さくなるように前記認識モデルと前記特徴抽出モデルとの一方又は両方を更新する更新部と、
を備える学習装置。
【請求項2】
前記特徴統合部は、対応する時空間の前記第二の特徴の最大値、平均値、中央値、又は、重み付き和を算出することにより、複数の前記変換データそれぞれから得られた前記第二の特徴を統合する、
請求項1に記載の学習装置。
【請求項3】
前記特徴統合部は、前記変換部により同一の変換が行われた前記入力データの領域から得られた前記第二の特徴が選択されることを制約条件として、対応する時空間の前記第二の特徴の最大値、平均値、中央値、又は、重み付き和を算出することにより、複数の前記変換データそれぞれから得られた前記第二の特徴を統合する、
請求項1に記載の学習装置。
【請求項4】
前記変換部は、入力された複数の前記変換パラメタのうち一部の前記変換パラメタを用いて前記入力データを変換する、
請求項1から請求項3のいずれか一項に記載の学習装置。
【請求項5】
前記更新部は、前記損失が小さくなるように前記変換パラメタの値を更新する、
請求項1から請求項4のいずれか一項に記載の学習装置。
【請求項6】
変換パラメタを用いて入力データを変換する変換ステップと、
入力データから特徴を抽出する特徴抽出モデルに前記変換ステップにおいて変換された前記入力データを入力して第一の特徴を抽出する特徴抽出ステップと、
前記特徴抽出ステップにおいて抽出された前記第一の特徴に、前記変換ステップにおける変換に対応する逆変換を行って第二の特徴を算出する逆変換ステップと、
前記逆変換ステップにおいて算出された前記第二の特徴を統合する特徴統合ステップと、
特徴と入力データの認識結果との対応を表す認識モデルに、前記特徴統合ステップにおいて統合された前記第二の特徴を入力して認識結果を得る認識ステップと、
前記認識ステップにおいて得た前記認識結果と、前記入力データに対応した正解との差分を表す損失を算出し、算出した前記損失が小さくなるように前記認識モデルと前記特徴抽出モデルとの一方又は両方を更新する更新ステップと、
を有する学習方法。
【請求項7】
コンピュータを、
請求項1から請求項5のいずれか一項に記載の学習装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及びプログラムに関する。
【背景技術】
【0002】
非常に大規模な画像認識ベンチマークの成功を契機に、画像の認識モデルとして用いられる畳み込みニューラルネットワークが大きく発展している。畳み込みニューラルネットワークは強力なフレームワークとして確立されているが、欠点が全くないわけではない。畳み込みニューラルネットワークの性能は、例えば画像の回転などの画像変換に対して劇的に低下することが広く知られている。この劣化を改善するための典型的な畳み込みニューラルネットワークの学習方法は、学習用のデータを増強することである。このような学習アルゴリズムによって、表現力の高い認識モデルを得ることができる。しかしながら、データ拡張の程度が大きくなると試行回数が多くなるため、学習が著しく困難になる。このような問題を解決する方法として、テスト時にデータ拡張を行うテストタイムオーグメンテーション(Test-Time Augmentation:TTA)と呼ばれる手法も開示されている(例えば、非特許文献1参照)。テストタイムオーグメンテーションは、マルチクロップエバリュエーション(multi-crop evaluation)と呼ばれることもある。テストタイムオーグメンテーションは、平均推論スコアや最大推論スコアを計算することで、画像の回転など画像変換に対しての性能低下を低減することを目的としている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun,"Deep Residual Learning for Image Recognition",In Proc. IEEE Conference on Computer Vision and Pattern Recognition(CVPR),pp.770-778,2016.
【発明の概要】
【発明が解決しようとする課題】
【0004】
テストタイムオーグメンテーションは広く用いられているが、最終的な認識精度は推論スコアのみで評価されるため、推論スコアの高い誤認容の場合には性能が大きく低下する傾向がある。すなわち、データ拡張やテストタイムオーグメンテーションを用いても、畳み込みニューラルネットワークの性能は、例えば画像の回転など幾何学的な画像変換に対して劇的に低下する。同様のことは、色調や彩度など画像の光学的な変換に対してもあてはまる。つまり、畳み込みニューラルネットワークの性能は、光学的な画像変換に対しても低下する。
【0005】
上記事情に鑑み、本発明は、データ変換が行われたデータに対しても頑健なデータ認識のモデルを学習することができる学習装置、学習方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、異なる変換パラメタそれぞれを用いて入力データを変換した複数の変換データを生成する変換部と、入力されたデータの特徴を抽出する特徴抽出モデルに前記変換部が生成した複数の前記変換データそれぞれを入力して第一の特徴を抽出する特徴抽出部と、前記特徴抽出部が抽出した前記第一の特徴それぞれに、前記変換部による変換に対応した逆変換を行って第二の特徴を算出する逆変換部と、複数の前記変換データそれぞれから得られた前記第二の特徴を統合する特徴統合部と、入力された特徴に基づいてデータの認識を行う認識モデルに、前記特徴統合部が統合した前記第二の特徴を入力して認識結果を得る認識部と、前記認識部が得た前記認識結果と、前記入力データに対応した正解の認識結果との差分を表す損失を算出し、算出した前記損失が小さくなるように前記認識モデルと前記特徴抽出モデルとの一方又は両方を更新する更新部と、を備える学習装置である。
【0007】
本発明の一態様は、変換パラメタを用いて入力データを変換する変換ステップと、入力データから特徴を抽出する特徴抽出モデルに前記変換ステップにおいて変換された前記入力データを入力して第一の特徴を抽出する特徴抽出ステップと、前記特徴抽出ステップにおいて抽出された前記第一の特徴に、前記変換ステップにおける変換に対応する逆変換を行って第二の特徴を算出する逆変換ステップと、前記逆変換ステップにおいて算出された前記第二の特徴を統合する特徴統合ステップと、特徴と入力データの認識結果との対応を表す認識モデルに、前記特徴統合ステップにおいて統合された前記第二の特徴を入力して認識結果を得る認識ステップと、前記認識ステップにおいて得た前記認識結果と、前記入力データに対応した正解との差分を表す損失を算出し、算出した前記損失が小さくなるように前記認識モデルと前記特徴抽出モデルとの一方又は両方を更新する更新ステップと、を有する学習方法である。
【0008】
本発明の一態様は、コンピュータを、上述した学習装置として機能させるためのプログラムである。
【発明の効果】
【0009】
本発明により、データ変換が行われたデータに対しても頑健なデータ認識のモデルを学習することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態による学習装置の構成を示す機能ブロック図である。
【
図2】同実施形態による学習装置のハードウェア構成例を示す図である。
【
図3】同実施形態による演算部の処理概要を示す図である。
【
図4】同実施形態による学習装置の他の構成を示す機能ブロック図である。
【
図5】同実施形態による学習装置の学習時の処理を示す流れ図である。
【
図6】同実施形態による学習装置の推論時の処理を示す流れ図である。
【
図7】同実施形態による学習装置を用いた実験結果を示す図である。
【
図8】同実施形態による学習装置を用いた実験のセッティングを示す図である。
【
図9】同実施形態による学習装置を用いた実験結果を示す図である。
【
図10】同実施形態による学習装置を用いた実験結果を示す図である。
【
図11】同実施形態による学習装置を用いた実験結果を示す図である。
【
図12】TTAにより学習される畳み込みニューラルネットワークを示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0012】
<本発明の一実施形態の説明>
図1は、本発明の一実施形態による学習装置1の構成を示す機能ブロック図である。
図1では、本実施形態と関係する機能ブロックのみを抽出して示してある。学習装置1は、1又は複数の入力データを受け付け、各入力データを認識モデルに入力することによりデータ認識を行った結果を所要に出力する。学習装置1は、学習用の入力データを用いて認識モデルを学習する。学習装置1は、データ入力部10と、変換パラメタ入力部11と、演算部20と、データ出力部30とを備える。なお、データ入力部10、変換パラメタ入力部11及びデータ出力部30のうち1以上が学習装置1の外部の機能部でもよい。
【0013】
データ入力部10は、処理対象データを入力する。データ入力部10は、学習装置1と接続される情報処理装置から処理対象データを受信してもよく、記録媒体から処理対象データを読み出してもよい。学習時の処理対象データは、入力データと目的変数とを対応づけた学習データであり、推論時の処理対象データは、入力データである。目的変数は、入力データの正解の認識結果を表す。
【0014】
変換パラメタ入力部11は、入力データの変換に用いるパラメタを入力する。変換パラメタ入力部11は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。また、変換パラメタ入力部11は、入力装置を学習装置1に接続するためのインタフェースであってもよい。この場合、変換パラメタ入力部11は、入力装置においてユーザの入力に応じて生成された入力信号を学習装置1に入力する。また、変換パラメタ入力部11は、学習装置1と接続される情報処理装置から変換パラメタを受信してもよい。また、変換パラメタ入力部11は、記録媒体から変換パラメタを読み出してもよい。
【0015】
演算部20は、変換部201と、特徴抽出部202と、逆変換部203と、特徴統合部204と、認識部205と、パラメタ更新部206とを含んで構成される。変換部201は、変換パラメタ入力部11により入力された一つ以上の変換パラメタそれぞれを用いて、データ入力部10により入力された入力データを変換する。変換後の入力データを変換データと記載する。例えば、入力データが画像データである場合、変換部201は、変換パラメタにより表される条件の画像変換を入力データに行う。
【0016】
特徴抽出部202は、変換部201が生成した変換データから、特徴抽出モデルを用いて特徴(第1の特徴)を抽出する。例えば、特徴抽出モデルは、入力したデータからそのデータの特徴を出力するニューラルネットワークや、データから得られる値に基づいて特徴を算出する関数等のアルゴリズムである。以下では、特徴抽出モデルがニューラルネットワークである場合を例に説明する。逆変換部203は、特徴抽出部202が抽出した特徴に対して、変換部201が行ったデータ変換の逆変換を行う。特徴統合部204は、逆変換部203により逆変換された特徴(第2の特徴)を統合する。この統合により、入力データを特徴抽出部202の特徴抽出モデルに入力して得られる出力データと同等の次元の特徴を得る。
【0017】
認識部205は、特徴統合部204が統合した特徴を認識モデルに入力して認識結果を得る。認識モデルは、特徴と認識結果との対応を表すモデルである。例えば、認識モデルには、ニューラルネットワークが用いられる。パラメタ更新部206は、認識部205が算出した認識結果と、その認識結果が得られた入力データに対応した目的変数との差分を表す損失を算出し、算出した損失がより小さくなるように、認識部205が用いる認識モデルのネットワークパラメタの値と特徴抽出部202が用いる特徴抽出モデルのネットワークパラメタの値との一方又は両方を更新する。なお、演算部20の各部が行う処理の詳細については、後述する。
【0018】
データ出力部30は、認識部205による認識結果を出力する。出力形態は、ディスプレイなどの表示装置への表示でもよく、印刷装置による印刷でもよく、記録媒体への書き込みでもよく、学習装置1と接続される情報処理装置への送信でもよい。例えば、データ出力部30は、表示装置にリアルタイムで認識結果を出力してもよい。あるいは、データ出力部30は、結果を画像データとして半導体メモリやHDD(Hard disk drive)などの記憶装置に保存してもよい。この記憶装置は、学習装置1の内部に設けられもよく、外部記憶装置でもよい。
【0019】
学習装置1は、例えば、コンピュータ装置により実現される。学習装置1をネットワークに接続される複数のコンピュータ装置により実現してもよい。この場合、学習装置1の各機能部を、これら複数のコンピュータ装置のいずれにより実現するかは任意とすることができる。また、学習装置1の同一の機能部を複数のコンピュータ装置により実現してもよい。
【0020】
図2は、学習装置1のハードウェア構成例を示す装置構成図である。学習装置1は、プロセッサ71と、記憶部72と、通信インタフェース73と、ユーザインタフェース74とを備える。プロセッサ71は、演算や制御を行う中央演算装置である。プロセッサ71は、例えば、CPU(central processing unit)である。プロセッサ71は、記憶部72からプログラムを読み出して実行することにより、演算部20の機能を実現する。記憶部72は、さらに、プロセッサ71が各種プログラムを実行する際のワークエリアなどを有する。通信インタフェース73は、他装置と通信可能に接続するものである。ユーザインタフェース74は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の入力装置や、ディスプレイなどの表示装置である。ユーザインタフェース74により、人為的な操作が入力される。
【0021】
なお、演算部20の機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。
【0022】
以下では、学習装置1の各機能部の詳細な処理について説明する。以下では、入力データとして画像データを扱う例について主に説明するが、本実施形態はそれに限定されない。また、以下では、深層学習を用いる場合について説明するが、本実施形態はこれに限定されない。
【0023】
<<<本実施形態における変数の一例>>>
図12は、従来のTTAにより学習される標準的な畳み込みニューラルネットワークを示す図である。一般的な畳み込みニューラルネットワークは、バックボーンとヘッドと呼ばれる構造を含む。以下では、f()をバックボーンとし、g()をヘッドとする。バックボーンf()は、さらに、f
F()とf
R()といったように二つに分割されてもよい。畳み込みネットワークに入力xを入力したときの出力y^は、以下の式(1)のように与えられる。
【0024】
【0025】
図12に示すように、従来のTTAでは、入力xに異なる変換Tを行って得られた複数の変換データをそれぞれ畳み込みニューラルネットワークに入力し、得られた結果をインタフェース統合して出力する。
【0026】
図3は、学習装置1の演算部20の処理概要を示す図である。本実施形態では、畳み込みニューラルネットワークのバックボーンf
F()を特徴抽出部202が用いる特徴抽出モデルとし、畳み込みニューラルネットワークのバックボーンf
R()及びヘッドg()を認識部205が用いる認識モデルとする。
【0027】
以下では、バックボーンfF()の出力を、特徴z=zchwと表記することもある。ここで、cはチャネルのインデックス、hは高さのインデックス、wは幅のインデックスである。また、以下では、説明を簡単にするために上記の変数を用いて説明するが、本実施形態はこれに限定されるものではない。
【0028】
<<<各部の動作の説明>>>
図1及び
図3を参照して、学習装置1の各部の動作を説明する。
【0029】
データ入力部10は、一以上の処理対象データを入力する。すなわち、データ入力部10は、学習時、処理対象データとして、入力データx(以下、入力xとも記載する)と、入力xの正解の認識結果を表す目的変数yとの組である学習データを複数入力する。また、データ入力部10は、推論時、処理対象データとして入力xを入力する。入力xに相当する量は、例えば画像のような2次元以上のデータでもよく、音声や音響、あるいは振動のような一次元の時系列データでもよい。あるいは、入力xに相当する量は、自然言語のような記号データでもよい。すなわち、入力xは、一般的に機械学習が適用されるデータであればよい。目的変数yに相当する量は、属性やクラス名、あるいは人物IDなど、クラスラベルに相当する情報を数値化したものでもよく、入力xと同様のデータ、すなわち画像や音声のデータでもよい。このように、目的変数yは、一般的に機械学習が適用される際の目的変数であればよい。より具体的には、ラベルを目的変数とする場合は、識別又は認証が目的となり、入力xと同様のデータを目的変数とする場合は回帰が目的となる。
【0030】
変換パラメタ入力部11は、入力データの変換に用いる変換パラメタを入力する。入力データが画像データである場合、ここでいう変換とは、例えば、回転や拡大縮小、あるいはアフィン変換や射影変換、あるいはBスプライン補完を用いた非線形変換などの幾何学的な画像変換である。あるいは、ここでいう変換は、色調や色温度の変換のような光学的な画像変換でもよい。あるいは、ここでいう変換は、ノイズ除去又はノイズ付与、あるいは圧縮ノイズや敵対ノイズの除去又は付与、あるいはボケの付与又はボケの除去など、画像劣化に関する変換でもよい。以下では、これら変換を特徴づける変換パラメタの集合を以下の式(2)のように表す。
【0031】
【0032】
ξnは、n番目の変換を表す変換パラメタである。例えば、変換部201によって行われる変換が二次元の回転である場合、ξnは一変数の値である。この場合、例えば、ξ1には回転角0度、ξ2には回転角90度、ξ3には回転角180度、…を表す数値が設定される。一方、変換がアフィン変換である場合、ξnは線形変換を表す4つの変数と平行移動を表す2つの変数との6変数それぞれの値である。なお、{}は集合を表す記号である。
【0033】
変換部201は、データ入力部10が入力した処理対象データに含まれる入力xを、変換パラメタ入力部11が入力した変換パラメタを用いた変換モデルにより変換する。すでに述べたように、変換モデルにより入力xに対して行われる変換は、例えば、回転や拡大縮小、あるいはアフィン変換や射影変換、あるいはBスプライン補完を用いた非線形変換などの幾何学的な画像変換である。あるいは、変換モデルにより行われる変換は、色調や色温度の変換のような光学的な画像変換でもよい。あるいは、変換モデルにより行われる変換は、ノイズ除去又はノイズ付与、あるいは圧縮ノイズや敵対ノイズの除去又は圧縮ノイズや敵対ノイズの付与、あるいはボケの付与又はボケの除去など、画像劣化に関する変換でもよい。
【0034】
また、変換部201は、変換パラメタ入力部11が入力した複数の変換パラメタの全てを用いて入力データを変換するのではなく、それら複数の変換パラメタから選択した一部の変換パラメタを用いて入力データを変換してもよい。例えば、100個の変換パラメタが入力された場合、変換部201は、それらのうちの10個を毎回ランダムに選択し、選択したそれらの変換パラメタのみを用いて変換モデルにより入力xを変換してもよい。
【0035】
以下では、変換部201が行う変換をTと表し、変換Tに対応する逆変換をT-1と表す。すなわち、変換Tが変換モデルであり、逆変換T-1は逆変換モデルである。逆変換モデルは、後述するように逆変換部203において用いられる。入力xを変換パラメタξ1、…、ξn、…、ξNのそれぞれを用いた変換Tにより変換した変換データの集合を以下の式(3)のように表す。
【0036】
【0037】
ここで、nは変換を区別するための添字であり、Nは変換の総数である。すなわち、変換部201により変換された変換データx~
1からx~
Nのうち、n番目のパラメタξnを用いた変換Tにより入力xを変換して生成された変換データがx~
nである。具体的には、x~
nは、以下の式(4)で与えられる。
【0038】
【0039】
例えば、変換Tが二次元の回転である場合、x~
nは入力xの画像データを回転角ξnだけ回転させた画像データである。特徴抽出部202は、変換部201が入力データを変換して得た変換データx~
1、…、x~
Nのそれぞれから、特徴抽出モデルを用いて特徴を抽出する。抽出される特徴は、例えば、幾何学的変換が行われた特徴マップである。上述したように、特徴抽出部202は、特徴抽出モデルとしてfF()を用いればよい。この場合、変換部201により生成された変換データの集合{x~
1,…,x~
n,…,x~
N}の各要素が、fF()の入力として使用される。特徴抽出部202は、変換データの特徴の集合として以下の式(5)を算出する。
【0040】
【0041】
逆変換部203は、特徴抽出部202が抽出した特徴のそれぞれに対して、変換部201が行った変換Tに対応する逆変換T-1を行う。より具体的には、逆変換部203は、特徴の集合{fF(x~
1),…,fF(x~
n),…,fF(x~
N)}を逆変換モデルである逆変換T-1により逆変換する。逆変換部203は、逆変換T-1のための変換パラメタを、変換パラメタ{ξ1…ξn…ξN}から決定する。例えば、変換部201の変換Tによる変換がθ度の回転である場合、逆変換部203は、逆の回転、すなわち-θ度の回転を逆変換T-1として定義すればよい。逆変換された特徴の集合は以下の式(6)である。
【0042】
【0043】
ここで、znは、入力xのn番目の変換データx~
nから得られた特徴を逆変換した特徴であり、以下の式(7)で与えられる。
【0044】
【0045】
以下では逆変換モデルにより逆変換された特徴を、逆変換特徴と記載する。なお、後述する特徴統合部204は、例えば、各位置に対応する逆変換特徴の集合z1~zNから1つの逆変換特徴を選択する。この時、特徴統合部204は、空間的に同じ位置の逆変換特徴同士を比較する。例えば、変換Tが回転などの幾何変換である場合などには、異なる変換パラメタにより変換された変換データから得られた逆変換特徴の位置を合わせるために逆変換T-1が必要である。
【0046】
特徴統合部204は、逆変換部203が算出したそれぞれの逆変換特徴を統合することにより、データ入力部10により入力した入力データを特徴抽出部202に入力した場合に得られる出力と同等の次元の特徴を出力する。ここでは、説明を簡単にするために、逆変換特徴の集合Zを考える。逆変換特徴の集合Zは、連結演算子[]を用いて以下の式(8)のように逆変換特徴z1~znを連結させた量である。
【0047】
【0048】
なお、統合された逆変換特徴の集合Zは、これに限定されない。例えば、特徴統合部204は、式(9)により算出される逆変換特徴の最大値、式(10)により算出される逆変換特徴の平均値、式(11)により算出される逆変換特徴の重み付き最大値を、統合された逆変換特徴z^としてもよい。また例えば、特徴統合部204は、式(12)に示すように、特徴の重み付き平均値と呼ばれる2種類のアンサンブルアルゴリズムを用いて統合された逆変換特徴z^を算出してもよい。以下では、統合された逆変換特徴として、式(9)に示すように算出される逆変換特徴の最大値を用いることを最大値統合、統合された逆変換特徴として、式(10)に示すように算出される逆変換特徴の平均を用いることを平均値統合と記載する。
【0049】
【0050】
【0051】
【0052】
【0053】
なお、ここで、wnは変換ごとに与えられる重みであり、利用者があらかじめ定義すればよい。あるいは、特徴統合部204は、対応する時空間の逆変換特徴間同士で最大値、平均値、中央値、又は、それらの重み付き和を得ることにより、逆変換特徴を統合してもよい。また、特徴統合部204は、近傍にある逆変換特徴間同士で、同一の画像変換に対応する逆変換特徴が選択されることを制約に加え、その逆変換特徴を選択して統合してもよい。すなわち、特徴統合部204は、変換部201により入力データに対して領域毎に異なる画像変換を行った場合、同一の変換が行われた領域から得られた特徴を逆変換した逆変換特徴を選択し、その選択された逆変換特徴同士で最大値、平均値、中央値、又は、それらの重み付き和を得ることにより、逆変換特徴を統合する。例えば、着目している領域の逆変換特徴を式(9)又は式(10)により統合する場合、着目領域内の逆変換特徴のうち、その着目領域の周囲の逆変換特徴と同一の画像変換に相当する逆変換特徴が選択されやすくするように、あるいは、着目領域の周囲の逆変換特徴と同一の画像変換に相当する逆変換特徴に対する重み付き平均の重みを大きくして、逆変換特徴を統合すればよい。
【0054】
認識部205は、特徴統合部204が統合した逆変換特徴z^を認識モデルの入力に用いてデータ認識を行う。例えば、認識部205は、検出・識別・セマンティックセグメンテーションなどのデータ認識を行う。認識モデルがg(fR())で与えられる場合は、認識部205は以下の式(13)により算出される値y^を認識結果として出力する。
【0055】
【0056】
パラメタ更新部206は、認識部205が算出した認識結果y^と、学習データに含まれる正解ラベルである目的変数yとを用いて損失を算出し、その損失が小さくなるように、認識部205の認識モデル及び特徴抽出部202の特徴抽出モデルを更新する。より具体的には、例えば、パラメタ更新部206は、認識部205が算出した認識結果y^と、学習データに含まれる目的変数yとに基づいて、クロスエントロピーなどを損失関数に用いて損失を計算する。そして、パラメタ更新部206は、例えば確率的勾配降下法(SGD)などを用いて損失が小さくなるように、認識部205が用いる認識モデルのネットワークパラメタの値と、特徴抽出部202が用いる特徴抽出モデルのネットワークパラメタの値との一方又は両方を更新する。なお、パラメタ更新部206は、認識モデルのネットワークパラメタの値と、特徴抽出モデルのネットワークパラメタの値の全てのパラメタを更新してもよく、それらパラメタのうち一部だけを更新してもよい。例えば、パラメタ更新部206は、認識モデルのネットワークパラメタのみを更新してもよい。あるいは、パラメタ更新部206は、パラメタ更新の初期においては、認識モデル及び特徴抽出モデルの全てのネットワークパラメタを更新し、一定の回数の更新が終了後に、それら全てのネットワークパラメタのうちの一部を更新してもよい。あるいは、パラメタ更新部206は、パラメタ更新の初期においては、認識モデル及び特徴抽出モデルの全てのネットワークパラメタのうちの一部を更新し、一定の回数の更新の後は、全てのネットワークパラメタを更新してもよい。
【0057】
なお、本実施形態によるパラメタ更新の動作はこれに限定されない。
図4は、学習装置1aの構成を示す機能ブロック図である。同図において、
図1に示す学習装置1と同一の部分には同一の符号を付し、その説明を省略する。学習装置1aが学習装置1と異なる点は、演算部20に代えて演算部20aを備える点である。演算部20aが演算部20と異なる点は、パラメタ更新部206に代えて、パラメタ更新部206aを備える点である。パラメタ更新部206aは、
図1のパラメタ更新部206と同様の機能を有する。さらに、パラメタ更新部206aは、変換部201が用いる変換モデルの変換パラメタの値と逆変換部203における逆変換モデルの変換パラメタの値とを更新する。より具体的には、例えば、パラメタ更新部206aは、変換パラメタのうちの一つを選択し、選択された変換パラメタの値を損失が小さくなるように更新する。例えば、変換パラメタの値を更新する方法としては、勾配法のような方法で最適化してもよく、あるいは、選択した変換パラメタの値をランダムに変化させ、変化させた値の損失の方が小さくなれば変化させた後の値に更新するといった形で変換パラメタの値を更新してもよい。そして、パラメタ更新部206aは、更新された変換パラメタの値に対応させるように、逆変換部203が用いる逆変換モデルの変換パラメタの値を更新する。
【0058】
<<<処理フロー>>>
図5および
図6は、学習装置1の処理の例を示すフロー図である。学習装置1の処理フローは深層学習におけるネットワーク学習時(パラメタ更新時)と、ネットワークを用いた推論時で異なる。
図5のフロー図は、ネットワーク学習時の処理を示し、
図6のフロー図は、学習されたネットワークを用いた推論時の処理を示す。
【0059】
[学習時]
図5を用いて、学習装置1のネットワーク学習時の処理を説明する。まず、データ入力部10は、学習データを入力し、変換パラメタ入力部11は、変換パラメタを入力する(ステップS201)。変換部201は、データ入力部10が入力した学習データから一部の学習データを選択する。変換部201は、選択した学習データに含まれる入力データに対して、変換パラメタ入力部11が入力した一つ以上の変換パラメタそれぞれを用いて変換モデルにより変換を行い、変換データを算出する(ステップS202)。入力データが画像の場合、変換は、例えば回転や拡大縮小などである。特徴抽出部202は、変換部201が算出した変換データのそれぞれから、特徴抽出モデルにより特徴を抽出する(ステップS203)。
【0060】
逆変換部203は、特徴抽出部202が抽出した特徴のそれぞれに逆変換モデルを用いて、変換部201が変換モデルにより行った変換に対応する逆変換を行って逆変換特徴を算出する(ステップS204)。特徴統合部204は、逆変換部203が算出した逆変換特徴を統合する(ステップS205)。これにより、特徴統合部204は、特徴抽出部202に入力データを入力して得られる出力と同等の次元の特徴を出力する。認識部205は、特徴統合部204が統合した逆変換特徴を認識モデルに入力して認識を行う(ステップS206)。
【0061】
パラメタ更新部206は、認識部205が認識モデルを用いて得た認識結果と、ステップS202において変換の対象となった入力データに対応した目的変数とを用いて損失を算出する。パラメタ更新部206は、損失が小さくなるように、認識部205が用いる認識モデルのネットワークパラメタの値と、特徴抽出部202が用いる特徴抽出モデルのネットワークパラメタの値との一方又は両方を更新する(ステップS207)。演算部20は、学習の終了条件を満たしたか否かを判定する(ステップS208)。演算部20は、例えば、所定数の学習データについて処理を終了した場合や、損失の変化が所定以内となった場合などに終了条件を満たしたと判定してもよい。演算部20は、終了条件を満たしていないと判定した場合、ステップS202からの処理を繰り返し、終了条件を満たしていると判定した場合、ステップS209の処理を行う。すなわち、データ出力部30は、認識部205の認識結果を出力する(ステップS209)。
【0062】
[推論時]
図6を用いて、学習装置1の推論時の処理を説明する。まず、データ入力部10は、入力データを入力し、変換パラメタ入力部11は、変換パラメタを入力する(ステップS301)。変換部201は、データ入力部10が入力した入力データに対して、変換パラメタ入力部11が入力した一つ以上の変換パラメタそれぞれを用いて変換モデルにより変換を行い、変換データを算出する(ステップS302)。入力データが画像の場合、変換は、例えば回転や拡大縮小などである。特徴抽出部202は、変換部201が算出した変換データのそれぞれから、
図5の処理において学習された特徴抽出モデルにより特徴を抽出する(ステップS303)。
【0063】
逆変換部203は、特徴抽出部202が抽出した特徴のそれぞれに逆変換モデルを用いて、変換部201が行った変換に対応する逆変換を行って逆変換特徴を算出する(ステップS304)。特徴統合部204は、
図4のステップS205と同様の処理により、逆変換部203が算出した逆変換特徴を統合する(ステップS305)。認識部205は、特徴統合部204が統合した逆変換特徴を、
図5の処理において学習された認識モデルに入力して認識を行う(ステップS306)。データ出力部30は、認識部205が認識モデルを用いて得た認識結果を出力する(ステップS307)。
【0064】
なお、学習装置1aの場合も
図5及び
図6と同様に動作する。ただし、
図7のステップS207において、パラメタ更新部206aは、損失が小さくなるように変換部201が用いる変換パラメタの値と、逆変換部203が用いる逆変換モデルの変換パラメタの値とをさらに更新する。
【0065】
<<<実験結果>>>
以下に、学習装置1を用いて画像データの認識を行った実験の結果を示す。
【0066】
[実験1]
回転させた画像データを用いて、本実施形態と従来技術との推定精度の比較を行った。画像データには、CIFAR10データセットを用いた。学習データには、0度、90度、180度、270度の4つの離散値からランダムに選択した回転角により元の画像データを回転させて生成した入力データを用いた。認識対象の入力データであるテストデータには、0度、90度、180度、270度それぞれの回転角により元の画像データを回転させて生成した4つの画像データ群を用いた。また、畳み込みニューラルネットワークには、ResNet18を用いた。ResNet18の重みの初期値には、回転を行っていないCIFAR10の画像データを用いて事前に学習されたものを使用した。
【0067】
図7は、実験1の実験結果を示す図である。BS(ベースモデル)は、回転を行っていない元の画像データを学習データに用いてモデルを学習したことを表し、DA(データ増強)は、元の画像データと回転した画像データとを学習データに用いてモデルを学習したこと表す。また、TTAは、4つの回転角の画像データを学習データに用いたTTAを表す。
図7には、BSにより学習したモデル、BS及びTTAにより学習したモデル、DAにより学習したモデル、DA及びTTAにより学習したモデル、本実施形態の学習装置1に、0度、90度、180度、270度の回転を行った画像データをテストデータとして入力することにより得られた認識結果の推定精度を示している。なお、本実施形態の学習装置1は、特徴の統合に最大値統合を用いた場合に良い推定精度を得ることができた。また、TTAの場合、インタフェース統合に平均(mean)を用いることでよい推定精度を得ることができた。
【0068】
BSにより学習したモデルの推定精度は、回転させた画像データを入力データに用いた場合にかなり低下した。回転させた画像データを入力データに用いた場合のBSの推定精度は、データ増強や、TTAを行っても、回転角0度の画像データを入力データに用いた場合の推定精度よりも低下した。一方で、本実施形態の学習装置1の場合、回転させた画像データを入力データに用いた場合でも、推定精度が維持された。すなわち、本実施形態の学習装置1が回転の変換に対してロバストであることを示している。
【0069】
[実験2]
本実施形態の学習装置1と、TTAにより学習を行った畳み込みニューラルネットワークとの推定精度を比較した。本実験では、4種類の画像データベースの画像データに、以下の変換A、変換B、及び、変換Cの3種類の幾何変換を行って、12種類の評価用データベースを作成した。12種類の評価用データベースはそれぞれ、学習データとテストデータとを含む。テストデータは、学習データを用いて学習されたモデルに入力する入力データである。4種類の画像データベースは、CIFAR10、CIFAR100、SVHN及びCUB-200である。変換Aは、元の画像データを0度、90度、180度、270度の4つの離散値からランダムに選択した回転角により元の画像データを回転させる変換である。変換Bは、0度から360度の間から均一の確率でランダムに選択した角度により元の画像データを回転させる変換である。変換Cは、0度から360度の間から均一の確率でランダムに選択した角度により元の画像データを回転させた後、0.5~1.5の間からランダムに選択した倍率により拡大又は縮小を行う変換である。
【0070】
図8は、学習装置1と実験対象の既存技術それぞれのセッティングを示す図である。
図8に示すように既存技術については、BSのみにより、DAのみにより、あるいは、BS及びDAのそれぞれとインタフェース統合に最大値(max)又は平均値(mean)を用いたTTAとの組み合わせによりモデルを学習した。BSでは、変換なしの画像データをモデルのファインチューニングに用い、DAでは、変換A~Cの変換を行った画像データをファインチューニングに用いた。本実施形態の学習装置1は、特徴の統合に最大値統合及び平均値統合のそれぞれを用い、変換A~Cの変換を行った画像データをファインチューニングに用いた。モデルには、ResNet18、ResNet50、MobileNetV2の3種類の畳み込みネットワークを使用した。デフォルトでは、ミニバッチサイズは128、Weight Decay(重み減衰)の係数は0.0005、モメンタムは0.9、エポック数は200回でネットワークを学習した。最適化にはSGDを使用し、学習率は、0.1~0.0001とした。
【0071】
図9及び
図10は、各セッティングの畳み込みニューラルネットワークによる推定精度を示す図である。
図9は、CIFAR10、CIFAR100及びSVHNについてはモデルにResNet18を用い、CUB-200についてはモデルにResNet50を用いた場合の推定精度を示す。また、
図10は、モデルにMobileNetV2を用いた場合の推定精度を示す。四角に囲まれた数値は最も良い推定精度を示し、下線の数値は2番目に良い推定精度を示す。
図9及び
図10に示すように、全てのネットワークモデル及び全てのデータベースについて、本実施形態の学習装置1による推定精度が既存技術よりも高かった。これは、本実施形態が効果的であることを示す。なお、平均値統合よりも最大値統合のほうが高い推定精度であるため、以下の実験では、最大値統合を用いる。
【0072】
[実験3]
学習装置1と既存のデータ増強を組み合わせた有効性を評価した。この実験では、CIFAR10とCIFAR100の画像データを実験2の変換Bにより変換したデータセットを使用した。データ増強としてRand Augmentation(RA)を使用し、WideResNet(WR)により認識モデルの層を増やした。比較方法は、実験2と同様である。さらに、学習装置1に代えて、既存手法のTTA又はGPSにより学習を行ったモデルを用いて画像認識を行った。RAは参考文献1に、WRは参考文献2に、GPSは参考文献3に記載されている。
【0073】
(参考文献1) E. D. Cubuk,B. Zoph,J. Shlens,Q. V. Le,“Randaugment: Practical automated data augmentation with a reduced search space”,in Proc. of the Conference on Computer Vision and Pattern Recognition Workshop(CVPRW),2020.
【0074】
(参考文献2) S. Zagoruyko,N. Komodakis,“Wide Residual Networks”,in Proc. of British Machine Vision Conference (BMVC),2016.
【0075】
(参考文献3) D. Molchanov,A. Lyzhov,Y. Molchanova,A. Ashukha,D. Vetrov,“Greedy Policy Search: A Simple Baseline for Learnable Test-Time Augmentation”,in Proc. of Uncertainty in Artificial Intelligence, 2020.
【0076】
図11は、実験結果を示す図である。学習装置1は、GPSを含む全ての既存手法よりも推定精度が高かった。これらの結果によって、本実施形態の学習装置1は、既存のデータ増強と組み合わせて有効に使用されることが示された。
【0077】
本実施形態によれば、学習装置は、入力した画像データに一つ以上の画像変換を行い、画像変換後の各画像データから特徴を抽出し、抽出した特徴に逆変換を行った後に統合する。学習装置は、この統合された特徴を用いることで、画像変換に対して頑健な認識モデルの学習を実現することができる。また、画像認識のほか、データの分類やデータ検索等にも適用可能である。
【0078】
上述した実施形態によれば、学習装置は、変換部と、特徴抽出部と、逆変換部と、特徴統合部と、認識部と、更新部とを備える。変換部は、異なる変換パラメタそれぞれを用いて入力データを変換した複数の変換データを生成する。特徴抽出部は、入力されたデータの特徴を抽出する特徴抽出モデルに、変換部が生成した複数の変換データそれぞれを入力して第一の特徴を抽出する。逆変換部は、特徴抽出部が抽出した第一の特徴それぞれに、変換部による変換に対応した逆変換を行って第二の特徴を算出する。特徴統合部は、複数の変換データそれぞれから得られた第二の特徴を統合する。認識部は、入力された特徴に基づいてデータの認識を行う認識モデルに、特徴統合部が統合した第二の特徴を入力して認識結果を得る。更新部は、認識部が得た認識結果と、入力データに対応した正解の認識結果との差分を表す損失を算出し、算出した損失が小さくなるように認識モデルと特徴抽出モデルとの一方又は両方を更新する。
【0079】
特徴統合部は、対応する時空間の第二の特徴の最大値、平均値、中央値、又は、重み付き和を算出することにより、複数の変換データそれぞれから得られた第二の特徴を統合してもよい。あるいは、特徴統合部は、変換部により同一の変換が行われた入力データの領域から得られた第二の特徴が選択されることを制約条件として、対応する時空間の第二の特徴の最大値、平均値、中央値、又は、重み付き和を算出することにより、複数の変換データそれぞれから得られた第二の特徴を統合してもよい。
【0080】
変換部は、入力された複数の変換パラメタのうち一部の変換パラメタを用いて入力データを変換してもよい。また、更新部は、損失が小さくなるように変換パラメタの値を更新してもよい。
【0081】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【符号の説明】
【0082】
1、1a…学習装置、10…データ入力部、11…変換パラメタ入力部、20、20a…演算部、30…データ出力部、71…プロセッサ、72…記憶部、73…通信インタフェース、74…ユーザインタフェース、201…変換部、202…特徴抽出部、203…逆変換部、204…特徴統合部、205…認識部、206、206a…パラメタ更新部