JP2013058095A - 情報処理装置、推定機生成方法、及びプログラム - Google Patents

情報処理装置、推定機生成方法、及びプログラム Download PDF

Info

Publication number
JP2013058095A
JP2013058095A JP2011196300A JP2011196300A JP2013058095A JP 2013058095 A JP2013058095 A JP 2013058095A JP 2011196300 A JP2011196300 A JP 2011196300A JP 2011196300 A JP2011196300 A JP 2011196300A JP 2013058095 A JP2013058095 A JP 2013058095A
Authority
JP
Japan
Prior art keywords
learning data
distribution
information processing
feature amount
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011196300A
Other languages
English (en)
Other versions
JP5909943B2 (ja
JP2013058095A5 (ja
Inventor
Yoshiyuki Kobayashi
由幸 小林
Tamaki Kojima
環 児嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011196300A priority Critical patent/JP5909943B2/ja
Priority to US13/591,520 priority patent/US20130066452A1/en
Priority to CN201210320527.3A priority patent/CN103177177B/zh
Publication of JP2013058095A publication Critical patent/JP2013058095A/ja
Publication of JP2013058095A5 publication Critical patent/JP2013058095A5/ja
Application granted granted Critical
Publication of JP5909943B2 publication Critical patent/JP5909943B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】より高性能な推定機を生成できるようにすること。
【解決手段】入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出部と、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整部と、複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成部と、を備える、情報処理装置が提供される。
【選択図】図16

Description

本技術は、情報処理装置、推定機生成方法、及びプログラムに関する。
近年、定量的に特徴を決定づけることが難しい任意のデータ群から、そのデータ群の特徴量を機械的に抽出する手法に注目が集まっている。例えば、任意の音楽データを入力とし、その音楽データが属する音楽のジャンルを機械的に抽出するアルゴリズムを自動構築する手法が知られている。ジャズ、クラシック、ポップス等、音楽のジャンルは、楽器の種類や演奏形態に応じて定量的に決まるものではない。そのため、これまでは任意の音楽データが与えられたときに、その音楽データから機械的に音楽のジャンルを抽出することは一般的に難しいと考えられていた。
しかし、実際には、音楽データに含まれる音程の組み合わせ、音程の組み合わせ方、楽器の種類の組み合わせ、メロディーラインやベースラインの構造等、様々な情報の組み合わせの中に、音楽のジャンルを分ける特徴が潜在的に含まれている。そのため、この特徴を抽出するアルゴリズム(以下、特徴量抽出機)を機械学習により自動構築できないか、という観点から特徴量抽出機の研究が行われた。その研究成果の一つとして、例えば、下記の特許文献1に記載された遺伝アルゴリズムに基づく特徴量抽出機の自動構築方法を挙げることができる。遺伝アルゴリズムとは、生物の進化過程に倣い、機械学習の過程で、選択、交差、突然変異の要素を考慮したものを言う。
同文献に記載の特徴量抽出機自動構築アルゴリズムを利用することにより、任意の音楽データから、その音楽データが属する音楽のジャンルを抽出する特徴量抽出機を自動構築することができるようになる。また、同文献に記載の特徴量抽出機自動構築アルゴリズムは、非常に汎用性が高く、音楽データに限らず、任意のデータ群から、そのデータ群の特徴量を抽出する特徴量抽出機を自動構築することができる。そのため、同文献に記載の特徴量抽出機自動構築アルゴリズムは、音楽データや映像データのような人工的なデータの特徴量解析、自然界に存在する様々な観測量の特徴量解析への応用が期待されている。
特開2009−48266号公報
上記の文献に記載の特徴量抽出式自動構築アルゴリズムは、予め用意された学習用データを利用して特徴量抽出式を自動構築する。また、学習用データの数が多いほど、自動構築される特徴量抽出式の性能が向上する。しかし、特徴量抽出式の構築に利用可能なメモリ量には限りがある。また、学習用データの数が多いと、特徴量抽出式の構築を実現するために高い演算性能が要求される。そのため、多量に供給される学習用データのうち、特徴量抽出式の性能向上に寄与する有用な学習用データを優先的に利用する仕組みが求められている。この仕組みを実現することで、より精度の高い特徴量抽出式が得られるようになるため、特徴量抽出式を利用して結果を推定する推定機の性能を向上させることが可能になると期待される。
そこで、本技術は、上記のような事情を受けて考案されたものであり、より高性能な推定機を生成することが可能な、新規かつ改良された情報処理装置、推定機生成方法、及びプログラムを提供することを意図している。
本技術のある観点によれば、入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出部と、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整部と、複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成部と、を備える、情報処理装置が提供される。
また、本技術の別の観点によれば、入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出するステップと、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整するステップと、複数の前記学習用データについて、前記特徴量ベクトルの入力に対して前記目的変数の推定値を出力する推定関数を生成するステップと、を含む、推定機生成方法が提供される。
また、本技術の別の観点によれば、入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出機能と、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整機能と、複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成機能と、をコンピュータに実現させるためのプログラムが提供される。
また、本技術の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
以上説明したように本技術によれば、より高性能な推定機を生成することが可能になる。
機械学習により構築された推定機を利用して結果を推定するシステムの構成について説明するための説明図である。 推定機の構築に利用される学習用データの構成について説明するための説明図である。 推定機の構造について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 推定機の構築方法について説明するための説明図である。 オンライン学習について説明するための説明図である。 オフライン学習に基づく推定機の構築方法及びオンライン学習に基づく推定機の構築方法に関して解決すべき課題について説明するための説明図である。 本実施形態に係る情報処理装置の機能構成について説明するための説明図である。 本実施形態に係る推定機構築部の詳細な機能構成について説明するための説明図である。 特徴量空間における学習用データの分布と推定機の精度との関係について説明するための説明図である。 特徴量空間における学習用データの分布と推定機の精度との関係及びオンライン学習の効果について説明するための説明図である。 本実施形態に係る学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な学習用データのサンプリング方法について説明するための説明図である。 本実施形態に係る効率的な重み付け方法について説明するための説明図である。 本実施形態に係る効率的な重み付け方法について説明するための説明図である。 本実施形態に係る効率的な重み付け方法について説明するための説明図である。 本実施形態に係る効率的な重み付け方法について説明するための説明図である。 本実施形態に係る効率的なサンプリング/重み付け方法について説明するための説明図である。 本実施形態の一変形例に係る学習用データの選択方法について説明するための説明図である。 本実施形態の一変形例に係る学習用データの選択方法について説明するための説明図である。 本実施形態の一変形例に係る重み付け方法について説明するための説明図である。 本実施形態の一変形例に係る学習用データの選択方法について説明するための説明図である。 本実施形態の一変形例に係る重み付け方法について説明するための説明図である。 画像認識機の構築に利用する学習用データの生成方法について説明するための説明図である。 言語解析機の構築に利用する学習用データの生成方法について説明するための説明図である。 オンライン学習の適用により得られる効果について説明するための説明図である。 本実施形態に係る情報処理装置の機能を実現することが可能なハードウェア構成例を示した説明図である。
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
まず、図1〜図12を参照しながら、推定機の自動構築方法について説明する。次いで、図13及び図14を参照しながら、オンライン学習に基づく推定機の自動構築方法について説明する。次いで、図15及び図16を参照しながら、本実施形態に係る情報処理装置10の機能構成について説明する。次いで、図17〜図19を参照しながら、本実施形態に係る学習用データの統合方法について説明する。
次いで、図20〜図26を参照しながら、本実施形態に係る効率的な学習用データのサンプリング方法について説明する。次いで、図27〜図30を参照しながら、本実施形態に係る効率的な重み付け方法について説明する。次いで、図31を参照しながら、本実施形態に係る効率的な学習用データのサンプリング方法及び重み付け方法を組み合わせる方法について説明する。
次いで、図32を参照しながら、本実施形態の一変形例(変形例1)に係る学習用データのサンプリング方法について説明する。次いで、図33及び図34を参照しながら、本実施形態の一変形例(変形例2)に係る学習用データのサンプリング方法及び重み付け方法について説明する。次いで、図35及び図36を参照しながら、本実施形態の一変形例(変形例3)に係る学習用データのサンプリング方法及び重み付け方法について説明する。
次いで、図37を参照しながら、本実施形態に係る技術を画像認識機の自動構築方法に応用する方法について説明する。次いで、図38を参照しながら、本実施形態に係る技術を言語解析機の自動構築方法に応用する方法について説明する。次いで、図39を参照しながら、本実施形態に係るオンライン学習の効果について説明する。次いで、図40を参照しながら、本実施形態に係る情報処理装置10の機能を実現することが可能なハードウェア構成例について説明する。
最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:はじめに
1−1:推定機の自動構築方法
1−1−1:推定機の構成
1−1−2:構築処理の流れ
1−2:オンライン学習の実現に向けて
2:実施形態
2−1:情報処理装置10の機能構成
2−2:学習用データの統合方法
2−2−1:特徴量空間における学習用データの分布と推定機の精度
2−2−2:データ統合時にサンプリングする構成
2−2−3:データ統合時に重み付けする構成
2−2−4:データ統合時にサンプリング及び重み付けする構成
2−3:効率的なサンプリング/重み付け方法
2−3−1:サンプリング方法
2−3−2:重み付け方法
2−3−3:組み合わせ方法
2−4:サンプリング処理及び重み付け処理に関する変形例
2−4−1:変形例1(距離に基づく処理)
2−4−2:変形例2(クラスタリングに基づく処理)
2−4−3:変形例3(密度推定手法に基づく処理)
3:応用例
3−1:画像認識機の自動構築方法
3−2:言語解析機の自動構築方法
4:ハードウェア構成例
5:まとめ
<1:はじめに>
後述する実施形態は、推定機の自動構築方法に関する。また、同実施形態は、推定機の構築に用いる学習用データを追加できるようにする仕組み(以下、オンライン学習)に関する。そこで、同実施形態に係る技術について詳細に説明するに先立ち、推定機の自動構築方法及びオンライン学習を実現するに当たって解決すべき課題について説明する。なお、以下では遺伝アルゴリズムに基づく推定機の自動構築方法を例に挙げて説明を進めるが、同実施形態に係る技術の適用範囲はこれに限定されない。
[1−1:推定機の自動構築方法]
推定機の自動構築方法について説明する。
(1−1−1:推定機の構成)
はじめに、図1〜図3を参照しながら、推定機の構成について説明する。図1は、推定機を利用するシステムのシステム構成例を示した説明図である。また、図2は、推定機の構築に利用する学習用データの構成例を示した説明図である。そして、図3は、推定機の構造及び構築方法の概要を示した説明図である。
まず、図1を参照する。図1に示すように、推定機の構築及び推定値の算出は、例えば、情報処理装置10により実行される。情報処理装置10は、複数の学習用データ(X,t),…,(X,t)を利用して推定機を構築する。なお、以下の説明において、学習用データの集合を学習用データセットと呼ぶ場合がある。また、情報処理装置10は、構築した推定機を利用して入力データXから推定値yを算出する。この推定値yは、入力データXの認識に利用される。例えば、推定値yが所定の閾値Thより大きい場合に認識結果YESが得られ、推定値yが所定の閾値Thより小さい場合に認識結果NOが得られる。
図2を参照しながら、より具体的に推定機の構成について考えてみよう。図2に例示した学習用データセットは、“海”の画像を認識する画像認識機の構築に利用されるものである。この場合、情報処理装置10により構築される推定機は、入力された画像の“海らしさ”を表す推定値yを出力するものとなる。図2に示すように、学習用データは、データXと目的変数tとのペア(但し、k=1〜N)により構成される。データXは、k番目の画像データ(画像#k)である。また、目的変数tは、画像#kが“海”の画像である場合に1、画像#kが“海”の画像でない場合に0となる変数である。
図2の例では、画像#1が“海”の画像であり、画像#2が“海”の画像であり、…、画像#Nが“海”の画像でない。この場合、t=1、t=1、…、t=0となる。この学習用データセットが入力されると、情報処理装置10は、入力された学習用データセットに基づく機械学習により、入力された画像の“海らしさ”を表す推定値yを出力する推定機を構築する。この推定値yは、入力された画像の“海らしさ”が高いほど1に近づき、“海らしさ”が低いほど0に近づく値である。
また、新たに入力データX(画像X)が入力されると、情報処理装置10は、学習用データセットを利用して構築された推定機に画像Xを入力し、画像Xの“海らしさ”を表す推定値yを算出する。この推定値yを利用すると、画像Xが“海”の画像であるか否かを認識することが可能になる。例えば、推定値y≧所定の閾値Thの場合、入力された画像Xが“海”の画像であると認識される。一方、推定値y<所定の閾値Thの場合、入力された画像Xが“海”の画像でないと認識される。
本実施形態は、上記のような推定機を自動構築する技術に関する。なお、ここでは画像認識機の構築に利用される推定機について説明したが、本実施形態に係る技術は、様々な推定機の自動構築方法に適用することができる。例えば、言語解析機の構築に適用することもできるし、楽曲のメロディーラインやコード進行などを解析する音楽解析機の構築にも適用することができる。さらに、蝶の動きや雲の流れなどの自然現象を再現したり、自然の振る舞いを予測したりする動き予測機の構築などにも適用することができる。
例えば、特開2009−48266号公報、特願2010−159598号明細書、特願2010−159597号明細書、特願2009−277083号明細書、特願2009−277084号明細書などに記載のアルゴリズムに適用することができる。また、AdaBoostなどのアンサンブル学習手法や、SVMやSVRなどのカーネルを用いた学習手法などにも適用できる。AdaBoostなどのアンサンブル学習手法に適用する場合、弱学習機(Weak Learner)が後述する基底関数φに対応する。また、SVMやSVRなどの学習手法に適用する場合、カーネルが後述する基底関数φに対応する。なお、SVMはSupport Vector Machine、SVRはSupport Vector Regression、RVMはRelevance Vector Machineの略である。
ここで、図3を参照しながら、推定機の構造について説明する。図3に示すように、推定機は、基底関数リスト(φ,…,φ)及び推定関数fにより構成される。基底関数リスト(φ,…,φ)は、M個の基底関数φ(k=1〜M)を含む。また、基底関数φは、入力データXの入力に応じて特徴量zを出力する関数である。さらに、推定関数fは、M個の特徴量z(k=1〜M)を要素として含む特徴量ベクトルZ=(z,…,z)の入力に応じて推定値yを出力する関数である。基底関数φは、予め用意された1又は複数の処理関数を組み合わせて生成される。
処理関数としては、例えば、三角関数、指数関数、四則演算、デジタルフィルタ、微分演算、中央値フィルタ、正規化演算、ホワイトノイズの付加処理、画像処理フィルタなどが利用可能である。例えば、入力データXが画像の場合、ホワイトノイズの付加処理AddWhiteNoise()、中央値フィルタMedian()、ぼかし処理Blur()を組み合わせた基底関数φ(X)=AddWhiteNoise(Median(Blur(X)))などが利用される。この基底関数φは、入力データXに対し、ぼかし処理、中央値フィルタ処理、及びホワイトノイズの付加処理を順次施すことを意味する。
(1−1−2:構築処理の流れ)
さて、基底関数φ(k=1〜M)の構成、基底関数リストの構成、推定関数fの構成は、学習用データセットに基づく機械学習により決定される。以下、この機械学習による推定機の構築処理について、より詳細に説明する。
(全体構成)
まず、図4を参照しながら、全体的な処理の流れについて説明する。図4は、全体的な処理の流れについて説明するための説明図である。なお、以下で説明する処理は、情報処理装置10により実行される。
図4に示すように、まず、情報処理装置10に学習用データセットが入力される(S101)。なお、学習用データとしては、データXと目的変数tの組が入力される。学習用データセットが入力されると、情報処理装置10は、処理関数を組み合わせて基底関数を生成する(S102)。次いで、情報処理装置10は、基底関数にデータXを入力して特徴量ベクトルZを算出する(S103)。次いで、情報処理装置10は、基底関数の評価及び推定関数の生成を行う(S104)。
次いで、情報処理装置10は、所定の終了条件を満たしたか否かを判定する(S105)。所定の終了条件を満たした場合、情報処理装置10は、処理をステップS106に進める。一方、所定の終了条件を満たしていない場合、情報処理装置10は、処理をステップS102に戻し、ステップS102〜S104の処理を繰り返し実行する。処理をステップS106に進めた場合、情報処理装置10は、推定関数を出力する(S106)。上記の通り、ステップS102〜S104の処理は、繰り返し実行される。そこで、以下の説明においては、第τ回目の繰り返し処理においてステップS102で生成される基底関数を第τ世代の基底関数と呼ぶことにする。
(基底関数の生成(S102))
ここで、図5〜図10を参照しながら、ステップS102の処理(基底関数の生成)について、より詳細に説明する。
まず、図5を参照する。図5に示すように、情報処理装置10は、現在の世代が2世代目以降であるか否かを判定する(S111)。つまり、情報処理装置10は、現在実行しようとしているステップS102の処理が第2回目以降の繰り返し処理であるか否かを判定する。2世代目以降である場合、情報処理装置10は、処理をステップS113に進める。一方、2世代目以降でない場合(第1世代である場合)、情報処理装置10は、処理をステップS112に進める。処理をステップS112に進めた場合、情報処理装置10は、基底関数をランダムに生成する(S112)。一方、処理をステップS113に進めた場合、情報処理装置10は、基底関数を進化的に生成する(S113)。そして、情報処理装置10は、ステップS112又はS113の処理が完了すると、ステップS102の処理を終了する。
(S112:基底関数をランダムに生成)
次に、図6及び図7を参照しながら、ステップS112の処理について、より詳細に説明する。ステップS112の処理は、第1世代の基底関数を生成する処理に関する。
まず、図6を参照する。図6に示すように、情報処理装置10は、基底関数のインデックスm(m=0〜M−1)に関する処理ループを開始する(S121)。次いで、情報処理装置10は、基底関数φ(x)をランダムに生成する(S122)。次いで、情報処理装置10は、基底関数のインデックスmがM−1に達したか否かを判定し、基底関数のインデックスmがM−1に達していない場合、情報処理装置10は、基底関数のインデックスmをインクリメントしてステップS121に処理を戻す(S124)。一方、基底関数のインデックスmがm=M−1の場合、情報処理装置10は、処理ループを終了する(S124)。ステップS124で処理ループを終了すると、情報処理装置10は、ステップS112の処理を完了する。
(ステップS122の詳細)
次に、図7を参照しながら、ステップS122の処理について、より詳細に説明する。
ステップS122の処理を開始すると、図7に示すように、情報処理装置10は、基底関数のプロトタイプをランダムに決定する(S131)。プロトタイプとしては、既に例示した処理関数の他、線形項、ガウシアンカーネル、シグモイドカーネルなどの処理関数が利用可能である。次いで、情報処理装置10は、決定したプロトタイプのパラメータをランダムに決定し、基底関数を生成する(S132)。
(S113:基底関数を進化的に生成)
次に、図8〜図10を参照しながら、ステップS113の処理について、より詳細に説明する。ステップS113の処理は、第τ世代(τ≧2)の基底関数を生成する処理に関する。従って、ステップS113を実行する際には、第τ−1世代の基底関数φm,τ−1(m=1〜M)及び当該基底関数φm,τ−1の評価値vm,τ−1が得られている。
まず、図8を参照する。図8に示すように、情報処理装置10は、基底関数の数Mを更新する(S141)。つまり、情報処理装置10は、第τ世代の基底関数の数Mτを決定する。次いで、情報処理装置10は、第τ−1世代の基底関数φm,τ−1(m=1〜M)に対する評価値vτ−1={v1,τ−1,…,vM,τ−1}に基づき、第τ−1世代の基底関数の中からe個の有用な基底関数を選択して第τ世代の基底関数φ1,τ、…、φe,τに設定する(S142)。
次いで、情報処理装置10は、残り(Mτ−e)個の基底関数φe+1,τ、…、φMτ,τを生成する方法を交差、突然変異、ランダム生成の中からランダムに選択する(S143)。交差を選択した場合、情報処理装置10は、処理をステップS144に進める。また、突然変異を選択した場合、情報処理装置10は、処理をステップS145に進める。そして、ランダム生成を選択した場合、情報処理装置10は、処理をステップS146に進める。
処理をステップS144に進めた場合、情報処理装置10は、ステップS142で選択された基底関数φ1,τ、…、φe,τの中から選択された基底関数を交差させて新たな基底関数φm’,τ(m’≧e+1)を生成する(S144)。また、処理をステップS145に進めた場合、情報処理装置10は、ステップS142で選択された基底関数φ1,τ、…、φe,τの中から選択された基底関数を突然変異させて新たな基底関数φm’,τ(m’≧e+1)を生成する(S145)。一方、処理をステップS146に進めた場合、情報処理装置10は、ランダムに新たな基底関数φm’,τ(m’≧e+1)を生成する(S146)。
ステップS144、S145、S146のいずれかの処理を終えると、情報処理装置10は、処理をステップS147に進める。処理をステップS147に進めると、情報処理装置10は、第τ世代の基底関数がM個(M=Mτ)に達したか否かを判定する(S147)。第τ世代の基底関数がM個に達していない場合、情報処理装置10は、処理を再びステップS143に戻す。一方、第τ世代の基底関数がM個に達した場合、情報処理装置10は、ステップS113の処理を終了する。
(S144の詳細:交差)
次に、図9を参照しながら、ステップS144の処理について、より詳細に説明する。
ステップS144の処理を開始すると、図9に示すように、情報処理装置10は、ステップS142で選択された基底関数φ1,τ、…、φe,τの中から同じプロトタイプを持つ基底関数をランダムに2つ選択する(S151)。次いで、情報処理装置10は、選択した2つの基底関数が持つパラメータを交差させて新たな基底関数を生成する(S152)。
(S145の詳細:突然変異)
次に、図10を参照しながら、ステップS145の処理について、より詳細に説明する。
ステップS145の処理を開始すると、図10に示すように、情報処理装置10は、ステップS142で選択された基底関数φ1,τ、…、φe,τの中から基底関数をランダムに1つ選択する(S161)。次いで、情報処理装置10は、選択した基底関数が持つパラメータの一部をランダムに変更して新たな基底関数を生成する(S162)。
(S146の詳細:ランダム生成)
次に、図7を参照しながら、ステップS146の処理について、より詳細に説明する。
ステップS122の処理を開始すると、図7に示すように、情報処理装置10は、基底関数のプロトタイプをランダムに決定する(S131)。プロトタイプとしては、既に例示した処理関数の他、線形項、ガウシアンカーネル、シグモイドカーネルなどの処理関数が利用可能である。次いで、情報処理装置10は、決定したプロトタイプのパラメータをランダムに決定し、基底関数を生成する(S132)。
以上、ステップS102の処理(基底関数の生成)について、より詳細に説明した。
(基底関数の計算(S103))
次に、図11を参照しながら、ステップS103の処理(基底関数の計算)について、より詳細に説明する。
図11に示すように、情報処理装置10は、学習用データセットに含まれるi番目のデータX(i)のインデックスiに関する処理ループを開始する(S171)。例えば、学習用データセットとしてN個のデータの組{X(1),…,X(N)}が入力された場合には、i=1〜Nに関して処理ループが実行される。次いで、情報処理装置10は、基底関数φのインデックスmに関する処理ループを開始する(S172)。例えば、M個の基底関数を生成した場合には、m=1〜Mに関して処理ループが実行される。
次いで、情報処理装置10は、特徴量zmi=φ(x(i))を計算する(S173)。次いで、情報処理装置10は、処理をステップS174に進め、基底関数のインデックスmに関する処理ループを続ける。そして、情報処理装置10は、基底関数のインデックスmに関する処理ループが終了すると、処理をステップS175に進め、インデックスiに関する処理ループを続ける。インデックスiに関する処理ループが終了した場合、情報処理装置10は、ステップS103の処理を終了する。
以上、ステップS103の処理(基底関数の計算)について、より詳細に説明した。
(基底関数の評価・推定関数の生成(S104))
次に、図12を参照しながら、ステップS104の処理(基底関数の評価・推定関数の生成)について、より詳細に説明する。
図12に示すように、情報処理装置10は、AIC基準の増減法に基づく回帰/判別学習により推定関数のパラメータw={w,…,w}を算出する(S181)。つまり、情報処理装置10は、特徴量zmi=φm,τ(x(i))と目的変数t(i)の組(i=1〜N)が推定関数fによりフィッティングされるように、回帰/判別学習によりベクトルw={w,…,w}を求める。但し、推定関数f(x)は、f(x)=Σwφm,τ(x)+wであるとする。次いで、情報処理装置10は、パラメータwが0となる基底関数の評価値vを0に設定し、それ以外の基底関数の評価値vを1に設定する(S182)。つまり、評価値vが1の基底関数は有用な基底関数である。
以上、ステップS104の処理(基底関数の評価・推定関数の生成)について、より詳細に説明した。
推定機の構築に係る処理の流れは上記の通りである。このように、ステップS102〜S104の処理が繰り返し実行され、基底関数が進化的手法により逐次更新されることにより推定精度の高い推定関数が得られる。つまり、上記の方法を適用することで、高性能な推定機を自動構築することができる。
[1−2:オンライン学習の実現に向けて]
さて、上記のように、機械学習により推定機を自動構築するアルゴリズムの場合、学習用データの数が多いほど、構築される推定機の性能が高くなる。そのため、可能な限り多くの学習用データを利用して推定機を構築するのが好ましい。しかしながら、学習用データの格納に利用できる情報処理装置10のメモリ容量は限られている。また、学習用データの数が多くなると、推定機の構築を実現するために要求される演算性能も高くなってしまう。こうした理由から、バッチ処理にて推定機を構築する上記の方法(以下、オフライン学習)を用いている限り、推定機の性能は、情報処理装置10のリソースにより制限されてしまう。
そこで、本件発明者は、学習用データを逐次追加できるようにする仕組み(以下、オンライン学習)を考案した。オンライン学習に係る推定機の構築は、図13に示すような処理の流れに沿って行われる。図13に示すように、まず、学習用データセットが情報処理装置10に入力される(Step 1)。次いで、情報処理装置10は、入力された学習用データセットを利用し、既に説明した推定機の自動構築方法により推定機を構築する(Step 2)。
次いで、情報処理装置10は、随時又は所定のタイミングで追加の学習用データを取得する(Step 3)。次いで、情報処理装置10は、(Step 1)で入力された学習用データセットと、(Step 3)で取得した学習用データとを統合する(Step 4)。このとき、情報処理装置10は、学習用データのサンプリング処理や重み付け処理を実行し、統合後の学習用データセットを生成する。そして、情報処理装置10は、統合後の学習用データセットを利用し、再び推定機を構築する(Step 2)。このとき、情報処理装置10は、既に説明した推定機の自動構築方法により推定機を構築する。
なお、(Step 2)で構築された推定機は、構築の度に出力されるようにしてもよい。また、(Step 2)〜(Step 4)の処理は繰り返し実行される。そして、学習用データセットは、処理が繰り返される度に更新される。例えば、繰り返しの度に学習用データが追加されるようにすれば、推定機の構築処理に利用される学習用データの数が増加するため、推定機の性能が向上する。しかし、情報処理装置10のリソースには限界があるため、(Step 4)で実行される学習用データの統合処理では、より有用な学習用データが推定機の構築に利用されるように統合の仕方を工夫する必要がある。
(課題の整理)
図14に示すように、オフライン学習を適用する場合、推定機の構築に利用可能な学習用データの数に限りがあるため、推定機の更なる性能向上に限界がある。一方、オンライン学習を適用すると、学習用データの追加が可能になるため、推定機の更なる性能向上が期待できる。しかし、情報処理装置10のリソースには限りがあるため、限られたリソースの中で推定機の更なる性能向上を果たせるように学習用データの統合方法を工夫する必要がある。以下の実施形態に係る技術は、こうした課題を解決すべく考案されたものである。
<2:実施形態>
本技術の一実施形態について説明する。
[2−1:情報処理装置10の機能構成]
まず、図15及び図16を参照しながら、本実施形態に係る情報処理装置10の機能構成について説明する。図15は、本実施形態に係る情報処理装置10の全体的な機能構成を示した説明図である。一方、図16は、本実施形態に係る情報処理装置10を構成する推定機構築部12の詳細な機能構成を示した説明図である。
(全体的な機能構成)
まず、図15を参照しながら、全体的な機能構成について説明する。図15に示すように、情報処理装置10は、主に、学習用データ取得部11と、推定機構築部12と、入力データ取得部13と、結果認識部14とにより構成される。
推定機の構築処理が開始されると、学習用データ取得部11は、推定機の構築に利用する学習用データを取得する。例えば、学習用データ取得部11は、記憶装置(非図示)に格納された学習用データを読み出す。或いは、学習用データ取得部11は、学習用データを提供するシステムなどからネットワークを介して学習用データを取得する。また、学習用データ取得部11は、タグが付されたデータを取得し、タグに基づいてデータと目的変数との組で構成される学習用データを生成してもよい。
学習用データ取得部11により取得された学習用データの集合(学習用データセット)は、推定機構築部12に入力される。学習用データセットが入力されると、推定機構築部12は、入力された学習用データセットに基づく機械学習により推定機を構築する。例えば、推定機構築部12は、既に説明した遺伝アルゴリズムに基づく推定機の自動構築方法を利用して推定機を構築する。また、学習用データ取得部11から追加の学習用データが入力された場合、推定機構築部12は、学習用データを統合し、統合後の学習用データセットを利用して推定機を構築する。
推定機構築部12により構築された推定機は、結果認識部14に入力される。この推定機は、任意の入力データに対する認識結果を得るために利用される。入力データ取得部13により認識対象の入力データが取得されると、取得された入力データは、結果認識部14に入力される。入力データが入力されると、結果認識部14は、入力された入力データを推定機に入力し、推定機から出力される推定値に基づいて認識結果を生成する。例えば、図1に示すように、結果認識部14は、推定値yと所定の閾値Thとを比較し、比較結果に応じて認識結果を出力する。
以上、情報処理装置10の全体的な機能構成について説明した。
(推定機構築部12の機能構成)
次に、図16を参照しながら、推定機構築部12の機能構成について詳細に説明する。図16に示すように、推定機構築部12は、基底関数リスト生成部121と、特徴量計算部122と、推定関数生成部123と、学習用データ統合部124とにより構成される。
推定機の構築処理が開始されると、まず、基底関数リスト生成部121は、基底関数リストを生成する。そして、基底関数リスト生成部121により生成された基底関数リストは、特徴量計算部122に入力される。また、特徴量計算部122には、学習用データセットが入力される。基底関数リスト及び学習用データセットが入力されると、特徴量計算部122は、入力された学習用データセットのデータを基底関数リストに含まれる各基底関数に入力して特徴量を算出する。特徴量計算部122により算出された特徴量の組(特徴量ベクトル)は、推定関数生成部123に入力される。
特徴量ベクトルが入力されると、推定関数生成部123は、入力された特徴量ベクトル及び学習用データを構成する目的変数に基づいて回帰/判別学習により推定関数を生成する。なお、遺伝アルゴリズムに基づく推定機の構築方法を適用する場合、推定関数生成部123は、生成した推定関数に対する各基底関数の寄与率(評価値)を算出し、その寄与率に基づいて終了条件を満たすか否かを判定する。終了条件を満たす場合、推定関数生成部123は、基底関数リスト及び推定関数を含む推定機を出力する。
一方、終了条件を満たさない場合、推定関数生成部123は、生成した推定関数に対する各基底関数の寄与率を基底関数リスト生成部121に通知する。この通知を受けた基底関数リスト生成部121は、遺伝アルゴリズムにより各基底関数の寄与率に基づいて基底関数リストを更新する。基底関数リストを更新した場合、基底関数リスト生成部121は、更新後の基底関数リストを特徴量計算部122に入力する。更新後の基底関数リストが入力された場合、特徴量計算部122は、更新後の基底関数リストを用いて特徴量ベクトルを算出する。そして、特徴量計算部122により算出された特徴量ベクトルは、推定関数生成部123に入力される。
上記のように、遺伝アルゴリズムに基づく推定機の構築方法を適用する場合、終了条件が満たされるまで、推定関数生成部123による推定関数の生成処理、基底関数リスト生成部121による基底関数リストの更新処理、及び特徴量計算部122による特徴量ベクトルの算出処理が繰り返し実行される。そして、終了条件が満たされた場合、推定関数生成部123から推定機が出力される。
また、追加の学習用データが入力されると、入力された追加の学習用データは、特徴量計算部122及び学習用データ統合部124に入力される。追加の学習用データが入力されると、特徴量計算部122は、追加の学習用データを構成するデータを基底関数リストに含まれる各基底関数に入力して特徴量を生成する。そして、追加の学習用データに対応する特徴量ベクトル及び既存の学習用データに対応する特徴量ベクトルは、学習用データ統合部124に入力される。なお、学習用データ統合部124には、既存の学習用データも入力されているものとする。
学習用データ統合部124は、後述する学習用データの統合方法に基づいて既存の学習用データセットと追加の学習用データとを統合する。例えば、学習用データ統合部124は、特徴量空間において特徴量ベクトルにより示される座標(以下、特徴量座標)の分布が所定の分布となるように学習用データを間引いたり、学習用データに重みを設定したりする。学習用データを間引いた場合、間引き後の学習用データセットが統合後の学習用データセットとして利用される。一方、学習用データに重みを設定した場合、推定関数生成部123による回帰/判別学習の際に各学習用データに設定された重みが考慮される。
学習用データが統合されると、統合後の学習用データセットを用いて推定機の自動構築処理が実行される。具体的には、学習用データ統合部124から推定関数生成部123に統合後の学習用データセットと、統合後の学習用データセットに含まれる学習用データに対応する特徴量ベクトルとが入力され、推定関数生成部123により推定関数が生成される。また、遺伝アルゴリズムに基づく推定機の構築方法を適用する場合、統合後の学習用データセットを利用して推定関数の生成、寄与率の算出、基底関数リストの更新などの処理が実行される。
以上、推定機構築部12の詳細な機能構成について説明した。
[2−2:学習用データの統合方法]
次に、本実施形態に係る学習用データの統合方法について説明する。ここで説明する学習用データの統合方法は、学習用データ統合部124の機能により実現される。
(2−2−1:特徴量空間における学習用データの分布と推定機の精度)
まず、図17を参照しながら、特徴量空間における学習用データの分布と推定機の精度との関係について考察する。図17は、特徴量空間における学習用データの分布例を示した説明図である。
1つの特徴量ベクトルは、1つの学習用データを構成するデータを基底関数リストに含まれる各基底関数に入力することで得られる。つまり、1つの学習用データには1つの特徴量ベクトル(特徴量座標)が対応する。そのため、特徴量座標の分布を特徴量空間における学習用データの分布と呼ぶことにする。特徴量空間における学習用データの分布は、例えば、図17のようになる。なお、表現の都合上、図17の例では2次元の特徴量空間を考えているが、特徴量空間の次元数はこれに限定されない。
さて、図17に例示した特徴量座標の分布を参照すると、第4象限に疎な領域が存在していることに気づくであろう。既に説明した通り、推定関数は、全ての学習用データについて特徴量ベクトルと目的変数との関係がうまく表現されるように回帰/判別学習により生成される。そのため、特徴量座標の密度が疎な領域について、推定関数は、特徴量ベクトルと目的変数との関係をうまく表現できていない可能性が高い。従って、認識処理の対象となる入力データに対応する特徴量座標が上記の疎な領域に位置する場合、高精度の認識結果を期待することは難しい。
図18に示すように、学習用データの数が多くなると疎な領域が生じにくくなり、どの領域に対応する入力データが入力されても高い精度で認識結果を出力することが可能な推定機を構築できるようになると期待される。また、学習用データの数が比較的少なくても、特徴量座標が特徴量空間において満遍なく分布していれば、高い精度で認識結果を出力することが可能な推定機を構築できるものと期待される。そこで、本件発明者は、学習用データを統合する際に特徴量座標の分布を考慮し、統合後の学習用データセットに対応する特徴量座標の分布が所定の分布(例えば、一様分布やガウス分布など)となるように調整する仕組みを考案した。
(2−2−2:データ統合時にサンプリングする構成)
まず、図19を参照しながら、学習用データをサンプリングする方法について説明する。図19は、学習用データをサンプリングする方法について説明するための説明図である。
既に説明したように、オンライン学習を適用する場合、逐次的に学習用データを追加できるため、多量の学習用データを用いて推定機を構築することが可能になる。しかし、情報処理装置10のメモリリソースが限られている場合、学習用データの統合時に、推定機の構築に利用する学習用データの数を絞り込む必要がある。このとき、ランダムに学習用データを間引くのではなく、特徴量座標の分布を考慮して学習用データを間引くことで、推定機の精度を低下させることなく、学習用データの数を絞り込むことができる。例えば、図19に示すように、密な領域に含まれる特徴量座標を多く間引き、疎な領域に含まれる特徴量座標を極力残すようにする。
このような方法で学習用データを間引くことにより、統合後の学習用データセットに対応する特徴量座標の密度が均一になる。つまり、学習用データの数は少なくなったが、特徴量空間の全体に満遍なく特徴量座標が分布しているため、推定関数の生成時に実行する回帰/判別学習の際に特徴量空間の全体が考慮されることになる。その結果、情報処理装置10のメモリリソースが限られていても、高い精度で正しい認識結果を推定することが可能な推定機を構築することが可能になる。
(2−2−3:データ統合時に重み付けする構成)
次に、学習用データに重みを設定する方法について説明する。
情報処理装置10のメモリリソースが限られている場合、学習用データの統合時に学習用データを間引く方法は有効である。一方、メモリリソースに余裕がある場合、学習用データを間引く代わりに、学習用データに重みを設定することで推定機の性能を向上させることが可能になる。例えば、疎な領域に特徴量座標が含まれる学習用データには大きな重みを設定し、密な領域に特徴量座標が含まれる学習用データには小さな重みを設定する。そして、推定関数の生成時に実行する回帰/判別学習の際に各学習用データに設定された重みを考慮するようにする。
(2−2−4:データ統合時にサンプリング及び重み付けする構成)
また、学習用データをサンプリングする方法と、学習用データに重みを設定する方法とを組み合わせてもよい。例えば、特徴量座標の分布が所定の分布となるように学習用データを間引いた後、間引き後の学習用データセットに含まれる学習用データに対し、特徴量座標の密度に応じた重みを設定する。このように、間引き処理と重み付け処理とを組み合わせることにより、メモリリソースが限られていても、より高精度の推定機を構築することが可能になる。
[2−3:効率的なサンプリング/重み付け方法]
次に、学習用データの効率的なサンプリング/重み付け方法について説明する。
(2−3−1:サンプリング方法)
まず、図20を参照しながら、学習用データの効率的なサンプリング方法について説明する。図20は、学習用データの効率的なサンプリング方法について説明するための説明図である。
図20に示すように、情報処理装置10は、特徴量計算部122の機能により、全ての学習用データについて特徴量ベクトル(特徴量座標)を算出する(S201)。次いで、情報処理装置10は、特徴量計算部122の機能により、算出した特徴量座標を正規化する(S202)。例えば、特徴量計算部122は、図21に示すように、各特徴量について、分散が1、平均が0となるように値を正規化する。このようにして正規化された特徴量座標は、学習用データ統合部124に入力される。
次いで、情報処理装置10は、学習用データ統合部124の機能により、ランダムにハッシュ関数gを生成する(S203)。例えば、学習用データ統合部124は、下記の式(1)に示すような5ビットの値を出力するハッシュ関数gを複数生成する。このとき、学習用データ統合部124は、Q個のハッシュ関数g(q=1〜Q)を生成する。但し、関数h(j=1〜5)は、下記の式(2)により定義される。また、d及びThresholdは、乱数により決定される。
但し、特徴量座標の分布を一様分布に近づける場合、Thresholdの決定に用いる乱数として一様乱数を用いる。また、特徴量座標の分布をガウス分布に近づける場合、Thresholdの決定に用いる乱数としてガウス乱数を用いる。他の分布についても同様である。また、dの決定は、zの算出に用いた基底関数の寄与率に応じた偏りのある乱数を用いて行われる。例えば、zの算出に用いた基底関数の寄与率が大きいほど、dの発生する確率が高くなる乱数が用いられる。
ハッシュ関数g(q=1〜Q)を生成すると、学習用データ統合部124は、各学習用データに対応する特徴量ベクトルZをハッシュ関数gに入力し、ハッシュ値を算出する。そして、学習用データ統合部124は、算出したハッシュ値に基づいて学習用データをバケットに割り当てる(S204)。但し、ここで言うバケットとは、ハッシュ値として取り得る値が対応付けられた領域を意味する。
例えば、ハッシュ値が5ビット、Q=256の場合について考えてみよう。この場合、バケットの構成は図22のようになる。図22に示すように、ハッシュ値が5ビットであるから、1つのハッシュ関数gに対し、32個のバケット(以下、バケットセット)が設けられる。また、Q=256であるから、256組のバケットセットが設けられる。この例に沿って、学習用データをバケットに割り当てる方法について説明する。
ある学習用データに対応する特徴量ベクトルZが与えられると、256個のハッシュ関数g〜g256を用いて256個のハッシュ値が算出される。例えば、g(Z)=2(10進数表示)であった場合、学習用データ統合部124は、その学習用データをgに対応するバケットセットの中で2に対応するバケットに割り当てる。同様に、g(Z)(q=2〜256)を算出し、各値に対応するバケットに学習用データを割り当てる。図22の例では、2種類の学習用データを白丸と黒丸とで表現し、各バケットとの対応関係を模式的に表現している。
このようにして各学習用データをバケットに割り当てると、学習用データ統合部124は、所定の順序でバケットから学習用データを1つ選択する(S205)。例えば、学習用データ統合部124は、図23に示すように、左上(ハッシュ関数のインデックスqが小さく、バケットに割り当てられた値が小さい側)から順にバケットを走査し、バケットに割り当てられた学習用データを1つ選択する。
バケットから学習用データを選択するルールは、図24に示した通りである。第1に、学習用データ統合部124は、空のバケットをスキップする。第2に、学習用データ統合部124は、1つの学習用データを選択した場合、同じ学習用データを他の全てのバケットから除く。第3に、学習用データ統合部124は、1つのバケットに複数の学習用データが割り当てられている場合にはランダムに1つの学習用データを選択する。なお、選択された学習用データの情報は、学習用データ統合部124により保持される。
1つの学習用データを選択した後、学習用データ統合部124は、所定数の学習用データを選択し終えたか否かを判定する(S206)。所定数の学習用データを選択し終えた場合、学習用データ統合部124は、選択した所定数の学習用データを統合後の学習用データセットとして出力し、学習用データの統合に係る一連の処理を終了する。一方、所定数の学習用データを選択し終えていない場合、学習用データ統合部124は、処理をステップS205に進める。
以上、学習用データの効率的なサンプリング方法について説明した。なお、特徴量空間と上記のバケットとの対応関係は図25に示したイメージ図のようになる。また、上記の方法により学習用データのサンプリングを行った結果は、例えば、図26(一様分布の例)のようになる。図26を参照すると、疎な領域に含まれる特徴量座標は残り、密な領域に含まれる特徴量座標が間引かれていることが分かる。なお、上記のバケットを利用しない場合、学習用データのサンプリングに要する演算負荷は格段に大きくなる点に注意されたい。
(2−3−2:重み付け方法)
次に、図27を参照しながら、学習用データの効率的な重み付け方法について説明する。図27は、学習用データの効率的な重み付け方法について説明するための説明図である。
図27に示すように、情報処理装置10は、特徴量計算部122の機能により、全ての学習用データについて特徴量ベクトル(特徴量座標)を算出する(S211)。次いで、情報処理装置10は、特徴量計算部122の機能により、算出した特徴量座標を正規化する(S212)。例えば、特徴量計算部122は、図21に示すように、各特徴量について、分散が1、平均が0となるように値を正規化する。このようにして正規化された特徴量座標は、学習用データ統合部124に入力される。
次いで、情報処理装置10は、学習用データ統合部124の機能により、ランダムにハッシュ関数gを生成する(S213)。例えば、学習用データ統合部124は、上記の式(1)に示すような5ビットの値を出力するハッシュ関数gを複数生成する。このとき、学習用データ統合部124は、Q個のハッシュ関数g(q=1〜Q)を生成する。但し、関数h(j=1〜5)は、上記の式(2)により定義される。また、d及びThresholdは、乱数により決定される。
但し、特徴量座標の分布を一様分布に近づける場合、Thresholdの決定に用いる乱数として一様乱数を用いる。また、特徴量座標の分布をガウス分布に近づける場合、Thresholdの決定に用いる乱数としてガウス乱数を用いる。他の分布についても同様である。また、dの決定は、zの算出に用いた基底関数の寄与率に応じた偏りのある乱数を用いて行われる。例えば、zの算出に用いた基底関数の寄与率が大きいほど、dの発生する確率が高くなる乱数が用いられる。
ハッシュ関数g(q=1〜Q)を生成すると、学習用データ統合部124は、各学習用データに対応する特徴量ベクトルZをハッシュ関数gに入力し、ハッシュ値を算出する。そして、学習用データ統合部124は、算出したハッシュ値に基づいて学習用データをバケットに割り当てる(S214)。次いで、学習用データ統合部124は、各学習用データについて密度を算出する(S215)。例えば、図28に示すように、学習用データがバケットに割り当てられているものとしよう。また、白丸で表現された学習用データに注目する。
この場合、学習用データ統合部124は、まず、各ハッシュ関数に対応するバケットセットについて、白丸を含むバケットに割り当てられている学習用データの数をカウントする。例えば、ハッシュ関数gに対応するバケットセットを参照すると、白丸を含むバケットに割り当てられている学習用データの数は1である。同様に、ハッシュ関数gに対応するバケットセットを参照すると、白丸を含むバケットに割り当てられている学習用データの数は2である。学習用データ統合部124は、ハッシュ関数g〜g256に対応するバケットセットについて、白丸を含むバケットに割り当てられている学習用データの数をカウントする。
そして、学習用データ統合部124は、カウントした数の平均値を算出し、算出した平均値を白丸に対応する学習用データの密度とみなす。同様にして、学習用データ統合部124は、全ての学習用データの密度を算出する。なお、各学習用データの密度は図29のB図のように表現される。但し、色が濃い部分の密度が高く、色が薄い部分の密度が低い。
さて、全ての学習用データについて密度を算出し終えると、学習用データ統合部124は、処理をステップS217に進める(S216)。ステップS217に処理を進めた場合、学習用データ統合部124は、算出した密度から各学習用データに設定する重みを算出する(S217)。例えば、学習用データ統合部124は、密度の逆数を重みに設定する。なお、各学習用データに設定される重みの分布は図30のB図のように表現される。但し、色が濃い部分の重みが大きく、色が薄い部分の重みが小さい。図30を参照すると、密な領域の重みが小さく、疎な領域の重みが大きくなっていることが分かるであろう。
上記のようにして各学習用データに設定する重みを算出し終えると、学習用データ統合部124は、重み付けに係る一連の処理を終了する。以上、学習用データの効率的な重み付け方法について説明した。なお、上記のバケットを利用しない場合、学習用データの重み付けに要する演算負荷は格段に大きくなる点に注意されたい。
(2−3−3:組み合わせ方法)
次に、図31を参照しながら、上記の効率的なサンプリング方法と効率的な重み付け方法とを組み合わせる方法について説明する。図31は、上記の効率的なサンプリング方法と効率的な重み付け方法とを組み合わせる方法について説明するための説明図である。
図31に示すように、学習用データ統合部124は、まず、学習用データのサンプリング処理を実行する(S221)。このサンプリング処理は、図20に示した処理の流れに沿って実行される。そして、所定数の学習用データが得られると、学習用データ統合部124は、得られた学習用データを対象に重み付け処理を実行する(S222)。この重み付け処理は、図27に示した処理の流れに沿って実行される。なお、サンプリング処理の際に算出した特徴量ベクトルやハッシュ関数を流用してもよい。サンプリング処理及び重み付け処理を実行し終えると、学習用データ統合部124は、一連の処理を終了する。
以上、学習用データの効率的なサンプリング/重み付け方法について説明した。なお、ここでは特徴量座標の分布を効率的に所定の分布に近づけるための効率的なサンプリング/重み付け方法について説明したが、バケットを利用したデータのサンプリング/重み付け方法の適用範囲はこれに限定されない。例えば、任意のデータ群について、ハッシュ関数に基づくバケットへのデータ割り当てを行い、バケットから図24に示したルールに従ってデータをサンプリングすることにより、任意のデータ群の分布を効率的に所定の分布に近づけることができようになる。重み付け処理についても同様である。
[2−4:サンプリング処理及び重み付け処理に関する変形例]
次に、サンプリング処理及び重み付け処理に関する変形例を紹介する。
(2−4−1:変形例1(距離に基づく処理))
まず、図32を参照しながら、特徴量座標間の距離に基づく学習用データのサンプリング方法について説明する。図32は、特徴量座標間の距離に基づく学習用データのサンプリング方法について説明するための説明図である。
図32に示すように、学習用データ統合部124は、まず、ランダムに1つの特徴量座標を選択する(S231)。次いで、学習用データ統合部124は、インデックスjを1に初期化する(S232)。次いで、学習用データ統合部124は、未だ選択されてないJ個の特徴量座標の中からj番目の特徴量座標を対象座標に設定する(S233)。次いで、学習用データ統合部124は、既に選択された全ての特徴量座標と対象座標との距離Dを算出する(S234)。次いで、学習用データ統合部124は、算出した距離Dの最小値Dminを抽出する(S235)。
次いで、学習用データ統合部124は、j=Jであるか否かを判定する(S236)。j=Jである場合、学習用データ統合部124は、処理をステップS237に進める。一方、j≠Jである場合、学習用データ統合部124は、処理をステップS233に進める。処理をステップS237に進めた場合、学習用データ統合部124は、最小値Dminが最大となる対象座標(特徴量座標)を選択する(S237)。次いで、学習用データ統合部124は、ステップS231及びS237において選択された特徴量座標の数が所定数に達したか否かを判定する(S238)。
ステップS231及びS237において選択された特徴量座標の数が所定数に達した場合、学習用データ統合部124は、選択された特徴量座標に対応する学習用データを統合後の学習用データセットとして出力し、一連の処理を終了する。一方、ステップS231及びS237において選択された特徴量座標の数が所定数に達していない場合、学習用データ統合部124は、処理をステップS232に進める。
以上、特徴量座標間の距離に基づく学習用データのサンプリング方法について説明した。
(2−4−2:変形例2(クラスタリングに基づく処理))
次に、クラスタリングに基づく学習用データのサンプリング/重み付け方法について説明する。なお、以下ではサンプリング方法及び重み付け方法についてそれぞれ別々に説明するが、これらの方法を組み合わせてもよい。
(学習用データの選択)
まず、図33を参照しながら、クラスタリングに基づく学習用データのサンプリング方法について説明する。図33は、クラスタリングに基づく学習用データのサンプリング方法について説明するための説明図である。
図33に示すように、まず、学習用データ統合部124は、特徴量ベクトルを所定数のクラスタに分類する(S241)。クラスタリング手法としては、例えば、k−means法や階層的クラスタリングなどの手法が利用可能である。次いで,学習用データ統合部124は、各クラスタから順に1つずつ特徴量ベクトルを選択する(S242)。そして、学習用データ統合部124は、選択した特徴量ベクトルに対応する学習用データの組を統合後の学習用データセットとして出力し、一連の処理を終了する。
(重みの設定)
次に、図34を参照しながら、クラスタリングに基づく学習用データの重み付け方法について説明する。図34は、クラスタリングに基づく学習用データの重み付け方法について説明するための説明図である。
図34に示すように、まず、学習用データ統合部124は、特徴量ベクトルを所定数のクラスタに分類する(S251)。クラスタリング手法としては、例えば、k−means法や階層的クラスタリングなどの手法が利用可能である。次いで,学習用データ統合部124は、各クラスタの要素数をカウントし、要素数の逆数を算出する(S252)。そして、学習用データ統合部124は、算出した要素数の逆数を重みとして出力し、一連の処理を終了する。
以上、クラスタリングに基づく学習用データのサンプリング/重み付け方法について説明した。
(2−4−3:変形例3(密度推定手法に基づく処理))
次に、密度推定手法に基づく学習用データのサンプリング/重み付け方法について説明する。なお、以下ではサンプリング方法及び重み付け方法についてそれぞれ別々に説明するが、これらの方法を組み合わせてもよい。
(学習用データの選択)
まず、図35を参照しながら、密度推定手法に基づく学習用データのサンプリング方法について説明する。図35は、密度推定手法に基づく学習用データのサンプリング方法について説明するための説明図である。
図35に示すように、まず、学習用データ統合部124は、特徴量座標の密度をモデル化する(S261)。密度のモデル化には、例えば、GMM(Gaussian Mixture Model)などの密度推定手法が利用される。次いで、学習用データ統合部124は、構築したモデルに基づいて各特徴量座標の密度を算出する(S262)。次いで、学習用データ統合部124は、未だ選択されていない特徴量座標の中から、密度の逆数に比例する確率でランダムに特徴量座標を選択する(S263)。
次いで、学習用データ統合部124は、所定数の特徴量座標を選択したか否かを判定する(S264)。所定数の特徴量座標を選択していない場合、学習用データ統合部124は、処理をステップS263に進める。一方、所定数の特徴量座標を選択した場合、学習用データ統合部124は、選択した特徴量座標に対応する学習用データの組を統合後の学習用データセットとして出力し、一連の処理を終了する。
(重みの設定)
次に、図36を参照しながら、密度推定手法に基づく学習用データの重み付け方法について説明する。図36は、密度推定手法に基づく学習用データの重み付け方法について説明するための説明図である。
図36に示すように、まず、学習用データ統合部124は、特徴量座標の密度をモデル化する(S271)。密度のモデル化には、例えば、GMMなどの密度推定手法が利用される。次いで、学習用データ統合部124は、構築したモデルに基づいて各特徴量座標の密度を算出する(S272)。そして、学習用データ統合部124は、算出した密度の逆数を重みに設定し、一連の処理を終了する。
以上、密度推定手法に基づく学習用データのサンプリング/重み付け方法について説明した。
<3:応用例>
次に、本実施形態に係る技術の応用例について説明する。なお、本実施形態に係る技術の応用範囲は広く、画像データの識別機、テキストデータの識別機、音声データの識別機、信号データの識別機など、様々な識別器や解析機の自動構築に応用することができる。ここでは一例として、画像認識機の自動構築方法への応用及び言語解析機の自動構築方法への応用について紹介する。
[3−1:画像認識機の自動構築方法]
まず、図37を参照しながら、画像認識機の自動構築方法への応用について述べる。図37は、画像認識機の構築に利用する学習用データセットの生成方法について説明するための説明図である。なお、ここで言う画像認識機とは、例えば、画像を入力すると、その画像が“花”の画像なのか、“空”の画像なのか、或いは、“寿司”の画像なのかなどを自動認識するアルゴリズムのことを意味する。
上記の説明においては、データXと目的変数tとで構成される学習用データが与えられるものとして説明を進めてきた。しかし、オンライン学習を想定する場合、学習用データセットは、例えば、Webサービスをクローリングして得られる情報(以下、取得情報)から自動的に生成されることが望ましい。例えば、図37のA図に示すような取得情報が得られたとする。この取得情報は、画像と、画像に付与されたタグとにより構成される。例えば、入力された画像が“花”の画像であるか否かを認識する画像認識機を構築する場合、情報処理装置10は、タグに“花”が含まれる画像に対して目的変数t=1を割り当て、それ以外の画像に対して目的変数t=0を割り当てる(B図を参照)。
同様に、入力された画像が“空”の画像であるか否かを認識する画像認識機を構築する場合、情報処理装置10は、タグに“空”が含まれる画像に対して目的変数t=1を割り当て、それ以外の画像に対して目的変数t=0を割り当てる(C図を参照)。また、入力された画像が“寿司”の画像であるか否かを認識する画像認識機を構築する場合、情報処理装置10は、タグに“寿司”が含まれる画像に対して目的変数t=1を割り当て、それ以外の画像に対して目的変数t=0を割り当てる(D図を参照)。このようにタグを利用することにより、所望の画像認識機の構築に利用可能な学習用データセットを生成することができる。
なお、学習用データセットが生成できると、既に説明した学習用データの統合処理及び推定機の構築処理を実行することにより、画像認識機(推定値yから認識結果を得る手段)に利用される推定機(推定値yの算出手段)を自動構築することができる。以上、画像認識機の自動構築方法への応用について説明した。
[3−2:言語解析機の自動構築方法]
次に、図38を参照しながら、言語解析機の自動構築方法への応用について述べる。図38は、言語解析機の構築に利用する学習用データセットの生成方法について説明するための説明図である。なお、ここで言う言語解析機とは、例えば、文を入力すると、その文が“政治”に関する文なのか、“経済”に関する文なのか、或いは、“芸能”に関する文なのかなどを自動認識するアルゴリズムのことを意味する。
上記の説明においては、データXと目的変数tとで構成される学習用データが与えられるものとして説明を進めてきた。しかし、オンライン学習を想定する場合、学習用データセットは、例えば、Webサービスをクローリングして得られる情報(取得情報)から自動的に生成されることが望ましい。例えば、図38のA図に示すような取得情報が得られたとする。この取得情報は、文と、文に付与されたタグとにより構成される。例えば、入力された文が“政治”に関する文であるか否かを認識する言語解析機を構築する場合、情報処理装置10は、タグが“政治”の文に対して目的変数t=1を割り当て、それ以外の文に対して目的変数t=0を割り当てる(B図を参照)。
同様に、入力された文が“経済”に関する文であるか否かを認識する言語解析機を構築する場合、情報処理装置10は、タグが“経済”の文に対して目的変数t=1を割り当て、それ以外の文に対して目的変数t=0を割り当てる(C図を参照)。このようにタグを利用することにより、所望の言語解析機の構築に利用可能な学習用データセットを生成することができる。なお、学習用データセットが生成できると、既に説明した学習用データの統合処理及び推定機の構築処理を実行することにより、言語解析機(推定値yから認識結果を得る手段)に利用される推定機(推定値yの算出手段)を自動構築することができる。
(オンライン学習の効果について)
上記の言語解析機の自動構築方法を用いて実験を行った。その実験結果を図39に示す。図39に示したグラフの横軸は経過時間(単位は日)であり、縦軸は平均F値(Average F−Measures)である。また、実線(Online,1k)及び破線(Online,4k)は、オンライン学習による学習用データセットの逐次更新を続けた場合の実験結果を示している。一方、鎖線(Online,1k)及び一点鎖線(Online,4k)は、オフライン学習による実験結果を示している。なお、1kは、推定機の構築に利用する学習用データの数を1000個に設定したことを示している。一方、4kは、推定機の構築に利用する学習用データの数を4000個に設定したことを示している。
図39から明らかなように、推定機の構築に利用する学習用データの数が多いほど高精度の推定機が得られている。また、オフライン学習の場合はすぐに精度が頭打ちになるが、オンライン学習を行った場合には時間の経過に伴って精度が向上していくことが分かる。そして、ある程度の時間が経過した後、オンライン学習の結果は、オフライン学習の結果に比べて格段に良い結果となっている。この実験結果から、オンライン学習による学習用データセットの更新を行うことで推定機の高精度化を実現できることが明らかとなった。なお、ここでは言語解析機の自動構築方法について実験結果を示したが、他の認識機の自動構築方法についても同様の効果が期待される。
(効果のまとめ)
上記のように、オンライン学習が可能になることで推定機の精度を向上させることができる。また、推定機の構築手法として、例えば、特開2009−48266号公報、特願2010−159598号明細書、特願2010−159597号明細書、特願2009−277083号明細書、特願2009−277084号明細書などに記載のアルゴリズムなど、様々な方法が適用可能である。そのため、様々な種類の認識機について精度の向上を図ることができる。また、Webサービスなどから取得した取得情報を利用して学習用データセットを自動生成する仕組みを設けることで、メンテナンスフリーで継続的に推定機の精度向上が図れる。また、学習用データセットを逐次更新することにより、常に新しい学習用データセットから推定機が構築されるため、新しいタグの登場や時代の変遷に伴うタグの意味変化などにも柔軟に対応することが可能になる。
<4:ハードウェア構成例>
上記の情報処理装置10が有する各構成要素の機能は、例えば、図40に示すハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図40に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図40に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
以上、ハードウェア構成例について説明した。
<5:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、PC、携帯電話、ゲーム機、情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。
上記の情報処理装置の機能構成は以下のように表現することができる。例えば、下記(1)に記載の情報処理装置は、特徴量空間における特徴量座標の分布が所定の分布に近づくように特徴量座標の分布を調整する。具体的には、下記(2)に記載のように、特徴量座標の分布が所定の分布に近づくように学習用データを間引いたり、或いは、下記(3)に記載のように、各学習用データに重みを付けたりする処理が行われる。もちろん、下記(4)に示すように、間引き処理と重み付け処理とを組み合わせることも可能である。このような方法で特徴量空間における特徴量座標の分布を所定の分布(例えば、一様分布やガウス分布)に近づけることにより、推定機の性能をより向上させることが可能になる。
(1)
入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出部と、
特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整部と、
複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成部と、
を備える、
情報処理装置。
(2)
前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記学習用データを間引く、
上記(1)に記載の情報処理装置。
(3)
前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記各学習用データに対して重み付けする、
上記(1)に記載の情報処理装置。
(4)
前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように、前記学習用データを間引き、かつ、間引き後に残った学習用データの各々に対して重み付けする、
上記(1)に記載の情報処理装置。
(5)
前記所定の分布は、一様分布又はガウス分布である、
上記(1)〜(4)のいずれか1項に記載の情報処理装置。
(6)
前記分布調整部は、追加的に新たな学習用データが与えられた場合に、当該新たな学習用データと既存の学習用データとを含む学習用データ群を対象に、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記学習用データを間引く、
上記(2)又は(4)に記載の情報処理装置。
(7)
予め用意された複数の関数を組み合わせて前記基底関数を生成する基底関数生成部をさらに備える、
上記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)
前記基底関数生成部は、遺伝的アルゴリズムに基づいて前記基底関数を更新し、
前記特徴量ベクトル算出部は、前記基底関数が更新された場合に、更新後の前記基底関数に前記入力データを入力して特徴量ベクトルを算出し、
前記関数生成部は、前記更新後の基底関数を用いて算出された特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する、
上記(7)に記載の情報処理装置。
(9)
入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出するステップと、
特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整するステップと、
複数の前記学習用データについて、前記特徴量ベクトルの入力に対して前記目的変数の推定値を出力する推定関数を生成するステップと、
を含む、
推定機生成方法。
(10)
入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出機能と、
特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整機能と、
複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成機能と、
をコンピュータに実現させるためのプログラム。
(備考)
上記の特徴量計算部122は、特徴量ベクトル算出部の一例である。上記の学習用データ統合部124は、分布調整部の一例である。上記の推定関数生成部123は、関数生成部の一例である。上記の基底関数リスト生成部121は、基底関数生成部の一例である。
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
10 情報処理装置
11 学習用データ取得部
12 推定機構築部
121 基底関数リスト生成部
122 特徴量計算部
123 推定関数生成部
124 学習用データ統合部
13 入力データ取得部
14 結果認識部

Claims (10)

  1. 入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出部と、
    特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整部と、
    複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成部と、
    を備える、
    情報処理装置。
  2. 前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記学習用データを間引く、
    請求項1に記載の情報処理装置。
  3. 前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記各学習用データに対して重み付けする、
    請求項1に記載の情報処理装置。
  4. 前記分布調整部は、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように、前記学習用データを間引き、かつ、間引き後に残った学習用データの各々に対して重み付けする、
    請求項1に記載の情報処理装置。
  5. 前記所定の分布は、一様分布又はガウス分布である、
    請求項1に記載の情報処理装置。
  6. 前記分布調整部は、追加的に新たな学習用データが与えられた場合に、当該新たな学習用データと既存の学習用データとを含む学習用データ群を対象に、特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように前記学習用データを間引く、
    請求項2に記載の情報処理装置。
  7. 予め用意された複数の関数を組み合わせて前記基底関数を生成する基底関数生成部をさらに備える、
    請求項1に記載の情報処理装置。
  8. 前記基底関数生成部は、遺伝的アルゴリズムに基づいて前記基底関数を更新し、
    前記特徴量ベクトル算出部は、前記基底関数が更新された場合に、更新後の前記基底関数に前記入力データを入力して特徴量ベクトルを算出し、
    前記関数生成部は、前記更新後の基底関数を用いて算出された特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する、
    請求項7に記載の情報処理装置。
  9. 入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出するステップと、
    特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整するステップと、
    複数の前記学習用データについて、前記特徴量ベクトルの入力に対して前記目的変数の推定値を出力する推定関数を生成するステップと、
    を含む、
    推定機生成方法。
  10. 入力データ及び当該入力データに対応する目的変数で構成される複数の学習用データが与えられた場合に、複数の基底関数に前記入力データを入力して、前記各基底関数の出力値を要素とする特徴量ベクトルを算出する特徴量ベクトル算出機能と、
    特徴量空間において前記特徴量ベクトルにより特定される点の分布が所定の分布に近づくように当該点の分布を調整する分布調整機能と、
    複数の前記学習用データについて、前記特徴量ベクトルの入力に応じて前記目的変数の推定値を出力する推定関数を生成する関数生成機能と、
    をコンピュータに実現させるためのプログラム。
JP2011196300A 2011-09-08 2011-09-08 情報処理装置、推定機生成方法、及びプログラム Expired - Fee Related JP5909943B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011196300A JP5909943B2 (ja) 2011-09-08 2011-09-08 情報処理装置、推定機生成方法、及びプログラム
US13/591,520 US20130066452A1 (en) 2011-09-08 2012-08-22 Information processing device, estimator generating method and program
CN201210320527.3A CN103177177B (zh) 2011-09-08 2012-08-31 信息处理设备和估计器生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011196300A JP5909943B2 (ja) 2011-09-08 2011-09-08 情報処理装置、推定機生成方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2013058095A true JP2013058095A (ja) 2013-03-28
JP2013058095A5 JP2013058095A5 (ja) 2014-09-25
JP5909943B2 JP5909943B2 (ja) 2016-04-27

Family

ID=48133934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011196300A Expired - Fee Related JP5909943B2 (ja) 2011-09-08 2011-09-08 情報処理装置、推定機生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5909943B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084175A (ja) * 2011-10-12 2013-05-09 Sony Corp 情報処理装置、情報処理方法、及びプログラム
WO2019184777A1 (zh) * 2018-03-30 2019-10-03 腾讯科技(深圳)有限公司 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质
WO2020179378A1 (ja) * 2019-03-04 2020-09-10 日本電気株式会社 情報処理システム、情報処理方法および記録媒体
JP7270894B1 (ja) * 2022-12-09 2023-05-11 株式会社Creator’s NEXT 新規な作風のデジタルデータの特定
JP7494001B2 (ja) 2020-05-14 2024-06-03 株式会社日立製作所 学習データセット作成支援装置および学習データセット作成支援方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200044A (ja) * 2006-01-26 2007-08-09 Matsushita Electric Works Ltd 異常検出方法及び異常検出装置
JP2008123011A (ja) * 2005-10-25 2008-05-29 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2009301557A (ja) * 2009-07-21 2009-12-24 Nec Corp 学習システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123011A (ja) * 2005-10-25 2008-05-29 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2007200044A (ja) * 2006-01-26 2007-08-09 Matsushita Electric Works Ltd 異常検出方法及び異常検出装置
JP2009301557A (ja) * 2009-07-21 2009-12-24 Nec Corp 学習システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
上田修功: "アンサンブル学習", 情報処理学会論文誌 コンピュータビジョンとイメージメディア, vol. 第46巻,第SIG15CVIM1号, JPN6015044166, 15 October 2005 (2005-10-15), JP, pages 11 - 20, ISSN: 0003187488 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084175A (ja) * 2011-10-12 2013-05-09 Sony Corp 情報処理装置、情報処理方法、及びプログラム
WO2019184777A1 (zh) * 2018-03-30 2019-10-03 腾讯科技(深圳)有限公司 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质
US11911702B2 (en) 2018-03-30 2024-02-27 Tencent Technology (Shenzhen) Company Limited AI parameter configuration method and apparatus for racing AI model, AI parameter configuration device, and storage medium
WO2020179378A1 (ja) * 2019-03-04 2020-09-10 日本電気株式会社 情報処理システム、情報処理方法および記録媒体
JPWO2020179378A1 (ja) * 2019-03-04 2020-09-10
JP7259935B2 (ja) 2019-03-04 2023-04-18 日本電気株式会社 情報処理システム、情報処理方法およびプログラム
JP7494001B2 (ja) 2020-05-14 2024-06-03 株式会社日立製作所 学習データセット作成支援装置および学習データセット作成支援方法
JP7270894B1 (ja) * 2022-12-09 2023-05-11 株式会社Creator’s NEXT 新規な作風のデジタルデータの特定

Also Published As

Publication number Publication date
JP5909943B2 (ja) 2016-04-27

Similar Documents

Publication Publication Date Title
CN110580501B (zh) 一种基于变分自编码对抗网络的零样本图像分类方法
Ye Particle swarm optimization-based automatic parameter selection for deep neural networks and its applications in large-scale and high-dimensional data
Yu et al. Hybrid adaptive classifier ensemble
Chiroma et al. Progress on artificial neural networks for big data analytics: a survey
JP4948118B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20130066452A1 (en) Information processing device, estimator generating method and program
Ulhaq et al. Efficient diffusion models for vision: A survey
CN113850281B (zh) 一种基于meanshift优化的数据处理方法和装置
US20240135191A1 (en) Method, apparatus, and system for generating neural network model, device, medium, and program product
JP5909943B2 (ja) 情報処理装置、推定機生成方法、及びプログラム
JP6172317B2 (ja) 混合モデル選択の方法及び装置
Wang et al. Application research of ensemble learning frameworks
Huang et al. On the improvement of reinforcement active learning with the involvement of cross entropy to address one-shot learning problem
CN113330462A (zh) 使用软最近邻损失的神经网络训练
Chen et al. Sample balancing for deep learning-based visual recognition
WO2020170803A1 (ja) 拡張装置、拡張方法及び拡張プログラム
Cao et al. Emotional modelling and classification of a large-scale collection of scene images in a cluster environment
Parker et al. Nonlinear time series classification using bispectrum‐based deep convolutional neural networks
EP4339832A1 (en) Method for constructing ai integrated model, and inference method and apparatus of ai integrated model
Zerrouk et al. Evolutionary algorithm for optimized CNN architecture search applied to real-time boat detection in aerial images
JP5909944B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Chen et al. EGANS: Evolutionary Generative Adversarial Network Search for Zero-Shot Learning
Shen et al. A multiple classifiers time-serial ensemble pruning algorithm based on the mechanism of forward supplement
Mendez-Ruiz et al. SuSana Distancia is all you need: Enforcing class separability in metric learning via two novel distance-based loss functions for few-shot image classification
Fengyu et al. Image segmentation algorithm of Gaussian mixture model based on map/reduce

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140813

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R151 Written notification of patent or utility model registration

Ref document number: 5909943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees