(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-19
(45)【発行日】2023-04-27
(54)【発明の名称】データ選別支援装置、データ選別支援方法及びデータ選別支援プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230420BHJP
G06T 7/00 20170101ALI20230420BHJP
【FI】
G06N20/00 130
G06T7/00 350B
(21)【出願番号】P 2021154504
(22)【出願日】2021-09-22
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】394013002
【氏名又は名称】三菱電機インフォメーションシステムズ株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】伊佐野 勝人
(72)【発明者】
【氏名】中尾 尭理
(72)【発明者】
【氏名】山足 光義
(72)【発明者】
【氏名】阿部 紘和
【審査官】福西 章人
(56)【参考文献】
【文献】特開2020-042737(JP,A)
【文献】国際公開第2020/054551(WO,A1)
【文献】Tejas Godambe et al.,Data pruning using confidence measures for concatenative synthesis system built using automatically transcribed audio,2016年,第1~5ページ,インターネット:<URL:https://www.cs.cmu.edu/~srallaba/Kaldi_based_Synthesis/SP2016.pdf>
【文献】Swabha Swayamdipta et al.,Dataset Cartography: Mapping and Diagnosing Datasets with Training Dynamics,2020年10月15日,p.1-19,インターネット:<URL:https://arxiv.org/pdf/2009.10795v2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
エポック数E以下の
各エポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μ
eを計算する確信度平均計算部と、
前記複数の訓練データそれぞれについて、前記
各エポックeにおける前記モデルの確信度と、前記確信度平均計算部によって計算された前記平均値μ
eとの間の乖離度を計算する乖離度計算部と
を備えるデータ選別支援装置。
【請求項2】
前記乖離度計算部は、前記各エポックeにおける前記乖離度の平均値μ
iを計算する
請求項
1に記載のデータ選別支援装置。
【請求項3】
前記データ選別支援装置は、さらに、
前記各エポックeについて、前記複数の訓練データそれぞれに対するモデルの確信度のばらつきを計算する確信度ばらつき計算部
を備え、
前記乖離度計算部は、前記確信度ばらつき計算部によって計算された前記確信度のばらつきを用いて、前記乖離度の平均値μ
iを計算する
請求項
2に記載のデータ選別支援装置。
【請求項4】
前記確信度平均計算部は、前記各エポックeについて、数1に示すように、i=1,...,Nの各整数iについての訓練データの画像xiの正解ラベルy
i
*に対する確信度p
i,θ(e)の平均値μ
eを計算し、
前記確信度ばらつき計算部は、前記各エポックeについて、数2に示すように、前記確信度のばらつきσ
eを計算し、
前記乖離度計算部は、i=1,...,Nの各整数iについての訓練データについて、数3に示すように、前記乖離度の平均値μ
iを計算する
請求項
3に記載のデータ選別支援装置。
【数1】
【数2】
【数3】
【請求項5】
前記データ選別支援装置は、さらに、
前記乖離度計算部によって計算された前記乖離度のばらつきを計算する乖離度ばらつき計算部
を備える請求項1から
4までのいずれか1項に記載のデータ選別支援装置。
【請求項6】
前記データ選別支援装置は、さらに、
数4に示すように、前記乖離度計算部によって計算された前記乖離度のばらつきσ
iを計算する乖離度ばらつき計算部
を備える請求項
4に記載のデータ選別支援装置。
【数4】
【請求項7】
前記データ選別支援装置は、さらに、
前記乖離度と、前記乖離度のばらつきとの少なくともいずれかに基づき、前記複数の訓練データから削除する訓練データを選別するデータ選別部
を備える請求項
5又は
6に記載のデータ選別支援装置。
【請求項8】
前記データ選別部は、各訓練データについて他の訓練データとの間の特徴の距離に基づき、削除する訓練データを選別する
請求項
7に記載のデータ選別支援装置。
【請求項9】
前記データ選別支援装置は、さらに、
前記乖離度と、前記乖離度のばらつきとの一方を縦軸とし、他方を横軸として、前記複数の訓練データをプロットした特徴マップを表示する特徴表示部
を備える請求項
5から
8までのいずれか1項に記載のデータ選別支援装置。
【請求項10】
前記特徴表示部は、各訓練データについて他の訓練データとの間の特徴の距離を表示する
請求項
9に記載のデータ選別支援装置。
【請求項11】
コンピュータが、エポック数E以下の
各エポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μ
eを計算し、
コンピュータが、前記複数の訓練データそれぞれについて、前記
各エポックeにおける前記モデルの確信度と、前記平均値μ
eとの間の乖離度を計算するデータ選別支援方法。
【請求項12】
エポック数E以下の
各エポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μ
eを計算する確信度平均計算処理と、
前記複数の訓練データそれぞれについて、前記
各エポックeにおける前記モデルの確信度と、前記確信度平均計算処理によって計算された前記平均値μ
eとの間の乖離度を計算する乖離度計算処理と
を行うデータ選別支援装置としてコンピュータを機能させるデータ選別支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデルの学習で用いる訓練データの選別を支援する技術に関する。
【背景技術】
【0002】
モデルの学習を行う場合には、多数の訓練データが入力として用いられる。用意された訓練データには、学習によるモデルの精度向上を妨げる訓練データが含まれる場合がある。精度向上を妨げる訓練データは、例えば、誤ったラベル付けがされた訓練データである。誤ったラベル付けがされた訓練データとは、例えば、犬の画像データに対して、猫というラベルが付された訓練データである。精度向上を妨げる訓練データを取り除いた上で、学習を行うことが望ましい。
【0003】
最適化アルゴリズムを適用して、モデルの訓練及び検証を繰り返して、訓練データを選別する方法がある。この方法では、モデルの訓練及び検証を数千回から数万回繰り返す必要がある。
【0004】
ディープラーニングにより学習を行う場合には、1回の訓練にかかる時間が長い。そのため、特別な環境でなければ、ディープラーニングにより学習を行う場合に、最適化アルゴリズムを適用することは非現実的である。特別な環境とは、GPUクラスタが利用できる環境である。GPUは、Graphics Processing Unitの略である。
【0005】
非特許文献1には、Data Cartography(以下、DC)について記載されている。DCは、ディープラーニングの訓練中に、訓練データである画像の確信度の時間的推移を観測して、画像を分類する手法である。
DCでは、画像について、各エポックにおける確信度の平均値及び標準偏差が計算される。そして、平均値及び標準偏差に基づき、画像が、学習容易なものと、汎用化性能を向上させるものと、学習困難なものとのいずれかに分類される。学習困難なものに分類された画像は、モデルの精度向上を妨げる可能性が高い。
DCでは、モデルの訓練及び検証を1度実施するたけで画像の分類ができる。そのため、ディープラーニングにより学習を行う場合にも適用することができる。
【先行技術文献】
【非特許文献】
【0006】
【文献】Swayamdipta, Swabha, et al. “Dataset Cartography: Mapping and Diagnosing Datasets with Training Dynamics.” Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020.
【文献】Rafael Muller, Simon Kornblith, and Geoffrey E Hinton. When does label smoothing help? In Advances in Neural Information Processing Systems, pp. 4694-4703, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
DCでは、モデルの学習が十分に行われた場合には、データ数が少ないラベルの画像は、学習困難なものに分類されるべきであっても、汎用化性能を向上させるものに分類される可能性が高い(非特許文献1参照)。
【0008】
また、ディープラーニングでは、確信度が高くなる傾向がある(非特許文献2参照)。そのため、訓練データが学習容易なものに分類され易い傾向がある。
【0009】
以上のことから、DCでは、学習困難なものに分類されるべき画像が適切に分類されない可能性がある。そのため、モデルの精度向上を妨げる画像が適切に抽出されない可能性がある。
【0010】
本開示は、モデルの精度向上を妨げる訓練データを適切に抽出可能な構成を実現できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
本開示に係るデータ選別支援装置は、
エポック数E以下のいずれかのエポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μeを計算する確信度平均計算部と、
前記複数の訓練データそれぞれについて、前記エポックeにおける前記モデルの確信度と、前記確信度平均計算部によって計算された前記平均値μeとの間の乖離度を計算する乖離度計算部と
を備える。
【0012】
前記確信度平均計算部は、前記エポック数E以下の各エポックeについて、前記複数の訓練データそれぞれに対するモデルの確信度の平均値μeを計算し、
前記乖離度計算部は、前記複数の訓練データそれぞれについて、前記各エポックeにおける前記モデルの確信度と、前記確信度平均計算部によって計算された前記平均値μeとの間の乖離度を計算する。
【0013】
前記乖離度計算部は、前記各エポックeにおける前記乖離度の平均値μiを計算する。
【0014】
前記データ選別支援装置は、さらに、
前記各エポックeについて、前記複数の訓練データそれぞれに対するモデルの確信度のばらつきを計算する確信度ばらつき計算部
を備え、
前記乖離度計算部は、前記確信度ばらつき計算部によって計算された前記確信度のばらつきを用いて、前記乖離度の平均値μiを計算する。
【0015】
前記確信度平均計算部は、前記各エポックeについて、数1に示すように、i=1,...,Nの各整数iについての訓練データの画像xiの正解ラベルy
i
*に対する確信度p
i,θ(e)の平均値μ
eを計算し、
前記確信度ばらつき計算部は、前記各エポックeについて、数2に示すように、前記確信度のばらつきσ
eを計算し、
前記乖離度計算部は、i=1,...,Nの各整数iについての訓練データについて、数3に示すように、前記乖離度の平均値μ
iを計算する。
【数1】
【数2】
【数3】
【0016】
前記データ選別支援装置は、さらに、
前記乖離度計算部によって計算された前記乖離度のばらつきを計算する乖離度ばらつき計算部
を備える。
【0017】
前記データ選別支援装置は、さらに、
数4に示すように、前記乖離度計算部によって計算された前記乖離度のばらつきσ
iを計算する乖離度ばらつき計算部
を備える。
【数4】
【0018】
前記データ選別支援装置は、さらに、
前記乖離度と、前記乖離度のばらつきとの少なくともいずれかに基づき、前記複数の訓練データから削除する訓練データを選別するデータ選別部
を備える。
【0019】
前記データ選別部は、各訓練データについて他の訓練データとの間の特徴の距離に基づき、削除する訓練データを選別する。
【0020】
前記データ選別支援装置は、さらに、
前記乖離度と、前記乖離度のばらつきとの一方を縦軸とし、他方を横軸として、前記複数の訓練データをプロットした特徴マップを表示する特徴表示部
を備える。
【0021】
前記特徴表示部は、各訓練データについて他の訓練データとの間の特徴の距離を表示する。
【0022】
本開示に係るデータ選別支援方法は、
コンピュータが、エポック数E以下のいずれかのエポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μeを計算し、
コンピュータが、前記複数の訓練データそれぞれについて、前記エポックeにおける前記モデルの確信度と、前記平均値μeとの間の乖離度を計算する。
【0023】
本開示に係るデータ選別支援プログラムは、
エポック数E以下のいずれかのエポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μeを計算する確信度平均計算処理と、
前記複数の訓練データそれぞれについて、前記エポックeにおける前記モデルの確信度と、前記確信度平均計算処理によって計算された前記平均値μeとの間の乖離度を計算する乖離度計算処理と
を行うデータ選別支援装置としてコンピュータを機能させる。
【発明の効果】
【0024】
本開示では、エポックeについて、複数の訓練データそれぞれに対するモデルの確信度の平均値μeを計算し、複数の訓練データそれぞれについて、モデルの確信度と平均値μeとの間の乖離度を計算する。この乖離度を用いることにより、モデルの精度向上を妨げる画像を適切に抽出可能な構成を実現することができる。
【図面の簡単な説明】
【0025】
【
図1】実施の形態1に係るデータ選別支援装置10の構成図。
【
図2】実施の形態1に係るデータ選別支援装置10の動作の全体的な流れを示すフローチャート。
【
図3】実施の形態1に係るデータ選別支援装置10の動作の詳細を示すフローチャート。
【
図4】実施の形態1に係る乖離度d
i,eの説明図。
【
図5】実施の形態1に係る乖離度d
i,eの説明図。
【
図7】変形例1に係るデータ選別支援装置10の構成図。
【
図8】実施の形態2に係るデータ選別支援装置10の構成図。
【
図9】実施の形態2に係るデータ選別支援装置10の動作の詳細を示すフローチャート。
【
図11】データ数が多いラベルの画像とデータ数が少ないラベルの画像との確信度の変化を示す図。
【
図12】データ数が少ないラベルの画像との確信度の変化を示す図。
【
図13】データ数が少ないラベルの画像における精度向上の妨げとなる画像の乖離度d
i,eを示す図。
【
図14】データ数が多いラベルの画像との確信度の変化を示す図。
【
図15】データ数が多いラベルの画像における精度向上の妨げとなる画像の乖離度d
i,eを示す図。
【
図16】実施の形態3に係るデータ選別支援装置10の構成図。
【
図17】実施の形態3に係るデータ選別支援装置10の動作の詳細を示すフローチャート。
【
図18】どのラベルが正しいかの見分けがつき難い画像の説明図。
【
図19】実施の形態4に係るデータ選別支援装置10の構成図。
【
図20】実施の形態4に係るデータ選別支援装置10の動作の詳細を示すフローチャート。
【発明を実施するための形態】
【0026】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るデータ選別支援装置10の構成を説明する。
データ選別支援装置10は、コンピュータである。
データ選別支援装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0027】
プロセッサ11は、プロセッシングを行うICである。ICはIntegrated Circuitの略である。プロセッサ11は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
【0028】
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
【0029】
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ13は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
【0030】
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB、HDMI(登録商標)のポートである。USBは、Universal Serial Busの略である。HDMIは、High-Definition Multimedia Interfaceの略である。
【0031】
データ選別支援装置10は、機能構成要素として、入力受付部21と、精度計算部22とを備える。精度計算部22は、確信度平均計算部221と、確信度ばらつき計算部222と、乖離度計算部223とを備える。データ選別支援装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、データ選別支援装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、データ選別支援装置10の各機能構成要素の機能が実現される。
【0032】
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
【0033】
***動作の説明***
図2から
図5を参照して、実施の形態1に係るデータ選別支援装置10の動作を説明する。
実施の形態1に係るデータ選別支援装置10の動作手順は、実施の形態1に係るデータ選別支援方法に相当する。また、実施の形態1に係るデータ選別支援装置10の動作を実現するプログラムは、実施の形態1に係るデータ選別支援プログラムに相当する。
【0034】
図2を参照して、実施の形態1に係るデータ選別支援装置10の動作の全体的な流れを説明する。
(ステップS1:学習処理)
学習装置31は、複数の訓練データ41と、複数の検証データ42とを入力として、ディープラーニングにより学習を行い、モデル32を更新する。訓練データ41は、モデル32の学習を行うためのデータである。検証データ42は、学習されたモデル32の精度を検証するためのデータである。
ディープラーニングにより学習を行う際、各訓練データ41についての認識結果が得られる。また、認識結果についての確信度が計算される。本実施の形態では確信度は、0から1の範囲で算出されるものとする。認識結果とは、例えば、画像に認識対象が含まれるか否かである。確信度は、認識結果がどの程度の確からしさ(i番目の訓練データx
iの正解ラベルy
i
*であるか)で認識されたかである。
ディープラーニングでは、複数の訓練データ41それぞれを用いて、複数回繰り返し学習が行われる。同じ訓練データ41を用いて学習を繰り返す回数をエポック数Eと呼ぶ。エポック数Eは、2以上である。e度目の学習であることをエポックeと呼ぶ。つまり、同じ訓練データ41を用いて、エポック1からエポックEまでの学習が行われる。
【0035】
(ステップS2:選別処理)
データ選別支援装置10は、ステップS1で得られた確信度を取得する。データ選別支援装置10は、確信度に基づき乖離度を計算する。そして、乖離度を利用して訓練データ41の選別が行われる。
【0036】
必要に応じて、ステップS1からステップS2の処理が繰り返し実行される。2度目以降に実行される際には、選別された訓練データ41を入力として学習が行われる。これにより、精度の高いモデル32が生成される。
またステップS1の処理は、ディープラーニングによらずエポックごとに確信度が取得できる機械学習で学習してもよい。
【0037】
図3を参照して、実施の形態1に係るデータ選別支援装置10の動作の詳細を説明する。
(ステップS11:入力受付処理)
入力受付部21は、
図2のステップS1で得られた各訓練データ41についての確信度を取得する。具体的には、入力受付部21は、各訓練データ41について、エポック数E以下の各エポックeにおける確信度を取得する。
【0038】
(ステップS12:確信度平均計算処理)
確信度平均計算部221は、エポック数E以下のいずれかのエポックeについて、数11に示すように、複数の訓練データ41それぞれに対するモデル32の確信度の平均値μ
eを計算する。
【数11】
Nは訓練データ41の数である。p
i,θ(e)(y
i
*|x
i)は、エポックeにおいてパラメータθのモデルが算出した、i番目の訓練データ41の画像x
iの正解ラベルy
i
*に対する確信度である。
【0039】
具体例としては、確信度平均計算部221は、最終エポックであるエポックEについてのモデル32の確信度の平均値μEを計算する。なお、確信度平均計算部221は、最終エポックに限らず、途中段階のエポックe(e<E)についてのモデル32の確信度の平均値μeを計算してもよい。また、確信度平均計算部221は、複数のエポックeについてのモデル32の確信度の平均値μeを計算してもよい。
【0040】
実施の形態1では、確信度平均計算部221は、エポック数E以下の各エポックeについて、モデル32の確信度の平均値μeを計算する。つまり、確信度平均計算部221は、e=1,...,Eの各エポックeについて、モデル32の確信度の平均値μeを計算する。
【0041】
(ステップS13:確信度ばらつき計算処理)
確信度ばらつき計算部222は、エポックeについて、数12に示すように、複数の訓練データ41それぞれに対するモデル32の確信度のばらつきσ
eを計算する。エポックeは、ステップS12でモデル32の確信度の平均値μ
eが計算されたエポックである。
【数12】
ここでは、ばらつきとして標準偏差が計算される。しかし、ばらつきとして分散が計算されてもよい。
【0042】
実施の形態1では、エポック数E以下の各エポックeについて、モデル32の確信度の平均値μeが計算される。そのため、確信度ばらつき計算部222は、エポック数E以下の各エポックeについて、モデル32の確信度のばらつきσeを計算する。
【0043】
(ステップS14:乖離度計算処理)
乖離度計算部223は、複数の訓練データ41それぞれについて、数13に示すように、エポックeにおけるモデル32の確信度と、平均値μ
eとの間の乖離度d
i,eを計算する。平均値μ
eは、ステップS12で計算された値である。エポックeは、ステップS12でモデル32の確信度の平均値μ
eが計算されたエポックである。
【数13】
【0044】
図4に示すように、乖離度d
i,eは、処理対象の訓練データ41についての確信度と、全ての訓練データ41の確信度の平均値μ
eとの距離である。つまり、乖離度d
i,eは、処理対象の訓練データ41についての確信度が、平均値μ
eと比べて、どの程度高いか又は低いかを示す。
【0045】
数13で計算される乖離度d
i,eを用いてもよい。しかし、実施の形態1では、乖離度計算部223は、数14に示すように、処理対象の訓練データ41についての確信度と、全ての訓練データ41の確信度の平均値μ
eとの距離を、確信度のばらつきσ
eで除して乖離度d
i,eを計算する。
【数14】
これにより、乖離度d
i,eは、確信度のばらつきが小さい場合には、絶対値が大きくなり、確信度のばらつきが大きい場合には、絶対値が小さくなる。つまり、処理対象の訓練データ41についての確信度と、全ての訓練データ41の確信度の平均値μ
eとの距離が近い場合でも、確信度のばらつきが小さい場合には、乖離度d
i,eは大きくなる。一方、処理対象の訓練データ41についての確信度と、全ての訓練データ41の確信度の平均値μ
eとの距離が遠い場合でも、確信度のばらつきが大きい場合には、乖離度d
i,eは小さくなる。
【0046】
実施の形態1では、エポック数E以下の各エポックeについて、モデル32の確信度の平均値μ
eが計算される。そのため、乖離度計算部223は、エポック数E以下の各エポックeおける、複数の訓練データ41それぞれについての乖離度d
i,eを計算する。そして、実施の形態1では、乖離度計算部223は、数15に示すように、複数の訓練データ41それぞれについて、エポック数E以下の全てのエポックeにおける乖離度d
i,eの平均値μ
iを計算する。なお、乖離度計算部223は、平均値μ
iではく、乖離度d
i,eの中央値といった他の統計値を計算してもよい。
【数15】
【0047】
つまり、
図5に示すように、各エポックeにおける乖離度d
i,eが計算される。そして、複数の訓練データ41それぞれについて、全てのエポックeにおける乖離度d
i,eの平均値μ
iが計算される。
【0048】
***実施の形態1の効果***
以上のように、実施の形態1に係るデータ選別支援装置10は、複数の訓練データそれぞれについて、モデルの確信度と平均値μeとの間の乖離度di,eを計算する。この乖離度di,eを用いることにより、モデル32の精度向上を妨げる画像を適切に抽出可能な構成を実現することができる。
【0049】
エポックeにおいて、多くの訓練データ41の確信度が低いとする。単純に確信度を用いて訓練データ41を評価してしまうと、多くの訓練データ41が適切でないと判断されてしまう可能性がある。例えば、
図6に示すように、確信度の平均値μ
eが0.35であったとする。確信度の閾値として0.40が用いられ、閾値以下の確信度であった訓練データ41が適切でないと判断されるとする。この場合には、多くの訓練データ41が適切でないと判断されてしまう。
しかし、乖離度d
i,eを用いた場合には、全体的に確信度が低い場合であっても、特に確信度が低い訓練データ41だけを抽出することができる。全体的に確信度が低い理由は、モデル32が十分学習できていないエポック数又は対象ラベルの数が他のラベルよりも少ないなどであるが、モデル32の精度向上を妨げる画像を適切に抽出できる可能性がある。
【0050】
特に、実施の形態1では、距離を確信度のばらつきσeで除して乖離度di,eが計算される。これにより、確信度のばらつきσeを考慮して、モデル32の精度向上を妨げる画像を適切に抽出可能となる。
【0051】
また、実施の形態1では、エポック数E以下の全てのエポックeにおける乖離度di,eの平均値μiが計算される。これにより、乖離度di,eの時間的な推移を考慮して、モデル32の精度向上を妨げる画像を適切に抽出可能となる。
【0052】
***他の構成***
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
【0053】
図7を参照して、変形例1に係るデータ選別支援装置10の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、データ選別支援装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0054】
電子回路15としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
各機能構成要素を1つの電子回路15で実現してもよいし、各機能構成要素を複数の電子回路15に分散させて実現してもよい。
【0055】
<変形例2>
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0056】
プロセッサ11とメモリ12とストレージ13と電子回路15とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0057】
実施の形態2.
実施の形態2では、乖離度di,eのばらつきσiを計算する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
【0058】
***構成の説明***
図8を参照して、実施の形態2に係るデータ選別支援装置10の構成を説明する。
データ選別支援装置10は、機能構成要素として、乖離度ばらつき計算部224を備える点が
図1に示すデータ選別支援装置10と異なる。乖離度ばらつき計算部224の機能は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0059】
***動作の説明***
図9を参照して、実施の形態2に係るデータ選別支援装置10の動作を説明する。
ステップS21からステップS24の処理は、
図3のステップS11からステップS14の処理と同じである。
【0060】
(ステップS25:乖離度ばらつき計算処理)
乖離度ばらつき計算部224は、複数の訓練データ41それぞれについて、数16に示すように、ステップS24で計算された乖離度d
i,eのばらつきσ
iを計算する。
【数16】
ここでは、ばらつきとして標準偏差が計算される。しかし、ばらつきとして分散が計算されてもよい。
【0061】
***実施の形態2の効果***
以上のように、実施の形態2に係るデータ選別支援装置10は、乖離度di,eのばらつきσiを計算する。このばらつきσiを用いることにより、モデル32の精度向上に寄与する画像を適切に抽出可能な構成を実現することができる。
【0062】
図10では、乖離度d
i,eの平均値μ
iを縦軸とし、乖離度d
i,eのばらつきσ
iを横軸として、複数の訓練データ41をプロットした特徴マップを示す。
図10では、訓練データ41が正常か異常かをモデル32が識別する場合を想定している。最終エポックでの認識結果が正常である場合には正常の点がプロットされ、異常の場合には異常の点がプロットされている。
乖離度d
i,eの平均値μ
iが第1閾値(
図10では-2.0)以上の場合には、画像が学習容易なものに分類される。乖離度d
i,eのばらつきσ
iが第2閾値(
図10では3)以上の場合には、画像が汎用化性能を向上させるものに分類される。乖離度d
i,eの平均値μ
iが第1閾値未満の場合には、画像が学習困難なものに分類される。
このように、乖離度d
i,eの平均値μ
iと、乖離度d
i,eのばらつきσ
iとに基づき、訓練データ41である画像を分類することができる。そして、例えば、学習困難なものに分類された画像については訓練データ41から削除するといったことが考えられる。また、汎用化性能を向上させるものに分類された画像については、類似する画像を訓練データ41に追加するといったことが考えられる。また、学習容易なものに分類された画像については、数を減らすために間引くといったことが考えられる。
【0063】
非特許文献1に記載されたDCとの比較から、実施の形態2に係るデータ選別支援装置10の効果を説明する。
非特許文献1では、数17に示すように、複数の訓練データ41それぞれについて、各エポックにおける確信度の平均値μ^
iが計算される。また、非特許文献1では、数18に示すように、複数の訓練データ41それぞれについて、確信度のばらつきσ^
iが計算される。
【数17】
【数18】
そして、非特許文献1では、確信度の平均値μ^
iを縦軸とし、確信度のばらつきσ^
iを横軸として、複数の訓練データ41をプロットした特徴マップが示されている。非特許文献1では、確信度の平均値μ^
iが高い画像が学習容易なものに分類される。確信度のばらつきσ^
iが高い画像が汎用化性能を向上させるものに分類される。確信度の平均値μ^
iが低い画像が学習困難なものに分類される。
【0064】
ディープラーニングでは、確信度が高くなる傾向がある。そのため、訓練データが学習容易なものに分類され易い傾向がある(非特許文献2参照)。また、モデルの学習が十分に行われた場合には、データ数が少ないラベルの画像は、確信度が高くなることがある。このとき、データ数が少ないラベルの画像は、ばらつきが大きくなることもある。そのため、学習困難なものに分類されるべきデータ数が少ないラベルの画像が、学習容易なもの又は汎用化性能を向上させるものに分類されてしまう可能性がある。そのため、非特許文献1に記載されたDCでは、モデルの精度向上を妨げる画像を適切に抽出することが困難である。
【0065】
図11において、点線は、データ数が多いラベルの画像のエポックごとの確信度の平均の推移を示している。実線は、データ数が少ないラベルの画像のエポックごとの確信度の平均の推移を示している。
図11に示すように、データ数が多いラベルの画像とデータ数が少ないラベルの画像とは、エポックに対する確信度の変化が異なる。データ数が多いラベルの画像は、訓練データが多く、モデルが大量に特徴を学習できるため、初期のエポックで確信度が高い状態に達する。一方、データ数が少ないラベルの画像は、
図11に示すようにある程度のエポックになってから確信度が上がっていくか、もしくはずっと確信度が上がらないか、またはその間となる。しかし、データ数が少ないラベルの画像の確信度が上がっていく際は、ラベル以外の特徴を学習している場合がある。ラベル以外の特徴を学習している場合とは、例えば、画像に戦車があるか否かを学習しているはずが、木があるか否かを学習しているといった場合である。異常を検知するモデルでは、異常個所を学習しているはずが、異常個所以外を学習してしまうことがよくある。
これは、モデルにとって、ラベルよりもラベル以外の特徴が強調されて見えてしまったことが原因である。ラベル以外を学習してしまっている画像は訓練データとして有用ではない。そのため、ラベル以外を学習してしまっている可能性がある、データ数が少ないラベルの画像は、学習困難なものに分類される必要がある。
しかし、
図11において、エポック数Eが50であるとすると、非特許文献1に記載されたDCでは、確信度の平均値μ^
iは0.5ほどになる。また、確信度として高い値から低い値まで存在するため、確信度のばらつきσ^
iは、高い値になる。そのため、データ数が少ないラベルの画像は、確信度が低いわけではないので、学習困難なものには分類されない。また、確信度が低い状態から高い状態に遷移しているため、汎用化性能を向上させるものに分類される。また、
図11において、エポック数Eが100であるとすると、非特許文献1に記載されたDCでは、確信度の平均値μ^
iは0.8ほどになる。また、確信度として高い値が多くなるため、確信度のばらつきσ^
iは低い値になる。そのため、学習容易なものに分類されてしまう。
図11のように、データ数が少ないラベルの画像の確信度が、最終的に1.0付近まで上がらなくとも、例えば0.5程度でも、エポック数Eが大きくモデルの学習が十分に行われた場合には、平均値μ^
iは上昇するため学習困難なものには分類されない。したがって、DCでは、誤った判断を導いてしまう。
【0066】
図12では、データ数が少ないラベルの画像の確信度の推移が
図11とは別の形式で表されている。データ数が少ないラベルの画像の確信度は、ある程度のエポックになってから上がっている。そして、エポック数が50になると、確信度は1.0に近い値になっている。そのため、上述した通り、データ数が少ないラベルの画像が学習困難なものには分類されない。
図13では、
図12に対して、ある訓練データ41の確信度と乖離度d
i,eとが追記されている。ここでのある訓練データ41は、データ数が少ないラベルの画像のうち、精度向上の妨げとなる画像の訓練データ41である。
図13に示すように、精度向上の妨げとなる訓練データ41についても、エポックが進むに連れ、確信度は高くなる。そのため、DCでは、データ数が少ないラベルの他の画像と同様に、ある訓練データ41も、学習困難なものには分類されない。
しかし、他の画像についての確信度の平均値μ
eに比べ、精度向上の妨げとなる訓練データ41の確信度は低くなる。そのため、乖離度d
i,eが低い値(負の大きな値)になり、乖離度d
i,eの平均値μ
iが低い値になる。したがって、実施の形態2に係るデータ選別支援装置10では、精度向上の妨げとなる訓練データ41を学習困難なものに分類することが可能である。
なお、エポックが進むにつれ確信度が変化したとしても、乖離度d
i,eが変化しなければ、乖離度d
i,eのばらつきσ
iは大きくならない。そのため、汎用化性能を向上させるものに分類されることもない。
【0067】
図14では、データ数が多いラベルの画像の確信度の推移が
図11とは別の形式で表されている。データ数が多いラベルの画像の確信度は、初期段階のエポックから高くなっている。そのため、上述した通り、データ数が多いラベルの画像が学習困難なものには分類されず、学習が容易なものに分類される。
図15では、
図14に対して、ある訓練データ41の確信度と乖離度d
i,eとが追記されている。ここでのある訓練データ41は、データ数が多いラベルの画像のうち、精度向上の妨げとなる画像の訓練データ41である。データ数が多いラベルの画像にも、精度向上の妨げとなる画像の訓練データ41が含まれる可能性がある。
図15に示すように、精度向上の妨げとなる訓練データ41についても、エポックが進むに連れ、確信度は高くなることがある。これは、ディープラーニングでは、確信度が高くなる傾向があるためである。そのため、DCでは、データ数が多いラベルの他の画像と同様に、ある訓練データ41も、学習困難なものには分類されず、学習容易なものに分類される。
しかし、他の画像についての確信度の平均値μ
eに比べ、精度向上の妨げとなる訓練データ41の確信度は低くなる。そのため、乖離度d
i,eが低い値になり、乖離度d
i,eの平均値μ
iが低い値になる。したがって、実施の形態2に係るデータ選別支援装置10では、精度向上の妨げとなる訓練データ41を学習困難なものに分類することが可能である。
【0068】
乖離度di,eの平均値μiは、学習の難易度を示している。また、乖離度di,eのばらつきσiは、学習の難易度の変化を示している。実施の形態2に係るデータ選別支援装置10では、乖離度di,eの平均値μiと乖離度di,eのばらつきσiとを用いることにより、適切に学習容易であるか、学習困難であるかを判別可能である。
【0069】
実施の形態3.
実施の形態3は、精度計算部22によって計算された結果に基づき、訓練データ41を選別する点が実施の形態1,2と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態3では、実施の形態2に機能を加えた場合について説明する。しかし、実施の形態1に機能を加えることも可能である。
【0070】
***構成の説明***
図16を参照して、実施の形態3に係るデータ選別支援装置10の構成を説明する。
データ選別支援装置10は、機能構成要素として、データ選別部23を備える点が
図8に示すデータ選別支援装置10と異なる。データ選別部23の機能は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0071】
***動作の説明***
図17を参照して、実施の形態3に係るデータ選別支援装置10の動作を説明する。
ステップS31からステップS35の処理は、
図9のステップS21からステップS25の処理と同じである。
【0072】
(ステップS36:データ選別処理)
データ選別部23は、ステップS34で計算された乖離度d
i,eの平均値μ
iと、ステップS35で計算された乖離度d
i,eのばらつきσ
iとに基づき、訓練データ41を選別する。
具体例としては、データ選別部23は、
図10に基づき説明したように画像を分類する。つまり、データ選別部23は、画像を、学習容易なものと、汎用化性能を向上させるものと、学習困難なものとに分類する。そして、データ選別部23は、学習困難なものに分類された画像については訓練データ41から削除してもよい。また、データ選別部23は、学習容易なものに分類された画像については、数を減らすために間引いてもよい。データ選別部23は、学習容易なものに分類された画像については、乖離度d
i,eの平均値μ
iが高いほど、多くの画像を間引くようにしてもよい。
なお、汎用化性能を向上させるものに分類された画像については、類似する画像を訓練データ41に追加するように通知してもよい。
【0073】
***実施の形態3の効果***
以上のように、実施の形態3に係るデータ選別支援装置10は、乖離度di,eの平均値μiと乖離度di,eのばらつきσiとに基づき、訓練データ41を選別する。これにより、人手によらず、自動的に不要な訓練データ41を削除することが可能になる。
不要な訓練データ41とは、モデル32の精度向上を妨げる可能性が高い訓練データ41と、モデル32の精度向上に不要な訓練データ41とである。
【0074】
***他の構成***
<変形例4>
ラベル付けが間違っている訓練データ41は、乖離度d
i,eの平均値μ
iが低くなる。しかし、ラベル付けが正しくても、乖離度d
i,eの平均値μ
iが低くなる場合がある。例えば、異なるラベル間で特徴が類似している場合には、乖離度d
i,eの平均値μ
iが低くなる可能性がある。また、特徴がユニークであり、数が少ないタイプの画像は、乖離度d
i,eの平均値μ
iが低くなる可能性がある。
図18の(A)に示す訓練データ41は、犬の画像であり、ラベルが犬と付されており、適切な訓練データ41である。しかし、一部の犬Xの画像は、(B)に示すモップの画像との区別がつき難い。そのため、訓練データ41に、(A)の犬Xの画像が少なく、(B)のようなモップの画像が多い場合には、犬Xの画像はラベルがモップの訓練データ41の影響を受け、確信度が高くなりにくい。
犬Xのような画像については、訓練データ41から削除してしまうのではなく、同じ見た目の犬の画像を訓練データ41に追加することが望ましい。つまり、犬Xは、他の犬と比較して特徴がユニークである。そこで、同様の特徴を持つ犬の画像を訓練データ41に追加して学習することが望ましい。しかし、実施の形態3で説明したように、単純に乖離度d
i,eの平均値μ
iの閾値で削除するか否かを決定してしまうと、犬Xのような画像は削除されてしまう可能性がある。
【0075】
ラベル付けが間違っている画像だけを削除することが望ましい。一例として以下の(1)から(3)の条件を全て満たせば、ラベル付けが間違っている画像と考えられる。(1)学習を行っても確信度が上がらない。(2)異なるラベルの画像と特徴が類似している。(3)同一のラベルの画像と特徴が類似していない。
(1)については、エポックが進んだ場合における乖離度di,eの推移から判断できる。(2)(3)は特徴の間の距離により判断できる。距離は、具体例としてはcos距離である。特徴が類似していれば距離が近い。特徴が類似していなければ距離が遠い。
【0076】
そこで、データ選別部23は、以下の処理を行い、ラベル付けが間違っている画像であるか否かを判定してもよい。
手順1.データ選別部23は、学習済のモデル32を用意する。
手順2.データ選別部23は、学習済のモデル32を用いて、画像の512次元程度の特徴を抽出する。
手順3.データ選別部23は、各画像間の距離(cos距離等)を計算する。
手順4.データ選別部23は、各画像について、その画像とは異なるラベルの画像を対象として、対象のラベルが付された画像との間の最小距離を特定する。
手順5.データ選別部23は、各画像について、その画像と同じラベルの画像を対象として、対象のラベルが付された画像との間の最小距離を特定する。
手順6.データ選別部23は、以下の条件C1からC3を全て満たす画像を、学習が困難な画像(ラベル付けに誤りがある画像)として抽出する。(C1)乖離度di,eの平均値μiが基準乖離度(例えば-2)以下である。(C2)手順4の最小距離が第1距離(例えば0.1)以下である。(C3)手順5の最小距離が第2距離(例えば0.3)以上である。
手順7.データ選別部23は、抽出された画像を削除すると判定する。
なお、ここでは、対象のラベルが付された画像との間の距離の最小距離が用いられた。しかし、最小距離ではなく、平均距離が用いられてもよい。
【0077】
実施の形態4.
実施の形態4は、特徴マップ等を表示して、訓練データ41を選別させる点が実施の形態1,2と異なる。実施の形態4では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態4では、実施の形態2に機能を加えた場合について説明する。しかし、実施の形態1に機能を加えることも可能である。
【0078】
***構成の説明***
図19を参照して、実施の形態4に係るデータ選別支援装置10の構成を説明する。
データ選別支援装置10は、機能構成要素として、特徴表示部24を備える点が
図8に示すデータ選別支援装置10と異なる。特徴表示部24の機能は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0079】
***動作の説明***
図20を参照して、実施の形態4に係るデータ選別支援装置10の動作を説明する。
ステップS41からステップS45の処理は、
図9のステップS21からステップS25の処理と同じである。
【0080】
(ステップS46:特徴表示処理)
特徴表示部24は、
図10に示す特徴マップを表示して、ユーザに訓練データ41を選別させる。なお、特徴表示部24は、
図10に示す特徴マップの形態に限らず、各訓練データ41について、乖離度d
i,eの平均値μ
iと乖離度d
i,eのばらつきσ
iとを表示すればよい。
選別は、分類された画像をユーザが確認して行われる。つまり、閾値により一律に処理するのではなく、画像を見て判断される。
【0081】
***実施の形態4の効果***
以上のように、実施の形態4では、特徴マップ等を表示して、ユーザに訓練データ41を選別させる。これにより、本来削除すべきでない訓練データ41を削除してしまうといったことを防止することが可能である。
【0082】
図18の(A)における犬Xのような画像については、訓練データ41から削除してしまうのではなく、同じ見た目の犬の画像を訓練データ41に追加することが望ましい。しかし、実施の形態3で説明したように、単純に乖離度d
i,eの平均値μ
iの閾値で削除するか否かを決定してしまうと、犬Xのような画像は削除されてしまう可能性がある。これに対して、実施の形態4のように、特徴マップ等を表示して、ユーザに訓練データ41を選別させることで、犬Xのような画像が削除されることを防止できる。また、犬Xのような画像を追加するという判断を促すこともできる。
【0083】
***他の構成***
<変形例5>
単純に乖離度di,eの平均値μiだけでは、削除するべきか否かを決定することが難しい。そこで、特徴表示部24は、乖離度di,eの平均値μiとともに、変形例4で説明した距離を表示してもよい。つまり、特徴表示部24は、乖離度di,eの平均値μiとともに、手順4の最小距離と手順5の最小距離との少なくともいずれかを表示してもよい。
具体例としては、特徴表示部24は、乖離度di,eの平均値μiを縦軸とし、手順4の最小距離を横軸とした2次元空間に各画像の情報をプロットして表示する。また、特徴表示部24は、乖離度di,eの平均値μiを縦軸とし、手順5の最小距離を横軸として2次元空間に各画像の情報をプロットして表示してもよい。また、特徴表示部24は、手順4の最小距離をX軸とし、手順5の最小距離をY軸とし、乖離度di,eの平均値μiをZ軸とした3次元空間に各画像の情報をプロットして表示してもよい。
これにより、乖離度di,eの平均値μiとともに、変形例4で説明した距離を考慮して、削除すべきか否かを判定することができる。
【0084】
<変形例6>
以上の説明では、訓練データ41を選別することを説明した。しかし、同じ手法により、訓練データ41ではなく、検証データ42を選別することも可能である。
【0085】
なお、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。
【0086】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0087】
10 データ選別支援装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 電子回路、21 入力受付部、22 精度計算部、221 確信度平均計算部、222 確信度ばらつき計算部、223 乖離度計算部、224 乖離度ばらつき計算部、23 データ選別部、24 特徴表示部、31 学習装置、32 モデル、41 訓練データ、42 検証データ。