JP2011014049A - Hereditary processor, hereditary processing method and hereditary processing program - Google Patents

Hereditary processor, hereditary processing method and hereditary processing program Download PDF

Info

Publication number
JP2011014049A
JP2011014049A JP2009159223A JP2009159223A JP2011014049A JP 2011014049 A JP2011014049 A JP 2011014049A JP 2009159223 A JP2009159223 A JP 2009159223A JP 2009159223 A JP2009159223 A JP 2009159223A JP 2011014049 A JP2011014049 A JP 2011014049A
Authority
JP
Japan
Prior art keywords
generation
data
converter
weight
current generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009159223A
Other languages
Japanese (ja)
Other versions
JP5359622B2 (en
Inventor
Yuji Kunigome
祐司 國米
Hideki Sasaki
秀貴 佐々木
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.)
Nikon Corp
Original Assignee
Nikon 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 Nikon Corp filed Critical Nikon Corp
Priority to JP2009159223A priority Critical patent/JP5359622B2/en
Publication of JP2011014049A publication Critical patent/JP2011014049A/en
Application granted granted Critical
Publication of JP5359622B2 publication Critical patent/JP5359622B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To create a converter by a stable evolutionary computation in hereditary processing.SOLUTION: A hereditary processor is provided including: a creation part which creates a current-generation converter by hereditary processing from at least one pre-generation converter which converts input data into output data; a creation part which updates the weight data of pre-generation or before to weight data of current generation; and an adaptability degree computation part which computes current generation adaptability degree according to the result obtained by weighting and comparing the converted data obtained by converting input data for learning and target data for learning with the weight data of the current generation, and old generation adaptability degree according to the result obtained by weighting and comparing the converted data and the target data for leaning with the weight data of the pre-generation or before for each of the current generation converters.

Description

本発明は、遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムに関する。   The present invention relates to a genetic processing apparatus, a genetic processing method, and a genetic processing program.

遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている(非特許文献1参照)。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。   A method for generating a filter or a converter using evolutionary computation such as a genetic algorithm or genetic programming is known (see Non-Patent Document 1). According to the method of generating a filter or a converter using such evolutionary computation, fewer filters or converters having a complicated structure that are optimal for each case and difficult to obtain analytically are obtained. It can be designed with effort and time.

前薗正宜 他2名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、[online]、コンピュータ利用教育協議会、[2008年3月20日検索]、インターネット<URL:http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf>Masayoshi Maebuchi and two others, “Study on Image Filter Design Using Genetic Algorithm” [online], Computer Utilization Education Council, [March 20, 2008 search], Internet <URL: http: //www.ciec. or.jp/event/2003/papers/pdf/E00086.pdf>

ところで、このような進化的計算により変換器を生成する場合、各世代において変換器が出力したデータに重み付けをする重みデータを利用することにより、目的の変換器へと近づける。しかしながら、現世代の重みデータのみを利用して進化させると、世代間で重みデータの変動が大きく、進化的計算が不安定になる場合がある。   By the way, when a converter is generated by such evolutionary calculation, weight data that weights the data output by the converter in each generation is used to bring the converter closer to the target converter. However, if evolution is performed using only the weight data of the current generation, the variation of the weight data between generations may be large, and evolutionary computation may become unstable.

そこで本発明は、上記の課題を解決することのできる遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。   Therefore, an object of the present invention is to provide a genetic processing apparatus, a genetic processing method, and a genetic processing program that can solve the above-described problems. This object is achieved by a combination of features described in the independent claims. The dependent claims define further advantageous specific examples of the present invention.

上記課題を解決するために、本発明の第1の態様においては、入力データを出力データに変換する少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、前世代以前の重みデータを、現世代の重みデータに更新する重み生成部と、それぞれの現世代の変換器について、学習用入力データを変換した変換済データと学習用目標データとを現世代の重みデータにより重み付けして比較した結果に応じた現世代適合度、および、変換済データと学習用目標データとを前世代以前の重みデータにより重み付けして比較した結果に応じた旧世代適合度を算出する適合度算出部と、を備える遺伝的処理装置、並びに当該遺伝的処理装置に関する遺伝的処理方法、および遺伝的処理プログラムを提供する。   In order to solve the above-described problem, in the first aspect of the present invention, a generation unit that generates a current generation converter by genetic processing from at least one previous generation converter that converts input data into output data. A weight generation unit that updates the previous generation weight data to the current generation weight data, and the converted data obtained by converting the learning input data and the learning target data for each current generation converter. Current generation suitability according to the result of weighting and comparing with generation weight data, and old generation conformance according to the result of weighting and comparing converted data and learning target data with weight data of previous generation A genetic processing device including a fitness calculation unit for calculating a degree, a genetic processing method related to the genetic processing device, and a genetic processing program are provided.

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。   The above summary of the invention does not enumerate all necessary features of the present invention. In addition, a sub-combination of these feature groups can also be an invention.

本実施形態に係る遺伝的処理装置10の構成を示す。1 shows a configuration of a genetic processing apparatus 10 according to the present embodiment. 本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。An example of the converter 20 which combined the processing component 22 which concerns on this embodiment in series is shown. 本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。An example of the converter 20 which combined the processing component 22 which concerns on this embodiment with the tree structure is shown. 本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。An example of a genetic operation performed on the converter 20 in which the processing components 22 according to this embodiment are combined in series is shown. 本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。An example of crossover operation performed with respect to the converter 20 which combined the process component 22 which concerns on this embodiment with the tree structure is shown. 本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。An example of the mutation operation performed with respect to the converter 20 which combined the processing component 22 which concerns on this embodiment with the tree structure is shown. 本実施形態に係る変換器20の適合度を表わすパラメータの一例である近似度の算出方法の一例を示す。An example of a method for calculating the degree of approximation, which is an example of a parameter representing the degree of fitness of the converter 20 according to the present embodiment, is shown. 本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。An example of the operation | movement flow of the genetic processing apparatus 10 which concerns on this embodiment is shown. 図8のステップS14における遺伝的処理装置10の処理フローの一例を示す。An example of the process flow of the genetic processing apparatus 10 in step S14 of FIG. 8 is shown. 図8のステップS19における重み生成部43の処理フローの一例を示す。An example of the processing flow of the weight generation unit 43 in step S19 of FIG. 8 is shown. 本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。2 shows an exemplary hardware configuration of a computer 1900 according to the present embodiment.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。   Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. In addition, not all the combinations of features described in the embodiments are essential for the solving means of the invention.

図1は、本実施形態に係る遺伝的処理装置10の構成を示す。遺伝的処理装置10は、少なくとも1つの変換器20を含む変換器群を進化的計算に基づいて複数世代にわたり進化させる。ここで、遺伝的処理装置10は、現世代以前の重みデータに加え、前世代以前の少なくとも1世代で利用した重みデータを用いて変換器20を進化させる。そして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、世代毎に生成および更新する。遺伝的処理装置10は、一例として、コンピュータにより実現される。また、変換器20は、一例として、画像フィルタであってよい。   FIG. 1 shows a configuration of a genetic processing apparatus 10 according to the present embodiment. The genetic processing apparatus 10 evolves a group of transducers including at least one transducer 20 over a plurality of generations based on evolutionary computation. Here, the genetic processing apparatus 10 evolves the converter 20 using the weight data used in at least one generation before the previous generation in addition to the weight data before the current generation. Then, the genetic processing device 10 generates and updates a converter 20 suitable for converting learning input data into learning target data for each generation. The genetic processing device 10 is realized by a computer as an example. Moreover, the converter 20 may be an image filter as an example.

遺伝的処理装置10は、変換器格納部34と、学習用入力データ格納部36と、変換処理部38と、変換済データ格納部40と、学習用目標データ格納部42と、重み生成部43と、重み記憶部60と、適合度算出部44と、制御部52と、選択部46と、更新部48と、生成部50とを備える。変換器格納部34は、互いに異なる構成の複数の変換器20を格納する。本実施形態において、各変換器20は、学習用入力データを処理して処理結果を変換済データとして出力する複数の処理部品22の入出力間を組み合わせた構造をとる。   The genetic processing apparatus 10 includes a converter storage unit 34, a learning input data storage unit 36, a conversion processing unit 38, a converted data storage unit 40, a learning target data storage unit 42, and a weight generation unit 43. A weight storage unit 60, a fitness calculation unit 44, a control unit 52, a selection unit 46, an update unit 48, and a generation unit 50. The converter storage unit 34 stores a plurality of converters 20 having different configurations. In this embodiment, each converter 20 has a structure in which inputs and outputs of a plurality of processing components 22 that process learning input data and output processing results as converted data are combined.

学習用入力データ格納部36は、変換器20の変換対象である学習用入力データを格納する。学習用入力データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、変換器20に実際に与えられるデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用入力データは、一例として、使用者により予め生成または撮影された画像であってよい。   The learning input data storage unit 36 stores learning input data to be converted by the converter 20. As an example, the learning input data may be a sample of data that is actually given to the converter 20 in an application to which the converter 20 generated by the genetic processing device 10 is applied. When the converter 20 is an image filter, the learning input data may be an image generated or photographed in advance by the user as an example.

変換処理部38は、変換器格納部34に格納された複数の変換器20を順次に取得する。変換処理部38は、取得したそれぞれの変換器20により、学習用入力データ格納部36に格納された学習用入力データを変換させて、変換済データのそれぞれを生成する。   The conversion processing unit 38 sequentially acquires the plurality of converters 20 stored in the converter storage unit 34. The conversion processing unit 38 converts the learning input data stored in the learning input data storage unit 36 by each of the acquired converters 20 to generate converted data.

変換済データ格納部40は、変換処理部38において生成された変換済データを格納する。変換済データ格納部40は、一例として、生成された変換済データのそれぞれを、変換した変換器20に対応付けて格納する。   The converted data storage unit 40 stores the converted data generated by the conversion processing unit 38. As an example, the converted data storage unit 40 stores the generated converted data in association with the converted converter 20.

学習用目標データ格納部42は、学習用入力データを変換器20により変換して生成される変換済データの目標となる学習用目標データを格納する。学習用目標データは、一例として、当該遺伝的処理装置10により生成された変換器20が適用されるアプリケーションにおいて、学習用入力データを入力した変換器20が実際に出力するべきデータのサンプルであってよい。変換器20が画像フィルタである場合、学習用目標データは、一例として、使用者により予め生成または準備された画像であってよい。   The learning target data storage unit 42 stores learning target data that is a target of converted data generated by converting the learning input data by the converter 20. The learning target data is, for example, a sample of data that the converter 20 that has input the learning input data should actually output in an application to which the converter 20 generated by the genetic processing device 10 is applied. It's okay. When the converter 20 is an image filter, the learning target data may be an image generated or prepared in advance by a user, for example.

重み生成部43は、変換済データと学習用目標データとの比較における前世代以前の重みデータを、現世代の重みデータに更新する。重み生成部43は、一例として、変換済データまたは学習用目標データと、同様にデータが配置された重みデータを生成する。   The weight generation unit 43 updates the weight data before the previous generation in the comparison between the converted data and the learning target data to the current generation weight data. For example, the weight generation unit 43 generates weight data in which data is arranged in the same manner as the converted data or learning target data.

ここで、重み生成部43は、変換済データおよび学習用目標データのうちの、少なくとも一組のデータ同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータを生成してよい。重み生成部43は、一例として、前世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みに所定値より小さい値を加算して、現世代の重みデータを生成する。   Here, the weight generation unit 43 sets the weight for the data having a larger difference for each data of at least one set of the converted data and the learning target data than the weight for the data having the smaller difference. Increased weight data may be generated. For example, the weight generation unit 43 adds a predetermined value to the weight corresponding to data having a difference greater than the threshold in the previous generation weight data, and sets a value smaller than the predetermined value to the weight corresponding to data having the difference equal to or less than the threshold. Addition to generate weight data for the current generation.

これに代えて、重み生成部43は、前世代の重みデータにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みから所定値を減算して、現世代の重みデータを生成してもよい。   Instead, the weight generation unit 43 adds a predetermined value to the weight corresponding to data having a difference greater than the threshold in the previous generation weight data, and subtracts the predetermined value from the weight corresponding to data having the difference equal to or less than the threshold. Thus, current generation weight data may be generated.

重み記憶部60は、それぞれの世代において重み生成部43により更新された複数の世代別の重みデータを記憶する。ここで、重み記憶部60は、一例として、重み生成部43が前世代以前の重みデータを現世代の重みデータに更新した場合に、現世代の重みデータを新たな重みデータとして追加して記憶する。   The weight storage unit 60 stores weight data for a plurality of generations updated by the weight generation unit 43 in each generation. Here, as an example, when the weight generation unit 43 updates the previous generation weight data to the current generation weight data, the weight storage unit 60 adds and stores the current generation weight data as new weight data. To do.

適合度算出部44は、変換器格納部34に格納されたそれぞれの現世代の変換器20について、学習用入力データを変換した変換済データと学習用目標データとを現世代の重みデータにより重み付けして比較した結果に応じた現世代適合度、および、変換済データと学習用目標データとを前世代以前の重みデータにより重み付けして比較した結果に応じた旧世代適合度を算出する。ここで、適合度は、学習用入力データを学習用目標データへと変換するのに適しているかどうかを表す指標値であり、値が高いほど学習用入力データを学習用目標データへと変換するのに適していることを表す。また、適合度算出部44は、それぞれの現世代の変換器20について、変換済データと学習用目標データとを複数の世代別の重みデータのそれぞれにより重み付けして比較した結果に応じた複数の世代別適合度を算出してもよい。   The fitness calculation unit 44 weights the converted data obtained by converting the learning input data and the learning target data with the current generation weight data for each of the current generation converters 20 stored in the converter storage unit 34. Then, the current generation suitability according to the comparison result and the old generation suitability according to the comparison result obtained by weighting the converted data and the learning target data with the weight data before the previous generation are calculated. Here, the fitness is an index value indicating whether or not the learning input data is suitable for conversion into learning target data. The higher the value, the more the learning input data is converted into learning target data. It is suitable for In addition, for each current generation converter 20, the fitness calculation unit 44 weights the converted data and the learning target data with the weight data for each of the plurality of generations, and compares the plurality of generation data with a plurality of results. You may calculate the fitness by generation.

制御部52は、複数の世代間における現世代適合度の増分値に応じて、適合度算出部44が現世代の変換器20について算出すべき複数の世代別適合度の世代数を制御する。以下、この世代数を重みデータ利用世代数と示す。制御部52は、一例として、各世代の変換器20の適合度の最大値を各世代の適合度とし、現世代の適合度から前世代の適合度を減算した差分を現世代適合度の増分値としてよい。制御部52は、一例として、現世代適合度の増分値がより大きい場合に、上記世代数をより小さくする。これに代えて、制御部52は、各変換器20の現世代適合度の増分値と予め設定した基準値とに基づいて、現世代の変換器20について重みデータ利用世代数を制御してもよい。より具体的には、制御部52は、各変換器20の現世代適合度の増分値が基準値以上の場合は、基準値未満の場合と比較して、より小さい世代数を用いることとする。   The control unit 52 controls the number of generations of a plurality of generation suitability to be calculated by the suitability calculation unit 44 for the converter 20 of the current generation in accordance with the increment value of the current generation suitability between a plurality of generations. Hereinafter, this number of generations is referred to as the number of generations using weight data. As an example, the control unit 52 uses the maximum value of the fitness level of the converter 20 of each generation as the fitness level of each generation, and subtracts the fitness level of the previous generation from the fitness level of the current generation. It may be a value. For example, when the increment value of the current generation suitability is larger, the control unit 52 reduces the number of generations. Instead, the control unit 52 may control the number of generations using the weight data for the current generation converter 20 based on the increment value of the current generation suitability of each converter 20 and a preset reference value. Good. More specifically, when the increment value of the current generation suitability of each converter 20 is greater than or equal to the reference value, the control unit 52 uses a smaller number of generations than in the case of less than the reference value. .

また、制御部52は、前世代において制御した世代数を記憶しておいてよい。そして、制御部52は、現世代適合度の増分値に応じて、記憶した世代数から増加または減少させることで、現世代の変換器20について重みデータ利用世代数を制御してもよい。この場合、制御部52は、一例として、各変換器20の現世代適合度の増分値の平均が、基準値以上の場合は重みデータ利用世代数を減少させて、基準値未満の場合は重みデータ利用世代数を増加させる。なお、制御部52は、現世代適合度の増分値として、現世代直前の複数世代の適合度の平均に対する現世代適合度の増分値を用いてもよく、現世代を含む複数世代分の適合度増分値の平均等を用いてよい。   The control unit 52 may store the number of generations controlled in the previous generation. Then, the control unit 52 may control the number of generations using the weight data for the converter 20 of the current generation by increasing or decreasing the number of stored generations according to the increment value of the current generation suitability. In this case, as an example, the control unit 52 decreases the number of generations using the weight data when the average of the increment values of the current generation suitability of each converter 20 is equal to or greater than the reference value, and weights when the average value is less than the reference value. Increase the number of data generations. Note that the control unit 52 may use the increment value of the current generation suitability with respect to the average of the suitability of the plurality of generations immediately before the current generation as the increment value of the current generation suitability. An average of degree increment values or the like may be used.

選択部46は、変換器格納部34に格納された複数の変換器20のうち現世代適合度がより高い変換器20と旧世代適合度がより高い変換器20とのうち少なくとも一方を優先的に、次世代の変換器20として選択する。より具体的には、選択部46は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも1つの変換器20を選択する。選択部46は、一例として、変換器格納部34に格納された複数の変換器20の現世代適合度および旧世代適合度のそれぞれに基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも1つの変換器20を選択する。   The selection unit 46 preferentially selects at least one of the converter 20 having a higher current generation suitability and the converter 20 having a higher old generation suitability among the plurality of converters 20 stored in the converter storage unit 34. The next-generation converter 20 is selected. More specifically, the selection unit 46 selects at least one converter 20 to be left by a technique that models natural selection of living things. For example, the selection unit 46 is based on each of the current generation suitability and the old generation suitability of the plurality of converters 20 stored in the converter storage unit 34, and performs at least one by genetic calculation such as elite selection and roulette selection. The converter 20 is selected.

更新部48は、変換器格納部34に格納された複数の変換器20のうち、選択部46により選択された変換器20を残存させ、選択部46により選択されなかった変換器20を淘汰する。更新部48は、一例として、変換器20を変換器格納部34から削除することにより淘汰する。   The update unit 48 leaves the converter 20 selected by the selection unit 46 among the plurality of converters 20 stored in the converter storage unit 34, and tricks the converter 20 not selected by the selection unit 46. . For example, the update unit 48 hesitates by deleting the converter 20 from the converter storage unit 34.

生成部50は、変換器格納部34に格納された入力データを出力データに変換する複数の処理部品22を含む少なくとも1つの前世代の変換器20から、遺伝的処理により現世代の変換器20を生成する。生成部50は、更新部48による更新処理において残存した少なくとも1つの変換器20に対して、交叉および突然変異等の遺伝的な操作をして、新たな変換器20を生成する。   The generation unit 50 performs genetic processing from at least one previous generation converter 20 including a plurality of processing components 22 that convert input data stored in the converter storage unit 34 into output data. Is generated. The generation unit 50 performs a genetic operation such as crossover and mutation on the at least one converter 20 remaining in the update process by the update unit 48 to generate a new converter 20.

このような遺伝的処理装置10は、変換処理部38による変換処理、適合度算出部44による適合度の算出処理、選択部46による変換器20の選択処理、更新部48による更新処理および生成部50による新たな変換器20の生成処理を、複数回(例えば複数世代)繰り返す。これにより、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を生成することができる。   Such a genetic processing device 10 includes a conversion process by the conversion processing unit 38, a fitness calculation process by the fitness calculation unit 44, a converter 20 selection process by the selection unit 46, an update process and a generation unit by the update unit 48. The process of generating a new converter 20 by 50 is repeated a plurality of times (for example, a plurality of generations). Thereby, the genetic processing apparatus 10 can generate the converter 20 suitable for converting the learning input data into the learning target data.

図2は、本実施形態に係る処理部品22を直列に組み合わせた変換器20の一例を示す。図3は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20の一例を示す。   FIG. 2 shows an example of the converter 20 in which the processing components 22 according to this embodiment are combined in series. FIG. 3 shows an example of the converter 20 in which the processing component 22 according to this embodiment is combined in a tree structure.

変換器20は、図2に示されるような、複数の処理部品22を直列に組み合わせた構成であってよい。また、変換器20は、図3に示されるような、複数の処理部品22を木構造に組み合わせた構成であってもよい。また、変換器20は、1つの入力端に対して、複数の出力端を有する構成であってもよい。また、変換器20は、複数の入力端および複数の出力端を有する構成であってもよい。   The converter 20 may have a configuration in which a plurality of processing components 22 are combined in series as shown in FIG. Further, the converter 20 may have a configuration in which a plurality of processing components 22 are combined in a tree structure as shown in FIG. Further, the converter 20 may have a configuration having a plurality of output terminals with respect to one input terminal. Further, the converter 20 may have a configuration having a plurality of input ends and a plurality of output ends.

変換器20は、受け取った入力データに対して演算処理を施して、出力データを出力する。変換器20は、一例として、入力データに対して演算を施すプログラムにより実行される。また、変換器20は、入力データに対して施すべき演算内容を表わす演算式であってもよい。   The converter 20 performs arithmetic processing on the received input data and outputs output data. As an example, the converter 20 is executed by a program that performs operations on input data. Further, the converter 20 may be an arithmetic expression representing the content of the operation to be performed on the input data.

なお、処理部品22が木構造に組み合わされた構成の変換器20は、木構造の末端の処理部品22に入力データが与えられ、木構造の最上位の処理部品22から出力データを出力する。また、このような変換器20は、複数の末端の処理部品22のそれぞれに、同一の入力データが与えられる。これに代えて、このような変換器20は、複数の末端の処理部品22のそれぞれに互いに異なる入力データが与えられてもよい。   The converter 20 having a configuration in which the processing components 22 are combined in a tree structure receives input data from the processing components 22 at the end of the tree structure, and outputs output data from the highest processing component 22 in the tree structure. Further, in such a converter 20, the same input data is given to each of the plurality of terminal processing components 22. Alternatively, such a converter 20 may be provided with different input data for each of the plurality of terminal processing components 22.

それぞれの変換器20は、入力画像を出力画像にそれぞれ変換する少なくとも1つのフィルタ部品を組み合わせた画像フィルタであってよい。この場合、各処理部品22は、前段に配置された処理部品22から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置された処理部品22に与える。生成部50は、一例として、入力画像を出力画像に変換する少なくとも1つの前世代の画像フィルタから遺伝的処理により現世代の画像フィルタを生成する。また、この場合、遺伝的処理装置10は、複数の画像フィルタを含む画像フィルタ群を進化的計算に基づいて複数世代にわたり進化させる。   Each converter 20 may be an image filter in which at least one filter component that converts an input image into an output image is combined. In this case, each processing component 22 receives the image data output from the processing component 22 arranged in the preceding stage, performs an operation on the received image data, and gives it to the processing component 22 arranged in the subsequent stage. For example, the generation unit 50 generates a current-generation image filter by genetic processing from at least one previous-generation image filter that converts an input image into an output image. In this case, the genetic processing apparatus 10 evolves an image filter group including a plurality of image filters over a plurality of generations based on evolutionary calculation.

また、変換器20は、一例として、ハードウェアである処理部品22を組み合わせた構成であってよい。この場合、変換器格納部34は、変換器を表すデータ構造として、各処理部品間のデータ授受関係を示す構成データを記憶する。また、変換器20は、データに対して演算を施すプログラムである処理部品22を組み合わせた構成であってもよい。また、変換器20は、データに対して施すべき演算内容を表わす演算式である処理部品22を組み合わせた構成であってもよい。   Moreover, the converter 20 may be the structure which combined the processing component 22 which is hardware as an example. In this case, the converter storage part 34 memorize | stores the structure data which show the data transfer relationship between each process components as a data structure showing a converter. The converter 20 may have a configuration in which processing components 22 that are programs for performing operations on data are combined. Further, the converter 20 may have a configuration in which processing components 22 that are arithmetic expressions representing arithmetic contents to be applied to data are combined.

また、変換器20は、例えば、1次元データ列、2次元データ群、3次元データ群、又は、更に多次元のデータ群等を変換してもよい。1次元データ列は、例えば、時系列データ又は配列状のデータ列等である。2次元データ群は、例えば、複数の画素データ等が2次元空間に配列された画像データ等である。3次元データ群は、例えば、色又は濃度等を表わすデータ値が3次元空間の各格子点に配置されたボリュームデータ等である。また、変換器20は、入力されたデータと異なる次元のデータを出力してもよい。   Further, the converter 20 may convert, for example, a one-dimensional data string, a two-dimensional data group, a three-dimensional data group, or a further multidimensional data group. The one-dimensional data string is, for example, time series data or an array data string. The two-dimensional data group is, for example, image data in which a plurality of pixel data is arranged in a two-dimensional space. The three-dimensional data group is, for example, volume data in which data values representing color or density are arranged at each lattice point in the three-dimensional space. Further, the converter 20 may output data having a dimension different from the input data.

複数の処理部品22のそれぞれは、前段に配置された処理部品22から出力された入力データを受け取り、受け取った入力データに演算を施して後段に配置された処理部品22に与える。複数の処理部品22のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った入力データに対して2値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び/または周波数空間での演算(例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算)等の単項演算を施してもよい。   Each of the plurality of processing components 22 receives input data output from the processing component 22 arranged in the previous stage, performs an operation on the received input data, and gives the processed data to the processing component 22 arranged in the subsequent stage. Each of the plurality of processing components 22 may be a program module, an arithmetic expression, or the like, and performs binarization operation, histogram operation, smoothing operation, edge detection operation, morphology operation, and / or frequency with respect to received input data. Unary operations such as space operations (for example, low-pass filtering operations and high-pass filtering operations) may be performed.

また、複数の処理部品22のそれぞれは、受け取った入力データに対して平均演算、差分演算及び/またはファジー演算(例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等)等の二項演算を施してもよい。   Each of the plurality of processing components 22 performs an average operation, a difference operation, and / or a fuzzy operation (for example, an OR operation, an AND operation, an algebraic sum, an algebraic product, a limit sum, a limit product, Binomial operations such as intense sum and intense product) may be performed.

図4は、本実施形態に係る処理部品22を直列に組み合わせた変換器20に対して行われる遺伝的な操作の一例を示す。図5は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる交叉操作の一例を示す。図6は、本実施形態に係る処理部品22を木構造に組み合わせた変換器20に対して行われる突然変異操作の一例を示す。   FIG. 4 shows an example of a genetic operation performed on the converter 20 in which the processing components 22 according to this embodiment are combined in series. FIG. 5 shows an example of a crossover operation performed on the converter 20 in which the processing components 22 according to the present embodiment are combined in a tree structure. FIG. 6 shows an example of a mutation operation performed on the converter 20 in which the processing component 22 according to the present embodiment is combined in a tree structure.

生成部50は、一例として、2個またはそれ以上の変換器20に対して、遺伝的な操作の一例である交叉操作を行って新たな2個またはそれ以上の変換器20を生成する。生成部50は、一例として、図4および図5に示されるように、既に生成された少なくとも1つの一の変換器20Aの一部の部品群24Aを、既に生成された他の変換器20Bの少なくとも一部の部品群24Bと置換して、新たな変換器20Eおよび20Fを生成する。なお、部品群24は、1または複数の処理部品22を組み合わせた部材である。   For example, the generation unit 50 performs a crossover operation, which is an example of a genetic operation, on two or more converters 20 to generate two or more new converters 20. As an example, as illustrated in FIGS. 4 and 5, the generation unit 50 converts a part group 24 </ b> A of at least one converter 20 </ b> A that has already been generated to another converter 20 </ b> B that has already been generated. New transducers 20E and 20F are generated by replacing at least a part group 24B. The component group 24 is a member obtained by combining one or a plurality of processing components 22.

また、生成部50は、一例として、一の変換器20に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の変換器20を生成する。生成部50は、一例として、図4および図6に示されるように、既に生成された一の変換器20Cの一部の部品群24Cを、ランダムに選択された他の部品群24Gに置換して、新たな変換器20Gを生成する。   Further, as an example, the generation unit 50 performs a mutation operation, which is an example of a genetic operation, on a single converter 20 to generate a new single converter 20. As an example, as illustrated in FIG. 4 and FIG. 6, the generation unit 50 replaces a part group 24 </ b> C of a part of the already generated one converter 20 </ b> C with another part group 24 </ b> G selected at random. Thus, a new converter 20G is generated.

また、生成部50は、現世代の変換器20をそのまま次世代の変換器20として残してもよい。生成部50は、一例として、図4に示されるように、変換器20Dの処理部品22の構成をそのまま含む次世代の変換器20Hを生成する。   The generation unit 50 may leave the current generation converter 20 as the next generation converter 20 as it is. As an example, as illustrated in FIG. 4, the generation unit 50 generates a next-generation converter 20H that includes the configuration of the processing component 22 of the converter 20D as it is.

選択部46は、生成部50により生成された1または複数の変換器20から、現世代適合度がより高い変換器20および旧世代適合度がより高い変換器20のうち少なくとも1つを優先的に選択して、適者生存させる。更新部48は、選択された変換器20を変換器格納部34内に保存し、選択されなかった変換器20を変換器格納部34内から削除する。   The selection unit 46 preferentially selects at least one of the converter 20 having a higher current generation suitability and the converter 20 having a higher old generation suitability from the one or more converters 20 generated by the generation unit 50. Choose to survive the fittest. The update unit 48 stores the selected converter 20 in the converter storage unit 34 and deletes the unselected converter 20 from the converter storage unit 34.

図7は、本実施形態に係る変換器20の適合度を表わすパラメータの一例である近似度の算出方法の一例を示す。本実施形態において、適合度算出部44は、当該変換器20により対象データを変換させることにより生成された変換済データと、学習用目標データとがどれだけ近似しているかを表わす近似度を算出する。すなわち、この近似度は、値がより大きいほど、当該変換済データが学習用目標データにより近似しているので、当該変換済データを生成した変換器20がより適切であることを示す指標となる。   FIG. 7 shows an example of a method for calculating the degree of approximation, which is an example of a parameter representing the degree of fitness of the converter 20 according to this embodiment. In the present embodiment, the fitness level calculation unit 44 calculates an approximation level indicating how much the converted data generated by converting the target data by the converter 20 approximates the learning target data. To do. That is, this degree of approximation is an index indicating that the converted data 20 is more appropriate because the converted data is more approximate to the learning target data as the value is larger. .

適合度算出部44は、一例として、出力画像の各ピクセルの値と、目標画像の対応するピクセルの値とを比較する。より具体的には、適合度算出部44は、一例として、出力画像の各ピクセルの値と、目標画像の対応するピクセルの値との差または比率等を算出する。そして、適合度算出部44は、一例として、複数のピクセルの全ての比較結果を平均または合計し、平均または合計した比較結果を当該出力画像の近似度としてよい。適合度算出部44は、複数の変換器20により変換された複数の変換済データのそれぞれに対して、以上のようにして近似度を求める。   As an example, the fitness calculation unit 44 compares the value of each pixel of the output image with the value of the corresponding pixel of the target image. More specifically, the fitness calculation unit 44 calculates, for example, a difference or a ratio between the value of each pixel of the output image and the value of the corresponding pixel of the target image. Then, as an example, the matching level calculation unit 44 may average or sum all the comparison results of a plurality of pixels, and may use the average or total comparison result as the approximation degree of the output image. The goodness-of-fit calculation unit 44 obtains the degree of approximation for each of the plurality of converted data converted by the plurality of converters 20 as described above.

この処理において、適合度算出部44は、各ピクセルの値(例えば輝度値)によって当該ピクセル位置の重みを表わす重み画像を用いて近似度を求めてよい。具体的には、適合度算出部44は、出力画像の各ピクセルの値と目標画像の対応するピクセルの値との差に、重み画像における対応するピクセルの重み値を乗じる等により、重みを付けて近似度を算出してよい。   In this process, the fitness calculation unit 44 may obtain the degree of approximation using a weight image that represents the weight of the pixel position by the value of each pixel (for example, the luminance value). Specifically, the fitness calculation unit 44 weights the difference between the value of each pixel in the output image and the value of the corresponding pixel in the target image by multiplying the weight value of the corresponding pixel in the weighted image, for example. Thus, the degree of approximation may be calculated.

例えば、重みデータが重み画像により表わされている場合、適合度算出部44は、下記式(1)に示される演算をして、近似度を算出する。なお、この場合において、一例として、出力画像、目標画像および重み画像のサイズは、同一とされる。   For example, when the weight data is represented by a weight image, the fitness level calculation unit 44 calculates an approximation level by performing an operation represented by the following formula (1). In this case, as an example, the output image, the target image, and the weight image have the same size.

Figure 2011014049
Figure 2011014049

式(1)において、fは、近似度を表わす。Ymaxは、輝度の最大値を表わす。   In Expression (1), f represents the degree of approximation. Ymax represents the maximum luminance value.

また、xは、画像の水平方向のピクセル位置を示す変数である。yは、画像の垂直方向のピクセル位置を示す変数である。xmaxは、画像の水平方向のピクセル数を示す定数である。tymaxは、画像の垂直方向のピクセル数を示す定数である。   X is a variable indicating the pixel position in the horizontal direction of the image. y is a variable indicating the pixel position in the vertical direction of the image. xmax is a constant indicating the number of pixels in the horizontal direction of the image. tymax is a constant indicating the number of pixels in the vertical direction of the image.

Iweiht(x,y)は、重み画像における(x,y)位置のピクセルの輝度値を表わす。Itarget(x,y)は、目標画像における(x,y)位置のピクセルの輝度値を表わす。Ifilter(x,y)は、出力画像における(x,y)位置のピクセルの輝度値を表わす。   Iweight (x, y) represents the luminance value of the pixel at the (x, y) position in the weighted image. Itarget (x, y) represents the luminance value of the pixel at the (x, y) position in the target image. Ifilter (x, y) represents the luminance value of the pixel at the (x, y) position in the output image.

すなわち、式(1)の中カッコ内の分子部分に示されるように、適合度算出部44は、目標画像の輝度値から出力画像の輝度値の差の絶対値に対して、重み画像の輝度値を乗じた重み付き差分値を、画面内の全てのピクセル毎に算出し、算出した重み付き差分値を全ピクセルについて合計した合計重み付け差分値を算出する。さらに、式(1)の中カッコ内の分母部分に示されるように、適合度算出部44は、重み画像の輝度値を全ピクセルについて合計した合計重みを算出する。   That is, as shown in the numerator part in the curly braces of Equation (1), the fitness calculation unit 44 calculates the luminance of the weighted image with respect to the absolute value of the difference between the luminance value of the target image and the luminance value of the output image. A weighted difference value multiplied by the value is calculated for every pixel in the screen, and a total weighted difference value is calculated by adding the calculated weighted difference values for all pixels. Further, as shown in the denominator part in the curly braces of Expression (1), the fitness level calculation unit 44 calculates a total weight obtained by adding the luminance values of the weighted image for all pixels.

さらに、適合度算出部44は、合計重み付け差分値を合計重みで除算した除算値(式(1)の中カッコ内)に、輝度値の最大値の逆数(1/Ymax)を乗じて正規化値(式(1)の2番目の項)を算出する。そして、適合度算出部44は、1から、正規化値を減じた値を、近似度fとして算出する。このようにして、適合度算出部44は、出力画像と目標画像との差分を領域毎に重み付けして近似度を算出することができる。   Furthermore, the fitness calculation unit 44 normalizes the division value obtained by dividing the total weighted difference value by the total weight (in the curly braces of the expression (1)) by the reciprocal (1 / Ymax) of the maximum value of the luminance value. The value (the second term in equation (1)) is calculated. Then, the fitness level calculation unit 44 calculates a value obtained by subtracting the normalized value from 1 as the approximation level f. In this way, the fitness level calculation unit 44 can calculate the approximation level by weighting the difference between the output image and the target image for each region.

図8は、本実施形態に係る遺伝的処理装置10の動作フローの一例を示す。遺伝的処理装置10は、ステップS13〜ステップS16の各処理を、複数回(例えば複数世代)繰返して実行する(S12、S18)。なお、遺伝的処理装置10は、与えられた学習用入力データを学習用目標データに変換する変換器20を生成するための初期の変換器20として、ランダムに生成した変換器20または既に生成した変換器20を、予め変換器格納部34に格納しておく。   FIG. 8 shows an example of an operation flow of the genetic processing apparatus 10 according to the present embodiment. The genetic processing device 10 repeatedly executes each process of step S13 to step S16 a plurality of times (for example, a plurality of generations) (S12, S18). Note that the genetic processing device 10 generates a randomly generated converter 20 or an already generated converter 20 as an initial converter 20 for generating the converter 20 that converts given learning input data into learning target data. The converter 20 is stored in the converter storage unit 34 in advance.

まず、生成部50は、変換器格納部34に格納された少なくとも1つの変換器20を取得する。そして、生成部50は、取得した少なくとも1つの変換器20に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、少なくとも一部の処理部品22を他の処理部品22に置換した少なくとも1つの新たな変換器20を生成する(S17)。   First, the generation unit 50 acquires at least one converter 20 stored in the converter storage unit 34. Then, the generation unit 50 performs genetic operations such as a crossover operation and a mutation operation on the acquired at least one converter 20 to replace at least some of the processing components 22 with other processing components 22. At least one new converter 20 is generated (S17).

この場合、生成部50は、それぞれの処理部品22が予め設定された導入確率で、新たな変換器20に対して導入されるように遺伝的な操作を行う。例えば、生成部50は、交叉の操作を行う場合において、新たな変換器20に組み込むことができる複数の処理部品22のうちの1または複数の処理部品22を予め設定された導入確率で選択し、親となる変換器20における一部の部品群24と、選択した1または複数の処理部品22を含む部品群24とを置換する。そして、生成部50は、残存した変換器20および新たな変換器20を、次世代の変換器群に含まれる複数の変換器20として変換器格納部34に格納させる。   In this case, the generation unit 50 performs a genetic operation so that each processing component 22 is introduced into the new converter 20 with a preset introduction probability. For example, when performing the crossover operation, the generation unit 50 selects one or a plurality of processing components 22 out of a plurality of processing components 22 that can be incorporated into the new converter 20 with a preset introduction probability. The part group 24 in the parent converter 20 is replaced with the part group 24 including the selected one or more processing parts 22. Then, the generation unit 50 stores the remaining converter 20 and the new converter 20 in the converter storage unit 34 as a plurality of converters 20 included in the next-generation converter group.

そして、変換処理部38は、それぞれの世代において、現世代の変換器群に含まれる複数の変換器20のそれぞれについて、当該変換器20により学習用入力データを変換した変換済データを生成する(S13)。変換処理部38は、生成した変換済データを当該変換器20に対応付けて変換済データ格納部40に格納させる。   Then, the conversion processing unit 38 generates converted data obtained by converting the input data for learning by the converter 20 for each of the plurality of converters 20 included in the current generation converter group in each generation ( S13). The conversion processing unit 38 stores the generated converted data in the converted data storage unit 40 in association with the converter 20.

重み生成部43は、世代毎に適切な重みデータを生成するべく、前世代以前の重みデータから現世代用の新たな重みデータを生成する(S19)。重みデータの生成処理の詳細については後述する。   The weight generation unit 43 generates new weight data for the current generation from the weight data before the previous generation in order to generate appropriate weight data for each generation (S19). Details of the weight data generation processing will be described later.

続いて、適合度算出部44は、変換器群に含まれる1または複数の変換器20のそれぞれについて、旧世代および現世代の適合度をそれぞれ算出する(S14)。この場合、適合度算出部44は、一例として、変換済データと学習用目標データとの近似度または類似度を適合度として算出する。なお、適合度算出部44は、近似度に加え、処理部品の数の少なさ、処理負荷の低さ、および並列度の大きさ等に応じて評価を高めた適合度を算出してもよい。   Subsequently, the fitness level calculation unit 44 calculates the fitness levels of the old generation and the current generation for each of the one or more converters 20 included in the converter group (S14). In this case, the fitness level calculation unit 44 calculates, as an example, an approximation level or a similarity level between the converted data and the learning target data as the fitness level. In addition to the degree of approximation, the degree-of-fit calculation unit 44 may calculate the degree of suitability that has been evaluated according to the small number of processing components, the low processing load, the degree of parallelism, and the like. .

続いて、選択部46は、変換器群に含まれる複数の変換器20のうち、現世代適合度がより高い変換器20または旧世代適合度がより高い変換器の少なくとも一方を優先的に選択する(S15)。選択部46は、一例として、それぞれの現世代適合度または旧世代適合度が基準値より高い変換器20を少なくとも1つ選択する。ここで、選択部46は、予め設定した適合度の閾値以上であることを基準としてもよい。   Subsequently, the selection unit 46 preferentially selects at least one of the converter 20 having the higher current generation suitability or the converter having the higher old generation suitability from among the plurality of converters 20 included in the converter group. (S15). As an example, the selection unit 46 selects at least one converter 20 whose current generation suitability or old generation suitability is higher than a reference value. Here, the selection part 46 is good also as a reference | standard that it is more than the threshold value of the preset fitness.

また、選択部46は、変換器群に含まれる複数の変換器20のうち、現世代適合度または旧世代適合度が上位から予め定められた範囲の変換器20を選択してもよい。また、選択部46は、現世代適合度および旧世代適合度の中で、より高い適合度の変換器20がより高い確率で選択されるように設定がされている条件下で、ランダムに変換器20を選択してもよい。なお、選択部46は、一例として、最後の世代においては、現世代適合度から最も高い変換器20を選択してよい。   In addition, the selection unit 46 may select a converter 20 in a range in which the current generation suitability or the old generation suitability is predetermined from the top among the plurality of converters 20 included in the converter group. Further, the selection unit 46 performs random conversion under the condition that the converter 20 having a higher fitness is selected with a higher probability among the current generation fitness and the previous generation fitness. The vessel 20 may be selected. As an example, the selection unit 46 may select the highest converter 20 from the current generation suitability in the last generation.

また、選択部46は、現世代適合度が基準値以上の変換器20を次世代の変換器20として選択する確率を、旧世代適合度が基準値以上の変換器20を次世代の変換器20として選択する確率より高くしてもよい。選択部46は、一例として、適合度の基準値を世代別に設定してよく、旧世代適合度の基準値を現世代適合度の基準値より高くしてもよい。また、選択部46は、世代が古くなる毎に適合度の基準値を高くしてよい。これにより、選択部46は、現世代適合度がより高い変換器20を、より高い確率で優先的に選択することができる。   In addition, the selection unit 46 sets the probability of selecting the converter 20 having the current generation fitness level equal to or higher than the reference value as the next generation converter 20, and selects the converter 20 having the old generation fitness level equal to or higher than the reference value as the next generation converter. It may be higher than the probability of selecting as 20. For example, the selection unit 46 may set the reference value of the fitness level for each generation, and may set the reference value of the old generation fitness level higher than the reference value of the current generation fitness level. In addition, the selection unit 46 may increase the reference value of the fitness level every time the generation becomes older. Thereby, the selection unit 46 can preferentially select the converter 20 having a higher current generation suitability with a higher probability.

続いて、更新部48は、変換器格納部34に格納された変換器群を更新する(S16)。より具体的には、更新部48は、現世代の変換器群に含まれる複数の変換器20のうちステップS15において選択された変換器20を次世代へと残存させ、他の変換器20を淘汰することにより、変換器群を更新する。更新部48は、一例として、ステップS15において選択されなかった変換器20を、変換器格納部34から消去することによって淘汰する。   Subsequently, the update unit 48 updates the converter group stored in the converter storage unit 34 (S16). More specifically, the update unit 48 causes the converter 20 selected in step S15 among the plurality of converters 20 included in the current generation converter group to remain in the next generation, and replaces the other converters 20 with each other. The converter group is updated by hesitating. For example, the update unit 48 hesitates by deleting the converter 20 that was not selected in step S15 from the converter storage unit 34.

遺伝的処理装置10は、以上の処理を複数の世代(例えば数十世代または数百世代以上)繰返して実行して、最後の世代(例えば第N世代、Nは2以上の自然数)まで処理を実行した後に、当該フローを抜ける(S18)。このようにして、遺伝的処理装置10は、学習用入力データを学習用目標データへ変換するのに適した変換器20を、進化的計算を用いて生成することができる。   The genetic processing apparatus 10 repeatedly executes the above processing for a plurality of generations (for example, tens of generations or hundreds of generations or more), and performs processing up to the last generation (for example, the Nth generation, where N is a natural number of 2 or more). After the execution, the flow is exited (S18). In this way, the genetic processing device 10 can generate the converter 20 suitable for converting the learning input data into the learning target data using the evolutionary calculation.

図9は、図8のステップS14における遺伝的処理装置10の処理フローの一例を示す。遺伝的処理装置10は、図8に示されるステップS14において、以下の処理を実行する。   FIG. 9 shows an example of the processing flow of the genetic processing apparatus 10 in step S14 of FIG. The genetic processing device 10 executes the following processing in step S14 shown in FIG.

まず、適合度算出部44は、制御部52から前世代において求めた重みデータ利用世代数を取得する(S21)。そして、適合度算出部44は、現世代の複数の変換器20のそれぞれにより生成された複数の出力データのそれぞれ毎に、以下のステップS24〜S28の処理を実行する(S23、S29)。   First, the fitness calculation unit 44 acquires the number of weight data use generations obtained in the previous generation from the control unit 52 (S21). Then, the fitness level calculation unit 44 executes the following steps S24 to S28 for each of the plurality of output data generated by each of the plurality of converters 20 of the current generation (S23, S29).

ステップS24において、適合度算出部44は、変換済データと学習用目標データとを現世代重みデータに応じた重み付けをした比較をして、変換済データと学習用目標データとの現世代適合度を算出する。   In step S24, the goodness-of-fit calculation unit 44 compares the converted data and the learning target data with weights corresponding to the current generation weight data, and compares the converted data and the learning target data with the current generation suitability. Is calculated.

続いて、制御部52は、ステップS24において算出された現世代適合度の増分値とステップS21で取得した世代数とに基づいて、適合度算出部44が重みデータ利用世代数を制御する(S25)。制御部52は、一例として、各変換器20の現世代適合度の増分値が予め設定した基準値以上の場合、ステップS21で取得した世代数から減少させる。また、制御部52は、一例として、各変換器20の現世代適合度の増分値が予め設定した基準値未満の場合、ステップS21で取得した世代数から増加させる。   Subsequently, the controller 52 controls the number of generations using the weight data based on the increment value of the current generation fitness calculated in step S24 and the number of generations acquired in step S21 (S25). ). For example, when the increment value of the current generation suitability of each converter 20 is equal to or larger than a preset reference value, the control unit 52 decreases the number of generations acquired in step S21. For example, when the increment value of the current generation suitability of each converter 20 is less than the preset reference value, the control unit 52 increases the number of generations acquired in step S21.

そして、制御部52は、重みデータ利用世代数を更新して記憶する。ここで、制御部52は、世代数に加えて、世代別適合度を記憶してもよい。   Then, the control unit 52 updates and stores the weight data use generation number. Here, the control unit 52 may store the generation suitability in addition to the number of generations.

そして、適合度算出部44は、ステップS25で算出した世代数分の各前世代毎に、以下のステップS27の処理を実行する(S26、S28)。   Then, the fitness level calculation unit 44 executes the following step S27 for each previous generation for the number of generations calculated in step S25 (S26, S28).

ステップS27において、適合度算出部44は、変換済データと学習用目標データとを重みデータに応じた重み付けをした比較をして、変換済データと学習用目標データとの適合度を算出する。ここで、適合度算出部44は、一例として、対象となる前世代の重みデータによって重み付けをする。遺伝的処理装置10は、算出対象となる全ての世代について処理を終えると、処理をステップS29に進める(S28)。   In step S27, the fitness level calculation unit 44 compares the converted data and the learning target data by weighting according to the weight data, and calculates the fitness level of the converted data and the learning target data. Here, as an example, the fitness calculation unit 44 performs weighting using weight data of the previous generation to be processed. When the genetic processing apparatus 10 finishes the process for all generations to be calculated, the process proceeds to step S29 (S28).

更に、遺伝的処理装置10は、複数の出力データの全てについてステップS26〜S28の処理を終えると、遺伝的処理装置10は、当該フローを終了する(S29)。これにより、遺伝的処理装置10は、各世代において、現世代に加えて1または複数の旧世代の適合度を用いて、進化させるべき変換器20を選択することができる。   Furthermore, when the genetic processing apparatus 10 finishes the processes of steps S26 to S28 for all of the plurality of output data, the genetic processing apparatus 10 ends the flow (S29). Thereby, the genetic processing apparatus 10 can select the converter 20 to be evolved in each generation by using one or a plurality of old generation fitnesses in addition to the current generation.

図10は、図8のステップS19における重み生成部43の処理フローの一例を示す。重み生成部43は、図8に示されたステップS19における重みデータの生成処理において、以下のステップS131〜S133の処理を実行する。まず、重み生成部43は、重みデータ生成用として、変換器20が出力した変換済データのうちの、少なくとも一つを抽出する(S131)。   FIG. 10 shows an example of the processing flow of the weight generation unit 43 in step S19 of FIG. The weight generation unit 43 performs the following processing of steps S131 to S133 in the weight data generation processing in step S19 shown in FIG. First, the weight generation unit 43 extracts at least one of the converted data output by the converter 20 for weight data generation (S131).

重み生成部43は、一例として、複数の変換器20のうち一部の変換器20により出力された変換済データを抽出してよい。重み生成部43は、一例として、複数の変換器20のうち、前世代において算出された近似度が最も高い変換器20により出力された変換済データを抽出してよい。また、重み生成部43は、一例として、前世代において算出された近似度が所定値以上の変換器20により出力された変換済データを抽出してもよい。   As an example, the weight generation unit 43 may extract the converted data output by some of the converters 20. For example, the weight generation unit 43 may extract the converted data output from the converter 20 having the highest degree of approximation calculated in the previous generation among the plurality of converters 20. For example, the weight generation unit 43 may extract the converted data output by the converter 20 whose degree of approximation calculated in the previous generation is equal to or greater than a predetermined value.

続いて、重み生成部43は、ステップS131において重みデータ生成用として抽出された少なくとも一つのデータのそれぞれデータ毎の差分を算出する(S132)。重み生成部43は、変換済データおよび学習用目標データにおける、対応する位置同士のデータの差分を算出する。ここで、画像データの場合、重み生成部43は、一例として、抽出された少なくとも1つの変換済データと目標データのとのピクセル毎の差分を算出してよい。   Subsequently, the weight generation unit 43 calculates a difference for each data of at least one data extracted for generating weight data in step S131 (S132). The weight generation unit 43 calculates a difference between data at corresponding positions in the converted data and the learning target data. Here, in the case of image data, for example, the weight generation unit 43 may calculate a difference for each pixel between the extracted at least one converted data and the target data.

また、重み生成部43は、ステップS131において複数組のデータを抽出した場合には、例えば、複数組のデータの差分をデータ毎に(例えば領域としてピクセル単位毎に)、合計又は平均する。これに代えて、重み生成部43は、複数組のデータの差分のうち最も大きい1個の差分を、データ毎に選択してもよい。   Further, when a plurality of sets of data are extracted in step S131, for example, the weight generation unit 43 sums or averages the difference between the plurality of sets of data for each data (for example, for each pixel as a region). Instead of this, the weight generation unit 43 may select, for each data, one largest difference among the differences between the plurality of sets of data.

続いて、重み生成部43は、ステップS132において算出されたデータ毎の差分に基づき、現世代用の重みデータを生成する(S133)。より具体的には、重み生成部43は、差分がより大きいデータの重みを差分がより小さいデータの重みより大きくするべく、重み記憶部60に記憶された重みデータを更新する。なお、重み記憶部60は、最初の世代においては、使用者により予め生成された重みデータを記憶してもよい。また、重み記憶部60は、データ毎の重みが同一とされた重みデータを記憶してもよい。   Subsequently, the weight generation unit 43 generates weight data for the current generation based on the difference for each data calculated in step S132 (S133). More specifically, the weight generation unit 43 updates the weight data stored in the weight storage unit 60 so that the weight of data with a larger difference is greater than the weight of data with a smaller difference. The weight storage unit 60 may store weight data generated in advance by the user in the first generation. Further, the weight storage unit 60 may store weight data in which the weight for each data is the same.

また、重み生成部43は、前世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの変換済データのそれぞれと学習用目標データとの間のデータ毎の差分の合計に対して単調非減少となる現世代用の重みデータを生成してよい。このような重み生成部43は、適切な重みデータを長期的に安定して生成することができる。重み生成部43は、一例として、下記の式(2)に示される演算式に基づき重みデータを生成する。   In addition, the weight generation unit 43 calculates the difference for each data between the learning target data and each of the at least one converted data selected in descending order of approximation in each of at least one generation before the previous generation. Weight data for the current generation that is monotonically non-decreasing with respect to the total may be generated. Such weight generation unit 43 can generate appropriate weight data stably for a long period of time. For example, the weight generation unit 43 generates weight data based on an arithmetic expression represented by the following expression (2).

Figure 2011014049
Figure 2011014049

式(2)のWN,Mは、第N世代(Nは1以上の整数)の重みデータに含まれるM番目(Mは1以上の整数)の重みデータの値を表わし、WN+1,Mは、第N+1世代の重みデータに含まれるM番目の重みデータの値を表わす。式(2)のF(X)は、Xを変数とする単調非減少関数を表わす。即ち、F(X)は、Xが増加する方向に変化した場合、少なくとも減少しない値を表わす。F(X)は、単調増加関数であってもよい。なお、F(X)及びXは、データに含まれる各データが取り得る範囲の値となる。式(2)のαは、F(DK,M)に応じて、重みを増加させるか又は減少させるかの境界となる基準値を表わす。なお、式(2)のαは、世代毎に変化する値であってよい。 W N, M in Equation (2) represents the value of the Mth (M is an integer greater than or equal to 1) weight data included in the Nth generation (N is an integer greater than or equal to 1) weight data, and W N + 1, M Represents the value of the Mth weight data included in the (N + 1) th generation weight data. F (X) in Equation (2) represents a monotone non-decreasing function with X as a variable. That is, F (X) represents a value that does not decrease at least when X changes in the increasing direction. F (X) may be a monotonically increasing function. Note that F (X) and X are values in a range that can be taken by each data included in the data. Α in Expression (2) represents a reference value serving as a boundary for increasing or decreasing the weight according to F (D K, M ). Note that α in Expression (2) may be a value that changes from generation to generation.

また、式(2)のDK,Mは、下記式(3)により表わされる。即ち、式(2)のDK,Mは、第K世代(Kは整数)における選択された変換済データに含まれるM番目の値(PK,M)と、学習用目標データに含まれるM番目の値(T)と差分の絶対値を表わす。 Further, D K, M in the formula (2) is represented by the following formula (3). That is, DK, M in the equation (2) is included in the Mth value (P K, M ) included in the selected converted data in the Kth generation (K is an integer) and the learning target data. The Mth value (T M ) and the absolute value of the difference are represented.

Figure 2011014049
Figure 2011014049

このような式(2)に示されるように、重み生成部43は、各世代において、近似度が大きい順に選択した少なくとも1つの変換済データのそれぞれと学習用目標データとの間のデータ毎の差分を算出してよい。続いて、重み生成部43は、算出した差分の合計をデータ毎に算出して、データ毎の合計のそれぞれを前世代の世代数で除算してよい。そして、重み生成部43は、データ毎の除算結果のそれぞれを予め定められた単調非減少関数によりレベル変換した値を含む現世代の重みデータを生成してよい。   As shown in such an equation (2), the weight generation unit 43 performs, for each generation, for each data between each of the at least one converted data selected in descending order of approximation and the learning target data. The difference may be calculated. Subsequently, the weight generation unit 43 may calculate the total of the calculated differences for each data, and divide each of the totals for each data by the number of generations of the previous generation. The weight generation unit 43 may generate current generation weight data including a value obtained by level-converting each division result for each data using a predetermined monotonous non-decreasing function.

なお、式(2)の単調非減少関数F(X)は、一例として、下記式(4)に示されるような関数であってよい。下記式(4)に示される関数は、差分値が小さい範囲において重みデータの変化量が大きく、差分値が大きい範囲において重みデータの変化量が小さい。このような関数を用いることにより、重み生成部43は、差分値が小さい領域においてより重みを敏感に変化させることができる。   Note that the monotonic non-decreasing function F (X) in the equation (2) may be a function as shown in the following equation (4) as an example. In the function represented by the following equation (4), the change amount of the weight data is large in the range where the difference value is small, and the change amount of the weight data is small in the range where the difference value is large. By using such a function, the weight generation unit 43 can change the weight more sensitively in a region where the difference value is small.

Figure 2011014049
Figure 2011014049

また、式(2)の単調非減少関数F(X)は、一例として、差分値が小さい範囲において重みデータの変化量が小さく、差分値が大きい範囲において重みデータの変化量が大きい関数であってもよい。このような関数を用いることにより、重み生成部43は、差分値が大きい領域においてより重みを敏感に変化させることができる。   The monotonic non-decreasing function F (X) in Expression (2) is, for example, a function in which the change amount of the weight data is small in the range where the difference value is small and the change amount of the weight data is large in the range where the difference value is large. May be. By using such a function, the weight generation unit 43 can change the weight more sensitively in a region where the difference value is large.

重み生成部43は、一例として、下記の式(5)に示される演算式に基づき重みデータを生成してよい。なお、式(5)のWは、第K世代の差分に与える重みを表わす。式(5)のW以外のパラメータは、式(2)と同様である。 For example, the weight generation unit 43 may generate weight data based on an arithmetic expression represented by the following expression (5). In the equation (5), W K represents a weight given to the difference of the Kth generation. Parameters other than W K in equation (5) are the same as in equation (2).

Figure 2011014049
Figure 2011014049

式(5)に示されるように、重み生成部43は、各世代において、近似度が大きい順に選択した少なくとも1つの変換済データのそれぞれと学習用目標データとの間のデータ毎の差分を算出してよい。続いて、重み生成部43は、算出した差分に世代毎に予め設定された重みを乗じた合計をデータ毎に算出して、データ毎の合計のそれぞれを現世代の世代数で除算してよい。そして、重み生成部43は、データ毎の除算結果のそれぞれを予め定められた単調非減少関数によりレベル変換した値を含む次世代の重みデータを生成してよい。   As shown in Expression (5), the weight generation unit 43 calculates a difference for each data between each of the at least one converted data selected in descending order of approximation and the learning target data in each generation. You can do it. Subsequently, the weight generation unit 43 may calculate, for each data, a sum obtained by multiplying the calculated difference by a weight set in advance for each generation, and divide each of the totals for each data by the number of generations of the current generation. . The weight generation unit 43 may generate next-generation weight data including a value obtained by level-converting each division result for each data using a predetermined monotonous non-decreasing function.

このような本実施形態に係る遺伝的処理装置10によれば、重みデータによりデータ毎に適切な重み付けをして変換済データと学習用目標データとの適合度を算出することができる。これにより、遺伝的処理装置10によれば、複数の変換済データの中から学習用目標データに近似した変換済データを適切に選択することができる。   According to such a genetic processing apparatus 10 according to the present embodiment, it is possible to calculate the degree of fitness between the converted data and the learning target data by appropriately weighting each data with the weight data. Thereby, according to the genetic processing apparatus 10, the converted data approximated to the learning target data can be appropriately selected from the plurality of converted data.

以上に示した、遺伝的処理装置10によれば、複数世代の重みデータを用いて変換器20を選別していくことにより、重みデータの変動の影響を低減してより適切に変換器20を進化させていくことができる。   According to the genetic processing apparatus 10 shown above, by selecting the converters 20 using a plurality of generations of weight data, the influence of fluctuations in the weight data is reduced and the converter 20 is more appropriately used. It can evolve.

図11は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスク・ドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。   FIG. 11 shows an example of a hardware configuration of a computer 1900 according to this embodiment. A computer 1900 according to this embodiment is connected to a CPU peripheral unit including a CPU 2000, a RAM 2020, a graphic controller 2075, and a display device 2080 that are connected to each other by a host controller 2082, and to the host controller 2082 by an input / output controller 2084. An input / output unit having a communication interface 2030, a hard disk drive 2040, and a DVD drive 2060, and a legacy input / output unit having a ROM 2010, a flexible disk drive 2050, and an input / output chip 2070 connected to the input / output controller 2084 Is provided.

ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。   The host controller 2082 connects the RAM 2020 to the CPU 2000 and the graphic controller 2075 that access the RAM 2020 at a high transfer rate. The CPU 2000 operates based on programs stored in the ROM 2010 and the RAM 2020 and controls each unit. The graphic controller 2075 acquires image data generated by the CPU 2000 or the like on a frame buffer provided in the RAM 2020 and displays it on the display device 2080. Instead of this, the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.

入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスク・ドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。   The input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the DVD drive 2060, which are relatively high-speed input / output devices. The communication interface 2030 communicates with other devices via a network. The hard disk drive 2040 stores programs and data used by the CPU 2000 in the computer 1900. The DVD drive 2060 reads a program or data from the DVD 2095 and provides it to the hard disk drive 2040 via the RAM 2020.

また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。   The input / output controller 2084 is connected to the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070. The ROM 2010 stores a boot program that the computer 1900 executes at startup and / or a program that depends on the hardware of the computer 1900. The flexible disk drive 2050 reads a program or data from the flexible disk 2090 and provides it to the hard disk drive 2040 via the RAM 2020. The input / output chip 2070 connects the flexible disk drive 2050 to the input / output controller 2084 and inputs / outputs various input / output devices via, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like. Connect to controller 2084.

RAM2020を介してハードディスク・ドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスク・ドライブ2040にインストールされ、CPU2000において実行される。   A program provided to the hard disk drive 2040 via the RAM 2020 is stored in a recording medium such as the flexible disk 2090, the DVD 2095, or an IC card and provided by the user. The program is read from the recording medium, installed in the hard disk drive 2040 in the computer 1900 via the RAM 2020, and executed by the CPU 2000.

コンピュータ1900にインストールされ、コンピュータ1900を遺伝的処理装置10として機能させるプログラムは、変換処理モジュールと、重み生成モジュールと、重み記憶モジュールと、適合度算出モジュールと、制御モジュールと、選択モジュールと、更新モジュールと、生成モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、変換処理部38と、重み生成部43と、重み記憶部60と、適合度算出部44と、制御部52と、選択部46と、更新部48と、生成部50としてそれぞれ機能させる。   A program installed in the computer 1900 and causing the computer 1900 to function as the genetic processing apparatus 10 includes a conversion processing module, a weight generation module, a weight storage module, a fitness calculation module, a control module, a selection module, and an update. A module and a generation module. These programs or modules work on the CPU 2000 and the like to make the computer 1900, the conversion processing unit 38, the weight generation unit 43, the weight storage unit 60, the fitness calculation unit 44, the control unit 52, and the selection unit 46. And the update unit 48 and the generation unit 50.

これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である変換処理部38と、重み生成部43と、重み記憶部60と、適合度算出部44と、制御部52と、選択部46と、更新部48と、生成部50として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の遺伝的処理装置10が構築される。   The information processing described in these programs is read into the computer 1900, whereby the conversion processing unit 38, which is a specific means in which the software and the various hardware resources described above cooperate, the weight generation unit 43, , Functioning as a weight storage unit 60, a fitness calculation unit 44, a control unit 52, a selection unit 46, an update unit 48, and a generation unit 50. And the specific genetic processing apparatus 10 according to the intended purpose is constructed | assembled by implement | achieving the calculation or processing of the information according to the intended purpose of the computer 1900 in this embodiment by these specific means.

一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスク・ドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。   As an example, when communication is performed between the computer 1900 and an external device or the like, the CPU 2000 executes a communication program loaded on the RAM 2020 and executes a communication interface based on the processing content described in the communication program. A communication process is instructed to 2030. Under the control of the CPU 2000, the communication interface 2030 reads transmission data stored in a transmission buffer area or the like provided on a storage device such as the RAM 2020, the hard disk drive 2040, the flexible disk 2090, or the DVD 2095, and transmits it to the network. Alternatively, the reception data received from the network is written into a reception buffer area or the like provided on the storage device. As described above, the communication interface 2030 may transfer transmission / reception data to / from the storage device by a DMA (direct memory access) method. Instead, the CPU 2000 transfers the storage device or the communication interface 2030 as a transfer source. The transmission / reception data may be transferred by reading the data from the data and writing the data to the transfer destination 2030 or the storage device.

また、CPU2000は、ハードディスク・ドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。   In addition, the CPU 2000 reads all or necessary portions from files or databases stored in an external storage device such as the hard disk drive 2040, the DVD drive 2060 (DVD 2095), and the flexible disk drive 2050 (flexible disk 2090). The data is read into the RAM 2020 by DMA transfer or the like, and various processes are performed on the data on the RAM 2020. Then, CPU 2000 writes the processed data back to the external storage device by DMA transfer or the like. In such processing, since the RAM 2020 can be regarded as temporarily holding the contents of the external storage device, in the present embodiment, the RAM 2020 and the external storage device are collectively referred to as a memory, a storage unit, or a storage device. Various types of information such as various programs, data, tables, and databases in the present embodiment are stored on such a storage device and are subjected to information processing. Note that the CPU 2000 can also hold a part of the RAM 2020 in the cache memory and perform reading and writing on the cache memory. Even in such a form, the cache memory bears a part of the function of the RAM 2020. Therefore, in the present embodiment, the cache memory is also included in the RAM 2020, the memory, and / or the storage device unless otherwise indicated. To do.

また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。   In addition, the CPU 2000 performs various operations, such as various operations, information processing, condition determination, information search / replacement, etc., described in the present embodiment, specified for the data read from the RAM 2020 by the instruction sequence of the program. Is written back to the RAM 2020. For example, when performing the condition determination, the CPU 2000 determines whether or not the various variables shown in the present embodiment satisfy the conditions such as large, small, above, below, equal, etc., compared to other variables or constants. If the condition is satisfied (or not satisfied), the program branches to a different instruction sequence or calls a subroutine.

また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。   Further, the CPU 2000 can search for information stored in a file or database in the storage device. For example, in the case where a plurality of entries in which the attribute value of the second attribute is associated with the attribute value of the first attribute are stored in the storage device, the CPU 2000 displays the plurality of entries stored in the storage device. The entry that matches the condition in which the attribute value of the first attribute is specified is retrieved, and the attribute value of the second attribute that is stored in the entry is read, thereby associating with the first attribute that satisfies the predetermined condition The attribute value of the specified second attribute can be obtained.

以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。   The program or module shown above may be stored in an external recording medium. As the recording medium, in addition to the flexible disk 2090 and the DVD 2095, an optical recording medium such as DVD or CD, a magneto-optical recording medium such as MO, a tape medium, a semiconductor memory such as an IC card, and the like can be used. Further, a storage device such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the computer 1900 via the network.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。   The order of execution of each process such as operations, procedures, steps, and stages in the apparatus, system, program, and method shown in the claims, the description, and the drawings is particularly “before” or “prior to”. It should be noted that the output can be realized in any order unless the output of the previous process is used in the subsequent process. Regarding the operation flow in the claims, the description, and the drawings, even if it is described using “first”, “next”, etc. for convenience, it means that it is essential to carry out in this order. It is not a thing.

10 遺伝的処理装置、20 変換器、22 処理部品、24 部品群、34 変換器格納部、36 学習用入力データ格納部、38 変換処理部、40 変換済データ格納部、42 学習用目標データ格納部、43 重み生成部、44 適合度算出部、46 選択部、48 更新部、50 生成部、52 制御部、60 重み記憶部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスク・ドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD DESCRIPTION OF SYMBOLS 10 Genetic processing apparatus, 20 Converter, 22 Processing components, 24 Parts group, 34 Converter storage part, 36 Learning input data storage part, 38 Conversion processing part, 40 Converted data storage part, 42 Learning target data storage Unit, 43 weight generation unit, 44 fitness calculation unit, 46 selection unit, 48 update unit, 50 generation unit, 52 control unit, 60 weight storage unit, 1900 computer, 2000 CPU, 2010 ROM, 2020 RAM, 2030 communication interface, 2040 hard disk drive, 2050 flexible disk drive, 2060 DVD drive, 2070 input / output chip, 2075 graphic controller, 2080 display device, 2082 host controller, 2084 input / output controller, 2090 flexible disk Click, 2095 DVD

Claims (8)

入力データを出力データに変換する少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
前世代以前の重みデータを、現世代の重みデータに更新する重み生成部と、
それぞれの前記現世代の変換器について、学習用入力データを変換した変換済データと学習用目標データとを前記現世代の重みデータにより重み付けして比較した結果に応じた現世代適合度、および、前記変換済データと前記学習用目標データとを前記前世代以前の重みデータにより重み付けして比較した結果に応じた旧世代適合度を算出する適合度算出部と、
を備える遺伝的処理装置。
A generator that generates a current generation converter by genetic processing from at least one previous generation converter that converts input data into output data;
A weight generation unit that updates the weight data of the previous generation to the weight data of the current generation;
For each current generation converter, the current generation suitability according to the result of weighted comparison of the converted data obtained by converting the learning input data and the learning target data with the weight data of the current generation, and A fitness calculation unit that calculates the previous generation fitness according to the result of comparing the converted data and the learning target data with weight data before and after the previous generation;
A genetic processing apparatus comprising:
前記現世代適合度がより高い変換器と前記旧世代適合度がより高い変換器とのうち少なくとも一方を優先的に、次世代の変換器として選択する選択部を備える
請求項1に記載の遺伝的処理装置。
The genetic according to claim 1, further comprising: a selection unit that preferentially selects at least one of the converter having a higher current generation fitness and the converter having a higher older generation fitness as a next-generation transducer. Processing equipment.
前記選択部は、前記現世代適合度が基準値以上の変換器を前記次世代の変換器として選択する確率を、前記旧世代適合度が前記基準値以上の変換器を前記次世代の変換器として選択する確率より高くする
請求項2に記載の遺伝的処理装置。
The selection unit sets a probability of selecting a converter having the current generation fitness level equal to or higher than a reference value as the next generation converter, and sets a converter having the old generation fitness level equal to or higher than the reference value to the next generation converter. The genetic processing device according to claim 2, wherein the genetic processing device is higher than a probability of selecting as.
それぞれの世代において前記重み生成部により更新された複数の世代別の重みデータを記憶する重み記憶部を備え、
前記適合度算出部は、それぞれの前記現世代の変換器について、前記変換済データと学習用目標データとを前記複数の世代別の重みデータのそれぞれにより重み付けして比較した結果に応じた複数の世代別適合度を算出する
請求項1から3の何れかに記載の遺伝的処理装置。
A weight storage unit that stores a plurality of generational weight data updated by the weight generation unit in each generation;
For each of the current generation converters, the fitness calculator calculates a plurality of weights according to a result of comparing the converted data and the learning target data by weighting each of the plurality of generation weight data. The genetic processing device according to any one of claims 1 to 3, wherein the fitness for generation is calculated.
複数の世代間における前記現世代適合度の増分値に応じて、前記適合度算出部が前記現世代の変換器について算出すべき前記複数の世代別適合度の世代数を制御する制御部を備える
請求項4に記載の遺伝的処理装置。
A controller for controlling the number of generations of the plurality of generation suitability to be calculated for the converter of the current generation by the suitability calculating unit according to an increment value of the current generation suitability between a plurality of generations; The genetic processing apparatus according to claim 4.
前記生成部は、入力画像を出力画像に変換する画像フィルタを前記変換器として、少なくとも1つの前世代の画像フィルタから遺伝的処理により現世代の画像フィルタを生成する
請求項1から5の何れかに記載の遺伝的処理装置。
The generation unit generates an image filter of the current generation by genetic processing from at least one image filter of the previous generation, using the image filter that converts an input image into an output image as the converter. The genetic processing device according to 1.
入力データを出力データに変換する少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成ステップと、
前世代以前の重みデータを、現世代の重みデータに更新する重み生成ステップと、
それぞれの前記現世代の変換器について、学習用入力データを変換した変換済データと学習用目標データとを前記現世代の重みデータにより重み付けして比較した結果に応じた現世代適合度、および、前記変換済データと前記学習用目標データとを前記前世代以前の重みデータにより重み付けして比較した結果に応じた旧世代適合度を算出する適合度算出ステップと、
を備える遺伝的処理方法。
Generating a current generation converter by genetic processing from at least one previous generation converter for converting input data to output data;
A weight generation step of updating the weight data before the previous generation to the weight data of the current generation;
For each current generation converter, the current generation suitability according to the result of weighted comparison of the converted data obtained by converting the learning input data and the learning target data with the weight data of the current generation, and A fitness calculation step of calculating an old generation fitness according to a result of comparing the converted data and the learning target data by weighting the weight data of the previous generation or earlier; and
A genetic processing method comprising:
遺伝的処理装置として、コンピュータを機能させる遺伝的処理プログラムであって、
前記コンピュータを、
入力データを出力データに変換する少なくとも1つの前世代の変換器から、遺伝的処理により現世代の変換器を生成する生成部と、
前世代以前の重みデータを、現世代の重みデータに更新する重み生成部と、
それぞれの前記現世代の変換器について、学習用入力データを変換した変換済データと学習用目標データとを前記現世代の重みデータにより重み付けして比較した結果に応じた現世代適合度、および、前記変換済データと前記学習用目標データとを前記前世代以前の重みデータにより重み付けして比較した結果に応じた旧世代適合度を算出する適合度算出部と、
を備える遺伝的処理装置
として機能させる遺伝的処理プログラム。
A genetic processing program for causing a computer to function as a genetic processing device,
The computer,
A generator that generates a current generation converter by genetic processing from at least one previous generation converter that converts input data into output data;
A weight generation unit that updates the weight data of the previous generation to the weight data of the current generation;
For each current generation converter, the current generation suitability according to the result of weighted comparison of the converted data obtained by converting the learning input data and the learning target data with the weight data of the current generation, and A fitness calculation unit that calculates the previous generation fitness according to the result of comparing the converted data and the learning target data with weight data before and after the previous generation;
A genetic processing program that functions as a genetic processing device.
JP2009159223A 2009-07-03 2009-07-03 Genetic processing apparatus, genetic processing method, and genetic processing program Expired - Fee Related JP5359622B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009159223A JP5359622B2 (en) 2009-07-03 2009-07-03 Genetic processing apparatus, genetic processing method, and genetic processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009159223A JP5359622B2 (en) 2009-07-03 2009-07-03 Genetic processing apparatus, genetic processing method, and genetic processing program

Publications (2)

Publication Number Publication Date
JP2011014049A true JP2011014049A (en) 2011-01-20
JP5359622B2 JP5359622B2 (en) 2013-12-04

Family

ID=43592841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009159223A Expired - Fee Related JP5359622B2 (en) 2009-07-03 2009-07-03 Genetic processing apparatus, genetic processing method, and genetic processing program

Country Status (1)

Country Link
JP (1) JP5359622B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107636698A (en) * 2015-06-25 2018-01-26 富士通株式会社 Program creating device, program creating method and generation program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022437A (en) * 1999-07-13 2001-01-26 Toshiba Corp Plant controller and computer readable recording medium storing plant control program
JP2008204103A (en) * 2007-02-19 2008-09-04 Yokohama National Univ Image recognition system
JP2008204016A (en) * 2007-02-16 2008-09-04 Univ Of Electro-Communications Circulation number management system, method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022437A (en) * 1999-07-13 2001-01-26 Toshiba Corp Plant controller and computer readable recording medium storing plant control program
JP2008204016A (en) * 2007-02-16 2008-09-04 Univ Of Electro-Communications Circulation number management system, method and program
JP2008204103A (en) * 2007-02-19 2008-09-04 Yokohama National Univ Image recognition system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107636698A (en) * 2015-06-25 2018-01-26 富士通株式会社 Program creating device, program creating method and generation program
US10489710B2 (en) 2015-06-25 2019-11-26 Fujitsu Limited Program generation apparatus and program generation method
CN107636698B (en) * 2015-06-25 2021-10-19 富士通株式会社 Program generation device, program generation method, and generation program

Also Published As

Publication number Publication date
JP5359622B2 (en) 2013-12-04

Similar Documents

Publication Publication Date Title
JP5408128B2 (en) Image processing apparatus, image processing method, processing apparatus, and program
US9292789B2 (en) Continuous-weight neural networks
JP5304401B2 (en) Genetic processing apparatus, genetic processing method and program
JP2011014051A (en) Generating device, generating method, and generation program
JP5181825B2 (en) Image processing apparatus, image processing method, and program
JP5359622B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5417967B2 (en) Genetic processing apparatus, genetic processing method and program
JP5396977B2 (en) Data processing apparatus, data processing method and program
JP5418052B2 (en) Genetic processing apparatus, genetic processing method and program
JP5417972B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5417950B2 (en) Genetic processing apparatus, genetic processing method and program
JP5453937B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5359531B2 (en) Genetic processing apparatus, genetic processing method and program
JP2010257067A (en) Apparatus and method for processing hereditary, and program
JP5326776B2 (en) Image processing apparatus, image processing method, and image processing program
JP5359479B2 (en) Genetic processing apparatus, genetic processing method and program
JP5365328B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5444822B2 (en) Genetic processing apparatus, genetic processing method and program
Li et al. Global Opposition Learning and Diversity ENhancement based Differential Evolution with exponential crossover for numerical optimization
JP5181826B2 (en) Image processing apparatus, image processing method, and program
JP2011014047A (en) Image processing apparatus, image processing method, and image processing program
JP5471105B2 (en) Image processing apparatus, image processing method, and image processing program
WO2021020273A1 (en) Description generating device, description generating method, and program
JP5181821B2 (en) Image processing apparatus, image processing method, and program
WO2022270163A1 (en) Computer system, and intervention effect prediction method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120628

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5359622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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