(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】学習装置、学習済みモデル生成方法、及び、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231205BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2022529202
(86)(22)【出願日】2020-06-03
(86)【国際出願番号】 JP2020021875
(87)【国際公開番号】W WO2021245819
(87)【国際公開日】2021-12-09
【審査請求日】2022-11-30
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】金子 智一
(72)【発明者】
【氏名】寺尾 真
【審査官】新井 則和
(56)【参考文献】
【文献】特開2016-224821(JP,A)
【文献】国際公開第2019/146057(WO,A1)
【文献】中国特許出願公開第111127390(CN,A)
【文献】YAROSLAV, Ganin et al.,Domain-Adversarial Training of Neural Networks, [online] ,2015年05月28日,[retrieved on 2023.10.26], Retrieved from the Internet : <url: https://arxiv.org/pdf/1505.07818v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
入力画像から画像特徴量を抽出する特徴抽出手段と、
前記画像特徴量に基づいて、前記入力画像のクラスを識別し、クラス識別結果を生成するクラス識別手段と、
前記クラス識別結果に基づいて、クラス識別損失を計算するクラス識別損失計算手段と、
前記画像特徴量に基づいて、前記クラスが正常クラスであるか異常クラスであるかを識別し、正常/異常識別結果を生成する正常/異常識別手段と、
前記正常/異常識別結果に基づいて、AUC損失を計算するAUC損失計算手段と、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出手段、前記クラス識別手段及び前記正常/異常識別手段のパラメータを更新する第1の学習手段と、
前記画像特徴量に基づいて、前記入力画像のドメインを識別し、ドメイン識別結果を生成するドメイン識別手段と、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算するドメイン識別損失計算手段と、
前記ドメイン識別損失に基づいて、前記特徴抽出手段及び前記ドメイン識別手段のパラメータを更新する第2の学習手段と、
を備える学習装置。
【請求項2】
前記クラス識別手段は、前記入力画像を2クラスに分類し、
前記正常/異常識別手段は、前記クラス識別手段と同一のパラメータを有する請求項1に記載の学習装置。
【請求項3】
前記クラス識別手段は、前記入力画像を3クラス以上に分類し、
前記正常/異常識別手段は、前記入力画像を3クラス以上に分類してクラス毎にクラス識別スコアを算出し、正常クラスのクラス識別スコアと、異常クラスのクラス識別スコアとを用いて、正常クラスらしさを示す正常/異常識別結果を生成する請求項1に記載の学習装置。
【請求項4】
前記正常/異常識別結果は、各入力画像の正常クラスらしさを示す値であり、
前記AUC損失計算手段は、各入力画像が正常クラスであるか異常クラスであるかを示す正常/異常正解ラベルを用いて、正常クラスの入力画像について計算された正常/異常識別結果と、異常クラスの入力画像について計算された正常/異常識別結果との差分を前記AUC損失として計算する請求項1乃至3のいずれか一項に記載の学習装置。
【請求項5】
前記第1の学習手段は、前記AUC損失が小さくなるように、前記特徴抽出手段、前記クラス識別手段及び前記正常/異常識別手段のパラメータを更新する請求項4に記載の学習装置。
【請求項6】
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する学習済みモデル生成方法。
【請求項7】
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する処理をコンピュータに実行させるプログラム
。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドメイン適応を用いた画像識別手法に関する。
【背景技術】
【0002】
画像認識などにおいて、対象領域における十分な教師データが得られない場合に、ドメイン適応を用いて識別器を学習する手法が知られている。ドメイン適応とは、流用元(ソースドメイン)の教師データを用いて、流用先(ターゲットドメイン)の識別器を学習する手法である。ドメイン適応を用いて識別器を学習する手法が、特許文献1及び非特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-224821号公報
【文献】Yaroslav Ganin, Evgeniya Ustinova, Hana Ajakan, Pascal Germain, Hugo Larochelle, Francois Laviolette, Mario Marchand, and Victor Lempitsky. 2016. Domain-adversarial training of neural networks. J. Mach. Learn. Res. 17, 1 (January 2016), 2096‐2030.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の文献などに記載される手法は、ソースドメインとして、公開データセットなどの教師データが潤沢かつ均等に収集されたデータセットを用いることを前提としている。しかし、実用上は識別対象の全クラスについて潤沢かつ均等に教師データを用意できないことがある。特に、所定の異常クラスに分類されるクラスについては、画像自体の収集が困難な場合もある。異常クラスについての教師データが少ないと、ドメイン適応を用いて学習を行っても、識別器の学習が正常クラスに集中してしまい、学習により得られた識別器は異常クラスを正しく識別できなくなる。
【0005】
本発明の1つの目的は、ソースドメインの一部のクラスのサンプル数が少ない場合でも、ドメイン適応を用いて、精度の高い識別モデルを生成することが可能な学習装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一つの観点では、学習装置は、
入力画像から画像特徴量を抽出する特徴抽出手段と、
前記画像特徴量に基づいて、前記入力画像のクラスを識別し、クラス識別結果を生成するクラス識別手段と、
前記クラス識別結果に基づいて、クラス識別損失を計算するクラス識別損失計算手段と、
前記画像特徴量に基づいて、前記クラスが正常クラスであるか異常クラスであるかを識別し、正常/異常識別結果を生成する正常/異常識別手段と、
前記正常/異常識別結果に基づいて、AUC損失を計算するAUC損失計算手段と、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出手段、前記クラス識別手段及び前記正常/異常識別手段のパラメータを更新する第1の学習手段と、
前記画像特徴量に基づいて、前記入力画像のドメインを識別し、ドメイン識別結果を生成するドメイン識別手段と、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算するドメイン識別損失計算手段と、
前記ドメイン識別損失に基づいて、前記特徴抽出手段及び前記ドメイン識別手段のパラメータを更新する第2の学習手段と、を備える。
【0007】
本発明の他の観点では、学習済みモデル生成方法は、
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する。
【0008】
本発明のさらに他の観点では、プログラムは、
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する処理をコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、ソースドメインの一部のクラスのサンプル数が少ない場合でも、ドメイン適応を用いて、精度の高い識別モデルを生成することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る学習装置の全体構成を示す。
【
図2】学習装置のハードウェア構成を示すブロック図である。
【
図3】学習装置の機能構成を示すブロック図である。
【
図5】正常/異常識別部の動作の一例を説明する図である。
【
図6】学習装置による識別モデル生成処理のフローチャートである。
【
図7】第2実施形態に係る学習装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の好適な実施形態について説明する。
<第1実施形態>
まず、第1実施形態に係る学習装置について説明する。
[全体構成]
図1は、第1実施形態に係る学習装置の全体構成を示す。学習装置100は、ドメイン適応を用いて、ターゲットドメインにおいて使用される識別モデルを学習する。学習装置100は、教師データベース(以下、「データベース」を「DB」と記す。)に接続されている。教師DB2には、識別モデルの学習に使用する教師データが記憶されている。
【0012】
[教師データ]
教師データは、識別モデルの学習のために予め用意されたデータであり、入力画像と、それに対する正解ラベルのペアである。「入力画像」は、ソースドメイン又はターゲットドメインにおいて得られた画像である。「正解ラベル」は、入力画像に対する正解を示すラベルである。本実施形態では、正解ラベルは、クラス正解ラベルと、正常/異常正解ラベルと、ドメイン正解ラベルとを含む。
【0013】
具体的に、ソースドメインから得られた入力画像に対しては、クラス正解ラベルと正常/異常正解ラベルが用意される。「クラス正解ラベル」は、識別モデルによるクラス識別結果の正解、即ち、入力画像が示す物体などのクラスの正解を示すラベルである。「正常/異常正解ラベル」は、入力画像が示す物体などのクラスが、正常クラスであるか異常クラスであるかの正解を示すラベルである。なお、識別モデルが識別の対象とする各クラスは、予め正常クラスと異常クラスのいずれかに分類されており、正常/異常正解ラベルは、入力画像が示す物体のクラスが、正常クラスと異常クラスのいずれに属するかを示すラベルである。
【0014】
また、ソースドメイン及びターゲットドメインの両方から得られた入力画像について、ドメイン正解ラベルが用意される。「ドメイン正解ラベル」は、入力画像がソースドメインとターゲットドメインのいずれのドメインで得られた画像であるかを示すラベルである。
【0015】
次に、ドメイン、及び、正常/異常クラスの例を説明する。一例として、学習の対象となる識別モデルが商品画像から商品クラスを識別する商品識別モデルである場合、ソースドメインとしてWeb上のショッピングサイトから収集した商品画像を用い、ターゲットドメインとして実店舗で取り扱う商品画像を用いることができる。この場合、Web上で取り扱いの少ない商品クラスは商品画像のサンプルが少ないため、異常クラスとみなすことができる。よって、識別対象となる複数の商品クラスのうち、Web上で取り扱いの少ない商品クラスを異常クラスと設定し、それ以外の商品クラスを正常クラスと設定する。
【0016】
別の例として、監視カメラの撮影画像から物体や事象を認識する識別モデルを学習する場合、ある場所に設置されたカメラAをソースドメインとし、別の場所に設置されたカメラBをターゲットドメインとすることができる。ここで、特定の物体や事象が希少である場合、その物体や事象のクラスを異常クラスとみなすことができる。例えば、人物を識別する場合、消防士や警察官などの希少な人物属性を異常クラスと設定し、それ以外の人物属性を正常クラスと設定することができる。
【0017】
[ハードウェア構成]
図2は、学習装置100のハードウェア構成を示すブロック図である。図示のように、学習装置100は、インタフェース(以下、「IF」と記す。)11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15とを備える。
【0018】
IF11は、外部装置との間でデータの入出力を行う。具体的に、教師DB2に記憶されている教師データは、IF11を介して学習装置100に入力される。
【0019】
プロセッサ12は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、学習装置100の全体を制御する。具体的に、プロセッサ12は、後述する識別モデル生成処理を実行する。
【0020】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0021】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、学習装置100に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。学習装置100が各種の処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。
【0022】
データベース15は、IF11を通じて入力された教師データを一時的に記憶する。また、データベース15は、学習装置100内の後述する各識別部の識別モデルを構成するニューラルネットワークなどのパラメータを記憶する。なお、学習装置100は、使用者が指示や入力を行うためのキーボード、マウスなどの入力部、及び、液晶ディスプレイなどの表示部を備えていてもよい。
【0023】
[機能構成]
図3は、学習装置100の機能構成を示すブロック図である。図示のように、学習装置100は、特徴量抽出部21と、クラス識別部22と、正常/異常識別部23と、ドメイン識別部24と、クラス識別学習部25と、クラス識別損失計算部26と、AUC(Area Under an ROC Curve)損失計算部27と、ドメイン識別損失計算部28と、ドメイン識別学習部29と、を備える。
【0024】
特徴抽出部21には、教師データの入力画像が入力される。特徴抽出部21は、入力画像からCNN(Convolutional Neural Network)や、その他の方法で画像特徴量D1を抽出し、クラス識別部22、正常/異常識別部23及びドメイン識別部24に出力する。
【0025】
クラス識別部22は、画像特徴量D1に基づいて入力画像のクラスを識別し、クラス識別結果D2をクラス識別損失計算部26へ出力する。クラス識別部22は、各種の機械学習手法やニューラルネットワークなどを利用したクラス識別モデルを用いて、入力画像のクラスを識別する。クラス識別結果D2は、識別対象のクラス毎の信頼度スコアを含む。
【0026】
クラス識別損失計算部26は、クラス識別結果D2と、教師データに含まれる、その入力画像に対するクラス正解ラベルとを用いて、クラス識別損失D3を計算し、クラス識別学習部25へ出力する。クラス識別損失計算部26は、クラス識別結果D2とクラス正解ラベルとを用いて、例えば交差エントロピーなどの損失を計算し、クラス識別損失D3としてクラス識別学習部25へ出力する。
【0027】
正常/異常識別部23は、画像特徴量D1に基づいて、入力画像が正常クラスであるか異常クラスであるかを示す正常/異常識別結果D5を生成し、AUC損失計算部27へ出力する。具体的に、正常/異常識別部23は、入力画像の各サンプルxごとに、以下の式により正常クラスらしさを示す正常/異常スコアgP(x)を計算し、正常/異常識別結果D5として出力する。
【0028】
【数1】
図4(A)は、正常/異常識別部23の構成の一例を示す。
図4(A)の例は、クラス識別部22が2クラス識別を行う場合の例である。例えば、クラス識別部22は、入力画像がクラスXとクラスYのいずれであるか識別するものとする。ここで、クラスXは正常クラスであり、クラスYは異常クラスであると仮定する。この場合、正常/異常識別部23として、クラス識別部22とパラメータを共有する識別モデルを使用することができる。例えば、ある入力画像について、クラス識別部22が「クラスXの信頼度スコア=0.8、クラスYの信頼度スコア=0.2」というクラス識別結果を出力したとする。この場合、クラスXは正常クラスであるので、入力画像の正常クラスらしさのスコアは、クラスXの信頼度スコアと同一の「0.8」となる。即ち、正常/異常識別部23は、クラス識別部22と同一の識別モデルを用いて正常クラスらしさを示す正常/異常スコアを計算し、それを正常/異常識別結果D5として出力すればよい。
【0029】
図4(B)は、正常/異常識別部23の構成の他の例を示す。
図4(B)の例は、クラス識別部22が3クラス以上の多クラス識別を行う場合の例である。この場合、正常/異常識別部23は、多クラス識別を行うクラス識別部23aと、正常/異常スコア計算部23bとを備える。なお、クラス識別部23aは、クラス識別部22と同一の構成でよい。クラス識別部23aは、入力画像の各サンプルxごとに信頼度スコアp
∧(i|x)を算出し、正常/異常スコア計算部23bへ出力する。正常/異常スコア計算部23bは、入力された信頼度スコアp
∧(i|x)に基づいて、入力画像の各サンプルxごとに正常クラスらしさを示す正常/異常スコアg
P(x)を算出し、正常/異常識別結果D5として出力する。
【0030】
図5は、
図4(B)に示す正常/異常識別部23の動作の一例を説明する図である。いま、クラス識別部23aが、クラスA~Eの5クラスの識別を行うとする。また、この5クラスのうち、クラスA~Cが正常クラス、クラスD~Eが異常クラスに設定されているものとする。クラス識別部23aは、入力画像のクラス識別を行い、各クラスの信頼度スコアSa~Seを算出し、正常/異常スコア計算部23bへ出力する。なお、入力画像xに対する各クラスの信頼度スコアは全クラスの和が1となる。即ち、
Sa+Sb+Sc+Sd+Se=1
となる。
【0031】
正常/異常スコア計算部23bは、入力された各クラスの信頼度スコアに基づいて、その入力画像の正常クラスらしさのスコアを計算する。具体的に、正常/異常スコア計算部23bは、正常クラスであるクラスA~Cの信頼度スコアを合計し、以下のように正常/異常スコアを算出する。
正常/異常スコア=Sa+Sb+Sc
【0032】
そして、正常/異常スコア計算部23bは、得られた正常/異常スコアを、正常/異常識別結果D5として出力する。このように、
図4(B)の例では、クラス識別部22が多クラス分類を行う場合であっても正常/異常識別結果を計算することができる。
【0033】
図3に戻り、AUC損失計算部27は、正常/異常識別結果D5と、教師データに含まれる正常/異常正解ラベルとに基づいて、AUC損失を計算する。具体的には、AUC損失計算部27は、まず、入力画像の各サンプルxの正常/異常正解ラベルを取得し、各サンプルxを正常クラスと異常クラスとに分ける。次に、AUC損失計算部27は、正常クラスのサンプルx
Nと、異常クラスのサンプルx
Pとを取り出してペアを作る。次に、AUC損失計算部27は、各サンプルx
Nとx
Pの正常/異常スコアg
p(x
N)とg
P(x
P)の差分を用いて、以下の式によりAUC損失R
spを計算し、クラス識別学習部25へ出力する。
【0034】
【数2】
なお、上記の式において、「l(エル)」は、0以上の値をとる単調減少関数で、例として下記のシグモイド関数などが用いられる。
【0035】
【数3】
クラス識別学習部25は、クラス識別損失D3及びAUC損失R
spに基づいて、制御信号D4により、特徴抽出部21、クラス識別部22及び正常/異常識別部23を構成するモデルのパラメータを更新する。具体的には、クラス識別学習部25は、クラス識別損失D3が小さくなるように、かつ、AUC損失R
spが小さくなるように、特徴抽出部21、クラス識別部22及び正常/異常識別部23のパラメータを更新する。
【0036】
ドメイン識別部24は、画像特徴量D1に基づいて、入力画像のドメインを識別し、ドメイン識別結果D6をドメイン識別損失計算部28へ出力する。ドメイン識別結果D6は、入力画像のソースドメインらしさ又はターゲットドメインらしさを示すスコアである。ドメイン識別損失計算部28は、ドメイン識別結果D6と、教師データに含まれる、その入力画像のドメイン正解ラベルとに基づいて、ドメイン識別損失D7を計算し、ドメイン識別学習部29へ出力する。
【0037】
ドメイン識別学習部29は、ドメイン識別損失D7に基づいて、制御信号D8により、特徴抽出部21及びドメイン識別部24のパラメータを更新する。具体的には、ドメイン識別学習部29は、特徴抽出部21がドメインの識別をしにくくなるような画像特徴量D1を抽出し、かつ、ドメイン識別部24が正しくドメインを識別できるように、特徴抽出部21及びドメイン識別部24のパラメータを更新する。
【0038】
このように、本実施形態では、ドメイン適応を用いたクラス識別モデルの学習において、AUC損失Rspを用いて特徴抽出部21、クラス識別部22及び正常/異常識別部23のパラメータを更新するので、入力画像のクラス毎のサンプル数の不均衡により生じる悪影響を抑制することができる。よって、特定の異常クラスの入力画像が少ない状況においても、精度の高い識別が可能なクラス識別モデルを生成することができる。
【0039】
[識別モデル生成処理]
図6は、学習装置100による識別モデル生成処理のフローチャートである。この処理は、
図2に示すプロセッサ12が、予め用意されたプログラムを実行し、
図3に示す各要素として動作することにより実現される。
【0040】
まず、教師データに含まれる入力画像が特徴抽出部21に入力され(ステップS11)、特徴抽出部21は、入力画像から画像特徴量D1を抽出する(ステップS12)。次に、ドメイン識別部24は、画像特徴量D1に基づいてドメインを識別し、ドメイン識別結果D6を出力する(ステップS13)。次に、ドメイン識別結果計算部28は、ドメイン識別結果D6とドメイン正解ラベルとに基づいて、ドメイン識別損失D7を計算する(ステップS14)。次に、ドメイン識別学習部29は、ドメイン識別損失D7に基づいて、特徴抽出部21とドメイン識別部24のパラメータを更新する(ステップS15)。なお、ステップS13~S15を、「ドメイン混合処理」と呼ぶ。
【0041】
次に、クラス識別部22は、画像特徴量D1に基づいて入力画像のクラスを識別し、クラス識別結果D2を生成する(ステップS16)。次に、クラス識別損失計算部26は、クラス識別結果D2とクラス正解ラベルとを用いて、クラス識別損失D3を計算する(ステップS17)。なお、ステップS16~S17を、「クラス識別損失計算処理」と呼ぶ。
【0042】
次に、正常/異常識別部23は、画像特徴量D1に基づいて、入力画像が正常クラスであるか異常クラスであるかを識別し、正常/異常識別結果D5を出力する(ステップS18)。次に、AUC損失計算部27は、正常/異常識別結果D5に基づいて、AUC損失Rspを計算する(ステップS19)。なお、ステップS18~S19を、「AUC損失計算処理」と呼ぶ。
【0043】
そして、クラス識別学習部25は、クラス識別損失D3とAUC損失Rspとに基づいて、特徴抽出部21、クラス識別部22及び正常/異常識別部23のパラメータを更新する(ステップS20)。なお、ステップS16~S20を「クラス識別学習処理」と呼ぶ。
【0044】
次に、学習装置100は、学習を終了するか否かを判定する(ステップS21)。学習装置100は、クラス識別損失、AUC損失及びドメイン識別損失が所定範囲に収束した場合、学習を終了すると判定する。学習を終了しない場合(ステップS21:No)、処理はステップS11へ戻り、別の入力画像を用いてステップS11~S20の処理が繰り返される。一方、学習を終了する場合(ステップS21:Yes)、処理は終了する。
【0045】
なお、上記の例では、ドメイン混合処理(ステップS13~S15)の後でクラス識別学習処理(ステップS16~S20)を行っているが、ドメイン混合処理とクラス識別学習処理の順序を逆にしてもよい。また、上記の例では、クラス識別損失計算処理(ステップS16~S17)の後でAUC損失計算処理(ステップS18~19)を行っているが、クラス識別損失計算処理とAUC損失計算処理の順序を逆にしてもよい。
【0046】
さらに、上記の例では、ステップS20でクラス識別損失とAUC損失に基づいてパラメータ更新を行っているが、その代わりに、ステップS17の後にクラス識別損失に基づいてパラメータ更新するステップを設け、ステップS20ではAUC損失に基づいてパラメータ更新を行うようにしてもよい。
【0047】
<第2実施形態>
次に、本発明の第2実施形態について説明する。
図7は、第2実施形態に係る学習装置70の機能構成を示すブロック図である。図示のように、学習装置70は、特徴抽出手段71と、クラス識別手段72と、正常/異常識別手段73と、ドメイン識別手段74と、第1の学習手段75と、クラス識別損失計算手段76と、AUC損失計算手段77と、ドメイン識別損失計算手段78と、第2の学習手段79と、を備える。
【0048】
特徴抽出手段71は、入力画像から画像特徴量を抽出する。クラス識別手段72は、画像特徴量に基づいて、入力画像のクラスを識別し、クラス識別結果を生成する。クラス識別損失計算手段76は、クラス識別結果に基づいて、クラス識別損失を計算する。正常/異常識別手段73は、画像特徴量に基づいて、クラスが正常クラスであるか異常クラスであるかを識別し、正常/異常識別結果を生成する。AUC損失計算手段77は、正常/異常識別結果に基づいて、AUC損失を計算する。第1の学習手段75は、クラス識別損失及びAUC損失に基づいて、特徴抽出手段、クラス識別手段及び正常/異常識別手段のパラメータを更新する。
【0049】
また、ドメイン識別手段74は、画像特徴量に基づいて、入力画像のドメインを識別し、ドメイン識別結果を生成する。ドメイン識別損失計算手段78は、ドメイン識別結果に基づいて、ドメイン識別損失を計算する。第2の学習手段79は、ドメイン識別損失に基づいて、特徴抽出手段及び前記ドメイン識別手段のパラメータを更新する。
【0050】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0051】
(付記1)
入力画像から画像特徴量を抽出する特徴抽出手段と、
前記画像特徴量に基づいて、前記入力画像のクラスを識別し、クラス識別結果を生成するクラス識別手段と、
前記クラス識別結果に基づいて、クラス識別損失を計算するクラス識別損失計算手段と、
前記画像特徴量に基づいて、前記クラスが正常クラスであるか異常クラスであるかを識別し、正常/異常識別結果を生成する正常/異常識別手段と、
前記正常/異常識別結果に基づいて、AUC損失を計算するAUC損失計算手段と、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出手段、前記クラス識別手段及び前記正常/異常識別手段のパラメータを更新する第1の学習手段と、
前記画像特徴量に基づいて、前記入力画像のドメインを識別し、ドメイン識別結果を生成するドメイン識別手段と、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算するドメイン識別損失計算手段と、
前記ドメイン識別損失に基づいて、前記特徴抽出手段及び前記ドメイン識別手段のパラメータを更新する第2の学習手段と、
を備える学習装置。
【0052】
(付記2)
前記クラス識別手段は、前記入力画像を2クラスに分類し、
前記正常/異常識別手段は、前記クラス識別手段と同一のパラメータを有する付記1に記載の学習装置。
【0053】
(付記3)
前記クラス識別手段は、前記入力画像を3クラス以上に分類し、
前記正常/異常識別手段は、前記入力画像を3クラス以上に分類してクラス毎にクラス識別スコアを算出し、正常クラスのクラス識別スコアと、異常クラスのクラス識別スコアとを用いて、正常クラスらしさを示す正常/異常識別結果を生成する付記1に記載の学習装置。
【0054】
(付記4)
前記正常/異常識別結果は、各入力画像の正常クラスらしさを示す値であり、
前記AUC損失計算手段は、各入力画像が正常クラスであるか異常クラスであるかを示す正常/異常正解ラベルを用いて、正常クラスの入力画像について計算された正常/異常識別結果と、異常クラスの入力画像について計算された正常/異常識別結果との差分を前記AUC損失として計算する付記1乃至3のいずれか一項に記載の学習装置。
【0055】
(付記5)
前記第1の学習手段は、前記AUC損失が小さくなるように、前記特徴抽出手段、前記クラス識別手段及び前記正常/異常識別手段のパラメータを更新する付記4に記載の学習装置。
【0056】
(付記6)
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する学習済みモデル生成方法。
【0057】
(付記7)
特徴抽出モデルを用いて入力画像から画像特徴量を抽出し、
前記画像特徴量に基づいて、クラス識別モデルを用いて前記入力画像のクラスを識別してクラス識別結果を生成し、
前記クラス識別結果に基づいて、クラス識別損失を計算し、
前記画像特徴量に基づいて、正常/異常識別モデルを用いて前記クラスが正常クラスであるか異常クラスであるかを識別して正常/異常識別結果を生成し、
前記正常/異常識別結果に基づいてAUC損失を計算し、
前記クラス識別損失及び前記AUC損失に基づいて、前記特徴抽出モデル、前記クラス識別モデル及び前記正常/異常識別モデルのパラメータを更新し、
前記画像特徴量に基づいて、ドメイン識別モデルを用いて前記入力画像のドメインを識別してドメイン識別結果を生成し、
前記ドメイン識別結果に基づいて、ドメイン識別損失を計算し、
前記ドメイン識別損失に基づいて、前記特徴抽出モデル及び前記ドメイン識別モデルのパラメータを更新する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0058】
以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0059】
2 教師データベース
21 特徴抽出部
22 クラス識別部
23 正常/異常識別部
24 ドメイン識別部
25 クラス識別学習部
26 クラス識別損失計算部
27 AUC損失計算部
28 ドメイン識別損失計算部
29 ドメイン識別学習部
100 学習装置