遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム
【課題】遺伝的処理において、変換適合度がより高い変換器を生成する。
【解決手段】入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から遺伝的処理により現世代の変換器を生成する生成部と、それぞれの現世代の変換器について学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、世代間での適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、を備える遺伝的処理装置を提供する。
【解決手段】入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から遺伝的処理により現世代の変換器を生成する生成部と、それぞれの現世代の変換器について学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、世代間での適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、を備える遺伝的処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムに関する。
【背景技術】
【0002】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている(非特許文献1参照)。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】前薗正宜 他2名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、[online]、コンピュータ利用教育協議会、[2008年3月20日検索]、インターネット<URL:http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、このような進化的計算により変換器を生成する方法は、目的の変換器が得られるまでに、膨大な世代数を必要とする。従って、このような方法は、目的の変換器を得るまでの演算コストが膨大となってしまっていた。また、進化的計算の過程において、大きな進歩又は変化が得られる場合または途中から停滞する場合があるが、その要因を特定しにくい。
【0005】
そこで本発明は、上記の課題を解決することのできる遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の第1の態様においては、入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、世代間での前記適合度の増分が基準値より大きい場合に、対応する世代に関する情報を収集する収集部と、を備える遺伝的処理装置、並びに当該遺伝的処理装置に関する遺伝的処理方法、および遺伝的処理プログラムを提供する。
【0007】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る遺伝的処理装置10の構成を示す。
【図2】本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。
【図3】本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。
【図4】本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。
【図5】本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。
【図6】本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。
【図7】本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。
【図8】本実施形態に係る各世代における適合度の遷移の一例を示す。
【図9】図7のステップS21における処理フローの一例を示す。
【図10】本実施形態に係る収集部49が動画像を記録する場合の一例を示す。
【図11】図7のステップS22における重み生成部43の処理フローの一例を示す。
【図12】本実施形態に係る新たな変換器20に組み込むことができる複数の処理部品の導入確率を設定するためのスライドバーの一例を示す。
【図13】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係る遺伝的処理装置10の構成を示す。遺伝的処理装置10は、少なくとも1つの変換器20を含む変換器群を進化的計算に基づいて複数世代にわたり進化させる。本実施形態において、各変換器20は、入力データを処理して処理結果を出力データとして出力する複数の処理部品22の入出力間を組み合わせた構造である。そして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を生成する。遺伝的処理装置10は、一例として、コンピュータにより実現される。また、変換器20は、一例として、画像フィルタであってよい。
【0011】
遺伝的処理装置10は、変換器格納部34と、学習用入力データ格納部36と、変換処理部38と、学習用出力データ格納部40と、学習用目標データ格納部42と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、世代情報格納部51と、表示部52と、再実行部53とを備える。変換器格納部34は、互いに異なる構成の複数の変換器20を格納する。
【0012】
学習用入力データ格納部36は、変換器20の変換対象である学習用入力データを格納する。学習用入力データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、変換器20に実際に与えられるデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用入力データは、一例として、使用者により予め生成または撮影された画像であってよい。
【0013】
変換処理部38は、変換器格納部34に格納された複数の変換器20を順次に取得する。変換処理部38は、取得したそれぞれの変換器20により、学習用入力データ格納部36に格納された学習用入力データを変換させて、学習用出力データのそれぞれを生成する。
【0014】
学習用出力データ格納部40は、変換処理部38において生成された学習用出力データを格納する。学習用出力データ格納部40は、一例として、生成された学習用出力データのそれぞれを、変換した変換器20に対応付けて格納する。
【0015】
学習用目標データ格納部42は、学習用入力データを変換器20により変換して生成される出力データの目標となる学習用目標データを格納する。学習用目標データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、学習用入力データを入力した変換器20が実際に出力するべきデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用目標データは、一例として、使用者により予め生成または準備された画像であってよい。
【0016】
重み生成部43は、学習用出力データと学習用目標データとの比較におけるデータ領域毎の重みを表わす重みデータを世代毎に更新する。重み生成部43は、一例として、学習用出力データまたは学習用目標データと、同様にデータが配置された重みデータを生成してよい。
【0017】
ここで、重み生成部43は、学習用出力データおよび学習用目標データのうちの、少なくとも一組のデータ同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータを生成する。重み生成部43は、一例として、現世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みに所定値より小さい値を加算して、次世代の重みデータを生成してよい。また、重み生成部43は、一例として、現世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みから所定値を減算して、次世代の重みデータを生成してもよい。
【0018】
また、重み生成部43は、重みデータを記憶する。さらに、重み生成部43は、選択されたデータ同士における差分がより大きいデータの重みを差分がより小さいデータの重みより大きくすべく、記憶された重みデータを、例えば世代毎に更新する。
【0019】
適合度算出部44は、変換器格納部34に格納されたそれぞれの現世代の変換器20について、学習用入力データから学習用目標データへの変換に対する適合度を算出する。ここで、適合度は、学習用入力データを学習用目標データへと変換するのに適しているかどうかを表す指標値であり、値が高いほど学習用入力データを学習用目標データへと変換するのに適していることを表す。また、適合度算出部44は、一例として、それぞれの現世代の変換器20について、学習用入力データから学習用目標データへの変換に対する適合度を、重みデータにより重み付けをして算出する。
【0020】
選択部46は、変換器格納部34に格納された複数の変換器20のうち少なくとも1つの変換器20を選択する。この場合において、選択部46は、適合度がより高い変換器20を優先的に選択する。より具体的には、選択部46は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも1つの変換器20を選択する。選択部46は、一例として、変換器格納部34に格納された複数の変換器20のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも1つの変換器20を選択する。
【0021】
更新部48は、変換器格納部34に格納された複数の変換器20のうち、選択部46により選択された変換器20を残存させ、選択部46により選択されなかった変換器20を淘汰する。更新部48は、一例として、変換器20を変換器格納部34から削除することにより淘汰する。
【0022】
収集部49は、世代間での適合度の増分が基準値より大きい場合に、対応する世代に関する情報を収集する。ここで、収集部49は、各世代における各変換器20の適合度の最高値または適合度の平均値を、世代の適合度としてもよい。また、収集部49は、世代間での適合度の増分が基準値より大きい場合に、世代間での適合度の増分が基準値以下の場合と比較してより多くの対応する世代に関する情報を収集してもよい。ここで、収集部49は、一例として、適合度の増分が基準値より大きい世代間で、直前の世代および/または直後の世代を、収集対象の世代とする。また、収集部49は、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集してもよい。また、収集部49は、世代間での適合度の増分がより大きい場合に、適合度に応じて、対応する世代に関する情報を収集してもよい。
【0023】
また、収集部49は、一例として、少なくとも1つの変換器20の構造および変換器20により学習用入力データを変換した学習用出力データの少なくとも1つを収集する。より具体的には、収集部49は、一例として、生成した新たな変換器20のそれぞれについて、遺伝的な操作の種類、親の変換器20を特定するための情報、および、交叉または突然変異の操作により置換した処理部品22の組を特定するための情報の少なくとも1つを収集する。また、変換器20が画像フィルタである場合、収集部49は、画像フィルタが出力した出力画像および重み画像の少なくとも1つを収集してもよい。
【0024】
また、収集部49は、選択部46によって選択された所定値以上の適合度の変換器20の構造および当該変換器により学習用入力データを変換した学習用出力データの少なくとも1つを収集してもよい。ここで、収集部49は、世代間での適合度の増分が基準値より大きい場合に、基準より小さい場合と比較してより多くの変換器20についての情報を収集してよい。この場合、収集部49は、適合度の高い変換器20から優先的に基準値に応じた個数の変換器20を選択してよい。さらに、収集部49は、一例として、世代間での適合度の増分が基準値より大きい場合に、重みデータを収集する。また、収集部49は、一例として、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、重みデータを収集してもよい。
【0025】
また、収集部49は、一例として、世代間での適合度の増分が基準値より大きい場合に、全ての変換器20を再現可能に保存する。ここで、収集部49は、対象となる世代の変換器20を少なくとも1つ含む変換器群の全てを保存してもよい。また、収集部49は、処理部品22の組み合わせ等の変換器20の構造情報を保存してもよい。また、収集部49は、一例として、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、全ての変換器20を再現可能に保存してもよい。
【0026】
生成部50は、入力データを処理して処理結果を出力データとして出力する複数の処理部品22を含む少なくとも1つの前世代および変換器格納部34に格納された少なくとも1つの変換器20から、遺伝的処理により現世代の変換器20を生成する。
【0027】
生成部50は、更新部48による更新処理において残存した少なくとも1つの変換器20を、変換器格納部34から取得する。続いて、生成部50は、取得した少なくとも1つの変換器20に対して交叉および突然変異等の遺伝的な操作をして、新たな変換器20を生成する。そして、生成部50は、生成した新たな変換器20を変換器格納部34に書き込む。これにより、変換器格納部34は、更新処理において残存した少なくとも1つの変換器20および生成部50が生成した新たな変換器20を、格納することができる。
【0028】
世代情報格納部51は、収集部49が収集した各世代に関する情報を格納する。また、世代情報格納部51は、一例として、収集部49が記録した世代順に表示部52が出力結果を表示する動画像も格納する。
【0029】
表示部52は、世代情報格納部51から取得した動画像の出力中において一の世代が指定された場合、指定された一の世代に関する情報を表示する。表示部52は、表示する情報として、指定された世代に関する情報および指定された世代の前後数世代に関する情報を表示してもよい。ここで、表示部52は、指定された世代に関する情報に対して、指定された世代の前後数世代に関する一部の情報を表示してもよい。
【0030】
再実行部53は、ユーザの指定または乱数等による変更などの外部からの指定に応じて、指定された世代の全ての変換器20を再現して、生成部50に対して全ての変換器20を生成した処理条件と異なる処理条件を設定して、遺伝的処理を再実行する。例えば、再実行部53は、処理条件として、生成部50による突然変異率、交叉率、および、複数の処理部品22のそれぞれが変換器20に導入される導入確率の少なくとも1つを設定する。これにより、生成部50は、処理の途中において、新たな条件で変換器を生成することができる。
【0031】
このような遺伝的処理装置10は、変換処理部38による変換処理、適合度算出部44による適合度の算出処理、選択部46による変換器20の選択処理、更新部48による更新処理および生成部50による新たな変換器20の生成処理を、複数回(例えば複数世代)繰り返す。これにより、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、進化的計算を用いて生成することができる。
【0032】
図2は、本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。図3は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。
【0033】
変換器20は、図2に示されるような、複数の処理部品22を直列に組み合わせた構成であってよい。また、変換器20は、図3に示されるような、複数の処理部品22を木構造に組み合わせた構成であってもよい。また、変換器20は、1つの入力端に対して、複数の出力端を有する構成であってもよい。また、変換器20は、複数の入力端および複数の出力端を有する構成であってもよい。
【0034】
変換器20は、受け取った入力データに対して演算処理を施して、出力データを出力する。変換器20は、一例として、入力データに対して演算を施すプログラムにより実行される。また、変換器20は、入力データに対して施すべき演算内容を表わす演算式であってもよい。
【0035】
なお、処理部品22が木構造に組み合わされた構成の変換器20は、木構造の末端の処理部品22に入力データが与えられ、木構造の最上位の処理部品22から出力データを出力する。また、このような変換器20は、複数の末端の処理部品22のそれぞれに、同一の入力データが与えられる。これに代えて、このような変換器20は、複数の末端の処理部品22のそれぞれに互いに異なる入力データが与えられてもよい。
【0036】
それぞれの変換器20は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせた画像フィルタであってよい。この場合、各処理部品22は、前段に配置された処理部品22から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置された処理部品22に与える。生成部50は、一例として、複数のフィルタ部品を含む少なくとも1つの前世代の画像フィルタを少なくとも1つの前世代の変換器20として、遺伝的処理により現世代の画像フィルタを生成する。また、この場合、遺伝的処理装置10は、複数の画像フィルタを含む画像フィルタ群を進化的計算に基づいて複数世代にわたり進化させる。
【0037】
また、変換器20は、一例として、ハードウェアである処理部品22を組み合わせた構成であってよい。この場合、変換器格納部34は、変換器を表すデータ構造として、各処理部品間のデータ授受関係を示す構成データを記憶する。また、変換器20は、データに対して演算を施すプログラムである処理部品22を組み合わせた構成であってもよい。また、変換器20は、データに対して施すべき演算内容を表わす演算式である処理部品22を組み合わせた構成であってもよい。
【0038】
また、変換器20は、例えば、1次元データ列、2次元データ群、3次元データ群、又は、更に多次元のデータ群等を変換してもよい。1次元データ列は、例えば、時系列データ又は配列状のデータ列等である。2次元データ群は、例えば、複数の画素データ等が2次元空間に配列された画像データ等である。3次元データ群は、例えば、色又は濃度等を表わすデータ値が3次元空間の各格子点に配置されたボリュームデータ等である。また、変換器20は、入力されたデータと異なる次元のデータを出力してもよい。
【0039】
複数の処理部品22のそれぞれは、前段に配置された処理部品22から出力された入力データを受け取り、受け取った入力データに演算を施して後段に配置された処理部品22に与える。複数の処理部品22のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った入力データに対して2値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び/または周波数空間での演算(例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算)等の単項演算を施してもよい。
【0040】
また、複数の処理部品22のそれぞれは、受け取った入力データに対して平均演算、差分演算及び/またはファジー演算(例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等)等の二項演算を施してもよい。
【0041】
図4は、本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。図5は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。図6は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。
【0042】
生成部50は、一例として、2個またはそれ以上の変換器20に対して、遺伝的な操作の一例である交叉操作を行って新たな2個またはそれ以上の変換器20を生成する。生成部50は、一例として、図4および図5に示されるように、既に生成された少なくとも1つの一の変換器20Aの一部の部品群24Aを、既に生成された他の変換器20Bの少なくとも一部の部品群24Bと置換して、新たな変換器20Eおよび20Fを生成する。なお、部品群24は、1または複数の処理部品22を組み合わせた部材である。
【0043】
また、生成部50は、一例として、一の変換器20に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の変換器20を生成する。生成部50は、一例として、図4および図6に示されるように、既に生成された一の変換器20Cの一部の部品群24Cを、ランダムに選択された他の部品群24Gに置換して、新たな変換器20Gを生成する。
【0044】
また、生成部50は、現世代の変換器20をそのまま次世代の変換器20として残してもよい。生成部50は、一例として、図4に示されるように、変換器20Dの処理部品22の構成をそのまま含む次世代の変換器20Hを生成する。
【0045】
選択部46は、生成部50により生成された複数の変換器20に対して生物の自然淘汰をモデル化した手法により1または複数の変換器20を選択する。選択部46は、複数の変換器20の中の適合度がより高い変換器20を優先的に選択してもよい。選択部46は、一例として、複数の変換器20のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、変換器20を選択してよい。そして、更新部48は、選択された変換器20を次世代へ生存させるべく当該変換器20を変換器格納部34内に保存し、選択されなかった変換器20を死滅させるべく変換器格納部34内から削除する。
【0046】
図7は、本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。遺伝的処理装置10は、ステップS13〜ステップS17の各処理を、複数回(例えば複数世代)繰返して実行する(S12、S18)。なお、遺伝的処理装置10は、与えられた学習用入力データを学習用目標データに変換する変換器20を生成するための初期の変換器20として、ランダムに生成したまたは既に生成した変換器20を、予め変換器格納部34に格納しておく。
【0047】
それぞれの世代において、まず、変換処理部38は、現世代の変換器群に含まれる複数の変換器20のそれぞれについて、当該変換器20により学習用入力データを変換した学習用出力データを生成する(S13)。変換処理部38は、生成した学習用出力データを当該変換器20に対応付けて学習用出力データ格納部40に格納させる。
【0048】
続いて、適合度算出部44は、現世代の変換器群に含まれる複数の変換器20のそれぞれについて、適合度を算出する(S14)。適合度算出部44は、一例として、学習用出力データと学習用目標データとの類似度または近似度を適合度として算出する。なお、適合度算出部44は、近似度に加え、処理部品の数の少なさ、処理負荷の低さ、および並列度の大きさ等に応じて評価を高めた適合度を算出してもよい。
【0049】
そして、収集部49は、例えば、適合度が基準値以上である場合、対応する世代に関する情報を収集する(S21)。続いて、選択部46は、現世代の変換器群に含まれる複数の変換器20のうち、適合度が高い変換器20を優先的に選択する(S15)。選択部46は、一例として、適合度が基準値より高い変換器20を選択する。
【0050】
また、選択部46は、一例として、現世代の変換器群に含まれる複数の変換器20のうち、適合度が上位から予め定められた範囲の変換器20を選択してもよい。また、選択部46は、一例として、適合度がより高い変換器20がより高い確率で選択されるように設定がされている条件下で、ランダムに変換器20を選択してもよい。なお、選択部46は、一例として、最後の世代においては、適合度の最も高い1個の変換器20を選択する。
【0051】
続いて、更新部48は、変換器格納部34に格納された変換器群を更新する(S16)。より具体的には、更新部48は、現世代の変換器群に含まれる複数の変換器20のうちステップS15において選択された変換器20を次世代へと残存させ、他の変換器20を淘汰することにより、変換器群を更新する。更新部48は、一例として、ステップS15において選択されなかった変換器20を、変換器格納部34から消去することによって淘汰する。
【0052】
続いて、生成部50は、更新処理によって変換器群に残存した少なくとも1つの変換器20に対して、交叉および突然変異等の遺伝的な操作を行って、1または複数個の新たな変換器20を生成する(S17)。この場合、生成部50は、それぞれの処理部品22が収集部49により設定された導入確率で、新たな変換器20に対して導入されるように遺伝的な操作を行う。例えば、生成部50は、交叉の操作を行う場合において、新たな変換器20に組み込むことができる複数の処理部品22のうちの1または複数の処理部品22を設定された導入確率で選択し、親となる変換器20における一部の部品群24と、選択した1または複数の処理部品22を含む部品群24とを置換する。
【0053】
そして、生成部50は、残存した変換器20および新たな変換器20を、次世代の変換器群に含まれる複数の変換器20として変換器格納部34に格納させる。なお、生成部50は、最後の世代においては、当該処理を実行しない。
【0054】
重み生成部43は、世代毎に適切な重みデータを生成するべく、次世代用の新たな重みデータを生成する(S22)。なお、重み生成部43は、最後の世代においては、当該処理を実行しなくてよい。重みデータの生成処理についての詳細については後述する。
【0055】
遺伝的処理装置10は、以上の処理を複数の世代(例えば数十世代または数百世代以上)繰返して実行して、最後の世代(例えば第N世代、Nは2以上の自然数)まで処理を実行した後に、当該フローを抜ける(S18)。このようにして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、進化的計算を用いて生成することができる。
【0056】
図8は、各世代における適合度の遷移の一例を示す。本図のグラフは、横軸を世代とし、縦軸を適合度とした時の適合度の遷移を示す。各世代の適合度は、遺伝的処理装置10による遺伝的処理によって、変換器20が進化するのに伴って高くなる。
【0057】
本例においては、一例として、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合に、収集部49は、前世代に関する情報を収集する。また、遺伝的処理装置10は、世代間での適合度の増分として、2以上の世代間における適合度の増分を用いてもよい。ここで、適合度の増分が基準値より大きい場合、直前の世代の変換器群には、適合度をより大きく増加させる処理部品22の組み合わせを含む変換器20が存在する可能性が高い。
【0058】
そこで、収集部49は、一例として、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合に、前世代の変換器20等に関する情報を、収集対象の世代情報として世代情報格納部51内に格納する。収集部49は、現世代の変換器20または現世代に関する情報を、収集対象の世代情報として世代情報格納部51内に格納してもよい。
【0059】
これによって、遺伝的処理装置10は、当該世代に対して変換条件を変更して再実行可能として、適合度がより大きい変換器20を効率的に生成できる可能性を高める。また、収集部49は、前世代および現世代の2世代間での適合度の増分が基準値より小さい場合は、適合度の増分が基準値より大きい場合と比較して、収集する情報を少なくしてもよい。
【0060】
図9は、図7のステップS21における処理フローの一例を示す。遺伝的処理装置10は、図7のステップS21において、以下の処理を実行する。
【0061】
収集部49は、適合度算出部44が算出した前世代および現世代の2世代の適合度をそれぞれ取得する(S31)。そして、収集部49は、2世代間での適合度の増分を算出する。ここで、一例として、収集部49は、予め設定した増分値の基準値と、取得した2世代間の適合度の増分と比較する(S32)。
【0062】
続いて、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合(S32:Yes)、収集部49は、一例として、前世代におけるエリート変換器20の構造および当該変換器20により学習用入力データを変換した学習用出力データの少なくとも1つを収集する(S33)。そして、ステップS33の処理が終了した場合、または、ステップS32において世代間での適合度の増分が基準値より小さいと判断した場合(S32:No)、収集部49は、当該処理フローを抜けて図7のステップS15に処理を進める。
【0063】
このようにして、遺伝的処理装置10は、世代毎の情報を収集することで、進化の過程の確認を可能とする。また、遺伝的処理装置10は、特に変化が著しい世代に対して詳細に情報を収集することにより、適合度の高い変換器20を生成するようにユーザ調整を可能とする。
【0064】
図10は、本実施形態に係る収集部49が動画像を記録する場合の一例を示す。例えば、収集部49は、それぞれの世代に関する情報を含む表示画面を世代順に表示する動画像を、世代間での適合度の増分が基準値以下の場合と比較して、適合度の増分が基準値より大きい世代の時間間隔を長くして記録する。また、収集部49は、それぞれの世代に関する情報を含む表示画面を世代順に表示する動画像を、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、その対応する世代の時間間隔を長くして記録してもよい。
【0065】
ここで、収集部49は、適合度の増分が基準値より大きい世代の時間間隔を長く記録すると共に、当該世代の前後の世代についても適合度の増分が基準値より小さい他の世代より長く記録してもよい。収集部49は、世代に関する情報を含む画像として、適合度がエリート変換器が出力する出力画像、当該各世代における重み画像、およびエリート変換器の構造を示す画像を少なくとも1つを出力してもよい。図10の例において、収集部49は、適合度の増分が基準値より大きい世代と、当該世代の前後2世代の時間間隔を長く記録する。
【0066】
収集部49は、一例として、適合度が基準値より高い世代を1.0s、適合度が基準値より小さい世代のうち適合度が基準値より大きい世代の前後1世代を0.6s、適合度が基準値より小さい世代のうち適合度が基準値より大きい世代の前後2世代を0.4s、および、その他の適合度が基準値より小さい世代を0.2sとして記録する。
【0067】
これによって、遺伝的処理装置10は、適合度の変化が大きい世代について、変換器の情報および出力データの変化状況等を、ユーザによる詳細な調査および確認を可能とする。そして、遺伝的処理装置10は、調査結果等に基づいて、ユーザが導入確率等の設定を変更して再実行することによって、変換適合度のより高い変換器20を効率よく生成することができる。
【0068】
以上のように、遺伝的処理装置10によれば、例えば、より大きく進化(又は変化)した状態が、表示部52を介してユーザが容易に確認できる。そして、遺伝的処理装置10は、進化の過程の途中から突然変異率および交叉率をユーザによって増加または減少させて、進化をやり直すことができる。また、遺伝的処理装置10は、再実行する場合に、指定した世代の変換器20を確実に復元することによって、指定した世代より前の世代の情報を失わずに、無駄がなくより高い適合度の変換器20を効率よく生成することができる。これにより、遺伝的処理装置10によれば、少ない演算コスト(演算時間を含む)で、目的とする変換器20を生成することができる。
【0069】
図11は、図7のステップS22における重み生成部43の処理フローの一例を示す。重み生成部43は、図7に示されたステップS22における重みデータの生成処理において、以下のステップS131〜S133の処理を実行する。まず、重み生成部43は、重みデータ生成用として、変換器20が出力した出力データおよび目標データのうちの、少なくとも一組のデータを抽出する(S131)。
【0070】
続いて、重み生成部43は、ステップS131において重みデータ生成用として抽出された少なくとも一組のデータ同士の、データ毎の差分を算出する(S132)。重み生成部43は、抽出されたデータの組における、対応する位置同士のデータの差分を算出する。例えば、重み生成部43は、抽出されたデータの組が3次元データ群であれば、互いに対応する格子点同士のデータの差分を算出する。また、重み生成部43は、2つのデータの減算結果の絶対値を、差分として算出してもよい。
【0071】
また、重み生成部43は、ステップS131において複数組のデータを抽出した場合には、例えば、複数組のデータの差分をデータ毎に(例えば、3次元データ群であれば格子点毎に)、合計又は平均する。これに代えて、重み生成部43は、複数組のデータの差分のうち最も大きい1個の差分を、データ毎に選択してもよい。
【0072】
続いて、重み生成部43は、ステップS132において算出されたデータ毎の差分に基づき、次世代用の重みデータを生成する(S133)。より具体的には、重み生成部43は、差分がより大きいデータの重みを差分がより小さいデータの重みより大きくするような次世代の重みデータを生成する。なお、重み生成部43は、最初の世代においては、使用者により予め生成された重みデータを記憶してもよい。また、重み生成部43は、データ毎の重みが同一とされた重みデータを記憶してもよい。
【0073】
ここで、このような処理を行う場合、重み生成部43は、ステップS131において、現世代以前の少なくとも1つの変換器20が出力する少なくとも1つの出力データおよび目標データのうちの、少なくとも一組のデータ同士から次世代用の重みデータを生成する。
【0074】
重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの出力データのそれぞれと目標データとの組を抽出する。即ち、この場合、重み生成部43は、出力データと目標データとの組を、現世代以前の各世代について抽出する。
【0075】
また、重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した2つの出力データの組を抽出する。即ち、この場合、重み生成部43は、異なる2つの出力データの組を、現世代以前の各世代について抽出する。
【0076】
また、重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの出力データのそれぞれと目標データとの組、および、近似度が大きい順に選択した2つの出力データの組の両者を抽出する。即ち、この場合、重み生成部43は、目標データと出力データの組、および、異なる2つの出力データの組の両方を、現世代以前の各世代について抽出する。
【0077】
重み生成部43は、以上のように抽出したそれぞれの組毎に、データ間のデータ毎の差分を算出する。そして、重み生成部43は、それぞれの組毎に算出したデータ毎の差分から、次世代用の重みデータを生成する。これにより、重み生成部43は、次世代の2以上の変換器20が出力する2以上の出力データのそれぞれと目標データとのデータ毎の差分を次世代用の重みデータにより重み付けして2以上の出力データのそれぞれの近似度を算出することができる。
【0078】
このような本実施形態に係る遺伝的処理装置10によれば、重みデータによりデータ毎に適切な重み付けをして出力データと目標データとの近似度を算出することができる。これにより、遺伝的処理装置10によれば、複数の出力データの中から目標データに近似した出力データを適切に選択することができる。
【0079】
更に、遺伝的処理装置10は、次世代用の重みデータを、現世代以前の各世代において生成された出力データを用いて生成する。これにより、遺伝的処理装置10によれば、同一の重みデータが周期的に繰り返して生成されてしまう状態となることを回避して、適切な重みデータを長期的に安定して生成することができる。
【0080】
図12は、新たな変換器20に組み込むことができる複数の処理部品の導入確率を設定するためのスライドバーの一例を示す。再実行部53は、変換器20に対して組み込むことができる処理部品22のそれぞれについて、遺伝的な操作によって新たな変換器20に導入される導入確率を記憶する。例えば、変換器20がフィルタであれば、再実行部53は、フィルタの種類毎(例えば2値化演算および平均演算等の種類毎)に、導入確率を記憶する。
【0081】
再実行部53は、このように記憶した導入確率を、ユーザ等による外部からの入力に応じて個別に設定および変更する。再実行部53は、一例として、外部からの入力に応じて移動させるスライドバーを表示して、スライドバーの位置に応じて少なくとも1つの変換器20に組み込むことができる複数の処理部品22のそれぞれの導入確率を変化させてもよい。
【0082】
図12の例においては、再実行部53は、複数の処理部品22の平均の導入確率に対する、対応する処理部品22の導入確率の割合に応じた係数を、スライドバーで変化させている。例えば、図12の例においては、再実行部53は、スライドバーにより係数が1に設定された場合、対応する処理部品22の導入確率を平均値に設定する。また、再実行部53は、一例として、表示部52でユーザが指定した世代から、複数の処理部品22のそれぞれに対する設定を適宜変更して、再実行してもよい。
【0083】
更に、再実行部53は、少なくとも1つの変換器20に組み込むことができる複数の処理部品22のそれぞれについて、最初の世代の変換器20に導入される導入確率を設定してもよい。この場合、生成部50は、それぞれの種類の処理部品22が設定された割合で組み込まれるように、最初の世代の変換器群に含まれる変換器20の構成を変更する。
【0084】
以上のように、遺伝的処理装置10は、複数の処理部品22のそれぞれについて、遺伝的な操作によって新たな変換器20に導入される導入確率を設定する。従って、遺伝的処理装置10は、組み込まれることにより適合度の高い変換器20が生成できると予測される処理部品22が、他の処理部品22より大きい確率で組み込まれるように、遺伝的な操作に重みを与えることができる。これにより、遺伝的処理装置10は、目的とする変換器20が得られるまでの処理時間および演算コストを小さくすることができる。
【0085】
また、複数の世代にわたって適合度が収束した場合、収集部49は、一例として、当該変換器20が適用されるアプリケーションにおいて有効であると推定される処理部品22の導入確率を、他の処理部品22の導入確率よりも高くする。これにより、遺伝的処理装置10は、進化の途中において突然変異等の遺伝的な操作の条件を変えて再実行できるので、例えば進化が進まなくなった場合であっても、目的とする変換器を得ることができる可能性を高くすることができる。
【0086】
図13は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスク・ドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0087】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0088】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスク・ドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。
【0089】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0090】
RAM2020を介してハードディスク・ドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスク・ドライブ2040にインストールされ、CPU2000において実行される。
【0091】
コンピュータ1900にインストールされ、コンピュータ1900を遺伝的処理装置10として機能させるプログラムは、変換処理モジュールと、重み生成モジュールと、適合度算出モジュールと、選択モジュールと、更新モジュールと、収集モジュールと、生成モジュールと、再実行モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、変換処理部38と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、再実行部53としてそれぞれ機能させる。
【0092】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である変換処理部38と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、再実行部53として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の遺伝的処理装置10が構築される。
【0093】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスク・ドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0094】
また、CPU2000は、ハードディスク・ドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0095】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0096】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0097】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0098】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0099】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0100】
10 遺伝的処理装置、20 変換器、22 処理部品、24 部品群、34 変換器格納部、36 学習用入力データ格納部、38 変換処理部、40 学習用出力データ格納部、42 学習用目標データ格納部、43 重み生成部、44 適合度算出部、46 選択部、48 更新部、49 収集部、50 生成部、51 世代情報格納部、52 表示部、53 再実行部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスク・ドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD
【技術分野】
【0001】
本発明は、遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムに関する。
【背景技術】
【0002】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている(非特許文献1参照)。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】前薗正宜 他2名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、[online]、コンピュータ利用教育協議会、[2008年3月20日検索]、インターネット<URL:http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、このような進化的計算により変換器を生成する方法は、目的の変換器が得られるまでに、膨大な世代数を必要とする。従って、このような方法は、目的の変換器を得るまでの演算コストが膨大となってしまっていた。また、進化的計算の過程において、大きな進歩又は変化が得られる場合または途中から停滞する場合があるが、その要因を特定しにくい。
【0005】
そこで本発明は、上記の課題を解決することのできる遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の第1の態様においては、入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、世代間での前記適合度の増分が基準値より大きい場合に、対応する世代に関する情報を収集する収集部と、を備える遺伝的処理装置、並びに当該遺伝的処理装置に関する遺伝的処理方法、および遺伝的処理プログラムを提供する。
【0007】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る遺伝的処理装置10の構成を示す。
【図2】本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。
【図3】本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。
【図4】本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。
【図5】本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。
【図6】本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。
【図7】本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。
【図8】本実施形態に係る各世代における適合度の遷移の一例を示す。
【図9】図7のステップS21における処理フローの一例を示す。
【図10】本実施形態に係る収集部49が動画像を記録する場合の一例を示す。
【図11】図7のステップS22における重み生成部43の処理フローの一例を示す。
【図12】本実施形態に係る新たな変換器20に組み込むことができる複数の処理部品の導入確率を設定するためのスライドバーの一例を示す。
【図13】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係る遺伝的処理装置10の構成を示す。遺伝的処理装置10は、少なくとも1つの変換器20を含む変換器群を進化的計算に基づいて複数世代にわたり進化させる。本実施形態において、各変換器20は、入力データを処理して処理結果を出力データとして出力する複数の処理部品22の入出力間を組み合わせた構造である。そして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を生成する。遺伝的処理装置10は、一例として、コンピュータにより実現される。また、変換器20は、一例として、画像フィルタであってよい。
【0011】
遺伝的処理装置10は、変換器格納部34と、学習用入力データ格納部36と、変換処理部38と、学習用出力データ格納部40と、学習用目標データ格納部42と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、世代情報格納部51と、表示部52と、再実行部53とを備える。変換器格納部34は、互いに異なる構成の複数の変換器20を格納する。
【0012】
学習用入力データ格納部36は、変換器20の変換対象である学習用入力データを格納する。学習用入力データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、変換器20に実際に与えられるデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用入力データは、一例として、使用者により予め生成または撮影された画像であってよい。
【0013】
変換処理部38は、変換器格納部34に格納された複数の変換器20を順次に取得する。変換処理部38は、取得したそれぞれの変換器20により、学習用入力データ格納部36に格納された学習用入力データを変換させて、学習用出力データのそれぞれを生成する。
【0014】
学習用出力データ格納部40は、変換処理部38において生成された学習用出力データを格納する。学習用出力データ格納部40は、一例として、生成された学習用出力データのそれぞれを、変換した変換器20に対応付けて格納する。
【0015】
学習用目標データ格納部42は、学習用入力データを変換器20により変換して生成される出力データの目標となる学習用目標データを格納する。学習用目標データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、学習用入力データを入力した変換器20が実際に出力するべきデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用目標データは、一例として、使用者により予め生成または準備された画像であってよい。
【0016】
重み生成部43は、学習用出力データと学習用目標データとの比較におけるデータ領域毎の重みを表わす重みデータを世代毎に更新する。重み生成部43は、一例として、学習用出力データまたは学習用目標データと、同様にデータが配置された重みデータを生成してよい。
【0017】
ここで、重み生成部43は、学習用出力データおよび学習用目標データのうちの、少なくとも一組のデータ同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータを生成する。重み生成部43は、一例として、現世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みに所定値より小さい値を加算して、次世代の重みデータを生成してよい。また、重み生成部43は、一例として、現世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みから所定値を減算して、次世代の重みデータを生成してもよい。
【0018】
また、重み生成部43は、重みデータを記憶する。さらに、重み生成部43は、選択されたデータ同士における差分がより大きいデータの重みを差分がより小さいデータの重みより大きくすべく、記憶された重みデータを、例えば世代毎に更新する。
【0019】
適合度算出部44は、変換器格納部34に格納されたそれぞれの現世代の変換器20について、学習用入力データから学習用目標データへの変換に対する適合度を算出する。ここで、適合度は、学習用入力データを学習用目標データへと変換するのに適しているかどうかを表す指標値であり、値が高いほど学習用入力データを学習用目標データへと変換するのに適していることを表す。また、適合度算出部44は、一例として、それぞれの現世代の変換器20について、学習用入力データから学習用目標データへの変換に対する適合度を、重みデータにより重み付けをして算出する。
【0020】
選択部46は、変換器格納部34に格納された複数の変換器20のうち少なくとも1つの変換器20を選択する。この場合において、選択部46は、適合度がより高い変換器20を優先的に選択する。より具体的には、選択部46は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも1つの変換器20を選択する。選択部46は、一例として、変換器格納部34に格納された複数の変換器20のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも1つの変換器20を選択する。
【0021】
更新部48は、変換器格納部34に格納された複数の変換器20のうち、選択部46により選択された変換器20を残存させ、選択部46により選択されなかった変換器20を淘汰する。更新部48は、一例として、変換器20を変換器格納部34から削除することにより淘汰する。
【0022】
収集部49は、世代間での適合度の増分が基準値より大きい場合に、対応する世代に関する情報を収集する。ここで、収集部49は、各世代における各変換器20の適合度の最高値または適合度の平均値を、世代の適合度としてもよい。また、収集部49は、世代間での適合度の増分が基準値より大きい場合に、世代間での適合度の増分が基準値以下の場合と比較してより多くの対応する世代に関する情報を収集してもよい。ここで、収集部49は、一例として、適合度の増分が基準値より大きい世代間で、直前の世代および/または直後の世代を、収集対象の世代とする。また、収集部49は、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集してもよい。また、収集部49は、世代間での適合度の増分がより大きい場合に、適合度に応じて、対応する世代に関する情報を収集してもよい。
【0023】
また、収集部49は、一例として、少なくとも1つの変換器20の構造および変換器20により学習用入力データを変換した学習用出力データの少なくとも1つを収集する。より具体的には、収集部49は、一例として、生成した新たな変換器20のそれぞれについて、遺伝的な操作の種類、親の変換器20を特定するための情報、および、交叉または突然変異の操作により置換した処理部品22の組を特定するための情報の少なくとも1つを収集する。また、変換器20が画像フィルタである場合、収集部49は、画像フィルタが出力した出力画像および重み画像の少なくとも1つを収集してもよい。
【0024】
また、収集部49は、選択部46によって選択された所定値以上の適合度の変換器20の構造および当該変換器により学習用入力データを変換した学習用出力データの少なくとも1つを収集してもよい。ここで、収集部49は、世代間での適合度の増分が基準値より大きい場合に、基準より小さい場合と比較してより多くの変換器20についての情報を収集してよい。この場合、収集部49は、適合度の高い変換器20から優先的に基準値に応じた個数の変換器20を選択してよい。さらに、収集部49は、一例として、世代間での適合度の増分が基準値より大きい場合に、重みデータを収集する。また、収集部49は、一例として、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、重みデータを収集してもよい。
【0025】
また、収集部49は、一例として、世代間での適合度の増分が基準値より大きい場合に、全ての変換器20を再現可能に保存する。ここで、収集部49は、対象となる世代の変換器20を少なくとも1つ含む変換器群の全てを保存してもよい。また、収集部49は、処理部品22の組み合わせ等の変換器20の構造情報を保存してもよい。また、収集部49は、一例として、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、全ての変換器20を再現可能に保存してもよい。
【0026】
生成部50は、入力データを処理して処理結果を出力データとして出力する複数の処理部品22を含む少なくとも1つの前世代および変換器格納部34に格納された少なくとも1つの変換器20から、遺伝的処理により現世代の変換器20を生成する。
【0027】
生成部50は、更新部48による更新処理において残存した少なくとも1つの変換器20を、変換器格納部34から取得する。続いて、生成部50は、取得した少なくとも1つの変換器20に対して交叉および突然変異等の遺伝的な操作をして、新たな変換器20を生成する。そして、生成部50は、生成した新たな変換器20を変換器格納部34に書き込む。これにより、変換器格納部34は、更新処理において残存した少なくとも1つの変換器20および生成部50が生成した新たな変換器20を、格納することができる。
【0028】
世代情報格納部51は、収集部49が収集した各世代に関する情報を格納する。また、世代情報格納部51は、一例として、収集部49が記録した世代順に表示部52が出力結果を表示する動画像も格納する。
【0029】
表示部52は、世代情報格納部51から取得した動画像の出力中において一の世代が指定された場合、指定された一の世代に関する情報を表示する。表示部52は、表示する情報として、指定された世代に関する情報および指定された世代の前後数世代に関する情報を表示してもよい。ここで、表示部52は、指定された世代に関する情報に対して、指定された世代の前後数世代に関する一部の情報を表示してもよい。
【0030】
再実行部53は、ユーザの指定または乱数等による変更などの外部からの指定に応じて、指定された世代の全ての変換器20を再現して、生成部50に対して全ての変換器20を生成した処理条件と異なる処理条件を設定して、遺伝的処理を再実行する。例えば、再実行部53は、処理条件として、生成部50による突然変異率、交叉率、および、複数の処理部品22のそれぞれが変換器20に導入される導入確率の少なくとも1つを設定する。これにより、生成部50は、処理の途中において、新たな条件で変換器を生成することができる。
【0031】
このような遺伝的処理装置10は、変換処理部38による変換処理、適合度算出部44による適合度の算出処理、選択部46による変換器20の選択処理、更新部48による更新処理および生成部50による新たな変換器20の生成処理を、複数回(例えば複数世代)繰り返す。これにより、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、進化的計算を用いて生成することができる。
【0032】
図2は、本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。図3は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。
【0033】
変換器20は、図2に示されるような、複数の処理部品22を直列に組み合わせた構成であってよい。また、変換器20は、図3に示されるような、複数の処理部品22を木構造に組み合わせた構成であってもよい。また、変換器20は、1つの入力端に対して、複数の出力端を有する構成であってもよい。また、変換器20は、複数の入力端および複数の出力端を有する構成であってもよい。
【0034】
変換器20は、受け取った入力データに対して演算処理を施して、出力データを出力する。変換器20は、一例として、入力データに対して演算を施すプログラムにより実行される。また、変換器20は、入力データに対して施すべき演算内容を表わす演算式であってもよい。
【0035】
なお、処理部品22が木構造に組み合わされた構成の変換器20は、木構造の末端の処理部品22に入力データが与えられ、木構造の最上位の処理部品22から出力データを出力する。また、このような変換器20は、複数の末端の処理部品22のそれぞれに、同一の入力データが与えられる。これに代えて、このような変換器20は、複数の末端の処理部品22のそれぞれに互いに異なる入力データが与えられてもよい。
【0036】
それぞれの変換器20は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせた画像フィルタであってよい。この場合、各処理部品22は、前段に配置された処理部品22から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置された処理部品22に与える。生成部50は、一例として、複数のフィルタ部品を含む少なくとも1つの前世代の画像フィルタを少なくとも1つの前世代の変換器20として、遺伝的処理により現世代の画像フィルタを生成する。また、この場合、遺伝的処理装置10は、複数の画像フィルタを含む画像フィルタ群を進化的計算に基づいて複数世代にわたり進化させる。
【0037】
また、変換器20は、一例として、ハードウェアである処理部品22を組み合わせた構成であってよい。この場合、変換器格納部34は、変換器を表すデータ構造として、各処理部品間のデータ授受関係を示す構成データを記憶する。また、変換器20は、データに対して演算を施すプログラムである処理部品22を組み合わせた構成であってもよい。また、変換器20は、データに対して施すべき演算内容を表わす演算式である処理部品22を組み合わせた構成であってもよい。
【0038】
また、変換器20は、例えば、1次元データ列、2次元データ群、3次元データ群、又は、更に多次元のデータ群等を変換してもよい。1次元データ列は、例えば、時系列データ又は配列状のデータ列等である。2次元データ群は、例えば、複数の画素データ等が2次元空間に配列された画像データ等である。3次元データ群は、例えば、色又は濃度等を表わすデータ値が3次元空間の各格子点に配置されたボリュームデータ等である。また、変換器20は、入力されたデータと異なる次元のデータを出力してもよい。
【0039】
複数の処理部品22のそれぞれは、前段に配置された処理部品22から出力された入力データを受け取り、受け取った入力データに演算を施して後段に配置された処理部品22に与える。複数の処理部品22のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った入力データに対して2値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び/または周波数空間での演算(例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算)等の単項演算を施してもよい。
【0040】
また、複数の処理部品22のそれぞれは、受け取った入力データに対して平均演算、差分演算及び/またはファジー演算(例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等)等の二項演算を施してもよい。
【0041】
図4は、本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。図5は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。図6は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。
【0042】
生成部50は、一例として、2個またはそれ以上の変換器20に対して、遺伝的な操作の一例である交叉操作を行って新たな2個またはそれ以上の変換器20を生成する。生成部50は、一例として、図4および図5に示されるように、既に生成された少なくとも1つの一の変換器20Aの一部の部品群24Aを、既に生成された他の変換器20Bの少なくとも一部の部品群24Bと置換して、新たな変換器20Eおよび20Fを生成する。なお、部品群24は、1または複数の処理部品22を組み合わせた部材である。
【0043】
また、生成部50は、一例として、一の変換器20に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の変換器20を生成する。生成部50は、一例として、図4および図6に示されるように、既に生成された一の変換器20Cの一部の部品群24Cを、ランダムに選択された他の部品群24Gに置換して、新たな変換器20Gを生成する。
【0044】
また、生成部50は、現世代の変換器20をそのまま次世代の変換器20として残してもよい。生成部50は、一例として、図4に示されるように、変換器20Dの処理部品22の構成をそのまま含む次世代の変換器20Hを生成する。
【0045】
選択部46は、生成部50により生成された複数の変換器20に対して生物の自然淘汰をモデル化した手法により1または複数の変換器20を選択する。選択部46は、複数の変換器20の中の適合度がより高い変換器20を優先的に選択してもよい。選択部46は、一例として、複数の変換器20のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、変換器20を選択してよい。そして、更新部48は、選択された変換器20を次世代へ生存させるべく当該変換器20を変換器格納部34内に保存し、選択されなかった変換器20を死滅させるべく変換器格納部34内から削除する。
【0046】
図7は、本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。遺伝的処理装置10は、ステップS13〜ステップS17の各処理を、複数回(例えば複数世代)繰返して実行する(S12、S18)。なお、遺伝的処理装置10は、与えられた学習用入力データを学習用目標データに変換する変換器20を生成するための初期の変換器20として、ランダムに生成したまたは既に生成した変換器20を、予め変換器格納部34に格納しておく。
【0047】
それぞれの世代において、まず、変換処理部38は、現世代の変換器群に含まれる複数の変換器20のそれぞれについて、当該変換器20により学習用入力データを変換した学習用出力データを生成する(S13)。変換処理部38は、生成した学習用出力データを当該変換器20に対応付けて学習用出力データ格納部40に格納させる。
【0048】
続いて、適合度算出部44は、現世代の変換器群に含まれる複数の変換器20のそれぞれについて、適合度を算出する(S14)。適合度算出部44は、一例として、学習用出力データと学習用目標データとの類似度または近似度を適合度として算出する。なお、適合度算出部44は、近似度に加え、処理部品の数の少なさ、処理負荷の低さ、および並列度の大きさ等に応じて評価を高めた適合度を算出してもよい。
【0049】
そして、収集部49は、例えば、適合度が基準値以上である場合、対応する世代に関する情報を収集する(S21)。続いて、選択部46は、現世代の変換器群に含まれる複数の変換器20のうち、適合度が高い変換器20を優先的に選択する(S15)。選択部46は、一例として、適合度が基準値より高い変換器20を選択する。
【0050】
また、選択部46は、一例として、現世代の変換器群に含まれる複数の変換器20のうち、適合度が上位から予め定められた範囲の変換器20を選択してもよい。また、選択部46は、一例として、適合度がより高い変換器20がより高い確率で選択されるように設定がされている条件下で、ランダムに変換器20を選択してもよい。なお、選択部46は、一例として、最後の世代においては、適合度の最も高い1個の変換器20を選択する。
【0051】
続いて、更新部48は、変換器格納部34に格納された変換器群を更新する(S16)。より具体的には、更新部48は、現世代の変換器群に含まれる複数の変換器20のうちステップS15において選択された変換器20を次世代へと残存させ、他の変換器20を淘汰することにより、変換器群を更新する。更新部48は、一例として、ステップS15において選択されなかった変換器20を、変換器格納部34から消去することによって淘汰する。
【0052】
続いて、生成部50は、更新処理によって変換器群に残存した少なくとも1つの変換器20に対して、交叉および突然変異等の遺伝的な操作を行って、1または複数個の新たな変換器20を生成する(S17)。この場合、生成部50は、それぞれの処理部品22が収集部49により設定された導入確率で、新たな変換器20に対して導入されるように遺伝的な操作を行う。例えば、生成部50は、交叉の操作を行う場合において、新たな変換器20に組み込むことができる複数の処理部品22のうちの1または複数の処理部品22を設定された導入確率で選択し、親となる変換器20における一部の部品群24と、選択した1または複数の処理部品22を含む部品群24とを置換する。
【0053】
そして、生成部50は、残存した変換器20および新たな変換器20を、次世代の変換器群に含まれる複数の変換器20として変換器格納部34に格納させる。なお、生成部50は、最後の世代においては、当該処理を実行しない。
【0054】
重み生成部43は、世代毎に適切な重みデータを生成するべく、次世代用の新たな重みデータを生成する(S22)。なお、重み生成部43は、最後の世代においては、当該処理を実行しなくてよい。重みデータの生成処理についての詳細については後述する。
【0055】
遺伝的処理装置10は、以上の処理を複数の世代(例えば数十世代または数百世代以上)繰返して実行して、最後の世代(例えば第N世代、Nは2以上の自然数)まで処理を実行した後に、当該フローを抜ける(S18)。このようにして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、進化的計算を用いて生成することができる。
【0056】
図8は、各世代における適合度の遷移の一例を示す。本図のグラフは、横軸を世代とし、縦軸を適合度とした時の適合度の遷移を示す。各世代の適合度は、遺伝的処理装置10による遺伝的処理によって、変換器20が進化するのに伴って高くなる。
【0057】
本例においては、一例として、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合に、収集部49は、前世代に関する情報を収集する。また、遺伝的処理装置10は、世代間での適合度の増分として、2以上の世代間における適合度の増分を用いてもよい。ここで、適合度の増分が基準値より大きい場合、直前の世代の変換器群には、適合度をより大きく増加させる処理部品22の組み合わせを含む変換器20が存在する可能性が高い。
【0058】
そこで、収集部49は、一例として、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合に、前世代の変換器20等に関する情報を、収集対象の世代情報として世代情報格納部51内に格納する。収集部49は、現世代の変換器20または現世代に関する情報を、収集対象の世代情報として世代情報格納部51内に格納してもよい。
【0059】
これによって、遺伝的処理装置10は、当該世代に対して変換条件を変更して再実行可能として、適合度がより大きい変換器20を効率的に生成できる可能性を高める。また、収集部49は、前世代および現世代の2世代間での適合度の増分が基準値より小さい場合は、適合度の増分が基準値より大きい場合と比較して、収集する情報を少なくしてもよい。
【0060】
図9は、図7のステップS21における処理フローの一例を示す。遺伝的処理装置10は、図7のステップS21において、以下の処理を実行する。
【0061】
収集部49は、適合度算出部44が算出した前世代および現世代の2世代の適合度をそれぞれ取得する(S31)。そして、収集部49は、2世代間での適合度の増分を算出する。ここで、一例として、収集部49は、予め設定した増分値の基準値と、取得した2世代間の適合度の増分と比較する(S32)。
【0062】
続いて、前世代および現世代の2世代間での適合度の増分が基準値より大きい場合(S32:Yes)、収集部49は、一例として、前世代におけるエリート変換器20の構造および当該変換器20により学習用入力データを変換した学習用出力データの少なくとも1つを収集する(S33)。そして、ステップS33の処理が終了した場合、または、ステップS32において世代間での適合度の増分が基準値より小さいと判断した場合(S32:No)、収集部49は、当該処理フローを抜けて図7のステップS15に処理を進める。
【0063】
このようにして、遺伝的処理装置10は、世代毎の情報を収集することで、進化の過程の確認を可能とする。また、遺伝的処理装置10は、特に変化が著しい世代に対して詳細に情報を収集することにより、適合度の高い変換器20を生成するようにユーザ調整を可能とする。
【0064】
図10は、本実施形態に係る収集部49が動画像を記録する場合の一例を示す。例えば、収集部49は、それぞれの世代に関する情報を含む表示画面を世代順に表示する動画像を、世代間での適合度の増分が基準値以下の場合と比較して、適合度の増分が基準値より大きい世代の時間間隔を長くして記録する。また、収集部49は、それぞれの世代に関する情報を含む表示画面を世代順に表示する動画像を、世代間での適合度の増分が他の世代と比較して相対的に大きい場合に、その対応する世代の時間間隔を長くして記録してもよい。
【0065】
ここで、収集部49は、適合度の増分が基準値より大きい世代の時間間隔を長く記録すると共に、当該世代の前後の世代についても適合度の増分が基準値より小さい他の世代より長く記録してもよい。収集部49は、世代に関する情報を含む画像として、適合度がエリート変換器が出力する出力画像、当該各世代における重み画像、およびエリート変換器の構造を示す画像を少なくとも1つを出力してもよい。図10の例において、収集部49は、適合度の増分が基準値より大きい世代と、当該世代の前後2世代の時間間隔を長く記録する。
【0066】
収集部49は、一例として、適合度が基準値より高い世代を1.0s、適合度が基準値より小さい世代のうち適合度が基準値より大きい世代の前後1世代を0.6s、適合度が基準値より小さい世代のうち適合度が基準値より大きい世代の前後2世代を0.4s、および、その他の適合度が基準値より小さい世代を0.2sとして記録する。
【0067】
これによって、遺伝的処理装置10は、適合度の変化が大きい世代について、変換器の情報および出力データの変化状況等を、ユーザによる詳細な調査および確認を可能とする。そして、遺伝的処理装置10は、調査結果等に基づいて、ユーザが導入確率等の設定を変更して再実行することによって、変換適合度のより高い変換器20を効率よく生成することができる。
【0068】
以上のように、遺伝的処理装置10によれば、例えば、より大きく進化(又は変化)した状態が、表示部52を介してユーザが容易に確認できる。そして、遺伝的処理装置10は、進化の過程の途中から突然変異率および交叉率をユーザによって増加または減少させて、進化をやり直すことができる。また、遺伝的処理装置10は、再実行する場合に、指定した世代の変換器20を確実に復元することによって、指定した世代より前の世代の情報を失わずに、無駄がなくより高い適合度の変換器20を効率よく生成することができる。これにより、遺伝的処理装置10によれば、少ない演算コスト(演算時間を含む)で、目的とする変換器20を生成することができる。
【0069】
図11は、図7のステップS22における重み生成部43の処理フローの一例を示す。重み生成部43は、図7に示されたステップS22における重みデータの生成処理において、以下のステップS131〜S133の処理を実行する。まず、重み生成部43は、重みデータ生成用として、変換器20が出力した出力データおよび目標データのうちの、少なくとも一組のデータを抽出する(S131)。
【0070】
続いて、重み生成部43は、ステップS131において重みデータ生成用として抽出された少なくとも一組のデータ同士の、データ毎の差分を算出する(S132)。重み生成部43は、抽出されたデータの組における、対応する位置同士のデータの差分を算出する。例えば、重み生成部43は、抽出されたデータの組が3次元データ群であれば、互いに対応する格子点同士のデータの差分を算出する。また、重み生成部43は、2つのデータの減算結果の絶対値を、差分として算出してもよい。
【0071】
また、重み生成部43は、ステップS131において複数組のデータを抽出した場合には、例えば、複数組のデータの差分をデータ毎に(例えば、3次元データ群であれば格子点毎に)、合計又は平均する。これに代えて、重み生成部43は、複数組のデータの差分のうち最も大きい1個の差分を、データ毎に選択してもよい。
【0072】
続いて、重み生成部43は、ステップS132において算出されたデータ毎の差分に基づき、次世代用の重みデータを生成する(S133)。より具体的には、重み生成部43は、差分がより大きいデータの重みを差分がより小さいデータの重みより大きくするような次世代の重みデータを生成する。なお、重み生成部43は、最初の世代においては、使用者により予め生成された重みデータを記憶してもよい。また、重み生成部43は、データ毎の重みが同一とされた重みデータを記憶してもよい。
【0073】
ここで、このような処理を行う場合、重み生成部43は、ステップS131において、現世代以前の少なくとも1つの変換器20が出力する少なくとも1つの出力データおよび目標データのうちの、少なくとも一組のデータ同士から次世代用の重みデータを生成する。
【0074】
重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの出力データのそれぞれと目標データとの組を抽出する。即ち、この場合、重み生成部43は、出力データと目標データとの組を、現世代以前の各世代について抽出する。
【0075】
また、重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した2つの出力データの組を抽出する。即ち、この場合、重み生成部43は、異なる2つの出力データの組を、現世代以前の各世代について抽出する。
【0076】
また、重み生成部43は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの出力データのそれぞれと目標データとの組、および、近似度が大きい順に選択した2つの出力データの組の両者を抽出する。即ち、この場合、重み生成部43は、目標データと出力データの組、および、異なる2つの出力データの組の両方を、現世代以前の各世代について抽出する。
【0077】
重み生成部43は、以上のように抽出したそれぞれの組毎に、データ間のデータ毎の差分を算出する。そして、重み生成部43は、それぞれの組毎に算出したデータ毎の差分から、次世代用の重みデータを生成する。これにより、重み生成部43は、次世代の2以上の変換器20が出力する2以上の出力データのそれぞれと目標データとのデータ毎の差分を次世代用の重みデータにより重み付けして2以上の出力データのそれぞれの近似度を算出することができる。
【0078】
このような本実施形態に係る遺伝的処理装置10によれば、重みデータによりデータ毎に適切な重み付けをして出力データと目標データとの近似度を算出することができる。これにより、遺伝的処理装置10によれば、複数の出力データの中から目標データに近似した出力データを適切に選択することができる。
【0079】
更に、遺伝的処理装置10は、次世代用の重みデータを、現世代以前の各世代において生成された出力データを用いて生成する。これにより、遺伝的処理装置10によれば、同一の重みデータが周期的に繰り返して生成されてしまう状態となることを回避して、適切な重みデータを長期的に安定して生成することができる。
【0080】
図12は、新たな変換器20に組み込むことができる複数の処理部品の導入確率を設定するためのスライドバーの一例を示す。再実行部53は、変換器20に対して組み込むことができる処理部品22のそれぞれについて、遺伝的な操作によって新たな変換器20に導入される導入確率を記憶する。例えば、変換器20がフィルタであれば、再実行部53は、フィルタの種類毎(例えば2値化演算および平均演算等の種類毎)に、導入確率を記憶する。
【0081】
再実行部53は、このように記憶した導入確率を、ユーザ等による外部からの入力に応じて個別に設定および変更する。再実行部53は、一例として、外部からの入力に応じて移動させるスライドバーを表示して、スライドバーの位置に応じて少なくとも1つの変換器20に組み込むことができる複数の処理部品22のそれぞれの導入確率を変化させてもよい。
【0082】
図12の例においては、再実行部53は、複数の処理部品22の平均の導入確率に対する、対応する処理部品22の導入確率の割合に応じた係数を、スライドバーで変化させている。例えば、図12の例においては、再実行部53は、スライドバーにより係数が1に設定された場合、対応する処理部品22の導入確率を平均値に設定する。また、再実行部53は、一例として、表示部52でユーザが指定した世代から、複数の処理部品22のそれぞれに対する設定を適宜変更して、再実行してもよい。
【0083】
更に、再実行部53は、少なくとも1つの変換器20に組み込むことができる複数の処理部品22のそれぞれについて、最初の世代の変換器20に導入される導入確率を設定してもよい。この場合、生成部50は、それぞれの種類の処理部品22が設定された割合で組み込まれるように、最初の世代の変換器群に含まれる変換器20の構成を変更する。
【0084】
以上のように、遺伝的処理装置10は、複数の処理部品22のそれぞれについて、遺伝的な操作によって新たな変換器20に導入される導入確率を設定する。従って、遺伝的処理装置10は、組み込まれることにより適合度の高い変換器20が生成できると予測される処理部品22が、他の処理部品22より大きい確率で組み込まれるように、遺伝的な操作に重みを与えることができる。これにより、遺伝的処理装置10は、目的とする変換器20が得られるまでの処理時間および演算コストを小さくすることができる。
【0085】
また、複数の世代にわたって適合度が収束した場合、収集部49は、一例として、当該変換器20が適用されるアプリケーションにおいて有効であると推定される処理部品22の導入確率を、他の処理部品22の導入確率よりも高くする。これにより、遺伝的処理装置10は、進化の途中において突然変異等の遺伝的な操作の条件を変えて再実行できるので、例えば進化が進まなくなった場合であっても、目的とする変換器を得ることができる可能性を高くすることができる。
【0086】
図13は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスク・ドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0087】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0088】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスク・ドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。
【0089】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0090】
RAM2020を介してハードディスク・ドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスク・ドライブ2040にインストールされ、CPU2000において実行される。
【0091】
コンピュータ1900にインストールされ、コンピュータ1900を遺伝的処理装置10として機能させるプログラムは、変換処理モジュールと、重み生成モジュールと、適合度算出モジュールと、選択モジュールと、更新モジュールと、収集モジュールと、生成モジュールと、再実行モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、変換処理部38と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、再実行部53としてそれぞれ機能させる。
【0092】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である変換処理部38と、重み生成部43と、適合度算出部44と、選択部46と、更新部48と、収集部49と、生成部50と、再実行部53として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の遺伝的処理装置10が構築される。
【0093】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスク・ドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0094】
また、CPU2000は、ハードディスク・ドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0095】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0096】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0097】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0098】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0099】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0100】
10 遺伝的処理装置、20 変換器、22 処理部品、24 部品群、34 変換器格納部、36 学習用入力データ格納部、38 変換処理部、40 学習用出力データ格納部、42 学習用目標データ格納部、43 重み生成部、44 適合度算出部、46 選択部、48 更新部、49 収集部、50 生成部、51 世代情報格納部、52 表示部、53 再実行部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスク・ドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD
【特許請求の範囲】
【請求項1】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、
を備える遺伝的処理装置。
【請求項2】
前記収集部は、世代間での前記適合度の増分が前記基準値以下の場合と比較してより多くの前記対応する世代に関する情報を収集する
請求項1に記載の遺伝的処理装置。
【請求項3】
前記収集部は、前記対応する世代に関する情報として、前記変換器の構造および前記変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項1又は2に記載の遺伝的処理装置。
【請求項4】
前記収集部は、前記対応する世代に関する情報として、前記適合度に応じて、前記変換器の構造および前記変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項3に記載の遺伝的処理装置。
【請求項5】
前記収集部は、前記対応する世代に関する情報として、優れた変換器の構造および前記優れた変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項3又は4に記載の遺伝的処理装置。
【請求項6】
データ領域毎の重みを表わす重みデータを世代毎に更新する重み生成部を備え、
前記適合度算出部は、それぞれの前記現世代の変換器について、前記学習用入力データから前記学習用目標データへの変換に対する前記適合度を、前記重みデータにより重み付けをして算出し、
前記収集部は、世代間での前記適合度の増分が前記基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、前記対応する世代に関する情報として、少なくとも前記重みデータを収集する
請求項1から5の何れかに記載の遺伝的処理装置。
【請求項7】
前記収集部は、それぞれの世代における前記対応する世代に関する情報を含む表示画面を世代順に表示する動画像を、前記適合度の増分が前記基準値より大きい世代の時間間隔又は前記適合度の増分が他の世代と比較して相対的に大きい世代の時間間隔を長くして記録する
請求項1から6の何れかに記載の遺伝的処理装置。
【請求項8】
前記動画像の出力中において一の世代が指定された場合、指定された前記一の世代における前記対応する世代に関する情報を表示する表示部を備える
請求項7に記載の遺伝的処理装置。
【請求項9】
前記収集部は、世代間での前記適合度の増分が前記基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、全ての変換器を再現可能に保存する
請求項1から8の何れかに記載の遺伝的処理装置。
【請求項10】
外部からの指定に応じて前記全ての変換器を再現し、前記生成部に対して前記全ての変換器を生成した処理条件と異なる処理条件を設定して、遺伝的処理を再実行させる再実行部を備える
請求項9に記載の遺伝的処理装置。
【請求項11】
前記再実行部は、前記処理条件として、前記生成部による突然変異率、交叉率、および、複数の処理部品のそれぞれが変換器に導入される導入確率の少なくとも1つを設定する
請求項10に記載の遺伝的処理装置。
【請求項12】
前記生成部は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を前記複数の処理部品とし、当該複数のフィルタ部品を含む少なくとも1つの前世代の画像フィルタを前記少なくとも1つの前記前世代の変換器として、遺伝的処理により現世代の画像フィルタを生成する
請求項1から11の何れかに記載の遺伝的処理装置。
【請求項13】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成ステップと、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出ステップと、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集ステップと、
を備える遺伝的処理方法。
【請求項14】
遺伝的処理装置として、コンピュータを機能させる遺伝的処理プログラムであって、
前記コンピュータを、
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、
を備える遺伝的処理装置
として機能させる遺伝的処理プログラム。
【請求項1】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、
を備える遺伝的処理装置。
【請求項2】
前記収集部は、世代間での前記適合度の増分が前記基準値以下の場合と比較してより多くの前記対応する世代に関する情報を収集する
請求項1に記載の遺伝的処理装置。
【請求項3】
前記収集部は、前記対応する世代に関する情報として、前記変換器の構造および前記変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項1又は2に記載の遺伝的処理装置。
【請求項4】
前記収集部は、前記対応する世代に関する情報として、前記適合度に応じて、前記変換器の構造および前記変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項3に記載の遺伝的処理装置。
【請求項5】
前記収集部は、前記対応する世代に関する情報として、優れた変換器の構造および前記優れた変換器により前記学習用入力データを変換した学習用出力データの少なくとも1つを収集する
請求項3又は4に記載の遺伝的処理装置。
【請求項6】
データ領域毎の重みを表わす重みデータを世代毎に更新する重み生成部を備え、
前記適合度算出部は、それぞれの前記現世代の変換器について、前記学習用入力データから前記学習用目標データへの変換に対する前記適合度を、前記重みデータにより重み付けをして算出し、
前記収集部は、世代間での前記適合度の増分が前記基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、前記対応する世代に関する情報として、少なくとも前記重みデータを収集する
請求項1から5の何れかに記載の遺伝的処理装置。
【請求項7】
前記収集部は、それぞれの世代における前記対応する世代に関する情報を含む表示画面を世代順に表示する動画像を、前記適合度の増分が前記基準値より大きい世代の時間間隔又は前記適合度の増分が他の世代と比較して相対的に大きい世代の時間間隔を長くして記録する
請求項1から6の何れかに記載の遺伝的処理装置。
【請求項8】
前記動画像の出力中において一の世代が指定された場合、指定された前記一の世代における前記対応する世代に関する情報を表示する表示部を備える
請求項7に記載の遺伝的処理装置。
【請求項9】
前記収集部は、世代間での前記適合度の増分が前記基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、全ての変換器を再現可能に保存する
請求項1から8の何れかに記載の遺伝的処理装置。
【請求項10】
外部からの指定に応じて前記全ての変換器を再現し、前記生成部に対して前記全ての変換器を生成した処理条件と異なる処理条件を設定して、遺伝的処理を再実行させる再実行部を備える
請求項9に記載の遺伝的処理装置。
【請求項11】
前記再実行部は、前記処理条件として、前記生成部による突然変異率、交叉率、および、複数の処理部品のそれぞれが変換器に導入される導入確率の少なくとも1つを設定する
請求項10に記載の遺伝的処理装置。
【請求項12】
前記生成部は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を前記複数の処理部品とし、当該複数のフィルタ部品を含む少なくとも1つの前世代の画像フィルタを前記少なくとも1つの前記前世代の変換器として、遺伝的処理により現世代の画像フィルタを生成する
請求項1から11の何れかに記載の遺伝的処理装置。
【請求項13】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成ステップと、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出ステップと、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集ステップと、
を備える遺伝的処理方法。
【請求項14】
遺伝的処理装置として、コンピュータを機能させる遺伝的処理プログラムであって、
前記コンピュータを、
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
それぞれの前記現世代の変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部と、
世代間での前記適合度の増分が基準値より大きい場合又は世代間での前記適合度の増分が他の世代と比較して相対的に大きい場合に、対応する世代に関する情報を収集する収集部と、
を備える遺伝的処理装置
として機能させる遺伝的処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−282558(P2010−282558A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−137382(P2009−137382)
【出願日】平成21年6月8日(2009.6.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願日】平成21年6月8日(2009.6.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]