(57)【要約】      （修正有）【課題】推論対象を特定する要件に対する訓練データの寄与を評価する訓練データ評価装置を提供する。【解決手段】訓練データ評価装置１は、訓練データを複数のバッチデータに分けるバッチデータ生成部１０と、複数のバッチデータを順次用いてモデルの訓練を行う訓練処理部１１と、訓練処理部１１による訓練によって、バッチデータを順次適用することで変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを記憶した訓練経過記憶部２２と、訓練経過記憶部２２に記憶された複数のモデルにテストデータを適用して、各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定する追跡処理部１２と、バッチデータの選定結果を出力する出力部１３とを備える。【選択図】図１
2020021301.tif 000002
【特許請求の範囲】
【請求項１】
訓練データを複数のバッチデータに分けるバッチデータ生成部（１０）と、
複数のバッチデータを順次用いてモデルの訓練を行う訓練処理部（１１）と、
前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを記憶した訓練経過記憶部（２２）と、
前記訓練経過記憶部（２２）に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定する追跡処理部（１２）と、
前記バッチデータの選定結果を出力する出力部（１３）と、
を備える訓練データ評価装置（１）。
【請求項２】
前記追跡処理部（１２）は、テストデータに対する正解率が最も良いモデルに対応するバッチデータを選定する請求項１に記載の訓練データ評価装置（１）。
【請求項３】
前記モデルは、ニューラルネットワークのモデルであり、
前記追跡処理部（１２）は、ニューラルネットワークのモデルから出力される判定の確信度に基づいて、バッチデータを選定する請求項１に記載の訓練データ評価装置（１）。
【請求項４】
前記追跡処理部（１２）は、前記モデルの評価結果を最後に良い方向へ変化させたバッチデータを選定する請求項１に記載の訓練データ評価装置（１）。
【請求項５】
前記追跡処理部（１２）は、前記モデルの評価結果を所定の閾値より大きく良い方向へ変化させたバッチデータを選定する請求項１に記載の訓練データ評価装置（１）。
【請求項６】
前記追跡処理部（１２）は、複数の異なる手法でバッチデータを選定し、選定されたバッチデータの和をとる請求項１に記載の訓練データ評価装置（１）。
【請求項７】
前記バッチデータ生成部（１０）にて、異なるバッチデータを生成して、前記訓練処理部（１１）および前記追跡処理部（１２）による処理を繰り返し行い、バッチデータを選定する繰返処理部（３０）と、
前記繰返処理部（３０）にて選定されたバッチデータに共通に含まれる訓練データを選定する訓練データ選定部（１４）と、
を備える請求項１に記載の訓練データ評価装置（３）。
【請求項８】
前記追跡処理部（１２）は、前記訓練経過記憶部（２２）に記憶されている複数のモデルのうち、初期に生成されたモデルについては、評価を行わない請求項１に記載の訓練データ評価装置（１）。
【請求項９】
前記追跡処理部（１２）にて選定されたバッチデータを除く訓練データを使ってモデルを生成し、当該モデルにテストデータを適用してモデルを評価することによって、前記追跡処理部（１２）にて選定されたバッチデータの検証を行う検証部（１５）を備える請求項１に記載の訓練データ評価装置（４）。
【請求項１０】
訓練データの中から選定された選定データを評価する訓練データ評価装置（５）であって、
前記選定データを除いた前記訓練データに基づいてモデルを生成し、生成されたモデルにテストデータを適用してモデルを評価することによって、前記選定データの検証を行う検証部（１３）を備える訓練データ評価装置（５）。
【請求項１１】
訓練データを複数のバッチデータに分けるステップ（Ｓ１０）と、
複数のバッチデータを順次用いてモデルの訓練を行うステップ（Ｓ１２）と、
前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを訓練経過記憶部（２２）に記憶するステップ（Ｓ１３）と、
前記訓練経過記憶部（２２）に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定するステップ（Ｓ１７）と、
前記バッチデータの選定結果を出力するステップ（Ｓ１８）と、
を備える訓練データ評価方法。
【請求項１２】
訓練データを評価するためのプログラムであって、コンピュータに、
訓練データを複数のバッチデータに分けるステップと、
複数のバッチデータを順次用いてモデルの訓練を行うステップと、
前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを訓練経過記憶部に記憶したステップと、
前記訓練経過記憶部に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定するステップと、
前記バッチデータの選定結果を出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習において用いられる訓練データの訓練データ評価装置、訓練データ評価方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、機械学習システムの研究が盛んに行われている。機械学習システムは非常に高性能化しており、例えば、セキュリティや自動運転車等へのアプリケーションが検討されている。
【０００３】
特許文献１は、学習モデルの予測性能を高めるために、対象のデータに対して適切な機械学習のアルゴリズムを選択する機械学習管理の発明を開示している。この発明では、同じデータに対して機械学習アルゴリズムを変えながら何度もモデルの作成と評価を繰り返すモデル探索を行う。このモデル探索を繰り返すときに、過去に実施したモデル探索の過程で生成し、キャッシュに格納されたデータを再利用する。
【０００４】
機械学習システムにおいては、推論の対象を特定する要件（例えば、自動運転でいえば、道路を走行する車両の検出等）を定め、予め多数の訓練データを用いて、当該推論を行うためのモデルを学習する（非特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−２２８０８６号公報
【非特許文献】
【０００６】
【非特許文献１】Laura L. Pullum Brian J. Taylor Majorie A. Darrah「Guidance for the Verification and Validation of Neural Networks」
【発明の概要】
【発明が解決しようとする課題】
【０００７】
機械学習システムにおいて、要件に紐づく訓練データのデータセットは、機械学習に用いた全ての訓練データであった。すなわち、全ての訓練データを用いて訓練を行った結果が、要件に合っているかどうか、という観点でモデルの評価が行われることが一般的であった。
【０００８】
ところで、新規にモデルを作成する際に、過去のモデル開発に使った訓練データを再利用することがある。この場合、新規のモデルにおいても過去の要件項目を引き継ぐ場合には、過去のモデル開発の訓練データを再利用するだけでなく、どの訓練データが過去のモデル生成に有効であったかが分かると、新規のモデル開発を効率良く行うことができる。
【０００９】
本発明は、上記背景に鑑み、推論対象を特定する要件に対する訓練データの寄与を評価する訓練データ評価装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は上記課題を解決するために以下の技術的手段を採用する。特許請求の範囲及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施の形態に記載の具体的手段との対応関係を示す一例であって、本発明の技術的範囲を限定するものではない。
【００１１】
本発明の訓練データ評価装置（１）は、訓練データを複数のバッチデータに分けるバッチデータ生成部（１０）と、複数のバッチデータを順次用いてモデルの訓練を行う訓練処理部（１１）と、前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを記憶した訓練経過記憶部（２２）と、前記訓練経過記憶部（２２）に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定する追跡処理部（１２）と、前記バッチデータの選定結果を出力する出力部（１３）とを備える。
【００１２】
訓練データを複数のバッチデータに分け、それぞれのバッチデータを用いて訓練を行ったモデルをテストすることにより、どのバッチデータが要件を満たすモデルの生成につながっているかを評価することができる。
【００１３】
本発明の別の態様の訓練データ評価装置（５）は、訓練データの中から選定された選定データを評価する訓練データ評価装置（５）であって、前記選定データを除いた前記訓練データに基づいてモデルを生成し、生成されたモデルにテストデータを適用してモデルを評価することによって、前記選定データの検証を行う検証部（１３）を備える。ここで、選定データは、所定の精度で要件に適合する推論を行えるモデルを生成できるとして選定されたものであり、選定の方法は問わない。
【００１４】
このように選定データを除く訓練データを用いて生成したモデルを評価することにより選定データを検証できる。すなわち、選定データを除く訓練データによって生成したモデルの評価が低い場合には、選定データの評価が高いことが確認される。逆に、選定データを除く訓練データによって生成したモデルの評価が高い場合には、訓練データ全体の評価が高いと考えられ、選定データだけが殊更に評価が高いというわけではないことが分かる。
【００１５】
本発明の訓練データ評価方法は、訓練データを複数のバッチデータに分けるステップ（Ｓ１０）と、複数のバッチデータを順次用いてモデルの訓練を行うステップ（Ｓ１２）と、前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを訓練経過記憶部（２２）に記憶するステップ（Ｓ１３）と、前記訓練経過記憶部（２２）に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定するステップ（Ｓ１７）と、前記バッチデータの選定結果を出力するステップ（Ｓ１８）とを備える。
【００１６】
本発明のプログラムは、訓練データを評価するためのプログラムであって、コンピュータに、訓練データを複数のバッチデータに分けるステップと、複数のバッチデータを順次用いてモデルの訓練を行うステップと、前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを訓練経過記憶部に記憶したステップと、前記訓練経過記憶部に記憶された複数のモデルにテストデータを適用して、前記各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定するステップと、前記バッチデータの選定結果を出力するステップとを実行させる。
【発明の効果】
【００１７】
本発明によれば、訓練データのうちのどの訓練データがモデルの評価につながっているかを評価することができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施の形態の訓練データ評価装置の構成を示す図である。
【図２】（ａ）訓練データを示す模式図である。（ｂ）訓練データをバッチデータに分けた例を示す図である。
【図３】追跡結果記憶部に記憶されたデータの例を示す図である。
【図４】第１の実施の形態の訓練データ評価装置の動作を示すフローチャートである。
【図５】第２の実施の形態の訓練データ評価装置の構成を示す図である。
【図６】第２の実施の形態の訓練データ評価装置の動作を示すフローチャートである。
【図７】第３の実施の形態の訓練データ評価装置の構成を示す図である。
【図８】訓練データ選定部による訓練データの選定について説明するための図である。
【図９】第３の実施の形態の訓練データ評価装置の動作を示すフローチャートである。
【図１０】第４の実施の形態の訓練データ評価装置の構成を示す図である。
【図１１】第４の実施の形態の訓練データ評価装置の動作を示すフローチャートである。
【図１２】別の例に係る訓練データ評価装置の構成を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態の訓練データ評価装置について図面を参照して説明する。以下で説明する実施の形態では、ニューラルネットワークモデルを例として説明するが、本発明は、別のモデルを訓練する訓練データの評価にも用いることができる。
【００２０】
（第１の実施の形態）
図１は、第１の実施の形態の訓練データ評価装置１の構成を示す図である。訓練データ評価装置１は、評価の対象となる訓練データを記憶した訓練データ記憶部２０を有している。訓練データによって生成するモデルの要件は、例えば、「自車線上の自動車を認識すること」であり、このための訓練データは、フロントガラスから撮影した画像に自動車を示す境界ボックスを付した大量の画像である。
【００２１】
本実施の形態の訓練データ評価装置１は、大量の訓練データを評価して、「自車線上の自動車を認識すること」という要件を満たすモデルを生成するのに適した訓練データを選定するものである。モデルとしては、Ｎ層畳み込みニューラルネットワークのモデルを用いる。
【００２２】
訓練データ評価装置１は、バッチデータ生成部１０と、訓練処理部１１と、追跡処理部１２と、出力部１３とを有している。バッチデータ生成部１０は、訓練データ記憶部２０に記憶された大量の訓練データをバッチデータに分ける機能を有する。
【００２３】
図２（ａ）は、訓練データ記憶部２０に記憶された大量の訓練データを示す模式図である。図２（ａ）に示す一つ一つの四角は、フロントガラスから撮影した画像に自動車を示す境界ボックスを付した画像を模したものである。バッチデータ生成部１０は、図２（ｂ）に示すように、訓練データをバッチデータに分ける。図２（ｂ）では、９つのデータを一つのバッチとしているが、これは例であって、一つのバッチに含める訓練データの数はいくつでもよい。なお、バッチデータは、１つの訓練データで構成されていてもよい。
【００２４】
バッチデータ生成部１０は、生成したバッチデータをバッチデータ記憶部２１に記憶する。なお、バッチデータ記憶部２１にはバッチに含まれる訓練データ自体を記憶してもよいし、訓練データ自体を記憶しないでバッチに含まれる訓練データのＩＤを記憶してもよい。後者の構成の場合には、実際に訓練を行う際には、訓練データ記憶部２０から訓練データを読み出すことになる。
【００２５】
訓練処理部１１は、訓練データを用いてモデルの訓練を行い、モデルを生成する処理を行う。訓練処理部１１は、バッチデータを順次用いてモデルの訓練を行う。訓練処理部１１は、例えば、図２（ｂ）に示すバッチ１００の訓練データを用いてモデルを訓練してモデルＭ１００を生成し、次に、モデルＭ１００に対してバッチ１０１の訓練データを用いて訓練してモデルＭ１０１を生成する。このように、バッチデータを順次適用してモデルを更新していく。訓練処理部１１は、更新されていくモデルのデータとそのモデルを生成するのに用いたバッチデータを特定するデータを訓練経過記憶部２２に記憶する。
【００２６】
追跡処理部１２は、訓練経過記憶部２２に記憶されたモデルに対して、テストデータを適用して追跡評価を行う。テストデータは、訓練データとは異なるデータであり、テストデータ記憶部２３に記憶されている。訓練経過記憶部２２に、モデルＭ１００→モデルＭ１０１→・・・というモデルの訓練経過が記憶されているとき、追跡処理部１２は、モデルＭ１００、モデルＭ１０１、・・・のそれぞれに対して、テストデータを適用してモデルの評価を行う。追跡処理部１２は、各モデルに対してテストデータを適用して評価した評価結果を追跡結果記憶部２４に記憶する。
【００２７】
図３は、追跡結果記憶部２４に記憶されたデータの例を示す図である。横軸は訓練進捗を示し、縦軸は要件を満たす度合いを示している。一番左にプロットされた「バッチ１０１」は、バッチ１０１によって訓練したモデルＭ１００に対してテストデータを適用して得られた評価結果を示す。左から二番目にプロットされた「バッチ１０２」は、バッチ１０１で訓練されたモデルＭ１００に対してさらにバッチ１０２で訓練して得られたモデルＭ１０２の評価結果を示す図である。このように図３に示すプロットは、右に進むにしたがって多くの訓練データが用いられているので、評価結果が安定していく。
【００２８】
追跡処理部１２は、追跡結果記憶部２４に記憶されたデータに基づいて、要件に適したモデルの生成に寄与したバッチデータを選定する。追跡処理部１２は、選定したバッチデータを選定データ記憶部２５に記憶する。なお、追跡結果に基づいて、バッチデータを選定する手法はいろいろと考えられる。
【００２９】
例えば、評価結果が最良のモデルに対応するバッチデータを選定することができる。または、評価結果が良い方から所定個数のモデルに対応するバッチデータを選定してもよい。あるいは、ニューラルネットワークから出力される判定の確信度（ＳＯＦＴＭＡＸの出力値等）が最も高いモデル又は高い方から所定個数のモデルに対応するバッチデータを選定してもよい。
【００３０】
また、評価結果の変化に着目してバッチデータを選定してもよい。例えば、モデルの評価結果を最後に良い方向へと変化させたバッチデータを選定してもよいし、モデルの評価結果を所定の閾値より大きく良い方向へ変化させたバッチデータを選定してもよい。
【００３１】
出力部１３は、追跡処理部１２にて選定したバッチデータを示すデータを出力する。この際、追跡結果記憶部２４に記憶されたデータ（図３参照）を合わせて出力してもよい。これにより、バッチデータの選定理由を理解することができる。
【００３２】
図４は、第１の実施の形態の訓練データ評価装置１の動作を示す図である。訓練データ評価装置１は、訓練データ記憶部２０に記憶されている大量の訓練データを分けてバッチデータを生成する（Ｓ１０）。続いて、訓練データ評価装置１は、どの順序でバッチデータを用いて訓練を行うのか、訓練順序を決定する（Ｓ１１）。
【００３３】
続いて、訓練データ評価装置１は、バッチデータを使って訓練を行い（Ｓ１２）、訓練によって生成されたモデルとその訓練に用いたバッチデータを特定するデータを訓練経過記憶部２２に記憶する（Ｓ１３）。訓練データ評価装置１は、全バッチデータの処理を終了したか否かを判定する（Ｓ１４）。全バッチデータについて処理を終了していない場合には（Ｓ１４でＮＯ）、次のバッチデータを用いて、モデルをさらに訓練する（Ｓ１２）。
【００３４】
全バッチデータについて訓練を終了した場合は（Ｓ１４でＹＥＳ）、訓練データ評価装置１は、訓練経過記憶部２２から訓練過程のモデルを読み出し（Ｓ１５）、テストデータを用いて訓練経過のモデルのテストを行い、訓練経過のモデルの評価をする（Ｓ１６）。続いて、訓練データ評価装置１は、訓練経過のモデルの評価結果に基づいて、要件に適したモデルを生成したバッチデータを選定し（Ｓ１７）、選定結果を出力する（Ｓ１８）。
【００３５】
以上、本実施の形態の訓練データ評価装置１の構成について説明したが、上記した訓練データ評価装置１のハードウェアの例は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えたコンピュータである。上記した各機能を実現するモジュールを有するプログラムをＲＡＭまたはＲＯＭに格納しておき、ＣＰＵによって当該プログラムを実行することによって、上記した訓練データ評価装置１が実現される。このようなプログラムも本発明の範囲に含まれる。
【００３６】
第１の実施の形態の訓練データ評価装置１は、訓練データを複数のバッチデータに分け、それぞれのバッチデータを用いて訓練を行ったモデルをテストすることにより、どのバッチデータが要件を満たすモデルの生成につながっているかを評価することができる。
【００３７】
（第２の実施の形態）
図５は、第２の実施の形態の訓練データ評価装置２の構成を示す図である。第２の実施の形態の訓練データ評価装置２の基本的な構成は、第１の実施の形態の訓練データ評価装置１と同じであるが、第２の実施の形態の訓練データ評価装置２は、訓練過程のモデルを記憶する訓練経過記憶部２２を備えていない。第２の実施の形態の訓練データ評価装置２は、モデルの訓練を行いながら、モデルの評価を行う点が異なる。
【００３８】
図６は、第２の実施の形態の訓練データ評価装置２の動作を示す図である。訓練データ評価装置２は、訓練データ記憶部２０に記憶されている大量の訓練データを分けてバッチデータを生成する（Ｓ２０）。続いて、訓練データ評価装置２は、どの順序でバッチデータを用いて訓練を行うのか、訓練順序を決定する（Ｓ２１）。
【００３９】
続いて、訓練データ評価装置２は、バッチデータを使って訓練を行い（Ｓ２２）、訓練によって生成されたモデルのテストを行い、訓練経過のモデルの評価をする（Ｓ２３）。訓練データ評価装置２は、訓練経過のモデルの評価とそのモデルの生成に得られたバッチデータを特定するデータを追跡結果記憶部２４に記憶する（Ｓ２４）。訓練データ評価装置２は、全てのバッチデータを用いたか否かに基づいて、訓練を終了するか否かを判定する（Ｓ２５）。全バッチデータの処理を終了していない場合には（Ｓ２５でＮＯ）、次のバッチデータを用いて、モデルの訓練および評価を行う（Ｓ２２〜Ｓ２４）。全バッチデータの処理を終了した場合は（Ｓ２５でＹＥＳ）、訓練データ評価装置２は、訓練経過のモデルの評価結果に基づいて、要件に適したモデルを生成したバッチデータを選定し（Ｓ２６）、選定結果を出力する（Ｓ２７）。
【００４０】
第２の実施の形態の訓練データ評価装置２は、第１の実施の形態の訓練データ評価装置１と同様に、どのバッチデータが要件を満たすモデルの生成につながっているかを評価することができることに加え、バッチデータを用いたモデルの訓練を行いつつ、訓練過程で得られたモデルのテストを行うので、訓練過程で得られたモデルを残しておく必要がない。
【００４１】
（第３の実施の形態）
図７は、第３の実施の形態の訓練データ評価装置３の構成を示す図である。第３の実施の形態の訓練データ評価装置３は、上記した第１の実施の形態の訓練データ評価装置１と同様にバッチデータの評価を行うが、バッチを組み替えてバッチデータの評価を繰り返し行う。そして、異なる試行で選定されたバッチに共通して含まれる訓練データを選定する。すなわち、第１の実施の形態では、バッチを単位として、評価の高い訓練データを選定していたのに対し、第３の実施の形態では各訓練データの単位で評価の高い訓練データを選定する。
【００４２】
第３の実施の形態の訓練データ評価装置３は、繰返処理部３０を有している。繰返処理部３０は、バッチデータ生成部１０、訓練処理部１１および追跡処理部１２を有している。バッチデータ生成部１０は、訓練データからバッチデータを生成するが、繰り返しのたびに異なるバッチデータを生成する。訓練処理部１１および追跡処理部１２は、バッチデータ生成部１０にて生成されたバッチデータに対して、第１の実施の形態の訓練データ評価装置１と同様に、モデルの生成とそのモデルの評価を行い、評価結果に基づいてバッチデータを選定する。追跡処理部１２は、選定したバッチデータを選定バッチデータ記憶部２５に記憶する。続いて、訓練データ選定部１４は、選定されたバッチデータに共通に含まれる訓練データを選定する。
【００４３】
図８は、訓練データ選定部１４による訓練データの選定について説明するための図である。図８には、繰り返し処理のＭ回目の試行において良い結果を得たバッチデータと、Ｎ回目の試行において良い結果を得たバッチデータの例を示している。訓練データ選定部１４は、異なる試行において得られたバッチデータに共通して含まれる訓練データを選定する。図８に示す例では、網掛けをしたデータＡとデータＢが両方のバッチデータに共に含まれているので、訓練データ選定部１４は、データＡとデータＢを選定する。
【００４４】
図８では、２回の選定結果に共通して含まれるデータを選定する例を挙げたが、訓練データ選定部１４は、Ｋ回（例えば、３回等）の結果に共通して含まれるデータを選定することとしてもよいし、すべての結果に共通して含まれるデータを選定することとしてもよい。
【００４５】
図９は、第３の実施の形態の訓練データ評価装置３の動作を示すフローチャートである。訓練データ評価装置３は、訓練データ記憶部２０に記憶されている大量の訓練データを分けてバッチデータを生成する（Ｓ３０）。続いて、訓練データ評価装置３は、どの順序でバッチデータを用いて訓練を行うのか、訓練順序を決定する（Ｓ３１）。続いて、訓練データ評価装置３は、バッチデータを使って訓練を行い（Ｓ３２）、訓練によって生成されたモデルとその訓練に用いたバッチデータを特定するデータを訓練経過記憶部２２に記憶する（Ｓ３３）。訓練データ評価装置３は、全バッチデータの処理を終了したか否かを判定する（Ｓ３４）。全バッチデータの処理を終了していない場合には（Ｓ３４でＮＯ）、次のバッチデータを用いて、モデルをさらに訓練する（Ｓ３２）。
【００４６】
全バッチデータの処理を終了した場合は（Ｓ３４でＹＥＳ）、訓練データ評価装置３は、訓練経過記憶部２２から訓練過程のモデルを読み出し（Ｓ３５）、テストデータを用いて訓練経過のモデルのテストを行い、訓練経過のモデルの評価をする（Ｓ３６）。続いて、訓練データ評価装置３は、訓練経過のモデルの評価結果に基づいて、要件に適したモデルの生成に寄与したバッチデータを選定する（Ｓ３７）。
【００４７】
次に、訓練データ評価装置３は、訓練を終了するか否かを判定する（Ｓ３８）。訓練を終了しないと判定された場合（Ｓ３８でＮＯ）、訓練データ評価装置３は、バッチデータを生成し直し（Ｓ３０）、新たなバッチデータを用いて上記した処理を繰り返す（Ｓ３１〜Ｓ３７）。訓練を終了すると判定された場合（Ｓ３８でＹＥＳ）、訓練データ評価装置３は、選定されたバッチデータに共通して含む訓練データを抽出し（Ｓ３９）、抽出結果を出力する（Ｓ４０）。
【００４８】
第３の実施の形態の訓練データ評価装置３は、バッチデータを組み直してバッチデータの評価を行い、選定されたバッチデータに共通に含まれる訓練データを選定するので、バッチの単位よりもきめ細かく、要件を満たすモデルの生成に寄与する訓練データを選定できる。
【００４９】
（第４の実施の形態）
図１０は、第４の実施の形態の訓練データ評価装置４の構成を示す図である。第４の実施の形態の訓練データ評価装置４の基本的な構成は第１の実施の形態の訓練データ評価装置１と同じであるが、第４の実施の形態の訓練データ評価装置４は、選定されたバッチデータの検証を行う検証部１５をさらに備えている。検証部１５は、選定されたバッチデータを除く訓練データを用いてモデルを生成し、生成したモデルにテストデータを適用して評価を行う。
【００５０】
図１１は、第４の実施の形態の訓練データ評価装置４において検証の動作を示すフローチャートである。訓練データ評価装置４は、訓練データ記憶部２０から訓練データを読み出し（Ｓ５０）、読み出した訓練データから選定されたバッチデータを除外する（Ｓ５１）。次に、訓練データ評価装置４は、バッチデータを除外した訓練データによって訓練を行ったモデルを生成し（Ｓ５２）、生成したモデルにテストデータを適用して、モデルの評価を行う（Ｓ５３）。訓練データ評価装置４は、その評価結果を出力する（Ｓ５４）。
【００５１】
このように選定データを除く訓練データを用いて生成したモデルをテストして評価することにより選定されたバッチデータを検証できる。すなわち、選定されたバッチデータを除く訓練データによって生成したモデルの評価が低い場合には、選定されたバッチデータの評価が高いことが確認される。逆に、選定されたバッチデータを除く訓練データによって生成したモデルの評価が高い場合には、訓練データ全体の評価が高いと考えられ、選定されたバッチデータだけが殊更に評価が高いというわけではないことが分かる。
【００５２】
以上、本発明の訓練データ評価装置について、実施の形態を挙げて詳細に説明したが、本発明は上記した実施の形態に限定されるものではない。上記した実施の形態においては、モデルの評価結果に基づいてバッチデータを選定する手法をいくつか説明したが、これらの複数の手法を用いてバッチデータを選定し、それらの和をとってもよい。
【００５３】
モデルの生成過程において、訓練の初期はモデルが大きく変化するため、その評価が大きく変動しやすい。そこで、初期に生成されたモデルについてはその評価を行わないこととしてもよい。初期に生成されたモデルとは、例えば、バッチデータ全体に対する割合で「初期」を規定してもよく、例えば、全体の５分の１のバッチデータを用いるまでを「初期」としてもよい。また、適用する訓練データの絶対数によって「初期」を規定してもよく、例えば、１０００枚のバッチデータを用いるまでを「初期」としてもよい。
【００５４】
上記した第４の実施の形態では、第１の実施の形態の訓練データ評価装置１にて選定したバッチデータに対して検証を行う装置を例として説明したが、第１の実施の形態の訓練データ評価装置１にて選定した訓練データ以外の訓練データに対して検証を行うことができる。
【００５５】
図１２は、訓練データ評価装置の別の例を示す図である。図１２に示す訓練データ評価装置５は、データ評価部３１と、検証部１５と、出力部１３とを備えている。データ評価部３１は、訓練データ記憶部２０に記憶された大量の訓練データの中からモデルの要件に合ったデータを選定する機能を有している。データ評価部３１がデータを選定する方法は、限定されず、いかなる方法を採用してもよい。
【００５６】
検証部１５は、選定されたデータがモデルの要件に合っているかどうかを検証する。検証部１５は、訓練データから選定データを除き、選定データを除いた訓練データを用いてモデルを生成する。検証部１５は、生成されたモデルに対してテストデータを適用して、（訓練データ−選定データ）で生成されたモデルの評価を行う。このモデルの評価が高いか低いかによって、選定データの検証を行うことができる。
【産業上の利用可能性】
【００５７】
本発明は、機械学習において用いられる訓練データの評価を行う装置として有用である。
【符号の説明】
【００５８】
１〜５  訓練データ評価装置，１０  バッチデータ生成部，１１  訓練処理部，
１２  追跡処理部，１３  出力部，１４  訓練データ選定部，１５  検証部，
２０  訓練データ記憶部，２１  バッチデータ記憶部，２２  訓練経過記憶部，
２３  テストデータ記憶部，２４  追跡結果記憶部，２５  選定バッチデータ記憶部，
２６  選定訓練データ記憶部，３０  繰返処理部，３１  データ評価部
【図１】
2020021301.tif 000003
【図２】
2020021301.tif 000004
【図３】
2020021301.tif 000005
【図４】
2020021301.tif 000006
【図５】
2020021301.tif 000007
【図６】
2020021301.tif 000008
【図７】
2020021301.tif 000009
【図８】
2020021301.tif 000010
【図９】
2020021301.tif 000011
【図１０】
2020021301.tif 000012
【図１１】
2020021301.tif 000013
【図１２】
2020021301.tif 000014