(57)【要約】【課題】質の良い訓練データを自動的に生成することができる方法等を提供する。【解決手段】データ生成装置１０は、検証データＤ１〜Ｄ３を用いて機械学習を行うことにより第１学習済みモデルＭ１を生成し、第１学習済みモデルＭ１を用いて検証データＤ１〜Ｄ３を分類し、正しく分類されなかった検証データのうちから基準データＤ１を選択し、基準データＤ１から変換済データＴ１〜Ｔ３を生成し、変換済データＴ１〜Ｔ３を分類し、正しく分類された変換データＴ３に係る変換の逆変換を訓練データＫ１，Ｋ２に対して施すことにより、新たな訓練データＮ２，Ｎ３を生成する。【選択図】図４
2020052936.tif 000002
【特許請求の範囲】
【請求項１】
機械学習に用いられる学習データに含まれる訓練データを生成する方法であって、
コンピュータが、訓練データを用いて機械学習を行うことにより、第１学習済みモデルを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、少なくとも１つの検証データについて出力値を取得するステップと、
前記第１学習済みモデルによる出力値が不適切であった検証データのうちから、コンピュータが、少なくとも１つの基準データを選択するステップと、
コンピュータが、前記基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、各前記変換済データについて出力値を取得するステップと、
コンピュータが、前記変換済データのうち出力値が適切であったものに施されていた前記変換の逆変換を、少なくとも１つの訓練データに対して施すことにより、少なくとも１つの新たな訓練データを生成するステップと、
を備える、方法。
【請求項２】
機械学習に用いられる学習データに含まれる訓練データを生成する方法であって、
コンピュータが、訓練データを用いて機械学習を行うことにより、第１学習済みモデルを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、少なくとも１つの検証データについて出力値を取得するステップと、
前記第１学習済みモデルによる出力値が適切であった検証データのうちから、コンピュータが、少なくとも１つの基準データを選択するステップと、
コンピュータが、前記基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、各前記変換済データについて出力値を取得するステップと、
コンピュータが、前記変換済データのうち出力値が不適切であったものに施されていた前記変換を、少なくとも１つの訓練データに対して施すことにより、少なくとも１つの新たな訓練データを生成するステップと、
を備える、方法。
【請求項３】
前記学習データに含まれる訓練データおよび検証データは２次元画像データであり、前記変換は、幾何学的線形変換、色値の変換、ニューラルネットで抽出した特徴量の追加や削除または、ニューラルネットで抽出した特徴量の強調や弱める変換を含む、請求項１または２に記載の方法。
【請求項４】
前記学習データに含まれる訓練データおよび検証データは音声データであり、前記変換は、音の高さの変更、音声の再生スピードの変更、雑音の付加、雑音の除去、ローパスフィルタの適用、ハイパスフィルタの適用、ニューラルネットで抽出した特徴量の追加や削除または、ニューラルネットで抽出した特徴量の強調や弱める変換を含む、請求項１または２に記載の方法。
【請求項５】
請求項１〜４のいずれか一項に記載の方法を実行するコンピュータ。
【請求項６】
コンピュータに請求項１〜４のいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、訓練データを生成する方法等に関する。
【背景技術】
【０００２】
機械学習において、訓練データの質のみならず、量もまた重要である。とくに、データを高い精度で分類（クラスタリング）または予測するための学習済みモデルを生成するためには、正解が付与された学習データが大量に必要となる。
【０００３】
このような訓練データを準備するためには、大量のデータを人手で分類して正解を付与したり、人手で予測値を準備したりする必要があり、多大な労力が必要となる。このために、訓練データを自動的に生成する方法の例が、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１７８２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、質の良い学習データを生成することが困難であるという問題があった。
【０００６】
たとえば特許文献１の構成では訓練データそのものを生成することができず、元の訓練データとは無関係に特徴量のみに基づいて新たな訓練データを作成している。このため、実データ（たとえば写真）とはかけ離れたデータ（たとえば画像データ形式ではないデータや、人間が写真と認識できないようなデータ）が生成されてしまうおそれがある。同様の問題は、画像データだけでなく、たとえば音声データでも発生する可能性がある。
【０００７】
この発明は、このような問題点を解決するためになされたものであり、質の良い訓練データを自動的に生成することができる方法、コンピュータおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するため、この発明に係る方法は、機械学習に用いられる学習データに含まれる訓練データを生成する方法であって、
コンピュータが、訓練データを用いて機械学習を行うことにより、第１学習済みモデルを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、少なくとも１つの検証データについて出力値を取得するステップと、
前記第１学習済みモデルによる出力値が不適切であった検証データのうちから、コンピュータが、少なくとも１つの基準データを選択するステップと、
コンピュータが、前記基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、各前記変換済データについて出力値を取得するステップと、
コンピュータが、前記変換済データのうち出力値が適切であったものに施されていた前記変換の逆変換を、少なくとも１つの訓練データに対して施すことにより、少なくとも１つの新たな訓練データを生成するステップと、
を備える。
また、この発明に係る方法は、機械学習に用いられる学習データに含まれる訓練データを生成する方法であって、
コンピュータが、訓練データを用いて機械学習を行うことにより、第１学習済みモデルを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、少なくとも１つの検証データについて出力値を取得するステップと、
前記第１学習済みモデルによる出力値が適切であった検証データのうちから、コンピュータが、少なくとも１つの基準データを選択するステップと、
コンピュータが、前記基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成するステップと、
コンピュータが、前記第１学習済みモデルを用いて、各前記変換済データについて出力値を取得するステップと、
コンピュータが、前記変換済データのうち出力値が不適切であったものに施されていた前記変換を、少なくとも１つの訓練データに対して施すことにより、少なくとも１つの新たな訓練データを生成するステップと、
を備える。
特定の態様によれば、前記学習データに含まれる訓練データおよび検証データは２次元画像データであり、前記変換は、幾何学的線形変換または色値の変換、ニューラルネットで抽出した特徴量の追加や削除、ニューラルネットで抽出した特徴量の強調や弱める変換を含む。
特定の態様によれば、前記学習データに含まれる訓練データおよび検証データは音声データであり、前記変換は、音の高さの変更、音声の再生スピードの変更、雑音の付加、雑音の除去、ローパスフィルタの適用、またはハイパスフィルタの適用、ニューラルネットで抽出した特徴量の追加や削除、ニューラルネットで抽出した特徴量の強調や弱める変換を含む。
また、この発明に係るコンピュータは、上述の方法を実行する。
また、この発明に係るプログラムは、コンピュータに上述の方法を実行させる。
【発明の効果】
【０００９】
この発明に係る方法等によれば、実際の学習データに変換を施すことで新たな学習データを生成するので、より質の良い学習データを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係るコンピュータの構成の例を示す図である。
【図２】実施の形態１に係る学習データの例を示す図である。
【図３】実施の形態１に係る処理の流れを説明するフローチャートである。
【図４】実施の形態１における基準データに対する変換の例を示す図である。
【図５】実施の形態１において生成される新たな訓練データの例を示す図である。
【図６】実施の形態２に係る検証データの例を示す図である。
【図７】実施の形態２に係る処理の流れを説明するフローチャートである。
【図８】実施の形態２における基準データに対する変換の例を示す図である。
【図９】実施の形態２において生成される新たな訓練データの例を示す図である。
【図１０】図１のコンピュータの各機能を専用のハードウェアである処理回路で実現する場合を示した構成図である。
【図１１】図１のコンピュータの各機能をプロセッサおよびメモリを備えた処理回路により実現する場合を示した構成図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態１．
図１に、本発明の実施の形態１に係るデータ生成装置１０の構成の例を示す。データ生成装置１０は、機械学習に用いられる学習データを生成する装置（コンピュータ）として機能する。
【００１２】
図１に示すように、データ生成装置１０は公知のコンピュータとしての構成を有し、演算を行う演算手段１１と、情報を格納する記憶手段１２とを備える。演算手段１１はたとえばＣＰＵ（中央処理装置）を含み、記憶手段１２はたとえば半導体メモリおよびＨＤＤ（ハードディスクドライブ）を含む。
【００１３】
記憶手段１２は、学習データを記憶する。学習データは、データについて出力値を取得する学習済みモデルを生成するための学習データである。学習済みモデルは、たとえばデータを複数のクラスのいずれかに分類するためのモデルであってもよい。その場合には、学習済みモデルの出力値は、たとえばそのデータがいずれのクラスに属するかを表す値となる。また、学習済みモデルは、未来のデータを予測するためのモデルであってもよい。その場合には、学習済みモデルの出力値は、たとえば未来のデータの予測値となる。以下では、データを分類するためのモデルについて説明するが、本発明はデータの予測を行うモデルにも応用が可能である。機械学習処理における学習データの具体的な利用方法は適宜設計可能であるが、訓練データと検証データを含んでいる。
【００１４】
学習データは、所定のデータ形式を有するデータ単位の集合である。各データ単位は、分類対象となるデータ部分と、正解ラベルとを含んでいる。なお、本明細書において、「データを分類する」という表現および「データを認識する」という表現は、いずれも、「データの正解ラベルを推定する」という意味である場合がある。以下では、データが画像データである場合について説明するが、本発明はデータが音声データである場合にも応用が可能である。
【００１５】
図２に、実施の形態１における検証データの例を示す。検証データは検証データＤ１〜Ｄ３を含む。本実施形態では、各データ単位において、分類対象となるデータ部分は２次元画像である。具体例として、あるデータ単位のデータ部分は人物の画像を表し、当該データ単位の正解ラベルは「人物」である。この場合には、当該データ単位は［人物］というクラスに属するということができる。図２の検証データＤ１〜Ｄ３はこれに該当する。また、別のデータ単位は人物でない物の画像を表し、当該データ単位の正解ラベルは「非人物」である。この場合には、当該データ単位は［非人物］というクラスに属するということができる。３個以上のクラスが定義されてもよい。
【００１６】
訓練データも、検証データと同一の形式で定義される。この例では、これらの訓練データは、データを「人物」または「非人物」のクラスに分類する学習済みモデルを生成するための訓練データであるということができる。すなわち、これらの訓練データを用いた機械学習により生成される学習済みモデルは、画像が人物を表すものであるか否かを認識するためのモデルとなる。
【００１７】
データ生成装置１０の記憶手段１２はプログラム（図示せず）も格納しており、演算手段１１がこのプログラムを実行することによって、データ生成装置１０は本明細書に記載される機能を実現する。すなわち、このプログラムは、本明細書に記載される方法を、コンピュータに実行させるものである。
【００１８】
データ生成装置１０は、公知のコンピュータが通常備える他の構成要素を備えてもよい。たとえば、出力装置であるディスプレイおよびプリンタ、入力装置であるキーボードおよびマウス、通信ネットワークに対する入力装置と出力装置とを兼ねるネットワークインタフェース、等を備えてもよい。
【００１９】
図３は、実施の形態１においてデータ生成装置１０が実行する処理の流れを説明するフローチャートである。図３の処理において、まずデータ生成装置１０は、訓練データを用いて機械学習を行うことにより、第１学習済みモデルＭ１を生成する（ステップＳ１）。第１学習済みモデルＭ１は、データを複数のクラスのいずれかに分類するモデルである。すなわち、データについて、そのデータがいずれのクラスに属するかを表す値を、出力値として出力する。第１学習済みモデルＭ１はどのような形式のモデルであってもよいが、たとえばニューラルネットワークを用いて構成することができる。第１学習済みモデルＭ１の具体的な構造は当業者が適宜設計可能である。
【００２０】
次に、データ生成装置１０は、第１学習済みモデルＭ１を用いて、検証データを分類する（ステップＳ２）。すなわち、検証データについて出力値を取得する。ステップＳ２は少なくとも１つの検証データ（たとえば検証データＤ１）に対して行われればよいが、すべての検証データに対して行ってもよい。
【００２１】
ここでは、図２に示す検証データのうち、検証データＤ１は正しく分類されず（たとえば人物でないと認識され）、検証データＤ２およびＤ３は正しく分類された（たとえば人物であると認識された）とする。検証データＤ１の分類を誤った理由としては、たとえば画像中の人物が縦方向に長すぎ、かつ色が薄いためである、という理由が考えられるものとする。
【００２２】
次に、データ生成装置１０は、第１学習済みモデルＭ１を用いて正しく分類されなかった検証データ（すなわち第１学習済みモデルＭ１による出力値が不適切であった検証データ）のうちから、少なくとも１つの基準データを選択する（ステップＳ３）。ここで、「正しく分類されなかった」とは、たとえば誤ったクラスに分類されたもの（人物の画像であるのに［非人物］のクラスに分類された等）を意味するが、いずれのクラスにも分類されなかったものを含んでもよい。
【００２３】
選択の基準は適宜設計可能であり、たとえば正しく分類されなかった検証データのうちからランダムに選択するようにしてもよいし、正しく分類されなかった検証データをすべて基準データとして選択するようにしてもよい。ここでは、検証データＤ１が基準データとして選択されたものとする。
【００２４】
次に、データ生成装置１０は、基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成する（ステップＳ４）。
図４に、基準データに対する変換の例を示す。検証データＤ１に対してコントラストを強調する変換を施すことにより、変換済データＴ１が生成される。同様に、検証データＤ１に対して縦方向に圧縮する変換を施すことにより、変換済データＴ２が生成され、検証データＤ１に対してコントラストを強調する変換および縦方向への圧縮に圧縮する変換を施すことにより、変換済データＴ３が生成される。
【００２５】
このような変換に対応する具体的な演算処理は、公知の画像処理ソフトウェアまたは他の技術を用いて適宜設計可能である。
【００２６】
ここで、変換済データＴ１に係る変換と、変換済データＴ３に係る変換とは、その一部が共通している（いずれもコントラストを強調する変換を含む）が、全体として異なる変換となっている。このように、変換済データＴ１〜Ｔ３に対しては、互いに異なる変換が施されたということができる。このように、各変換済データは、基準データに対してそれぞれ異なる変換を施すことにより生成される。
【００２７】
次に、データ生成装置１０は、第１学習済みモデルＭ１を用いて、変換済データＴ１〜Ｔ３を分類する（ステップＳ５）。すなわち、第１学習済みモデルＭ１を用いて、変換済データＴ１〜Ｔ３について出力値を取得する。ここでは、変換済データＴ１およびＴ２は正しく分類されず（たとえば人物でないと認識され）、変換済データＴ３は正しく分類された（たとえば人物であると認識された）ものとする。
【００２８】
なお、ここですべての変換済データが正しく分類された場合には、処理をステップＳ３に戻し、基準データの選択から処理をやり直してもよい。
【００２９】
ここで、検証データＤ１の分類は誤っていたにも関わらず、検証データＤ１から生成された変換済データＴ３の分類が正しく行われるようになった理由としては、変換済データＴ３のコントラストおよび縦横比率が、他の多くの訓練データと同程度に変更されていたため、第１学習済みモデルＭ１が正しく分類できるようになった、という理由が考えられるものとする。これを言い換えると、検証データＤ１のようにコントラストが薄く、かつ縦方向に長い画像が、学習データ中に不足していたものと考えられる。このため、検証データＤ１のようにコントラストが薄く、かつ縦方向に長い画像を訓練データ中に追加して新たに機械学習をやり直せば、検証データＤ１を正しく分類できる学習済みモデルが生成される可能性が高まることが期待される。
【００３０】
次に、データ生成装置１０は、変換の内容に基づき、新たな訓練データを生成する（ステップＳ６）。より具体的には、変換済データのうち正しく分類されたもの（すなわち出力値が適切であったもの）に施されていた変換の逆変換を、全ての訓練データに施す。この例では、正しく分類された変換済データＴ３に施されていた変換は「コントラストを強調する変換および縦方向に圧縮する変換」であるので、これに対する逆変換は、たとえば「コントラストを緩和する変換および縦方向に伸長する変換」となる。なお、この例では変換を構成する要素の順序は可換であるが、そうでない場合には各要素の順序を逆転してもよい。
【００３１】
なお、上述のように新たな学習データの元となる訓練データは、少なくとも１つであればよい。
【００３２】
図５に、新たな訓練データの例を示す。訓練データＫ１に対して「コントラストを緩和する変換および縦方向に伸長する変換」を施すことにより、新たな訓練データＮ２が生成される。同様に、訓練データＫ２に対して「コントラストを緩和する変換および縦方向に伸長する変換」を施すことにより、新たな訓練データＮ３が生成される。同様に、全ての訓練データに対して、変換が施される。
【００３３】
次に、データ生成装置１０は、ステップＳ１で用いた訓練データと、ステップＳ６で生成された新たな訓練データとを用いて機械学習を行うことにより、第２学習済みモデルを生成する（ステップＳ７）。
【００３４】
ここで、新たな訓練データＮ２およびＮ３は、検証データＤ１のようにコントラストが薄く、かつ縦方向に長い画像となっているので、これらを用いて生成された第２学習済みモデルは、検証データＤ１を正しく分類できる可能性が高いといえる。
【００３５】
以上説明するように、本発明の実施の形態１に係るデータ生成装置１０によれば、検証データＤ１を正しく分類するための質の良い学習データを自動的に生成することができる。
【００３６】
ステップＳ５では、検証データＤ１に異なる変換を施した変換済データＴ１〜Ｔ３を分類することにより、ステップＳ６で施す変換の内容を決定している。正しく分類されなかった検証データの全てまたは一部を選択し、ステップＳ５を実行する。ステップＳ６で施す変換は、ステップ５で正しく分類されるようになったデータが多い変換の逆変換を、施す変換の内容と決定するように構成してもよい。このとき、一番正しく分類されるようになったデータが多い変換の逆変換だけを施してもよいし、上位複数の変換の逆変換を施すように構成してもよい。
ステップＳ２で検証データＤ２、Ｄ３のように正しく分類されていた検証データが、ステップＳ５で正しく分類されなくなる場合はその検証データ数をカウントしてもよい。この検証データ数が一定値より多い場合は、ステップＳ６で変換の逆変換を施すことにより訓練データを増やしても、第１学習済みモデルＭ１の認識率が良くならない可能性がある。そこで、ステップＳ５で正しく分類されるようになった検証データ数と、ステップＳ５で正しく分類されなくなった検証データ数を比較して、ステップＳ５で正しく分類されるようになる検証データ数の差が大きい変換や、ステップＳ５で正しく分類されなくなる検証データがほとんど発生しない変換を優先して選択してもよい。
さらに、Ｄ１が正しく分類されるようになるほど大きな変化がない場合でも、正しいクラスである確率と正しくないクラスである確率が得られるので、それを比較するとＤ１の正しいクラスである確率が向上し、正しくないクラスである確率が低下する変換に着目し、逆に、Ｄ２、Ｄ３のように正しく分類されていた検証データについて、正しいクラスである確率が減少しないか減少が少ない変換を候補として選択してもよい。
【００３７】
とくに、本実施形態では画像に対する変換を行うので、変換後のデータも画像として認識できる範囲のものであり、画像でないデータが生成されたり、人間が画像として認識できないようなデータが生成される可能性は低い。
【００３８】
なお、このような効果は、いかなる学習データセットに対しても必ず成り立つというものではないが、少なくとも多くの学習データセットについては効率的に質の良いデータを追加することが可能である。
【００３９】
実施の形態２．
実施の形態２は、実施の形態１で説明した、基準データの選択方法および新たな訓練データの生成方法を変更するものである。以下、実施の形態１との相違点を説明する。
【００４０】
図６に、実施の形態２における学習データの例を示す。検証データは検証データＤ４〜Ｄ６を含む。図６の検証データＤ４〜Ｄ６は［人物］のクラスに属するデータの例である。
【００４１】
図７は、実施の形態２においてデータ生成装置１０が実行する処理の流れを説明するフローチャートである。ステップＳ１１およびＳ１２は、図３のステップＳ１およびＳ２と同様である。
【００４２】
ここでは、図６に示す検証データのうち、検証データＤ４およびＤ６は正しく分類されず（たとえば人物でないと認識され）、検証データＤ５は正しく分類された（たとえば人物であると認識された）とする。
【００４３】
ステップＳ１２の後、データ生成装置１０は、第１学習済みモデルＭ１を用いて正しく分類された検証データのうちから、少なくとも１つの基準データを選択する（ステップＳ１３）。実施の形態２では、実施の形態１と異なり、基準データは正しく分類された検証データのうちから選択される。ここでは、検証データＤ５が基準データとして選択されたものとする。
選択の基準は適宜設計可能であり、たとえば正しく分類された検証データのうちからランダムに選択するようにしてもよいし、正しく分類された検証データをすべて基準データとして選択するようにしてもよい。
【００４４】
次に、データ生成装置１０は、ステップＳ４と同様に、基準データに対して複数の異なる変換を施すことにより、複数の異なる変換済データを生成する（ステップＳ１４）。
図８に、基準データに対する変換の例を示す。検証データＤ５に対してコントラストを緩和する変換を施すことにより、変換済データＴ４が生成される。同様に、検証データＤ５に対して縦方向に伸長する変換を施すことにより、変換済データＴ５が生成され、検証データＤ５に対して左右反転する変換を施すことにより、変換済データＴ６が生成される。
【００４５】
次に、データ生成装置１０は、ステップＳ５と同様に、第１学習済みモデルＭ１を用いて、変換済データＴ４〜Ｔ６を分類するステップ（ステップＳ１５）。ここでは、変換済データＴ５は正しく分類されず（たとえば人物でないと認識され）、変換済データＴ４およびＴ６は正しく分類された（たとえば人物であると認識された）ものとする。
【００４６】
ここで、変換済データＴ４およびＴ６の分類を正しく行えた理由としては、訓練データ中に、変換済データＴ４のようにコントラストが弱い画像や、変換済データＴ６のように左右反転されたものに類似した画像が、訓練データ中に多く存在していた、という理由が考えられるとする。また、それにも関わらず、これらと同じ検証データＤ５から生成された変換済データＴ５の分類を誤ってしまった理由としては、訓練データ中に、変換済データＴ５のような縦方向に長い画像が不足していた、という理由が考えられるとする。このため、変換済データＴ５のように縦方向に長い画像を訓練データ中に追加して新たに機械学習をやり直せば、変換済データＴ５に似た画像を正しく分類できる学習済みモデルが生成される可能性が高まることが期待される。
【００４７】
次に、データ生成装置１０は、変換の内容に基づき、新たな訓練データを生成する（ステップＳ１６）。より具体的には、変換済データのうち正しく分類されなかったものに施されていた変換を、少なくとも１つの訓練データに対して施すことにより、少なくとも１つの新たな訓練データを生成する。この例では、正しく分類されなかった変換済データＴ５に施されていた「縦方向に伸長する変換」という変換により、新たな訓練データを生成する。
【００４８】
なお、新たな訓練データの元となる訓練データは、上述のように少なくとも１つであればよいが、すべての訓練データについて同様に新たな訓練データを生成してもよい。
【００４９】
図９に、新たな訓練データの例を示す。訓練データＫ３に対して「縦方向に伸長する変換」を施すことにより、新たな訓練データＮ４が生成される。同様に、訓練データＫ４に対して「縦方向に伸長する変換」を施すことにより、新たな訓練データＮ５が生成され、訓練データＫ５に対して「縦方向に伸長する変換」を施すことにより、新たな訓練データＮ６が生成される。
【００５０】
次に、データ生成装置１０は、ステップＳ７と同様に、ステップＳ１１で用いた訓練データと、ステップＳ１６で生成された新たな訓練データとを用いて機械学習を行うことにより、第２学習済みモデルを生成する（ステップＳ１７）。
【００５１】
ここで、新たな訓練データＮ４〜Ｎ６は、変換済データＴ５のように縦方向に長い画像となっているので、これらを用いて生成された第２学習済みモデルは、変換済データＴ４のようにコントラストが弱い画像や、変換済データＴ６のように左右反転したものに類似した画像のみならず、変換済データＴ５のように縦方向に長い画像についても、正しく分類できる可能性が高いといえる。すなわち、第２学習済みモデルは、より様々なデータを適切に分類できる頑強なモデルとなる。
【００５２】
以上説明するように、本発明の実施の形態２に係るデータ生成装置１０によれば、変換済データＴ５に類似する検証データ等を正しく分類するための質の良い訓練データを自動的に生成することができる。
【００５３】
ステップＳ１５では、検証データＤ５に異なる変換を施した変換済データＴ４〜Ｔ５を分類することにより、ステップＳ１６で施す変換の内容を決定している。正しく分類された検証データの全てまたは一部を選択し、ステップＳ１５を実行する。ステップＳ１６で施す変換は、ステップ１５で、正しく分類されないデータが多い変換を、施す変換の内容と決定するように構成してもよい。このとき、一番正しく分類されないデータが多い変換だけを施してもよいし、上位複数の変換を施すように構成してもよい。
ステップＳ１２で検証データＤ４、Ｄ６のように正しく分類されていなかった検証データが、ステップＳ１５で正しく分類される場合はその検証データ数をカウントしてもよい。この検証データ数が一定値より多い場合は、ステップＳ１６で変換を施すことにより訓練データを増やしても、第１学習済みモデルＭ１の認識率が良くならない可能性がある。そこで、ステップＳ１２で正しく分類されなかった検証データ数と、ステップＳ１５で正しく分類された検証データ数を比較して、ステップＳ１５で正しく分類されなくなる検証データ数の差が大きい変換や、ステップＳ１５で正しく分類されるようになる検証データがほとんど発生しない変換が有力と考えられる。
さらに、Ｄ５が正しく分類されなくなるほど大きな変化がない場合でも、正しいクラスである確率と正しくないクラスである確率が得られるので、それを比較するとＤ５の正しくないクラスである確率が向上し、正しいクラスである確率が低下する変換に着目し、逆に、Ｄ４、Ｄ６のように正しく分類されていなかった検証データについて、正しくないクラスである確率が減少しないか減少が少ない変換を候補として選択してもよい。
【００５４】
実施の形態１で説明した処理を実行した後、実施の形態２で説明した処理を実行し、さらに実施の形態１で説明した処理に戻り実行する一連の流れを、基準データがなくなるまで繰り返してもよい。
実施の形態１および２において、以下のような変形を施すことができる。
ステップＳ１、Ｓ７、Ｓ１１およびＳ１７は、データ生成装置１０以外のコンピュータが実行してもよい。また、ステップＳ７を実行せず、他の用途に新たな訓練データＮ２〜Ｎ６を用いてもよい。
【００５５】
データ変換の具体的内容は適宜設計可能であり、たとえば、任意の幾何学的線形変換を含むものであってもよい。幾何学的線形変換とは、たとえば直交２次元座標系において、座標に２×２行列を作用させる変換を意味する。幾何学的線形変換の例としては、回転、平行移動、拡大縮小、反転（たとえば左右反転）、これらの組み合わせ、等が挙げられる。拡大縮小は、１方向または２方向への拡大または縮小を含む。１方向への拡大または縮小は、縦方向の伸長、縦方向の圧縮、横方向の伸長、横方向の圧縮、斜め方向の伸長、斜め方向の圧縮、等を含む。２方向への拡大または縮小は、たとえば縦および横方向への伸長または圧縮（縦横で倍率が異なるものを含む）であるが、斜め方向への伸長または圧縮を含んでもよい。
【００５６】
また、変換は、色値の変換を含むものであってもよい。色値の変換の例としては、明るさの変更、色調の変更、コントラストの強調または緩和、等が挙げられる。またニューラルネットで抽出した特徴量の追加や削除、ニューラルネットで抽出した特徴量の強調や弱める変換等であってもよい。
【００５７】
学習データに含まれる訓練データと検証データは画像データ以外の種類のデータであってもよい。たとえば音声データであってもよい。この場合には、データの変換は、音の高さの変更を含んでもよく、音声の再生スピードの変更を含んでもよい。また、データの変換は、雑音の付加または雑音の除去を含んでもよい。雑音の付加および除去ならびにそれぞれの逆変換は、当業者が任意に設計可能であるが、たとえば、２０１８年９月１２日において＜https://tokyohappendix.com/audio-tips/audacity＞で公開されている技術を用いて行うことができる。実施の形態２においては、さらに、データの変換は、ローパスフィルタの適用（すなわち所定周波数以上の周波数成分を除去する）、ハイパスフィルタの適用（すなわち所定周波数以下の周波数成分を除去する）、等を含んでもよい。ローパスフィルタおよびハイパスフィルタの適用ならびにそれぞれの逆変換は、当業者が任意に設計可能であるが、たとえば、２０１８年９月１２日において＜https://pianoforte32.com/blog/files/DSEE_performance_of_HAP-Z1ES_by_pure_sound_source.html＞で公開されている技術を用いて行うことができる。
またデータ変換は、ニューラルネットで抽出した特徴量の追加や削除、ニューラルネットで抽出した特徴量の強調や弱める変換等を含んでもよい。
【００５８】
機械学習を行わせるためのモデルとしては、任意の形式のモデルを用いることができる。たとえばニューラルネットワークを用いてもよいし、他のモデルを用いてもよい。
【００５９】
実施の形態１および２ではデータの分類を行うための学習済みモデル、訓練データおよび検証データについて説明したが、データの予測を行うための学習済みモデル、訓練データおよび検証データについても同様に実施が可能である。その場合には、学習済みモデルの出力値は予測値となる。また、出力値が適切であるか否かは、正しく分類されたか否かに代えて、予測精度が所定の閾値以上であったか否かに基づいて判定することができる。たとえば、予測された値と正解の値との間の二乗誤差を算出し、この二乗誤差が閾値未満であれば出力値が適切である（正しく予測された）と判定し、二乗誤差が閾値以上であれば出力値が不適切である（正しく予測されなかった）と判定してもよい。
【００６０】
ステップＳ７およびＳ１７において、訓練データ全体ではなく、訓練データの一部を拡張した場合、データ全体の傾向に影響を与えないように、新たな訓練データと、その元となった訓練データとについては、学習する際の重みの変更量を通常より小さくしてもよい。たとえば、通常の重みの変更量（または係数）がηであり、１つの元の訓練データからｎ個の新たな訓練データが生成された場合には、その元の訓練データと、その新たな訓練データとについて、重みの変更量（または係数）はη／（ｎ＋１）としてもよい。具体例として、実施の形態１において、訓練データＫ１および訓練データＫ２と、これらから生成された新たな訓練データＮ２およびＮ３とについては、ステップＳ７においてこれらのデータを用いて学習する際の重みの変更量を通常の１／２としてもよい。
【００６１】
なお、上述した実施の形態１および２に係るデータ生成装置１０における各機能は、処理回路によって実現される。各機能を実現する処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサであってもよい。図１０は、本発明の実施の形態１および２に係るデータ生成装置１０の各機能を専用のハードウェアである処理回路１０００で実現する場合を示した構成図である。また、図１１は、本発明の実施の形態１および２に係るデータ生成装置１０の各機能をプロセッサ２００１およびメモリ２００２を備えた処理回路２０００により実現する場合を示した構成図である。
【００６２】
処理回路が専用のハードウェアである場合、処理回路１０００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。データ生成装置１０の各部の機能それぞれを個別の処理回路１０００で実現してもよいし、各部の機能をまとめて処理回路１０００で実現してもよい。
【００６３】
一方、処理回路がプロセッサ２００１の場合、データ生成装置１０の各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリ２００２に格納される。プロセッサ２００１は、メモリ２００２に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、データ生成装置１０は、処理回路２０００により実行されるときに、ステップＳ１〜７またはＳ１１〜Ｓ１７が結果的に実行されることになるプログラムを格納するためのメモリ２００２を備える。
【００６４】
これらのプログラムは、上述した各部の手順あるいは方法をコンピュータに実行させるものであるともいえる。ここで、メモリ２００２とは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の、不揮発性または揮発性の半導体メモリが該当する。また、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等も、メモリ２００２に該当する。
【００６５】
なお、上述した各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【００６６】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。
【符号の説明】
【００６７】
１０  データ生成装置（コンピュータ）、Ｄ１〜Ｄ６  検証データ（Ｄ１，Ｄ５  基準データ）、Ｍ１  第１学習済みモデル、Ｋ１〜Ｋ５  訓練データ、Ｎ２〜Ｎ６  新たな訓練データ、Ｔ１〜Ｔ６  変換済データ。
【図１】
2020052936.tif 000003
【図２】
2020052936.tif 000004
【図３】
2020052936.tif 000005
【図４】
2020052936.tif 000006
【図５】
2020052936.tif 000007
【図６】
2020052936.tif 000008
【図７】
2020052936.tif 000009
【図８】
2020052936.tif 000010
【図９】
2020052936.tif 000011
【図１０】
2020052936.tif 000012
【図１１】
2020052936.tif 000013