(57)【要約】  既存の学習データセットが限られたものであっても、バリエーションに富んだ新しい学習データセットを生成する。このため、複数の学習データサブセットのそれぞれについて、学習データの入力信号４０１から新規入力信号４０８を生成し、新規入力信号と学習データサブセットに応じた出力信号との組み合わせである新規学習データを生成する。このとき、学習データサブセットに含まれる学習データの入力信号４０１を第１の信号グループ４０３と第２の信号グループ４０２とに区分し、第１の信号グループを入力信号セットとし、第２の信号グループを出力信号セットとして学習を行って生成した学習器４０５により新規入力信号を生成する。
2018220700.tif 000002
【特許請求の範囲】
【請求項１】
入力信号と出力信号の組み合わせである学習データを複数含む学習データセットを出力信号に応じて複数の学習データサブセットに振り分け、
前記複数の学習データサブセットのそれぞれについて、前記学習データサブセットに含まれる学習データの入力信号から新規入力信号を生成し、前記新規入力信号と前記学習データサブセットに応じた出力信号の組み合わせである新規学習データと前記学習データサブセットに含まれる学習データとを統合することにより、新規学習データサブセットを生成し、
前記複数の学習データサブセットのそれぞれについて生成された新規学習データサブセットを統合して新規学習データセットを生成し、
前記学習データサブセットに含まれる学習データの入力信号から前記新規入力信号を生成する際に、前記学習データサブセットに含まれる学習データの入力信号を第１の信号グループと第２の信号グループとに区分し、前記第１の信号グループを入力信号セットとし、前記第２の信号グループを出力信号セットとして学習を行って生成した第１の学習器により前記新規入力信号を生成する新規学習データセット生成方法。
【請求項２】
請求項１において、
前記学習データサブセットに含まれる学習データの入力信号から前記新規入力信号を生成する際に、前記第２の信号グループを入力信号セットとし、前記第１の信号グループを出力信号セットとして学習を行って生成した第２の学習器により前記新規入力信号を生成する新規学習データセット生成方法。
【請求項３】
請求項２において、
前記学習データサブセットに含まれる学習データの入力信号から前記新規入力信号を生成する際に、前記第２の信号グループを前記第１の学習器に入力することにより前記新規入力信号を生成し、前記第１の信号グループを前記第２の学習器に入力することにより前記新規入力信号を生成する新規学習データセット生成方法。
【請求項４】
請求項１において、
前記学習データセットが分類問題にかかる学習データセットである場合には、
前記学習データセットを分類問題のクラスに応じて前記複数の学習データサブセットに振り分け、
前記新規学習データの出力信号は、前記学習データサブセットのクラスに応じた出力信号である新規学習データセット生成方法。
【請求項５】
請求項１において、
前記学習データセットが回帰問題にかかる学習データセットである場合には、
前記学習データセットを出力信号に対して量子化し、前記学習データセットの量子化値に応じて前記複数の学習データサブセットに振り分け、
前記新規学習データの出力信号は、前記学習データサブセットに含まれる学習データの出力信号の代表値とする新規学習データセット生成方法。
【請求項６】
請求項１において、
前記学習データサブセットに含まれる学習データの入力信号から前記新規入力信号を生成する際に、前記第１の信号グループに含まれる学習データと前記第２の信号グループに含まれる学習データとをランダムに１対１に紐づけ、ニューラルネットワークの回帰問題として学習を行うことにより、前記第１の学習器を生成する新規学習データセット生成方法。
【請求項７】
請求項１において、
前記新規学習データに対して、前記学習データサブセットに含まれる学習データと区別するための属性を付与する新規学習データセット生成方法。
【請求項８】
プロセッサと、
主記憶と、
前記主記憶に読み込まれ、前記プロセッサにより実行される学習データセット生成プログラムとを有し、
前記学習データセット生成プログラムは、学習データセットを複数の学習データサブセットに振り分ける振り分け部と、前記振り分け部で振り分けられた前記学習データサブセットごとに新規入力信号を生成する入力信号生成部と、前記新規入力信号に対して出力信号を付与する出力信号付与部とを有し、
前記入力信号生成部は、前記学習データサブセットに含まれる学習データの入力信号を第１の信号グループと第２の信号グループに区分し、前記第１の信号グループを入力信号セットとし、前記第２の信号グループを出力信号セットとして学習を行って生成した学習器により前記新規入力信号を生成し、
前記出力信号付与部は、前記新規入力信号に対して前記学習データサブセットに応じた出力信号を付与する新規学習データセット生成装置。
【請求項９】
請求項８において、
前記入力信号生成部は、前記第１の信号グループに含まれる学習データと前記第２の信号グループに含まれる学習データとをランダムに１対１に紐づけ、ニューラルネットワークの回帰問題として学習を行うことにより、前記学習器を生成する新規学習データセット生成装置。
【請求項１０】
入力信号と出力信号の組み合わせである学習データを複数含む第１の学習データセットと前記第１の学習データセットに基づき生成した第２の学習データセットとを含む学習データセットを補助記憶に格納し、
前記学習データセットを用いて機械学習を行って、問題解決を行うための第１の学習器のパラメータを調整し、
前記学習データセットには、前記第１の学習データセットと前記第２の学習データセットを区別する属性が付されており、前記第１の学習器のパラメータの調整にあたり、前記属性に基づき、前記学習データセットに含まれる学習データによる機械学習を行わせる順番を定める学習方法。
【請求項１１】
請求項１０において、
前記第１の学習データセットを出力信号に応じて複数の学習データサブセットに振り分け、
前記複数の学習データサブセットのそれぞれについて、前記学習データサブセットに含まれる学習データの入力信号から新規入力信号を生成し、前記新規入力信号と前記学習データサブセットに応じた出力信号の組み合わせである新規学習データを生成し、
前記複数の学習データサブセットのそれぞれについて生成された前記新規学習データに対して前記属性を付与して前記第２の学習データセットとし、
前記学習データサブセットに含まれる学習データの入力信号から前記新規入力信号を生成する際に、前記学習データサブセットに含まれる学習データの入力信号を第１の信号グループと第２の信号グループとに区分し、前記第１の信号グループを入力信号セットとし、前記第２の信号グループを出力信号セットとして学習を行って生成した第２の学習器により前記新規入力信号を生成する学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習に用いる既存の学習データセットから新たな学習データセットを生成する技術に関する。
【背景技術】
【０００２】
画像や音声の検出・識別・認識・解析・予測、言語の翻訳、マーケティング、戦略シミュレーションなどへの機械学習の適用が進められている。このような機能は人件費の削減や利益向上に役立ち、また製品に組み込むことで高機能化を図ることができ、製品販売の促進にも繋がるため、多くの企業が高い関心を抱いている。これらの機能を実現する機械学習には大きく２種類の方法がある。【０００３】
１つ目は教師無し学習である。これはある問題に対する入力信号の集合のみを用いて行う。それら入力信号から特徴や構造を理解するために使われることが多く、代表的な手法にk-meansというクラスタリング手法がある。これにより大量の入力信号から規則性を見出し、重要な因果関係などを発見することができる。【０００４】
２つ目は教師有り学習である。これはある問題に対する入力信号とその結果として期待する出力信号のペアの集合を用いて行う。教師無し学習とは反対に明確な問題が設定されており、その問題を解く方法を学ぶ。最終的には、未知の入力信号に対しても正しい出力信号を示す汎化性能が求められ、ニューラルネットワークなどを用いることで実現する。【０００５】
教師無し学習の場合は入力信号を、教師有り学習では入力信号とその結果として期待する出力信号のペアをそれぞれ学習データと呼び、学習データの集合を学習データセットと呼ぶ。学習データセットの準備には膨大なコストがかかり、特に教師有り学習においては、入力信号と出力信号を紐付ける必要がある。多くの場合、解決する問題に対応した専用のツールを用いて入力信号と出力信号を紐付け作業が人手で行われる。【０００６】
一般的に機械学習において、学習データセットに含まれる学習データの数や質が実現する機能の性能の高さを左右する。そのため様々な種類の大量の学習データが求められるが、前述の通り、多くの場合、学習データセットの準備には時間的コストと人的コストが膨大になる。【０００７】
非特許文献１には、学習データを増やす手法としてデータ拡張（Data Augmentation）が紹介されている。Data Augmentationとは、例えば、入力信号が静止画像である場合、画像の反転や回転、明るさの調整を実施することで学習データセットの拡張を行うものである。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】岡谷貴之著、「深層学習（機械学習プロフェッショナルシリーズ）」、講談社、２０１５年４月、ｐ．３５
【発明の概要】
【発明が解決しようとする課題】
【０００９】
Data Augmentationにより、既存の学習データセットを用いて学習データセットの拡張を行うことができる。しかし、上述の例では見え方は変わるが、写るもの自体は変わらないという問題があり、バリエーションの豊かさに欠ける。【００１０】
一方で、新しい静止画像を機械学習により生成させる試みもなされている。例えば、Deep Convolutional Generative Adversarial Networkというアルゴリズムが発表されている。このアルゴリズムでは、ランダム信号が入力され、静止画像を出力する生成器（Generator）と、学習データと生成器の出力信号とを識別する判別器（Discriminator）を有している。まず学習データを入力すると判別器が０を出力するように学習させ、次に学習させた判別器に対して生成器の出力信号を入力し、判別器の出力信号が１になるように判別器を、判別器の出力信号が０になるように生成器を同時に学習させることにより、学習データである静止画像に類似した静止画像を生成することを可能にしている。この手法では、生成器に入力される信号はランダム信号であるため、収束するのに時間がかかり、かつそもそも学習データセットが既に十分に高い質と量をもつ学習データを有していることが前提となる。すなわち、既存の学習データの質や量が限られている場合には、適切な学習データを生成することが保証されない。【００１１】
このため、教師有り機械学習の適用をより容易にするためには、既存の学習データセットを利用して、既存の学習データセットが限られたものであっても、バリエーションに富んだ新しい学習データセットを生成できるようにすることが望まれる。
【課題を解決するための手段】
【００１２】
入力信号と出力信号の組み合わせである学習データを複数含む学習データセットを出力信号に応じて複数の学習データサブセットに振り分け、複数の学習データサブセットのそれぞれについて、学習データサブセットに含まれる学習データの入力信号から新規入力信号を生成し、新規入力信号と学習データサブセットに応じた出力信号との組み合わせである新規学習データと前記学習データサブセットに含まれる学習データとを統合することにより、新規学習データサブセットを生成し、複数の学習データサブセットのそれぞれについて生成された新規学習データサブセットを統合して新規学習データセットを生成する。学習データサブセットに含まれる学習データの入力信号から新規入力信号を生成する際に、学習データサブセットに含まれる学習データの入力信号を第１の信号グループと第２の信号グループとに区分し、第１の信号グループを入力信号セットとし、第２の信号グループを出力信号セットとして学習を行って生成した第１の学習器により新規入力信号を生成する。
【発明の効果】
【００１３】
既存の限られた学習データセットから低コストに新規学習データセットを生成できる。
【図面の簡単な説明】
【００１４】
【図１】学習データセット生成法の概要を説明する図である。
【図２】教師有り機械学習を行った学習器により問題解決を行うフローチャートである。
【図３】分類問題学習データセットを生成するフローチャートである。
【図４】入力信号生成法の概要を説明する図である。
【図５】回帰問題学習データセットを生成するフローチャートである。
【図６】学習器の生成法を説明する図である。
【図７】本実施例のハードウェア構成を説明する図である。
【図８】サーバのハードウェア構成例である。
【図９】学習データセット生成サーバの補助記憶に格納されるプログラム、データを説明する図である。
【図１０】問題解決サーバの補助記憶に格納されるプログラム、データを説明する図である。
【発明を実施するための形態】
【００１５】
図１を参照して本実施例における学習データセット生成法の概要を説明する。教師有り学習を用いて猫と犬の画像を分類する２クラス分類問題を例とする。この問題を解決するための既存の学習データセットを基に、新しい学習データセットを生成するものである。まず、猫もしくは犬の画像とそれらに「猫」もしくは「犬」と正しく出力信号が紐づけられた学習データ101の集合である学習データセット102を準備する。次に、準備した学習データセット102を出力信号「猫」を持つ学習データの集合（サブセット）である猫学習データセット103と出力信号「犬」を持つ学習データの集合（サブセット）である犬学習データセット104とに振り分ける。振り分けた猫学習データセット103と犬学習データセット104から、それぞれ独立に新しい学習データセットである新猫学習データセット105と新犬学習データセット106を生成する。新猫学習データセット105は猫学習データセット103を含んでおり、新犬学習データセット106は犬学習データセット104を含んでいる。最後に、新猫学習データセット105と新犬学習データセット106とを統合して新学習データセット107を生成する。
【００１６】
図２は、教師有り機械学習を行った学習器により問題解決を行うフローチャートである。既存の学習データセットから新たな学習データセットを生成し、生成した新たな学習データセットにより教師有り機械学習を行う。学習データセット準備ステップ201、問題判別ステップ202、分類問題学習データセット生成ステップ203、回帰問題学習データセット生成ステップ204、学習ステップ205、問題解決ステップ206の詳細について説明する。
【００１７】
学習データセット準備ステップ201では機械学習の教師有り学習を用いて解決する問題に対する学習データセットを準備する。解決する問題には、例えば、図１で示したような入力信号の認識の他にも、入力信号の検出・識別・解析・予測・推定、言語の翻訳、マーケティング、戦略シミュレーションなどが挙げられる。ここで準備される学習データセットは図１の学習データセット102に相当する。入力信号および出力信号は電子信号であれば特に制限がなく、音・音声・電波・画像・映像・テキストデータなどでもよい。学習データセット102としては既存の学習データセットを用いることができ、問題解決に十分な数の学習データがなくてもよい。また、専用のツール（自動生成ツールや補助ツールなど）を用いて生成された学習データセットであってもよい。ただし、問題解決に用いる学習器にあわせて、学習データセット102の入力信号および出力信号のサイズは全て揃える必要がある。このため、サイズの変換による補間や削減などは必要に応じて実施する。ここで、入力信号および出力信号のサイズとは、画像データや映像データであれば画素数やフレーム数など、音・音声・電波などのデータであれば時系列データのサンプル数や周波数スペクトルの周波数ビンの数など、テキストデータであれば文字数や単語数や文の数などがあたる。
【００１８】
問題判別ステップ202では、学習データセット準備ステップ201で準備した学習データセットを用いて解決する問題の種類を判別する。問題は分類問題と回帰問題に分けられる。分類問題とは入力データがどのクラスに属するかを判断するものであり、例えば図１に示したような画像の分類や画像・映像・音・音声・テキストなどの認識や識別の他にも、言語の翻訳なども当てはまる。回帰問題とは入力データからある数値を推定するものであり、例えば画像や映像・音・音声などの超解像、画像や映像からの被写体の大きさ推定や被写体までの距離推定、音声から話者の年齢や話者との距離の推定などが当てはまる。この判別は人により行う。判別された問題の種類が分類問題であれば分類問題学習データセット生成ステップ203を実行し、回帰問題であれば回帰問題学習データセット生成ステップ204を実行する。
【００１９】
分類問題学習データセット生成ステップ203および回帰問題学習データセット生成ステップ204は、それぞれ図１のプロセス全体に相当し、学習データセット準備ステップ201で準備した学習データセットを基に新しい学習データセットを生成する。詳細は後述する。
【００２０】
学習ステップ205では、分類問題学習データセット生成ステップ203もしくは回帰問題学習データセット生成ステップ204で生成した学習データセットを用いて問題解決のための機械学習を行い、学習器（learner）を生成、あるいは学習器のパラメータの調整を行う。学習手法は単純パーセプトロンやロジスティック回帰、ニューラルネットワークやＳＶＭ（Support Vector Machine）、決定木学習、ベイジアンネットワーク、ランダムフォレストなどの教師有り学習である。各手法のハイパパラメータや最適化方法は任意に決定してよい。
【００２１】
問題解決ステップ206では、学習ステップ205で生成した学習器を問題解決のために運用する。問題解決とは画像や映像からの人間の感情分析や性別・年齢・身長・体重などの推定、侵入者・不審物などの特定物体や走る、しゃがむなど特定行動の検知、人物やナンバープレートなどの特定物体の識別・認識・カウンティング、混雑などの状況理解、音や音声から個人や年齢などの推定、翻訳、テキスト化、音や音声の到来方向推定、意味理解、テキストの内容理解、翻訳、作成などのことを意味し、その他教師有り学習によって解決する問題を意味している。
【００２２】
図３は分類問題学習データセットを生成するフローチャートである。まず、クラス振り分けステップ301では、学習データセット準備ステップ201で準備した学習データセットを、Ｎ個のクラス学習データセット（学習データサブセット）に振り分ける。Ｎは分類問題の分類数（クラス数）であり、各クラス学習データセットは同じ出力信号を持つ学習データ同士で構成される。図１の例はＮ＝２の例であり、各クラス学習データセットは、猫学習データセット103および犬学習データセット104に相当する。各クラス学習データセットに含まれる学習データの数は異なる数でもよい。
【００２３】
図４に、入力信号生成ステップ302における入力信号生成法の概要を示す。入力信号生成ステップ302は、クラス振り分けステップ301で振り分けた各クラス学習データセットの入力信号セット（入力信号の集合）401を抽出する。図１の例では、猫の画像（猫学習データセット103の場合）もしくは犬の画像（犬学習データセット104の場合）に相当する。抽出した入力信号セット401をランダムに２等分し、それらを信号グループGA402と信号グループGB403とする。
【００２４】
次に、信号グループGB403を入力信号セット、信号グループGA402を出力信号セット（出力信号の集合）として１対１関係でランダムに入力信号セットと出力信号セットを紐づけ、生成学習データセットA404を生成する。生成学習データセットA404に基づきＤＮＮ（Deep Neural Network）の回帰問題として学習を行い、学習器A405を生成する。同様に、信号グループGA402を入力信号セット、信号グループGB403を出力信号セットとして１対１関係でランダムに入力信号セットと出力信号セットを紐づけ、生成学習データセットB406を生成する。生成学習データセットB406に基づきＤＮＮの回帰問題として学習を行い、学習器B407を生成する。図６に示すように、ＤＮＮはパラメータwを持つニューラルネットワークにx（信号グループGA402に属する信号（図１の例では画像）もしくは信号グループGB403に属する信号）を入力したときの出力をy(x, w)、正解をd（１対１関係でランダムに紐づけた信号グループGB403に属する信号もしくは信号グループGA402に属する信号）としたとき、出力と正解との距離を示す目的関数Eを最小にするパラメータwを学習する。ここで、Kは全サンプル数（信号グループGA402もしくは信号グループGB403のデータ数）である。
【００２５】
また、生成学習データセット404（406）における入力信号セットと出力信号セットとを１対１関係でランダムに紐づけるために、入力信号セット401をランダムに２等分したが、入力信号セット401に含まれる信号数が奇数であった場合には、１つの信号を除いてその後の処理を行い、除いた信号は最終的にそのまま新学習データセットに含ませてもよいし、一方は奇数、一方は偶数として分けてもよい。後者の場合は、生成学習データセット404（406）の入力信号セットの信号数と出力信号セットの信号数とが異なり、１つの入力信号に対して２つの正解または２つの入力信号に対して１つの正解というケースが生じるが、この程度であればＤＮＮの学習の収束に及ぼす影響は小さい。ＤＮＮのネットワークの層の深さ・幅、活性化関数などの構造、最小化アルゴリズムなどは任意に設計してよい。例えば、Generative Adversarial Learningというアルゴリズムを用いてもよく、ＤＮＮ以外のカーネル法やＳＶＭを用いてもよい。また、学習器A405を生成するＤＮＮと学習器B407を生成するＤＮＮのネットワーク構造や学習手法は同じでなくてもよい。
【００２６】
次に、生成した学習器A405に未知入力信号として信号グループGA402を与え、信号グループGC408を得る。同様に、生成した学習器B407に未知入力信号として信号グループGB403を与え、信号グループGD409を得る。最後に、入力信号セット401に信号グループGC408と信号グループGD409を統合し、新しい入力信号セット401とする。統合する際、入力信号の並び順に制限はなくどのような順番であってもよい。あるいは、統合する際、既存の入力信号セット401と新たに生成した信号グループGC408及びGC409との区別を属性として記憶しておいてもよい。必要な入力信号の数が揃うまで、入力信号セット401を２等分する作業から入力信号セット401に信号グループGC408と信号グループGD409を統合し、新しい入力信号セット401とする作業を繰り返し行ってもよい。以上の説明においては、入力信号セット401を２等分して新たな信号グループを生成したが、信号グループの生成方法はこれに限定されるものではない。例えば、入力信号セット401を３等分し、２つの信号グループを図４の例と同様に学習に用い、残りの１つの信号グループを未知入力信号として学習器A405および学習器B407に与えてもよい。また、学習器A405または学習器B407のいずれか一方のみを生成するようにしてもよい。ただし、図４のように信号グループの入出力をクロスさせて学習させる方が、同じ学習データセットからより多くのバリエーションを得られる点からは望ましい。
【００２７】
新たな入力信号セットが生成された（ステップ302）後、分類出力信号付与ステップ303では、入力信号生成ステップ302で生成した新しい入力信号セットのうち、出力信号が紐づけられていない入力信号（信号グループGC408とGD409）に出力信号を紐づけ、新しいクラス学習データセットを生成する。入力信号GC408及びGD409は全て同じクラスの入力信号セットから生成されたものであるので、入力信号に紐づける出力信号は、クラス振り分けステップ301で振り分けられたそれぞれのクラス学習データセットが持つ出力信号と同じ出力信号とする。
【００２８】
学習データセット統合ステップ304では、各分類出力信号付与ステップ303-1〜Nで生成した新しいクラス学習データセットを一つの学習データセットとして統合する。統合した学習データセットは、図１で示した新学習データセット107に相当する。統合する際、学習データの並び順に制限はなくどのような順番でもよい。なお、入力信号セットを生成した際、既存の入力信号セットと新たに生成した信号グループとを区別可能とする属性を付した場合には当該属性情報も引き継ぐ。
【００２９】
図５は回帰問題学習データセットを生成するフローチャートである。まず、量子化振り分けステップ501では学習データセット準備ステップ201で準備した学習データセットを、Ｍ個の量子学習データセットに振り分ける。出力信号に対して量子化を行い、同じ量子化値を持つ学習データ同士で各量子学習データセットが構成されるように学習データセットを振り分ける。ここで、Ｍは量子化数であり、量子化数Ｍは解決する問題や学習データセット準備ステップ201で準備した学習データセットのバリエーション（最大値、最小値、平均、分散、分布などの統計情報）を基に決定できる。例として、顔画像を入力信号とし、被写体の年齢を出力信号とする学習データセットを挙げる。この場合、量子化としては年齢を適宜区分することで行い、たとえば11歳〜15歳を出力信号とする学習データを一つの量子学習データセット、16歳〜20歳を出力信号とする学習データを一つの量子学習データセットとすることができる。
【００３０】
入力信号生成ステップ302では、量子化振り分けステップ501で振り分けた各量子学習データセットから抽出した入力信号セットを用い、図４を用いて説明した通り、それぞれ独立に新しい入力信号セットを生成する。
【００３１】
回帰出力信号付与ステップ502では、入力信号生成ステップ302で生成した新しい入力信号セットの中で、出力信号が紐づけられていない入力信号（信号グループGC408とGD409）に出力信号を紐づけ、新しい量子学習データセットを生成する。入力信号に紐づける出力信号は、量子化振り分けステップ501で振り分けられたそれぞれのクラス学習データセットが持つ出力信号の代表値とする。ここで、出力信号の代表値としては、平均値、最大値、最小値、最頻値、中央値などをとることができる。また、新しい入力信号に紐づける出力信号の値は統一する必要はなく、量子学習データセットごとに出力信号の平均値、最大値、最小値、最頻値、中央値などをばらばらに設定してもよい。
【００３２】
学習データセット統合ステップ304では、各回帰出力信号付与ステップ502-1〜Mで生成した新しい量子学習データセットを、図３と同様に一つの学習データセットとして統合する。統合する際、学習データの並び順に制限はなくどのような順番でもよい。また、入力信号セットを生成した際、既存の入力信号セットと新たに生成した信号グループとを区別可能とする属性を付した場合には当該属性情報も引き継ぐ。
【００３３】
図７を用いて本実施例を実現するハードウェア構成を説明する。学習データセット生成装置（ここではサーバ）701と学習データセット記憶装置（ここではサーバ）702と問題解決装置（ここではサーバ）703とが、ネットワーク700にて接続されている。ネットワーク700は各サーバを結ぶデータ通信可能な回線である。専用線、イントラネット、インターネット等のＩＰネットワーク等、回線の種類は問わない。学習データセット生成サーバ701は図２のフローチャートにおけるステップ201〜204を実行し、生成した学習データセットを学習データセット記憶サーバ702に記憶する。問題解決サーバ703は、学習データセット記憶サーバ702にアクセスし、図２のフローチャートにおけるステップ205〜206を実行する。すなわち、学習データセット生成サーバ701が生成した学習データセットを用いて学習を行った学習器により問題解決を行う。なお、図７の構成は一例であり、さまざまな変形が可能である。例えば、図２のフローチャートを一つのサーバで実現することも可能であり、学習データセット生成サーバ701から生成した学習データセットを問題解決サーバ703に直接提供することも可能である。
【００３４】
図８にサーバ701〜703のハードウェア構成例を示す。サーバ800は、プロセッサ801、主記憶802、補助記憶803、入出力インタフェース804、表示インタフェース805、ネットワークインタフェース806を含み、これらはバス807により結合されている。入出力インタフェース804は、キーボードやマウス等の入力装置811に接続されてユーザインタフェースを提供する。表示インタフェース805は、ディスプレイ810に接続される。ネットワークインタフェース806はサーバ800とネットワーク700とを接続するためのインタフェースである。
【００３５】
補助記憶803は通常、ＨＤＤやフラッシュメモリなどの不揮発性メモリで構成され、サーバ800が実行するプログラムやプログラムが処理対象とするデータ等を記憶する。主記憶802はＲＡＭで構成され、プロセッサ801の命令により、プログラムやプログラムの実行に必要なデータ等を一時的に記憶する。プロセッサ801は、補助記憶803から主記憶802にロードしたプログラムを実行する。
【００３６】
図９に学習データセット生成サーバ701に格納されるプログラム、データを示す。プログラムとして学習データセット生成プログラム901を格納し、図３または図５のフローチャートを実行するプログラムである。すなわち、新学習データセット903を生成するため、学習データセット902を主記憶802に読み込み、必要に応じて入力信号、出力信号のサイズ調整を行う。入力装置811からユーザによる問題の種別の入力を受け、その種別に従って、学習データセットの生成を行う。生成した新学習データセット903は、例えばテーブル904の形式で格納されている。テーブル904には、入力信号や出力信号としてデータそのものを格納してもよいし、データの格納位置を示すアドレスを格納してもよい。また、属性として生成データかどうかを示す欄905を設け、本実施例により作成されたデータか否かどうかを示すフラグを格納してもよい。また、生成した新学習データセット903により学習データセット902を上書きしてもよい。
【００３７】
図１０に問題解決サーバ703に格納されるプログラム、データを示す。プログラムとして問題解決したい課題に応じた特定のアプリケーションプログラム1001を格納し、図２のステップ205〜206を実行するプログラムである。すなわち、新学習データセット903を主記憶802に読み込み、学習を行う。学習器のパラメータの調整を行う場合に、新学習データセット903に含まれる学習データが生成データであるか否かを利用して学習させる順番を定めてもよい。例えば、まずオリジナル学習データで学習した後に生成データで学習を行うようにしてもよいし、逆に生成データで学習を開始し、その後オリジナル学習データで学習するようにしてもよい。この学習によりアプリケーションプログラム1001における学習器が生成され、未知の入力信号を生成された学習器により問題解決を行うことができる。
【００３８】
以上のように、教師有り学習における新しい学習データセット生成法を用いることで、大量のバリエーションに富んだ学習データセットを自動的に生成することができ、人的コストの大幅な削減とその学習データセットを用いることによって汎化性能が高い学習器の生成が期待できる。
【符号の説明】
【００３９】
101：学習データ、102：学習データセット、103, 104：クラス学習データセット、105, 106：新クラス学習データセット、107：新学習データセット。
【図１】
2018220700.tif 000003
【図２】
2018220700.tif 000004
【図３】
2018220700.tif 000005
【図４】
2018220700.tif 000006
【図５】
2018220700.tif 000007
【図６】
2018220700.tif 000008
【図７】
2018220700.tif 000009
【図８】
2018220700.tif 000010
【図９】
2018220700.tif 000011
【図１０】
2018220700.tif 000012
【国際調査報告】
2018220700.tif 000013
2018220700.tif 000014
2018220700.tif 000015
2018220700.tif 000016