(57)【要約】【課題】より適切に相互に連携できる学習済みモデルを生成できる方法等を提供する。【解決手段】コンピュータ１０は、訓練データＤ１を用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルＭ１を生成する（ステップＳ１）。また、コンピュータ１０は、第１学習済みモデルＭ１が正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルＭ２を生成する（ステップＳ２）。【選択図】図２
2020052935.tif 000002
【特許請求の範囲】
【請求項１】
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
を含む、方法。
【請求項２】
前記方法は、第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記振り分けクラス［Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、第１学習済みモデルを追加学習するステップをさらに備える、請求項２に記載の方法。
【請求項４】
前記方法は、データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記第２データを用いて機械学習を行うことにより、データを、前記成否クラス［Ｍ１］、前記成否クラス［Ｍ２］および前記成否クラス［非Ｍ１非Ｍ２］を含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ２］に分類されるデータが属する振り分けクラス［Ｍ２：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１非Ｍ２］に分類されるデータが属する振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む、請求項２または３に記載の方法。
【請求項５】
データを分類する方法であって、
請求項２〜４のいずれか一項に記載の方法を用いて、前記第１学習済みモデル、前記第２学習済みモデルおよび前記振り分け用学習済みモデルを生成するステップと、
前記振り分け用学習済みモデルを用いて、本番データを、前記複数の振り分けクラスのいずれかに分類するステップと、
前記第１学習済みモデルを用いて、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
前記第２学習済みモデルを用いて、前記振り分けクラス［Ｍ２：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
を備える、方法。
【請求項６】
前記方法は、第１データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
に分類するステップをさらに備え、
前記第２生成ステップは、前記成否クラス［非Ｍ１］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップを含む、
請求項１に記載の方法。
【請求項７】
データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第１データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記成否クラス［非Ｍ１非Ｍ２］に属する前記第１データを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む、請求項１または６に記載の方法。
【請求項８】
データを分類する方法であって、
請求項１、６または７に記載の方法を用いて、前記第１学習済みモデルおよび前記第２学習済みモデルを生成するステップと、
第２データを用いて、前記第１学習済みモデルがデータを正しい対象物クラスに分類する確率である第１確率を決定するステップと、
前記第２データを用いて、前記第２学習済みモデルがデータを正しい対象物クラスに分類する確率である第２確率を決定するステップと、
本番データについて、前記第１学習済みモデルがその本番データを分類する対象物クラスである第１対象物クラスと、その分類結果の信頼度である第１信頼度とを決定するステップと、
前記本番データについて、前記第２学習済みモデルがその本番データを分類する対象物クラスである第２対象物クラスと、その分類結果の信頼度である第２信頼度とを決定するステップと、
前記第１確率と、前記第２確率と、前記第１対象物クラスと、前記第２対象物クラスと、前記第１信頼度と、前記第２信頼度とに基づき、前記本番データを複数の対象物クラスのいずれかに分類するステップと、
を備える、方法。
【請求項９】
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データに基づいて推定値を出力する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルによる推定値の誤差を大きくするデータに基づく処理に依存する機械学習を行うことにより、データに基づいて推定値を出力する第２学習済みモデルを生成する、第２生成ステップと、
を含む、方法。
【請求項１０】
請求項１〜９のいずれか一項に記載の方法を実行するコンピュータ。
【請求項１１】
コンピュータに請求項１〜９のいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習済みモデルを生成する方法等に関する。
【背景技術】
【０００２】
多数のデータを分類（クラスタリング）して各データを認識する処理に、機械学習が用いられることがある。また、その場合に、各種類のデータそれぞれに特化した学習済みモデルを準備し、多数の学習済みモデルを組み合わせて分類を行う技術が知られている。特許文献１には、このような技術の例が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２６５９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、各モデル間の連携が適切でない場合があるという問題があった。
【０００５】
たとえば特許文献１には、各モデルをどのようなパターンで学習させるかが記載されていない。各モデルに与える訓練パターンによっては、各モデル間の連携がうまくいかず、分類精度が低下するおそれがある。
【０００６】
この発明は、このような問題点を解決するためになされたものであり、相互により適切に連携できる学習済みモデルを生成できる方法等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の問題点を解決するため、この発明に係る方法は、
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
を含む。
特定の態様によれば、前記方法は、第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む。
特定の態様によれば、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、第１学習済みモデルを追加学習するステップをさらに備える。
特定の態様によれば、前記方法は、データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記第２データを用いて機械学習を行うことにより、データを、前記成否クラス［Ｍ１］、前記成否クラス［Ｍ２］および前記成否クラス［非Ｍ１非Ｍ２］を含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ２］に分類されるデータが属する振り分けクラス［Ｍ２：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１非Ｍ２］に分類されるデータが属する振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む。
また、この発明に係る方法は、データを分類する方法であって、
上述の方法を用いて、前記第１学習済みモデル、前記第２学習済みモデルおよび前記振り分け用学習済みモデルを生成するステップと、
前記振り分け用学習済みモデルを用いて、本番データを、前記複数の振り分けクラスのいずれかに分類するステップと、
前記第１学習済みモデルを用いて、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
前記第２学習済みモデルを用いて、前記振り分けクラス［Ｍ２：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
を備える。
特定の態様によれば、前記方法は、第１データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
に分類するステップをさらに備え、
前記第２生成ステップは、前記成否クラス［非Ｍ１］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップを含む。
特定の態様によれば、データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第１データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記成否クラス［非Ｍ１非Ｍ２］に属する前記第１データを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む。
また、この発明に係る方法は、データを分類する方法であって、
上述の方法を用いて、前記第１学習済みモデルおよび前記第２学習済みモデルを生成するステップと、
第２データを用いて、前記第１学習済みモデルがデータを正しい対象物クラスに分類する確率である第１確率を決定するステップと、
前記第２データを用いて、前記第２学習済みモデルがデータを正しい対象物クラスに分類する確率である第２確率を決定するステップと、
本番データについて、前記第１学習済みモデルがその本番データを分類する対象物クラスである第１対象物クラスと、その分類結果の信頼度である第１信頼度とを決定するステップと、
前記本番データについて、前記第２学習済みモデルがその本番データを分類する対象物クラスである第２対象物クラスと、その分類結果の信頼度である第２信頼度とを決定するステップと、
前記第１確率と、前記第２確率と、前記第１対象物クラスと、前記第２対象物クラスと、前記第１信頼度と、前記第２信頼度とに基づき、前記本番データを複数の対象物クラスのいずれかに分類するステップと、
を備える。
また、この発明に係る方法は、学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データに基づいて推定値を出力する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルによる推定値の誤差を大きくするデータに基づく処理に依存する機械学習を行うことにより、データに基づいて推定値を出力する第２学習済みモデルを生成する、第２生成ステップと、
を含む。
また、この発明に係るコンピュータは、上述の方法を実行する。
また、この発明に係るプログラムは、コンピュータに上述の方法を実行させる
【発明の効果】
【０００８】
この発明に係る方法等によれば、ある学習済みモデルが正しく分類できなかったデータに基づく処理に依存して別の学習済みモデルを生成するので、各モデルが得意とするデータを適切に分担することができ、各モデル間の連携がより適切に実現できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係るコンピュータの構成の例を示す図である。
【図２】本発明の概略を説明する図である。
【図３】学習済みモデルを生成するための処理の流れを説明するフローチャートである。
【図４】図３のステップＳ１の詳細である。
【図５】実施の形態１における、図３のステップＳ２の詳細である。
【図６】実施の形態１における、図３のステップＳ３の詳細である。
【図７】実施の形態１において、データを分類するための処理の流れを説明するフローチャートである。
【図８】実施の形態２における、図３のステップＳ２の詳細である。
【図９】実施の形態２における、図３のステップＳ３の詳細である。
【図１０】実施の形態２において、データを分類するための処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態１．
図１に、本発明の実施の形態１に係るコンピュータ１０の構成の例を示す。コンピュータ１０は、学習済みモデルを生成する装置として機能する。また、コンピュータ１０は、学習済みモデルを用いてデータを分類する装置としても機能する。さらに、コンピュータ１０は、本明細書に記載される他の方法を実行する装置としても機能する。
【００１１】
図１に示すように、コンピュータ１０は公知のコンピュータとしての構成を有し、演算を行う演算手段１１と、情報を格納する記憶手段１２とを備える。演算手段１１はたとえばＣＰＵ（中央処理装置）を含み、記憶手段１２はたとえば半導体メモリおよびＨＤＤ（ハードディスクドライブ）を含む。
【００１２】
記憶手段１２は、訓練データＤ１（第１データ）、検証データＤ２（第２データ）、評価データＤ３（第３データ）および本番データＤ４を格納する。訓練データＤ１、検証データＤ２および評価データＤ３は、学習モデルの生成に用いられるデータである。また、本番データＤ４は、生成された学習モデルを用いて分類されるデータの例である。
【００１３】
訓練データＤ１、検証データＤ２および評価データＤ３は、いずれも同一のデータ形式を有するデータ単位の集合である。各データ単位は、分類対象となるデータ部分と、正解ラベルとを含んでいる。なお、本明細書において、「データを分類する」という表現および「データを認識する」という表現は、いずれも、「データの正解ラベルを推定する」という意味である場合がある。また、本番データＤ４もデータ単位の集合であり、分類対象となるデータ部分を含む。本番データＤ４のデータ単位は、一般的には正解ラベルを含まないが、正解ラベルを含むものであってもよい。
【００１４】
各データ単位において、分類対象となるデータ部分はたとえば画像である。具体例として、あるデータ単位のデータ部分は老人の画像を表し、当該データ単位の正解ラベルは「老人」である。この場合には、当該データ単位は［老人］という対象物クラスに属するということができる。また、別のデータ単位は子供の画像を表し、当該データ単位の正解ラベルは「子供」である。この場合には、当該データ単位は［子供］という対象物クラスに属するということができる。
【００１５】
記憶手段１２はプログラム（図示せず）も格納しており、演算手段１１がこのプログラムを実行することによって、コンピュータ１０は本明細書に記載される機能を実現する。すなわち、このプログラムは、コンピュータ１０に本明細書に記載の方法を実行させるものである。
【００１６】
コンピュータ１０は、公知のコンピュータが通常備える他の構成要素を備えてもよい。たとえば、出力装置であるディスプレイおよびプリンタ、入力装置であるキーボードおよびマウス、通信ネットワークに対する入力装置と出力装置とを兼ねるネットワークインタフェース、等を備えてもよい。
【００１７】
図２を用いて、本発明の概略を説明する。本発明は、機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する学習済みモデルを生成することに関する。学習済みモデルは複数生成され、たとえば、第１学習済みモデルＭ１、第２学習済みモデルＭ２および第３学習済みモデルＭ３を含む。
【００１８】
第１学習済みモデルＭ１は、訓練データＤ１を用いた機械学習により生成される。第１学習済みモデルＭ１が生成された後に、第１学習済みモデルＭ１を用いて訓練データＤ１を分類する。これによって、訓練データＤ１は、正しく分類される訓練データＤ１ａと、誤って分類される訓練データＤ１ｂとに分けられる。すなわち、正解ラベルが［老人］である訓練データＤ１を第１学習済みモデルＭ１が［老人］に分類した場合には、その訓練データＤ１は訓練データＤ１ａであり、当該訓練データＤ１を第１学習済みモデルＭ１が［子供］または他のラベルに分類した場合には、その訓練データＤ１は訓練データＤ１ｂであるということになる。
【００１９】
この誤って分類された訓練データＤ１ｂに基づく処理に依存して、第２学習済みモデルＭ２が生成される。第２学習済みモデルＭ２を生成する際の機械学習には、訓練データＤ１ｂを直接的に用いることもでき、訓練データＤ１ｂを用いた処理によって特定される他のデータを用いることもできる。
【００２０】
同様にして、さらに他の学習済みモデルを生成してもよい。すなわち、第２学習済みモデルＭ２が生成された後に、第２学習済みモデルＭ２を用いて訓練データＤ１ｂを分類する。これによって、訓練データＤ１ｂは、正しく分類される訓練データＤ１ｂａと、誤って分類される訓練データＤ１ｂｂとに分けられる。さらに、この誤って分類された訓練データＤ１ｂｂに基づく処理に依存して、第３学習済みモデルＭ３が生成される。
【００２１】
本発明は、このようにして複数の学習済みモデルを生成することを含む。とくに、ある学習済みモデル（たとえば第１学習済みモデルＭ１）が正しく分類できなかったデータ（たとえば訓練データＤ１ｂ）に基づく処理に依存して、別の学習済みモデル（たとえば第２学習済みモデルＭ２）を生成するので、各モデルが得意とするデータを適切に分担することができ、各モデル間の連携がより適切に実現できる。
【００２２】
また、本発明は、別の振り分け用学習済みモデルＭＤを生成する場合がある。振り分け用学習済みモデルＭＤは、各データについて、どの学習済みモデルがそのデータを正しく認識できるかを推定する。すなわち、ある訓練データＤ１が、訓練データＤ１ａであるのか、訓練データＤ１ｂａであるのか、または訓練データＤ１ｂｂであるのか、等を推定する。
【００２３】
以下、図３〜図７を用いて、本発明の実施の形態１に係るコンピュータ１０の動作をより詳細に説明する。なお、添付図面において、学習済みモデルを単に「モデル」と表記する場合がある。
【００２４】
図３は、学習済みモデルを生成するためにコンピュータ１０が実行する処理の流れを説明するフローチャートである。図３の処理において、まずコンピュータ１０は、訓練データＤ１を用いて機械学習を行うことにより、第１学習済みモデルＭ１を生成する（ステップＳ１、第１生成ステップ）。第１学習済みモデルＭ１は、データを複数の対象物クラスのいずれかに分類する学習済みモデルである。ここで、「訓練データＤ１を用いて機械学習を行う」とは、訓練データＤ１を直接的に学習中モデルに入力し、その出力（分類結果）の正誤に応じて学習中モデルの構成を変化させる（たとえば誤差逆伝搬法によって重みを変化させる）ことをいう。
【００２５】
図４に、実施の形態１におけるステップＳ１の詳細を示す。実施の形態１では、訓練データＤ１に加え、検証データＤ２を用いて機械学習が行われ、結果は評価データＤ３を用いて評価される。
【００２６】
図４の処理において、まずコンピュータ１０は、訓練データＤ１を用いて機械学習を行う（ステップＳ１１）。ここではたとえば１エポックの学習（すべての訓練データＤ１を１回ずつ用いた学習）が行われる。次に、コンピュータ１０は、訓練データＤ１および検証データＤ２を用いて機械学習の結果を検証する（ステップＳ１２）。「検証する」とは、たとえば、学習中モデルを用いてすべてのデータを分類させ、分類した際の精度（損失）を算出することを意味する。
【００２７】
次に、コンピュータ１０は、訓練データＤ１を用いて検証した場合の損失と、検証データＤ２を用いて検証した場合の損失とを、前回の結果における損失と比較する（ステップＳ１３）。なお初回の場合には、前回の結果における損失は無限大として扱ってもよい。訓練データＤ１に係る損失と、検証データＤ２に係る損失との双方が前回より低下していた場合には、コンピュータ１０は処理をステップＳ１１に戻し、次回の学習を実行する。これはたとえば、学習が順調に行われ、分類精度が高まりつつある状態に該当する。
【００２８】
なお、たとえば、訓練データＤ１による過学習が発生している場合には、訓練データＤ１に係る損失が低下する一方で、検証データＤ２に係る損失が上昇することになる。この場合にはステップＳ１３からＳ１４へと分岐するので、それ以上の学習は行われず、過学習が防止される。このように、訓練データＤ１と検証データＤ２とを分離して準備することにより、訓練データＤ１による過学習を低減することができる。
【００２９】
訓練データＤ１に係る損失が低下していない場合や、検証データＤ２に係る損失が低下していない場合には、コンピュータ１０は、訓練データＤ１での成績が良好か否かを判定する（ステップＳ１４）。成績が良好か否かの決定方法は当業者が適宜設計可能であるが、たとえば学習中モデルを用いて訓練データＤ１を分類した場合の損失を基準として定義することができる。
【００３０】
訓練データＤ１での成績が良好でない場合には、コンピュータ１０は処理を終了する。この場合には、コンピュータ１０は、学習中モデルの編集を行ってもよい。たとえば、学習用のモデルのハイパーパラメータを変更する指示の入力を受け付け、これに応じて学習中モデルの変更または初期化を行ってもよい。このようにすると、コンピュータ１０の使用者は、ニューラルネットワークの層の追加や、ニューロンの接続構成を行うことができる。また、ハイパーパラメータを変更した後に、コンピュータ１０は、図３の処理を最初から再実行してもよい。
【００３１】
訓練データＤ１での成績が良好である場合には、コンピュータ１０は、評価データＤ３を用いて評価を行う（ステップＳ１５）。評価方法は当業者が適宜設計可能であるが、たとえば学習中モデルを用いて評価データＤ３を分類した場合の損失を基準として評価することができる。なお、評価の結果が良好でない場合には、コンピュータ１０の使用者は学習用のデータ（訓練データＤ１、検証データＤ２および評価データＤ３等）を追加し、図３の処理を最初から再実行してもよい。
【００３２】
ここで、訓練データＤ１および検証データＤ２とは異なる評価データＤ３を準備することにより、訓練データＤ１および検証データＤ２に特化したハイパーパラメータになってしまっている場合を発見することができる。
【００３３】
以上のようにして、コンピュータ１０は、ステップＳ１において第１学習済みモデルＭ１を生成する。次に、コンピュータ１０は、第１学習済みモデルＭ１を用いてデータを成否分類する（ステップＳ２）。成否分類とは、データのうち、第１学習済みモデルＭ１が正しく分類（認識）できるクラスと、正しく分類（認識）できないとクラスとを含む複数のクラス（成否クラス）のいずれかに分類する処理をいう。「正しく分類できる」とは、たとえば老人の画像を老人として認識し、対象物クラス［老人］に分類することを意味し、「正しく分類できない」とは、たとえば老人の画像を子供として認識し、対象物クラス［子供］に分類することや、何の画像であるか認識できず、いずれの対象物クラスにも分類できないことを意味する。
【００３４】
本明細書において、第１学習済みモデルＭ１が正しく分類できるデータは、成否クラス［Ｍ１］に属し、第１学習済みモデルＭ１が正しく分類できないデータは、成否クラス［非Ｍ１］に属するものと定義する。この成否クラス［Ｍ１］は、図２の訓練データＤ１ａを含むクラスであり、成否クラス［非Ｍ１］は、図２の訓練データＤ１ｂを含むクラスである。
【００３５】
これらの成否クラスは、対象物クラス［老人］や［子供］等とは別に形成される。すなわち、ある訓練データＤ１は対象物クラス［老人］に属しながら同時に成否クラス［Ｍ１］に属し、ある検証データＤ２は対象物クラス［子供］に属しながら同時に成否クラス［非Ｍ１］に属するというように定義される。なお、分類結果の状況によっては、他の成否クラスが設けられてもよい。
【００３６】
図５に、実施の形態１におけるステップＳ２の詳細を示す。本実施形態では、このステップＳ２の成否分類は、検証データＤ２に対して行われる（ステップＳ２１）。すなわち、コンピュータ１０は、検証データＤ２を、第１学習済みモデルＭ１によって正しく分類されるデータが属する成否クラス［Ｍ１］と、第１学習済みモデルＭ１によって正しく分類されないデータが属する成否クラス［非Ｍ１］とを含む、複数の成否クラスのいずれかに分類する。
【００３７】
この処理は、たとえば実際に第１学習済みモデルＭ１を用いて検証データＤ２を分類し、その結果に応じて各検証データＤ２にラベル［Ｍ１］または［非Ｍ１］等を付与することによって実行される。
【００３８】
次に、コンピュータ１０は第２学習済みモデルＭ２を生成する（ステップＳ３、第２生成ステップ）。第２学習済みモデルＭ２は、第１学習済みモデルＭ１と同様に、データを複数の対象物クラスのいずれかに分類する学習済みモデルである。
【００３９】
第２学習済みモデルＭ２は、第１学習済みモデルＭ１が正しく分類しないデータに基づく処理に依存する機械学習を行うことによって生成される。「第１学習済みモデルＭ１が正しく分類しないデータ」とは、本実施形態では、検証データＤ２のうちステップＳ２１で成否クラス［非Ｍ１］に分類されたものをいう。また、「データに基づく処理に依存して生成される」とは、当該データを学習に用いて学習済みモデルが直接的に生成される場合に限らず、当該データに基づく他の処理の間接的な結果として生成される場合をも含む。本実施形態は後者の例に該当する（以下に詳述する）。
【００４０】
図６に、実施の形態１におけるステップＳ３の詳細を示す。ステップＳ３において、まずコンピュータ１０は、検証データＤ２を用いて機械学習を行うことにより、振り分け用学習済みモデルＭＤを生成する（ステップＳ３１）。振り分け用学習済みモデルＭＤは、データを、成否クラス［Ｍ１］および成否クラス［非Ｍ１］を含む複数の成否クラスのいずれかに分類する学習済みモデルである。たとえば、この振り分け用学習済みモデルＭＤは、対象物クラス［老人］に属するデータのうち第１学習済みモデルＭ１が正しく対象物クラス［老人］に分類しそうなデータについては、成否クラス［Ｍ１］に分類し、対象物クラス［老人］に属するデータのうち第１学習済みモデルＭ１が誤って対象物クラス［子供］に分類しそうなデータについては、成否クラス［非Ｍ１］に分類するものである。
【００４１】
次に、コンピュータ１０は、振り分け用学習済みモデルＭＤを用いて、訓練データＤ１に対する成否分類を行う（ステップＳ３２）。ただし、成否分類の基準は第１学習済みモデルＭ１である一方で、実際に分類を行う学習済みモデルは振り分け用学習済みモデルＭＤであるため、分類は直接的に行われるのではなく、機械学習による推定処理となる。したがって、たとえば、実際に第１学習済みモデルＭ１が正しく分類できるデータであっても、振り分け用学習済みモデルＭＤによって成否クラス［非Ｍ１］に分類されるものが存在する可能性がある。
【００４２】
すなわち、コンピュータ１０は、振り分け用学習済みモデルＭＤを用いて、訓練データＤ１（さらに検証データＤ２、評価データＤ３、等を含んでもよい）を、成否クラス［Ｍ１］および成否クラス［非Ｍ１］を含む複数の成否クラスのいずれかに分類する。
【００４３】
本明細書において、データのうち、振り分け用学習済みモデルＭＤが成否クラス［Ｍ１］に分類するデータは、振り分けクラス［Ｍ１：ＭＤ］に属するものと定義する。これは、実際に第１学習済みモデルＭ１による分類が成功するか否かとは、必ずしも一致しない。同様に、データのうち、振り分け用学習済みモデルＭＤが成否クラス［非Ｍ１］に分類するデータは、振り分けクラス［非Ｍ１：ＭＤ］に属するものと定義する。これは、実際に第１学習済みモデルＭ１による分類が失敗するか否かとは、必ずしも一致しない。
【００４４】
これらの振り分けクラスは、対象物クラス［老人］や［子供］等および成否クラス［Ｍ１］および［非Ｍ１］等とは別に形成される。あるデータが成否クラス［Ｍ１］に属するか否かと、そのデータが振り分けクラス［Ｍ１：ＭＤ］に属するか否かとは、相関はするが、完全に一致するとは限らない。なお、分類結果の状況によっては、他の振り分けクラスが設けられてもよい。
【００４５】
以上をまとめると、ステップＳ３２において、コンピュータ１０は、振り分け用学習済みモデルＭＤを用いて、データを、振り分け用学習済みモデルＭＤによって成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］（成否クラス［Ｍ１］と内容が一致するとは限らない）と、振り分け用学習済みモデルＭＤによって成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］（成否クラス［非Ｍ１］と内容が一致するとは限らない）とを含む複数の振り分けクラスのいずれかに分類するということができる。なお、この際に、訓練データＤ１および検証データＤ２の両方を分類してもよい。
【００４６】
次に、コンピュータ１０は、振り分けクラス［Ｍ１：ＭＤ］に属する訓練データＤ１（他のデータを含んでもよい）を用いて機械学習を行うことにより、第１学習済みモデルＭ１を追加学習する（ステップＳ３３）。たとえば、振り分けクラス［Ｍ１：ＭＤ］に属する訓練データＤ１と、同じく振り分けクラス［Ｍ１：ＭＤ］に属する検証データＤ２とを用いてステップＳ１を再実行することにより、ニューロン間の結合の重みを更新することができる。なおこのステップＳ３３は省略してもよい。
【００４７】
次に、コンピュータ１０は、振り分けクラス［非Ｍ１：ＭＤ］に属する訓練データＤ１（他のデータを含んでもよい）を用いて機械学習を行うことにより、上述の第２学習済みモデルＭ２を生成する（ステップＳ３４）。
【００４８】
ここで、ステップＳ３１およびＳ３２によれば、振り分けクラス［非Ｍ１：ＭＤ］は、第１学習済みモデルＭ１によって正しく分類されないデータ（すなわち成否クラス［非Ｍ１］に属するデータ）に関連して形成されている。これを考慮すると、第２学習済みモデルＭ２は、成否クラス［非Ｍ１］に属するデータに基づく処理に依存する機械学習を行うことにより、間接的に生成されていると言える。
【００４９】
以上のように説明される実施の形態１によれば、第２学習済みモデルＭ２は、第１学習済みモデルＭ１が分類に失敗すると考えられるデータを用いて学習するので、第１学習済みモデルＭ１が苦手とするデータに特化した学習済みモデルとなる。また、振り分け用学習済みモデルＭＤは、データを、第１学習済みモデルＭ１がうまく分類できるものと、そうでないもの（すなわち第２学習済みモデルＭ２がよりうまく分類できるもの）とに分類することができる。このように、分割された３つの学習済みモデルが適切に連携するので、結果として全体の分類精度が向上する。
【００５０】
なお、上記では対象物クラスに分類するための学習済みモデルが第１学習済みモデルＭ１および第２学習済みモデルＭ２の２つだけであるが、ステップＳ２およびＳ３を繰り返してさらに多くの学習済みモデルを生成することも可能である。
【００５１】
たとえば、コンピュータ１０は、図示しない第３生成ステップを実行することにより、第３学習済みモデルを生成してもよい。第３学習済みモデルＭ３は、第１学習済みモデルＭ１および第２学習済みモデルＭ２と同様に、データを複数の対象物クラスのいずれかに分類する学習済みモデルである。
【００５２】
第３生成ステップにおいて、まずコンピュータ１０は、第１学習済みモデルＭ１および第２学習済みモデルＭ２を用いて、検証データＤ２を、第１学習済みモデルＭ１によって正しく分類されるデータが属する成否クラス［Ｍ１］と、第２学習済みモデルＭ２によって正しく分類されるデータが属する成否クラス［Ｍ２］と、第１学習済みモデルＭ１および第２学習済みモデルＭ２のいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］とを含む、複数の成否クラスとを含む複数の成否クラスのいずれかに分類する。この成否クラス［Ｍ２］は、図２の訓練データＤ１ｂａを含むクラスであり、成否クラス［非Ｍ１非Ｍ２］は、図２の訓練データＤ１ｂｂを含むクラスである。なお、本実施形態では、第１学習済みモデルＭ１および第２学習済みモデルＭ２いずれによっても正しく分類されるデータは成否クラス［Ｍ１］に属することになるが、変形例として、このようなデータは成否クラス［Ｍ２］に属するものと定義してもよい。
【００５３】
次に、コンピュータ１０は、検証データＤ２を用いて機械学習を行うことにより、データを、成否クラス［Ｍ１］、成否クラス［Ｍ２］および成否クラス［非Ｍ１非Ｍ２］を含む複数の成否クラスのいずれかに分類する、新たな振り分け用学習済みモデルを生成する。なお、この新たな振り分け用学習済みモデルは、上述の振り分け用学習済みモデルとは異なるものであってもよい。
【００５４】
次に、コンピュータ１０は、訓練データＤ１（検証データＤ２、評価データＤ３、等を含んでもよい）を、新たな振り分け用学習済みモデルによって成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、新たな振り分け用学習済みモデルによって成否クラス［Ｍ２］に分類されるデータが属する振り分けクラス［Ｍ２：ＭＤ］と、新たな振り分け用学習済みモデルによって成否クラス［非Ｍ１非Ｍ２］に分類されるデータが属する振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］とを含む複数の振り分けクラスのいずれかに分類する。
【００５５】
次に、コンピュータ１０は、振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する訓練データＤ１（他のデータを含んでもよい）を用いて機械学習を行うことにより、第３学習済みモデルＭ３を生成する。
【００５６】
実施の形態１に係る第１学習済みモデルＭ１、第２学習済みモデルＭ２および振り分け用学習済みモデルＭＤ（さらに第３学習済みモデルＭ３を含んでもよい）を用いて本番データＤ４を分類するための手順および方法等は、任意に設計可能であるが、たとえば次のようにして実行することができる。なお、以下では、第１学習済みモデルＭ１および第２学習済みモデルＭ２のみを用いる例を説明するが、第３学習済みモデルＭ３およびさらなる学習済みモデルが用いられる場合も同様である。
【００５７】
図７は、本番データＤ４を分類するためにコンピュータ１０が実行する処理の流れを説明するフローチャートである。図７の処理において、まずコンピュータ１０は、振り分け用学習済みモデルＭＤに本番データＤ４を入力し、学習済みモデル（第１学習済みモデルＭ１および第２学習済みモデルＭ２）のうちいずれを分類に用いるかを選択する（ステップＳ１０１）。より具体的には、コンピュータ１０は、振り分け用学習済みモデルＭＤを用いて、本番データＤ４を振り分けクラスのいずれかに分類する。
【００５８】
次に、コンピュータ１０は、選択された学習済みモデル（第１学習済みモデルＭ１または第２学習済みモデルＭ２）を用いて、対応する本番データＤ４を分類する（ステップＳ１０２）。より具体的には、振り分けクラス［Ｍ１：ＭＤ］に属する本番データＤ４については、第１学習済みモデルＭ１を用いて対象物クラスのいずれかに分類し、振り分けクラス［Ｍ２：ＭＤ］に属する本番データＤ４については、第２学習済みモデルＭ２を用いて対象物クラスのいずれかに分類する。このようにすると、第１学習済みモデルＭ１、第２学習済みモデルＭ２および振り分け用学習済みモデルＭＤを適切に連携させることができる。学習済みモデルが３つ以上生成されている場合にも、同様にして分類することが可能である。
【００５９】
また、学習済みモデルは再帰的に任意の数だけ生成することができるが、図１０の分類処理では、学習済みモデルの数に関わらず実質的な分類処理は２回で済む。すなわち、振り分け用学習済みモデルＭＤで１回、さらに第１学習済みモデルＭ１または第２学習済みモデルＭ２の一方のみで１回、合計２回で良いので、計算機資源の消費を比較的低く抑えることができる。
【００６０】
なお、図７に示す分類方法を用いて、第１学習済みモデルＭ１、第２学習済みモデルＭ２および振り分け用学習済みモデルＭＤの評価を行うこともできる。たとえば、図７に示す処理において、本番データＤ４の代わりに評価データＤ３を用い、成績を評価してもよい。
【００６１】
上述の実施の形態１において、学習済みモデルの機能を、クラスタリングではなく、推定値を出力することに変更してもよい。たとえば、第１学習済みモデルＭ１は、データに基づいて推定値を出力する。具体例としては、過去の加速度値から次の瞬間の加速度値（予測値）を予測する予測モデルが挙げられる。より具体的には、人間の手の動きの加速度の向きおよび大きさを表すベクトルをデータとしてもよい。たとえば、過去から現在直前に至る１回以上の手の動きの加速度値を入力とし、次の瞬間における手の動きの加速度値を推定し、これを推定値として出力するものであってもよい。加速度値に代えて速度値を用いてもよい。
【００６２】
この場合には、「訓練データＤ１を用いて機械学習を行う」とは、訓練データＤ１を直接的に学習中モデルに入力し、その出力の誤差（二乗誤差等）に応じて学習中モデルの構成を変化させる（たとえば誤差逆伝搬法によって重みを変化させる）ことをいう。
【００６３】
この場合には、ステップＳ２の成否分類は、正解か否かではなく、正解に近い値であるか否かに基づいて行われる。たとえば、あるデータを入力として第１学習済みモデルＭ１による推定値の出力を行った結果として、その推定値が正解に近い値である場合には、そのデータは成否クラス［Ｍ１］に属し、その推定値が正解に近くない値である場合には、そのデータは成否クラス［非Ｍ１］に属すると定義する。近いか否かの基準は適宜定義可能であるが、たとえば、スカラー値の場合には推定値と正解との差（または差の絶対値）を用いてもよく、ベクトルの場合には推定値と正解とのユークリッド距離を用いてもよい。
【００６４】
すなわち、この場合には、ステップＳ１（第１生成ステップ）は、訓練データＤ１を用いて機械学習を行うことにより、データに基づいて推定値を出力する第１学習済みモデルＭ１を生成するステップであるということができる。また、ステップＳ２（第２生成ステップ）は、第１学習済みモデルＭ１による推定値の誤差を大きくするデータに基づく処理に依存する機械学習を行うことにより、データに基づいて推定値を出力する第２学習済みモデルＭ２を生成するステップであるということができる。なお、ここで「推定値の誤差を大きくするデータ」とは、第１のデータに基づいて出力された第１の推定値と、第２のデータに基づいて出力された第２の推定値とを比較した場合に、第１の推定値に対する誤差のほうが大きくなっていた場合に、第１のデータのほうが推定値の誤差を大きくするデータである、という意味であり、「推定値の誤差が大きくなるデータ」と言い換えることもできる。
【００６５】
このように、実施の形態１またはその変形例によれば、複数の学習済みモデルに対して同一のデータを入力し、それぞれ異なり得る出力を取得するので、同一のデータに対して複数の予測値や候補ラベルを取得することができる。具体的には、第１学習済みモデルＭ１の出力は一つ目の予測値で、第２学習済みモデルＭ２の出力値は二つ目の予測値として利用できる。これらの複数の予測値は、たとえば人の動きをシミュレートするときに利用可能である。たとえば、最初に一つ目の予測値を利用してシミュレートした後、効率の良い動作にならなかった場合には、二つ目の予測値を利用してシミュレートをやり直すことができる。このようにすると、人の作業をシミュレートすることにより作業の効率化を図ったり、危険な作業を予測して防止したりすることが可能になる。
【００６６】
実施の形態２．
実施の形態１では、対象物クラスの分類のための学習済みモデル（第１学習済みモデルＭ１および第２学習済みモデルＭ２等）に加え、振り分け用学習済みモデルＭＤを用いた。実施の形態２は、実施の形態１において、振り分け用学習済みモデルＭＤを用いないよう変更するものである。以下、図８〜図１０を用いて、実施の形態１との相違点を説明する。
【００６７】
図８に、実施の形態２におけるステップＳ２の詳細を示す。本実施形態では、このステップＳ２の成否分類は、訓練データＤ１に対して行われる（ステップＳ２２）。すなわち、コンピュータ１０は、訓練データＤ１を、第１学習済みモデルＭ１によって正しく分類されるデータが属する成否クラス［Ｍ１］と、第１学習済みモデルＭ１によって正しく分類されないデータが属する成否クラス［非Ｍ１］とを含む、複数の成否クラスのいずれかに分類する。
【００６８】
また、図９に、実施の形態２におけるステップＳ３の詳細を示す。ステップＳ３において、コンピュータ１０は、成否クラス［非Ｍ１］に属する訓練データＤ１を含むデータ（他のデータを含んでもよい）を用いて機械学習を行うことにより、第２学習済みモデルＭ２を生成する（ステップＳ３５）。このように、本実施形態では、第１学習済みモデルＭ１が誤って分類した訓練データＤ１を直接的に用いて、第２学習済みモデルＭ２の学習が行われる。
【００６９】
以上のように説明される実施の形態２によれば、第２学習済みモデルＭ２は、第１学習済みモデルＭ１が分類に失敗したデータを用いて学習するので、第１学習済みモデルＭ１が苦手とするデータに特化した学習済みモデルとなる。このように、分割された２つの学習済みモデルが適切に連携するので、結果として全体の分類精度が向上する。
【００７０】
なお、上記では対象物クラスに分類するための学習済みモデルが第１学習済みモデルＭ１および第２学習済みモデルＭ２の２つだけであるが、実施の形態１と同様に、ステップＳ２およびＳ３を繰り返してさらに多くの学習済みモデルを生成することも可能である。
【００７１】
たとえば、コンピュータ１０は、図示しない第３生成ステップを実行することにより、第３学習済みモデルを生成してもよい。第３学習済みモデルＭ３は、第１学習済みモデルＭ１および第２学習済みモデルＭ２と同様に、データを複数の対象物クラスのいずれかに分類する学習済みモデルである。
【００７２】
第３生成ステップにおいて、まずコンピュータ１０は、第１学習済みモデルＭ１および第２学習済みモデルＭ２を用いて、訓練データＤ１を、第１学習済みモデルＭ１によって正しく分類されるデータが属する成否クラス［Ｍ１］と、第２学習済みモデルＭ２によって正しく分類されるデータが属する成否クラス［Ｍ２］と、第１学習済みモデルＭ１および第２学習済みモデルＭ２のいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］とを含む、複数の成否クラスとを含む複数の成否クラスのいずれかに分類する。なお、本実施形態では、第１学習済みモデルＭ１および第２学習済みモデルＭ２いずれによっても正しく分類されるデータは成否クラス［Ｍ１］に属することになるが、変形例として、このようなデータは成否クラス［Ｍ２］に属するものと定義してもよい。
【００７３】
次に、コンピュータ１０は、成否クラス［非Ｍ１非Ｍ２］に属する訓練データＤ１を用いて機械学習を行うことにより、第３学習済みモデルを生成する。
【００７４】
実施の形態２に係る第１学習済みモデルＭ１および第２学習済みモデルＭ２（さらに第３学習済みモデルＭ３を含んでもよい）を用いて本番データＤ４を分類するための手順および方法等は、任意に設計可能であるが、たとえば次のようにして実行することができる。なお、以下では、第１学習済みモデルＭ１および第２学習済みモデルＭ２のみを用いる例を説明するが、第３学習済みモデルＭ３およびさらなる学習済みモデルが用いられる場合も同様である。
【００７５】
図１０は、本番データＤ４を分類するためにコンピュータ１０が実行する処理の流れを説明するフローチャートである。図１０の処理において、まずコンピュータ１０は、検証データＤ２を用いて、第１学習済みモデルＭ１がデータを正しい対象物クラスに分類する確率（以下「第１確率」と呼ぶ）を決定する（ステップＳ２０１）。第１確率は、たとえば単純に、検証データＤ２のうち第１学習済みモデルＭ１が正しい対象物クラスに分類したデータの数を、検証データＤ２の総数で除算した値としてもよい。
【００７６】
次に、コンピュータ１０は、検証データＤ２を用いて、第２学習済みモデルＭ２がデータを正しい対象物クラスに分類する確率（以下「第２確率」と呼ぶ）を決定する（ステップＳ２０２）。第２確率は、たとえば単純に、検証データＤ２のうち第２学習済みモデルＭ２が正しい対象物クラスに分類したデータの数を、検証データＤ２の総数で除算した値としてもよい。
【００７７】
次に、コンピュータ１０は、本番データＤ４のそれぞれについて、第１学習済みモデルＭ１がその本番データＤ４を分類する対象物クラス（以下「第１対象物クラス」と呼ぶ）と、その分類結果の信頼度（以下「第１信頼度」）とを決定する（ステップＳ２０３）。この処理は、たとえばニューラルネットワークを用いた周知のデータ分類処理によって実現可能である。たとえば、出力層のニューロンのうち最大の値を出力したものに応じて第１対象物クラスを決定してもよく、そのニューロンが出力した値を第１信頼度としてもよい。
【００７８】
次に、コンピュータ１０は、本番データＤ４のそれぞれについて、第２学習済みモデルＭ２がその本番データＤ４を分類する対象物クラス（以下「第２対象物クラス」と呼ぶ）と、その分類結果の信頼度（以下「第２信頼度」）とを決定する（ステップＳ２０４）。この処理は、たとえばニューラルネットワークを用いた周知のデータ分類処理によって実現可能である。たとえば、出力層のニューロンのうち最大の値を出力したものに応じて第２対象物クラスを決定してもよく、そのニューロンが出力した値を第２信頼度としてもよい。
【００７９】
次に、コンピュータ１０は、第１確率、第２確率、第１対象物クラス、第２対象物クラス、第１信頼度および第２信頼度に基づく比較により、その本番データＤ４を対象物クラスのいずれかに分類する（ステップＳ２０５）。具体的な比較方法は任意に設計可能であるが、たとえば、候補となった対象物クラスそれぞれについて、確率および信頼度を乗算した総合値を算出し、この総合値を比較して決定することができる。
【００８０】
ステップＳ２０５の具体例を以下に説明する。まず、第１対象物クラスと第２対象物クラスとが一致した場合には、そのデータはその対象物クラスに分類される。この場合には、数値を用いた比較演算等は省略可能である。
【００８１】
第１対象物クラスと第２対象物クラスとが一致しなかった場合には、数値を用いた比較演算処理を行う。たとえば、検証データＤ２が全部で１４個あり、そのうち第１学習済みモデルＭ１が正しい対象物クラスに分類するものが６個あったとすると、第１確率は６／１４となる。また、検証データＤ２のうち第２学習済みモデルＭ２が正しい対象物クラスに分類するものが４個あったとすると、第２確率は４／１４となる。
【００８２】
そして、ある本番データＤ４について、第１学習済みモデルＭ１がそのデータについて対象物クラス［老人］であると推定し、その信頼度を１／６と出力したとする。また、その本番データＤ４について、第２学習済みモデルＭ２がそのデータについて対象物クラス［子供］であると推定し、その信頼度を１／２と出力したとする。
【００８３】
この場合には、そのデータについて、第１学習済みモデルＭ１の総合値は（６／１４）×（１／６）＝１／１４であり、第２学習済みモデルＭ２の総合値は（４／１４）×（１／２）＝１／７となるので、第２学習済みモデルＭ２の総合値のほうが大きい。したがって、コンピュータ１０は、第２学習済みモデルＭ２の分類結果が正しいと判定することができ、そのデータを対象物クラス［子供］に分類する。なお、学習済みモデルが３つ以上生成されている場合にも、各学習済みモデルについて同様に確率と信頼度とを乗算して総合値を求め、最大の総合値を与える学習済みモデルの分類結果を採用すればよい。
【００８４】
このようにすると、各学習済みモデルの全体的な正解率と、ある特定のデータについての各学習済みモデルの信頼度とを組み合わせて評価できるので、各学習済みモデルは互いの苦手なデータをカバーすることができ、適切に連携することができる。
【００８５】
また、実施の形態２では、実施の形態１のような振り分け用学習済みモデルＭＤを必要としないので、学習済みモデルの管理が効率的に行え、また、最終的にうまく分類できないデータ等が存在した場合であっても、原因解析は比較的容易である。
【００８６】
なお、図１０に示す分類方法を用いて、第１学習済みモデルＭ１および第２学習済みモデルＭ２の評価を行うこともできる。たとえば、図１０に示す処理において、本番データＤ４の代わりに評価データＤ３を用い、成績を評価してもよい。
【００８７】
上述の実施の形態１および２において、次のような変形を施すことができる。
訓練データＤ１について、認識に失敗したものまたは失敗すると推定されたものの量を増加させてもよい。たとえば、最後に生成された学習済みモデルが認識に失敗した訓練データＤ１（たとえば第２学習済みモデルＭ２が生成された後の成否クラス［非Ｍ１非Ｍ２］に属する訓練データＤ１）や、最後に生成された学習済みモデルが認識に失敗すると推定された訓練データＤ１（たとえば第２学習済みモデルＭ２が生成された後の振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する訓練データＤ１）の量を増加させてもよい。
【００８８】
「量を増加させる」とは、ある対象物クラスに属する１つのデータに基づいて、同じ対象物クラスに属する他のデータを１つ以上新たに生成することを意味する。新たに生成されるデータは、元のデータの単純なコピーであってもよいが、なんらかの変更を加えたものとするのが好ましい。変更の具体的内容として、データが画像を表すものである場合には、画像を左右反転または上下反転させる、明るさを変更する、等の処理が考えられる。また、このような新たなデータを追加した場合には、データ全体の傾向に影響を与えないように、元のデータおよび新たに生成されたデータを用いて学習する際の重みの変更量を通常より小さくしてもよい。変更量の調整は、データ数に反比例させてもよい。たとえば、元のデータと新たに生成されたデータとが合わせて１０個である場合には、これらのデータを用いて学習する際の重みの変更量を通常の１／１０としてもよい。
【００８９】
なお、このようにデータの量を増加させた場合には、実施の形態２における第２学習済みモデルＭ２について、第１学習済みモデルＭ１が実際に分類に失敗したデータのみならず、第１学習済みモデルＭ１が分類に失敗すると考えられるデータをも用いて学習することになる。
【００９０】
各データ（訓練データＤ１、検証データＤ２、評価データＤ３、本番データＤ４、等）は、画像でなくともよく、たとえば動画または他の形式のデータであってもよい。また、データ全体での正解ラベルの種類（すなわち対象物クラスの数）は、２以上であれば任意の数とすることができる。
【符号の説明】
【００９１】
１０  コンピュータ、Ｄ１  訓練データ（第１データ）、Ｄ２  検証データ（第２データ）、Ｄ３  評価データ（第３データ）、Ｄ４  本番データ、Ｍ１  第１学習済みモデル、Ｍ２  第２学習済みモデル、Ｍ３  第３学習済みモデル、ＭＤ  振り分け用学習済みモデル、Ｓ１  ステップ（第１生成ステップ）、Ｓ３  ステップ（第２生成ステップ）。
【図１】
2020052935.tif 000003
【図２】
2020052935.tif 000004
【図３】
2020052935.tif 000005
【図４】
2020052935.tif 000006
【図５】
2020052935.tif 000007
【図６】
2020052935.tif 000008
【図７】
2020052935.tif 000009
【図８】
2020052935.tif 000010
【図９】
2020052935.tif 000011
【図１０】
2020052935.tif 000012
【手続補正書】
【提出日】令和2年1月9日(2020.1.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述の問題点を解決するため、この発明に係る方法は、
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
を含み、
前記方法は、第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む。
特定の態様によれば、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、第１学習済みモデルを追加学習するステップをさらに備える。
特定の態様によれば、前記方法は、データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記第２データを用いて機械学習を行うことにより、データを、前記成否クラス［Ｍ１］、前記成否クラス［Ｍ２］および前記成否クラス［非Ｍ１非Ｍ２］を含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ２］に分類されるデータが属する振り分けクラス［Ｍ２：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１非Ｍ２］に分類されるデータが属する振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む。
また、この発明に係る方法は、データを分類する方法であって、
上述の方法を用いて、前記第１学習済みモデル、前記第２学習済みモデルおよび前記振り分け用学習済みモデルを生成するステップと、
前記振り分け用学習済みモデルを用いて、本番データを、前記複数の振り分けクラスのいずれかに分類するステップと、
前記第１学習済みモデルを用いて、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
前記第２学習済みモデルを用いて、前記振り分けクラス［Ｍ２：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
を備える。
また、この発明に係る方法は、データを分類する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
第２データを用いて、前記第１学習済みモデルがデータを正しい対象物クラスに分類する確率である第１確率を決定するステップと、
前記第２データを用いて、前記第２学習済みモデルがデータを正しい対象物クラスに分類する確率である第２確率を決定するステップと、
本番データについて、前記第１学習済みモデルがその本番データを分類する対象物クラスである第１対象物クラスと、その分類結果の信頼度である第１信頼度とを決定するステップと、
前記本番データについて、前記第２学習済みモデルがその本番データを分類する対象物クラスである第２対象物クラスと、その分類結果の信頼度である第２信頼度とを決定するステップと、
前記第１確率と、前記第２確率と、前記第１対象物クラスと、前記第２対象物クラスと、前記第１信頼度と、前記第２信頼度とに基づき、前記本番データを複数の対象物クラスのいずれかに分類するステップと、
を備える。
また、この発明に係る方法は、学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データに基づいて推定値を出力する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルによる推定値の誤差を大きくするデータに基づく処理に依存する機械学習を行うことにより、データに基づいて推定値を出力する第２学習済みモデルを生成する、第２生成ステップと、
を含み、
前記方法は、第２データを、
‐前記第１学習済みモデルによって正解に近い推定値が出力されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正解に近い推定値が出力されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む。
また、この発明に係るコンピュータは、上述の方法を実行する。
また、この発明に係るプログラムは、コンピュータに上述の方法を実行させる
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
を含み、
前記方法は、第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正しく分類されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む、方法。
【請求項２】
前記振り分けクラス［Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、第１学習済みモデルを追加学習するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記方法は、データを複数の対象物クラスのいずれかに分類する第３学習済みモデルを生成する、第３生成ステップをさらに備え、
前記第３生成ステップは、
前記第２データを、
‐前記第１学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ１］と、
‐前記第２学習済みモデルによって正しく分類されるデータが属する成否クラス［Ｍ２］と、
‐前記第１学習済みモデルおよび前記第２学習済みモデルのいずれによっても正しく分類されないデータが属する成否クラス［非Ｍ１非Ｍ２］と
を含む複数の成否クラスのいずれかに分類するステップと、
前記第２データを用いて機械学習を行うことにより、データを、前記成否クラス［Ｍ１］、前記成否クラス［Ｍ２］および前記成否クラス［非Ｍ１非Ｍ２］を含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ２］に分類されるデータが属する振り分けクラス［Ｍ２：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１非Ｍ２］に分類されるデータが属する振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１非Ｍ２：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第３学習済みモデルを生成するステップと、
を含む、請求項１または２に記載の方法。
【請求項４】
データを分類する方法であって、
請求項１〜３のいずれか一項に記載の方法を用いて、前記第１学習済みモデル、前記第２学習済みモデルおよび前記振り分け用学習済みモデルを生成するステップと、
前記振り分け用学習済みモデルを用いて、本番データを、前記複数の振り分けクラスのいずれかに分類するステップと、
前記第１学習済みモデルを用いて、前記振り分けクラス［Ｍ１：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
前記第２学習済みモデルを用いて、前記振り分けクラス［Ｍ２：ＭＤ］に属する前記本番データを前記複数の対象物クラスのいずれかに分類するステップと、
を備える、方法。
【請求項５】
データを分類する方法であって、
第１データを用いて機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルが正しく分類しないデータに基づく処理に依存する機械学習を行うことにより、データを複数の対象物クラスのいずれかに分類する第２学習済みモデルを生成する、第２生成ステップと、
第２データを用いて、前記第１学習済みモデルがデータを正しい対象物クラスに分類する確率である第１確率を決定するステップと、
前記第２データを用いて、前記第２学習済みモデルがデータを正しい対象物クラスに分類する確率である第２確率を決定するステップと、
本番データについて、前記第１学習済みモデルがその本番データを分類する対象物クラスである第１対象物クラスと、その分類結果の信頼度である第１信頼度とを決定するステップと、
前記本番データについて、前記第２学習済みモデルがその本番データを分類する対象物クラスである第２対象物クラスと、その分類結果の信頼度である第２信頼度とを決定するステップと、
前記第１確率と、前記第２確率と、前記第１対象物クラスと、前記第２対象物クラスと、前記第１信頼度と、前記第２信頼度とに基づき、前記本番データを複数の対象物クラスのいずれかに分類するステップと、
を備える、方法。
【請求項６】
学習済みモデルを生成する方法であって、
第１データを用いて機械学習を行うことにより、データに基づいて推定値を出力する第１学習済みモデルを生成する、第１生成ステップと、
前記第１学習済みモデルによる推定値の誤差を大きくするデータに基づく処理に依存する機械学習を行うことにより、データに基づいて推定値を出力する第２学習済みモデルを生成する、第２生成ステップと、
を含み、
前記方法は、第２データを、
‐前記第１学習済みモデルによって正解に近い推定値が出力されるデータが属する成否クラス［Ｍ１］と、
‐前記第１学習済みモデルによって正解に近い推定値が出力されないデータが属する成否クラス［非Ｍ１］と
を含む複数の成否クラスのいずれかに分類するステップをさらに備え、
前記第２生成ステップは、
前記第２データを用いて機械学習を行うことにより、データを前記成否クラス［Ｍ１］と前記成否クラス［非Ｍ１］とを含む複数の成否クラスのいずれかに分類する振り分け用学習済みモデルを生成するステップと、
前記第１データを、
‐前記振り分け用学習済みモデルによって前記成否クラス［Ｍ１］に分類されるデータが属する振り分けクラス［Ｍ１：ＭＤ］と、
‐前記振り分け用学習済みモデルによって前記成否クラス［非Ｍ１］に分類されるデータが属する振り分けクラス［非Ｍ１：ＭＤ］と
を含む複数の振り分けクラスのいずれかに分類するステップと、
前記振り分けクラス［非Ｍ１：ＭＤ］に属する前記第１データを含むデータを用いて機械学習を行うことにより、前記第２学習済みモデルを生成するステップと、
を含む、方法。
【請求項７】
請求項１〜６のいずれか一項に記載の方法を実行するコンピュータ。
【請求項８】
コンピュータに請求項１〜６のいずれか一項に記載の方法を実行させるプログラム。