(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】データ拡張装置、学習装置、データ拡張方法、及び、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240416BHJP
G06F 18/214 20230101ALI20240416BHJP
G06V 10/778 20220101ALI20240416BHJP
【FI】
G06N20/00 130
G06F18/214
G06V10/778
(21)【出願番号】P 2022534491
(86)(22)【出願日】2020-07-06
(86)【国際出願番号】 JP2020026348
(87)【国際公開番号】W WO2022009254
(87)【国際公開日】2022-01-13
【審査請求日】2022-12-23
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】並木 重哲
(72)【発明者】
【氏名】谷内田 尚司
(72)【発明者】
【氏名】柴田 剛志
(72)【発明者】
【氏名】細井 利憲
【審査官】山本 俊介
(56)【参考文献】
【文献】米国特許出願公開第2017/0300783(US,A1)
【文献】米国特許出願公開第2019/0213039(US,A1)
【文献】澤田あずさほか,モデル選択によるニューラルネットワークの簡易的ドメイン適応,電子情報通信学会技術研究報告 MI2019-31-MI2019-49 医用画像 [online],日本,一般社団法人電子情報通信学会,2019年08月28日,Vol.119 No.193,pp.109-113,ISSN 2432-6380
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/214
G06V 10/778
(57)【特許請求の範囲】
【請求項1】
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得するデータ取得手段と、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を
前記2つのソースドメインデータ間の特徴量の距離により推定する推定手段と、
前記ターゲットドメインのデータ分布において、前記多様体の構造
を用いて、
前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成するデータ生成手段と、
を備えるデータ拡張装置。
【請求項2】
前記データ生成手段は、前記距離に重み付けを行って前記新たなデータを生成する請求項
1に記載のデータ拡張装置。
【請求項3】
前記データ取得手段は、前記ターゲットドメインのデータ群から、前記1つのターゲットドメインデータをランダムに取得する請求項1
又は2に記載のデータ拡張装置。
【請求項4】
前記データ取得手段は、前記ターゲットドメインのデータ群の特徴量の代表値に相当するデータを前記1つのターゲットドメインデータとして取得する請求項1
又は2に記載のデータ拡張装置。
【請求項5】
前記データ取得手段は、前記ソースドメインのデータ群から、前記2つのソースドメインデータをランダムに取得する請求項1乃至4のいずれか一項に記載のデータ拡張装置。
【請求項6】
前記所定のクラスは、前記ターゲットドメインにおけるデータ数が所定数以下のクラスである請求項1乃至5のいずれか一項に記載のデータ拡張装置。
【請求項7】
前記データ生成手段は、前記新たなデータと、前記所定のクラスのクラスラベルとを含む教師データを生成する請求項1乃至6のいずれか一項に記載のデータ拡張装置。
【請求項8】
請求項1乃至7のいずれか一項に記載のデータ拡張装置と、
モデルを用いて、前記ソースドメインのデータ群、及び、前記新たなデータを含む前記ターゲットドメインのデータ群から特徴量を抽出し、クラスを識別する識別手段と、
前記クラスの識別結果と正解ラベルとの誤差を最小化し、かつ、前記ソースドメインのデータから抽出した特徴量と前記ターゲットドメインのデータから抽出した特徴量との誤差を最小化するように前記モデルを学習する学習手段と、
を備える学習装置。
【請求項9】
コンピュータが、
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を
前記2つのソースドメインデータ間の特徴量の距離により推定し、
前記ターゲットドメインのデータ分布において、前記多様体の構造
を用いて、
前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成するデータ拡張方法。
【請求項10】
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を
前記2つのソースドメインデータ間の特徴量の距離により推定し、
前記ターゲットドメインのデータ分布において、前記多様体の構造
を用いて、
前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習に用いる教師データの拡張に関する。
【背景技術】
【0002】
画像認識などに用いる機械学習のモデルを学習する際、十分な数の教師データが得られない場合、データ拡張により教師データを増量することが行われる。特許文献1、2は、データ拡張方法の例を記載している。また、特許文献3は、認識の対象となる特定のクラスの学習データが他のクラスと比べて少ない場合に、そのクラスの学習データを複製する手法を記載している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-028876号公報
【文献】特開2018-106216号公報
【文献】特開2013-161298号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的に、画像データのデータ拡張では、画像の色相やコントラストを摂動させるなどして、クラスラベルが変わってしまわない限定的な範囲で元の画像データを変形させてデータ数を増やす。ここで、画像認識などの対象が3次元物体である場合には、カメラの角度を変動させるなど、対象物の見た目をよりダイナミックに変形することが好ましいが、画像の色相やコントラストなどを摂動させる手法では、そのようなダイナミックな変形を模擬することが難しい。そのため、拡張したデータを用いてモデルの学習を行っても、画像認識の性能を向上させる効果が限定的となってしまう。
【0005】
また、画像認識などの対象となる複数のクラスのうち、一部のクラスのデータ数が他のクラスに比べて少ない場合には、そのクラスについてデータ拡張が必要となる。
【0006】
本発明の1つの目的は、データ数が少ないクラスの教師データを増量してモデルの学習を行い、モデルの認識性能を向上させることを可能とするデータ拡張装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一つの観点では、データ拡張装置は、
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得するデータ取得手段と、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を前記2つのソースドメインデータ間の特徴量の距離により推定する推定手段と、
前記ターゲットドメインのデータ分布において、前記多様体の構造を用いて、前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成するデータ生成手段と、を備える。
【0008】
本発明の他の観点では、データ拡張方法は、
コンピュータが、
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を前記2つのソースドメインデータ間の特徴量の距離により推定し、
前記ターゲットドメインのデータ分布において、前記多様体の構造を用いて、前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成する。
【0009】
本発明のさらに他の観点では、プログラムは、
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を前記2つのソースドメインデータ間の特徴量の距離により推定し、
前記ターゲットドメインのデータ分布において、前記多様体の構造を用いて、前記1つのターゲットドメインデータから前記距離を有するデータを前記ターゲットドメインの新たなデータを生成する処理をコンピュータに実行させる。
【発明の効果】
【0010】
本発明によれば、データ数が少ないクラスの教師データを増量してモデルの学習を行い、モデルの認識性能を向上させることが可能となる。
【図面の簡単な説明】
【0011】
【
図1】ドメイン適応の手法を模式的に示す図である。
【
図2】第1実施形態のデータ拡張方法を模式的に示す。
【
図3】第1実施形態のデータ拡張装置の全体構成を示す。
【
図4】データ拡張装置のハードウェア構成を示すブロック図である。
【
図5】データ拡張装置の機能構成を示すブロック図である。
【
図6】第1実施形態によるデータ拡張処理のフローチャートである。
【
図7】第2実施形態に係る学習装置の機能構成を示すブロック図である。
【
図8】データ拡張部の構成を示すブロック図である。
【
図9】第2実施形態による学習処理のフローチャートである。
【
図10】第3実施形態に係る学習装置の機能構成を示すブロック図である。
【
図11】第3実施形態による学習処理のフローチャートである。
【
図12】第4実施形態に係るデータ拡張装置の機能構成を示すブロック図である。
【
図13】第4実施形態によるデータ拡張処理のフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の好適な実施形態について説明する。
<第1実施形態>
まず、第1実施形態のデータ拡張装置について説明する。
[基本原理]
ある領域において機械学習モデルの学習に使用する教師データが不足する場合にモデルの性能を向上させる手法としてドメイン適応が用いられる。ドメイン適応とは、豊富なデータが得られるソースドメインのデータを利用して、データが不足しているターゲットドメインにおけるモデルを学習する手法である。詳しくは、ドメイン適応では、ターゲットドメインとソースドメインの特徴量データ分布をなるべく一致させるように近づけることにより、ソースドメインのデータやラベル情報を利用して、ターゲットドメインで使用するモデルを学習する。これにより、ターゲットドメインの教師データ数が十分でない場合でも、ターゲットドメインで使用するモデルの性能を向上させることができる。
【0013】
しかし、ターゲットドメインのデータ数にクラス間のインバランスがあると、単純にドメイン適応を用いても、性能の向上は限定的となる。即ち、ターゲットドメインにおける複数のクラスのうち、一部のクラスのデータ数が他のクラスと比較して極端に少ない場合、ドメイン適応により生成するターゲットドメインの特徴量データ分布をソースドメインの特徴量データ分布に近づけることができず、モデルの性能を十分に向上させることは難しい。なお、以下の説明では、データ数にクラス間のインバランスがある場合、データ数が不足しているクラスを「マイナークラス」と呼び、データ数が不足していないクラス、即ち、マイナークラス以外のクラスを「メジャークラス」と呼ぶ。
【0014】
一例として、車両の画像から車種を認識するモデルを考える。この場合、認識の対象となるクラスラベルは車種である。いま、既存の車種A~Cに加えて、新たな車種Xが登場したとする。
【0015】
図1(A)は、ターゲットドメインにクラス間のインバランスがある場合に、単純にドメイン適応を行う例を模式的に示す。特徴量空間は、特徴量のデータ分布を示す空間である。
図1(A)において、ソースドメインはCG(Computer Graphics)画像のドメインであり、車種A~Cについて、カメラの角度などが異なる多数のCG画像Pcが用意されている。また、新たな車種Xについても同様に多数のCG画像Pcを用意することができる。よって、CG画像により構成されるソースドメインでは、各クラスのCG画像Pcの特徴量を特徴量空間に配置すると、
図1(A)の右側に示すような特徴量データ分布が得られる。
【0016】
これに対し、ターゲットドメインを実写画像のドメインであるとすると、既存の車種A~Cについては既に多数の実写画像Prが存在しているが、新たな車種Xについては実写画像Prは非常に少ない。よって、単純なドメイン適応を行っても、
図1(A)の左側に示すように、ターゲットドメインの特徴量空間では、新たな車種Xについて実写画像Prが少ないため、ソースドメインにおける特徴量データ分布を模擬することができない。このため、単純にドメイン適応を適用しても、認識性能の向上は限定的となる。
【0017】
図1(B)は、本実施形態のドメイン適応により、ソースドメインデータからターゲットドメインデータを生成する例を模式的に示す。この場合、ソースドメインの特徴量空間は
図1(A)と同様であり、CG画像Pcの特徴量データ分布を示す。ここで、ソースドメインの特徴量データ分布には、例えば3次元物体の角度変動などの多様な変動が反映されている。そこで、新たな車種Xについて、ソースドメインの特徴量データ分布を模擬してターゲットドメインの特徴量データ分布を生成する。言い換えると、ソースドメインの特徴量データ分布を、ターゲットドメインに転写する。具体的には、ソースドメインの特徴量データ分布に基づいて、
図1(B)の左側に示すように車種Xの実写画像Prから新たな画像P1~P3を生成する。これにより、ソースドメインの特徴量データ分布をターゲットドメインに転写することができる。
【0018】
図2は、第1実施形態のデータ拡張方法を模式的に示す。
図2の右側に示すように、ソースドメインの特徴量空間においては、マイナークラスである車種Xについても十分なデータ数が存在している。そこで、データ拡張装置は、ソースドメインにおける車種Xのデータ群から、任意の2つのデータ(サンプルデータ)S1、S2をランダムにピックアップする。次に、データ拡張装置は、ピックアップした2つのデータS1、S2の差分ベクトルDを計算する。
【0019】
次に、データ拡張装置は、ターゲットドメインにおける車種Xのデータ群の中から、1つのデータT1をランダムにピックアップする。そして、データ拡張装置は、ピックアップしたデータT1に差分ベクトルDを足し合わせて、ターゲットドメインにおける車種Xの新たなデータT2を作成する。こうして、ターゲットドメインに新たなデータを追加することができる。
【0020】
なお、上記の例では、データ拡張装置は、ソースドメインの2つのデータS1、S2の差分ベクトルを用いてターゲットドメインに新たなデータT2を作成しているが、差分ベクトル以外に、ユークリッド距離やマハラノビス距離など、特徴量空間において規定される距離を用いてもよい。
【0021】
ソースドメインにおいてランダムにピックアップした2つのサンプルデータ間の距離の分布は、ソースドメインの多様体の構造を反映しており、ドメイン適応と合わせることにより、ソースドメインの多様体の構造をターゲットドメインに転写していると考えられる。よって、上記のデータ拡張手法により、ソースドメインの特徴量データ分布をターゲットドメインの特徴量データ分布に転写して、ターゲットドメインにおけるデータを増量することが可能となる。
【0022】
[データ拡張装置]
次に、第1実施形態のデータ拡張装置について説明する。
(全体構成)
図3は、第1実施形態のデータ拡張装置の全体構成を示す。データ拡張装置10は、ソースドメインデータベース(以下、「データベース」を「DB」と記す。)2と、ターゲットドメインDB3とに接続される。ソースドメインDB2は、ソースドメインの教師データであるソースドメインデータ群を記憶している。ターゲットドメインDB3は、ターゲットドメインの教師データであるターゲットドメインデータ群を記憶している。なお、教師データは、画像認識などを行う機械学習モデルの学習に使用されるデータであり、学習用画像データと、その学習用画像データに対する正解ラベル(教師ラベル)とを含む。
【0023】
データ拡張装置10は、ターゲットドメインのマイナークラスの教師データを作成する。具体的に、データ拡張装置10は、ソースドメインDB2からソースドメインデータを取得するとともに、ターゲットドメインDB3からターゲットドメインデータを取得する。そして、データ拡張装置10は、ソースドメインデータとターゲットドメインデータを用いて新たなターゲットドメインデータを作成し、ターゲットドメインDB3に保存する。これにより、マイナークラスのターゲットドメインデータが増量される。
【0024】
(ハードウェア構成)
図4は、データ拡張装置10のハードウェア構成を示すブロック図である。図示のように、データ拡張装置10は、インタフェース(以下、「IF」と記す。)11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15とを備える。
【0025】
IF11は、外部装置との間でデータの入出力を行う。具体的に、ソースドメインDB2及びターゲットドメインDB3に記憶されているデータは、IF11を介してデータ拡張装置10に入力される。また、データ拡張装置10が生成した新たなデータは、IF11を介してターゲットドメインDB3に保存される。
【0026】
プロセッサ12は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、データ拡張装置10の全体を制御する。具体的に、プロセッサ12は、後述するデータ拡張処理を実行する。
【0027】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0028】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、データ拡張装置10に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。データ拡張装置10が各種の処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。
【0029】
データベース15は、IF11を通じてソースドメインDB2やターゲットドメインDB3から入力されたデータを一時的に記憶する。なお、データ拡張装置10は、使用者が指示や入力を行うためのキーボード、マウスなどの入力部、及び、液晶ディスプレイなどの表示部を備えていてもよい。
【0030】
(機能構成)
図5は、データ拡張装置10の機能構成を示すブロック図である。図示のように、データ拡張装置10は、ソースドメインデータ取得部21と、ターゲットドメインデータ取得部22と、サンプル間距離演算部23と、データ生成部24とを備える。
【0031】
ソースドメインデータ取得部21は、ソースドメインDB2から、データ拡張の対象となるマイナークラスについて、任意の2つのサンプルデータをランダムに取得し、サンプル間距離演算部23へ出力する。サンプル間距離演算部23は、特徴量空間における2つのサンプルデータの距離(以下、「サンプル間距離」とも呼ぶ。)を演算し、データ生成部24へ出力する。なお、前述のように、サンプル間距離としては、差分ベクトル、又は、ユークリッド距離やマハラノビス距離などの距離を用いることができる。
【0032】
ターゲットドメインデータ取得部22は、ターゲットドメインDB3から、上記のマイナークラスの任意の1つのサンプルデータをランダムに取得し、データ生成部24に出力する。データ生成部24は、ターゲットドメインデータ取得部22から入力された、ターゲットドメインの1つのサンプルデータと、サンプル間距離演算部23から入力されたサンプル間距離とを用いて、ターゲットドメインの新たなデータを生成し、ターゲットドメインDB3に出力する。具体的には、
図2に示したように、データ生成部24は、ターゲットドメインの1つのサンプルデータT1と、差分ベクトルDなどのサンプル間距離とに基づいて、ターゲットドメインにおける新たなデータT2を生成する。こうして、ソースドメインのデータと、ターゲットドメインのデータとを用いて、ターゲットドメインの新たなデータが生成される。
【0033】
なお、上記の例では、ターゲットドメインデータ取得部22は、ターゲットドメインにおける特定のマイナークラスの任意の1つのサンプルデータを取得しているが、その代わりに、ターゲットドメインにおけるそのマイナークラスの複数のデータのうちの代表データを取得してもよい。この場合、代表データとは、そのマイナークラスの複数のデータの平均値、中央値、重心などに相当するデータとすることができる。言い換えると、ターゲットドメインデータ取得部22は、そのマイナークラスの複数のデータにより構成される特徴量データ分布から大きく外れていないデータを1つのサンプルデータとして取得する。これにより、ソースドメインの多様体の構造をターゲットドメインに適切に転写することが可能となる。
【0034】
上記の構成において、ソースドメインデータ取得部21及びターゲットドメインデータ取得部22はデータ取得手段の一例であり、サンプル間距離演算部23は推定手段の一例であり、データ生成部24はデータ生成手段の一例である。
【0035】
(データ拡張処理)
図6は、第1実施形態によるデータ拡張処理のフローチャートである。この処理は、
図4に示すプロセッサ12が予め用意されたプログラムを実行し、
図5に示す各要素として動作することにより実現される。
【0036】
まず、ソースドメインデータ取得部21は、ソースドメインDB2から任意の2つのサンプルデータを取得する(ステップS11)。次に、サンプル間距離演算部23は、2つのサンプルデータのサンプル間距離を計算する(ステップS12)。次に、ターゲットドメインデータ取得部22は、ターゲットドメインDB3から、1つのサンプルデータを取得する(ステップS13)。なお、この1つのサンプルデータは、前述のように、任意の1つのデータとしてもよく、データ拡張の対象となるマイナークラスの複数のデータの代表データとしてもよい。
【0037】
次に、データ生成部24は、ステップS12で計算されたサンプル間距離と、ステップS13で取得されたターゲットドメインの1つのサンプルデータとを用いて、ターゲットドメインの新たなデータを生成する(ステップS14)。そして、処理は終了する。なお、データ拡張装置10は、上記のデータ拡張処理を必要な数のデータが得られるまで繰り返し行う。
【0038】
以上説明したように、第1実施形態のデータ拡張装置10によれば、データ数が不足しているマイナークラスについて、ソースドメインの多様体の構造をターゲットドメインに転写することにより、ターゲットドメインのデータを増量することができる。よって、ターゲットドメインデータ数にクラス間のインバランスがある場合でも、適切にデータ拡張が可能となる。
【0039】
<第2実施形態>
第2実施形態は、第1実施形態に係るデータ拡張装置を画像認識モデルの学習装置に適用したものである。即ち、学習装置は、マイナークラスの教師データを増量しつつ、画像認識モデルの学習を行う。
【0040】
[機能構成]
図7は、第2実施形態に係る学習装置の機能構成を示すブロック図である。なお、第2実施形態に係る学習装置のハードウェア構成は、基本的に
図4に示す第1実施形態のものと同様である。図示のように、学習装置100は、ターゲットドメインデータ取得部111と、マイナークラスデータ抽出部112と、メジャークラスデータ抽出部113と、データ拡張部114と、特徴抽出部115と、特徴識別部116と、ソースドメインデータ取得部121と、マイナークラスデータ抽出部122と、メジャークラスデータ抽出部123と、特徴抽出部125と、ドメイン適応部126とを備える。この構成において、データ拡張部114は、第1実施形態と同様の手法で、マイナークラスについて、ターゲットドメインデータとソースドメインデータを用いてデータ拡張を行う。
【0041】
ターゲットドメインデータ取得部111は、ターゲットドメインDB3からターゲットドメインデータを取得し、マイナークラスデータ抽出部112及びメジャークラスデータ抽出部113へ出力する。マイナークラスデータ抽出部112は、ターゲットドメインデータから、所定のマイナークラスのターゲットドメインデータDtを抽出し、データ拡張部114へ出力する。メジャークラスデータ抽出部113は、ターゲットドメインデータからメジャークラスデータ、即ち、マイナークラス以外のクラスのデータを抽出し、特徴抽出部115へ出力する。
【0042】
一方、ソースドメインデータ取得部121は、ソースドメインDB2からソースドメインデータを取得し、マイナークラスデータ抽出部122及びメジャークラスデータ抽出部123へ出力する。マイナークラスデータ抽出部122は、ソースドメインデータから所定のマイナークラスのソースドメインデータDsを抽出し、データ拡張部114及び特徴抽出部125へ出力する。なお、所定のマイナークラスが複数ある場合、マイナークラスデータ抽出部112とマイナークラスデータ抽出部122は同一のマイナークラスのデータを抽出する。
【0043】
データ拡張部114は、マイナークラスについてデータ拡張を行う。
図8は、データ拡張部114の構成を示すブロック図である。データ拡張部114は、距離演算部131と、データ生成部132とを備える。距離演算部131には、マイナークラスデータ抽出部122がランダムに抽出した、ソースドメインデータDsの2つのデータサンプルが入力される。距離演算部131は、入力された2つのデータサンプルの距離を計算し、データ生成部132へ出力する。ここでの距離は、前述のように、差分ベクトル、又は、ユークリッド距離その他の距離とすることができる。
【0044】
データ生成部132には、マイナークラスデータ抽出部112からターゲットドメインデータDtの1つのデータサンプルが入力される。データ生成部132は、ターゲットドメインデータDtの1つのデータサンプルと、距離演算部131が計算した距離とを用いて、
図2に模式的に示した手法で新たなターゲットドメインデータDnを生成し、特徴抽出部115へ出力する。こうして、マイナークラスについてターゲットドメインデータを増量し、教師データとして学習に使用することができる。この教師データでは、新たなターゲットドメインデータDnが学習用画像データとなり、上述の所定のマイナークラスのクラスラベルが正解ラベルとなる。
【0045】
特徴抽出部115は、データ拡張部114から入力されたマイナークラスのターゲットドメインデータと、メジャークラスデータ抽出部113から入力されたメジャークラスのターゲットドメインデータのそれぞれについて特徴抽出を行い、抽出した特徴量を特徴識別部116及びドメイン適応部126へ出力する。特徴抽出部115は、例えばCNN(Convolutional Neural Network)などのニューラルネットワークにより構成される。特徴識別部116は、各ターゲットドメインデータについて、抽出された特徴量に基づいてクラス識別を行い、識別結果をそのデータに対応する正解ラベルと比較して誤差を算出する。そして、特徴識別部116は、算出された誤差を最小化するように、特徴抽出部115を構成するニューラルネットワークのパラメータを更新する。
【0046】
一方、特徴抽出部125は、マイナークラスデータ抽出部122から入力されたマイナークラスのソースドメインデータと、メジャークラスデータ抽出部123から入力されたメジャークラスのソースドメインデータのそれぞれについて特徴抽出を行い、抽出した特徴量をドメイン適応部126へ出力する。特徴抽出部125は、特徴抽出部115と同一構成のニューラルネットワークにより構成され、特徴抽出部115と同一のパラメータが設定される。即ち、特徴抽出部115と特徴抽出部125は同一のパラメータを共有する。
【0047】
ドメイン適応部126は、特徴抽出部115及び125から入力された各ドメインデータの特徴量に基づき、2つのドメイン由来のデータの特徴量データ分布の距離を近づけるように、特徴抽出部125を構成するニューラルネットワークのパラメータを最適化する。最適化されたパラメータは特徴抽出部115と共有される。従って、特徴抽出部115及び125のパラメータは、特徴識別部116によるクラス分類が正しく行われ、かつ、2つのドメインのデータの特徴量データ分布が近づくように最適化される。そして、所定の学習終了条件が満たされたときに学習装置100による学習が終了し、そのときの特徴抽出部115のパラメータが学習済みの画像認識モデルのパラメータとして得られる。
【0048】
以上のように、第2実施形態の学習装置100では、ターゲットドメインのデータ数が不足しているマイナークラスについて、ソースドメインデータとターゲットドメインデータとを用いて新たなデータを生成して画像認識モデルの学習を行うことができる。例えば、前述の例では、新しい車種の実写画像が不足している場合に、その車種について必要な数のCG画像を用意し、少数の実写画像と、CG画像とを用いて実写画像の不足を補いつつ画像認識モデルを学習することができる。これにより、新しい車種の実写画像の入手が難しい状況においても、実用上要求される精度で車種を認識できるように画像認識モデルを学習することが可能となる。
【0049】
なお、
図7に示されるように、第2実施形態の学習装置100では、データ拡張部114は特徴抽出部115の前段に配置されており、画像データの段階で新たなデータを生成している。よって、後述する第3実施形態のように、画像データから特徴量を抽出した後の段階、即ち、特徴量データの段階でデータ拡張を行う場合と比較して、演算の負荷を小さくすることができる。
【0050】
上記の構成において、データ拡張部114はデータ拡張装置の一例であり、特徴識別部116は識別手段の一例であり、特徴識別部116及びドメイン適応部126は学習手段の一例である。
【0051】
[学習処理]
図9は、第2実施形態による学習処理のフローチャートである。この処理は、
図4に示すプロセッサ12が、予め用意されたプログラムを実行し、
図7に示す各要素として動作することにより実現される。
【0052】
まず、ターゲットドメインデータ取得部111はターゲットドメインDB3からターゲットドメインデータを取得する。マイナークラスデータ抽出部112はターゲットドメインデータからマイナークラスデータを抽出し、メジャークラスデータ抽出部113はターゲットドメインデータからメジャークラスデータを抽出する(ステップS21)。
【0053】
また、ソースドメインデータ取得部121はソースドメインDB2からソースドメインデータを取得する。マイナークラスデータ抽出部122はソースドメインデータからマイナークラスデータを抽出し、メジャークラスデータ抽出部123はソースドメインデータからメジャークラスデータを抽出する(ステップS22)。
【0054】
次に、データ拡張部114は、マイナークラスのターゲットドメインデータDtと、マイナークラスのソースドメインデータDsとを用いて、新たなターゲットドメインデータDnを生成する(ステップS23)。
【0055】
次に、特徴抽出部115は、ターゲットドメインのメジャークラスデータ、及び、データ拡張部114により生成された新たなデータから特徴抽出を行う(ステップS24)。また、特徴抽出部125は、ソースドメインのマイナークラスデータ及びメジャークラスデータから特徴抽出を行う(ステップS25)。
【0056】
次に、特徴識別部116は、特徴抽出部115が抽出した特徴量を用いて画像データのクラス分類を行い、分類結果を用いて特徴抽出部115を構成するニューラルネットワークのパラメータを最適化する(ステップS26)。具体的には、特徴識別部116は、クラス分類結果と、正解ラベルとの誤差に基づいて特徴抽出部115を構成するニューラルネットワークのパラメータを更新する。
【0057】
また、ドメイン適応部126は、特徴抽出部115及び125が抽出した特徴量を用いて、2つのドメイン由来の画像データの特徴量データ分布が近似するように、特徴抽出部125を構成するニューラルネットワークのパラメータを最適化する(ステップS27)。具体的には、ドメイン適応部126は、ソースドメインデータとターゲットドメインデータの特徴量データ分布の距離を最小化するように特徴抽出部125を構成するニューラルネットワークのパラメータを更新する。
【0058】
学習装置100は、上記の処理を所定の学習終了条件が具備されるまで行う。学習が終了した時点で特徴抽出部115、125に設定されているパラメータにより、学習済みの画像認識モデルが構成される。
【0059】
[変形例1]
上記の実施形態では、データ生成部132は、1つのターゲットドメインデータDtと、距離演算部131が出力した距離を用いて新たなターゲットドメインデータDnを生成している。この際、データ生成部132は、距離演算部131が出力した距離に対して、所定の重みを掛けて新たなターゲットドメインデータDnを生成してもよい。例えば、重みの値を0~1の範囲とし、データ生成部132は学習装置100による学習の初期段階では重みの値を小さめに設定してモデルの学習を行う。その後、データ生成部132は、特徴識別部116が算出するクラス分類の誤差や、ドメイン適応部126が判定する2つのドメイン由来の特徴量データ分布の距離を参照し、それらが収束方向であれば重みの値を徐々に増加させ、収束方向でなければ重みの値を減少するようにして、拡張するデータの特徴量データ分布を調整してもよい。
【0060】
<第3実施形態>
上記の第2実施形態では、学習装置100はデータ拡張を画像データの段階で行っている。これに対し、以下の第3実施形態では、学習装置はデータ拡張を特徴量データの段階で行う。
【0061】
[機能構成]
図10は、第3実施形態に係る学習装置の機能構成を示すブロック図である。なお、第3実施形態に係る学習装置のハードウェア構成は、基本的に
図4に示す第1実施形態のものと同様である。図示のように、学習装置200は、ターゲットドメインデータ取得部211と、マイナークラスデータ抽出部212と、メジャークラスデータ抽出部213と、データ拡張部214と、特徴抽出部215と、特徴識別部216と、ソースドメインデータ取得部221と、マイナークラスデータ抽出部222と、メジャークラスデータ抽出部223と、特徴抽出部225と、ドメイン適応部226とを備える。
【0062】
図7と比較すると理解されるように、第3実施形態では、特徴抽出部215がマイナークラスデータ抽出部212及びメジャークラスデータ抽出部213の前段に位置しており、特徴抽出部225がマイナークラスデータ抽出部222及びメジャークラスデータ抽出部223の前段に位置している。これにより、データ拡張部214は、特徴抽出部215、225により抽出された特徴量データを用いてデータ拡張を行うことになる。この点以外は、第3実施形態の学習装置200の処理は、基本的に第2実施形態と同様である。
【0063】
具体的に、特徴抽出部215は、ターゲットドメインデータ取得部211が取得したターゲットドメインデータから特徴量を抽出し、マイナークラスデータ抽出部212及びメジャークラスデータ抽出部213へ出力する。マイナークラスデータ抽出部212は、ターゲットドメインデータからマイナークラスデータを抽出し、データ拡張部214へ出力する。メジャークラスデータ抽出部213は、ターゲットドメインデータからメジャークラスデータを抽出し、特徴識別部216及びドメイン適応部226へ出力する。
【0064】
特徴抽出部225は、ソースドメインデータ取得部221が取得したソースドメインデータから特徴量を抽出し、マイナークラスデータ抽出部222及びメジャークラスデータ抽出部223へ出力する。マイナークラスデータ抽出部222は、ソースドメインデータからマイナークラスデータDsを抽出し、データ拡張部214及びドメイン適応部226へ出力する。メジャークラスデータ抽出部223は、ソースドメインデータからメジャークラスデータを抽出し、ドメイン適応部226へ出力する。
【0065】
データ拡張部214は、特徴量データとしてのターゲットドメインデータDtの1つのデータサンプルと、特徴量データとしてのソースドメインデータDsの2つのデータサンプルとを用いて、データ拡張を行う。データ拡張部214の構成は、
図8に示す第2実施形態のデータ拡張部114と同様である。但し、第3実施形態では、距離演算部131は、特徴量としてのソースドメインデータDsの2つのデータサンプル間の距離を演算し、データ生成部132はその距離を用いて新たなターゲットドメインデータDnを生成する。データ拡張部214は、生成した新たなターゲットドメインデータDnを特徴識別部216へ出力する。
【0066】
特徴識別部216は、データ拡張部214により生成されたマイナークラスのターゲットドメインデータDn、及び、メジャークラスデータ抽出部213が抽出したメジャークラスのターゲットドメインデータのそれぞれについてクラス識別を行い、識別結果をそのデータに対応する正解ラベルと比較して誤差を算出する。そして、特徴識別部216は、算出された誤差が小さくなるように、特徴抽出部215のパラメータを更新する。
【0067】
一方、ドメイン適応部226は、データ拡張部214又はメジャークラスデータ抽出部213から入力されたターゲットドメインデータと、マイナークラスデータ抽出部222又はメジャークラスデータ抽出部223から入力されたソースドメインデータの特徴量データ分布の距離を近づけるように特徴抽出部225のパラメータを最適化する。最適化されたパラメータは特徴抽出部215と共有される。従って、特徴抽出部215及び225のパラメータは、特徴識別部216によるクラス分類が正しく行われ、かつ、2つのドメインのデータの特徴量データ分布が近づくように最適化される。そして、所定の基準が満たされたときに学習装置200による学習が終了し、そのときの特徴抽出部215、225のパラメータが学習済みの画像認識モデルのパラメータとして得られる。
【0068】
以上のように、第3実施形態の学習装置200によっても、ターゲットドメインのデータ数が不足しているマイナークラスについて、ソースドメインデータとターゲットドメインデータとを用いて新たなデータを生成して画像認識モデルの学習を行うことができる。
【0069】
上記の構成において、データ拡張部214はデータ拡張装置の一例であり、特徴識別部216は識別手段の一例であり、特徴識別部216及びドメイン適応部226は学習手段の一例である。
【0070】
[学習処理]
図11は、第3実施形態による学習処理のフローチャートである。この処理は、
図4に示すプロセッサ12が、予め用意されたプログラムを実行し、
図10に示す各要素として動作することにより実現される。
【0071】
まず、ターゲットドメインデータ取得部211はターゲットドメインDB3からターゲットドメインデータを取得する(ステップS31)。また、ソースドメインデータ取得部221はソースドメインDB2からソースドメインデータを取得する(ステップS32)。
【0072】
次に、特徴抽出部215は、ターゲットドメインデータから特徴抽出を行い、特徴量データとしてのターゲットドメインデータをマイナークラスデータ抽出部212及びメジャークラスデータ抽出部213へ出力する(ステップS33)。また、特徴抽出部225は、ソースドメインデータから特徴抽出を行い、特徴量データとしてのソースドメインデータをマイナークラスデータ抽出部222及びメジャークラスデータ抽出部223へ出力する(ステップS34)。
【0073】
次に、データ拡張部214は、マイナークラスのターゲットドメインデータDtと、マイナークラスのソースドメインデータDsとを用いて、新たなターゲットドメインデータDnを生成する(ステップS35)。この際、データ拡張部214は、特徴量データであるターゲットドメインデータ及びソースドメインデータを用いて、特徴量データとしての新たなターゲットドメインデータDnを生成する。
【0074】
次に、特徴識別部216は、データ拡張部214が生成した新たなターゲットドメインデータDn及びメジャークラスデータ抽出部213から出力される特徴量データとしてのターゲットドメインデータを用いて、画像データのクラス分類を行い、分類結果を用いて特徴抽出部215を構成するニューラルネットワークのパラメータを最適化する(ステップS36)。
【0075】
また、ドメイン適応部226は、データ拡張部214又はメジャークラスデータ抽出部213から出力される特徴量データとしてのターゲットドメインデータと、マイナークラスデータ抽出部222又はメジャークラスデータ抽出部223から出力される特徴量データとしてのソースドメインデータを用いて、2つのドメイン由来の画像データの特徴量データ分布が近似するように、特徴抽出部225を構成するニューラルネットワークのパラメータを最適化する(ステップS37)。
【0076】
学習装置200は、上記の処理を所定の学習終了条件が具備されるまで行う。学習が終了した時点で特徴抽出部215、225に設定されているパラメータにより、学習済みの特徴抽出モデルが構成される。
【0077】
[変形例]
第2実施形態における変形例1は、第3実施形態にも適用することができる。即ち、第3実施形態においても、データ拡張部214のデータ生成部132は、距離演算部131が出力した距離に対して、所定の重みを掛けて新たなターゲットドメインデータDnを生成してもよい。
【0078】
<第4実施形態>
次に、本発明の第4実施形態について説明する。
図12は、第4実施形態に係るデータ拡張装置70の機能構成を示すブロック図である。データ拡張装置70は、データ取得手段71と、推定手段72と、データ生成手段73とを備える。
【0079】
データ取得手段71は、ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から所定のクラスの1つのターゲットドメインデータを取得する。推定手段72は、2つのソースドメインデータを用いて、ソースドメインのデータ分布を示す多様体の構造を推定する。データ生成手段73は、1つのターゲットドメインデータと、多様体の構造とを用いて、ターゲットドメインの新たなデータを生成する。
【0080】
図13は、第4実施形態によるデータ拡張処理のフローチャートである。このデータ拡張処理は、
図12に示すデータ拡張装置70により実行される。具体的に、データ取得手段71は、ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から所定のクラスの1つのターゲットドメインデータを取得する(ステップS41)。推定手段72は、2つのソースドメインデータを用いて、ソースドメインのデータ分布を示す多様体の構造を推定する(ステップS42)。データ生成手段73は、1つのターゲットドメインデータと、多様体の構造とを用いて、ターゲットドメインの新たなデータを生成する(ステップS43)。
【0081】
<適用例>
上記の実施形態は、画像認識などを行うシステムにおいて、従来のクラスとは異なる新たなクラスが出現した場合に好適に適用することができる。例えば、自動車等の監視カメラシステムにおいて新しい車種が登場した場合や、工場の製造ラインなどにおける外観検査システムにおいて新たな検査対象物(即ち、新たな製品)が登場した場合などに適用することができる。
【0082】
なお、従来無かった新たなクラスが登場した場合に限らず、従来と同一のクラスの対象物を異なる方向から見たものを、別の新たなクラスとして取り扱うような場合にも、上記の実施形態を適用することができる。例えば、自動車等の監視カメラシステムにおいて、従来は車両の前方から撮影した画像(以下、「前方画像」と呼ぶ。)を用いて車種の認識を行っていたが、車両の後方から撮影した画像(以下、「後方画像」と呼ぶ。)も用いて車種の認識も行うようにシステムを改良したとする。ここで、後方画像についてクラス間にデータ数のインバランスがある場合、即ち、ある車種については後方画像のデータ数が極端に不足しているような場合にも、上記の実施形態の手法を適用することができる。
【0083】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0084】
(付記1)
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得するデータ取得手段と、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を推定する推定手段と、
前記1つのターゲットドメインデータと、前記多様体の構造とを用いて、前記ターゲットドメインの新たなデータを生成するデータ生成手段と、
を備えるデータ拡張装置。
【0085】
(付記2)
前記推定手段は、前記多様体の構造を、前記2つのソースドメインデータ間の特徴量の距離により推定する付記1に記載のデータ拡張装置。
【0086】
(付記3)
前記データ生成手段は、前記ターゲットドメインのデータ分布において、前記1つのターゲットドメインデータから前記距離を有するデータを前記新たなデータとして生成する付記2に記載のデータ拡張装置。
【0087】
(付記4)
前記データ生成手段は、前記距離に重み付けを行って前記新たなデータを生成する付記2又は3に記載のデータ拡張装置。
【0088】
(付記5)
前記データ取得手段は、前記ターゲットドメインのデータ群から、前記1つのターゲットドメインデータをランダムに取得する付記1乃至4のいずれか一項に記載のデータ拡張装置。
【0089】
(付記6)
前記データ取得手段は、前記ターゲットドメインのデータ群の特徴量の代表値に相当するデータを前記1つのターゲットドメインデータとして取得する付記1乃至4のいずれか一項に記載のデータ拡張装置。
【0090】
(付記7)
前記データ取得手段は、前記ソースドメインのデータ群から、前記2つのソースドメインデータをランダムに取得する付記1乃至6のいずれか一項に記載のデータ拡張装置。
【0091】
(付記8)
前記所定のクラスは、前記ターゲットドメインにおけるデータ数が所定数以下のクラスである付記1乃至7のいずれか一項に記載のデータ拡張装置。
【0092】
(付記9)
前記データ生成手段は、前記新たなデータと、前記所定のクラスのクラスラベルとを含む教師データを生成する付記1乃至8のいずれか一項に記載のデータ拡張装置。
【0093】
(付記10)
付記1乃至9のいずれか一項に記載のデータ拡張装置と、
モデルを用いて、前記ソースドメインのデータ群、及び、前記新たなデータを含む前記ターゲットドメインのデータ群から特徴量を抽出し、クラスを識別する識別手段と、
前記クラスの識別結果と正解ラベルとの誤差を最小化し、かつ、前記ソースドメインのデータから抽出した特徴量と前記ターゲットドメインのデータから抽出した特徴量との誤差を最小化するように前記モデルを学習する学習手段と、
を備える学習装置。
【0094】
(付記11)
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を推定し、
前記1つのターゲットドメインデータと、前記多様体の構造とを用いて、前記ターゲットドメインの新たなデータを生成するデータ拡張方法。
【0095】
(付記12)
ソースドメインのデータ群から所定のクラスの2つのソースドメインデータを取得し、ターゲットドメインのデータ群から前記所定のクラスの1つのターゲットドメインデータを取得し、
前記2つのソースドメインデータを用いて、前記ソースドメインのデータ分布を示す多様体の構造を推定し、
前記1つのターゲットドメインデータと、前記多様体の構造とを用いて、前記ターゲットドメインの新たなデータを生成する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0096】
以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0097】
2 ソースドメインデータベース
3 ターゲットドメインデータベース
10 データ拡張装置
12 プロセッサ
21、121、221 ソースドメインデータ取得部
22、111、211 ターゲットドメインデータ取得部
23 サンプル間距離演算部
24、132 データ生成部
112、122、212、222 マイナークラスデータ抽出部
113、123、213、223 メジャークラスデータ抽出部
114、214 データ拡張部
115、125、215、225 特徴抽出部
116、126、216、226 ドメイン適応部
131 距離演算部