JP5446800B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP5446800B2
JP5446800B2 JP2009277083A JP2009277083A JP5446800B2 JP 5446800 B2 JP5446800 B2 JP 5446800B2 JP 2009277083 A JP2009277083 A JP 2009277083A JP 2009277083 A JP2009277083 A JP 2009277083A JP 5446800 B2 JP5446800 B2 JP 5446800B2
Authority
JP
Japan
Prior art keywords
data
processing method
unit
evaluator
output
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.)
Expired - Fee Related
Application number
JP2009277083A
Other languages
English (en)
Other versions
JP2011118785A (ja
Inventor
由幸 小林
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 JP2009277083A priority Critical patent/JP5446800B2/ja
Priority to EP10189513.4A priority patent/EP2333697B1/en
Priority to US12/954,145 priority patent/US8694447B2/en
Priority to CN201010573715.8A priority patent/CN102147865B/zh
Publication of JP2011118785A publication Critical patent/JP2011118785A/ja
Application granted granted Critical
Publication of JP5446800B2 publication Critical patent/JP5446800B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/036Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal of musical genre, i.e. analysing the style of musical pieces, usually for selection, filtering or classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Multimedia (AREA)
  • Physiology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
近年、定量的に特徴を決定づけることが難しい任意のデータ群から、そのデータ群の特徴量を機械的に抽出する手法に注目が集まっている。例えば、任意の音楽データを入力とし、その音楽データが属する音楽のジャンルを機械的に抽出するアルゴリズムを自動構築する手法が知られている。ジャズ、クラシック、ポップス等、音楽のジャンルは、楽器の種類や演奏形態に応じて定量的に決まるものではない。そのため、これまでは任意の音楽データが与えられたときに、その音楽データから機械的に音楽のジャンルを抽出することは一般的に難しいと考えられていた。
しかし、実際には、音楽データに含まれる音程の組み合わせ、音程の組み合わせ方、楽器の種類の組み合わせ、メロディラインやベースラインの構造等、様々な情報の組み合わせの中に、音楽のジャンルを分ける特徴が潜在的に含まれている。そのため、この特徴を抽出するアルゴリズム(以下、特徴量抽出機)を機械学習により自動構築できないか、という観点から特徴量抽出機の研究が行われた。その研究成果の一つとして、例えば、下記の特許文献1に記載された遺伝アルゴリズムに基づく特徴量抽出機の自動構築方法を挙げることができる。遺伝アルゴリズムとは、生物の進化過程に倣い、機械学習の過程で、選択、交差、突然変異の要素を考慮したものを言う。
同文献に記載の特徴量抽出機自動構築アルゴリズムを利用することにより、任意の音楽データから、その音楽データが属する音楽のジャンルを抽出する特徴量抽出機を自動構築することができるようになる。また、同文献に記載の特徴量抽出機自動構築アルゴリズムは、非常に汎用性が高く、音楽データに限らず、任意のデータ群から、そのデータ群の特徴量を抽出する特徴量抽出機を自動構築することができる。そのため、同文献に記載の特徴量抽出機自動構築アルゴリズムは、音楽データや映像データのような人工的なデータの特徴量解析、自然界に存在する様々な観測量の特徴量解析への応用が期待されている。
特開2009−48266号公報
これまで同文献に記載の特徴量抽出機自動構築アルゴリズムは、ある任意のデータの特徴量を解析する用途を目指して開発が進められてきた。しかし、このような既存データ解析に対する要求がある一方で、既存データから、その既存データと同じ特徴を持つ新規なデータを生成したいという要求もある。例えば、ある画像データから、より解像度の高い新たな画像データを生成したいという要求がある。また、ある種の特徴を持つ画像データから、他の特徴を持つ新たな画像データを生成したいという要求がある。もちろん、画像データに限らず、音楽データや任意の時系列データ等についても、特性や特徴を変化された新たなデータを生成したいという要求がある。
同文献に記載の特徴量抽出機自動構築アルゴリズムは、特徴量抽出機を自動構築するために用いる学習用のデータとして、対象問題の入力データと、その対象問題の解答となる唯1つの出力データとを与える必要がある。そのため、同文献に記載の特徴量抽出機自動構築アルゴリズムは、解答が一意に決まらない対象問題を解いて特徴量を抽出する特徴量抽出機を構築することが難しい。そのため、同文献に記載の特徴量抽出式自動構築アルゴリズムと同様に、遺伝アルゴリズムに基づく機械学習を利用しても、解答が一意に決まらない対象問題を解くアルゴリズムの自動構築は困難である。
例えば、ある生物の動きを予測する動き予測アルゴリズムは、ある時点で観測された生物の動きを入力データとし、その次の時点で観測された生物の動きを出力データとする学習用データに基づいて構築される。しかし、生物の動きにはランダム性があるため、学習用の出力データが正解であるとは言えない。また、綺麗な模様を創作する模様創作アルゴリズムは、ある画像データを入力データとし、その画像データを加工して綺麗な模様にした画像データを出力データとする学習用データに基づいて構築される。しかし、どのような模様が綺麗な模様であるかは一意に決められない。つまり、正解となる出力データが複数存在する。
また、同文献に記載の特徴量抽出機自動構築アルゴリズムで学習に利用可能な出力データはスカラ量に限られる。そのため、同文献に記載の特徴量抽出式自動構築アルゴリズムと同様に、遺伝アルゴリズムに基づく機械学習を利用しても、解答がスカラ量とはならない対象問題を解くアルゴリズムの自動構築は困難である。例えば、画像データを高画質化する高画質化アルゴリズムは、低解像度の画像データを入力データとし、高解像度の画像データを出力データとする学習用データに基づいて構築される。この場合、高解像度の画像データを解像度変換して低解像度の画像データを生成することは容易であるため、出力データ(高解像度の画像データ)を一意に与えることができる。
しかし、出力データは、画像データを構成する複数の画素の画素値により与えられる。そのため、高画質化アルゴリズムにより最適化すべきパラメータが一意に決まらない。つまり、高画質化アルゴリズムにより生成された出力データと、学習用に与えられた出力データとの間の平均誤差を最小化すればよいのか、最大誤差を最小化すればよいのか、平均画素値の誤差を最小化すればよいのか、が自動的に決まらない。仮に、画質の基準を平均誤差に設定し、平均誤差を最小化する高画質化アルゴリズムを構築した場合、高画質化アルゴリズムから出力される出力データは確かに平均誤差が小さくなる。しかし、その出力データは、必ずしも人間が高画質であると感じる画像データにはならない。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、正解が一意に決まらない対象問題や解答がスカラ量ではない対象問題の解答を得ることが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、データの処理方法を準備する処理方法準備部と、データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備部により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価部と、前記処理方法を繰り返し更新し、前記評価部により算出される評価値がより高くなる処理方法を算出する処理方法更新部と、前記処理方法更新部により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力部と、を備える、情報処理装置が提供される。
また、上記の情報処理装置は、データ及び前記データの評価値を含むデータセットを入力するデータセット入力部と、前記データセット入力部により入力された複数のデータセットを利用し、遺伝アルゴリズムに基づく学習処理を実行して前記データから前記評価値を算出する評価機を自動生成する評価機生成部と、をさらに備えていてもよい。
また、上記の情報処理装置は、前記出力部から出力された出力データ、又は、出力データ及び処理方法の組に対するユーザの評価を受け付けるフィードバック取得部をさらに備えていてもよい。この場合、前記評価機生成部は、前記フィードバック取得部によりユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを前記複数のデータセットに追加し、再び前記遺伝アルゴリズムに基づく学習処理を実行して評価機を自動生成する。
また、上記の情報処理装置は、前記処理方法準備部により準備された処理方法、前記処理方法更新部により更新された処理方法で、ユーザにより入力された入力データを処理して出力データを生成するデータ処理部をさらに備えていてもよい。
また、上記の情報処理装置は、前記処理方法準備部により準備された処理方法、前記処理方法更新部により更新された処理方法で、所定の初期データ又はランダムに生成された初期データを処理して出力データを生成するデータ処理部をさらに備えていてもよい。
また、前記処理方法は、ある時刻tより前に観測されたデータから当該時刻tに観測されるデータの予測値を算出する処理方法であり、前記出力部は、少なくとも前記処理方法を出力し、前記情報処理装置は、ある時点の観測値を初期のデータとして利用すると共に、前記出力部により出力された処理方法を繰り返し適用することで、ある時点から将来の時点に至る観測値の時系列データを予測する時系列予測部をさらに備えていてもよい。
また、前記データセット入力部は、データセットを入力せず、前記評価機生成部は、ランダムな処理方法で生成された出力データに対するユーザの評価が得られた場合に、ユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを利用して前記評価機を自動生成するように構成されていてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、データの処理方法を準備する処理方法準備ステップと、データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備ステップにて準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価ステップと、前記処理方法を繰り返し更新し、更新の度に前記評価ステップを実行して、前記評価ステップにて算出される評価値がより高くなる処理方法を算出する処理方法更新ステップと、前記処理方法更新ステップにて算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力ステップと、を含む、情報処理方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、データの処理方法を準備する処理方法準備機能と、データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備機能により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価機能と、前記処理方法を繰り返し更新し、前記評価機能により算出される評価値がより高くなる処理方法を算出する処理方法更新機能と、前記処理方法更新機能により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力機能と、をコンピュータに実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
以上説明したように本発明によれば、正解が一意に決まらない対象問題や解答がスカラ量ではない対象問題の解答を得ることが可能になる。
遺伝アルゴリズムに基づく機械学習により構築した画像のノイズ除去フィルタの一例を示す説明図である。 遺伝アルゴリズムに基づく機械学習により構築した時系列予測アルゴリズムの一例を示す説明図である。 本発明の第1実施形態に係る油絵フィルタ自動構築システムの概要を示す説明図である。 同実施形態に係る情報処理装置(油絵フィルタ自動構築システム)の機能構成を示す説明図である。 同実施形態の一変形例に係る情報処理装置(油絵フィルタ自動構築システム)の機能構成を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで利用されるデータセットの一例を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行される評価機の構築処理の概要を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行される加工方法の評価処理の概要を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行される加工方法の更新処理の概要を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行される加工方法の更新処理の際に行われる突然変異操作を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行されるデータセットの再構築処理の概要を示す説明図である。 同実施形態に係る油絵フィルタ自動構築システムで実行される処理の流れを示す説明図である。 本発明の第2実施形態に係る疑似動き生成機自動構築システムの概要を示す説明図である。 同実施形態に係る情報処理装置(疑似動き生成機自動構築システム)の機能構成を示す説明図である。 同実施形態の一変形例に係る情報処理装置(疑似動き生成機自動構築システム)の機能構成を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで利用される動きデータの一例を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで利用されるデータセットの一例を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される評価機の構築処理の概要を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される疑似動き生成方法の構成を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される評価機の構築処理の概要を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される疑似動き生成方法の更新処理の概要を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される疑似動き生成方法の更新処理の際に行われる突然変異操作を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される疑似動き生成方法の更新処理の際に行われる突然変異操作を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される疑似動き生成方法の更新処理の際に行われる突然変異操作を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行されるデータセットの再構築処理の概要を示す説明図である。 同実施形態に係る疑似動き生成機自動構築システムで実行される処理の流れを示す説明図である。 同実施形態の第1応用例に係る自動作曲機構築システムの概要を示す説明図である。 同実施形態の第2応用例に係る画像・映像自動生成機構築システムの概要を示す説明図である。 本発明の各実施形態に係る情報処理装置の機能を実現することが可能なハードウェア構成例を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 本発明の各実施形態に係る評価機の自動構築方法を示す説明図である。 時系列データの予測アルゴリズムへの応用(応用例3)を示す説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1、図2を参照しながら、特開2009−48266号公報に記載の特徴量抽出機自動構築アルゴリズムを用いて正解が一意に決まらない対象問題や解答がスカラ量ではない対象問題の解答を得ることの困難性について簡単に述べる。
次いで、図3を参照しながら、本発明の第1実施形態に係る油絵フィルタ自動構築システムの概要について説明する。次いで、図4、図5を参照しながら、同実施形態に係る情報処理装置100、150(油絵フィルタ自動構築システム)の機能構成について説明する。また、情報処理装置100、150を構成する各構成要素の機能について、図6〜図12を参照しながら、より詳細に説明する。
次いで、図13を参照しながら、本発明の第2実施形態に係る疑似動き生成機自動システムの概要について説明する。次いで、図14、図15を参照しながら、同実施形態に係る情報処理装置200、250(疑似動き生成機自動構築システム)の機能構成について説明する。また、情報処理装置200、250を構成する各構成要素の機能について、図16〜図26を参照しながら、より詳細に説明する。
次いで、図27を参照しながら、本発明の第3実施形態に係る自動作曲機構築システムについて説明する。次いで、図28を参照しながら、本発明の第4実施形態に係る画像・映像自動生成機構築システムについて説明する。次いで、図29を参照しながら、本発明の第1〜第4実施形態に係るシステムの機能を実現することが可能なハードウェア構成例について説明する。
次いで、図30〜図43を参照しながら、遺伝アルゴリズムに基づく機械学習により、出力データの評価基準を算出するための評価機を自動構築する方法について説明する。次いで、図44を参照しながら、本発明の第1〜第4実施形態に係る技術を時系列データの予測アルゴリズムへと応用する方法について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:はじめに
1−1:出力データがスカラ量ではないアルゴリズムの一例
1−2:正解が一意に決まらないアルゴリズムの一例
2:第1実施形態
2−1:油絵フィルタ自動構築システムの概要
2−2:情報処理装置100、150の機能構成
2−3:油絵風画像の生成方法
3:第2実施形態
3−1:疑似動き生成機自動構築システムの概要
3−2:情報処理装置200、250の機能構成
3−3:疑似動き生成方法
4:第3実施形態(自動作曲機構築システム)
5:第4実施形態(画像・映像自動生成機構築システム)
6:ハードウェア構成例
7:評価機の自動構築方法
8:応用例(時系列データの予測アルゴリズム)
9:まとめ
<1:はじめに>
はじめに、特開2009−48266号公報(文献1)に記載のアルゴリズム自動構築方法により自動構築することが困難なアルゴリズムの一例について述べる。
[1−1:出力データがスカラ量ではないアルゴリズムの一例]
上記文献1に記載のアルゴリズム自動構築方法は、出力データがスカラ量にならないアルゴリズムを自動構築することができない。このようなアルゴリズムの一例として、図1に示すようなノイズ除去フィルタを挙げることができる。このノイズ除去フィルタとは、入力された画像データからノイズを除去する画像処理フィルタのことである。
上記文献1に記載のアルゴリズム自動構築方法を用いてノイズ除去フィルタを構築する場合、学習用画像のデータと、学習量画像にノイズを付加した学習用ノイズ付加画像のデータとを多数用意し、これらのデータを学習アルゴリズムに入力してノイズ除去フィルタの構築を行う。このとき、学習用ノイズ付加画像を構成する各画素の画素値が入力データ、学習用画像を構成する各画素の画素値が出力データとなる。
学習アルゴリズムは、予め用意された複数の画像処理フィルタ1〜nを組み合わせ、フィルタ合成式を生成する。このとき、学習アルゴリズムは、フィルタ合成式に学習用ノイズ付加画像を入力して得られた出力データと、学習用画像との誤差が最小化されるように組み合わせる画像処理フィルタの種類、各画像処理フィルタのパラメータ等を変更しながら最適なフィルタ合成式を生成する。このようにして生成されたフィルタ合成式は、ノイズ除去フィルタを構成する。
しかし、このノイズ除去フィルタにノイズの付加された任意の画像データを入力して得られるノイズ除去後の画像データは、必ずしも画質が向上しているわけではない。例えば、最適なフィルタ合成式を生成する上記処理において、フィルタ合成式に学習用ノイズ付加画像を入力して得られた出力データと学習用画像との平均誤差が最小化されるようにノイズ除去フィルタが構築された場合、両者の平均誤差は小さくなる。しかし、実際に上記のノイズ除去フィルタから出力されるノイズ除去後の画像は、人間の目から見ると高画質化されていないように見えてしまう。
一方、フィルタ合成式を生成する際に最適化する指標(例えば、平均誤差、最大誤差、平均画素値の差)を決めないと、ノイズ除去フィルタとなるフィルタ合成式を生成することができない。従って、上記文献1に記載のアルゴリズム自動構築方法は、ノイズ除去フィルタのように出力データがスカラ量にならないアルゴリズムを自動構築することができない。なお、平均誤差等の最適化指標を指定して生成されたノイズ除去フィルタにより最適なノイズ除去画像が生成されないのは、ある指標に関する最適化が、人間の視覚特性にとって最適化にはなっていないことに起因する。そのため、出力データがスカラ量とはならないアルゴリズムを自動構築するためには、出力データの良否を正しく評価する新たな工夫が必要になる。
後述する実施形態の技術は、このような評価を正しく行えるようにする技術に関する。
[1−2:正解が一意に決まらないアルゴリズムの一例]
また、上記文献1に記載のアルゴリズム自動構築方法は、正しい出力データ(正解)が一意に決まらないアルゴリズムを自動構築することができない。このようなアルゴリズムの一例として、図2に示した時系列予測アルゴリズムを挙げることができる。この時系列予測アルゴリズムとは、与えられた過去に観測された観測値の時系列データから、未来に観測されるであろう観測値の時系列データを予測するアルゴリズムである。
上記文献1に記載のアルゴリズム自動構築方法を用いて時系列予測アルゴリズムを構築する場合、所定時刻以前に観測された観測値と、所定時刻以降に観測された観測値とを多数用意し、これらの観測値を学習アルゴリズムに入力して時系列予測アルゴリズムを構築する。このとき、所定時刻以前に観測された観測値が入力データ、所定時刻以降に観測された観測値が出力データとなる。この場合、学習用の出力データはスカラ量である。しかし、観測量の時系列データが持つ特徴は一意に決まらない。
例えば、生物の動きを観測して得られる観測値の時系列データについて考えてみる。生物の動きにはランダム性(特徴のない動き)が含まれている。そのため、生物がいる位置の動きを観測し、その位置の時系列データが持つ特徴を捉えようとしても、特徴のない動きが含まれるため、その動きを真似る時系列予測アルゴリズムを構築することはできない。つまり、決定論的なアルゴリズムで確率的な動きを表現することはできない。また、図2に示すように、真似る対象(例えば、時間領域で真似るか、周波数領域で真似るか)も一意に定まらない。そのため、正解が一意に決まらないアルゴリズムを自動構築するには、出力データの良否を一意に評価するための新たな工夫が必要になる。
後述する実施形態の技術は、このような評価を正しく行えるようにする技術に関する。
以上説明したように、上記文献1に記載のアルゴリズム自動構築方法は、出力データがスカラ量でない場合や正解が一意に決まらない場合、適切な評価基準が決まらないため、適切な出力データを得られるアルゴリズムを構築することができない。そこで、本件発明者は、適切な評価基準を決める評価機を自動構築又は取得し、その評価機を用いて、出力データがスカラ量でないアルゴリズム、正解が一意に決まらないアルゴリズムを自動生成する方法を考案した。この方法を用いることで、例えば、好適な出力を得られるノイズ除去フィルタや好適な時系列予測アルゴリズム等を自動構築することができる。以下、本発明に係る実施形態について説明する。
<2:第1実施形態>
まず、本発明の第1実施形態について説明する。本実施形態は、油絵フィルタの構築方法に関する。以下、本実施形態に係る油絵フィルタ自動構築システムの概要、当該油絵フィルタ自動構築システムの機能を実現することが可能な情報処理装置100、150の機能構成、及び油絵フィルタによる油絵風画像の生成方法について順次説明する。なお、ここでは油絵フィルタを例に挙げるが、出力データがスカラ量とならない任意のアルゴリズムの自動構築方法及びそのアルゴリズムによる出力データの生成方法に拡張可能である。
[2−1:油絵フィルタ自動構築システムの概要]
まず、図3を参照しながら、本実施形態に係る油絵フィルタ自動構築システムが持つ機能の概要について説明する。図3は、本実施形態に係る油絵フィルタ自動構築システムが持つ機能の概要を示す説明図である。
図3に示すように、油絵フィルタ自動構築システムは、油絵フィルタを自動構築するシステムである。まず、本実施形態に係る油絵フィルタ自動構築システムは、油絵画像、非油絵画像、油絵であるか否かを示す正解情報を含む学習用のデータセットを多数利用し、遺伝アルゴリズムに基づく機械学習を実施して「油絵っぽさ(以下、油絵度)」を出力する評価機を自動生成する。
次いで、油絵フィルタ自動構築システムは、ランダムに画像処理フィルタを組み合わせて第1世代の油絵フィルタを生成する。次いで、油絵フィルタ自動構築システムは、第1世代の油絵フィルタに画像を入力して油絵風画像を生成する。次いで、油絵フィルタ自動構築システムは、生成した油絵風画像を評価機に入力して評価値を算出する。次いで、油絵フィルタ自動構築システムは、評価値が高くなるように、遺伝アルゴリズムに基づいて第1世代の油絵フィルタから第2世代の油絵フィルタを生成する(世代交代)。
油絵フィルタ自動構築システムは、評価機により算出される評価値が所定の終了条件を満たすまで世代交代を繰り返し、所定の終了条件を満たした最終世代の油絵フィルタを出力する。また、油絵フィルタ自動構築システムは、構築した油絵フィルタを利用して変換対象の画像を油絵風画像に変換し、その油絵風画像を出力する。
以上、油絵フィルタ自動構築システムが持つ機能の概要について説明した。上記のように、油絵フィルタ自動構築システムは、遺伝アルゴリズムに基づく機械学習により評価機を生成し、その評価機を用いて油絵度を評価する。そして、油絵フィルタ自動構築システムは、評価機による評価が高くなる油絵フィルタを自動構築する。このような構成にすることで、最適化指標をユーザが指定せずとも、出力データがスカラ量ではない油絵フィルタを適切に構築することが可能になる。
[2−2:情報処理装置100、150の機能構成]
次に、図4、図5を参照しながら、本実施形態に係る情報処理装置100、150の機能構成について説明する。図4は、本実施形態に係る情報処理装置100の機能構成例を示す説明図である。一方、図5は、本実施形態に係る情報処理装置150の機能構成例を示す説明図である。なお、情報処理装置100、150の間で実質的に同じ機能を有する構成要素については同一の符号を付することにより構成要素間の対応関係を明示した。
(情報処理装置100の機能構成)
図4に示すように、情報処理装置100は、主に、評価機構築用データセット入力部102と、評価機構築部104と、加工方法準備部106と、データ加工部108と、加工データ評価部110と、加工方法更新部112と、出力部114とにより構成される。以下、評価機の自動構築処理の流れ、油絵フィルタの自動構築処理の流れ、及び入力画像の加工処理の流れに沿って各構成要素の機能を説明する。なお、後述する加工方法更新部112の処理は、説明の都合上、遺伝アルゴリズムを用いることとするが、例えば、近傍探索、焼きなまし法等、要素を最適化するように更新できる方法であればどのような方法を用いてもよい。
(評価機の自動構築)
まず、評価機構築用データセット入力部102は、学習用のデータセット(以下、評価機構築用データセット)を取得し、評価機構築部104に入力する。評価機構築用データセット入力部102は、外部の機器からネットワークを介して評価機構築用データセットを取得していてもよいし、情報処理装置100に内蔵された記録装置(非図示)から評価機構築用データセットを取得してもよい。さらに、評価機構築用データセット入力部102は、ユーザが正解情報を手入力するための入力デバイスに接続されていてもよい。
また、評価機構築用データセットは、例えば、図6に示すように、複数の学習用画像と、その学習用画像が油絵か否かを示す正解情報とにより構成される。このような評価機構築用データセットが入力されると、評価機構築部104は、遺伝アルゴリズムに基づく機械学習により評価機を構築する。なお、評価機の構築アルゴリズムの詳細については後述する。ここでは、図7を参照しながら、評価機の構築アルゴリズムの概要についてのみ簡単に説明する。図7に示すように、評価機は、予め用意された複数の処理関数を組み合わせて生成される特徴量抽出式の結合(例えば、線形結合)により構成される。
まず、評価機構築部104は、スカラ量が算出されるような複数の特徴量抽出式(第1世代の特徴量抽出式リスト)を生成する。次いで、評価機構築部104は、評価機構築用データセットに含まれる学習用画像を入力値xとし、その入力値xを第1世代の特徴量抽出式リストの各特徴量抽出式に入力して複数の特徴量を算出する。次いで、評価機構築部104は、複数の特徴量及び評価機構築用データセットに含まれる正解情報(例えば、油絵=1、非油絵=0)を利用し、遺伝アルゴリズムに基づく機械学習を実行して第1世代の評価式を生成する。また、評価機構築部104は、特徴量抽出式毎に評価式への寄与率を算出する。
例えば、評価式が特徴量抽出式の線形結合で表現される場合、評価機構築部104は、各特徴量抽出式の結合係数に基づいて評価式への寄与率を特徴量抽出式毎に算出する。次いで、評価機構築部104は、評価式への寄与率に基づいて終了条件を判定し、終了条件を満たした場合、その評価式を評価機として出力する。一方、終了条件を満たさない場合、評価機構築部104は、評価式に含まれる特徴量抽出式を第2世代の特徴量抽出式とし、寄与率の高い特徴量抽出式の要素が残りやすいように、遺伝アルゴリズムにより第2世代の特徴量抽出式から第2世代の特徴量抽出式リストを生成する。
そして、評価機構築部104は、第2世代の特徴量抽出式リストを用い、第1世代の場合と同様にして第2世代の評価式を生成する。また、評価機構築部104は、第2世代の評価機に対する特徴量抽出式毎の寄与率を算出する。そして、評価機構築部104は、評価式への寄与率に基づいて終了条件を判定し、終了条件を満たした場合、その評価式を評価機として出力する。一方、終了条件を満たさない場合、評価機構築部104は、評価式に含まれる特徴量抽出式を第3世代の特徴量抽出式とし、第2世代の場合と同様にして第3世代の評価式を生成する。このように、終了条件を満たすまで世代交代が繰り返され、終了条件を満たした時点で最終世代の評価式が評価機として出力される。
このようにして評価機構築部104により構築された評価機は、加工データ評価部110に入力される。この評価機は、例えば、入力画像が油絵である確率が高いほど大きな値を出力し、油絵である確率が低いほど小さい値を出力する。
(油絵フィルタの自動構築、入力画像の加工処理)
評価機が構築されると、この評価機を利用して得られる評価値に基づいて油絵フィルタが生成される。まず、加工方法準備部106は、複数のオペレータを組み合わせて加工方法を生成する。オペレータとは、画像を加工する加工方法の最小単位である。オペレータとしては、例えば、次のような関数やフィルタ等が用いられる。
三角関数等:Sin,Cos,Tan,ArcSin,...
指数関数等:Exp.Log,Pow,Sqrt,...
四則演算:Add,Multiply,...
デジタルフィルタ:LPF,HPF,BPF,...
微分演算:DIfferential
中央値フィルタ:Median
正規化演算:Normalize
ホワイトノイズの付加処理:AddWhiteNoise
画像処理フィルタ:Hemming,Sharpness,Blur,...
加工方法準備部106は、まず、オペレータをランダムに組み合わせて複数の加工方法を生成する。例えば、加工方法準備部106は、AddWhiteNoise(Median(Blur(x)))を生成する。この加工方法は、入力値xに対してBlurフィルタ(ぼかし処理)を施し、Blurフィルタの出力に対してMedianフィルタ(中央値フィルタ処理)を施し、Medianフィルタの出力に対してホワイトノイズを付加することを意味している。加工方法準備部106は、このような加工方法を複数生成してデータ加工部108に入力する。
データ加工部108は、加工方法準備部106により生成された加工方法により入力画像を加工して加工画像を生成する。図8に示すように、加工方法準備部106によりm通りの加工方法(例えば、AddWhiteNoise(Median(Blur(x))),...,Normalize(Abs(Differential(x))))が生成された場合、データ加工部108は、m通りの加工方法により入力画像を加工してm個の加工画像1〜mを生成する。そして、データ加工部108は、加工画像1〜mを加工データ評価部110に入力する。
加工データ評価部110は、図8に示すように、データ加工部108から入力された加工画像1〜mを評価機に入力してm個の評価値を算出する。そして、加工データ評価部110は、加工方法毎に算出した評価値を加工方法更新部112に入力する。加工方法更新部112は、図9に示すように、加工方法毎に算出された評価値を利用し、遺伝アルゴリズムに基づいて加工方法1〜mを更新する。
以下の説明では、更新元の加工方法1をF(t−1) 、…、更新元の加工方法mをF(t−1) と表記する。また、加工方法F(t−1) の評価値をv、…、加工方法F(t−1) の評価値をvと表記する。さらに、更新先の加工方法1をF(t) 、…、更新先の加工方法mをF(t) と表記する。
まず、加工方法更新部112は、更新元の加工方法F(t−1) 、…、F(t−1) のうち、評価値の高い加工方法を所定数だけ選択する。図9の例では、評価値の高い順にF(t−1) 、F(t−1) 、F(t−1) 、F(t−1) 、F(t−1) 等が選択されている。そして、加工方法更新部112は、選択した加工方法を更新先の加工方法に設定する。図9の例では、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 等が設定されている。
次いで、加工方法更新部112は、更新元の加工方法F(t−1) 、…、F(t−1) のうち、所定数の加工方法を突然変異させて新たな加工方法を生成する。そして、加工方法更新部112は、新たな加工方法を更新先の加工方法に設定する。図9の例では、突然変異を関数Mutation()で表現している。また、図9の例では、F(t−1) 、F(t−1) 、F(t−1) 等が突然変異の対象として選択され、更新先の加工方法F(t) 10、F(t) 11、F(t) 12等に設定されている。
次いで、加工方法更新部112は、ランダムにオペレータを組み合わせて所定数だけ新たな加工方法を生成する。図9の例では、加工方法のランダム生成を関数Random()で表現している。また、図9の例では、更新後の加工方法F(t) 30、F(t) 31、F(t) 32、…、F(t) にランダム生成された新たな加工方法が設定されている。このように、加工方法更新部112は、遺伝アルゴリズムに基づいて更新元の加工方法から更新先の加工方法を生成する。そして、加工方法更新部112は、更新先の加工方法をデータ加工部108に入力する。
ここで、図10を参照しながら、突然変異の処理内容について説明する。図10は、突然変異の処理内容の一例を示す説明図である。図10に示すように、突然変異の処理内容は、(A)オペレータの削除、(B)オペレータの追加、(C)オペレータの変更の3種類、及びこれらの組み合わせである。
例えば、突然変異元の加工方法がAddWhiteNoise(Median(Blur(x)))である場合、加工方法更新部112は、突然変異の処理として、オペレータMedian()を削除することがある(A)。この場合、突然変異先の加工方法は、AddWhiteNoise(Blur(x))となる。なお、削除するオペレータの種類に制限はないが、オペレータを削除することにより次に実行されるオペレータへの入力が不正になる場合には、そのオペレータの削除は禁止される。
また、加工方法更新部112は、突然変異の処理として、オペレータHemming()を追加することがある(B)。この場合、突然変異先の加工方法は、例えば、AddWhiteNoise(Hemming(Median(Blur(x))))となる。なお、追加するオペレータの種類に制限はないが、追加するオペレータの入力が不正になる場合、オペレータを追加することにより次に実行されるオペレータへの入力が不正になる場合には、そのオペレータの追加は禁止される。
また、加工方法更新部112は、突然変異の処理として、オペレータAddWhiteNoise()をSin()に変更することがある(C)。この場合、突然変異先の加工方法は、例えば、Sin(Median(Blur(x)))となる。なお、変更先となるオペレータの種類に制限はないが、変更先となるオペレータの入力が不正になる場合、オペレータを変更することにより次に実行されるオペレータへの入力が不正になる場合、そのオペレータへの変更は禁止される。
以上説明したように、加工方法の一部がオペレータの追加、削除、変更等により変形されることにより、新しい加工方法が生成される。
再び図4を参照する。加工方法更新部112から更新後の加工方法が入力されると、データ加工部108は、更新後の加工方法により入力画像を加工して加工画像を生成する。そして、データ加工部108は、生成した加工画像を加工データ評価部110に入力する。加工データ評価部110は、データ加工部108から入力された加工画像1〜mを評価機に入力してm個の評価値を算出する。そして、加工データ評価部110は、加工方法毎に算出した評価値を加工方法更新部112に入力する。
このようにして、加工方法更新部112、データ加工部108、加工データ評価部110の処理は繰り返し実行される。そして、この繰り返し処理は、所定の終了条件を満たすまで続けられ、所定の終了条件を満たすと停止される。例えば、ユーザの停止操作が行われた場合、評価値が所定の閾値を超えた場合、繰り返し処理が所定回数実行された場合、繰り返し処理が所定時間実行され続けた場合、及びこれらの組み合わせに該当する場合に終了条件を満たすものとする。
終了条件を満たした場合、最後の繰り返し処理においてデータ加工部108により生成された加工画像と、加工方法更新部112により生成された加工方法とが出力部114に入力される。そして、出力部114は、これら加工画像、加工方法を出力する。なお、出力部114は、加工画像、加工方法の一方又は両方を出力する。このように、遺伝アルゴリズムに基づいて繰り返し処理が実行されることにより、より高い評価値の加工方法が算出され、その加工方法を用いて生成された加工画像の油絵っぽさが向上する。
さて、出力部114により出力された加工画像、加工方法は、ユーザに提示される。その後、ユーザから加工画像に対する満足度に関してフィードバックが得られた場合、情報処理装置100は、そのフィードバックを利用して評価機を更新する。
例えば、ユーザから、図11に示すようなフィードバックが得られた場合、評価機構築用データセット入力部102は、既存の評価機構築用データセットにフィードバックの情報を追加して新規の評価機構築用データセットを再構築する。そして、評価機構築用データセット入力部102は、再構築した新規の評価機構築用データセットを評価機構築部104に入力する。新規の評価機構築用データセットが入力されると、評価機構築部104は、先に説明した遺伝アルゴリズムに基づく機械学習により評価機を再構築する。そして、評価機構築部104は、再構築した評価機を加工データ評価部110に入力する。
このように、ユーザからフィードバックが得られると、評価機が再構築され、加工データ評価部110が保持する評価機は更新される。そして、次に入力された入力画像については、更新後の評価機を用いて加工方法が生成され、その加工方法を用いて生成された加工画像が出力される。このように、ユーザのフィードバックを取り込むことで、より高い精度で油絵度を評価することができる評価機が自動構築される。
以上、本実施形態に係る情報処理装置100の機能構成について説明した。なお、上記説明において、最終的に出力部114から出力される加工方法が油絵フィルタである。
(情報処理装置150の機能構成)
次に、情報処理装置100の変形例である情報処理装置150の機能構成について説明する。
図5に示すように、情報処理装置150は、主に、加工方法準備部106と、データ加工部108と、加工データ評価部110と、加工方法更新部112と、出力部114とにより構成される。図4に示した情報処理装置100との違いは、自身で評価機の構築を行わず、外部から評価機を取得する構成にある。従って、情報処理装置100との違いは、加工データ評価部110が利用する評価機の取得元にある。なお、加工データ評価部110が利用する評価機の構成及び構築方法は、情報処理装置150の場合も同じである。つまり、情報処理装置150は、評価機の取得方法に関する情報処理装置100の変形例である。そのため、情報処理装置150が有する各構成要素の機能は、情報処理装置100の対応する構成要素の機能と実質的に同じである。そのため、情報処理装置150の各構成要素が有する機能の詳細については説明を省略する。
以上、本実施形態に係る情報処理装置150の機能構成について説明した。
[2−3:油絵風画像の生成方法]
次に、図12を参照しながら、本実施形態に係る油絵風画像の生成方法について説明する。図12は、本実施形態に係る油絵風画像の生成方法に係る処理の流れを示す説明図である。但し、図12の例は、上記の情報処理装置100による処理の流れに関する。
図12に示すように、まず、評価機構築用データセット入力部102は、評価機構築用データセットを取得し、評価機構築部104に入力する(S102)。次いで、評価機構築部104は、評価機を自動構築する(S104)。なお、ステップS104の処理については、後段において詳述する。
次いで、加工方法準備部106は、ランダムにオペレータを組み合わせて加工方法を生成する(S106)。次いで、データ加工部108は、加工方法準備部106により生成された加工方法により入力画像を加工して、加工方法毎に加工画像(加工データ)を生成する(S108)。次いで、加工データ評価部110は、評価機構築部104により構築された評価機を用いて、データ加工部108により生成された加工データの評価値を算出する(S110)。
次いで、加工データ評価部110は、算出した評価値又はユーザ操作等に基づいて終了条件を満たしているか否かを判定する(S112)。終了条件を満たしている場合、加工データ評価部110は、出力部114に加工データ、加工方法を入力する。そして、情報処理装置100は、ステップS114に処理を進める。一方、終了条件を満たしていない場合、加工データ評価部110は、各加工方法の評価値を加工方法更新部112に入力する。そして,情報処理装置100は、ステップS118に処理を進める。
ステップS114に処理が進んだ場合、出力部114は、加工データ、加工方法を出力してユーザに提示する(S114)。次いで、ユーザが加工結果に満足したか否かが判定され(S116)、満足した場合には一連の処理を終了する。一方、ユーザが加工結果に満足しておらず、フィードバックが入力された場合、情報処理装置100は、フィードバックを反映した評価機構築用データセットを再構築し、その評価機構築用データセットに基づいてステップS102以降の処理を再び実行する。
ステップS112の判定においてステップS118に処理が進んだ場合、加工方法更新部112は、遺伝アルゴリズムに基づいて加工方法を更新する(S118)。そして、加工方法更新部112は、更新後の加工方法をデータ加工部108に入力する。その後、情報処理装置100は、ステップS108に処理を戻し、再びステップS108以降の処理を実行する。最終的に、ステップS116の判定においてユーザの満足が得られた場合、一連の処理が終了する。
以上、本実施形態に係る油絵風画像の生成方法について説明した。なお、上記説明において、最終的に出力部114から出力される加工方法が油絵フィルタである。
以上説明したように、本実施形態は、遺伝アルゴリズムにより評価機を自動構築すると共に、その評価値を用いて遺伝アルゴリズムに基づく加工方法の生成処理を実行する。そのため、出力データがスカラ量ではないアルゴリズム(油絵フィルタ)を自動構築することが可能になる。
なお、ここまで一貫して油絵フィルタについて説明してきたが、油絵フィルタを出力データがスカラ量ではない任意のアルゴリズムに変形することができる。この場合、入力画像は、そのアルゴリズムの入力形式に適合する入力データに変更される。また、評価機構築用データセットも画像がデータに変更される。しかしながら、上記の説明で述べた本実施形態に係る評価値の自動構築方法、アルゴリズムの自動構築方法の仕組みは変形されない。従って、このような変形についても、当然に本実施形態の技術的範囲に属する。
以上、本発明の第1実施形態について説明した。
<3:第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態は、生物の動きを擬似的に模倣するアルゴリズム(疑似動き生成機)の構築方法に関する。以下、本実施形態に係る疑似動き生成機自動構築システムの概要、当該疑似動き生成機自動構築システムの機能を実現することが可能な情報処理装置200、250の機能構成、及び疑似動き生成機による疑似動き生成方法について順次説明する。なお、ここでは疑似動き生成機を例に挙げるが、正解が一意に決まらない任意のアルゴリズムの自動構築方法及びそのアルゴリズムによる出力データの生成方法に拡張可能である。
[3−1:疑似動き生成機自動構築システムの概要]
まず、図13を参照しながら、本実施形態に係る疑似動き生成機自動構築システムが持つ機能の概要について説明する。図13は、本実施形態に係る疑似動き生成機自動構築システムが持つ機能の概要を示す説明図である。
図13に示すように、疑似動き生成機自動構築システムは、疑似動き生成機を自動構築するシステムである。まず、本実施形態に係る疑似動き生成機自動構築システムは、ある生物(以下、特定生物)の動きを示す移動軌跡、異なる移動体(以下、非特定生物)の移動軌跡、特定生物の移動軌跡であるか否かを示す正解情報を含む学習用のデータセットを多数利用し、遺伝アルゴリズムに基づく機械学習を実施して「特定生物の移動軌跡っぽさ(以下、特定生物度)」を出力する評価機を自動生成する。なお、移動軌跡は、動き認識技術を用いて映像データから抽出してもよいし、時系列の座標データを入力してもよい。
次いで、疑似動き生成機自動構築システムは、ランダムに処理関数を組み合わせて第1世代の疑似動き生成機を生成する。次いで、疑似動き生成機自動構築システムは、第1世代の疑似動き生成機に初期値を入力して移動軌跡を生成する。次いで、疑似動き生成機自動構築システムは、生成した移動軌跡を評価機に入力して評価値を算出する。次いで、疑似動き生成機自動構築システムは、評価値が高くなるように、遺伝アルゴリズムに基づいて第1世代の疑似動き生成機から第2世代の疑似動き生成機を生成する(世代交代)。
疑似動き生成機自動構築システムは、評価機により算出される評価値が所定の終了条件を満たすまで世代交代を繰り返し、所定の終了条件を満たした最終世代の疑似動き生成機を出力する。また、疑似動き生成機自動構築システムは、構築した疑似動き生成機を利用して特定生物の移動軌跡を擬似的に模倣した移動軌跡を出力する。
以上、疑似動き生成機自動構築システムが持つ機能の概要について説明した。上記のように、疑似動き生成機自動構築システムは、遺伝アルゴリズムに基づく機械学習により評価機を生成し、その評価機を用いて移動軌跡の特定生物度を評価する。そして、疑似動き生成機自動構築システムは、評価機による評価が高くなる疑似動き生成機を自動構築する。このような構成にすることで、正解が一意に決まらない疑似動き生成機を適切に構築することが可能になる。
[3−2:情報処理装置200、250の機能構成]
次に、図14、図15を参照しながら、本実施形態に係る情報処理装置200、250の機能構成について説明する。図14は、本実施形態に係る情報処理装置200の機能構成例を示す説明図である。一方、図15は、本実施形態に係る情報処理装置250の機能構成例を示す説明図である。なお、情報処理装置200、250の間で実質的に同じ機能を有する構成要素については同一の符号を付することにより構成要素間の対応関係を明示し、重複する部分については詳細な説明を省略した。また、ここでは蝶の動きを擬似的に再現する疑似動き生成機の自動構築アルゴリズムについて説明する。
(情報処理装置200の機能構成)
図14に示すように、情報処理装置200は、主に、評価機構築用データセット入力部202と、評価機構築部204と、生成方法準備部206と、疑似動き生成部208と、疑似動き評価部210と、生成方法更新部212と、出力部214とにより構成される。以下、評価機の自動構築処理の流れ、疑似動き生成機の自動構築処理の流れ、及び特定生物の移動軌跡生成処理の流れに沿って各構成要素の機能を説明する。なお、後述する生成方法更新部212の処理は、説明の都合上、遺伝アルゴリズムを用いることとするが、例えば、近傍探索、焼きなまし法等、要素を最適化するように更新できる方法であればどのような方法を用いてもよい。
(評価機の自動構築)
まず、評価機構築用データセット入力部202は、学習用のデータセット(以下、評価機構築用データセット)を取得し、評価機構築部204に入力する。評価機構築用データセット入力部202は、外部の機器からネットワークを介して評価機構築用データセットを取得していてもよいし、情報処理装置200に内蔵された記録装置(非図示)から評価機構築用データセットを取得してもよい。さらに、評価機構築用データセット入力部202は、ユーザが正解情報を手入力するための入力デバイスに接続されていてもよい。
図17に示すように、評価機構築用データセットは、例えば、図16に示すような各時刻の座標データで構成される複数の動きデータと、各動きデータが蝶のものであるか否かを示す正解情報とにより構成される。このような評価機構築用データセットが入力されると、評価機構築部204は、遺伝アルゴリズムに基づく機械学習により評価機を構築する。なお、評価機の構築アルゴリズムの詳細については後述する。ここでは、図18を参照しながら、評価機の構築アルゴリズムの概要についてのみ簡単に説明する。図18に示すように、評価機は、予め用意された複数の処理関数を組み合わせて生成される特徴量抽出式の結合(例えば、線形結合)により構成される。
まず、評価機構築部204は、スカラ量が算出されるような複数の特徴量抽出式(第1世代の特徴量抽出式リスト)を生成する。次いで、評価機構築部204は、評価機構築用データセットに含まれる学習用の動きデータを入力値xとし、その入力値xを第1世代の特徴量抽出式リストの各特徴量抽出式に入力して複数の特徴量を算出する。次いで、評価機構築部204は、複数の特徴量及び評価機構築用データセットに含まれる正解情報(例えば、蝶=1、蝶以外=0)を利用し、遺伝アルゴリズムに基づく機械学習を実行して第1世代の評価式を生成する。また、評価機構築部204は、特徴量抽出式毎に評価式への寄与率を算出する。
例えば、評価式が特徴量抽出式の線形結合で表現される場合、評価機構築部204は、各特徴量抽出式の結合係数に基づいて評価式への寄与率を特徴量抽出式毎に算出する。次いで、評価機構築部204は、評価式への寄与率に基づいて終了条件を判定し、終了条件を満たした場合、その評価式を評価機として出力する。一方、終了条件を満たさない場合、評価機構築部204は、評価式に含まれる特徴量抽出式を第2世代の特徴量抽出式とし、寄与率の高い特徴量抽出式の要素が残りやすいように、遺伝アルゴリズムにより第2世代の特徴量抽出式から第2世代の特徴量抽出式リストを生成する。
そして、評価機構築部204は、第2世代の特徴量抽出式リストを用い、第1世代の場合と同様にして第2世代の評価式を生成する。また、評価機構築部204は、第2世代の評価機に対する特徴量抽出式毎の寄与率を算出する。そして、評価機構築部204は、評価式への寄与率に基づいて終了条件を判定し、終了条件を満たした場合、その評価式を評価機として出力する。一方、終了条件を満たさない場合、評価機構築部204は、評価式に含まれる特徴量抽出式を第3世代の特徴量抽出式とし、第2世代の場合と同様にして第3世代の評価式を生成する。このように、終了条件を満たすまで世代交代が繰り返され、終了条件を満たした時点で最終世代の評価式が評価機として出力される。
このようにして評価機構築部204により構築された評価機は、疑似動き評価部210に入力される。この評価機は、例えば、移動軌跡が蝶のものである確率が高いほど大きな値を出力し、蝶以外のものである確率が高いほど小さい値を出力する。
(疑似動き生成機の自動構築、移動軌跡の生成処理)
評価機が構築されると、この評価機を利用して得られる評価値に基づいて疑似動き生成機が構築される。まず、生成方法準備部206は、複数のオペレータを組み合わせて生成方法を生成する。オペレータとは、移動軌跡を生成する生成方法の最小単位である。オペレータとしては、例えば、次のような処理要素が用いられる。
定数:Const
遅延機:Delay
フィルタ:LPF,HPF,BPF,...
ベクトル結合:Combine
条件判断:If
四則演算:Add,Sub,Multiply,...
符号反転:ISign
三角関数等:Sin,Cos,Tan,ArcSin,...
ノルム計算:Norm
ノイズ発生:RndGaussian,RndWhite
基本波形発生:OscSin,OscTri,OscSqr,...
生成方法準備部206は、まず、オペレータをランダムに組み合わせて複数の生成方法を生成する。例えば、生成方法準備部206は、図19に示すように、時刻tにおける位置ベクトル(X,Y,Z)を入力した場合に、時刻t+1における加速度ベクトル(AXt+1,AYt+1,AZt+1)が出力されるような生成方法を生成する。図19に例示した生成方法は、ノルム計算Norm、サイン関数Sin、ベクトル結合Combine、ホワイトノイズ発生RndWhite、定数Const、加算Addを含む。
ここで、図19に示した生成方法の表現について簡単に説明する。図19に示すように、生成方法は、各オペレータを表すノードと、処理の順序を表すノード間の矢印とにより表現される。図19に示した生成方法の場合、入力ベクトルの矢印は、ノルム計算Normのノードに接続されている。そのため、入力ベクトルにはノルム計算Normが施される。また、ノルム計算Normのノードからサイン関数Sinのノードに矢印が接続されているため、ノルム計算Normの出力には、サイン関数Sinの演算が施される。
また、サイン関数Sinのノードからベクトル結合Combineのノードに矢印が接続されているため、サイン関数Sinの出力には、ベクトル結合Combineの処理が施される。なお、ベクトル結合Combineの処理内容は、そのノードに接続されたノードの出力をベクトル形式で結合するというものである。図19の例では、ベクトル結合Combineのノードに3本の入力矢印が接続されている。そのため、3本の入力矢印に接続されたノードの出力がベクトル形式で結合される。
ベクトル結合Combineのノードに接続されたノードの1つは、上記のサイン関数Sinのノードである。もう1つは、加算Addのノードである。最後の1つは、定数Constのノードである。加算Addのノードには、ホワイトノイズ発生RndWhiteノードから伸びる矢印と、定数Constのノードから伸びる矢印とが接続されている。そのため、加算Addのノードでは、ホワイトノイズ発生RndWhiteのノードにて発生されたホワイトノイズと、定数Constのノードにて出力された定数とが加算される。
そして、加算Addのノードにおける加算値がベクトル結合Combineのノードにてベクトル形式で結合される。また、定数Constのノードにて出力された定数もベクトル結合Combineのノードにてベクトル形式で結合される。その結果、ベクトル結合Combineのノードにて、3つの要素を持つベクトルが生成され、出力ベクトルとして出力される。つまり、図19には、AXt+1=Sin(Norm(X,Y,Z))、AYt+1=Add(RndWhite,Const)、AZt+1=Constで構成される出力ベクトル(AXt+1,AYt+1,AZt+1)を生成する生成方法が表現されている。
生成方法準備部106は、このような生成方法を複数生成して疑似動き生成部208に入力する。疑似動き生成部208は、生成方法準備部106により生成された生成方法を繰り返し用いて移動軌跡を生成する。図20に示すように、生成方法準備部206によりm通りの生成方法が生成された場合、疑似動き生成部208は、m通りの生成方法を繰り返し用いてm個の移動軌跡1〜mを生成する。そして、疑似動き生成部208は、移動軌跡1〜mを疑似動き評価部210に入力する。
疑似動き評価部210は、図20に示すように、疑似動き生成部208から入力された移動軌跡1〜mを評価機に入力してm個の評価値を算出する。そして、疑似動き評価部210は、生成方法毎に算出した評価値を生成方法更新部212に入力する。生成方法更新部212は、図21に示すように、生成方法毎に算出された評価値を利用し、遺伝アルゴリズムに基づいて生成方法1〜mを更新する。
以下の説明では、更新元の生成方法1をF(t−1) 、…、更新元の生成方法mをF(t−1) と表記する。また、生成方法F(t−1) の評価値をv、…、生成方法F(t−1) の評価値をvと表記する。さらに、更新先の生成方法1をF(t) 、…、更新先の生成方法mをF(t) と表記する。
まず、生成方法更新部212は、更新元の生成方法F(t−1) 、…、F(t−1) のうち、評価値の高い生成方法を所定数だけ選択する。図21の例では、評価値の高い順にF(t−1) 、F(t−1) 、F(t−1) 、F(t−1) 、F(t−1) 等が選択されている。そして、生成方法更新部212は、選択した生成方法を更新先の生成方法に設定する。図21の例では、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 、F(t) =F(t−1) 等が設定されている。
次いで、生成方法更新部212は、更新元の生成方法F(t−1) 、…、F(t−1) のうち、所定数の生成方法を突然変異させて新たな生成方法を生成する。そして、生成方法更新部212は、新たな生成方法を更新先の生成方法に設定する。図21の例では、突然変異を関数Mutation()で表現している。また、図21の例では、F(t−1) 、F(t−1) 、F(t−1) 等が突然変異の対象として選択され、更新先の生成方法F(t) 10、F(t) 11、F(t) 12等に設定されている。
次いで、生成方法更新部212は、ランダムにオペレータを組み合わせて所定数だけ新たな生成方法を生成する。図21の例では、生成方法のランダム生成を関数Random()で表現している。また、図21の例では、更新後の生成方法F(t) 30、F(t) 31、F(t) 32、…、F(t) にランダム生成された新たな生成方法が設定されている。このように、生成方法更新部212は、遺伝アルゴリズムに基づいて更新元の生成方法から更新先の生成方法を生成する。そして、生成方法更新部212は、更新先の生成方法を疑似動き生成部208に入力する。
ここで、図22〜図24を参照しながら、突然変異の処理内容について説明する。図22〜図24は、突然変異の処理内容の一例を示す説明図である。
まず、図22を参照する。図22には、突然変異の一例として、生成方法に含まれるオペレータの削除、オペレータの挿入、オペレータの変更に係る処理内容が示されている。図22の例では、元の生成方法(図19の例)に含まれていたサイン関数Sinのノードが削除されている。また、この例では、ホワイトノイズ発生RndWhiteのノードと、加算Addのノードとの間にコサイン関数Cosのノードが挿入されている。さらに、この例では、定数Constのノードがサイン波発生OscSinのノードに変更されている。
つまり、この突然変異により、元の生成方法は、AXt+1=Norm(X,Y,Z)、AYt+1=Add(Cos(RndWhite),Const)、AZt+1=OscSinで構成される出力ベクトル(AXt+1,AYt+1,AZt+1)を生成する生成方法に変更される。
次に、図23を参照する。図23には、突然変異の一例として、生成方法に含まれるオペレータの交差に係る処理内容が示されている。ここで言う交差とは、ノード間を結ぶ矢印の接続先を交換することを意味する。例えば、元の生成方法(図19の例)ではノルム計算Normのノードと、サイン関数Sinのノードとを結んでいた矢印が、ノルム計算Normのノードと、加算Addのノードとを結ぶ矢印に変更されている。さらに、元の生成方法ではホワイトノイズ発生RndWhiteのノードと加算Addのノードとを結んでいた矢印が、ホワイトノイズ発生RndWhiteのノードとサイン関数Sinのノードとを結ぶ矢印に変更されている。
つまり、この突然変異(両矢印の交換)により、元の生成方法は、AXt+1=Sin(RndWhite)、AYt+1=Add(Norm(X,Y,Z),Const)、AZt+1=Constで構成される出力ベクトル(AXt+1,AYt+1,AZt+1)を生成する生成方法に変更される。
次に、図24を参照する。図24には、突然変異の一例として、生成方法に含まれるオペレータの一部分をランダムに生成する処理内容が示されている。図24の例では、元の生成方法(図19の例)において加算Addのノード及びその下位ノードで構成されていたノード群が丸ごと異なるノード群に変更されている。つまり、この突然変異(部分的なランダム生成)により、元の生成方法は、AXt+1=Sin(Norm(X,Y,Z))、AYt+1=If(OscSqr,Const,RndWhite)、AZt+1=Constで構成される出力ベクトル(AXt+1,AYt+1,AZt+1)を生成する生成方法に変更される。
以上、突然変異の処理内容について説明した。
再び図14を参照する。生成方法更新部212から更新後の生成方法が入力されると、疑似動き生成部208は、更新後の生成方法を繰り返し用いて移動軌跡を生成する。そして、疑似動き生成部208は、生成した移動軌跡を疑似動き評価部210に入力する。疑似動き評価部210は、疑似動き生成部208から入力された移動軌跡1〜mを評価機に入力してm個の評価値を算出する。そして、疑似動き評価部210は、生成方法毎に算出した評価値を生成方法更新部212に入力する。
このようにして、生成方法更新部212、疑似動き生成部208、疑似動き評価部210の処理は繰り返し実行される。そして、この繰り返し処理は、所定の終了条件を満たすまで続けられ、所定の終了条件を満たすと停止される。例えば、ユーザの停止操作が行われた場合、評価値が所定の閾値を超えた場合、繰り返し処理が所定回数実行された場合、繰り返し処理が所定時間実行され続けた場合、及びこれらの組み合わせに該当する場合に終了条件を満たすものとする。
終了条件を満たした場合、最後の繰り返し処理において疑似動き生成部208により生成された移動軌跡と、生成方法更新部212により生成された生成方法とが出力部214に入力される。そして、出力部214は、これら加工画像、生成方法を出力する。なお、出力部214は、移動軌跡、生成方法の一方又は両方を出力する。このように、遺伝アルゴリズムに基づいて繰り返し処理が実行されることにより、より高い評価値の生成方法が算出され、その生成方法を用いて生成された移動軌跡の蝶らしさが向上する。
さて、出力部214により出力された移動軌跡、生成方法は、ユーザに提示される。その後、ユーザから移動軌跡に対する満足度に関してフィードバックが得られた場合、情報処理装置200は、そのフィードバックを利用して評価機を更新する。
例えば、ユーザから、図25に示すようなフィードバックが得られた場合、評価機構築用データセット入力部202は、既存の評価機構築用データセットにフィードバックの情報を追加して新規の評価機構築用データセットを再構築する。そして、評価機構築用データセット入力部202は、再構築した新規の評価機構築用データセットを評価機構築部204に入力する。新規の評価機構築用データセットが入力されると、評価機構築部204は、先に説明した遺伝アルゴリズムに基づく機械学習により評価機を再構築する。そして、評価機構築部204は、再構築した評価機を疑似動き評価部210に入力する。
このように、ユーザからフィードバックが得られると、評価機が再構築され、疑似動き評価部210が保持する評価機は更新される。そして、更新後の評価機を用いて生成方法が生成され、その生成方法を用いて生成された移動軌跡が出力される。このように、ユーザのフィードバックを取り込むことで、より高い精度で蝶らしさを評価することができる評価機が自動構築される。
以上、本実施形態に係る情報処理装置200の機能構成について説明した。なお、上記説明において、最終的に出力部214から出力される生成方法が疑似動き生成機である。
(情報処理装置250の機能構成)
次に、情報処理装置200の変形例である情報処理装置250の機能構成について説明する。
図15に示すように、情報処理装置250は、主に、生成方法準備部206と、疑似動き生成部208と、疑似動き評価部210と、生成方法更新部212と、出力部214とにより構成される。図14に示した情報処理装置200との違いは、自身で評価機の構築を行わず、外部から評価機を取得する構成にある。従って、情報処理装置200との違いは、疑似動き評価部210が利用する評価機の取得元にある。なお、疑似動き評価部210が利用する評価機の構成及び構築方法は、情報処理装置250の場合も同じである。つまり、情報処理装置250は、評価機の取得方法に関する情報処理装置200の変形例である。そのため、情報処理装置250が有する各構成要素の機能は、情報処理装置200の対応する構成要素の機能と実質的に同じである。そのため、情報処理装置250の各構成要素が有する機能の詳細については説明を省略する。
以上、本実施形態に係る情報処理装置250の機能構成について説明した。
[3−3:疑似動き生成方法]
次に、図26を参照しながら、本実施形態に係る疑似動きの生成方法について説明する。図26は、本実施形態に係る疑似動きの生成方法に係る処理の流れを示す説明図である。但し、図26の例は、上記の情報処理装置200による処理の流れに関する。
図26に示すように、まず、評価機構築用データセット入力部202は、評価機構築用データセットを取得し、評価機構築部204に入力する(S202)。次いで、評価機構築部204は、評価機を自動構築する(S204)。なお、ステップS204の処理については、後段において詳述する。
次いで、生成方法準備部206は、ランダムにオペレータを組み合わせて生成方法を生成する(S206)。次いで、疑似動き生成部208は、生成方法準備部206により生成された生成方法を繰り返し用いて移動軌跡(疑似動き)を生成する(S208)。次いで、疑似動き評価部210は、評価機構築部204により構築された評価機を用いて、疑似動き生成部208により生成された移動軌跡の評価値を算出する(S210)。
次いで、疑似動き評価部210は、算出した評価値又はユーザ操作等に基づいて終了条件を満たしているか否かを判定する(S212)。終了条件を満たしている場合、疑似動き評価部210は、出力部214に移動軌跡、生成方法を入力する。そして、情報処理装置200は、ステップS214に処理を進める。一方、終了条件を満たしていない場合、疑似動き評価部210は、各生成方法の評価値を生成方法更新部212に入力する。そして,情報処理装置200は、ステップS218に処理を進める。
ステップS214に処理が進んだ場合、出力部214は、移動軌跡、生成方法を出力してユーザに提示する(S214)。次いで、ユーザが擬似的に生成された移動軌跡に満足したか否かが判定され(S216)、満足した場合には一連の処理を終了する。一方、ユーザが移動軌跡の生成結果に満足しておらず、フィードバックが入力された場合、情報処理装置200は、フィードバックを反映した評価機構築用データセットを再構築し、その評価機構築用データセットに基づいてステップS202以降の処理を再び実行する。
ステップS212の判定においてステップS218に処理が進んだ場合、生成方法更新部212は、遺伝アルゴリズムに基づいて生成方法を更新する(S218)。そして、生成方法更新部212は、更新後の生成方法を疑似動き生成部208に入力する。その後、情報処理装置200は、ステップS208に処理を戻し、再びステップS208以降の処理を実行する。最終的に、ステップS216の判定においてユーザの満足が得られた場合、一連の処理が終了する。
以上、本実施形態に係る疑似動きの生成方法について説明した。なお、上記説明において、最終的に出力部214から出力される生成方法が疑似動き生成機である。
以上説明したように、本実施形態は、遺伝アルゴリズムにより評価機を自動構築すると共に、その評価値を用いて遺伝アルゴリズムに基づく生成方法の生成処理を実行する。そのため、正解が一意に決まらないアルゴリズム(蝶の動き予測(疑似動き生成)アルゴリズム)を自動構築することが可能になる。
なお、ここまで一貫して疑似動き生成機について説明してきたが、疑似動き生成機を、正解が一意に決まらない任意のアルゴリズムに変形することができる。この場合、評価機構築用データセットは動きデータが適切な他のデータに変更される。しかしながら、上記の説明で述べた本実施形態に係る評価値の自動構築方法、アルゴリズムの自動構築方法の仕組みは変形されない。従って、このような変形についても、当然に本実施形態の技術的範囲に属する。
以上、本発明の第2実施形態について説明した。
<4:第3実施形態(自動作曲機構築システム)>
次に、図27を参照しながら、本発明の第3実施形態について説明する。本実施形態は、自動作曲機の構築方法に関する。また、本実施形態に係る自動作曲機構築システムの構成は、図27のように表現される。但し、自動作曲機構築システムの動作は、図26に示した上記第2実施形態に係る情報処理装置200の動作と似ている。両者の違いは、評価機構築用データセットの構成と、生成方法にて出力される出力ベクトルの構成とにある。
例えば、評価機構築用データセットは、音楽データ、非音楽データ(ランダムな音の組み合わせ等)、音楽であるか否かを示す正解情報の組み合わせに変更される。また、図26のステップS206で生成される生成方法の出力ベクトルが、加速度ベクトルから音響、音源、音階等の音楽に関するパラメータの組に変更される。これらの変更を行うことで、自動作曲機を自動構築する自動作曲機自動構築システムが実現される。
以上、本発明の第3実施形態について説明した。
<5:第4実施形態(画像・映像自動生成機構築システム)>
次に、図28を参照しながら、本発明の第4実施形態について説明する。本実施形態は、画像・映像自動生成機の構築方法に関する。また、本実施形態に係る画像・映像自動生成機構築システムの構成は、図28のように表現される。但し、画像・映像自動生成機構築システムの動作は、図26に示した上記第2実施形態に係る情報処理装置200の動作と似ている。両者の違いは、評価機構築用データセットの構成と、生成方法にて出力される出力ベクトルの構成とにある。
例えば、評価機構築用データセットは、映像・画像データ、非映像・非画像データ(ランダムな画素値の組み合わせ等)、映像・画像であるか否かを示す正解情報の組み合わせに変更される。また、図26のステップS206で生成される生成方法の出力ベクトルが、加速度ベクトルから画像・映像に関するパラメータの組に変更される。これらの変更を行うことで、画像・映像自動生成機を自動構築する画像・映像自動生成機自動構築システムが実現される。
以上、本発明の第4実施形態について説明した。
<6:ハードウェア構成例>
ここで、上記の第1〜第4実施形態に係る各システムのハードウェア構成例について述べる。上記の情報処理装置100が有する各構成要素の機能は、例えば、図29に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図29に示すハードウェアを制御することにより実現される。
図29に示すように、このハードウェアは、主に、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の略である。
以上、ハードウェア構成例について説明した。
<7:評価機の自動構築方法>
次に、図30〜図43を参照しながら、評価機の自動構築処理の流れについて説明する。図30〜図43は、評価機の自動構築処理の流れを示す説明図である。ここで述べる評価機の自動構築処理は、評価機構築部104、204の機能により実行される。
(全体)
図30に示すように、評価機構築部104、204は、まず、ランダムに処理関数を組み合わせて特徴量抽出式リストを生成する(S302)。次いで、評価機構築部104、204は、評価機構築用データセット及び特徴量抽出式リストに含まれる各特徴量抽出式を用いて特徴量を計算する(S304)。次いで、評価機構築部104、204は、特徴量及び評価機構築用データセットの正解情報を用いて遺伝アルゴリズムに基づく機械学習により、特徴量抽出式を組み合わせて生成された評価式を生成する(S306)。
次いで、評価機構築部104、204は、評価式に含まれる特徴量抽出式(第2世代の特徴量抽出式)の評価式に対する寄与率、及びその寄与率に基づく評価式の信頼度を計算し、その信頼度に基づいて終了条件を判定する(S308)。ステップS308にて終了条件に達した場合、評価機構築部104、204は、評価式を評価機として出力する(S310)。一方、信頼度が終了条件に達していない場合、評価機構築部104、204は、遺伝アルゴリズムに基づいて第2世代の特徴量抽出式から第2世代の特徴量抽出式リストを生成する(S302)。
次いで、評価機構築部104、204は、第2世代の特徴量抽出式リストに基づくステップS304〜S310の処理を実行して評価式を生成し、その信頼度を算出する(S304〜S310)。信頼度が終了条件を満たした場合、評価機構築部104、204は、評価式を評価機として出力する。一方、信頼度が終了条件を満たさない場合、評価機構築部104、204は、第2世代の特徴量抽出式に対して実行したのと同様に、ステップS302〜S306の処理を再び実行する。このように、評価式の信頼度が終了条件を満たすまで世代交代を繰り返す。そして、評価式の信頼度が終了条件を満たした時点で評価式を評価機として出力する。
以下、ステップS302、S304、S306の処理について、より詳細に説明する。なお、上記の終了条件は、例えば、ユーザにより終了操作が行われたこと、又は、最終世代の評価機が十分な精度を持つこと(信頼度が所定値より十分に高いこと)である。
(S302:特徴量抽出式リストの生成)
まず、ステップS302の処理について、図31〜図39を参照しながら、より詳細に説明する。
図31に示すように、評価機構築部104、204は、ステップS302にて生成すべき特徴量抽出式リストが、第2世代以降であるか否かを判断する(S3002)。第2世代以降の特徴量抽出式リストを生成する場合、評価機構築部104、204は、ステップS3006に処理を進める。一方、第1世代の特徴量抽出式リストを生成する場合、評価機構築部104、204は、ステップS3004に処理を進める。
ステップS3004に処理を進めた場合、評価機構築部104、204は、予め用意された処理関数(後述する処理対象の軸及びオペレータ)をランダムに組み合わせて特徴量抽出式リストを生成する(S3004)。一方、ステップS3006に処理を進めた場合、評価機構築部104、204は、遺伝アルゴリズムに次世代の特徴量抽出式を入力して次世代の特徴量抽出式リストを生成する(S3006)。その後、評価機構築部104、204は、ステップS306に処理を進める。
(S3004(Cf.S302):特徴量抽出式リストのランダム生成)
ここで、上記のステップS3004に係る処理について、図32を参照しながら、より詳細に説明する。なお、特徴量抽出式リストに含める特徴量抽出式の数は、予めmに設定されているものとする。
まず、ステップS3004において、評価機構築部104、204は、ランダムに処理関数を組み合わせた特徴量抽出式の生成処理をm回繰り返す(S3012、S3016)。つまり、評価機構築部104、204は、パラメータMを1からmまで増加させつつ、ステップS3014の処理を繰り返し実行する。まず、評価機構築部104、204は、パラメータMを0に設定し(S3012)、ランダムに処理関数を組み合わせて特徴量抽出式を生成する(S3014)。次いで、評価機構築部104、204は、パラメータMを1増加させてステップS3014の処理を再び実行する(S3016)。パラメータMがmに達するまでステップS3014の処理を繰り返し実行した後、評価機構築部104、204は、ステップS3004の処理を終了する。
(S3014(Cf.S3004):特徴量抽出式のランダム生成)
ここで、上記のステップS3014に係る処理について、図33を参照しながら、より詳細に説明する。なお、特徴量抽出式の構築に用いる処理関数(処理対象の軸、オペレータ)は、予め設定されているものとする。なお、ここで言う処理対象の軸とは、例えば、時間、周波数、位置、観測値の種類等、演算の対象とする座標軸を意味する。つまり、どの座表軸に沿ってオペレータによる演算を実行するか(演算の方向)、という情報が処理対象の軸により指定される。
また、ここで言うオペレータとは、処理内容を示す演算子である。特徴量抽出式は、例えば、微分演算、最大値出力、ローパスフィルタ、ハイパスフィルタ、不偏分散、高速フーリエ変換、絶対値出力等、様々な種類のオペレータを利用して構築することができる。なお、オペレータの種類によっては、オペレータに演算用のパラメータが指定されることもある。例えば、ローパスフィルタやハイパスフィルタの場合、遮断域又は透過域を指定するためのパラメータが指定される。また、特徴量抽出式には、処理関数の他、処理対象とするデータの種類を示す情報(以下、種類情報)が含まれていてもよい。
まず、ステップS3014において、評価機構築部104、204は、入力データの種類(種類情報)をランダムに決定する(S3022)。但し、入力データの種類が1種類の場合、ステップS3014の処理はスキップしてもよい。次いで、評価機構築部104、204は、特徴量抽出式を構成する処理対象の軸及びオペレータの組(処理関数)をランダムに決定する(S3024)。そして、評価機構築部104、204は、ランダムに決定した処理関数を組み合わせて特徴量抽出式を生成し、その特徴量抽出式の出力が1つの値(スカラ量)になるか否かを判定する(S3028)。
ステップS3028において特徴量抽出式の出力が1つの値になる場合、評価機構築部104、204は、図32のステップS3016に処理を進める。一方、特徴量抽出式の出力が1つの値にならない場合、評価機構築部104、204は、ステップS3024に処理を戻し、再び処理関数をランダムに決定して特徴量抽出式を生成する。
(S3006(Cf.S302):遺伝アルゴリズムによる特徴量抽出式リスト生成)
ここで、上記のステップS3006に係る処理について、図34を参照しながら、より詳細に説明する。
なお、第g世代(g≧2)の特徴量抽出式が前世代の特徴量抽出式であるとする。また、ステップS3006にて実行される選択操作により生成すべき特徴量抽出式の数をms、交差操作により生成すべき特徴量抽出式の数をmx、突然変異により生成すべき特徴量抽出式の数をmm、ランダムに生成すべき特徴量抽出式の数をmrとする。そして、特徴量抽出式リストに含める特徴量抽出式の数をmとする。
まず、評価機構築部104、204は、選択数ms、交差数mx、突然変異数mm、ランダム生成数mrを決定する(S3032)。なお、選択数ms、交差数mx、突然変異数mm、ランダム生成数mrは、m=ms+mx+mm+mrを満たすようにランダムに決定されてもよいし、予め一部又は全部の数が決定されていてもよいし、或いは、第g世代の特徴量抽出式に対する寄与率から選択数msを決定し、その選択数msに応じて交差数mx、突然変異数mm、ランダム生成数mrをランダムに決定するように構成されていてもよい。
選択数ms、交差数mx、突然変異数mmを決定すると、評価機構築部104、204は、第g世代の特徴量抽出式から寄与率の高いms個の特徴量抽出式を選択し、特徴量抽出式リストに加える(S3034)。次いで、評価機構築部104、204は、第g世代の特徴量抽出式間にて一部の処理関数を交換し、mx個の新たな特徴量抽出式を生成して特徴量抽出式リストに加える(S3036)。
次いで、評価機構築部104、204は、第g世代の特徴量抽出式からmm個の特徴量抽出式を選択し、その特徴量抽出式を構成する一部の処理関数をランダムに変更して特徴量抽出式リストに加える(S3038)。次いで、評価機構築部104、204は、ランダムにmr個の特徴量抽出式を生成して特徴量抽出式リストに加える(S3040)。ステップS3032〜S3040までの処理が終了すると、評価機構築部104、204は、ステップS304に処理を進める。
(S3034(Cf.S3006):選択)
ここで、上記のステップS3034に係る処理(選択処理)について、図35を参照しながら、より詳細に説明する。なお、ここで行われる選択処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で優秀な遺伝子を持つ生体が高い確率で生き残る仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
図35に示すように、まず、評価機構築部104、204は、第g世代の特徴量抽出式を後述する寄与率の大きい順に並べ替える(S3042)。次いで、評価機構築部104、204は、寄与率の高い順に上位ms個の特徴量抽出式を特徴量抽出式リストに加える(S3044)。その後、評価機構築部104、204は、ステップS3036に処理を進める。
(S3036(Cf.S3006):交差)
ここで、上記のステップS3036に係る処理(交差処理)について、図36を参照しながら、より詳細に説明する。なお、ここで行われる交差処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で生体の遺伝子が一部交換され、新たな遺伝子の組み合わせを持つ生体が生まれる仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
図36に示すように、評価機構築部104、204は、交差処理により生成する特徴量抽出式を指定するためのインデックスMXを1からmxまで変化させながら、ステップS3054〜S3060の処理をmx回繰り返し実行する(S3052、S3062)。まず、評価機構築部104、204は、インデックスMXを1に設定し、ステップS3054に処理を進める(S3052)。ステップS3054に処理を進めると、評価機構築部104、204は、第g世代の特徴量抽出式から、寄与率に基づいて1つの特徴量抽出式(式A)を選択する(S3054)。
次いで、評価機構築部104、204は、第g世代の特徴量抽出式から、寄与率に基づいて1つの特徴量抽出式(式B)を選択する(S3056)。次いで、評価機構築部104、204は、ステップS3054にて選択された(式A)に含まれる処理関数の一部と、ステップS3056にて選択された(式B)に含まれる処理関数の一部とを組み替えて新しい特徴量抽出式を生成する(S3058)。次いで、評価機構築部104、204は、ステップS3058にて生成した新しい特徴量抽出式を特徴量抽出式リストに加える(S3060)。
ステップS3054〜S3060の処理を実行した後、評価機構築部104、204は、インデックスMXを1増加させ、再びステップS3054〜S3060の処理を実行する。評価機構築部104、204は、インデックスMXがmxに達するまでステップS3054〜S3060の処理を繰り返してmx個の特徴量抽出式を生成する。その後、評価機構築部104、204は、ステップS3038に処理を進める。
(S3054、S3056(Cf.S3036):特徴量抽出式の選択)
ここで、上記のステップS3054、S3056に係る処理について、図37を参照しながら、より詳細に説明する。
図37に示すように、評価機構築部104、204は、まず、寄与率が高いものほど選択されやすいように個々の特徴量抽出式の選択確率に重み付けをした上で、第g世代の特徴量抽出式の中から、ランダムに特徴量抽出式を1つ選択する(S3072)。次いで、評価機構築部104、204は、選択した特徴量抽出式が交差処理のために既に選択したものであるか否かを判定する(S3074)。
交差処理のために既に選択したものである場合、評価機構築部104、204は、ステップS3076に処理を進める。一方、交差処理のために既に選択したものでない場合、評価機構築部104、204は、ステップS3036を構成する次の処理ステップ(S3056(S3054の場合)又はS3058(S3056の場合))に処理を進める。
ステップS3076に処理を進めた場合、評価機構築部104、204は、既に同じ特徴量抽出式を選択したか否かを判定する(S3076)。既に同じ特徴量抽出式を選択している場合、評価機構築部104、204は、再びステップS3072に処理を戻し、新たに特徴量抽出式を1つ選択する(S3072)。一方、既に同じ特徴量抽出式を選択していない場合、評価機構築部104、204は、ステップS3036を構成する次の処理ステップ(S3056(S3054の場合)又はS3058(S3056の場合))に処理を進める。
(S3038(Cf.S3006):突然変異)
ここで、上記のステップS3038に係る処理(突然変異処理)について、図38を参照しながら、より詳細に説明する。なお、ここで行われる突然変異処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で生体が持つ遺伝子の一部が突然に変異し、新たな遺伝子の組み合わせを持つ生体が生まれる仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
図38に示すように、評価機構築部104、204は、インデックスMMを1からmmまで増加させつつ、ステップS3084〜S3088の処理を繰り返し実行して、mm個の特徴量抽出式を生成する(S3082、S3090)。まず、評価機構築部104、204は、インデックスMMを1に設定し(S3082)、第g世代の特徴量抽出式から1つの特徴量抽出式(式A)を選択する(S3084)。このとき、評価機構築部104、204は、図37に示したステップS3054の処理と同様の処理を実行し、特徴量抽出式の寄与率に基づいて特徴量抽出式(式A)を1つ選択する。
次いで、評価機構築部104、204は、特徴量抽出式に含まれる処理関数の一部をランダムに選択された処理関数に変更し、新しい特徴量抽出式を生成する(S3086)。次いで、評価機構築部104、204は、ステップS3086にて生成された新しい特徴量抽出式を特徴量抽出式リストに加える(S3088)。次いで、評価機構築部104、204は、インデックスMMを1増加させ、再びステップS3084〜S3088の処理を実行する(S3090)。
次いで、評価機構築部104、204は、インデックスMMがmmに達するまでステップS3084〜S3088の処理を繰り返し実行してmm個の特徴量抽出式を生成する。その後、評価機構築部104、204は、ステップS3040に処理を進める。
(S3040(Cf.S3006):ランダム生成)
ここで、上記のステップS3040に係る処理(ランダム生成処理)について、図39を参照しながら、より詳細に説明する。
図39に示すように、評価機構築部104、204は、インデックスMRを1からmrまで増加させつつ、ステップS3094〜S3096の処理を繰り返し実行して、mr個の特徴量抽出式を生成する(S3092、S3098)。まず、評価機構築部104、204は、インデックスMRを1に設定し(S3092)、ランダムに処理関数を組み合わせて新しい特徴量抽出式を生成する(S3094)。
次いで、評価機構築部104、204は、ステップS3092にて生成した新しい特徴量抽出式を特徴量抽出式リストに加える(S3096)。次いで、評価機構築部104、204は、インデックスMRを1増加させ、再びステップS3094、S3096の処理を実行する(S3098)。次いで、評価機構築部104、204は、インデックスMRがmrに達するまでステップS3094、S3096の処理を繰り返し実行してmr個の特徴量抽出式を生成する。なお、各特徴量抽出式は、出力がスカラ量となるように生成される。
ステップS3040の処理が終了するとステップS3006の処理が完了する。ステップS3034、S3036、S3038、S3040にて合計m個の特徴量抽出式を含む特徴量抽出式リストが生成されると、評価機構築部104、204は、ステップS304に処理を進める。
(S304:特徴量の計算)
次に、ステップS304の処理について、図40を参照しながら、より詳細に説明する。なお、ステップS3004又はS3006にて特徴量抽出式リストが生成されているものとする。また、この特徴量抽出式リストは、m個の特徴量抽出式が含まれているものとする。
図40に示すように、評価機構築部104、204は、インデックスMを1からmまで更新しつつ、ステップS3104〜S3108の処理を繰り返し実行する(S3102、S3110)。また、評価機構築部104、204は、インデックスqを1からdまで更新しながら、ステップS3106の処理を繰り返し実行する(S3104、S3108)。
まず、評価機構築部104、204は、インデックスMを1に設定してステップS3104に処理を進める(S3102)。次いで、評価機構築部104、204は、インデックスqを1に設定してステップS3106に処理を進める(S3104)。
次いで、評価機構築部104、204は、評価対象データDqを特徴量抽出式[M]に入力して特徴量を算出する(S3106)。但し、特徴量抽出式[M]は、特徴量抽出式リストに含まれる特徴量抽出式のうち、M番目の特徴量抽出式を意味する。次いで、評価機構築部104、204は、ステップS3104に処理を戻し(S3108)、インデックスqを1増加させて(S3104)、再びステップS3106に処理を進める。
そして、評価機構築部104、204は、インデックスqがdに達するまでステップS3104〜S3108の処理を繰り返し実行し、評価対象データDq(q=1,…,d)を特徴量抽出式[M]に入力して得られる特徴量[M][q]を算出する。
次いで、評価機構築部104、204は、ステップS3110に処理を進め、ステップS3102に処理を戻す(S3110)。次いで、評価機構築部104、204は、インデックスMを1増加させて(S3102)、再びステップS3104に処理を進め、ステップS3104〜S3108の処理を繰り返し実行する。
そして、評価機構築部104、204は、インデックスMがmに達するまでステップS3104〜S3108の処理を繰り返し実行して、評価対象データDq(q=1,…,d)を特徴量抽出式[M](M=1,…,m、q=1,…,d)に入力して得られる特徴量[M][q]を算出する。
このように、ステップS304において、評価機構築部104、204は、特徴量抽出式[M](M=1,…,m)のそれぞれに、評価対象データDq(q=1,…,d)を入力して特徴量[M][q](M=1,…,m、q=1,…,d)を算出する。また、ステップS304の処理にて特徴量[M][q]が算出された後、評価機構築部104、204は、ステップS306に処理を進める。
(S306:機械学習)
次に、ステップS306の処理について、図41を参照しながら、より詳細に説明する。なお、特徴量[M][q](M=1,…,m、q=1,…,d)が算出されているものとする。また、正解情報Dq(q=1,…,d)が用意されているものとする。
図41に示すように、評価機構築部104、204は、インデックスxを1からKまで増加させつつ、ステップS3114の処理を繰り返し実行する(S3112、S3116)。まず、評価機構築部104、204は、インデックスxを1に設定し(S3112)、ステップS3114に処理を進める。次いで、評価機構築部104、204は、観測値xに対応する特徴量[M][q]及び正解情報Dqを利用して機械学習を実行し、観測値xに対する評価式を算出する(S3114)。複数の特徴量抽出式を線形結合して評価式を生成する場合、ステップS3114にて各結合係数が算出される。
次いで、評価機構築部104、204は、再びステップS3112に処理を戻し(S3116)、インデックスxを1増加させて(S3112)、ステップS3114の処理を実行する。また、評価機構築部104、204は、インデックスxがKに達するまでステップS3114の処理を繰り返し実行して観測値1〜Kのそれぞれに対する評価式を生成する。
次いで、評価機構築部104、204は、ステップS3112〜S3116にて構築された評価式に対する各特徴量抽出式の寄与率を算出する(S3118)。このとき、評価機構築部104、204は、評価式に含まれる各特徴量抽出式の結合係数に基づき、評価式に対する各特徴量抽出式の寄与率を算出する。その後、評価機構築部104、204は、ステップS308に処理を進める。
(S3114(Cf.S306):機械学習による評価機の生成)
ここで、上記のステップS3114に係る処理について、図42を参照しながら、より詳細に説明する。
図42に示すように、評価機構築部104、204は、特徴量抽出式リストの中から、評価式の生成に用いる特徴量抽出式をランダムに選択して初期集団(第1世代の遺伝子)を生成する(S3122)。但し、初期集団を構成する特徴量抽出式の数は、予めpに設定されているものとする。次いで、評価機構築部104、204は、インデクスPを1〜pまで更新しながら、ステップS3126、S3128の処理を繰り返し実行する(S3124、S3130)。
まず、評価機構築部104、204は、インデックスPを1に設定し、ステップS3126に処理を進める(S3124)。次いで、評価機構築部104、204は、初期集団に含まれる特徴量抽出式に対して特徴量計算部134により算出された特徴量、及び予測元データに基づき、線形回帰、判別を実行して観測値1〜Kのそれぞれに対応する評価式を生成する(S3126)。次いで、評価機構築部104、204は、例えば、AICを用いてステップS3126で生成された評価式を評価する(S3128)。
次いで、評価機構築部104、204は、ステップS3124に処理を戻し(S3130)、インデックスPを1増加させてステップS3126に処理を進める(S3124)。次いで、評価機構築部104、204は、ステップS3126、S3128の処理を再び実行する。そして、評価機構築部104、204は、インデックスPがpに達するまでステップS3126、S3128の処理を繰り返した後、ステップS3132に処理を進める。
ステップS3132に処理を進めると、評価機構築部104、204は、AICを信頼度として利用し、評価式の生成に用いる特徴量抽出式の組み合わせを選択、交差、突然変異により変化させる(S3132)。つまり、評価機構築部104、204は、ステップS3132において、第1世代の遺伝子から第2世代の遺伝子を生成する。
次いで、評価機構築部104、204は、最も良い遺伝子の信頼度が所定世代にわたって更新されていないか否かを判定する(S3134)。所定世代にわたって最も良い遺伝子の信頼度が更新いない状態ではない場合、評価機構築部104、204は、ステップS3124に処理を戻し、再びステップS3124〜S3134の処理を実行する。
一方、所定世代にわたって最も良い遺伝子の信頼度が更新されていない場合、評価機構築部104、204は、ステップS3116に処理を進める。また、ステップS3112〜S3116の繰り返し処理を完了すると、評価機構築部104、204は、ステップS3118に処理を進める。
(S3118(Cf.S306):寄与率の計算)
ここで、上記のステップS3118の処理について、図43を参照しながら、より詳細に説明する。
図43に示すように、評価機構築部104、204は、合計寄与率Const[M]を0に初期化する(S3142)。次いで、評価機構築部104、204は、インデックスxを1からKまで更新しながら、ステップS3146〜S3150の処理を繰り返し実行する(S3144、S3152)。また、ステップS3146に処理を進めた場合、評価機構築部104、204は、インデックスMを1からmまで更新しながら、ステップS3148の処理を繰り返し実行する(S3146、S3148)。
ステップS3148において、評価機構築部104、204は、まず、観測値xに関して、評価式に対する特徴量抽出式[M]の寄与率を算出する。この寄与率は、評価式を生成する際に観測値毎に算出された特徴量抽出式[M]の結合係数に基づいて算出される。例えば、寄与率は、結合係数の二乗を含む値とする。なお、評価式に含まれない特徴量抽出式の寄与率は0である。次いで、機械学習部136は、合計寄与率Const[M]=Const[M]+観測値xに対する特徴量抽出式[M]の寄与率を計算する(S3148)。
ステップS3144、S3152による処理の繰り返し、ステップS3146、S3150による処理の繰り返しにより、特徴量抽出式リストに含まれる全ての特徴量抽出式について、観測値1〜Kに関する各特徴量抽出式の合計寄与率Const[M]が算出される。ステップS3118にて算出された各特徴量抽出式の合計寄与率Const[M]は、評価式に対する信頼度として利用される。ステップS3118の処理が終了すると、評価機構築部104、204は、ステップS306の処理を終了する。
以上、評価機の自動構築処理の流れについて説明した。
<8:応用例(時系列データの予測アルゴリズム)>
次に、図44を参照しながら、過去の時系列データから未来の時系列データを予測する時系列予測アルゴリズムの自動構築方法に上記実施形態の技術を拡張する方法について述べる。図44は、時系列予測アルゴリズムへの拡張方法を示す説明図である。
上記の各実施形態に係るアルゴリズム自動構築方法は、評価機構築用データセットのデータ及び正解情報の構成と、入力データの構成とを工夫することにより実現される。例えば、図44に示すように、複数の観測値について時系列データが得られている場合、所定時間幅wの予測元データと、その予測元データの次の時刻に観測された予測先データとを切り出す。次いで、各時刻について、予測元データを評価機構築用データセットのデータに、予測先データを正解情報に設定する。
まず、このようにして設定された評価機構築用データセットを用いて、遺伝アルゴリズムに基づく機械学習により評価機を構築する。次いで、予測元データから予測先データを生成する生成方法を準備し、その生成方法を用いて予測先データの予測値を生成する。次いで、予測値を評価機に入力して評価値を算出し、その評価値が高まるように遺伝アルゴリズムを用いて生成方法を繰り返し更新する。そして、終了条件を満たした場合に、生成方法、及び予測値を出力する。ここで出力された生成方法が時系列データの予測アルゴリズムである。
ここで説明した時系列データの予測アルゴリズムは、上記の第1実施形態に係る一応用例である。この応用例を適用することで、時間経過と共に変化するデータ量の予測値を生成する予測アルゴリズムを自動生成することが可能になる。
<9:まとめ>
最後に、本発明の実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PCやゲーム機等、種々の情報処理装置に対して適用することができる。
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、データの処理方法を準備する処理方法準備部と、データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備部により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価部と、遺伝アルゴリズムに基づいて前記処理方法を繰り返し更新し、前記評価部により算出される評価値がより高くなる処理方法を算出する処理方法更新部と、前記処理方法更新部により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力部と、を有する。
このように、遺伝アルゴリズムに基づく機械学習により評価機を自動構築しておき、その評価機を用いて、遺伝アルゴリズムにより所望の出力データを生成するアルゴリズムを構築することで、出力データがスカラ量ではないアルゴリズムの構築が可能になる。また、このような構成にすることで、遺伝アルゴリズムに基づく機械学習により、正解が一意に決まらないアルゴリズムの自動構築が可能になる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
100、150 情報処理装置(油絵フィルタ自動構築システム)
102 評価機構築用データセット入力部
104 評価機構築部
106 加工方法準備部
108 データ加工部
110 加工データ評価部
112 加工方法更新部
114 出力部
200、250 情報処理装置(疑似動き生成機自動構築システム)
202 評価機構築用データセット入力部
204 評価機構築部
206 生成方法準備部
208 疑似動き生成部
210 疑似動き評価部
212 生成方法更新部
214 出力部

Claims (7)

  1. データの処理方法を準備する処理方法準備部と、
    データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備部により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価部と、
    前記処理方法を繰り返し更新し、前記評価部により算出される評価値がより高くなる処理方法を算出する処理方法更新部と、
    前記処理方法更新部により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力部と、
    データ及び前記データの評価値を含むデータセットを入力するデータセット入力部と、
    前記データセット入力部により入力された複数のデータセットを利用し、遺伝アルゴリズムに基づく学習処理を実行して前記データから前記評価値を算出する評価機を自動生成する評価機生成部と、
    前記出力部から出力された出力データ、又は、出力データ及び処理方法の組に対するユーザの評価を受け付けるフィードバック取得部と、
    を備え、
    前記評価機生成部は、前記フィードバック取得部によりユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを前記複数のデータセットに追加し、再び前記遺伝アルゴリズムに基づく学習処理を実行して評価機を自動生成する、情報処理装置。
  2. 前記処理方法準備部により準備された処理方法、前記処理方法更新部により更新された処理方法で、ユーザにより入力された入力データを処理して出力データを生成するデータ処理部をさらに備える、請求項1に記載の情報処理装置。
  3. 前記処理方法準備部により準備された処理方法、前記処理方法更新部により更新された処理方法で、所定の初期データ又はランダムに生成された初期データを処理して出力データを生成するデータ処理部をさらに備える、請求項1に記載の情報処理装置。
  4. 前記処理方法は、ある時刻tより前に観測されたデータから当該時刻tに観測されるデータの予測値を算出する処理方法であり、
    前記出力部は、少なくとも前記処理方法を出力し、
    前記情報処理装置は、
    ある時点の観測値を初期のデータとして利用すると共に、前記出力部により出力された処理方法を繰り返し適用することで、ある時点から将来の時点に至る観測値の時系列データを予測する時系列予測部をさらに備える、請求項3に記載の情報処理装置。
  5. データの処理方法を準備する処理方法準備部と、
    データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備部により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価部と、
    前記処理方法を繰り返し更新し、前記評価部により算出される評価値がより高くなる処理方法を算出する処理方法更新部と、
    前記処理方法更新部により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力部と、
    データ及び前記データの評価値を含むデータセットを入力するデータセット入力部と、
    前記データセット入力部により入力された複数のデータセットを利用し、遺伝アルゴリズムに基づく学習処理を実行して前記データから前記評価値を算出する評価機を自動生成する評価機生成部と、
    を備え、
    記評価機生成部は、ランダムな処理方法で生成された出力データに対するユーザの評価が得られた場合に、ユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを利用して前記評価機を自動生成する、情報処理装置。
  6. データの処理方法を準備する処理方法準備ステップと、
    データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備ステップにて準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価ステップと、
    前記処理方法を繰り返し更新し、更新の度に前記評価ステップを実行して、前記評価ステップにて算出される評価値がより高くなる処理方法を算出する処理方法更新ステップと、
    前記処理方法更新ステップにて算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力ステップと、
    データ及び前記データの評価値を含むデータセットを入力するデータセット入力ステップと、
    前記データセット入力ステップにおいて入力された複数のデータセットを利用し、遺伝アルゴリズムに基づく学習処理を実行して前記データから前記評価値を算出する評価機を自動生成する評価機生成ステップと、
    前記出力ステップにおいて出力された出力データ、又は、出力データ及び処理方法の組に対するユーザの評価を受け付けるフィードバック取得ステップと、
    を含み、
    前記評価機生成ステップでは、前記フィードバック取得ステップにおいてユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを前記複数のデータセットに追加し、再び前記遺伝アルゴリズムに基づく学習処理を実行して評価機が自動生成される、情報処理方法。
  7. データの処理方法を準備する処理方法準備機能と、
    データ及び前記データの評価値を含むデータセットを複数利用し、遺伝アルゴリズムに基づく学習処理を実行して自動生成された、前記データから前記評価値を算出する評価機を用いて、前記処理方法準備機能により準備された処理方法でデータを処理した場合に得られる出力データの評価値を算出する評価機能と、
    遺伝アルゴリズムに基づいて前記処理方法を繰り返し更新し、前記評価機能により算出される評価値がより高くなる処理方法を算出する処理方法更新機能と、
    前記処理方法更新機能により算出された処理方法でデータを処理した場合に得られる出力データの評価値が所定の条件を満たした場合に当該出力データ、当該出力データと当該処理方法との組、又は当該処理方法を出力する出力機能と、
    データ及び前記データの評価値を含むデータセットを入力するデータセット入力機能と、
    前記データセット入力機能により入力された複数のデータセットを利用し、遺伝アルゴリズムに基づく学習処理を実行して前記データから前記評価値を算出する評価機を自動生成する評価機生成機能と、
    前記出力機能により出力された出力データ、又は、出力データ及び処理方法の組に対するユーザの評価を受け付けるフィードバック取得機能と、
    をコンピュータに実現させ、
    前記評価機生成機能は、前記フィードバック取得機能によりユーザから取得された評価値及び当該評価値に対応する出力データを含むデータセットを前記複数のデータセットに追加し、再び前記遺伝アルゴリズムに基づく学習処理を実行して評価機を自動生成する、プログラム。

JP2009277083A 2009-12-04 2009-12-04 情報処理装置、情報処理方法、及びプログラム Expired - Fee Related JP5446800B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009277083A JP5446800B2 (ja) 2009-12-04 2009-12-04 情報処理装置、情報処理方法、及びプログラム
EP10189513.4A EP2333697B1 (en) 2009-12-04 2010-10-29 Information processing apparatus, information processing method, and program
US12/954,145 US8694447B2 (en) 2009-12-04 2010-11-24 Information processing apparatus, information processing method, and program
CN201010573715.8A CN102147865B (zh) 2009-12-04 2010-11-26 信息处理设备、信息处理方法以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009277083A JP5446800B2 (ja) 2009-12-04 2009-12-04 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2011118785A JP2011118785A (ja) 2011-06-16
JP5446800B2 true JP5446800B2 (ja) 2014-03-19

Family

ID=43608246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009277083A Expired - Fee Related JP5446800B2 (ja) 2009-12-04 2009-12-04 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US8694447B2 (ja)
EP (1) EP2333697B1 (ja)
JP (1) JP5446800B2 (ja)
CN (1) CN102147865B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033376A (ja) * 2011-08-02 2013-02-14 Sony Corp 情報処理装置、情報処理方法、および、プログラム
US20130066452A1 (en) * 2011-09-08 2013-03-14 Yoshiyuki Kobayashi Information processing device, estimator generating method and program
JP6098498B2 (ja) * 2013-12-19 2017-03-22 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
EP3018512A1 (en) 2014-11-05 2016-05-11 Corning Optical Communications LLC Bi-directional data center architectures employing a jacketless trunk cable
US9542646B1 (en) * 2016-01-27 2017-01-10 International Business Machines Corporation Drift annealed time series prediction
EP3433832B1 (en) * 2016-03-25 2021-03-10 Koninklijke Philips N.V. Image reconstruction
US10762605B2 (en) 2017-08-04 2020-09-01 Outward, Inc. Machine learning based image processing techniques
CN108648158A (zh) * 2018-05-08 2018-10-12 广州大学 基于遗传算法的小波图像去噪方法和装置
US20210117828A1 (en) * 2018-06-27 2021-04-22 Sony Corporation Information processing apparatus, information processing method, and program
EP3629240B1 (en) * 2018-09-07 2023-08-23 Panasonic Intellectual Property Corporation of America Generative adversarial networks for local noise removal from an image
JP7419787B2 (ja) 2019-12-16 2024-01-23 東洋製罐グループホールディングス株式会社 時系列データ解析装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946673A (en) * 1996-07-12 1999-08-31 Francone; Frank D. Computer implemented machine learning and control system
JPH11259522A (ja) * 1998-03-13 1999-09-24 Mitsubishi Electric Corp 連続値感性データベースを用いたコンテンツ作成装置
JP2004326200A (ja) * 2003-04-21 2004-11-18 Mitsubishi Heavy Ind Ltd 自動機械、機械の自動運転システム、及び、機械の自動運転方法
US7356518B2 (en) * 2003-08-27 2008-04-08 Icosystem Corporation Methods and systems for multi-participant interactive evolutionary computing
US7308418B2 (en) * 2004-05-24 2007-12-11 Affinova, Inc. Determining design preferences of a group
CN1295615C (zh) * 2004-12-20 2007-01-17 华中科技大学 具有时间约束的分布式软件可靠性评估系统
US8041666B2 (en) * 2005-07-06 2011-10-18 Koninklijke Philips Electronics N.V. Method and apparatus for generation of a sequence of elements
US7979365B2 (en) * 2006-01-31 2011-07-12 The Board Of Trustees Of The University Of Illinois Methods and systems for interactive computing
US20080154808A1 (en) * 2006-10-20 2008-06-26 Genalytics, Inc. Use and construction of time series interactions in a predictive model
JP4392620B2 (ja) * 2007-08-14 2010-01-06 ソニー株式会社 情報処理装置、情報処理方法、演算装置、演算方法、プログラム、および記録媒体
EP2110784A1 (de) * 2008-04-14 2009-10-21 INFORM Institut für Operations Research und Management GmbH Verfahren und Expertensystem zum Bewerten eines Objekts
JP2009277083A (ja) 2008-05-15 2009-11-26 Fuji Xerox Co Ltd 印刷システム及びそのプログラム

Also Published As

Publication number Publication date
CN102147865B (zh) 2017-04-12
JP2011118785A (ja) 2011-06-16
EP2333697A3 (en) 2014-09-24
US8694447B2 (en) 2014-04-08
US20110137837A1 (en) 2011-06-09
EP2333697A2 (en) 2011-06-15
CN102147865A (zh) 2011-08-10
EP2333697B1 (en) 2018-10-17

Similar Documents

Publication Publication Date Title
JP5446800B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Cai et al. Learning gradient fields for shape generation
JP2011118786A (ja) 情報処理装置、観測値予測方法、及びプログラム
JP7357706B2 (ja) アバター生成装置およびコンピュータプログラム
CN105706161B (zh) 基于音高分布的自动音频协调
Iglesias et al. A survey on GANs for computer vision: Recent research, analysis and taxonomy
Liu et al. Optimization-based key frame extraction for motion capture animation
CN110084193B (zh) 用于面部图像生成的数据处理方法、设备和介质
JPWO2019022136A1 (ja) 学習方法、学習プログラム、学習装置及び学習システム
JP5573443B2 (ja) 情報処理装置、情報処理方法、及びプログラム
TWI430652B (zh) 視錯覺影像產生裝置、視錯覺影像產生方法、印刷媒體製造方法及視錯覺影像產生程式
JP2011210285A (ja) 創作物作成支援方法及びその装置並びに記録媒体
Xie et al. GAGCN: Generative adversarial graph convolutional network for non‐homogeneous texture extension synthesis
CN117456031A (zh) 一种新视角图像生成方法、装置、设备及可读存储介质
JP2018032316A (ja) 映像生成装置、映像生成モデル学習装置、その方法、及びプログラム
Debattista Application‐Specific Tone Mapping Via Genetic Programming
JP6347028B1 (ja) アップサンプル装置、コンピュータプログラム、コンピュータシステム、機器、及びアップサンプル方法
Pirchner Ergodic and emergent qualities of realtime scores. anna and marie and gamified audiovisual compositions
CN113192187A (zh) 陶瓷产品原型视觉特征与自然语义关联模型构建方法
JP6504614B2 (ja) 合成パラメータ最適化装置、その方法、及びプログラム
Azam et al. Optimized Cover Selection for Audio Steganography Using Multi-Objective Evolutionary Algorithm
Hamilton Perceptually coherent mapping schemata for virtual space and musical method
JP4313340B2 (ja) 携帯端末装置および選曲方法
Seo et al. Retrieval-augmented score distillation for text-to-3d generation
WO2024080044A1 (en) Graphical user interface for generative adversarial network music synthesizer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131105

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: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R151 Written notification of patent or utility model registration

Ref document number: 5446800

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

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