(57)【要約】【課題】正解ラベルを持つ教師データを大量に生成可能な、機械学習用の教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラムを提供する。【解決手段】機械学習システム１０は、機械学習用の教師画像Ｔを生成する。機械学習システム１０は、「白杖」というラベルが与えられた白杖画像Ｔ１と、「白杖」というラベルが与えられていない非白杖画像Ｔ２とを用いて機械学習を行うことにより、教師データと「白杖」というラベルとの関係を表す第１ラベリングモデル（第１学習済みモデル）を生成する（第１学習ステップ）。機械学習システム１０は、第１ラベリングモデルに基づいて、未分類教師画像ＴＵに「白杖」というラベルを与えるべきか否かを判定する（判定ステップ）。【選択図】図３
2019040335.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが機械学習用の教師データを生成する方法であって、
第１ラベルが与えられた第１教師データと、前記第１ラベルが与えられていない第２教師データとを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第１学習済みモデルを生成する、第１学習ステップと、
前記第１学習済みモデルに基づいて、未分類の教師データに前記第１ラベルを与えるべきか否かを判定する、判定ステップと
を備える、方法。
【請求項２】
前記判定ステップの結果に応じて、前記未分類の教師データに基づき、前記第１ラベルが与えられた第３教師データを生成するか、または、前記第１ラベルが与えられていない第４教師データを生成する、教師データ生成ステップを備える、請求項１に記載の方法。
【請求項３】
前記教師データ生成ステップの後に、
前記第３教師データに与えられていた前記第１ラベルを削除するか、または、前記第４教師データに前記第１ラベルを与える、修正ステップ
を備える、請求項２に記載の方法。
【請求項４】
コンピュータが機械学習によって学習済みモデルを生成する方法であって、
請求項２に記載の方法を用いて教師データを生成するステップと、
前記第１教師データと、前記第２教師データと、前記第３教師データおよび前記第４教師データのうち少なくとも一方とを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第２学習済みモデルを生成する、第２学習ステップと
を備える、方法。
【請求項５】
前記第１学習ステップおよび前記第２学習ステップは、同一の学習前モデルに基づいて実行される、請求項４に記載の方法。
【請求項６】
請求項４または５に記載の方法を用いて生成される第２学習済みモデルであって、教師データに基づいて、テストデータに前記第１ラベルを与えるべきか否かを判定するよう、コンピュータを機能させるための学習済みモデル。
【請求項７】
請求項１〜５のいずれか一項に記載の方法を実行するコンピュータ。
【請求項８】
請求項１〜５のいずれか一項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習に関し、とくに、教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラムに関する。
【背景技術】
【０００２】
機械学習を用いてデータのラベリングを行う技術が公知である。たとえば、画像データに対するラベリングは、画像認識等に応用可能である。機械学習の一方法では、予め正しいラベルが付されたデータ（教師データ）を用いて、ラベリングモデルを定義するパラメータを機械的に学習しておき、学習されたラベリングモデルを用いて未知データのラベリングを行う。このような技術の例は、特許文献１および非特許文献１に開示される。特許文献１および非特許文献１では、データとして画像データが扱われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２１３９３号公報
【非特許文献】
【０００４】
【非特許文献１】岡谷貴之、「ディープラーニングと画像認識―基礎と最近の動向―」、［online］、［平成２８年４月２２日検索］、インターネット＜URL:http://www.orsj.or.jp/archive2/or60-4/or60_4_198.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の構成では、正解ラベルを持つ教師データを大量に生成するのが困難であるという問題があった。
【０００６】
たとえば、データを大量に準備しておき、１件ずつ目視により正解ラベルを与えることにより教師データを生成することが考えられるが、作業量が膨大となるため実行するのは困難である。
【０００７】
この発明は、このような問題点を解決するためになされたものであり、正解ラベルを持つ教師データを大量に生成可能な、機械学習用の教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するため、この発明に係る方法は、
コンピュータが機械学習用の教師データを生成する方法であって、
第１ラベルが与えられた第１教師データと、前記第１ラベルが与えられていない第２教師データとを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第１学習済みモデルを生成する、第１学習ステップと、
前記第１学習済みモデルに基づいて、未分類の教師データに前記第１ラベルを与えるべきか否かを判定する、判定ステップと
を備える。
特定の態様によれば、前記判定ステップの結果に応じて、前記未分類の教師データに基づき、前記第１ラベルが与えられた第３教師データを生成するか、または、前記第１ラベルが与えられていない第４教師データを生成する、教師データ生成ステップを備える。
特定の態様によれば、
前記教師データ生成ステップの後に、
前記第３教師データに与えられていた前記第１ラベルを削除するか、または、前記第４教師データに前記第１ラベルを与える、修正ステップ
を備える。
また、この発明に係る方法は、コンピュータが機械学習によって学習済みモデルを生成する方法であって、
上述の方法を用いて教師データを生成するステップと、
前記第１教師データと、前記第２教師データと、前記第３教師データおよび前記第４教師データのうち少なくとも一方とを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第２学習済みモデルを生成する、第２学習ステップと
を備える。
特定の態様によれば、前記第１学習ステップおよび前記第２学習ステップは、同一の学習前モデルに基づいて実行される。
また、この発明に係る学習済みモデルは、上述の方法を用いて生成される第２学習済みモデルであって、教師データに基づいて、テストデータに前記第１ラベルを与えるべきか否かを判定するよう、コンピュータを機能させる。
また、この発明に係るコンピュータは、上述の方法を実行する。
また、この発明に係るプログラムは、上述の方法をコンピュータに実行させる。
【発明の効果】
【０００９】
この発明に係る技術によれば、教師データのうち分類済みの一部に基づいて、残る未分類の教師データを分類するので、容易に大量に教師データを生成できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る機械学習システムの構成の例を示す図である。
【図２】図１の機械学習システムが実行する処理の流れを説明するフローチャートである。
【図３】図２のステップＳ１〜Ｓ３の処理の入出力を説明する図である。
【図４】図２のステップＳ５およびＳ６の処理の入出力を説明する図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態１．
図１に、本発明の実施の形態１に係る機械学習システム１０の構成の例を示す。機械学習システム１０は、機械学習方法を実行するシステムであり、データに対するラベリングを行うためのラベリングモデルを機械学習によって生成する。また、機械学習システム１０は、本明細書に記載される方法を実行するコンピュータである。
【００１２】
「ラベリング」とは、各データについて何らかの判定を実行し、データに応じて異なり得る結果を得ることをいう。データはたとえば画像データである。画像データの表現形式はどのようなものであってもよいが、たとえばビットマップ形式であってもよく、公知の特徴量を用いた形式であってもよい。
【００１３】
画像データに対するラベリングは、たとえば、各画像データが何を表す画像であるか（白杖が現れているか、ベビーカーが現れているか、人が現れているか、物が現れているか、動物が現れているか、等）を判定する処理として実現することができる。判定はラベリングモデルに基づいて行われる。ラベリングモデルは、機械学習によって生成された学習済みモデルであり、たとえば１つ以上のパラメータを用いて表現することができる。
【００１４】
本実施形態では、ニューラルネットワークを用いて学習を実現する。たとえば、本実施形態におけるラベリングモデルは、複数のニューロン層を備えるニューラルネットワークにおいて、異なる層のニューロンを結合する重みを用いて定義される。このようなニューラルネットワークおよびラベリングモデルの具体例は、たとえば非特許文献１に開示される。非特許文献１には、ディープラーニングに係るラベリングモデルが開示されている。
【００１５】
図１に示すように、機械学習システム１０は公知のコンピュータとしての構成を有し、演算を行う演算手段１１と、情報を格納する記憶手段１２とを備える。演算手段１１はたとえばＣＰＵ（中央処理装置）を含み、記憶手段１２はたとえば半導体メモリおよびＨＤＤ（ハードディスクドライブ）を含む。記憶手段１２は、図１に示すように各種の画像データを格納する。機械学習システム１０は、これらの画像データを用いて、本実施形態に係る方法を実行する。
【００１６】
記憶手段１２はプログラム（図示せず）も格納しており、演算手段１１がこのプログラムを実行することによって、機械学習システム１０は本明細書に記載される機能を実現する。すなわち、このプログラムは、コンピュータに本明細書に記載の方法を実行させることにより、そのコンピュータを機械学習システム１０として機能させる。
【００１７】
また、機械学習システム１０は、公知のコンピュータが通常備える他の構成要素を備えてもよい。たとえば、出力装置であるディスプレイおよびプリンタ、入力装置であるキーボードおよびマウス、通信ネットワークに対する入力装置と出力装置とを兼ねるネットワークインタフェース、等を備えてもよい。
【００１８】
図１に示すように、画像データは、教師データを表す教師画像Ｔと、テストデータを表すテスト画像Ｅとを含む。教師画像Ｔは、ラベリングモデルを学習するために用いられるものである。テスト画像Ｅは、ラベリングモデルの精度を評価するために用いられるものである。
【００１９】
教師画像Ｔは、たとえば動画を構成する画像から抽出することにより生成することが可能である。この抽出は、機械学習システム１０または他のコンピュータが自動的に行ってもよいし、機械学習システム１０の使用者等が目視により行ってもよい。
【００２０】
教師画像Ｔは、分類済み教師画像ＴＣと、未分類教師画像ＴＵとを含む。分類済み教師画像ＴＣは、正解ラベルとして特定のラベルが与えられた画像である。たとえば画像中に白杖が表れている場合には、その画像には「白杖」というラベルが与えられる。本実施形態では、分類済み教師画像ＴＣのうち少なくとも１つは、「白杖」というラベル（第１ラベル）が与えられた白杖画像Ｔ１（第１教師データ）である。
【００２１】
また、分類済み教師画像ＴＣのうち少なくとも１つは、「白杖」というラベルが与えられていない非白杖画像Ｔ２（第２教師データ）である。本実施形態では、非白杖画像Ｔ２の例として、別のラベルである「ベビーカー」というラベル（第２ラベル）が与えられたものを用いる。分類済み教師画像ＴＣについては、「白杖」「ベビーカー」等のラベルは事前に付与されている。分類済み教師画像ＴＣに対するラベルの付与は、たとえば目視により行うことができる。
【００２２】
なお、ラベルの付与は排反または選択的である必要はない。たとえば、分類済み教師画像ＴＣは、いかなるラベルも持たない画像を含んでもよく、「白杖」というラベルおよび「ベビーカー」というラベルの双方を持つ画像を含んでもよく、さらに別のラベル（たとえば「人」）を持つ画像を含んでもよい。
【００２３】
未分類教師画像ＴＵは、いずれのラベルも与えられていない画像である。または、ラベルを与えるための処理が行われていない画像である。または、ラベルを与えるか否かを決定するための処理が行われていない画像である。とくに、未分類教師画像ＴＵについては、目視等によるラベル付与処理を事前に行う必要はない。
【００２４】
機械学習に係るラベルの種類は、教師画像Ｔおよびテスト画像Ｅを通じて共通である。たとえば本実施形態では、教師画像Ｔおよびテスト画像Ｅのいずれも、白杖を表すものと、ベビーカーを表すものとを含む。
【００２５】
以上のような構成を備える機械学習システム１０の動作を、図２〜図４を用いて以下に説明する。
図２は、機械学習システム１０が実行する処理の流れを説明するフローチャートである。図２のうち、とくにステップＳ１〜Ｓ３は、機械学習用の教師データを生成する方法に係る。
図３は、図２のステップＳ１〜Ｓ３の処理の入出力を説明する図である。
【００２６】
図２の処理において、まず機械学習システム１０は、分類済み教師画像ＴＣを用いて第１ラベリングモデル（第１学習済みモデル）を生成する（ステップＳ１、第１学習ステップ）。この第１ラベリングモデルは、白杖画像Ｔ１と非白杖画像Ｔ２とを用いて機械学習を行うことにより生成される学習済みモデルであって、教師画像Ｔ（厳密にはその一部である分類済み教師画像ＴＣ）と「白杖」というラベルとの関係を表す学習済みモデルである。
【００２７】
ステップＳ１は、たとえばニューラルネットワークを用いたディープラーニング技術を用いて実行することができる。この場合、第１ラベリングモデルは、複数のニューロン層を備えるニューラルネットワークにおいて、異なる層のニューロンを結合する重みを用いて定義することができる。たとえばｃａｆｆｅフレームワークを用いてもよい。
【００２８】
次に、機械学習システム１０は、第１ラベリングモデルに基づき、未分類教師画像ＴＵを分類する（ステップＳ２、判定ステップ）。このステップＳ２では、未分類教師画像ＴＵに「白杖」というラベルを与えるべきか否かが判定される。ステップＳ２は、たとえば、第１ラベリングモデルに未分類教師画像ＴＵを入力し、出力されるラベルを取得することにより実行される。
【００２９】
次に、機械学習システム１０は、ステップＳ２の結果に応じて、未分類教師画像ＴＵに基づき、新たな分類された教師データを生成する（ステップＳ３、教師データ生成ステップ）。たとえば、ある未分類教師画像ＴＵに、「白杖」というラベルを与えるべきであると判定された場合には、その未分類教師画像ＴＵに基づいて、「白杖」というラベルが与えられた白杖画像Ｔ３（第３教師データ）を生成する。一方、ある未分類教師画像ＴＵに「白杖」というラベルを与えるべきでないと判定された場合には、「白杖」というラベルが与えられていない画像（第４教師データ）を生成する。
【００３０】
「白杖」というラベルが与えられていない非白杖画像Ｔ４（第４教師データ）は、たとえば「ベビーカー」というラベルが与えられた画像である。ここで、第１ラベリングモデルの内容等によっては、ステップＳ２の判定が必ずしも正確ではなく、本来「白杖」というラベルを与えるべきであるのにそうでないと判定されたり、その逆が発生する可能性がある。このため、たとえばステップＳ３で生成される「非白杖画像Ｔ４」は、実際には「白杖」が表れた画像である可能性もあるが、少なくともある程度の精度をもってラベルの付与を行うことが可能である。
【００３１】
与えられたラベルを表す具体的なデータ形式は任意に設計可能であるが、たとえば白杖画像Ｔ１および非白杖画像Ｔ２と同一の形式としてもよい。その場合には、白杖画像Ｔ１と白杖画像Ｔ３とはデータ形式上区別不可能であり、また、非白杖画像Ｔ２と非白杖画像Ｔ４ともデータ形式上区別不可能である。
【００３２】
このように、本発明の実施の形態１に係る機械学習システム１０は、教師画像Ｔの一部をなす分類済み教師画像ＴＣ（白杖画像Ｔ１および非白杖画像Ｔ２）に基づいて、残る未分類教師画像ＴＵを分類するので、容易に大量に分類済みの教師画像Ｔ（白杖画像Ｔ３および非白杖画像Ｔ４）を生成できる。
【００３３】
たとえば、１００００個の教師画像Ｔが存在する場合に、そのうちの５００個にだけ目視でラベルを付与して分類済み教師画像ＴＣとし、残る９５００個を未分類教師画像ＴＵとして本発明を適用すれば、効率的に１００００個の教師画像Ｔのラベルを決定することができる。
【００３４】
なお、生成される白杖画像Ｔ３および非白杖画像Ｔ４は、必ずしもすべてが正しいラベルを持つものではない可能性もあるが、少なくとも概ね正しいラベルを持つものと考えることができる。このため、機械学習システム１０によれば、概ね正しいラベルを持つ教師画像Ｔを容易かつ大量に生成することができる。
【００３５】
本発明による効果の一部は、ステップＳ３までの処理において得ることが可能であるが、さらに後続の処理を実行してもよい。
【００３６】
たとえば、ステップＳ３の後に、機械学習システム１０は、白杖画像Ｔ３に与えられていた「白杖」というラベルを削除するか、または、非白杖画像Ｔ４に「白杖」というラベルを与える（ステップＳ４、修正ステップ）。
【００３７】
この修正ステップは、たとえば機械学習システム１０の使用者の操作に応じて実行されてもよい。具体例として、機械学習システム１０は、白杖画像Ｔ３と、白杖画像Ｔ３に「白杖」というラベルが与えられたことを示す情報と、非白杖画像Ｔ４と、非白杖画像Ｔ４に「白杖」というラベルが与えられなかったことを示す情報とを表示し、白杖画像Ｔ３または非白杖画像Ｔ４のいずれかを選択する操作と、選択した画像のラベルを変更するための操作を受け付ける機能を備えてもよい。また、機械学習システム１０は、入力された操作に応じて、白杖画像Ｔ３および非白杖画像Ｔ４のラベルを修正してもよい。
【００３８】
たとえば、機械学習システム１０の使用者は、白杖画像Ｔ３および非白杖画像Ｔ４を閲覧し、誤ったラベルが与えられているものを発見した場合には、ラベルを変更すべき教師画像Ｔを特定する情報（ファイル名等）と、ラベルの変更内容（特定のラベルを削除する、特定のラベルを与える、等）を表す情報とを、機械学習システム１０に入力してもよい。ステップＳ４の結果として、ステップＳ３で生成された白杖画像Ｔ３が非白杖画像Ｔ４に変更されたり、逆にステップＳ３で生成された非白杖画像Ｔ４が白杖画像Ｔ３に変更されたりする可能性がある。
【００３９】
このような修正には、ある程度の目視作業が必要となるが、大量（たとえば９５００個）の未分類教師画像ＴＵをすべて目視によって分類する場合に比べると、作業効率が向上する。
【００４０】
また、ステップＳ４は、自動的に実行されてもよい。たとえば、機械学習システム１０は、事前に決定される所定の基準に基づき、白杖画像Ｔ３に与えられていた「白杖」というラベルを削除するか、または、非白杖画像Ｔ４に「白杖」というラベルを与えてもよい。
【００４１】
ステップＳ１〜Ｓ３（またはステップＳ１〜Ｓ４）によって生成された教師画像Ｔは、様々な方法で利用することができる。たとえばテスト画像Ｅに対してラベリングを行う処理に利用することができる。ステップＳ５およびＳ６にこのような利用方法の一例を示す。
【００４２】
図４は、図２のステップＳ５およびＳ６の処理の入出力を説明する図である。ステップＳ３の後（またはステップＳ４の後）、機械学習システム１０は、教師画像Ｔを用いて第２ラベリングモデル（第２学習済みモデル）を生成する（ステップＳ５、第２学習ステップ）。この第２ラベリングモデルは、白杖画像Ｔ１と、非白杖画像Ｔ２と、白杖画像Ｔ３と、非白杖画像Ｔ４とを用いて機械学習を行うことにより生成される学習済みモデルであって、教師画像Ｔと「白杖」というラベルとの関係を表す学習済みモデルである。すべての教師画像Ｔを用いてもよいが、必ずしもすべての教師画像Ｔを用いる必要はない。たとえば、白杖画像Ｔ３および非白杖画像Ｔ４の双方を用いる必要はなく、これらのうちいずれか一方のみを用いてもステップＳ５の処理は実行可能である。このようにして、機械学習システム１０は、機械学習によって学習済みモデルを生成する。
【００４３】
ステップＳ５は、たとえばニューラルネットワークを用いたディープラーニング技術を用いて実行することができる。この場合、第２ラベリングモデルは、複数のニューロン層を備えるニューラルネットワークにおいて、異なる層のニューロンを結合する重みを用いて定義することができる。たとえばｃａｆｆｅフレームワークを用いてもよい。
【００４４】
ここで、ステップＳ１およびＳ５は、同一の学習前モデルに基づいて実行されてもよい。「学習前モデル」の定義は当業者が適宜決定可能である。ニューラルネットワークを用いたディープラーニングの場合には、たとえば、誤差逆伝搬による重み付けの修正を開始する前のニューラルネットワークの具体的構造をいう。より具体的には、各ニューロンの出力を決定するための関数、階層数、各階層におけるニューロンの数、各ニューロン間の接続関係の有無、等が等しいものをいう。なお学習前モデルの一部が乱数を含む場合（重みの初期値等）には、乱数によるモデルの相違は考慮しない（たとえば、重みの初期値のみが異なる学習前モデルは、同一の学習前モデルである）。
【００４５】
次に、機械学習システム１０は、第２ラベリングモデルに基づき、テスト画像Ｅを分類する（ステップＳ６）。このステップＳ６では、白杖画像Ｔ１またはＴ３と、非白杖画像Ｔ２またはＴ４とを用いて、テスト画像Ｅに「白杖」というラベルを与えるべきか否かが判定される。ステップＳ６は、たとえば、第２ラベリングモデルにテスト画像Ｅを入力し、出力されるラベルを取得することにより実行される。ここで、第２ラベリングモデルは、教師画像Ｔに基づいて、テスト画像Ｅに「白杖」というラベルを与えるべきか否かを判定するよう、コンピュータを機能させるための学習済みモデルであるということができる。
【００４６】
このようにしてテスト画像Ｅの分類が行われる。ステップＳ６の後に、判定結果に応じてテスト画像Ｅにラベルを与えてもよい。この処理はステップＳ３と同様に実行されてもよい。
【００４７】
上述の実施の形態１において、次のような変形を施すことができる。
判定されるラベルの種類の数および組合せは任意に設計可能である。単一のラベルを与えるか否かのみを判定してもよいし、複数のラベルのうちいずれを与えるか（またはいずれも与えないか）を選択してもよいし、複数のラベルのそれぞれについてそのラベルを与えるか否かを個別に判定してもよい。
【００４８】
実施の形態１では、データはすべて画像データであるが、機械学習によってラベリングを行うことが可能なデータであれば、任意の他の種類のデータ（文書データ、数値データ等）を用いてもよい。
【００４９】
図２を用いて説明した機械学習システム１０の動作は、１００００個の教師画像Ｔが存在し、５００個が分類済み教師画像ＴＣであり残る９５００個が未分類教師画像ＴＵであるとき、ステップＳ２の処理で全ての未分類教師画像ＴＵを分類するように構成している。
変形例として、ステップＳ２〜ステップＳ３の処理を繰り返すように構成する。未分類教師画像ＴＵを例えば５００個ずつに分けてステップＳ２で５００個について新たな分類された教師画像を生成し、ステップＳ３で新たに分類された教師データを生成する。ステップＳ３の次に、教師データの累積数を算出し、累積数が所定数に達しているかどうかの判定処理を加え、累積数が所定数に達していないと判定したときは、次の５００個についてステップＳ２〜ステップＳ３の処理を繰り返すように構成する。ステップＳ３の次で、教師データの累積数が所定数に達すると判定したときは、処理を終了する。
未分類教師画像ＴＵに関して一度の処理で教師画像ＴＣを生成しようとすると処理時間を要してしまう可能性があるが、このように未分類教師画像ＴＵの一定数を順次処理するように構成することで、所定数の教師画像ＴＣを効率的に生成できる可能性が高まる。
【００５０】
またステップＳ２でまずは一定数（例えば５００個）について教師画像を生成するように構成し、ステップＳ３の次に、ステップＳ３で累積される教師画像ＴＣがステップＳ２で処理した未分類教師画像ＴＵ数と比例して増加しているかの判定処理を加え、未分類教師画像ＴＵ数と比例して増加していると判断したとき、次のステップＳ２からの処理で残りの未分類教師画像ＴＵについてまとめて教師画像を生成するように構成してもよい。このような教師画像の場合は、未分類教師画像ＴＵ数と比例して効率的に教師画像ＴＣの増加が見込まれるが、そのような教師画像の特性を持っているかどうかを予め確認することで、処理時間を短縮できる可能性が高まる。
なお所定数とは、予め設定している教師画像ＴＣを必要とする数である。
【００５１】
比例原理をどのように利用するかは適宜設計可能であるが、具体例の１つを以下に説明する。まず、特定のラベルを持つ教師画像について目標数を設定する。たとえば、「白杖」というラベルを持つ教師画像が１０００個必要な場合には、目標数は１０００となる。次に、機械学習システム１０は、ステップＳ２およびＳ３で、未分類教師画像ＴＵのうち所定数（たとえば５００個）について教師画像を生成し、それらのうちで「白杖」というラベルが与えられたものの比率を算出する。ステップＳ３で分類済み教師画像ＴＣが５００個生成され、そのうち１００個が「白杖」に対応するものであった場合には、比率は１００／５００＝０．２となる。そして、機械学習システム１０は、この比率と、目標数とに基づき、追加で処理すべき分類済み教師画像ＴＣの数を算出する。たとえば、最初に存在していた（すなわち目視により判定された）分類済み教師画像ＴＣ５００個のうち２００個が「白杖」に対応するものであったとすると、ステップＳ３で生成された１００個と合わせて合計３００個の「白杖」教師画像が存在することになり、残りは１０００−３００＝７００個となるので、この７００個の「白杖」教師画像を得るために処理が必要となる未分類教師画像ＴＵの数は、７００／０．２＝３５００個となる。したがって、機械学習システム１０は、新たに３５００個の未分類教師画像ＴＵについてステップＳ２およびＳ３を実行し、必要な数の「白杖」教師画像を得る。なお、ここで得られたものを含めた「白杖」教師画像の総数が結果として目標数に届かない場合等には、さらに同様の比例計算を行ってステップＳ２およびＳ３を繰り返し実行してもよい。
【００５２】
機械学習の具体的実現方法は、任意に設計可能である。実施の形態１では、ニューラルネットワークを用いたディープラーニングを用いたが、他の機械学習方法を用いてもよい。また、ディープラーニングを用いる場合についても、具体的な学習方法は任意に設計可能である。たとえば、学習回数、学習中の精度評価方法および評価基準、入出力データのディレクトリ構造およびファイル構造、等を任意に設計してもよい。また、たとえば、公知のｃａｆｆｅフレームワークを利用してもよい。
【符号の説明】
【００５３】
１０  機械学習システム（コンピュータ）、Ｓ１  第１学習ステップ、Ｓ２  判定ステップ、Ｓ３  教師データ生成ステップ、Ｓ４  修正ステップ、Ｓ５  第２学習ステップ、Ｅ  テスト画像（テストデータ）、Ｔ  教師画像（教師データ）、Ｔ１  白杖画像（第１教師データ）、Ｔ２  非白杖画像（第２教師データ）、Ｔ３  白杖画像（第３教師データ）、Ｔ４  非白杖画像（第４教師データ）、ＴＵ  未分類教師画像（未分類の教師データ）。
【図１】
2019040335.tif 000003
【図２】
2019040335.tif 000004
【図３】
2019040335.tif 000005
【図４】
2019040335.tif 000006
【手続補正書】
【提出日】平成30年10月5日(2018.10.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述の問題点を解決するため、この発明に係る方法は、
コンピュータが機械学習用の教師データを生成する方法であって、
第１ラベルが与えられた所定数Ａ個の分類済み第１教師データと、前記第１ラベルが与えられていない分類済み第２教師データとを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第１学習済みモデルを生成する、第１学習ステップと、
前記第１学習済みモデルに基づいて、所定数Ｂ個の、未分類の教師データに前記第１ラベルを与えるべきか否かを判定する、判定ステップと、
Ｘ個の、未分類の教師データに、前記判定ステップを実行すべきか否かを判定する、追加判定ステップと、
を備え、
Ｘ＝Ｂ・（Ｃ−Ａ−Ｄ）／Ｄであり、
Ｃは、第１ラベルを与えられた分類済み教師データの必要数であり、
Ｄは、前記判定ステップにおいて第１ラベルを与えるべきと判定された教師データの数である。
特定の態様によれば、前記判定ステップの結果に応じて、前記未分類の教師データに基づき、前記第１ラベルが与えられた分類済み第３教師データを生成するか、または、前記第１ラベルが与えられていない分類済み第４教師データを生成する、教師データ生成ステップを備える。
特定の態様によれば、
前記教師データ生成ステップの後に、
前記分類済み第３教師データに与えられていた前記第１ラベルを削除するか、または、前記分類済み第４教師データに前記第１ラベルを与える、修正ステップ
を備える。
また、この発明に係る方法は、コンピュータが機械学習によって学習済みモデルを生成する方法であって、
上述の方法を用いて教師データを生成するステップと、
前記分類済み第１教師データと、前記分類済み第２教師データと、前記分類済み第３教師データおよび前記分類済み第４教師データのうち少なくとも一方とを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第２学習済みモデルを生成する、第２学習ステップと
を備える。
特定の態様によれば、前記第１学習ステップおよび前記第２学習ステップは、同一の学習前モデルに基づいて実行される。
また、この発明に係る学習済みモデルは、上述の方法を用いて生成される第２学習済みモデルであって、教師データに基づいて、テストデータに前記第１ラベルを与えるべきか否かを判定するよう、コンピュータを機能させる。
また、この発明に係るコンピュータは、上述の方法を実行する。
また、この発明に係るプログラムは、上述の方法をコンピュータに実行させる。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが機械学習用の教師データを生成する方法であって、
第１ラベルが与えられた所定数Ａ個の分類済み第１教師データと、前記第１ラベルが与えられていない分類済み第２教師データとを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第１学習済みモデルを生成する、第１学習ステップと、
前記第１学習済みモデルに基づいて、所定数Ｂ個の、未分類の教師データに、前記第１ラベルを与えるべきか否かを判定する、判定ステップと、
Ｘ個の、未分類の教師データに、前記判定ステップを実行すべきか否かを判定する、追加判定ステップと、
を備え、
Ｘ＝Ｂ・（Ｃ−Ａ−Ｄ）／Ｄであり、
Ｃは、第１ラベルを与えられた分類済み教師データの必要数であり、
Ｄは、前記判定ステップにおいて第１ラベルを与えるべきと判定された教師データの数である、方法。
【請求項２】
前記判定ステップの結果に応じて、前記未分類の教師データに基づき、前記第１ラベルが与えられた分類済み第３教師データを生成するか、または、前記第１ラベルが与えられていない分類済み第４教師データを生成する、教師データ生成ステップを備える、請求項１に記載の方法。
【請求項３】
前記教師データ生成ステップの後に、
前記分類済み第３教師データに与えられていた前記第１ラベルを削除するか、または、前記分類済み第４教師データに前記第１ラベルを与える、修正ステップ
を備える、請求項２に記載の方法。
【請求項４】
コンピュータが機械学習によって学習済みモデルを生成する方法であって、
請求項２に記載の方法を用いて教師データを生成するステップと、
前記分類済み第１教師データと、前記分類済み第２教師データと、前記分類済み第３教師データおよび前記分類済み第４教師データのうち少なくとも一方とを用いて機械学習を行うことにより、教師データと前記第１ラベルとの関係を表す第２学習済みモデルを生成する、第２学習ステップと
を備える、方法。
【請求項５】
前記第１学習ステップおよび前記第２学習ステップは、同一の学習前モデルに基づいて実行される、請求項４に記載の方法。
【請求項６】
請求項１〜５のいずれか一項に記載の方法を実行するコンピュータ。
【請求項７】
請求項１〜５のいずれか一項に記載の方法をコンピュータに実行させるプログラム。