(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108533
(43)【公開日】2024-08-13
(54)【発明の名称】データ拡張装置、データ拡張方法およびデータ拡張プログラム
(51)【国際特許分類】
G06F 18/214 20230101AFI20240805BHJP
G06N 20/00 20190101ALI20240805BHJP
【FI】
G06F18/214
G06N20/00 130
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023012953
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】000001122
【氏名又は名称】株式会社日立国際電気
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】山根 慶大
(72)【発明者】
【氏名】長谷川 圭吾
(72)【発明者】
【氏名】小野 豪一
(72)【発明者】
【氏名】北山 晃
(57)【要約】
【課題】変換前後のデータ間の乖離を抑制すること。
【解決手段】データ拡張装置は、ドメイン逆変換器により第2学習用サンプルを第1学習用サンプルに疑似する疑似第1学習用サンプルに変換し、ドメイン順変換器により疑似第1学習用サンプルを第2学習用サンプルに疑似する疑似第2学習用サンプルに変換する第1変換処理と、第1変換処理によって出力された疑似第1学習用サンプルをリファレンスモデルに入力した結果得られる出力値である疑似第1出力値と、第2正解値と、に基づく損失値である疑似第1損失値を算出する第1算出処理と、第2学習用サンプルと疑似第2学習用サンプルとに基づく第2損失値を算出する第2算出処理と、第1算出処理によって算出された疑似第1損失値と第2算出処理によって算出された第2損失値とを統合した統合損失値が小さくなるように、ドメイン逆変換器およびドメイン順変換器を学習する第1学習処理と、を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有するデータ拡張装置であって、
前記記憶デバイスは、第1学習用サンプルと前記第1学習用サンプルの正解を示す第1正解値との組み合わせの集合である第1ドメインでの第1学習用データセットと、第2学習用サンプルと前記第2学習用サンプルの正解を示す第2正解値との組み合わせの集合である第2ドメインでの第2学習用データセットと、リファレンスモデルと、ドメイン順変換器と、ドメイン逆変換器と、を記憶し、
前記リファレンスモデルは、前記第1学習用サンプルを前記リファレンスモデルに入力した結果出力される第1出力値と前記第1正解値とに基づく第1損失値が小さくなるように学習された学習モデルであり、
前記ドメイン順変換器は、前記第1ドメインに関するデータを前記第2ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記ドメイン逆変換器は、前記第2ドメインに関するデータを前記第1ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記プロセッサは、
前記ドメイン逆変換器により前記第2学習用サンプルを前記第1学習用サンプルに疑似する疑似第1学習用サンプルに変換し、前記ドメイン順変換器により前記疑似第1学習用サンプルを前記第2学習用サンプルに疑似する疑似第2学習用サンプルに変換する第1変換処理と、
前記第1変換処理によって出力された前記疑似第1学習用サンプルを前記リファレンスモデルに入力した結果得られる出力値である疑似第1出力値と、前記第2正解値と、に基づく損失値である疑似第1損失値を算出する第1算出処理と、
前記第2学習用サンプルと前記疑似第2学習用サンプルとに基づく第2損失値を算出する第2算出処理と、
前記第1算出処理によって算出された疑似第1損失値と前記第2算出処理によって算出された第2損失値とを統合した統合損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する第1学習処理と、
を実行することを特徴とするデータ拡張装置。
【請求項2】
請求項1に記載のデータ拡張装置であって、
前記プロセッサは、
前記ドメイン逆変換器に前記第2学習用サンプルを入力した結果出力される前記疑似第1学習用サンプルを第3学習用サンプルとし、前記第2正解値を第3正解値として、関連付けることにより、第3学習用データセットを作成する作成処理、
を実行することを特徴とするデータ拡張装置。
【請求項3】
請求項2に記載のデータ拡張装置であって、
前記作成処理では、前記プロセッサは、前記第1学習用データセットを前記第3学習用データセットに追加する、
ことを特徴とするデータ拡張装置。
【請求項4】
請求項2に記載のデータ拡張装置であって、
前記記憶デバイスは、前記第3学習用データセットを用いて学習されるターゲットモデルを記憶し、
前記プロセッサは、
前記第3学習用サンプルを前記ターゲットモデルに入力した結果出力される第2出力値と前記第3正解値とに基づく第3損失値が小さくなるように、前記ターゲットモデルを学習する第2学習処理、
を実行することを特徴とするデータ拡張装置。
【請求項5】
請求項1に記載のデータ拡張装置であって、
前記プロセッサは、
前記ドメイン順変換器に前記第1学習用サンプルを入力した結果出力される前記疑似第2学習用サンプルを第3学習用サンプルとし、前記第1正解値を第3正解値として、関連付けることにより、第3学習用データセットを作成する作成処理、
を実行することを特徴とするデータ拡張装置。
【請求項6】
請求項5に記載のデータ拡張装置であって、
前記作成処理では、前記プロセッサは、前記第2学習用データセットを前記第3学習用データセットに追加する、
ことを特徴とするデータ拡張装置。
【請求項7】
請求項5に記載のデータ拡張装置であって、
前記記憶デバイスは、前記第3学習用データセットを用いて学習されるターゲットモデルを記憶し、
前記プロセッサは、
前記第3学習用サンプルを前記ターゲットモデルに入力した結果出力される第2出力値と前記第3正解値とに基づく第3損失値が小さくなるように、前記ターゲットモデルを学習する第2学習処理、
を実行することを特徴とするデータ拡張装置。
【請求項8】
請求項1に記載のデータ拡張装置であって、
前記プロセッサは、
前記第1学習用サンプルと、前記ドメイン逆変換器で前記疑似第2学習用サンプルから変換された疑似第1学習用サンプルと、に基づく第4損失値を算出する第3算出処理と、
前記第3算出処理によって算出された第4損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する第3学習処理と、
を実行することを特徴とするデータ拡張装置。
【請求項9】
請求項1に記載のデータ拡張装置であって、
前記プロセッサは、
前記第1学習用サンプルと、前記ドメイン逆変換器で前記疑似第2学習用サンプルから変換された疑似第1学習用サンプルと、に基づく第4損失値を算出する第3算出処理を実行し、
前記第1学習処理では、前記プロセッサは、前記第2損失値と前記疑似第1損失値と前記第3算出処理によって算出された第4損失値とを統合した統合損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する、
ことを特徴とするデータ拡張装置。
【請求項10】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有するデータ拡張装置が実行するデータ拡張方法であって、
前記記憶デバイスは、第1学習用サンプルと前記第1学習用サンプルの正解を示す第1正解値との組み合わせの集合である第1ドメインでの第1学習用データセットと、第2学習用サンプルと前記第2学習用サンプルの正解を示す第2正解値との組み合わせの集合である第2ドメインでの第2学習用データセットと、リファレンスモデルと、ドメイン順変換器と、ドメイン逆変換器と、を記憶し、
前記リファレンスモデルは、前記第1学習用サンプルを前記リファレンスモデルに入力した結果出力される第1出力値と前記第1正解値とに基づく第1損失値が小さくなるように学習された学習モデルであり、
前記ドメイン順変換器は、前記第1ドメインに関するデータを前記第2ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記ドメイン逆変換器は、前記第2ドメインに関するデータを前記第1ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記プロセッサは、
前記ドメイン逆変換器により前記第2学習用サンプルを前記第1学習用サンプルに疑似する疑似第1学習用サンプルに変換し、前記ドメイン順変換器により前記疑似第1学習用サンプルを前記第2学習用サンプルに疑似する疑似第2学習用サンプルに変換する第1変換処理と、
前記第1変換処理によって出力された前記疑似第1学習用サンプルを前記リファレンスモデルに入力した結果得られる出力値である疑似第1出力値と、前記第2正解値と、に基づく損失値である疑似第1損失値を算出する第1算出処理と、
前記第2学習用サンプルと前記疑似第2学習用サンプルとに基づく第2損失値を算出する第2算出処理と、
前記第1算出処理によって算出された疑似第1損失値と前記第2算出処理によって算出された第2損失値とを統合した統合損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する第1学習処理と、
を実行することを特徴とするデータ拡張方法。
【請求項11】
プロセッサにデータ拡張を実行させるデータ拡張プログラムであって、
前記プロセッサは、記憶デバイスにアクセス可能であり、
前記記憶デバイスは、第1学習用サンプルと前記第1学習用サンプルの正解を示す第1正解値との組み合わせの集合である第1ドメインでの第1学習用データセットと、第2学習用サンプルと前記第2学習用サンプルの正解を示す第2正解値との組み合わせの集合である第2ドメインでの第2学習用データセットと、リファレンスモデルと、ドメイン順変換器と、ドメイン逆変換器と、を記憶し、
前記リファレンスモデルは、前記第1学習用サンプルを前記リファレンスモデルに入力した結果出力される第1出力値と前記第1正解値とに基づく第1損失値が小さくなるように学習された学習モデルであり、
前記ドメイン順変換器は、前記第1ドメインに関するデータを前記第2ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記ドメイン逆変換器は、前記第2ドメインに関するデータを前記第1ドメインに関するデータに疑似するデータに変換する学習モデルであり、
前記プロセッサに、
前記ドメイン逆変換器により前記第2学習用サンプルを前記第1学習用サンプルに疑似する疑似第1学習用サンプルに変換し、前記ドメイン順変換器により前記疑似第1学習用サンプルを前記第2学習用サンプルに疑似する疑似第2学習用サンプルに変換する第1変換処理と、
前記第1変換処理によって出力された前記疑似第1学習用サンプルを前記リファレンスモデルに入力した結果得られる出力値である疑似第1出力値と、前記第2正解値と、に基づく損失値である疑似第1損失値を算出する第1算出処理と、
前記第2学習用サンプルと前記疑似第2学習用サンプルとに基づく第2損失値を算出する第2算出処理と、
前記第1算出処理によって算出された疑似第1損失値と前記第2算出処理によって算出された第2損失値とを統合した統合損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する第1学習処理と、
を実行させることを特徴とするデータ拡張プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習で使用される学習データを拡張するデータ拡張装置、データ拡張方法およびデータ拡張プログラムに関する。
【背景技術】
【0002】
機械学習はニューラルネットワークなどの公知の学習手段により、入力されたデータに基づく予測を実現する技術である。たとえば、カメラ等の撮像装置によって収集された画像を入力として、画像に写る物体が何であるかを出力する装置が存在する。
【0003】
上記の機械学習技術においては,様々なパターンのデータを学習することで予測精度を向上できるため、学習用データのパターンを増やすことやデータの収集に係るコストを削減する必要がある(たとえば、下記特許文献1を参照。)。
【0004】
特許文献1は、敵対的生成ネットワーク(GAN)を用いて学習データに類似した合成データを作成するデータ拡張技術を開示する。具体的には、特許文献1の顔画像の生成方法は、ユーザが対話シーンにおいて入力した顔を含む第1の画像を受信するステップと、第1の画像をユーザに提示するステップと、バックグラウンドで、入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するステップと、を含む。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら,敵対的生成ネットワーク(GAN)を用いたデータ拡張技術は、実際に収集された現実世界のデータとの乖離が大きく機械学習モデルの精度向上に寄与しない合成データを生成する場合がある。
【0007】
本発明は、変換前後のデータ間の乖離を抑制することを目的とする。
【課題を解決するための手段】
【0008】
本願において開示される発明の一側面となるデータ拡張装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有するデータ拡張装置であって、前記記憶デバイスは、第1学習用サンプルと前記第1学習用サンプルの正解を示す第1正解値との組み合わせの集合である第1ドメインでの第1学習用データセットと、第2学習用サンプルと前記第2学習用サンプルの正解を示す第2正解値との組み合わせの集合である第2ドメインでの第2学習用データセットと、リファレンスモデルと、ドメイン順変換器と、ドメイン逆変換器と、を記憶し、前記リファレンスモデルは、前記第1学習用サンプルを前記リファレンスモデルに入力した結果出力される第1出力値と前記第1正解値とに基づく第1損失値が小さくなるように学習された学習モデルであり、前記ドメイン順変換器は、前記第1ドメインに関するデータを前記第2ドメインに関するデータに疑似するデータに変換する学習モデルであり、前記ドメイン逆変換器は、前記第2ドメインに関するデータを前記第1ドメインに関するデータに疑似するデータに変換する学習モデルであり、前記プロセッサは、前記ドメイン逆変換器により前記第2学習用サンプルを前記第1学習用サンプルに疑似する疑似第1学習用サンプルに変換し、前記ドメイン順変換器により前記疑似第1学習用サンプルを前記第2学習用サンプルに疑似する疑似第2学習用サンプルに変換する第1変換処理と、前記第1変換処理によって出力された前記疑似第1学習用サンプルを前記リファレンスモデルに入力した結果得られる出力値である疑似第1出力値と、前記第2正解値と、に基づく損失値である疑似第1損失値を算出する第1算出処理と、前記第2学習用サンプルと前記疑似第2学習用サンプルとに基づく第2損失値を算出する第2算出処理と、前記第1算出処理によって算出された疑似第1損失値と前記第2算出処理によって算出された第2損失値とを統合した統合損失値が小さくなるように、前記ドメイン逆変換器および前記ドメイン順変換器を学習する第1学習処理と、を実行することを特徴とする。
【発明の効果】
【0009】
本発明の代表的な実施の形態によれば、変換前後のデータ間の乖離を抑制することができる。
前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、データ拡張装置の機能的構成例1を示すブロック図である。
【
図2】
図2は、データ拡張装置の機能的構成例2を示すブロック図である。
【
図3】
図3は、ドメイン逆変換器およびドメイン順変換器による学習処理手順例を示すフローチャートである。
【
図4】
図4は、データ拡張装置の機能的構成例3を示すブロック図である。
【
図5】
図5は、データ拡張装置の機能的構成例4を示すブロック図である。
【
図6】
図6は、実施例1にかかるデータ拡張装置の運用例を示すフローチャートである。
【
図7】
図7は、データ拡張装置のハードウェア構成例を示すブロック図である。
【
図8】
図8は、データ拡張装置の機能的構成例5を示すブロック図である。
【
図9】
図9は、実施例2にかかるデータ拡張装置の運用例を示すフローチャートである。
【
図10】
図10は、データ拡張装置の機能的構成例6を示すブロック図である。
【発明を実施するための形態】
【実施例0011】
<データ拡張装置100の機能的構成例1>
図1は、データ拡張装置の機能的構成例1を示すブロック図である。データ拡張装置100は、第1学習用データセット101を保持する。第1学習用データセット101は、第1ドメインで取得された複数の第1学習用サンプル102と、第1学習用サンプル102に対する第1正解値105と、を含む。ここで、第1ドメインとは、たとえば、第1学習用サンプル102を取得できる特定の場所や周辺環境、サンプル取得装置の設定値に依る第1学習用サンプル102のデータ分布を示す。
【0012】
サンプル取得装置がAI(Artificial Intelligence)監視カメラである場合、特定の場所とは、たとえば、AI監視カメラの設置場所である。AI監視カメラは、撮影した画像データを解析して、被写体、被写体の行動、被写体で起きている事象を予測する。
【0013】
周辺環境とは、たとえば、AI監視カメラの設置場所周辺に存在する建物や道路、設置物である。サンプル取得装置の設定値とは、たとえば、AI監視カメラの撮影角度、画角、フレームレートなどの撮影条件である。第1学習用サンプル102は、たとえば、AI監視カメラで撮像された画像データである。第1学習用サンプル102に対する第1正解値105は、たとえば、第1学習用サンプル102が画像データであれば、当該画像データに映っている物体の名称を特定する識別情報である。
【0014】
リファレンスモデル103は、第1学習用サンプル102と第1正解値105とによって学習される機械学習モデルである。たとえば、リファレンスモデル103は、入力された画像データに写る物体の数を予測するモデルである。リファレンスモデル103の学習プロセスでは、データ拡張装置100は、第1学習用サンプル102をリファレンスモデル103に入力し、第1出力値104を得る。
【0015】
第1出力値104は、リファレンスモデル103から出力される予測値であり、たとえば、第1学習用サンプル102に写る物体の数の予測値である。データ拡張装置100は、第1損失関数106に基づいてリファレンスモデル103を更新する。第1損失関数106は、第1出力値104と第1学習用サンプル102に付随する第1正解値105との間のずれを示す損失を、第1損失値として算出する。データ拡張装置100は、第1損失関数106の第1損失値が小さくなるようにリファレンスモデル103を更新する。第1損失関数106としては、たとえば、二乗誤差(平均二乗誤差や平均二乗誤差の平方根)や交差エントロピー誤差が用いられる。
【0016】
<データ拡張装置100の機能的構成例2>
図2は、データ拡張装置100の機能的構成例2を示すブロック図である。データ拡張装置100は、第2学習用データセット201を用いて、第1学習用データセット101を拡張する。第2学習用データセット201は、第2ドメインで取得された複数の第2学習用サンプル202と、第2学習用サンプル202に対する第2正解値205と、を含む。ここで、第2ドメインとは、第1ドメインとは異なるドメインであり、たとえば、第2学習用サンプル202を取得できる特定の場所や周辺環境、サンプル取得装置の設定値を示す。
【0017】
たとえば、上記の例において、第1学習用サンプル102がAI監視カメラで撮像された画像データであれば、第2学習用サンプル202も、第1学習用サンプル102が撮像されたAI監視カメラと異なる場所で撮像された画像データである。第2学習用サンプル202に対する第2正解値205は、たとえば、第2学習用サンプル202が画像データであれば、当該画像データに映っている物体の数である。
【0018】
実施例1では、データ拡張装置100は、第2学習用データセット201を、高精度に第1ドメインのデータセットに変換する。これにより、第2学習用データセット201から第1ドメインの特徴を含むデータを新たに生成するというデータ拡張が可能になる。したがって、第1ドメインの現場での第1学習用サンプル102の収集コストおよび第1正解値105の特定作業の労力が軽減される。
【0019】
ドメイン逆変換器203は、第2ドメインに関するデータを第1ドメインに関するデータに疑似するデータに変換する学習モデルである。具体的には、たとえば、ドメイン逆変換器203は、第2学習用サンプル202に含まれる第2ドメイン固有の特徴を、第1ドメインの特徴に変換し、変換結果として、第1学習用サンプル102の疑似データである疑似第1学習用サンプル204を出力する。
【0020】
疑似第1学習用サンプル204は、第2学習用サンプル202に基づいて、第1学習用データセット101に含まれる第1学習用サンプル102を疑似するデータである。たとえば、第1学習用サンプル102を青く茂った夏の風景、第2学習用サンプル202を雪の積もった冬の風景とした場合には、第2学習用サンプル202に映る物体形状を維持したまま雪が取り除かれ、葉が新たに生成された画像が疑似第1学習用サンプル204として生成される。このように、疑似第1学習用サンプル204は、第1学習用サンプル102をコピーしたデータではないが、第1学習用サンプル102と幾何学的な構図が似ているデータである。
【0021】
ドメイン順変換器206は、第1ドメインに関するデータを第2ドメインに関するデータに疑似するデータに変換する学習モデルである。具体的には、たとえば、ドメイン順変換器206は、疑似第1学習用サンプル204に含まれる第1ドメイン固有の特徴を、第2ドメインの特徴に変換し、変換結果として、第2学習用サンプル202の疑似データである疑似第2学習用サンプル207を出力する。
【0022】
疑似第2学習用サンプル207は、疑似第1学習用サンプル204に基づいて、第2学習用データセット201に含まれる第2学習用サンプル202を疑似するデータである。たとえば、第2学習用サンプル202を青く茂った夏の風景、疑似第1学習用サンプル204を雪の積もった冬の風景とした場合には、疑似第1学習用サンプル204に映る物体形状を維持したまま雪が取り除かれ、葉が新たに生成された画像が疑似第2学習用サンプル207として生成される。このように、疑似第2学習用サンプル207は、第2学習用サンプル202をコピーしたデータではないが、第2学習用サンプル202と幾何学的な構図が似ているデータである。
【0023】
データ拡張装置100は、ドメイン逆変換器203による学習処理とドメイン順変換器206による学習処理とを並列実行する。データ拡張装置100は、ドメイン逆変換器203による学習処理およびドメイン順変換器206による学習処理において、2種類の損失関数を用いる。1つは、第1損失関数106であり、もう1つは、第2損失関数210である。
【0024】
第1損失関数106は、
図2においては、疑似第1出力値208と、疑似第1学習用サンプル204に付随する正解値との間のずれを示す損失を、疑似第1損失値として算出する損失関数である。疑似第1出力値208とは、疑似第1学習用サンプル204をリファレンスモデル103に入力した結果リファレンスモデル103から出力される出力値である。また、疑似第1学習用サンプル204に付随する正解値は、ドメイン逆変換器203に入力した第2学習用サンプル202に付随する第2正解値205としてもよい。
【0025】
たとえば、画像に写る物体を囲む矩形領域が正解値として与えられている場合、第2学習用サンプル202と疑似第1学習用サンプル204に写る物体位置やサイズ等が変化しない場合、同一の正解値を使用することができる。
図2では、一例として、疑似第1学習用サンプル204に付随する正解値を、第2正解値205とする。
【0026】
第2損失関数210は、第2学習用サンプル202と疑似第2学習用サンプル207との間のずれを示す損失を、第2損失値として算出する損失関数である。疑似第2学習用サンプル207は、第2学習用サンプル202をドメイン逆変換器203に入力した結果出力される疑似第1学習用サンプル204を、さらにドメイン順変換器206に入力することにより、ドメイン順変換器206から出力される。第2損失関数210は、元に復元するための関数である。
【0027】
データ拡張装置100は、ドメイン逆変換器203およびドメイン順変換器206の各々について、第1損失関数106と第2損失関数210に基づいて学習する。たとえば、データ拡張装置100は、第1損失関数106からの疑似第1損失値と第2損失関数210からの第2損失値とを加算し、統合損失値とする。データ拡張装置100は、当該統合損失値が減少するようにドメイン逆変換器203およびドメイン順変換器206の各々を更新する。
【0028】
このように、第1損失関数106に基づいてドメイン逆変換器203を更新することで、ドメイン逆変換器203は、リファレンスモデル103が予測しやすい疑似第2学習用サンプル207への変換を学習できる。リファレンスモデル103は、予め第1学習用データセット101で学習されているため、第1ドメインの特徴を含むサンプルに対して高精度な予測が期待される。
【0029】
したがって、ドメイン逆変換器203は、第2学習用サンプル202に含まれる第2ドメインの特徴を第1ドメインの特徴に変換することができる。また、第2損失関数210に基づいてドメイン逆変換器203およびドメイン順変換器206を更新することで、ドメイン逆変換器203およびドメイン順変換器206の各々への入力サンプルに含まれる特定の特徴を出力に反映するように学習できる。
【0030】
<ドメイン逆変換器203およびドメイン順変換器206による学習処理>
図3は、ドメイン逆変換器203およびドメイン順変換器206による学習処理手順例を示すフローチャートである。
【0031】
ステップS301:データ拡張装置100は、第1学習用データセット101を用いてリファレンスモデル103を学習する(
図1を参照)。
【0032】
ステップS302:データ拡張装置100は、第2学習用データセット201から第2学習用サンプル202を読み出す(
図2を参照)。
【0033】
ステップS303:データ拡張装置100は、第2学習用サンプル202をドメイン逆変換器203に入力して逆変換を実行し、疑似第1学習用サンプル204を出力する(
図2を参照)。
【0034】
ステップS304:データ拡張装置100は、ステップS303で得られた疑似第1学習用サンプル204をリファレンスモデル103に入力し、疑似第1学習用サンプル204に対する予測値を疑似第1出力値208として出力する(
図2を参照)。
【0035】
ステップS305:データ拡張装置100は、疑似第1学習用サンプル204をドメイン順変換器206に入力して順変換を実行し、疑似第2学習用サンプル207を出力する(
図2を参照)。
【0036】
ステップS306:データ拡張装置100は、ステップS304で取得した疑似第1出力値208と第2正解値205とを第1損失関数106に入力して、疑似第1損失値を算出する(
図2を参照)。
【0037】
ステップS307:データ拡張装置100は、ステップS302で読みだした第2学習用サンプル202と、ステップS305で取得した疑似第2学習用サンプル207と、を第2損失関数210に入力して、第2損失値を算出する(
図2を参照)。
【0038】
ステップS308:データ拡張装置100は、ステップS306で取得した損失値とステップS307で取得した損失値に基づいてドメイン逆変換器203およびドメイン順変換器206を更新する(
図2を参照)。
【0039】
ステップS309:データ拡張装置100は、ステップS302~ステップS308を所定回数繰り返したか否かを判定する。所定回数繰り返していなければ(ステップS309:No)、ステップS302に戻る。所定回数繰り返していれば(ステップS309:Yes)、データ拡張装置100は、ドメイン逆変換器203およびドメイン順変換器206による学習処理を終了する。
【0040】
<データ拡張装置100の機能的構成例3>
図4は、データ拡張装置100の機能的構成例3を示すブロック図である。データ拡張装置100は、ドメイン逆変換器203を用いて、データ拡張を実行する。具体的には、たとえば、データ拡張装置100は、第2学習用サンプル202をドメイン逆変換器203に入力する都度、疑似第1学習用サンプル204を出力する。それぞれ出力された疑似第1学習用サンプル204と第2学習用サンプル202に対応する第2正解値205との組み合わせの集合が、第3学習用データセット401となる。第3学習用データセット401は、第1学習用データセット101を含んでもよい。疑似第1学習用サンプル204は、第1ドメインの特徴を含むため、第1学習用データセット101のデータ拡張が達成される。なお、データ拡張装置100は、第3学習用データセット401に、第1学習用データセット101を追加してもよい。
【0041】
<データ拡張装置100の機能的構成例4>
図5は、データ拡張装置100の機能的構成例4を示すブロック図である。データ拡張装置100は、第3学習用データセット401から第3学習用サンプル501を抽出して、ターゲットモデル502に出力する。第3学習用サンプル501は、第3学習用データセット401に記憶されているサンプルであり、たとえば、疑似第1学習用サンプル204や第1学習用サンプル102を含む。
【0042】
ターゲットモデル502は、任意の構造を持つ機械学習モデルであり、リファレンスモデル103と同構造であってもよい。第3学習用サンプル501に含まれるドメイン固有の特徴は、リファレンスモデル103に基づいて、第1ドメインの特徴に変換されているため、リファレンスモデル103とターゲットモデル502を同構造とすることで、ターゲットモデル502の精度向上が期待できる。
【0043】
ターゲットモデル502は、第3学習用サンプル501が入力されると、第2出力値503を出力する。データ拡張装置100は、第3損失関数505に基づいてターゲットモデル502を更新する。第3損失関数505は、第2出力値503と、第3学習用サンプル501に付随する第3正解値504と、の間のずれを示す損失を、第3損失値として算出する。
【0044】
第3正解値504は、第3学習用サンプル501が疑似第1学習用サンプル204であれば第2正解値205であり、第3学習用サンプル501が第1学習用サンプル102であれば、第1正解値105である。ターゲットモデル502は、第3損失関数505の第3損失値が小さくなるようにターゲットモデル502を更新する。
【0045】
実施例1では、このように学習されたターゲットモデル502は、第1ドメインのサンプル取得装置に実装される。
【0046】
<データ拡張装置100の運用例>
図6は、実施例1にかかるデータ拡張装置100の運用例を示すフローチャートである。
【0047】
ステップS301:データ拡張装置100は、第1学習用データセット101を用いてリファレンスモデル103を学習する(
図1を参照)。
【0048】
ステップS602:データ拡張装置100は、リファレンスモデル103と第2学習用データセット201とを用いてドメイン順変換器206およびドメイン逆変換器203を学習する。具体的には、たとえば、データ拡張装置100は、
図3のステップS302~S309を実行する。
【0049】
ステップS603:データ拡張装置100は、ステップS602で学習されたドメイン逆変換器203で第2学習用サンプル202の変換を実行し、疑似第1学習用サンプル204を出力する(
図4を参照)。
【0050】
ステップS604:データ拡張装置100は、疑似第1学習用サンプル204を含む第3学習用データセット401を作成する。
【0051】
ステップS605:データ拡張装置100は、第3学習用データセット401を用いてターゲットモデル502を学習する(
図5を参照)。
【0052】
<データ拡張装置100のハードウェア構成例>
図7は、データ拡張装置100のハードウェア構成例を示すブロック図である。データ拡張装置100は、プロセッサ701と、記憶デバイス702と、入力デバイス703と、出力デバイス704と、通信インターフェース(通信IF)705と、を有する。プロセッサ701、記憶デバイス702、入力デバイス703、出力デバイス704、および通信IF705は、バス706により接続される。プロセッサ701は、データ拡張装置100を制御する。記憶デバイス702は、プロセッサ701の作業エリアとなる。また、記憶デバイス702は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス702としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス703は、データを入力する。入力デバイス703としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス704は、データを出力する。出力デバイス704としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF705は、ネットワークと接続し、データを送受信する。
【0053】
なお、プロセッサ701の一例としてはCPU(Central Processing Unit)やGPU(Graphics Processing Unit)が考えられるが、所定の処理を実行する主体であれば他の半導体デバイスでもよい。
【0054】
このように、実施例1によれば、機械学習モデルの精度向上に寄与する合成データを生成することができる。たとえば、リファレンスモデル103の予測に影響を及ぼす特徴に絞った変換をドメイン逆変換器203が学習できるため,現実世界のデータと合成データの乖離を抑制することができる。したがって、第1学習用データセット101のデータ拡張が可能になる。
実施例2は、実施例1における第2学習用データセット201の拡張が求められる場合に対応する例である。たとえば、第2学習用データセット201に含まれる第2学習用サンプル202の数量が非常に少ない場合であっても、第2学習用データセット201をデータ拡張することにより、リファレンスモデル103の学習に必要な量のサンプルを確保することができる。実施例2では、実施例1との相違点について説明するため、実施例1との共通点については説明を省略する。
ステップS904:データ拡張装置100は、疑似第2学習用サンプル207を含む第3学習用データセット401を作成する。第3学習用データセット401は、疑似第2学習用サンプル207と第1正解値105との組み合わせである。なお、データ拡張装置100は、第3学習用データセット401に、第2学習用データセット201を追加してもよい。
このようなデータ拡張装置100の運用により、第3学習用データセット401を構成する疑似第2学習用サンプル207は、第2ドメインの特徴を含むため、第2学習用データセット201のデータ拡張が達成される。
これにより、データ拡張装置100は、第2学習用サンプル202が少量な第2ドメインの現場であっても、第1学習用サンプル102が大量に存在する第1学習用データセット101を、高精度に第2ドメインのデータセットに変換する。これにより、第2ドメインへの変換後の第1学習用データセット101を第2ドメインの現場のAI監視カメラに適用するというデータ拡張が可能になる。したがって、第2ドメインの現場での第2学習用サンプル202の収集コストおよび第2正解値205の特定作業の労力が軽減される。