Data processing system and data processing program
The data processing system optimizes detection target finding by separately manipulating node and network information, addressing inefficiencies in evolutionary calculations and enhancing the efficiency of data processing systems.
Patent Information
- Application Number
- JP2021003581
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-01-13
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-01-13
AI Technical Summary
Existing data processing systems face inefficiencies in optimizing detection target finding due to complications arising from integrated node and network information manipulation during crossover and mutation processes, which hinder evolutionary calculations.
A data processing system that separates node and network information manipulation within individual information, utilizing genetic algorithms to optimize data processing by independently managing node and network information through a genetic manipulation unit.
This approach enhances the efficiency of data processing by allowing separate manipulation of node and network information, facilitating more effective optimization and evolution of data processing algorithms.
Smart Images

Figure 0007604900000001 
Figure 0007604900000002 
Figure 0007604900000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a data processing technique for finding a detection target from data, and to a data processing system for optimizing this data processing by genetic manipulation. [Background technology]
[0002] Conventionally, in the automatic generation of image processing algorithms using evolutionary computation to find detection targets in images, image processing is performed on training images using individual information (equivalent to chromosomes) that defines the execution order of multiple nodes (functional units, equivalent to genes), the resulting output image is compared with a teacher image to calculate an evaluation value, and the result is reflected in the individual information to learn and optimize the image processing.
[0003] Since the individual information defines the execution order of the nodes, for example, the node (function), parameters, and network information indicating the input source and output destination node numbers are stored in a table format for each node number, as shown in Fig. 13. Also, in evolutionary computation, genetic operations such as crossover and mutation are performed on the individual information to generate new individual information. According to such a method, it is possible to obtain excellent individual information through learning, and it is possible to optimize image processing. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2007-87055 A [Non-patent literature]
[0005] [Non-Patent Document 1] Generation of optimal networks using evolutionary methods, Yamamoto, Komatsu, Namatame, Computer Software, Vol.28, No.1(2011), pp.26-33. Summary of the Invention [Problem to be solved by the invention]
[0006] However, when crossover or mutation is performed on individual information, a network may not be properly established in the new individual information, and no output information may be obtained. In this situation, the inventors have come to the realization that the efficiency of evolution may be hindered by genetically manipulating the network information together with the nodes. In other words, the node information and the network information are integrated in the individual information, and crossover and mutation processes are performed on this individual information, which may result in complicated evolutionary computation.
[0007] Therefore, the inventors conducted intensive research and succeeded in optimizing data processing more efficiently by making it possible to genetically manipulate node information and network information in individual information separately, thereby completing the present invention.
[0008] Here, Patent Document 1 discloses an evolutionary computing system that increases the degree of freedom of reproduction in genetic programming and simultaneously optimizes solid structures and numerical values. However, this evolutionary computing system does not solve the problem of the present invention because the node information and the network information are integrated in the individual information. Furthermore, Non-Patent Document 1 discloses a technique for generating an optimal network by an evolutionary method, but this technique optimizes only network information and is not capable of solving the problems of the present invention.
[0009] The present invention has been made in consideration of the above circumstances, and aims to provide a data processing system and a data processing program that use genetic manipulation to optimize data processing for finding detection targets from data, which can genetically manipulate node information and network information in individual information separately, thereby making it possible to optimize data processing more efficiently. [Means for solving the problem]
[0010] In order to achieve the above-mentioned object, the data processing system of the present invention is a data processing system that optimizes data processing for detecting detection targets from data using genetic operations, which are optimization methods that mathematically simulate the evolution of living organisms, and is equipped with a population memory unit that stores a plurality of individual information items, each of which consists of node information consisting of a plurality of nodes and network information that defines the execution order of the nodes, and which separately has the node information and the network information, and a genetic manipulation unit that selects or changes the individual information and updates the population memory unit, and is configured such that the genetic manipulation unit separately selects or changes the node information and the network information in the individual information.
[0011] It is also preferable that the data processing system of the present invention further comprises an individual generating unit which generates the node information and the network information separately and stores them in the individuals storage unit for each individual information.
[0012] It is also preferable that the data processing system of the present invention comprises a data input unit for inputting learning or verification data, a teacher information input unit for inputting teacher information for evaluating the output information, a data processing unit for processing the data based on the individual information and generating output information, and an evaluation value calculation unit for comparing the output information with the teacher information to calculate an evaluation value and ranking the individual information based on this evaluation value, and that the genetic manipulation unit is configured to select or change the individual information based on the ranking information of the individual information.
[0013] It is also preferable that the data processing system of the present invention be configured so that the evaluation value calculation unit separately calculates an evaluation value obtained by comparing the output information with the teacher information and an evaluation value based on the network information, calculates an evaluation value of the individual information based on these evaluation values, and ranks the individual information based on the evaluation value of the individual information.
[0014] It is also preferable that the data processing system of the present invention be configured so that the evaluation value calculation unit separately calculates an evaluation value obtained by comparing the output information with the teacher information, an evaluation value based on the network information, and an evaluation value based on the node information, calculates an evaluation value of the individual information based on these evaluation values, and ranks the individual information based on the evaluation values of the individual information.
[0015] In the data processing system of the present invention, the node information is preferably configured to include nodes (functions) and parameters.
[0016] It is also preferable that in the data processing system of the present invention, the network information is configured from a group of nodes and a group of edges representing the connection relationships between the nodes.
[0017] It is also preferable that the data processing system of the present invention is configured so that the network information is defined by an adjacency matrix, a connection matrix, or a Laplacian matrix.
[0018] It is also preferable that the data processing system of the present invention is configured so that the data is image or waveform data.
[0019] In addition, the data processing program of the present invention is a data processing program that optimizes data processing for detecting a detection target from data using genetic operations, which are an optimization method that mathematically simulates the evolution of living organisms, and causes a computer to function as a population memory unit that stores a plurality of individual information pieces, each of which consists of node information consisting of a plurality of nodes and network information that defines the execution order of the nodes, and which separately has the node information and the network information, and a genetic manipulation unit that selects or changes the individual information and updates the population memory unit, and is configured to cause the genetic manipulation unit to separately select or change the node information and the network information in the individual information. Effect of the Invention
[0020] According to the present invention, in a data processing system that uses genetic manipulation to optimize data processing for finding detection targets from data, it is possible to provide a data processing system and a data processing program that can genetically manipulate function information and network information in individual information separately, thereby enabling more efficient optimization of data processing. [Brief description of the drawings]
[0021] [Figure 1] 1 is a block diagram showing a configuration of a data processing device according to an embodiment of the present invention. [Diagram 2] FIG. 11 is an explanatory diagram of individual information having separate node information and network information used in the data processing device according to the embodiment of the present invention. [Diagram 3] 1 is an explanatory diagram showing an example of the structure of individual information used in a data processing device according to an embodiment of the present invention; [Figure 4] 1 is an explanatory diagram of a directed graph used as network information in a data processing device according to an embodiment of the present invention; [Diagram 5] 1 is an explanatory diagram of an adjacency matrix used as network information in a data processing device according to an embodiment of the present invention. FIG. [Figure 6] FIG. 2 is an explanatory diagram of a connection matrix used as network information in the data processing device according to the embodiment of the present invention. [Figure 7] FIG. 11 is an explanatory diagram of a crossover process of node information in the data processing device according to the embodiment of the present invention. [Figure 8] FIG. 4 is an explanatory diagram of a crossover process of network information in the data processing device according to the embodiment of the present invention. [Figure 9] 4 is a flowchart showing a processing procedure performed by the data processing device according to the embodiment of the present invention. [Figure 10] 10 is a flowchart showing a processing procedure for generating an initial population in the processing procedure by the data processing device according to the embodiment of the present invention. [Figure 11]10 is a flowchart showing a processing procedure for calculating an evaluation value in the processing procedure by the data processing device according to the embodiment of the present invention. [Figure 12] 1 is a flowchart showing a genetic manipulation processing procedure in the processing procedure by the data processing device according to an embodiment of the present invention. [Figure 13] FIG. 11 is an explanatory diagram of individual information used in a conventional data processing device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] Hereinafter, a data processing system and a data processing program according to an embodiment of the present invention will be described in detail. However, the present invention is not limited to the specific contents of the following embodiment.
[0023] First, a data processing system and a data processing program according to an embodiment of the present invention will be described with reference to Figs. 1 to 8. Fig. 1 is a block diagram showing the configuration of a data processing device according to this embodiment. Fig. 2 is an explanatory diagram of individual information used in the data processing device according to this embodiment, and Fig. 3 is a diagram showing an example of the structure of the individual information. Figs. 4 to 6 are explanatory diagrams of a directed graph, an adjacency matrix, and a connection matrix used as network information in the data processing device according to this embodiment, respectively. Figs. 7 and 8 are explanatory diagrams of crossover processing of node information and crossover processing of network information in the data processing device according to this embodiment, respectively.
[0024] As shown in FIG. 1, the data processing system of this embodiment includes a node memory unit 10, an individual generation unit 11, a population memory unit 12, a target data input unit 13, a target data memory unit 14, a teacher information input unit 15, a teacher information memory unit 16, a data processing unit 17, an output information memory unit 18, an evaluation value calculation unit 19, an evaluation result memory unit 20, and a genetic manipulation unit 21. These components in the data processing device 1 of this embodiment can all be provided in one information processing device as shown in Fig. 1. Moreover, these components may be provided in a distributed manner in each device of a data processing system consisting of a plurality of information processing devices.
[0025] The node storage unit 10 stores, for each node number, a node that is a functional unit for executing a certain process. In this embodiment, various types of nodes for performing data processing such as image processing can be used as the node.
[0026] Examples of image processing include an image processing algorithm for detecting a detection target from an image, an image noise removal algorithm, an image resolution enhancement algorithm, an image synthesis algorithm, etc. These algorithms are created by combining multiple nodes. Furthermore, if there are parameters used to execute each process, these nodes are stored in the node storage unit 10 together with the parameters. In this specification, "image processing" includes various filter processes for noise removal, correction processes such as brightness correction, binarization processing, edge detection processing, frequency filter processing, arithmetic processing such as arithmetic operations, morphology processing, detection target determination processing, branching processing, and the like.
[0027] In addition, various types of nodes can be used for data processing other than image processing, and can also be used for processing waveform data. Specifically, nodes can be used that are configured with measurement indices of detection targets, types of feature quantities, parameters used to calculate feature quantities, and the like. Measurement indices to be detected include process data obtained from devices and inspection data obtained from products, and it is preferable to use a combination of these.
[0028] Examples of the process data include temperature, humidity, vibration, displacement, speed, acceleration, rotation angle, angular velocity, angular acceleration, voltage, current, light amount, sound, and pressure. Inspection data may include dimensions (size, circularity, etc.), color, defects (number, size, etc.), ejection count, transparency, weight, strength, and surface roughness.
[0029] Types of features include measurement values in time series data, average value, maximum value, minimum value, median, standard deviation, maximum-minimum value, 1σ probability, 3σ probability, first quartile, third quartile, mode, kurtosis, skewness of a histogram of the time series data, peak position, peak value, center of gravity position in the frequency characteristics of the time series data, amount of change and abundance according to the Taguchi method, etc. Examples of parameters include the start time for calculating the feature amount in the time series data, the width (time interval), the frequency domain, and the number of divisions of the frequency domain.
[0030] Furthermore, a node that does not execute any process may be used, or a set of nodes that execute multiple processes may be used as one node (node set). By using nodes that do not execute any process, the actual number of nodes can be reduced, for example, when the setting value of the initial number of nodes for generating individual information is too large.
[0031] The individual generation unit 11 generates a plurality of pieces of individual information by using the nodes stored in the node storage unit 10. This individual information constitutes a data processing algorithm. In this embodiment, as shown in FIG. 2, the individual information includes node information consisting of a plurality of nodes and network information that defines the execution sequence of the nodes, which are separate (in a separated manner).
[0032] That is, the individual generation unit 11 generates node information consisting of multiple nodes based on the nodes stored in the node storage unit 10, and also generates network information that defines the execution order of the multiple nodes separately, and stores these for each individual information in the individual group storage unit 12. Fig. 2 shows node information stored as a table and network information stored as a matrix.
[0033] The node information consists of multiple nodes and parameters, and does not include network information such as input sources and output destinations. The network information is preferably composed of a group of nodes and a group of edges that represent their connection relationships, and the group of edges is preferably defined by an adjacency matrix, a connection matrix, or a Laplacian matrix. In Fig. 2, the network information is defined by an adjacency matrix. That is, in this embodiment, the network is a directed graph composed of directed edges and may include feedback. It is also preferable to weight the edges for the evaluation of network information, as described below.
[0034] Furthermore, the node information and network information can be used to express the structure of individual information shown in FIG. The network information also includes each node for executing the input processing of the target data and the storage processing of the output data. Note that it is also possible to control the input processing of the target data to be performed first, the storage processing of the output data to be performed after the processing of a certain number of nodes, or the storage processing of the output data to be performed when a certain number of loops have occurred.
[0035] As shown in FIG. 4, a directed graph has vertices as nodes and edges as input sources and output destinations. The adjacency matrix of a directed graph is expressed as a matrix of number of nodes × number of nodes, with each row and column corresponding to each vertex, as shown in Figure 5. If an edge from vertex p to vertex q exists, the element of (p, q) is expressed as 1, and if it does not exist, the element of (p, q) is expressed as 0.
[0036] The connectivity matrix of a directed graph is expressed as a matrix of the number of nodes x the number of edges, as shown in Figure 6, where each row corresponds to a vertex and each column corresponds to an edge. If vertex p is the start point of edge r, the element of (p, r) is 1, if vertex p is the end point of edge r, the element of (p, r) is -1, and if vertex p is not an end point, the element of (p, r) is 0. (For the basic concepts of the adjacency matrix and connectivity matrix of a directed graph, see "Fundamentals of Graph and Network Algorithms: Mathematics and C Programming, Takao Asano, April 30, 2017).)
[0037] In this way, the individual generation unit 11 generates network information in the form of abstract data types consisting of groups of nodes, such as adjacency matrices and connectivity matrices, and groups of edges that represent the connections between them. This makes it possible, for example, to easily determine whether a network is established by adding up the values of each column and row in the matrix.
[0038] In addition, if the network is not properly established as a result of the generation of network information or genetic manipulation, and individual information is generated that does not provide output information, the evaluation value will be poor and the individual information will be selected out by the evolutionary computation process. Therefore, although it is possible to efficiently eliminate unnecessary individual information by determining whether the network is established, this determination of whether the network is established is not a required configuration and can be omitted.
[0039] The individual set storage unit 12 stores an individual set consisting of a plurality of pieces of individual information generated by the individual generation unit 11. As shown in Fig. 2, each of these pieces of individual information has node information consisting of a plurality of nodes and network information that defines the execution order of the nodes separately. As this population, one generation or multiple generations can be stored in the population storage unit 12, and individual information can be stored in the population storage unit 12 for each generation number. The evaluation value calculation unit 19, which will be described later, can rank the individual information for each generation or for each set generation, and store the ranking information in the evaluation result storage unit 20.
[0040] The target data input unit 13 inputs a plurality of learning data and a plurality of verification data as target data to the data processing device 1, and stores them for each data identification information in the target data storage unit 14. As the learning data and verification data, for example, image data, waveform data, etc. can be used.
[0041] The training data can be used to process all individual information (data processing algorithms) to obtain output information, to compare the output information with teaching information to calculate an evaluation value, and to use the evaluation value to rank individuals. The verification data can be used to obtain output information by processing the best individual information among the specified individual information, to compare the output information with the teacher information to calculate an evaluation value, and to use the evaluation value to verify the validity of the data processing algorithm and whether overlearning has occurred.
[0042] Since the validation data is used by humans to analyze the results, it does not generally affect the evolutionary computation. However, if the evaluation value of the validation data is used to determine the termination, for example, if the termination is performed when the evaluation value of the validation data reaches a threshold value, or if the early termination is performed when a large difference occurs between the evaluation values of the training data and the validation data, then the evolutionary computation will automatically be affected.
[0043] The teacher information input unit 15 inputs teacher information for evaluating the output information, and stores the teacher information in the teacher information storage unit 16 for each piece of identification information of the corresponding data. The teacher information may be information corresponding to a plurality of learning data or a plurality of verification data. When the teacher information is an image, for example, a detection target shown in white on a black background may be used. When the teacher information is an image, it is also preferable to use the number or positions of detection targets in the image, or the range in which the detection targets exist, as teacher information together with the image.
[0044] The data processing unit 17 inputs the target data from the target data storage unit 14 and also inputs the individual information from the population storage unit 12, and based on the individual information, sequentially executes a plurality of nodes included in the individual information in accordance with the network information.
[0045] At this time, each node executes a process corresponding to each function using information obtained from the target data. Also, each node may selectively execute the next node corresponding to the processing result based on the processing result. Therefore, even if the node is included in the individual information, not all nodes are necessarily executed in the data processing. Of course, there are cases where all nodes in the individual information are executed, and feedback may be provided so that a node that is defined only once in one individual information may be executed multiple times.
[0046] In addition, the nodes have functions of narrow-sense image processing, such as various filter processes for noise removal, correction processes such as brightness correction, binarization processes, edge detection processes, frequency filter processes, arithmetic operations such as arithmetic operations, morphology processes, and branching processes. As a node, it also has a function of detection target determination processing, which is performed by the data processing unit 17, for example, by labeling detection target candidates in a certain range in an image, calculating their feature amounts, and judging whether or not the detection target candidates having the feature amounts are correct detection targets based on a threshold value or the like. In addition, in the detection target determination process, it is also possible to perform a process in which non-detection target candidates are labeled and their features are calculated, and if the candidate does not have that feature based on a threshold value or the like, it is determined that the candidate is not a detection target.
[0047] Furthermore, the data processing unit 17 can create output information (detection result data) for each of the learning data and the verification data, and store it in the output information storage unit 18 for each (identification information of) individual information and for each (identification information of) target data. When the number of detection targets in an image, positions, or a range in which the detection targets exist are included as the teacher information, the number of detection targets, positions, or a range in which the detection targets exist are also created as output information, and stored in the output information storage unit 18.
[0048] If a detection target is detected for each of the learning data and the verification data, the data processing unit 17 can create detection result data to which information indicating the presence of the detection target (such as an area) is added, and if a detection target is not detected, it can create detection result data without the information added. Then, this output information can be stored in the output information storage unit 18 for each piece of individual information and for each piece of target data.
[0049] The function of creating the detection result data can also be performed by the evaluation value calculation unit 19. That is, after the data processing unit 17 processes the data, the evaluation value calculation unit 19 creates the detection result data, stores it in the output information storage unit 18, and uses it to calculate the evaluation value.
[0050] The evaluation value calculation unit 19 inputs the output information from the output information storage unit 18 and also inputs the teacher information corresponding to the output information from the teacher information storage unit 16, and calculates an evaluation value by comparing the output information with the teacher information. The evaluation value calculation unit 19 also calculates an evaluation value based on the network information. Then, it is possible to calculate an evaluation value of the individual information based on these evaluation values. At this time, the evaluation value calculation unit 19 can calculate the evaluation value of the individual information by weighting and summing the evaluation value obtained by comparing the output information with the teacher information and the evaluation value based on the network information.
[0051] Furthermore, it is also preferable to have the evaluation value calculation unit 19 calculate an evaluation value based on the node information. That is, the data processing unit 17 stores the processed information in the output information storage unit 18 at the timing of execution of processing by each node in the individual information, and the evaluation value calculation unit 19 compares the processed information with the teacher information to obtain an evaluation value for evaluating the influence of each node. At this time, the evaluation value calculation unit 19 can calculate the evaluation value of the individual information by weighting and summing the evaluation value obtained by comparing the output information with the teacher information, the evaluation value based on the network information, and the evaluation value based on the node information.
[0052] Then, the evaluation value calculation unit 19 can store the obtained evaluation value of the individual information in the evaluation result storage unit 20 for each individual information and for each target data.
[0053] The evaluation value calculation unit 19 can obtain an evaluation value obtained by comparing the output information with the teacher information by calculating the error between the output information and the teacher information, for example, by calculating the mean square error using the least squares method.
[0054] Moreover, the evaluation value calculation unit 19 can calculate an evaluation value based on the network information using, for example, the following indices. (1) Number of nodes It represents the size of the network. For example, it can be calculated based on the following formula and used as an evaluation factor. Number of nodes = number of nodes set - number of nodes without links
[0055] (2) Node degree It represents the average number of edges connected to a node. (3) Minimum number of edges It is the minimum number of edges required to reach from one node to another, and more specifically, it represents the distance on a directed graph from an input node to an output node.
[0056] (4) Weighting (cost) It is a weighting for edges in a directed graph, and for example, the processing time or the rate of change before and after image processing by a node can be used as the weight. In this case, the network is expressed as a weighted directed graph, and for example, in the adjacency matrix shown in Figure 5, it can be expressed as having elements with values other than 1 or 0, such as 0.5 or 2.
[0057] Furthermore, the evaluation value calculation unit 19 can obtain an evaluation value based on node information by calculating the error between the information after processing by each node and the teacher information, for example, by calculating the mean square error using the least squares method.
[0058] In this way, it becomes possible to control the direction of evolution of individual information by calculating the evaluation value of only the network information separately from the output information and node information by the evaluation value calculation unit 19. For example, when a large network is searched in the early stage of evolution, it is possible to control so that an individual with a large node degree is considered to be a good individual, and when it is desired to reduce the network at the end of evolution, an individual with a small node degree is considered to be a good individual.
[0059] In addition, when the evaluation value calculation unit 19 has finished calculating the evaluation values for all individual information (or individual information for one generation) stored in the population memory unit 12 and stored them in the evaluation result memory unit 20, it can rank the individual information based on those evaluation values and store the obtained ranking information in the evaluation result memory unit 20. Furthermore, the evaluation value calculation unit 19 can also rank the learning data for each piece of individual information based on the evaluation value, and store the obtained ranking information in the evaluation result storage unit 20.
[0060] Furthermore, the evaluation value calculation unit 19 can perform an end judgment to judge whether or not to end the data processing by the data processing unit 17. The end judgment can be performed based on whether or not an end condition is satisfied, and when the end condition is satisfied, the individual information with the highest evaluation value stored in the evaluation result storage unit 20 can be treated as individual information optimized for detecting the detection target from the data (optimized detector), and can be stored in an optimized detector storage unit (not shown).
[0061] The termination conditions in the termination judgment by the evaluation value calculation unit 19 can be a case where image processing is completed for all populations of preset generations, a case where no evolution has occurred for a certain number of generations, etc. A case where no evolution has occurred is a case where the evaluation value has not improved since the time of comparison. The function of this end determination may be separated from evaluation value calculation unit 19, and data processing device 1 of this embodiment may be provided with an end determination unit for making the end determination.
[0062] The gene manipulation unit 21 selects or modifies the individual information based on the ranking information of the individual information in the evaluation result storage unit 20 , and updates the population storage unit 12 . This makes it possible to sequentially add individual information of new generations of populations to the population storage unit 12. At this time, the gene manipulation unit 21 selects or modifies the node information and the network information in the individual information separately.
[0063] Specifically, the gene manipulation unit 21 can have an elite individual preservation unit that passes on individual information with a high evaluation value to the next generation, an individual selection unit that passes on individual information to the next generation with a certain probability based on the evaluation value, a crossover unit that exchanges parts of two pieces of individual information with each other, and a mutation unit that randomly rewrites part or all of the selected individual information or node parameters.
[0064] The elite individual preservation unit can carry out a process of unconditionally passing on to the next generation information on the individual with the best evaluation value in the population of each generation. The individual selection unit can select, with a high probability, individual information with a high ranking in evaluation value from the population of individuals in each generation, and perform processing such as leaving the information to the next generation.
[0065] The crossover unit can perform one-way crossover, which swaps identical sequences in node information and network information in a plurality of pieces of individual information with a certain probability, as a crossover process. The crossover unit can also perform one-point crossover, which swaps one sequence with another at a single point in the identical sequence in the node information and network information, and multiple-point crossover, which swaps sequences with another at multiple points in the identical sequence. The crossover unit can perform such crossover processes on the individual information selected by the individual selection unit.
[0066] Specifically, the crossover process of node information can be performed to obtain two pieces of next-generation individual information from two pieces of parent individual information, for example, as shown in Fig. 7. Also, the crossover process of network information can be performed to obtain two pieces of next-generation individual information from two pieces of parent individual information, for example, as shown in Fig. 8.
[0067] As a mutation process, the mutation unit can use the nodes stored in the node storage unit 10 to rewrite part of the individual information with a certain probability for each piece of individual information, or rewrite all of the individual information. The mutation unit can perform such a mutation process on the individual information selected by the individual selection unit. Furthermore, as a mutation process, the mutation unit can also generate new individual information using the nodes stored in the node storage unit 10. Furthermore, as a mutation process, the mutation unit can also perform parameter mutation by randomly rewriting some or all of the parameters of the nodes of the selected parent individual information.
[0068] Furthermore, if the number of individuals of the same series generated based on the same individual information increases, diversity will be lost and evolution will enter a dead end (a mathematically localized solution state). On the other hand, if the number of individuals outside the same series is increased too much, it will approach random search and efficient evolution will not occur. Therefore, in the early stages of learning, it is preferable to increase individuals other than the same series by using the mutation unit to provide diversity, and in the middle stages of learning, to increase the number of individuals of the same series by using the individual selection unit in order to perform efficient evolution. Also, when evolution stops, it is preferable to use the mutation unit to increase individuals other than the same series in order to provide diversity again.
[0069] Then, the genetic manipulation unit 21 generates a population of a new generation and stores it in the population storage unit 12. At this time, the genetic manipulation unit 21 can update the population storage unit 12 by overwriting the population of the previous generation. Also, the population storage unit 12 can be updated by storing populations of multiple generations for each generation.
[0070] In this way, the gene manipulation unit 21 can perform detailed gene manipulation by separately processing the node information and the network information in the gene manipulation such as crossover processing and mutation processing.
[0071] Next, the processing procedure by the data processing device according to this embodiment will be described with reference to Fig. 9 to Fig. 12. Fig. 9 is a flowchart showing the processing procedure by the data processing device according to this embodiment. Figs. 10 to 12 are a flowchart showing the processing procedure for generating an initial population, a flowchart showing the processing procedure for calculating an evaluation value, and a flowchart showing the processing procedure for gene manipulation, respectively.
[0072] 9, the target data input unit 13 in the data processing device 1 inputs target data and stores it in the target data storage unit 14 (step 10). This target data can be a plurality of learning data and a plurality of verification data, and can be, for example, image or waveform data.
[0073] The teacher information input unit 15 inputs the teacher information and stores it in the teacher information storage unit 16 (step 11). At this time, the teacher information input unit 15 can use, for example, image or waveform data as the teacher information. Also, together with the image, the number and positions of detection targets in the image, or the range in which the detection targets exist, can be used as the teacher information.
[0074] Next, the individual generation unit 11 generates an initial population of individuals (step 12). Specifically, as shown in FIG. 10, a population loop process is performed for the set number of individuals (step 30). At this time, the individual generation unit 11 performs loop processing for the set number of nodes (step 31), and generates node information in the individual information by randomly setting the nodes and the corresponding parameters (step 32).In addition, the individual information is generated by randomly setting network information in the individual information separately from the node information (step 33).
[0075] Then, the individual generation unit 11 stores the individual information thus generated for each piece of identification information in the population storage unit 12. At this time, the individual generation unit 11 can store the individuals in the population storage unit 12 for each generation number, with a population made up of a plurality of pieces of individual information being regarded as one generation. The population of a new generation can be created by the genetic manipulation unit 21 performing genetic manipulation on the individual information stored in the population storage unit 12. That is, the population of a new generation can be created by the genetic manipulation unit 21 selecting or changing the individual information and updating the population storage unit 12.
[0076] Next, the individual generation unit 11 performs a process of determining whether a network is established (step 34). If a network is not established (No in step 34), the process returns to the process of setting network information (step 33). If a network is established (Yes in step 34), the process of generating the initial population ends. This process of determining whether a network is established (step 34) may be omitted. The order of steps 10 to 12 may be changed.
[0077] Next, a generation loop is executed for a preset number of generations (step 13). Note that if a termination condition is met in a termination determination described later, the generation loop may terminate before the execution of the set number of generations.
[0078] In each generation loop, a population loop is executed for all individual information of the population of that generation in the population storage unit 12 (step 14). Here, the data processing unit 17 executes data processing for each of the target data in the target data storage unit 14, using the information on each individual of the population of the relevant generation in the population storage unit 12 (step 15). At this time, the data processing unit 17 can sequentially execute each of the multiple nodes of the node information in the individual information for the target data based on the network information, create output information corresponding to the target data, and store it in the output information storage unit 18.
[0079] Next, the evaluation value calculation unit 19 performs a process of calculating the evaluation value (step 16). At this time, the evaluation value calculation unit 19 compares the output information in the output information storage unit 18 with the teacher information in the teacher information storage unit 16 for each individual information of the population of the generation in the output information storage unit 18 and for each target data, and calculates an evaluation value.
[0080] 11, the evaluation value calculation unit 19 calculates the error between the output information and the teacher information as an evaluation value (x1) obtained by comparing the output information and the teacher information (step 40). At this time, the evaluation value calculation unit 19 can calculate the mean square error as the evaluation value by, for example, the least squares method using the output information and the teacher information.
[0081] Furthermore, the evaluation value calculation unit 19 calculates an evaluation value (x2) based on the network information (step 41). At this time, the evaluation value calculation unit 19 can calculate the evaluation value based on, for example, the number of nodes, the node degree, the minimum number of edges, and weighting. Then, the evaluation value calculation unit 19 performs a predetermined weighting on the evaluation value (x1) obtained by comparing the output information with the teacher information and the evaluation value (x2) based on the network information, and calculates the evaluation value (w1×x1+w2×x2) of the individual information (step 42).
[0082] It is also preferable that the evaluation value calculation unit 19 calculates an evaluation value based on node information (x3), for example, by calculating the error between the information after processing by the node and the teacher information, and then performs a predetermined weighting on the evaluation value (x1) obtained by comparing the output information with the teacher information, the evaluation value (x2) based on network information, and the evaluation value (x3) based on node information to calculate an evaluation value of individual information (w1×x1+w2×x2+w3×x3).
[0083] The evaluation value calculation unit 19 stores the obtained evaluation value for each piece of individual information and for each piece of target data in the evaluation result storage unit 20, and ends the calculation process of the evaluation value. It is also possible to calculate and store a statistical value of the evaluation value for each piece of individual information by the evaluation value calculation unit 19. As the statistical value of the evaluation value, for example, the average value or the standard deviation can be used.
[0084] Next, the evaluation value calculation unit 19 ranks the individual information based on the evaluation values stored in the evaluation result storage unit 20, and stores the results in the evaluation result storage unit 20 (step 17). This ranking of the individual information can be performed based on a statistical value of the evaluation values, etc.
[0085] Furthermore, the evaluation value calculation unit 19 performs a process of determining whether or not a termination condition is satisfied (step 18). If the termination condition is satisfied, the evaluation value calculation unit 19 can store the highest ranked individual information stored in the evaluation result storage unit 20 in the optimized detector storage unit as an optimized detector.
[0086] If the termination condition is not satisfied, the gene manipulation unit 21 executes the gene manipulation process (step 19). This enables the gene manipulation unit 21 to update the population storage unit 12 by adding a new generation of population.
[0087] Specifically, as shown in FIG. 12, the elite individual preservation unit in the gene manipulation unit 21 selects the individual information with the highest evaluation value as the individual information of the next generation population (step 50). Next, a crossover operation loop is executed for a preset number of individuals (step 51). At this time, the individual selection unit in the gene operation unit 21 selects two individuals with a higher probability for the individual information with a higher ranking of the evaluation value (step 52).
[0088] The crossover section in the gene manipulation section 21 executes crossover processing on the individual information selected by the individual selection section to generate new individual information. At this time, when creating, for example, 30 pieces of individual information for the next generation, the crossover unit can branch the process (step 53), execute crossover processing on node information for the 0th to 10th pieces (step 54), execute crossover processing on network information for the 11th to 20th pieces (step 55), and after executing crossover processing on node information for the 21st to 30th pieces (step 56), execute crossover processing on network information (step 57). Note that there is no limit to the number of individuals to be generated, and the numerical conditions for branching are not limited to these, and each may be biased or set randomly.
[0089] Next, a loop of mutation operations is executed for a preset number of individuals (step 58). At this time, the individual selection unit in the gene operation unit 21 selects one with a higher probability from the individual information with a higher ranking of the evaluation value (step 59).
[0090] The mutation section in the gene manipulation section 21 performs a mutation process or the like using the individual information selected by the individual selection section, or without using this individual information, to generate new individual information. In this case, when creating, for example, 30 pieces of individual information for the next generation, the mutation unit can branch the process (step 60), execute mutation processing on the node information for the 0th to 10th pieces (step 61), execute mutation processing on the network information for the 11th to 20th pieces (step 62), execute mutation processing on the node information for the 21st to 30th pieces (step 63), and then execute mutation processing on the network information (step 64). Note that there is no limit to the number of individuals to be generated, and the numerical conditions for branching are not limited to these, and each may be biased or set randomly. Also, the order of the crossover operation and the mutation operation may be reversed.
[0091] Then, the gene manipulation unit 21 executes a loop process for the number of individuals in the next generation (step 65), and executes a process for determining whether a network has been established (step 66). If a network has not been established (No in step 66), the gene manipulation unit 21 executes a process for correcting the network (step 67), and if a network has been established (Yes in step 66), the gene manipulation process ends. The process for determining whether a network has been established and the process for correcting the network may be omitted.
[0092] This genetic manipulation process (step 19) makes it possible to add individual information of the next generation population to the population storage unit 12. In this way, by repeating the generation loop (step 13), it is possible to sequentially add individual information of the population of new generations to the population storage unit 12.
[0093] The data processing device of the above embodiment can be realized by using a computer controlled by the data processing program of the present invention. The CPU of the computer sends commands to each component of the computer based on the data processing program, and causes them to perform predetermined processes required for the operation of the data processing device, such as individual generation process, data process, evaluation value calculation process, gene manipulation process, etc. In this way, each process and operation in the data processing device of the present invention can be realized by specific means in which the program and the computer work together.
[0094] The program is stored in advance on a recording medium such as ROM or RAM, and is executed by having the computer read the program from the recording medium installed in the computer; however, the program can also be read into the computer via a communication line, for example. Furthermore, the recording medium for storing the program can be configured by any recording means readable by any computer, such as a semiconductor memory, a magnetic disk, an optical disk, or the like.
[0095] As described above, according to the data processing system and data processing program of the embodiment of the present invention, it is possible to perform genetic manipulation separately on the node information and network information in the individual information, thereby making it possible to more efficiently optimize data processing. In addition, by generating network information using abstract data types consisting of groups of nodes, such as adjacency matrices and connectivity matrices, and groups of edges that represent the connections between them, it is possible to easily determine whether a network is established, for example, by adding up the values of each column and row in the matrix.
[0096] Furthermore, by calculating the evaluation value only for the network information separately from the output information and node information, it is possible to control the direction of evolution of the individual information. Furthermore, in genetic manipulations such as crossover and mutation, detailed genetic manipulations can be performed by processing node information and network information separately.
[0097] The present invention is not limited to the above-described embodiment, and it goes without saying that various modifications can be made within the scope of the present invention. For example, various configurations of the data processing device can be distributed among a plurality of information processing devices, and other indices can be added as evaluation values of the network information. [Industrial Applicability]
[0098] INDUSTRIAL APPLICABILITY The present invention can be suitably used as a data processing system capable of efficiently optimizing data processing for finding detection targets from data, when the data processing is optimized by genetic manipulation. [Explanation of symbols]
[0099] 1 Data Processing Device 10 Node storage 11 Individual Generation Section 12 Population Memory Unit 13 Target data input section 14 Target data storage unit 15 Teacher information input section 16 Teacher information storage section 17 Data Processing Section 18 Output information storage unit 19 Evaluation value calculation section 20 Evaluation result storage unit 21 Genetic Engineering Department
Claims
1. A data processing system that optimizes data processing for detecting a detection target from data by using genetic operations, which are an optimization method that mathematically simulates the evolution of living organisms, comprising: a population storage unit that stores a plurality of pieces of individual information, each of which has node information consisting of a plurality of nodes and network information that defines an execution order of the nodes, and which separately has the node information and the network information; and a genetic manipulation unit that selects or changes the individual information to update the population storage unit, The gene manipulation unit separately selects or modifies the node information and the network information in the individual information. A data processing system comprising:
2. The node information and the network information are generated separately, and the individual generating unit stores the node information and the network information in the individual group storage unit for each individual information.
2. The data processing system according to claim 1.
3. A data input unit for inputting data for learning or verification; a data processing unit that processes the data based on the individual information and generates output information; A teacher information input unit for inputting teacher information for evaluating the output information; an evaluation value calculation unit that compares the output information with the teacher information to calculate an evaluation value and ranks the individual information based on the evaluation value; The gene manipulation unit selects or modifies the individual information based on the ranking information of the individual information.
3. The data processing system according to claim 1, wherein:
4. The evaluation value calculation unit calculates an evaluation value obtained by comparing the output information with the teacher information and an evaluation value based on the network information separately, calculates an evaluation value of the individual information based on these evaluation values, and ranks the individual information based on the evaluation values of the individual information.
4. The data processing system according to claim 3.
5. The evaluation value calculation unit calculates an evaluation value obtained by comparing the output information with the teacher information, an evaluation value based on the network information, and an evaluation value based on the node information separately, calculates an evaluation value of the individual information based on these evaluation values, and ranks the individual information based on the evaluation values of the individual information.
4. The data processing system according to claim 3.
6. 6. The data processing system according to claim 1, wherein the node information is composed of nodes and parameters.
7. 7. The data processing system according to claim 1, wherein the network information is made up of a group of nodes and a group of edges representing their connection relationships.
8. 8. The data processing system according to claim 1, wherein the network information is defined by an adjacency matrix, a connection matrix, or a Laplacian matrix.
9. 9. The data processing system according to claim 1, wherein the data is image or waveform data.
10. A data processing program for optimizing data processing for detecting a detection target from data by using genetic operations, which are an optimization method that mathematically simulates the evolution of living organisms, Computer, a population storage unit that stores a plurality of pieces of individual information, each of which has node information consisting of a plurality of nodes and network information that defines an execution order of the nodes, and a genetic manipulation unit that selects or changes the individual information to update the population storage unit; The genetic manipulation unit is caused to select or change the node information and the network information in the individual information separately. A data processing program comprising:
Citation Information
Patent Citations
Evolution calculation system and evolution calculation method
JP2007087055A
Learning device and method
JP2007310860A
Diagram creating method
JP2015169962A
Image processing system, and image processing program
JP2020107008A
Using Hierarchical Representations for Neural Network Architecture Searching
US20200293899A1
