(57)【要約】【課題】  入力データの統計情報を精度よく推定できるようにすること。【解決手段】  本発明は、学習データを入力し、第１の教師情報と第１のニューラルネットワークが出力する第１の推定情報との誤差と、第２のニューラルネットワークにおいて算出される誤差と、に基づいて第１のニューラルネットワークを学習する。また、第１の推定情報を入力し、第２の教師情報と第２のニューラルネットワークが出力する第２の推定情報との誤差に基づいて、第２のニューラルネットワークを学習する。【選択図】  図３
2018106237.tif 000002
【特許請求の範囲】
【請求項１】
第１の教師情報および第２の教師情報を有する学習データを入力する入力手段と、
前記入力された学習データに基づいて、第１のニューラルネットワークおよび第２のニューラルネットワークから成るニューラルネットワークを学習する学習手段と、を有し、
前記学習手段は、
前記学習データを入力し、前記第１の教師情報と前記第１のニューラルネットワークが出力する第１の推定情報との誤差と、前記第２のニューラルネットワークにおいて算出される誤差と、に基づいて前記第１のニューラルネットワークを学習し、
前記第１の推定情報を入力し、前記第２の教師情報と前記第２のニューラルネットワークが出力する第２の推定情報との誤差に基づいて、前記第２のニューラルネットワークを学習することを特徴とする情報処理装置。
【請求項２】
前記第２の教師情報は、前記第１の教師情報のデータを統計処理することにより得られる情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の教師情報は複数のユーザによる評価スコアの分布情報であり、第２の教師情報は前記評価スコアの平均値あることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の推定情報は、前記第１の推定情報のデータを統計処理することにより得られる情報であることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記学習手段は、前記学習データを更に入力して前記第２のニューラルネットワークを学習することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
請求項１から５のいずれか１項に記載の情報処理装置により学習された前記ニューラルネットワークを用いて、入力データの統計情報を推定する推定手段を有することを特徴とする情報処理装置。
【請求項７】
前記推定手段は、前記第２のニューラルネットワークによる前記第２の推定情報を前記統計情報として出力することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記推定手段は、前記第１のニューラルネットワークによる前記第１の推定情報を更に出力することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記学習手段は、前記第１のニューラルネットワークに異なる２つの前記学習データを入力することにより、前記第２のニューラルネットワークが前記異なる２つの学習データの第２の教師情報の差を前記第２の推定情報として出力できるように学習することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項１０】
請求項９の情報処理装置により学習された前記ニューラルネットワークを用いて、異なる２つの入力データの統計情報の差を推定する推定手段と、
前記推定された統計情報の差に基づいて、複数の前記入力データから特定クラスの入力データを選択する選択手段と、を有することを特徴とする情報処理装置。
【請求項１１】
第１の教師情報および第２の教師情報を有する学習データを入力する入力ステップと、
前記入力された学習データに基づいて、第１のニューラルネットワークおよび第２のニューラルネットワークから成るニューラルネットワークを学習する学習ステップと、を有し、
前記学習ステップでは、
前記学習データを入力し、前記第１の教師情報と前記第１のニューラルネットワークが出力する第１の推定情報との誤差と、前記第２のニューラルネットワークにおいて算出される誤差と、に基づいて前記第１のニューラルネットワークを学習し、
前記第１の推定情報を入力し、前記第２の教師情報と前記第２のニューラルネットワークが出力する第２の推定情報との誤差に基づいて、前記第２のニューラルネットワークを学習することを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の異なる教師情報を用いて学習したニューラルネットワークを用いて、入力データの統計処理値などの統計情報を推定する技術に関する。
【背景技術】
【０００２】
近年、多層構造のニューラルネットワークを利用して、入力データに関連する情報の推定を行う試みが多くなされている。推定される情報としては、例えば、画像データの撮影シーン情報や画像中に含まれるオブジェクト情報等があげられる。非特許文献１には、多層ニューラルネットワークを用いて、画像中に含まれるオブジェクトのカテゴリを推定する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Ｉｍａｇｅｎｅｔ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  ｄｅｅｐ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ”，  Ａ  Ｋｒｉｚｈｅｖｓｋｙ，  Ｉ  Ｓｕｔｓｋｅｖｅｒ，  ＧＥ  Ｈｉｎｔｏｎ  −  Ａｄｖａｎｃｅｓ  ｉｎ  ＮＩＰＳ，  ２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、入力データに対して推定すべき情報が統計情報である場合に、学習の際に教師データが統計処理により情報が圧縮されていると、精度よく推定出来ない場合もある。一例として、画像データ（写真）の評価スコアの推定が挙げられる。この事例では、まず、ユーザがデータに対してある評価基準（例えば、写真データに対して上手か下手かを５点満点で評価すること）でスコアを付ける。このときに、写真の評価スコアを複数のユーザによる５段階評価の結果の平均値とする。例えば、５人のユーザが１点に投票し５人のユーザが５点に投票した写真Ａと、１０人のユーザが３点に投票した写真Ｂを考えると、写真Ａと写真Ｂの評価スコアはいずれも３点となる。そして、ユーザの評価分布が全く異なる写真Ａと写真Ｂとを同一のスコアを持つデータとみなして学習を行うことにより、未知の入力データ（写真）のスコアの推定精度に問題が生じる場合がある。
【０００５】
そこで、本発明は、入力データの統計情報を精度よく推定できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、第１の教師情報および第２の教師情報を有する学習データを入力する入力手段と、前記入力された学習データに基づいて、第１のニューラルネットワークおよび第２のニューラルネットワークから成るニューラルネットワークを学習する学習手段と、を有し、前記学習手段は、前記学習データを入力し、前記第１の教師情報と前記第１のニューラルネットワークが出力する第１の推定情報との誤差と、前記第２のニューラルネットワークにおいて算出される誤差と、に基づいて前記第１のニューラルネットワークを学習し、前記第１の推定情報を入力し、前記第２の教師情報と前記第２のニューラルネットワークが出力する第２の推定情報との誤差に基づいて、前記第２のニューラルネットワークを学習することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、入力データの統計情報を精度よく推定できるようになる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理装置の概略ブロック図。
【図２】従来の多層ニューラルネットワークの学習処理を説明する図。
【図３】第１の実施形態の多層ニューラルネットワークを説明する概略図。
【図４】第１の実施形態に係る情報処理装置による学習処理のフローチャート。
【図５】第１の実施形態における統計情報推定部よる推定処理のフローチャート。
【図６】第２の実施形態に係る情報処理装置の概略ブロック図。
【図７】第２の実施形態係る情報処理装置による学習処理のフローチャート。
【図８】第２の実施形態における推定処理のフローチャート。
【図９】第２の実施形態において良悪指標の算出方法の一例を説明する図。
【図１０】第１の実施形態の変形例の多層ニューラルネットワークを説明する概略図。
【図１１】第２の実施形態の多層ニューラルネットワークを説明する概略図。
【発明を実施するための形態】
【０００９】
［第１の実施形態］
以下、本発明の第１の実施形態の詳細について図面を参照しつつ説明する。本実施形態では、学習データに付随する教師統計情報として生情報と統計情報を持つ学習データセットで学習を行い、未知データの統計情報を推定する情報処理装置について説明する。
【００１０】
本実施形態において、生情報とは、編集や集計を行っていない初期状態の情報であり、統計情報とは、生情報に対して統計的な処理（統計処理）を行った情報である。一例として、あるデータに対してユーザが１点から５点の点数をつけて主観評価する事例が挙げられる。この事例では、生情報は複数のユーザによる５段階の主観評価結果の分布であり、統計情報とは、複数のユーザがつけたスコアの平均値等である。本実施形態では、予め生情報と統計情報とが教師情報として付与されたデータを用いて学習を行い、新たに未評価のデータが入力されたときに、そのデータの統計情報、すなわち平均スコアを推定する事例を例に説明を行う。
【００１１】
図１は、本実施形態に係る情報処理装置の機能構成を示す概略ブロック図である。図１において、情報処理装置１００は、学習処理部１１０、および統計情報推定部１２０を備える。そして、学習処理部１１０は、教師情報として評価スコアの分布情報およびその平均値である平均スコアを持つ学習データ１０を入力する入力手段と、平均スコアの推定を行う多層ニューラルネットワークの学習を行う学習手段としての機能を有する。また、学習済みニューラルネットワーク２０を出力する出力手段としての機能を有する。また、統計情報推定部１２０は、未知データ３０を入力する入力手段と、学習処理部１１０で学習した多層ニューラルネットワーク２０に通すことで、未知データ３０の統計情報である推定スコア４０を推定する推定手段としての機能を有する。また、推定した推定スコア４０を出力する出力する出力手段としての機能を有する。
【００１２】
なお、本実施形態の情報処理装置は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等のハードウェア構成を備え、ＣＰＵがＲＯＭやＨＤ等に格納されたプログラムを実行することにより、例えば、上述の各機能構成や後述するフローチャートの処理が実現される。ＲＡＭは、ＣＰＵがプログラムを展開して実行するワークエリアとして機能する記憶領域を有する。ＲＯＭは、ＣＰＵが実行するプログラム等を格納する記憶領域を有する。ＨＤは、ＣＰＵが処理を実行する際に要する各種のプログラムに関するデータ等を含む各種のデータを格納する記憶領域を有する。
【００１３】
本実施形態の情報処理装置による学習処理の詳細について説明する前に、まず、図２を用いて、一般的な多層ニューラルネットワークについて説明する。図２（ａ）に示す一般的な多層ニューラルネットワーク２１０は、データを入力として受け取る入力層２１１、入力データから特徴抽出を行う複数の中間層２１２、および推定結果を出力する出力層２１３から構成される。そして、学習データが持つ教師情報と出力層から出力される推定結果から損失関数Ｅとによって誤差ｅを算出し、算出した誤差ｅに基づいて誤差逆伝搬法によってニューラルネットワーク２１０の結合重みを更新する。
【００１４】
図２（ｂ）には、多層ニューラルネットワーク２１０の学習処理を示すフローチャートを示す。まず、ステップＳ３０１では、予め用意された複数の学習データから１枚の学習データを選択し、入力層２１１に入力する。なお、各学習データには教師情報ｙ＿ｇｔが付与されている。
【００１５】
ステップＳ３０２では、中間層２１２に入力された学習データの特徴抽出を行う。入力データからどのような特徴量を抽出すべきかを自動的に学習することが多層ニューラルネットワークの大きな特徴であり、特徴抽出のための各層の結合重みを探索することが多層ニューラルネットワークの学習処理の目的である。
【００１６】
ステップＳ３０３では、出力層２１３において、中間層２１２で抽出した特徴量に基づいて入力された学習データに対する推定結果ｙ＿ｅｓｔが出力される。
【００１７】
ステップＳ３０４では、予め定義された損失関数Ｅ（ｙ＿ｇｔ，ｙ＿ｅｓｔ）を用いて、入力された学習データの教師情報ｙ＿ｇｔとステップＳ３０３で推定した推定結果ｙ＿ｅｓｔとの誤差ｅを算出する。この誤差ｅを算出する損失関数Ｅ（ｙ＿ｇｔ，ｙ＿ｅｓｔ）は、推定すべき問題に応じて設定することができ、例えば最小二乗誤差を用いることができる。
【００１８】
ステップＳ３０５では、算出した誤差ｅに基づいて誤差逆伝播法により各中間層の結合重みを更新する。ステップＳ３０６では、学習の終了条件が満たされているか否かを確認し、満たされている場合には学習を終了する。一方、終了条件が満たされていない場合には、ステップＳ３０１に戻り、学習を継続する。終了条件としては、任意の条件が設定可能であり、例えば誤差ｅがあらかじめ設定した閾値未満かどうか、学習の繰り返し回数がユーザの指定した回数に達したかどうか、といった条件が設定される。
【００１９】
以上の処理により、多層ニューラルネットワーク２１０の学習が行われる。そして、未知データを推定する際には、学習した多層ニューラルネットワークに未知データを入力することで入力データの推定結果ｙ＿ｅｓｔが出力される。このように、一般的な多層ニューラルネットワークでは未知データに対して、直接、統計情報である平均スコアを推定する。
【００２０】
これに対し、本実施形態では、２つの異なる構造を持つ多層ニューラルネットワークを直列に結合したニューラルネットワークを用いる。図３には、本実施形態における多層ニューラルネットワーク２２０の構成の一例を示す。多層ニューラルネットワーク２２０は、第１のニューラルネットワーク２２０ａ、第２のニューラルネットワーク２２０ｂと、それぞれのニューラルネットワークにおける推定情報と教師情報との誤差を算出する損失関数Ｅ１、損失関数Ｅ２とから成る。
【００２１】
図４は、本実施形態における学習処理部１１０による多層ニューラルネットワーク２２０の学習処理のフローチャートである。図４において、ステップＳ４０１では、予め用意された複数の学習データから１枚の学習データを選択し、第１のニューラルネットワーク２２０ａの入力層に入力する。なお、各学習データは教師スコア分布ｄ＿ｇｔおよび教師平均スコアａ＿ｇｔを有する。
【００２２】
ステップＳ４０２では、第１のニューラルネットワーク２２０ａの中間層において入力された学習データの特徴抽出を行う。ステップＳ４０３では、第１のニューラルネットワーク２２０ａの出力層において推定生情報として推定スコア分布ｄ＿ｅｓｔが出力される。本実施形態では、教師生情報は複数ユーザによる５段階の主観評価結果の分布であるので、ｄ＿ｅｓｔは、例えば５次元ベクトルとして出力される。このとき、ベクトルの各次元の値は１点から５点までの各スコアを選択したユーザの割合を表す実数となっている。
【００２３】
ステップＳ４０４では、予め定義された損失関数Ｅ１（ｄ＿ｇｔ，ｄ＿ｅｓｔ）を用いて、入力された学習データの教師スコア分布ｄ＿ｇｔとステップＳ４０３で推定した推定スコア分布ｄ＿ｅｓｔとの誤差ｅ１を算出する。
【００２４】
ステップＳ４０５では、ステップＳ４０３で出力した推定スコア分布ｄ＿ｅｓｔを、第２のニューラルネットワーク２２０ｂの入力層に入力する。なお、ここでは、第１のニューラルネットワーク２２０ａにおける出力層と第２のニューラルネットワーク２２０ｂにおける入力層とを別々の層としたが、これらの層は同一の層であっても構わない。つまり、第１のニューラルネットワーク２２０ａの出力層における出力を第２のニューラルネットワーク２２０ｂの中間層に直接入力しても構わない。
【００２５】
ステップＳ４０６では、第２のニューラルネットワーク２２０ｂの中間層において入力された推定スコア分布の特徴抽出を行う。ステップＳ４０７では、第２のニューラルネットワーク２２０ｂの出力層において推定スコアａ＿ｅｓｔが出力される。
【００２６】
ステップＳ４０８では、予め定義された損失関数Ｅ２（ａ＿ｇｔ，ａ＿ｅｓｔ）を用いて、入力された学習データの教師平均スコアａ＿ｇｔとステップＳ４０７で推定した推定スコアａ＿ｅｓｔとの誤差ｅ２を算出する。ステップＳ４０９では、ステップＳ４０８で算出した誤差ｅ２に基づいて誤差逆伝播法により第２のニューラルネットワーク２２０ｂの各層の結合重みを更新する。
【００２７】
ステップＳ４１０では、ステップＳ４０４で算出した誤差ｅ１およびステップＳ４０８で算出した誤差ｅ２に基づいて、誤差逆伝搬法により第１のニューラルネットワーク２２０ａの各層の結合重みを更新する。第１のニューラルネットワーク２２０ａは、推定スコア分布と教師スコア分布の誤差に加えて、第２のニューラルネットワーク２２０ｂから伝播されてきた誤差も考慮した適切な重みの探索を行うことになる。
【００２８】
ステップＳ４１１では、学習の終了条件が満たされているか否かを確認し、満たされている場合には学習を終了する。一方、終了条件が満たされていない場合には、ステップＳ４０１に戻り、学習を継続する。
【００２９】
以上の処理により、学習処理部１１０では未知データの統計情報である評価スコアを推定する多層ニューラルネットワーク２２０の学習が行われ、それが学習済ニューラルネットワーク２０として出力される。
【００３０】
続いて、図５を用いて、本実施形態における統計情報推定部１２０による推定処理の詳細について説明する。図５において、ステップＳ５０１では、ユーザが選択した未知データを学習済ニューラルネットワーク２０の入力層に入力する。ステップＳ５０２では、学習済ニューラルネットワーク２０の中間層において入力された未知データの特徴抽出を行う。ステップＳ５０３では、学習済ニューラルネットワーク２０の出力層において推定スコアが出力される。なお、第１のニューラルネットワーク２２０ａの出力値を推定生情報として出力し、ユーザに提示してもよい。
【００３１】
本実施形態によれば、学習時に生情報と統計情報とを同時に学習し、推定した生情報を利用して統計情報を推定するニューラルネットワークを用いることで、未知データの統計情報を精度よく推定することが可能になる。なお、本実施形態では、学習処理と推定処理を単一の情報処理装置により行う構成としたが、各処理を別体の情報処理装置により行うようにしてもよい。
【００３２】
［変形例］
上記実施形態で説明した多層ニューラルネットワーク２２０は、入力データから推定した推定生情報に基づいて、統計情報の推定を行った。これに対し、本変形例の多層ニューラルネットワーク２３０は、図１０に示すように、学習データと推定生情報を併用して統計情報の推定を行う。
【００３３】
図１０に示す多層ニューラルネットワーク２３０は、学習データを入力として推定生情報を出力する第１のニューラルネットワーク２３０ａと、学習データを入力として推定統計情報を出力する第２のニューラルネットワーク２３０ｂとから成る。第２のニューラルネットワークは、適当な中間層において抽出した特徴量と第１のニューラルネットワークから出力される推定生情報を結合する。例えば、出力が１０００次元である中間層Ｘで抽出された特徴量と５次元の推定生情報を結合する場合、中間層Ｘの次の層に入力される特徴量は１００５次元となる。このように、本変形例の第２のニューラルネットワーク２３０ｂは、学習データから抽出した特徴量と推定生情報を特徴量として学習を行う。
【００３４】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。第１の実施形態では、ある１つの入力データの統計情報の推定に用いる生情報の推定を第１の多層ニューラルネットワークで行い、その推定結果を第２の多層ニューラルネットワークに入力することで統計情報の推定精度の向上を図っている。これに対し、本実施形態では、２つの異なる入力データの生情報をそれぞれ推定し、２つのデータの統計情報としていずれのデータがどの程度、勝っているかといったデータの評価の良し悪しの程度を推定する。更には、学習データペアの推定結果を利用することで、未知データセットから良データ（特定クラス）の選択を行う例についても説明する。
【００３５】
以下、本実施形態では、あるデータに対して複数のユーザが５段階で評価した評価結果の分布を生情報とし、２つのデータの平均スコアの差分を統計情報としたときに、未知のデータペアのスコアの大小を推定する。更に、その推定結果に基づいて、複数のデータから良データを選択する事例について説明を行う。
【００３６】
図６は、本実施形態に係る情報処理装置の機能構成を示す概略ブロック図である。図６において、情報処理装置６００は、学習処理部６１０、統計情報推定部６２０、良データ選択部６３０を備える。
【００３７】
学習処理部６１０は、学習データペアを入力として未知のデータペアの評価スコアの大小の程度を推定する多層ニューラルネットワークの学習を行う。学習データペアは、複数の学習データから選択された任意の２つのデータをペアにしたものである。学習データペアは、教師情報として各学習データの評価スコア分布および２つの学習データの平均スコアの差分を有している。
【００３８】
統計情報推定部６２０は、未知のデータペア３０を入力として、学習処理部６１０で学習済みの多層ニューラルネットワーク２０に通すことで、未知のデータペア３０のいずれのデータがどの程度スコアが高いかという良悪程度情報４０を推定する。
【００３９】
良データ選択部６３０は、統計情報推定部６２０で推定した複数のデータペアの良悪程度情報４０に基づいて、複数の学習データから一定数の良データを選択する。
【００４０】
図１１は、本実施形態における多層ニューラルネットワーク２４０の構成を示す図である。多層ニューラルネットワーク２４０は、学習データを入力として推定生情報を出力する第１のニューラルネットワークＡ  ２４０ａ、第１のニューラルネットワークＢ  ２４０ｂを有する。さらに、第１のニューラルネットワークそれぞれから出力される推定生情報を入力とし推定統計情報を出力する第２のニューラルネットワーク２４０ｃ、それぞれの推定情報と教師情報との誤差を算出する損失関数Ｅ１、Ｅ２から成る。
【００４１】
次に、図７を用いて、本実施形態の学習処理部６１０による学習処理の詳細について説明する。図７において、ステップＳ７０１では、複数の学習データから任意の２枚の学習データを学習データペアとして選択する。
【００４２】
ステップＳ７０２〜ステップＳ７０５およびステップＳ７０６〜ステップＳ７０９は、それぞれ異なるニューラルネットワークである第１のニューラルネットワークＡ  ２４０ａおよび第１のニューラルネットワークＢ  ２４０ｂにおいて並列に処理が行われる。ステップＳ７０２〜ステップＳ７０５では、学習データペアのいずれか一方の学習データを第１の学習データとして、第１のニューラルネットワークＡにおいて処理が実行され、第１の推定スコア分布および誤差ｅ１Ａが出力される。
【００４３】
一方、ステップＳ７０６〜ステップＳ７０９では、学習データペアの他方の学習データを第２の学習データとして、第１のニューラルネットワークＢにおいて処理が実行され、第２の推定スコア分布および誤差ｅ１Ｂが出力される。ステップＳ７０２〜ステップＳ７０５およびステップＳ７０６〜ステップＳ７０９の各処理の詳細は、第１の実施形態におけるステップＳ４０１〜ステップＳ４０４と同様であるため、説明を省略する。なお、第１のニューラルネットワークＡ  ２４０ａと第１のニューラルネットワークＢ  ２４０ｂは、いずれも未知データのスコア分布を推定するためのニューラルネットワークである。そのため、２つのニューラルネットワークのネットワーク構造は同一であることが望ましい。
【００４４】
ステップＳ７１０では、ステップＳ７０４で出力した第１の推定スコア分布とステップＳ７０８で出力した第２の推定スコア分布を結合し、第２のニューラルネットワーク２４０ｃの入力層に入力する。ステップＳ７１１では、第２のニューラルネットワークの中間層において入力された２つの推定スコア分布を結合した入力値の特徴抽出を行う。ステップＳ７１２では、第２のニューラルネットワーク２４０ｃの出力層において推定データペア良悪度合いが出力される。
【００４５】
ステップＳ７１３では、予め定義された損失関数を用いて入力された学習データペアの教師データペア良悪度合いとステップＳ７１２で推定した推定データペア良悪度合いの誤差ｅ２を算出する。ステップＳ７１４では、算出した誤差ｅ２に基づいて誤差逆伝播法により、第２のニューラルネットワーク２４０ｃの各層の結合重みを更新する。
【００４６】
ステップＳ７１５では、ステップＳ７０５で算出した誤差ｅ１ＡおよびステップＳ７１２で算出した誤差ｅ２に基づいて誤差逆伝搬法により第１のニューラルネットワークＡ  ２４０ａの各層の結合重みを更新する。ステップＳ７１６では、ステップＳ７０５で算出した誤差ｅ１ＢおよびステップＳ７１２で算出した誤差ｅ２に基づいて誤差逆伝搬法により第１のニューラルネットワークＢ  ２４０ｂの各層の結合重みを更新する。ステップＳ７１５およびステップＳ７１６は、並列に処理が実行される。
【００４７】
ステップＳ７１７では、学習の終了条件が満たされているか否かを確認し、満たされている場合には学習を終了する。一方、終了条件が満たされていない場合には、ステップＳ７０１に戻り、新たな学習データペアを選択して学習を継続する。終了条件については第１の実施形態と同様であるため、説明を省略する。
【００４８】
以上の処理によって、学習処理部６１０では未知のデータペアの良悪度合いを推定するための多層ニューラルネットワークの学習が行われ、学習済ニューラルネットワーク２０が生成される。
【００４９】
続いて、図８を用いて、本実施形態における情報処理装置６００による推定処理の詳細について説明する。図８において、ステップＳ８０１では、統計情報推定部６２０が、複数の未知データセットから任意のデータペアを選択する。ステップＳ８０２では、統計情報推定部６２０が、学習処理部６１０で学習されたニューラルネットワーク２０を用いてステップＳ８０１で選択したデータペアの良悪度合いを推定する。
【００５０】
ステップＳ８０３では、統計情報推定部６２０が、予め設定された終了条件が満たされているかを確認し、満たされている場合はステップＳ８０４に処理を進める。一方、終了条件が満たされていない場合はステップＳ８０１に戻って、未知データセットから異なるデータペアを選択する。終了条件は良データの選択手法に応じて任意の設定が可能である。例えば、良データ選択において未知データセットの全組み合わせにおける推定良悪度合いが必要である場合には、終了条件は「未評価のデータペアが存在しない」と設定される。
【００５１】
ステップＳ８０４では、良データ選択部６３０が、ステップＳ８０２で推定したデータペアの良悪度合いに基づいて各未知データの良悪指標を算出する。この良悪指標は、推定良悪度合いを用いた任意の方法で算出可能である。
【００５２】
図９に、データの良悪指標として各未知データとの推定良悪度合いの総和を用いたときの算出例を示す。図９はデータＡ〜データＥの５つの未知データにおける各ペアの推定良悪度合いである。例えば、データＡとデータＢではデータＡの方が評価スコアが１．３高く、データＢとデータＥではデータＥの方が評価スコアが０．４高いという結果になっている。このとき、各データの良悪指標は、各データとの推定良悪度合いの値の総和となるので、データＡの良悪指標は１．３＋（−０．４）＋２．０＋０．２＝３．１である。同様に、データＢの良悪指標は−１．３＋０．９＋０．９＋（−０．４）＝０．１となり、データＣは４．３、データＤは−１．５、データＥは−５．６となる。
【００５３】
ステップＳ８０５では、良悪指標に基づいて未知データから良データの選択を行う。選択基準はユーザの選択に応じて変更してよく、例えば未知データセット全体の上位Ｘ％、あるいはＫ枚、といった指定のときは良悪指標に基づいて未知データセットをソートして良悪指標の高い順に所定数のデータを選択すればよい。例えば、図９の例では、良悪指標値を高い順にソートすると、Ｃ＞Ａ＞Ｂ＞Ｄ＞Ｅとなるので、２枚を選択したい場合にはデータＡ、データＣが選択されることになる。また、枚数によらず一定の基準以上のデータを選択したい場合は、良悪指標に対して一定の閾値以上のデータを選択すればよい。例えば、図９の場合、閾値を０とすればデータＡ、データＢ、データＣが選択される。
【００５４】
本実施形態によれば、複数の未知データの統計情報を精度よく推定することができ、複数の未知データからある評価基準における評価の高いデータを精度よく抽出することが可能となる。
【００５５】
［その他の実施形態］
また、本発明は、各実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵ等）がプログラムを読出し実行する処理である。また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００５６】
１００  情報処理装置
１１０  学習処理部
１２０  統計情報推定部
【図１】
2018106237.tif 000003
【図２】
2018106237.tif 000004
【図３】
2018106237.tif 000005
【図４】
2018106237.tif 000006
【図５】
2018106237.tif 000007
【図６】
2018106237.tif 000008
【図７】
2018106237.tif 000009
【図８】
2018106237.tif 000010
【図９】
2018106237.tif 000011
【図１０】
2018106237.tif 000012
【図１１】
2018106237.tif 000013