US2007288410A1PendingUtilityA1

System and method of using genetic programming and neural network technologies to enhance spectral data

Assignee: TOMKINS BENJAMINPriority: Jun 12, 2006Filed: Jun 6, 2007Published: Dec 13, 2007
Est. expiryJun 12, 2026(expired)· nominal 20-yr term from priority
G06N 3/086
32
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A signal transformation method that transforms an input signal obtained from a subject under a first value of a parameter to an output signal obtainable from said subject under a second value of said parameter is disclosed. The method creates a plurality of neural networks and subjects them to learn the mapping transformation. Genetic programming is used to evolve said plurality of neural networks by applying genetic operators to alter the configurations of said plurality of neural networks. The process of neural learning and genetic altering repeats until a predetermined number of generations is reach. The neural network that performs the mapping transformation best can be selected as the optimal neural network. This optimal neural network can be used subsequently to transform a second input signal to a second output signal for a pre-defined value of the parameter. The method of deriving the mapping transformation and the method of using the optimal neural network can be implemented as software applications that run on a data processing system.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of deriving a mapping transformation that transforms an input signal obtained from a subject under a first value of a parameter to an output signal obtainable from said subject under a second value of said parameter, comprising the steps of:
 a) creating a plurality of neural networks; each of said neural network comprising a plurality of nodes arranged in neural layers being connected by a plurality of weighted synaptic links; each said node further comprising a plurality of computational functions randomly selected from a plurality of functions in a plurality of function categories;   b) storing the configurations of said plurality of neural networks to a plurality of chromosomes; said configurations recording the connections of said weighted synaptic links among nodes and said computational functions of each said nodes in at least one chromosome layer;   c) performing a first training on said plurality of neural networks by adjusting said weighted synaptic links to learn said mapping transformation using a data set; said data set comprising a set of said input signals and a set of target signals; said target signal obtained from said subject using a value of said parameter different from said input signal;   d) performing a second training on said plurality of neural networks by modifying said configurations of said plurality of neural networks, comprising the steps of:
 i) applying genetic operators to said plurality of chromosomes, thus creating a second plurality of neural networks with different configurations; 
 ii) discarding neural networks in said second plurality of neural networks that do not satisfy at least one pre-defined constraint; 
 iii) repeating steps (i) and (ii) to replenish said discarded neural networks, and 
 iv) replacing said plurality of neural networks by said second plurality of neural networks, and 
   e) repeating steps (c) and (d) for a pre-determined number of generations such that in each said generation the configuration of each neural network may be altered and selected flexibly by said genetic operators to derive at an optimal neural network for said mapping transformation.   
     
     
         2 . A method according to  claim 1  wherein said signal is an image taken from an image sensor and said parameter is the:
 a) aperture setting; 
 b) shutter speed; 
 c) exposure parameter; 
 d) focal point; 
 e) pixel density; 
 f) optical lens parameter, or 
 g) any combination thereof. 
 
     
     
         3 . A method according to  claim 2  wherein said image is:
 a) an ultra-sound image; 
 b) a magnetic resonant image; 
 c) a computer tomography image; 
 d) an X-ray image; 
 e) a gamma ray image; 
 f) an infra-red image, or 
 g) an image from digital camera. 
 
     
     
         4 . A method according to  claim 1  wherein said signal is an audio signal taken from an audio sensor and said parameter is:
 a) spectral response of said audio sensor; 
 b) direction of audio source incoming to said audio sensor, or 
 c) any combination thereof. 
 
     
     
         5 . A method according to  claim 1  wherein said signal is a video signal comprising a sequence of images and an audio sensor to record an audio signal, and said parameter further comprises:
 a) number of images per second; 
 b) spectral response of said audio sensor; 
 c) segmentation boundaries of said video signal; said boundaries grouping said video signal into video segments, or 
 d) any combination thereof. 
 
     
     
         6 . A method according to  claim 1  wherein said plurality of function categories further comprises a transfer function category, a weight function category and a bias function category, with each category having a plurality of corresponding functions; said creating step further comprising the steps of choosing a transfer function from said transfer function category, choosing a weight function from said weight function category and choosing a bias function from said bias function category. 
     
     
         7 . A method according to  claim 1  further comprising the steps of arranging said chromosome in more than one chromosome layer, said chromosome comprising:
 a) a first chromosome layer with a plurality of chromosome tables to record said connections of said weighted synaptic link among nodes; each said chromosome table comprising a plurality of rows and a plurality of columns, with a non-zero table element in said chromosome table denoting that there is a connection between said row and said column while a zero entry denoting an absence of said connection, and 
 b) a second chromosome layer arranged in a chromosome matrix with a plurality of rows and columns of matrix elements; each column representing one neural layer of said neural network, the first row recording the number of nodes in each said neural layer; and the other rows representing one of said function categories; and each matrix element in said other rows denoting the choice of said plurality of functions in said function category. 
 
     
     
         8 . A method according to  claim 1  wherein said at least one constraint is the maximum number of nodes allowed in a neural network. 
     
     
         9 . A method of producing a transformed output signal from a sampled input signal, said transformed output signal obtainable of a pre-selected subject under a pre-determined value of a parameter, said sampled input signal obtained of said pre-selected subject under a pre-selected value of said parameter, said method comprising the steps of:
 a) providing an optimal neural network derived using a method of deriving a mapping transformation that transforms an input signal obtained from a subject under a first value of a parameter to an output signal obtainable from said subject under a second value of said parameter, said method of deriving comprising the steps of:
 i) creating a plurality of neural networks; each of said neural network comprising a plurality of nodes arranged in neural layers being connected by a plurality of weighted synaptic links; each said node further comprising a plurality of computational functions randomly selected from a plurality of functions in a plurality of function categories; 
 ii) storing the configurations of said plurality of neural networks to a plurality of chromosomes; said configurations recording the connections of said weighted synaptic links among nodes and said computational functions of each said nodes in at least one chromosome layer; 
 iii) performing a first training on said plurality of neural networks by adjusting said weighted synaptic links to learn said mapping transformation using a data set; said data set comprising a set of said input signals and a set of target signals; said target signal obtained from said subject using a value of said parameter different from said input signal; 
 iv) performing a second training on said plurality of neural networks by modifying said configurations of said plurality of neural networks, comprising the steps of:
 (1) applying genetic operators to said plurality of chromosomes, thus creating a second plurality of neural networks with different configurations; 
 (2) discarding neural networks in said second plurality of neural networks that do not satisfy at least one pre-defined constraint; 
 (3) repeating steps (i) and (ii) to replenish said discarded neural networks, and 
 (4) replacing said plurality of neural networks by said second plurality of neural networks, and 
 
 v) repeating steps (c) and (d) for a pre-determined number of generations such that in each said generation the configuration of each neural network may be altered and selected flexibly by said genetic operators to derive at said optimal neural network for said mapping transformation; 
   b) feeding said sampled input signal to said optimal neural network;   c) entering said pre-determined value of said parameter to said optimal neural network, and   d) performing said mapping transformation to produce said transformed output signal.   
     
     
         10 . A method for deriving a mapping transformation that transforms an input signal to a target signal comprising the steps of:
 a) collecting a data set, said data set further comprising a set of said input signals and a set of said target signals; wherein each of said target signal indicating the desired output response of said mapping transformation for said input signal;   b) creating a plurality of neural networks; each of said neural network comprising a plurality of nodes arranged in neural layers being connected by a plurality of weighted synaptic links;   c) randomly selecting computational functions for said nodes from a plurality of functions in a plurality of function categories;   d) storing the configurations of said plurality of neural networks to a plurality of chromosomes; said chromosomes further comprising at least one chromosome layer;   e) training said plurality of neural networks to learn said mapping transformation by adjusting the weight values of said weighted synaptic links so that a fitness score can be optimized; said fitness score measuring the mapping transformation performance of said neural network;   f) modifying said configurations of said plurality of neural networks by repetitively performing the steps of:
 i) selecting at least one candidate chromosome from said plurality of chromosomes according to a pre-specified criteria; 
 ii) generating at least one child chromosome by a genetic operator, and 
 iii) applying at least one global constraint to said child chromosome and repeating steps (i) and (ii) if said child chromosome fails to satisfy said at least one constraint 
 so that a plurality of child chromosomes can be generated; said plurality of child chromosomes defining said configurations of said plurality of neural networks, and 
   g) repeating steps (e) and (f) for a predetermined number of generations such that in each said generation the configuration of each neural network may be altered and selected flexibly by said genetic operator to derive at an optimal neural network for said mapping transformation.   
     
     
         11 . A method according to  claim 10  further comprising the steps of organizing said data set into a plurality of data layers wherein a first data layer stores digitized values of said input signal and said target signal; a second data layer stores said conditions under which said digitized values are obtained and a third data layer stores additional information and data derived from said first data layer and second data layer. 
     
     
         12 . A method according to  claim 11  further comprising a data processing to operate on said data set, said data processing step selecting from a group consisting of:
 a) fixing any unknown values in said data set; 
 b) normalizing the values of said data set to a prescribed range; 
 c) normalizing the values of said data set to satisfy a prescribed statistical property; 
 d) performing mathematical transformation on values of said first data layer and storing results to said third data layer; 
 e) removing data in said data set with constant values, and 
 f) partitioning said data set into training set, validating set and testing set; each comprising a plurality of input signals and a plurality of corresponding target signals. 
 
     
     
         13 . A method according to  claim 12  wherein said mathematical transformation is selected from a group consisting of:
 a) a method to perform Principle Component Analysis (PCA); 
 b) a method to perform wavelet transformation; 
 c) a method to perform Fourier transformation; 
 d) a method to perform hierarchical cluster analysis; 
 e) a method to perform k-means cluster analysis, and 
 f) a method to compute the logarithmic values of said first data layer. 
 
     
     
         14 . A method according to  claim 1  wherein said plurality of function categories further comprises a transfer function category, a weight function category and a bias function category with each category having a plurality of corresponding functions; said randomly selecting step further comprising the steps of choosing a transfer function from said transfer function category, choosing a weight function from said weight function category and choosing a bias function from said bias function category. 
     
     
         15 . A method according to  claim 14  wherein said choosing transfer function step comprising the step of choosing one transfer function from a group consisting of:
 a) competitive transfer function; 
 b) hard limit transfer function; 
 c) symmetric hard limit transfer function; 
 d) log-sigmoid transfer function; 
 e) inverse transfer function; 
 f) positive linear transfer function; 
 g) linear transfer function; 
 h) radial basis transfer function; 
 i) saturating linear transfer function; 
 j) symmetric saturating linear transfer function; 
 k) softmax transfer function; 
 l) hyperbolic tangent sigmoid transfer function, and 
 m) triangular basis transfer function. 
 
     
     
         16 . A method according to  claim 14  wherein said choosing weight function step comprising the step of choosing one weight function from a group consisting of:
 a) convolution weight function; 
 b) Euclidean distance weight function; 
 c) dot-product weight function; 
 d) Manhattan distance weight function; 
 e) negative distance weight function; 
 f) normalized dot-product weight function, and 
 g) scalar product weight function. 
 
     
     
         17 . A method according to  claim 14  wherein said choosing bias function step comprising the step of selecting one bias function from a group consisting of:
 a) product bias function, and 
 b) sum bias function. 
 
     
     
         18 . A method according to  claim 10  wherein said nodes further comprising input nodes that receives input signal; output nodes that sends out output responses, and nodes and said training step further comprising the steps of:
 a) choosing a specific training function from a plurality of training functions; 
 b) inputting said set of input signals to said input nodes of said neural network; 
 c) computing said set of output responses by propagating said set of input signals from said input nodes to said output nodes via said plurality of weighted synaptic links; 
 d) accumulating the total error between said set of output responses and said set of target signals; 
 e) invoking said specific training algorithm to adjust said weight values of said weighted synaptic links to minimize said total error; 
 f) calculating said fitness score; said fitness score being related to said total error, and 
 g) repeating steps (b), (c), (d), (e) and (f) for a pre-determined number of iterations unless said fitness score is smaller than a pre-defined criterion. 
 
     
     
         19 . A method according to  claim 18  wherein said choosing step comprising the step of choosing one training function from a group consisting of:
 a) batch training with weight and bias learning rules; 
 b) Broyden-Fletcher-Goldfarb-Shanno quasi-Newton backpropagation; 
 c) Bayesian regularization; 
 d) cyclical order incremental update; 
 e) Powell-Beale conjugate gradient backpropagation; 
 f) Fletcher-Powell conjugate gradient backpropagation; 
 g) Polak-Ribiére conjugate gradient backpropagation; 
 h) Gradient descent backpropagation; 
 i) Gradient descent with adaptive learning rule backpropagation; 
 j) Gradient descent with momentum backpropagation; 
 k) Gradient descent with momentum and adaptive learning rule backpropagation; 
 l) Levenberg-Marquardt backpropagation; 
 m) One step secant backpropagation; 
 n) Resilient backpropagation; 
 o) Scaled conjugate gradient backpropagation; 
 p) Sequential order incremental training with learning functions, and 
 q) Random order incremental training with learning functions. 
 
     
     
         20 . A method according to  claim 10  wherein a Top-B set is created to store a plurality of high performance neural networks; said training step further comprising the step of replacing at least one said high performance neural network from said Top-B set by at least one said plurality of neural networks if the fitness score of said at least one said plurality of neural network is better than the corresponding fitness score of said at least one said high performance neural network. 
     
     
         21 . A method according to  claim 10  wherein said pre-specified criteria of selecting at least one candidate chromosome further comprising the steps of:
 a) randomly selecting a plurality of chromosomes to form a plurality of chromosome candidates, and 
 b) selecting said candidate chromosome from said plurality of chromosome candidates that has the best fitness score. 
 
     
     
         22 . A method according to  claim 21  further comprising the step of selecting another candidate chromosome from said plurality of chromosome candidates at random. 
     
     
         23 . A method according to  claim 22  further comprising the steps of arranging said chromosome in more than one chromosome layer, said chromosome comprising:
 a) a first chromosome layer with a plurality of chromosome tables to record said connections of said weighted synaptic link among nodes; each said chromosome table comprising a plurality of rows columns of table elements, with a non-zero table element in said chromosome table denoting that there is a connection between said row and said column while a zero entry denoting an absence of said connection, and 
 b) a second chromosome layer arranged in a chromosome matrix with a plurality of rows and columns of matrix elements; each column representing one neural layer of said neural network, the first row recording the number of nodes in each said neural layer; and the other rows representing one of said function categories; and each matrix element in said other rows denoting the choice of said plurality of functions in said function category. 
 
     
     
         24 . A method according to  claim 23  wherein said generating step in step 1 further comprising the step of choosing one genetic operator from a group consisting of:
 a) clone method; 
 b) mutated clone method; 
 c) crossover method, and 
 d) mutated-crossover method. 
 
     
     
         25 . A method according to  claim 24  wherein said clone method comprising the step of copying said candidate chromosome to said child chromosome. 
     
     
         26 . A method according to  claim 24  wherein said mutated clone method further comprising the steps of:
 a) randomly selecting a plurality of table elements from said candidate chromosome; 
 b) swapping said table element values between one and zero, and 
 c) copying the rest of those candidate chromosome elements not selected to said child chromosome. 
 
     
     
         27 . A method according to  claim 24  wherein said mutated clone method further comprising the steps of:
 a) randomly selecting a plurality of matrix elements from said candidate chromosome; 
 b) replacing said matrix element with a different value, said different value being an index to a function in the same function category that said matrix element belongs to, and 
 c) copying the rest of those candidate chromosome elements not selected to said child chromosome. 
 
     
     
         28 . A method according to  claim 24  wherein said crossover method further comprising the steps of creating at least one child chromosome by:
 a) choosing a first candidate chromosome and a second candidate chromosome; 
 b) randomly selecting a first crossover position in said first candidate chromosome; and a second crossover position in said second candidate chromosome; said first crossover position partitioning said first candidate chromosome into two parts; and said second crossover position partitioning said second candidate chromosome into two parts; 
 c) creating said at least one child chromosome by randomly concatenating one part of said first candidate chromosome to another part of said second candidate chromosome, and 
 d) reconstructing said plurality of chromosome tables of said at least one child chromosome by deleting those entries indicating connecting synaptic links to non-existing nodes in said child chromosome. 
 
     
     
         29 . A method according to  claim 28  further comprising a crossover mutation method, comprising the steps of
 a) randomly identifying at least one matrix element from said at least one child chromosome, and 
 b) replacing said at least one matrix element by a second matrix element with a value selected from the value found in the matrix elements of the corresponding row of said first and second chromosome candidates. 
 
     
     
         30 . A method according to  claim 24  wherein said mutated crossover method further comprising the steps of creating at least one child chromosome; comprising the steps of:
 a) choosing a first candidate chromosome and a second candidate chromosome; 
 b) randomly selecting a first crossover position in said first candidate chromosome; and a second crossover position in said second candidate chromosome; said first crossover position partitioning said first candidate chromosome into two parts and said second crossover position partitioning said second candidate chromosome into two parts; 
 c) creating said at least one child chromosome by randomly concatenating one part of said first candidate chromosome to another part of said second candidate chromosome; 
 d) reconstructing said plurality of chromosome tables of said at least one child chromosome by deleting those entries indicating connecting synaptic links to non-existing nodes in said child chromosome; 
 e) randomly selecting a plurality of table elements from said at least one child chromosome; 
 f) swapping said table element values between one and zero; 
 g) randomly selecting a plurality of matrix elements from said at least one child chromosome, and 
 h) replacing said matrix element with a different value, said different value being an index to a function in the same function category that said matrix element belongs to. 
 
     
     
         31 . A method according to  claim 10  wherein said applying global constraint step further comprising the step of checking if the total number of nodes in said neural network constructed from said child chromosome is not more than a pre-specified number. 
     
     
         32 . A computer system for deriving a signal transformation that transforms an input signal obtained from a subject under a first value of a parameter to an output signal obtainable from said subject under a second value of said parameter, comprising:
 a) a data collection module configured to store a data set; said data set further comprising a plurality of input signals and a plurality of target signals;   b) a data processing module configured to prepare said data set for subsequent analysis;   c) a neural network module configured to
 i) construct a plurality of neural networks; each said neural network comprising a plurality of nodes interconnected by a plurality of weighted synaptic links; the configurations of said neural networks being stored in a plurality of chromosomes, and 
 ii) train said plurality of neural networks to learn said signal transformation using said plurality of input signals and said plurality of target signals; 
   d) a fitness evaluation module configured to evaluates the performances of said plurality of neural networks in performing said signal transformation; and stores those neural networks having high performance to a Top-B database, and   e) a genetic programming module configured to modify said configurations of said plurality of neural networks by repetitively performing the steps of
 i) selecting at least one candidate chromosome from said plurality of chromosomes according to a pre-specified criteria; 
 ii) generating at least one child chromosome by a genetic operator, and 
 iii) applying at least one global constraint to said child chromosome and repeating steps (i) and (ii) if said child chromosome fails to satisfy said at least one constraint 
   so that by repetitively executing said genetic programming module, said neural network module and said fitness evaluation module, the performances of said plurality of neural networks improve and an optimal neural network configuration can be retrieved from said Top-B database that achieves the best performance in performing said signal transformation.   
     
     
         33 . An article of manufacture for signal enhancement of a signal processing apparatus comprising:
 a) a data handling module configured to accept an input signal and prepare said input signal for subsequent analysis, and   b) a neural network processing module comprising at least one neural network, each said neural network optimally trained to transform an input signal of a subject to an output signal of said subject according to at least one pre-determined parameter value; said at least one pre-determined parameter value inputting to at least one input node of said neural network.

Join the waitlist — get patent alerts

Track US2007288410A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.