WO2012053188A1 - 特徴抽出装置、特徴抽出方法、及び、そのプログラム - Google Patents

特徴抽出装置、特徴抽出方法、及び、そのプログラム Download PDF

Info

Publication number
WO2012053188A1
WO2012053188A1 PCT/JP2011/005807 JP2011005807W WO2012053188A1 WO 2012053188 A1 WO2012053188 A1 WO 2012053188A1 JP 2011005807 W JP2011005807 W JP 2011005807W WO 2012053188 A1 WO2012053188 A1 WO 2012053188A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
neuron
neurons
value
gene
Prior art date
Application number
PCT/JP2011/005807
Other languages
English (en)
French (fr)
Inventor
八木 健
尚史 木津川
Original Assignee
国立大学法人大阪大学
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 国立大学法人大阪大学 filed Critical 国立大学法人大阪大学
Priority to EP11834034.8A priority Critical patent/EP2631872A4/en
Priority to JP2012539596A priority patent/JP5656202B2/ja
Priority to US13/880,189 priority patent/US20130212053A1/en
Publication of WO2012053188A1 publication Critical patent/WO2012053188A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space

Definitions

  • the present invention relates to a feature extraction device and the like, and more particularly, to a feature extraction device using an artificial neural network, a feature extraction method, and a program thereof.
  • a neural network is known as an information processing method for modeling the function (neural plasticity) of neurons (neurons) existing in the brain in a computer and performing target information processing (for example, Patent Document 1). See).
  • the main application of this neural network is pattern recognition. For example, it is possible to cause the computer to select image data in which a face of a specific person is copied from a large number of image data, or to select image data in which a face of a specific person is not copied. Conceivable.
  • a neural network can connect neurons in a network in a non-linear manner, so that a complicated feature can be approximated by a non-linear function, and a good recognition result can be obtained.
  • learning is an operation of adjusting parameters in the neural network using learning data whose answer (attribute information to be recognized, such as a person's name and good / bad) is known in advance.
  • an object of the present invention is to provide a feature extraction apparatus that can extract a feature to be recognized without performing prior learning.
  • a feature extraction device is a feature extraction device configured by a neural network, and the neural network includes a plurality of neurons that are operation units, and the plurality of neurons includes one neuron.
  • Each of the plurality of neurons has at least one expression gene that is an attribute value for determining whether or not to transmit a signal to the other neuron, and is obtained by dividing the target data that is the target of feature extraction among the plurality of neurons.
  • the first neuron to which the input data is input outputs the first signal value that is larger as the value of the input data is larger to the second neuron having the same expression gene as the expression gene that the first neuron has.
  • the second neuron outputs a second signal value, which is a value corresponding to the sum of the input first signal values, to the target data. It is calculated as the amount.
  • the signal path from the first neuron to the second neuron is determined by the expressed gene. Further, when the signal path is determined, the second neuron can output the feature amount of the target data according to the total value of the inputs obtained from the first neuron. Therefore, it is possible to realize a feature extraction apparatus that can extract the features of a recognition target without performing prior learning.
  • the neural network is a hierarchical neural network having a plurality of hierarchical structures, and the hierarchical neural network includes a plurality of first-layer neurons that are first-layer operation units, and a second layer.
  • a plurality of first layer neurons and the second layer neurons determine whether or not signals can be transmitted from the plurality of first layer neurons to the second layer neurons.
  • Each of the plurality of first layer neurons to which each of the input data obtained by dividing the target data is input is a value of the input data.
  • the larger the first signal value the larger the first signal value is output to the second layer neuron having the same expression gene as the expression gene possessed by itself.
  • Down is the second signal value corresponding to the sum of the inputted first signal value may be calculated as a feature amount of the object data.
  • the signal path from the first layer neuron to the second layer neuron is determined by the expressed gene.
  • each neuron in the second layer can output the feature amount of the target data. Therefore, it is possible to realize a feature extraction apparatus that can extract feature quantities of target data without performing a learning process using a teacher signal, which is generally indispensable in a conventional hierarchical neural network.
  • each of the plurality of first layer neurons and the second layer neurons (i) selecting one or more of the genes from a gene repertoire that is a plurality of genes having predetermined attribute values And (ii) an expression gene assignment unit that assigns each of the selected genes as the expression gene, and each of the plurality of first layer neurons has the same expression gene as the expression gene possessed by itself.
  • the first signal value may be output only to the second layer neurons.
  • the expressed gene allocation unit may randomly select a gene to be allocated as the expressed gene from the gene repertoire.
  • an expressed gene can be randomly allocated to each neuron by the expressed gene allocation unit.
  • the expressed genes By randomly assigning the expressed genes, it is possible to provide a feature extraction apparatus that exhibits stable feature extraction performance for various target data. Furthermore, since the signal path of the signal is formed only by the expressed gene, more stable feature extraction performance can be exhibited.
  • the expressed gene allocation unit may select a gene to be allocated as the expressed gene from a predetermined combination of genes included in the gene repertoire.
  • the target data can be expressed using a predetermined combination (pattern) of expressed genes.
  • the second layer neuron outputs a predetermined value as the second signal value when the sum of the input first signal values is included in a predetermined range. If not, a value different from the predetermined value may be output as the second signal value.
  • the hierarchical neural network includes a plurality of second layer neurons
  • the feature extraction device includes the plurality of second layers for the sum of the first signal values among the plurality of second layer neurons.
  • a comparison unit that outputs an activation command is further provided to each of the neurons included in a range in which the order in the case where the neurons are arranged in descending order is set in advance, and among the plurality of second layer neurons, (a ) A neuron that has acquired the activation command from the comparison unit outputs a predetermined value as the second signal value, and (b) a neuron that does not acquire the activation command has the predetermined value. A value different from that may be output as the second signal value.
  • the comparison unit can evaluate each of the neurons belonging to the second layer in the relative rank of the sum of the input values, and activate the neurons that meet the prior evaluation criteria.
  • the feature extraction policy of the target data by the feature extraction device can be selected based on the relative rank of the sum of the input values.
  • each of the plurality of neurons is such that if the number of expression genes that match the expression gene possessed by itself and the expression gene possessed by another neuron is equal to or greater than a predetermined threshold, The signal value is output to the other neuron, or (B) the greater the number of expression genes that match the expression gene that the other neuron has and the expression gene that the other neuron has, the greater the weight, The first signal value may be output to the other neuron.
  • the hierarchical neural network further includes a plurality of third layer neurons having one or more of the expressed genes as a third layer arithmetic unit, and the hierarchical neural network includes a plurality of the second layer neurons.
  • Each of the plurality of second layer neurons when a value corresponding to the total sum of the first signal values is included in a predetermined range, The second signal value is output to a third layer neuron having the third signal value, and each of the plurality of third layer neurons outputs a third signal value that is a value corresponding to the sum of the input second signal values. It may be calculated as a feature amount of data.
  • a neuron included in a range in which a rank when the plurality of second layer neurons are arranged in descending order with respect to the sum of the first signal values is included in a predetermined range.
  • Each of the first comparison unit that outputs an activation command and the order when the plurality of third layer neurons are arranged in descending order with respect to the sum of the second signal values among the plurality of third layer neurons A second comparison unit that outputs the activation instruction to each of the neurons included in the range defined in (a) the first comparison unit among the plurality of second layer neurons.
  • the second layer neuron that has acquired the activation command outputs a predetermined value as the second signal value, and (b) the second layer neuron that does not acquire the activation command is determined in advance. Different from The second signal value is output as the second signal value, and among the plurality of third layer neurons, (a) the third layer neuron that has acquired the activation command from the second comparison unit has a predetermined value.
  • the third layer neuron that outputs the third signal value and (b) does not acquire the activation command may output a value different from the predetermined value as the third signal value.
  • the characteristics of the handling data can be extracted more accurately by increasing the number of layers.
  • a gene that is a plurality of genes indicating predetermined attribute values Selecting one or more of the genes from the repertoire, (ii) assigning each of the selected genes as the expressed gene, and for each of the plurality of second layer neurons, the second layer neuron If the rank of the sum of the first signal values input to the second layer neurons is the same as or higher than a predetermined threshold value, the second layer neuron A first comparison unit that outputs an activation command; and for each of the plurality of third layer neurons, the plurality of third layers of the sum of the second signal values input to the third layer neuron.
  • a second comparison unit that outputs an activation command to the third layer neuron when the ranking in the uron is equal to or higher than a predetermined threshold value;
  • Each of the plurality of first layer neurons acquires a value of each input data obtained by dividing the feature extraction target in association with the number of first layer neurons in association with the division, and the input The data value is output as the first signal value to a second layer neuron having the same expression gene as the expression gene possessed by itself, and each of the plurality of second layer neurons is When the activation command is acquired, 1 is output as the second signal value, and when the activation command is not acquired, 0 is output as the second signal value, and the plurality of third layer neurons Each of the second comparison If more acquired the activation command outputs 1 as the third signal value, if not get the activation instructions may output 0 as the third signal value.
  • a neuron having a relatively large input value propagated from the previous layer is selectively activated.
  • the feature of the target data can be extracted.
  • a gene that is a plurality of genes indicating predetermined attribute values One or more of the genes in the repertoire are selected at random, and (ii) an expression gene assignment unit that assigns the selected genes as the expression genes, and each of the plurality of second layer neurons A rank in the plurality of second layer neurons of the sum of the first signal values input to the two layer neurons is acquired, and the threshold is determined in advance among the plurality of second layer neurons.
  • a first comparison unit that outputs an activation command to a second layer neuron of the same rank or lower order.
  • a ranking of the sum of the second signal values input to Ron in the plurality of third layer neurons is obtained, and a threshold value in which the ranking is determined in advance among the plurality of third layer neurons;
  • a second comparison unit that outputs an activation command to a third-layer neuron of the same rank or lower order, and each of the plurality of first-layer neurons has a first feature extraction target as a first target
  • a value of each of the input data obtained by dividing in association with the number of layer neurons is obtained in association with the division, and the value of the input data is the first having the same expression gene as the expression gene possessed by itself.
  • the first signal value is output to a second layer neuron, and each of the plurality of second layer neurons outputs 1 as the second signal value when the activation command is obtained from the first comparison unit. Get the activation instruction Otherwise, 0 is output as the second signal value, and each of the plurality of third layer neurons is 1 as the third signal value when the activation command is obtained from the second comparison unit. If the activation command is not acquired, 0 may be output as the third signal value.
  • a neuron having a relatively small input value propagated from the previous layer is selectively activated.
  • the frequency of the expressed gene may be determined, and a gene code that is information indicating a frequency distribution obtained by summing the determined frequency for each of the plurality of expressed genes may be output as a feature of the target data.
  • the present invention can be realized not only as such a feature extraction apparatus but also as a feature extraction method using the characteristic means included in the feature extraction apparatus as a step, or such a characteristic step in a computer. It can also be realized as a program to be executed. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM and a transmission medium such as the Internet.
  • the present invention can be realized as a semiconductor integrated circuit (LSI) that realizes part or all of the functions of such a feature extraction device, or can be realized as a feature extraction system including such a feature extraction device.
  • LSI semiconductor integrated circuit
  • the present invention can provide a feature extraction device capable of extracting features to be recognized without performing prior learning.
  • FIG. 1 is a conceptual diagram illustrating an example of pattern recognition processing using the feature extraction device according to the embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the feature extraction apparatus according to the embodiment and its modification.
  • FIG. 3 is a diagram for explaining signal propagation processing in a conventional neural network.
  • FIG. 4 is a diagram for explaining signal propagation processing in the matching network in the feature extraction device according to the embodiment and its modification.
  • FIG. 5 is a schematic diagram of similar image search processing performed using the feature extraction apparatus according to the embodiment.
  • FIG. 6 is a block diagram showing a configuration of a three-layer matching network in the feature extraction device according to the embodiment and its modification.
  • FIG. 7 is a flowchart showing a flow of processing of the feature extraction apparatus according to the embodiment and its modification.
  • FIG. 1 is a conceptual diagram illustrating an example of pattern recognition processing using the feature extraction device according to the embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the feature extraction apparatus according to the embodiment and
  • FIG. 8 is a flowchart illustrating an example of a matching network creation process in the feature extraction device according to the embodiment and its modification.
  • FIG. 9A is a diagram illustrating an example of an expression matrix in the embodiment and its modification.
  • FIG. 9B is a diagram illustrating an example of a coupling matrix in the embodiment and its modifications.
  • FIG. 10 is a flowchart showing the processing of the first layer of the matching network in the feature extraction device according to the embodiment and its modification.
  • FIG. 11 is a diagram illustrating types of processing performed by the comparison unit included in the feature extraction device according to the embodiment and its modification.
  • FIG. 12 is a schematic diagram of dissimilar image search processing performed using the feature extraction device according to the modification of the embodiment.
  • FIG. 13 is a diagram illustrating an example of a result of a similar image search and a dissimilar image search using the feature extraction device according to the embodiment and its modification.
  • FIG. 14 is a diagram illustrating the relationship between the number of layers and the diversity of expressed genes in each of the matching network (MN) and the random network (random).
  • FIG. 15A is a diagram illustrating a result of extracting features of an image using a matching network.
  • FIG. 15B is a diagram illustrating a result of extracting features of another image using a matching network.
  • FIG. 15C is a diagram illustrating a result of extracting features of another image using a matching network.
  • FIG. 16 is a diagram in which the gene codes included in each of the 144 first layer neurons are arranged in a matrix of 12 sections ⁇ 12 sections.
  • FIG. 17A is a diagram in which “1” is described only in the section including the gene code “1” and the other sections are represented as blanks in FIG.
  • FIG. 17B is a diagram in which “2” is described only in the section including the gene code “2” in FIG. 16 and the other sections are represented as blanks.
  • FIG. 17C is a diagram in which “3” is described only in a section including the gene code “3” in FIG. 16 and the other sections are represented as blanks.
  • FIG. 18 is an image showing a list of gene code patterns in the first layer of a matching network.
  • FIG. 19 shows images obtained by performing binarization processing on 50 arbitrarily selected images.
  • FIG. 20 is a diagram illustrating an example of an artificially generated prototype image.
  • FIG. 21A is a diagram showing tea numbers given by 144 people as favorite teas.
  • FIG. 21B is a diagram showing a histogram of existing tea numbers that a person who likes new tea likes.
  • FIG. 22 is a diagram illustrating a state in which the preference data of 144 evaluators illustrated in FIG. 21A is input to the first layer of the matching network.
  • FIG. 23 is a diagram illustrating a matching network having a connection generated based on a rule that a connection is generated only between neurons having three or more matching tea numbers.
  • FIG. 21A is a diagram showing tea numbers given by 144 people as favorite teas.
  • FIG. 21B is a diagram showing a histogram of existing tea numbers that a person who likes new tea likes.
  • FIG. 22 is a diagram illustrating a state in which the
  • FIG. 24 is a diagram illustrating a matching network having connections generated based on the rule that connections are generated between neurons by the number of matched tea numbers.
  • FIG. 25 is a diagram illustrating an example in which different coupling types are used in combination in one matching network.
  • FIG. 26 is an external view illustrating an example of a computer system that implements the feature extraction apparatus according to the embodiment and its modification.
  • FIG. 27 is a block diagram illustrating a hardware configuration of a computer system that implements the feature extraction device according to the embodiment and its modification.
  • FIG. 28 is a diagram showing results of search results when using a neuron code and using a gene code in a similar image search.
  • FIG. 1 is a conceptual diagram showing an example of pattern recognition processing using the feature extraction apparatus 100 according to the present embodiment.
  • the feature extraction apparatus 100 recognizes which of the image 106 and the image 110 is more similar to the image 102.
  • the feature extraction apparatus 100 acquires image data, for example, and outputs a feature vector that is a vector of length 1 or more composed of feature amounts indicating the feature.
  • a feature vector 104 is output as the feature vector.
  • a feature vector 108 is output.
  • image data of an image 110 dissimilar to the image 102 is input to the feature extraction apparatus 100, a feature vector 112 is output.
  • the user can know the degree of similarity between the images by calculating the degree of coincidence (for example, inner product) between the feature vectors output by the feature extraction apparatus 100.
  • the degree of coincidence for example, inner product
  • the similarity between the image 102 and the image 110 is calculated as one point.
  • the image 106 and the image 110 that are more similar to the image 102 are determined to be the image 106.
  • FIG. 2 is a block diagram showing a configuration of the feature extraction apparatus 100 according to the present embodiment.
  • the feature extraction device 100 is composed of a hierarchical neural network. There is no upper limit to the number of layers, but at least two or more layers are required. In FIG. 2, a neural network having two layers will be described as an example for explanation.
  • each layer is a set of neurons that are arithmetic units that output feature quantities indicating the features of input data.
  • a neuron takes either an activated state or an inactivated state, but is in an inactive state in the initial state.
  • the feature extraction apparatus 100 includes a plurality of first layer neurons 301 to 303 that are arithmetic units of the first layer 309 and a plurality of second layer neurons 311 to second layers that are arithmetic units of the second layer 319.
  • a neuron 313 and a comparison unit 352 are provided.
  • All the first layer neurons and the second layer neurons are randomly assigned in advance one or more genes from a plurality of predetermined genes (hereinafter referred to as “gene repertoire”).
  • a gene assigned to an individual neuron is called an expression gene of that neuron.
  • the expressed gene is an attribute value used when determining whether signals can be transmitted between adjacent layers (for example, from the first layer neuron to the second layer neuron) according to a matching rule described later.
  • the expressed gene becomes an identifier expressed by, for example, a numerical value, a character string, a bit string, or the like.
  • the signal path determined according to the matching rule using the expressed gene is hereinafter referred to as a matching network.
  • the first layer neurons 301 to 303 receive input data A to input data C obtained by dividing the target data whose features are to be extracted by the feature extraction apparatus 100 as inputs.
  • Each of the first layer neurons 301 to 303 determines the first signal value based on the input data A to input data C, and outputs the value to the second layer neuron connected by the matching network. .
  • the first signal value is determined by, for example, a method of binarizing input data (when an input exceeding a predetermined threshold is received, 1 is received, or an input less than or equal to If no signal is received, 0 is output as the first signal value), a method of applying a monotonically increasing step function, a method of outputting the input value as it is as the first signal value, and the like are conceivable.
  • the method for determining the first signal value may be another method, but the first signal value is determined so as to increase as the value of the input data input increases.
  • Each of the second layer neurons 311 to 313 calculates the sum of the first signal values acquired from the first layer neurons.
  • each of the second layer neurons 311 to 313 outputs the calculated sum to the comparison unit 352 and acquires the comparison result from the comparison unit 352.
  • Each of the second layer neurons 311 to 313 calculates and outputs a second signal value based on the comparison result acquired from the comparison unit 352. This is the feature amount of the target data.
  • a set of all feature quantities output by the second layer neuron is a feature vector.
  • the second layer neuron 311 outputs the second signal value as the feature amount A
  • the second layer neuron 312 outputs the second signal value as the feature amount B
  • the second layer neuron 313 outputs the second signal value.
  • a feature quantity C is output, and the feature quantity A, the feature quantity B, and the feature quantity C are arranged in this order is the feature vector of the target data.
  • the total number of first-layer neurons and second-layer neurons depends on the amount of target data, but about 3 to 100,000 is a standard.
  • the comparison unit 352 compares the total value (sum) acquired from each of the second layer neurons 311 to 313, and selects a neuron that outputs an activation command from the second layer neurons according to the comparison result.
  • the comparison unit 352 ranks each second layer neuron in the entire second layer neuron according to the magnitude of the acquired total value, and gives the second layer neurons within the upper 10% as an “activation command” as a comparison result. ” May be considered.
  • the second layer neuron that has been activated by acquiring the activation command outputs 1 to the next layer, and then returns to the deactivated state again.
  • a second layer neuron in an inactivated state that has not acquired an activation command may output 0 to the next layer.
  • the expressed gene assigning unit 350 randomly selects one or more genes from the gene repertoire and assigns them to each of the first layer neurons and the second layer neurons.
  • the gene repertoire specifically includes 2 or more and 100 or less different genes.
  • the number of genes assigned to one neuron is approximately 1 to 10. As described later, these are based on the biological hypothesis that “the wiring of the local neural circuit that bears the information processing base of the brain is realized by the expression of several tens of gene repertoires”.
  • FIG. 3 is a diagram for explaining signal propagation processing in a conventional hierarchical neural network. Since a hierarchical neural network is a well-known technique, only an outline is given here.
  • the neural network shown in FIG. 3 is a three-layer hierarchical neural network including five neurons 201 to 205.
  • a hierarchical neural network is composed of a plurality of layers, an input layer, an intermediate layer, and an output layer.
  • neurons are arranged in layers, and neurons belonging to the same hierarchy do not have signal paths.
  • neurons belonging to adjacent layers have signal paths with each other.
  • This signal path propagates the signal in one way from the input layer to the output layer. Therefore, signal propagation is only performed in one direction from the previous layer to the next layer.
  • the neuron 201 and the neuron 202 are input layers (first layer), the neuron 203 and the neuron 204 are intermediate layers (second layer), and the neuron 205 is an output layer (third layer). .
  • Each signal path connecting neurons has a weight, and each neuron acquires a value obtained by multiplying the value output from the upper layer by the weight as an input signal.
  • Each neuron has a threshold and a transfer function. The value obtained by subtracting the threshold from the sum of the input signals is input to the transfer function, and the value obtained from the transfer function is output to the next-layer neuron. .
  • the weight of the signal path from the neuron 201 to the neuron 203 is W 31
  • the weight of the signal path from the neuron 202 to the neuron 203 is W 32
  • the threshold value of the neuron 203 is W 30
  • the neuron 203 Let f () be the transfer function of.
  • the hierarchical neural network shown in FIG. 3 outputs Y 1 as the feature vector of the inputs X 1 and X 2 that are target data.
  • Y 1 may be an output that is expected (correct answer), but if it is incorrect, the above-described “learning” is required.
  • the signal path weight is corrected so that the difference (Y 2 ⁇ Y 1 ) between Y 2 and the output Y 1 becomes small. That is, if the output Y 1 is larger than Y 2 , the signal path weight is reduced so that the output Y 1 becomes smaller. On the other hand, if the output Y 1 is smaller than Y 2 , the weight of the signal path is increased so that the output Y 1 is increased.
  • new inputs X 3 and X 4 are input to the hierarchical neural network having the corrected weight, and the obtained output Y 3 converges to a range near the expected output Y 4 Repeat the input ⁇ output ⁇ learning procedure.
  • the conventional hierarchical neural network includes (1) signal path weight, (2) threshold value of each neuron, (3) type of transfer function, and (4) during learning. Numerous parameters are included, such as a learning coefficient that multiplies the difference between the teacher signal and the output. These parameters are determined by “learning” using a large number of teacher signals (a set of inputs X 1 and X 2 and an output Y 2 expected for the inputs).
  • the matching network constituting the feature extraction apparatus 100 according to the present embodiment does not necessarily require learning.
  • FIG. 4 is a diagram for explaining signal propagation processing in the matching network used in the feature extraction device 100 according to the present embodiment.
  • the matching network is composed of a plurality of layers in the same manner as a conventional hierarchical neural network. Further, since the signal path propagates the signal in one way from the input layer to the output layer, the signal is propagated only in one direction from the previous layer to the next layer. In FIG. 4, the intermediate layer is omitted for simplicity.
  • the matching network constituting the feature extraction apparatus according to the present embodiment does not have a weight in the signal path.
  • the matching network determines the output destination of the signal based on the randomly assigned expression gene instead of the weight.
  • each of the neurons 251 to 259 shown in FIG. 4 has two expressed genes.
  • neurons 251 belonging to the first layer have expressed genes represented by numbers 1 and 7
  • neurons 252 have expressed genes represented by numbers 3 and 8. Which neuron has which expressed gene is determined completely at random by the expressed gene assignment unit 350.
  • the neuron 251 since the neuron 251 has the 1st and 7th expressed genes, a signal is transmitted to the second layer of neurons having at least one of the 1st expressed gene and the 7th expressed gene. Is output. Therefore, the neuron 251 outputs a signal to three neurons of the neuron 255, the neuron 256, and the neuron 257. Similarly, the neuron 252 having the 3rd and 8th expression genes outputs signals to four neurons of the neuron 253, the neuron 256, the neuron 258, and the neuron 259.
  • a matching rule when a signal is propagated from one neuron to each of other neurons among a plurality of neurons, a rule that signals are propagated only between neurons having the same expressed gene is called a matching rule.
  • the plurality of neurons may not have a hierarchical structure. In the above hierarchical neural network, no signal path is formed in the same layer.
  • X 1 is input to neuron 251
  • X 2 is an input to neuron 252.
  • the neurons 251 and 252 output the input values as they are.
  • the sum of the input signals input to each neuron belonging to the second layer is X 2 in the neuron 253, 0 in the neuron 254, X 1 in the neuron 255, X 1 + X 2 in the neuron 256, and in the neuron 257, respectively.
  • X 1 the neuron 258
  • X 2 the X 2 in neurons 259.
  • Each neuron in the second layer determines an output value according to the sum of input signals. There are various methods for determining the output value. Here, it is assumed that the neurons whose sum of input signals is within the upper 50% output 1 and the other neurons output 0.
  • the sum of the input signals to each neuron belonging to the second layer is 1 for neuron 253, 0 for neuron 254, 3 for neuron 255, and 256 for neuron. 4 for neuron 257, 1 for neuron 258, and 1 for neuron 259.
  • Y 7 0.
  • a vector in which the feature amounts are arranged becomes a feature vector.
  • the feature vectors for inputs X 1 and X 2 are obtained as (0, 0, 1, 1, 1 , 0, 0).
  • an expression gene is randomly assigned to a neuron as its attribute value, and a signal is propagated only between neurons having the same expression gene.
  • the assignment of the expressed gene is determined at the time of network generation. Therefore, feature extraction is possible without performing learning work using a teacher signal.
  • the neuron “forms” a signal path with other neurons according to the matching rule.
  • this does not necessarily mean the presence or absence of a physical connection relationship.
  • each neuron can send and receive signals to other neurons according to the matching rules, assuming that all neurons can communicate. Good.
  • FIG. 5 is a schematic diagram of a similar image search process performed using the feature extraction apparatus 100 according to the present embodiment.
  • a feature vector obtained by inputting a template image 552 to the feature extraction device 100 and each feature vector obtained by inputting each of the plurality of target images 554 to the feature extraction device 100 is calculated as an inner product of vectors.
  • An image having a higher score is determined to be an image more similar to the template image 552.
  • the template image 552 and the plurality of target images 554 may be arbitrary images, but this time, after dividing one image (here, rice image) 550 into a plurality of blocks, an image corresponding to one of the blocks. Is used as a template image 552 and images corresponding to other blocks are used as a plurality of target images 554.
  • FIG. 6 is a block diagram illustrating a configuration of a three-layer matching network included in the feature extraction device 100 according to the present embodiment.
  • the first layer neurons 301 to 303 belonging to the first layer 309 are input with pixel values (for example, integers of 0 to 255) of each input data obtained by dividing the template image 552 as target data in units of pixels. Is done. Therefore, as will be described later, the first layer neuron requires the number of pixels of the template image 552.
  • Each of the first layer neurons 301 to 303 outputs the input pixel value to the second layer according to the matching rule.
  • the second layer neurons 311 to 313 belonging to the second layer 319 sum up the input values input to themselves, and output the total value to the comparison unit 352. Moreover, a comparison result is acquired from the comparison part 352, and the output value according to a comparison result is output to a 3rd layer according to a matching rule.
  • the third layer neurons 321 to 323 belonging to the third layer 329 add up the input values input to the third layer neurons 321 to 323 and output the total value to the comparison unit 354. Further, the comparison result is acquired from the comparison unit 354, and the feature amount corresponding to the comparison result is output.
  • the expression gene assigning unit 350 performs one or more of the predetermined gene repertoires for each of the first layer neuron, the second layer neuron, and the third layer neuron prior to the calculation in each neuron.
  • a gene is selected at random, assigned to each gene, and used as an expression gene of the neuron.
  • the comparison unit 352 acquires and totals the input values of each of the second layer neurons belonging to the second layer 319. Furthermore, a neuron that outputs an activation command is selected on the basis of the totaled result in accordance with a predetermined activation standard.
  • the comparison unit 354 acquires and totals the input values from each of the third layer neurons belonging to the third layer 329. Further, according to a predetermined activation standard, a neuron that outputs an activation command is selected based on the total result.
  • each of the second layer neurons and each of the third layer neurons needs to output a logical product (AND) of input values from the immediately preceding layer.
  • the criterion "Is the total of input values neurons within the top 10%?"
  • the activation command is output to the neurons.
  • FIG. 7 is a flowchart showing a processing flow of the feature extraction apparatus 100 according to the present embodiment.
  • the feature extraction device 100 generates a matching network that is a calculation unit (S202). A method for generating the matching network will be described later.
  • the feature extraction apparatus 100 inputs target data to the generated matching network (S204).
  • the target data is, for example, each of the template image 552 and the plurality of target images 554.
  • each neuron belonging to the first layer 309 is input in association with the pixel value of the input data obtained by dividing the target data in units of pixels. Details will be described later.
  • each neuron belonging to the first layer 309 outputs the input pixel value as the first signal value to the second layer according to the matching rule described above (S206).
  • each neuron belonging to the second layer 319 calculates the total value of the acquired first signal values, and outputs the value to the comparison unit 352.
  • the comparison unit 352 outputs an activation command to the neuron selected based on the comparison result among the neurons belonging to the second layer 319 (S208). The details of the comparison process performed by the comparison unit 352 will be described later.
  • the neuron that has received the activation command outputs 1 as the second signal value to the neurons belonging to the third layer as the second signal value (S210). .
  • the output destination is determined according to the matching rule.
  • each of the neurons belonging to the third layer 329 calculates the total value of the second signal values acquired from the second layer, and outputs the value to the comparison unit 354.
  • the comparison unit 354 outputs an activation command to the neurons selected based on the comparison result among the neurons belonging to the third layer 329 (S212).
  • the neuron that has received the activation command outputs 1 as the feature value
  • the neuron that has received the deactivation command outputs 0 as the feature value (S214).
  • subsequent processing such as similarity calculation of the target data can be performed by using, as the feature vector, the feature amounts output from the neurons belonging to the third layer 329 in order from the left, for example.
  • the method of obtaining the feature vector from the feature quantity is not limited to this, and it is obtained by determining the arrangement order of neurons and arranging the feature quantities output from each neuron in that order.
  • a method for determining the arrangement order of neurons for example, a method of attaching an identifier to each neuron belonging to the third layer 329 and sorting the identifiers in ascending order or descending order is conceivable.
  • the sorting results in one dimension, it is possible to arrange the sorting results as two-dimensional or more multidimensional vectors.
  • FIG. 8 is a flowchart showing an example of processing for creating a matching network that forms the feature extraction apparatus 100 according to the present embodiment in the form of a matrix. Specifically, this corresponds to step S202 in FIG.
  • the expression gene assignment unit 350 generates an expression matrix using random numbers (S222).
  • the expression matrix is a matrix indicating which gene is assigned to which neuron for all neurons constituting the matching network.
  • an expression matrix 560 shows an example of an expression matrix.
  • Each row of the expression matrix corresponds to a neuron number which is a neuron identifier.
  • Each column of the expression matrix corresponds to the gene number of a gene included in the gene repertoire. Note that the expressed gene is not limited to a number, and can be expressed in any information format such as a symbol or a bit string.
  • a cell value of “1” in the expression matrix means that the gene having the corresponding gene number is assigned to the neuron having the corresponding neuron number.
  • the values of the cells with gene numbers 2, 4, and 10 are 1. Therefore, three genes with gene numbers 2, 4, and 10 are assigned to the neuron with neuron number 1.
  • each neuron holds three expressed genes.
  • the target data is image data of 12 pixels ⁇ 12 pixels. Since one pixel is assigned to one neuron belonging to the first layer as described above, the number of neurons in the first layer is 144 neurons. Furthermore, the second layer was defined as 1000 neurons and the third layer was defined as 250 neurons. The total number of neurons is 1394 neurons.
  • the expression matrix of the first layer is 144 rows and 20 columns
  • the expression matrix of the second layer is 1000 rows and 20 columns
  • the expression matrix of the third layer is 250 rows and 20 columns.
  • the expression gene assigning unit 350 generates three different random numbers from 1 to 20 as gene numbers to be expressed genes for each row (neuron), and stores the value “in the cell having the same gene number as the generated random number”. 1 ”is set. The value “0” is set in the other cells.
  • This operation corresponds to the process of selecting three genes from the gene repertoire including the genes with gene numbers 1 to 20.
  • the expressed gene assignment unit 350 randomly assigns three genes to each neuron.
  • connection matrix indicating a connection relationship (that is, a signal path) between adjacent layers according to the generated expression matrix (matching rule) (S224).
  • the coupling matrix is composed of two matrices: a first layer-second interlayer coupling matrix and a second layer-third interlayer coupling matrix.
  • connection matrix 562 shows an example of the connection matrix.
  • Each column of the connection matrix indicates a neuron number of a neuron belonging to the previous layer (for example, the first layer in the case of the first layer-second interlayer connection matrix).
  • Each row of the connection matrix indicates a neuron number of a neuron belonging to the rear layer (for example, the second layer in the case of the first layer-second interlayer connection matrix).
  • the first layer-second interlayer coupling matrix is a matrix of 1000 rows and 144 columns
  • the second layer-third interlayer coupling matrix is 250 rows and 1000 columns.
  • a cell value of “1” indicates that a signal path is formed from the corresponding front layer neuron to the corresponding back layer neuron. Conversely, a cell value of “0” indicates that a signal path is not formed from the corresponding front layer neuron to the corresponding back layer neuron.
  • the value of the cell in the first row and the second column in the coupling matrix 562 is 1. This indicates that a signal path is formed from the neuron of neuron number 8 belonging to the front layer to the neuron of neuron number 1 belonging to the back layer.
  • the feature extraction apparatus 100 generates such a connection matrix based on the expression matrix generated previously.
  • a cell value of 1 in the connection matrix means that at least one identical expressed gene is assigned to the corresponding front layer and back layer neurons.
  • a coupling matrix can be generated by setting the value 1 to the cell of the coupling matrix corresponding to the combination of the front layer and the rear layer.
  • the feature extraction apparatus 100 proceeds with the processing using the generated connection matrix.
  • FIG. 10 is a flowchart showing the processing of the first layer of the matching network constituting the feature extraction device according to the present embodiment. Specifically, this corresponds to step S204 and step S206 in FIG.
  • the feature extraction apparatus 100 acquires one target data (S232).
  • the target data is a monochrome image of 12 pixels ⁇ 12 pixels, and is acquired as a matrix of 12 rows and 12 columns.
  • Each of the 144 elements included in the matrix corresponds to a pixel value and takes a value from 0 to 255.
  • the feature extraction apparatus 100 transforms a 12 ⁇ 12 matrix representing the target data to generate a 144 ⁇ 1 matrix. This is called an image matrix.
  • the feature extraction apparatus 100 multiplies the image matrix from the right on the first layer-second interlayer coupling matrix of 1000 rows and 144 columns generated in step S224 (S234). As a result, a 1000 ⁇ 1 matrix is generated. Each column included in this matrix indicates the total value of inputs received from the neurons of the first layer according to the matching rule by each of the 1000 neurons belonging to the second layer.
  • the total value of the inputs to each neuron belonging to the second layer calculated in this way is output to the comparison unit 352.
  • FIG. 11 is a diagram showing the activation criteria used in the comparison process performed by the comparison unit 352 according to the present embodiment. This corresponds to the comparison process performed by the comparison unit 352 in step S208 of FIG.
  • the feature extraction apparatus 100 selects, for example, an activation criterion used by the comparison unit 352, so that, for example, AND, OR, NAND, NOR in signal propagation from the front layer to the rear layer. And XOR can perform any of the five logical operations.
  • the comparison unit 352 sends an activation command to a neuron corresponding to this criterion.
  • neurons whose total value is within the top 10% are activated and output 1.
  • the other neurons output 0 while remaining inactive.
  • the rear layer that receives a positive input from more neurons belonging to the previous layer outputs 1 and this corresponds to an AND operation.
  • the comparison unit 352 sends an activation command to the neurons corresponding to this criterion.
  • neurons whose total value is within 70% become active or in a state, and 1 is output.
  • the other neurons output 0 while remaining inactive.
  • the front layer corresponds to an OR operation because the rear layer outputs 1 even if it receives positive inputs from fewer neurons than the AND operation.
  • both the comparison unit 352 and the comparison unit 354 use an activation criterion for performing an AND operation, and input The feature amount of the image similar to the image is calculated.
  • step S210 in FIG. 7 signal propagation using the matching rule in step S210 in FIG. 7 is the same as in step S206. Further, the processing by the comparison unit 354 in step S212 is the same as the processing by the comparison unit 352 in step S208. Therefore, detailed description is omitted.
  • step S214 250 feature vectors including “1” or “0” are output from the feature extraction apparatus 100 for one target data.
  • the procedure for searching for a similar image from the feature vector thus obtained is as shown in FIG. That is, referring to FIG. 5, after obtaining a feature vector for each of template image 552 and a plurality of target images 554 using feature extraction apparatus 100, the feature vector of template image 552 and the plurality of target images 554 The degree of coincidence (for example, inner product) with each feature vector is calculated.
  • the obtained inner product value is a score indicating similarity, and it can be determined that the larger the inner product value is, the higher the similarity with the template image 552 is.
  • the feature extraction apparatus 100 includes a hierarchical neural network, and the hierarchical neural network includes a plurality of first layer neurons (301 to 303) that are first layer arithmetic units.
  • Second layer neurons (311 to 313) which are operation units of the second layer
  • the plurality of first layer neurons (301 to 303) and the second layer neurons (311 to 313) include the plurality of first layers. It has one or more expressed genes that are attribute values for determining whether or not signals can be transmitted from the neurons (301 to 303) to the second layer neurons (311 to 313).
  • each of the plurality of first layer neurons (301 to 303) to which input data obtained by dividing target data that is a target of feature extraction is input has a larger value as the value of the input data increases.
  • One signal value is output to the second layer neurons (311 to 313) having the same expressed gene as the self-expressed gene.
  • each of the second layer neurons (311 to 313) calculates the second signal value, which is a value corresponding to the sum of the input first signal values, as the feature amount of the target data.
  • the feature extraction device 100 is configured for each of a plurality of first layer neurons (301 to 303) and second layer neurons (311 to 313).
  • An expression gene assignment unit 350 that assigns each selected gene as an expression gene may be further provided.
  • each of the plurality of first layer neurons (301 to 303) outputs the first signal value only to the second layer neurons (311 to 313) having the same expressed gene as the own expressed gene.
  • the method by which the expressed gene allocating unit 350 allocates the expressed gene to each neuron may be a method other than the random selection as described above.
  • an expression gene corresponding to an existing image is defined as a combination of expression genes defined in advance, and the combination of expression genes defined is sequentially assigned to neurons. It may be assigned.
  • the expressed gene assignment unit 350 may randomly select a gene to be assigned as an expressed gene from the gene repertoire, or may select from a predetermined combination of genes included in the gene repertoire. Good.
  • each of the second layer neurons (311 to 313) has a total sum of the input first signal values included in a predetermined range.
  • a predetermined value may be output as the second signal value, and if not included, a value different from the predetermined value may be output as the second signal value.
  • feature extraction apparatus 100 arranges a plurality of second layer neurons (311 to 313) in descending order for the sum of the first signal values among the plurality of second layer neurons (311 to 313).
  • a comparison unit 352 that outputs an activation command may be further provided to each neuron included in a range in which the ranking is determined in advance.
  • the neuron that has acquired the activation command from the comparison unit 352 outputs a predetermined value as the second signal value
  • a neuron that does not obtain an activation command outputs a value different from a predetermined value as the second signal value.
  • the hierarchical neural network may further include a plurality of third layer neurons (321 to 323) having one or more expressed genes as a third layer arithmetic unit.
  • each of the plurality of second layer neurons (311 to 313) has the same expression gene as its own when the value corresponding to the sum of the first signal values is included in a predetermined range.
  • the second signal value is output to the third layer neurons (321 to 323) having the expressed gene, and each of the plurality of third layer neurons (321 to 323) corresponds to the sum of the input second signal values.
  • the third signal value which is a value, is calculated as the feature amount of the target data.
  • feature extraction apparatus 100 arranges a plurality of second layer neurons (311 to 313) in descending order for the sum of the first signal values among the plurality of second layer neurons (311 to 313).
  • the first comparison unit 352 that outputs an activation command to each of the neurons included in a predetermined range in the order of the second and the second signal value among the plurality of third layer neurons (321 to 323)
  • a second comparison unit 354 that outputs an activation command to each neuron included in a range in which the order when a plurality of third-layer neurons (321 to 323) are arranged in descending order with respect to the sum of , May be further provided.
  • the neuron that has acquired the activation command from the first comparison unit 352 outputs a predetermined value as the second signal value
  • a neuron that does not acquire an activation command outputs a value different from a predetermined value as a second signal value
  • the plurality of third layer neurons 321 to 323
  • a second comparison unit The neuron that has acquired the activation command from 354 outputs a predetermined value as the third signal value
  • the neuron that does not acquire the activation command has a value different from the predetermined value as the third signal. Output as a value.
  • the feature extraction apparatus 100 applies to each of a plurality of first layer neurons (301 to 303), second layer neurons (311 to 313), and third layer neurons (321 to 323).
  • the order of the sum of the first signal values input to the neurons in the second layer neurons (311 to 313) is determined in advance.
  • the first comparison unit 352 that outputs an activation command to the neuron and the third layer neurons (321 to 3) For each of 3), when the rank in the third layer neurons (321 to 323) of the sum of the second signal values input to the neurons is the same as or higher than a predetermined threshold value May further include a second comparison unit 354 that outputs an activation command to the neuron.
  • each of the first layer neurons (301 to 303) divides each input data value obtained by dividing the feature extraction target in association with the number of the first layer neurons (301 to 303). And the value of the input data is output as a first signal value to the second layer neurons (311 to 313) having the same expressed gene as the self-expressed gene.
  • Each of the second layer neurons (311 to 313) outputs 1 as the second signal value when the activation command is acquired from the first comparison unit 352, and when the activation command is not acquired. Outputs 0 as the second signal value.
  • Each of the third layer neurons (321 to 323) outputs 1 as the third signal value when the activation command is acquired from the second comparison unit 354, and when the activation command is not acquired. Outputs 0 as the third signal value.
  • the expressed gene assigning unit 350 randomly assigns the expressed gene to each neuron. Using the value of the expressed gene and the matching rule, the connection state (that is, the matching network) between adjacent layers in the hierarchical neural network is determined.
  • This matching network is composed of five logical operations of AND, OR, NAND, NOR, and XOR corresponding to the activation criteria used by the comparison unit 352 and the comparison unit 354 for the comparison process in signal propagation between adjacent layers. It has the function to calculate either of them in parallel.
  • “Calculate in parallel” means, for example, that the output value of each neuron belonging to the second layer is a plurality of values input from the plurality of neurons belonging to the first layer to each neuron belonging to the second layer.
  • the logical operation is a parallel logical operation that is executed in parallel on a plurality of inputs input to the matching network. Therefore, in order to distinguish from the conventional logical operation on two input values, the AND operation is hereinafter referred to as a parallel AND operation, the OR operation as a parallel OR operation, the NAND operation as a parallel NAND operation, and the NOR operation as a parallel NOR.
  • the operation and the XOR operation will be referred to as a parallel XOR operation, respectively.
  • the feature amount column thus output is a feature vector from which the features of the target data are extracted.
  • the feature quantity of the target data can be obtained without performing a learning process using an essential teacher signal in the conventional hierarchical neural network.
  • FIG. 12 is a schematic diagram of dissimilar image search processing performed using the feature extraction apparatus 100 according to the modification of the embodiment.
  • the template image 552 and the plurality of target images 554 are each of the images 550 divided into certain blocks as in the above-described embodiment.
  • the configuration of the feature extraction apparatus 100 in this modification is the same as that of the embodiment shown in FIG.
  • the comparison unit 352 and the comparison unit 354 perform a parallel AND operation when the target data is the template image 552. That is, the comparison unit 352 and the comparison unit 354 send an activation command to neurons in the upper 10%.
  • the comparison unit 352 and the comparison unit 354 perform a parallel NOR operation in order to obtain a feature vector from which a feature different from the feature of each image is extracted. That is, when the target data is each of a plurality of target images 554, the comparison unit 352 and the comparison unit 354 send an activation command to neurons within the lower 10%.
  • the obtained inner product value is a score indicating the degree of dissimilarity, and it can be determined that the larger the inner product value, the higher the degree of dissimilarity with the template image 552.
  • the feature extraction device 100 has a plurality of first layer neurons (301 to 303), second layer neurons (311 to 313), and third layer neurons (321 to 323), respectively.
  • the rank of the sum of the first signal values input to the neurons in the second layer neurons (311 to 313) is obtained, and the second layer A first comparison unit 352 that outputs an activation command to a neuron whose rank is equal to or lower than a predetermined threshold value;
  • the ranking of the sum of the second signal values input to the neurons in the third layer neurons (321 to 323) is obtained, and the third layer neurons (321 to 323) are obtained.
  • a second comparison unit 354 is further provided that outputs an activation command to a neuron
  • each of the first layer neurons (301 to 303) divides each input data value obtained by dividing the feature extraction target in association with the number of the first layer neurons (301 to 303). Acquired in association with each other, the value of the input data is output as a first signal value to the second layer neurons (311 to 313) having the same expressed gene as the own expressed gene.
  • Each of the second layer neurons (311 to 313) outputs 1 as the second signal value when the activation command is acquired from the first comparison unit 352, and when the activation command is not acquired. Outputs 0 as the second signal value.
  • Each of the third layer neurons (321 to 323) outputs 1 as the third signal value when the activation command is acquired from the second comparison unit 354, and when the activation command is not acquired. Outputs 0 as the third signal value.
  • a neuron having a relatively small input value propagated from the previous layer is selectively activated.
  • a neuron having a relatively small input value propagated from the previous layer is selectively activated.
  • FIG. 13 is a diagram illustrating an example of a result of a similar image search and a dissimilar image search using the feature extraction apparatus 100 according to the present embodiment and its modification.
  • a search result 570 shown in FIG. 13 indicates a result of searching for a similar image using the feature extraction apparatus 100 according to the present embodiment.
  • the upper left block is the template image 552.
  • the remaining 24 blocks are target images having a similarity score within the top 24 that are searched from among a plurality of target images 554.
  • a result of searching similar images of the template image 552 from a plurality of target images 554 by the square error method is shown in a search result 574.
  • a square value (square error) of a difference between pixel values is calculated for each pixel at a corresponding position between the template image 552 and the target image. Thereafter, the total value of the square errors for all the pixels is calculated. The smaller the total value, the more similar to the template image 552. Conversely, the larger the total value, the dissimilar image that does not resemble the template image 552. Judge.
  • the search result 570 when the feature extraction apparatus 100 is used is inferior to the search result 574 obtained by the square error method and has a good result.
  • This result indicates that a similar image search is possible based on the feature vector output by the feature extraction apparatus 100.
  • the search result 572 indicates the result of searching for dissimilar images using the feature extraction apparatus 100 according to the modification.
  • the upper left block is a template image 552.
  • the remaining 24 blocks are target images having a dissimilarity score within the top 24 that are searched from among a plurality of target images 554.
  • a result of searching for dissimilar images of the template image 552 from the plurality of target images 554 by the square error method is shown in a search result 576 for performance comparison.
  • the search result 572 and the search result 576 are compared, in the search result 576 based on the square error method, a large number of images in which the density of the template image 552 is reversed are searched.
  • the search result 572 when the feature extraction apparatus 100 is used includes various images different from the template image 552 as well as an image obtained by inverting the density of the template image 552. . That is, it is considered that the feature extraction apparatus 100 can successfully extract “features not possessed by the template image 552” as feature vectors rather than simple “reverse pixel values”.
  • the search result 572 having a variety of dissimilar images is generally closer to a search result closer to an image of “an image dissimilar to the template image 552” that a person thinks.
  • This result indicates that a dissimilar image search is possible based on the feature vector output by the feature extraction apparatus 100 according to the modification.
  • the type of parallel logical operation performed by the matching network can be selected by selecting the activation standard used by the comparison unit for the comparison process without changing the configuration of the matching network.
  • the target data that can be extracted by the feature extraction apparatus 100 according to the embodiment and the modification is not limited to image data.
  • arbitrary data can be input as long as the data is composed of digitized numerical values such as waveform data, digitized transaction data, and other sensing data.
  • the outputs of the intermediate layer and the output layer included in the feature extraction apparatus 100 may be other than binary values of “0” and “1”.
  • each of the neurons belonging to the second layer as the intermediate layer and the third layer as the output layer calculates the sum of the input signal values. It may be output.
  • only the neuron that has received the activation command may output the sum of the input second signal values.
  • each of the neurons belonging to the intermediate layer and the output layer may be an arithmetic unit that outputs a value corresponding to the sum of input signal values.
  • the first layer does not output the value of the input data as it is, but may binarize it into 0 or 1, for example.
  • a threshold value may be set in advance, and 1 may be output if it is equal to or greater than this threshold value, and 0 may be output if it is less than the threshold value. That is, each neuron belonging to the input layer may be an arithmetic unit that outputs a first signal value that is larger as the value of input data is larger.
  • the comparison unit 352 and the comparison unit 354 may output a deactivation instruction for deactivating a neuron that does not satisfy the criterion.
  • each neuron may be activated upon receiving an activation command, and return to the deactivated state upon receiving an inactivation command.
  • the feature extraction apparatus 100 may output a deactivation command to all neurons each time new target data is acquired, and may initialize the deactivation state.
  • activated neurons may gradually transition to an inactivated state over time. In this case, it is conceivable to decrease the output value of the neuron as the state transitions to the inactivated state.
  • the neurons in the inactive state may not output “0”. That is, among the neurons belonging to the intermediate layer and the output layer, the activated neurons may output “1”, and the other neurons may do nothing.
  • a bit string corresponding to the output of each neuron is secured in advance, and each bit is initialized to “0” in advance, so that the inactivated state
  • a bit string similar to that obtained when a neuron at “0” outputs “0” can be obtained as a feature vector.
  • the feature extraction apparatus 100 may not include the comparison unit.
  • each neuron can select its output by comparing the total value of its inputs with an absolute value reference (ie, a predetermined threshold) rather than a relative rank within the same layer. Good. Even if the comparison unit is not provided, each neuron belonging to the same layer may transmit and receive the total value of its input to each other, thereby acquiring the relative rank of the total value of the input.
  • an absolute value reference ie, a predetermined threshold
  • the random number used by the expression gene allocating unit 350 may be a so-called pseudo-random number generated by a calculation process in addition to a random number generated using a random number generator or the like.
  • the number of genes included in the gene repertoire is as small as about 100 at most. Therefore, although it is easy to generate, even a pseudo-random number having periodicity can sufficiently be used.
  • the feature extraction apparatus 100 forms a signal path if there is one or more identical expressed genes in the front layer and the rear layer in the generation of the connection matrix.
  • a signal path may be formed only when there are two or more identically expressed genes in the front layer and the rear layer.
  • a signal value output through the signal path may be multiplied by a weight corresponding to the number of matched expressed genes.
  • the activation criteria used by the comparison unit 352 and the comparison unit 354 may be different.
  • the comparison unit 352 may execute a parallel AND operation in signal propagation between the first layer and the second layer
  • the comparison unit 354 may execute a parallel NOR operation in signal propagation between the second layer and the third layer.
  • the activation criteria used in each layer may be different.
  • the same gene repertoire is used in all layers.
  • the expression gene assignment unit 350 may assign the expression genes to the neurons using different gene repertoires for each layer.
  • the feature extraction device 100 includes one comparison unit in each of the second layer and the third layer, but this can logically assume a comparison unit corresponding to each layer. It is only shown. Therefore, the entire feature extraction apparatus 100 may include one comparison unit, and the comparison unit may perform comparison processing for all layers.
  • the feature vector similarity determination need not be an inner product.
  • any process that extracts the degree of coincidence between two feature vectors may be used.
  • it may be the sum of squares of the difference between two feature vectors.
  • the number of matching elements among the elements included in the feature vector may be simply calculated.
  • the signal is described as being propagated only in one direction from the front layer to the rear layer between adjacent layers. It is not necessarily limited to this. If necessary, a signal may be propagated from the rear layer to the front layer, or the signal may be propagated to other neurons in the same layer.
  • the feature extraction device is a feature extraction device composed of a neural network, and the neural network includes a plurality of neurons as operation units, and the plurality of neurons transmit signals from one neuron to the other neuron.
  • the neural network includes a plurality of neurons as operation units, and the plurality of neurons transmit signals from one neuron to the other neuron.
  • Each of which has at least one expression gene that is an attribute value for determining whether or not transmission is possible, and among the plurality of neurons, input data obtained by dividing target data that is a target of feature extraction is input
  • the first neuron outputs the first signal value, which is larger as the value of the input data is larger, to the second neuron having the same expressed gene as that of the second neuron.
  • the second signal value which is a value corresponding to the total sum of the first signal values, may be calculated as the feature amount of the target data.
  • a second-layer matching network (implementing parallel AND processing) that processes template image 552 and a second-layer matching network that processes a plurality of target images 554 (Implementing parallel NOR processing) may be a network generated independently of each other.
  • the expression genes assigned to the neurons may be different between a matching network that performs parallel AND processing and a matching network that performs parallel NOR processing.
  • the expression gene (specifically, the number of the expression gene) assigned to each input data obtained by dividing the target data for feature extraction must be common, so the input layer (the first The first layer) needs to be common.
  • the five parallel logical operations shown in FIG. 11 are an example of arithmetic processing performed in the matching network. For example, “neurons in the upper 10% output 2 and higher neurons in the upper 50% Neurons excluding neurons within 10% output 1; neurons excluding those within the top 80% to neurons within the top 50% output 0; the remaining neurons output -1. You may output according to a rule.
  • the matching network can extract features without a learning process.
  • the matching network may be regarded as a weight matrix and the value may be changed by learning.
  • the idea of the above matching rule is that, in the cluster type protocadherin (cPcdh), which is a group of cell adhesion molecules discovered by the present inventors, about 60 subtypes constitute a gene cluster, and these subtypes are in neuronal cells. It is obtained from the fact that it is expressed in a random combination.
  • cPcdh cluster type protocadherin
  • the above-mentioned matching network has a cluster property much higher than that of the random network, although the distance between vertices is almost the same as that of a random network that is a typical network having a short distance between vertices.
  • High clustering is suitable for combination extraction processing in feature extraction.
  • a matching network that connects an input layer with a small number of neurons and an intermediate layer with a large number of neurons can widely diffuse the values of input data input to the input layer to neurons in the intermediate layer.
  • a matching network that connects an intermediate layer with a large number of neurons and an output layer with a small number of neurons can be used as a feature value by aggregating the outputs from the diffused intermediate layer neurons into the output layer. . Therefore, an effective combination can be detected.
  • a short distance between vertices means that many clusters are not independent but connected to each other. Therefore, the features of the target data are extracted with no deviation in propagation to the intermediate layer and the output layer, and the diversity of the feature amounts is obtained. In particular, when the number of intermediate layers is large, the effect is considered to be remarkable. As a result, for example, as shown in the result of the dissimilar image search shown in FIG. 13, it is considered possible to output a feature vector of an image “differing from various viewpoints” as compared with the template image 552.
  • scale-free property in the field of graph theory can also be adjusted by giving variation to the number of expressed genes assigned to each neuron.
  • the feature extraction apparatus 100 As described above, the feature extraction apparatus 100 according to the embodiment and the modification generates a matching network having a unique property called small world property on a computer, and realizes a feature extraction device using the same. is there.
  • the characteristics of information input to one layer can be easily maintained even when the number of layers is increased.
  • FIG. 14 is a diagram illustrating the relationship between the number of layers and the maintenance of information in each of the matching network (MN) and the random network (random).
  • the vertical axis shows the prominence of the response characteristics of individual neurons. A higher value means that each neuron returns a different response depending on the characteristics of the image presented in one layer. This means that there is a favorite image for each neuron.
  • the horizontal axis indicates the number of layers.
  • the characteristic that information is not easily lost even when layers are stacked may have the following advantages.
  • the performance is not easily lowered when the output from the subsequent layer is returned to the previous layer again.
  • information processing for example, there is a case where a processing result by a certain layer is stored for a while and used later. In this case, by temporarily propagating information to be used later between layers until necessary, information can be temporarily stored without providing a semiconductor memory or the like. Thereby, downsizing, cost reduction, energy saving, and the like of the information processing apparatus can be realized. Furthermore, it is not necessary for the information processing apparatus to manage the memory area such as garbage collection.
  • each layer forms a logic element. More specifically, the individual layers can be said to be parallel logic elements.
  • the matching network has a high information holding capability as shown in FIG.
  • a complex logic circuit can be formed by combining them in several stages in series and parallel.
  • a complex circuit such as a comparator can be configured by combining simple AND, NAND circuits, and the like as in a general digital logic circuit. In order to be able to do this, it is assumed that information is stably transmitted between elements. This is guaranteed by the information holding capability of the matching network shown in FIG.
  • each layer is a parallel logic element, and it has an advantage that various logic circuits can be formed by assembling this.
  • input data A, input data B, and input data C are data output by sensors corresponding to the visual, auditory, and tactile sensations of the work robot, respectively.
  • the second layer neuron 311 has inputs from the first layer neuron 301 and the first layer neuron 302, and the second layer neuron 312 has inputs from the first layer neuron 302 and the first layer neuron 303.
  • the second layer neuron 313 has inputs from the first layer neuron 303 and the first layer neuron 301
  • each neuron in the second layer has acquired three pieces of input data A to input data C. Absent. Therefore, any neuron included up to the second layer cannot perform processing in which all information output from the sensor is integrated.
  • the third layer neuron 321 receives the input data A to the input data C.
  • the processing can be performed with reference to all three. In this way, by adding the third layer (or the fourth and subsequent layers), it is possible to increase the probability that the neuron can perform processing based on all information output from the sensor. Therefore, the nature of the matching network that can increase the number of connections between hierarchies is an indispensable characteristic for realizing multimodal information processing.
  • FIG. 15A to 15C show the results of extracting features of three different images using a matching network. More specifically, FIG. 15A (a) shows a neuron code (number of active neurons) obtained by inputting the image shown in FIG. 15A (b) to the matching network. On the other hand, (c) of FIG. 15A is a graph showing, as a histogram, gene codes of genes that were activated when the image shown in (b) of FIG. 15A was input to the matching network. That is, the gene code is information indicating the frequency distribution of the expressed gene represented by a vector whose number of elements is the number of gene repertoires.
  • the frequency of the expressed gene is that the neuron has (that is, is assigned to the neuron) the greater the number of signal values that the neuron has input from other neurons based on the matching rule.
  • the frequency of the expressed gene is determined to be larger. This means that the influence is greater in the expressed gene of a neuron that has acquired more first signal values.
  • FIG. 15B and (a) in FIG. 15C show neuron codes obtained by inputting the images shown in (b) in FIG. 15B and (b) in FIG. 15C to the matching network, respectively.
  • 15C (c) and 15C (c) show the gene codes of the genes that were activated when the images shown in FIG. 15B (b) and FIG. 15C (b) were input to the matching network, respectively. Is a graph showing as a histogram.
  • the matching network is re-examined centering on the gene code
  • the information processing performed by the matching network is considered to be a process of outputting the similarity between a plurality of gene code groups and given data. Can do.
  • FIGS. 15A to 15C are collectively referred to as FIG.
  • FIG. 15 shows an example of a matching network with 50 gene repertoires. As shown in FIG. 15 (c), the gene code is expressed by a vector whose number of elements is the number of gene repertoires.
  • FIG. 15 (a) The neuron activity as shown in FIG. 15 (a) is directly visible as the output from each layer. In the matching network, this is the gene code of FIG. 15 (c) (the gene possessed by the active neuron). Is equivalent).
  • the neuron code in FIG. 15A takes different values depending on the layer and the matching network to be used even for the same image. In other words, the number of active neurons varies from layer to layer even in the same image.
  • the gene code in (c) of FIG. 15 takes a fairly close value regardless of whether it passes through layers or in different matching networks (assuming that the gene repertoire is the same).
  • the genetic code is a unique value representing the image.
  • the matching network has high integration because it transmits a common genetic code.
  • the matching network uses a neuron's activity to transmit a unique value called individual code (here, an image) called a genetic code.
  • each layer of the matching network can be considered as a logic element that converts the genetic code.
  • the gene code is converted into a pattern that is not similar at all by a NOR element, and an image having such a gene code is searched.
  • the matching network has the ability to convert simple neuronal activities (neuron codes) into unique vectors (gene codes).
  • Each gene expresses a unique pattern (prototype) as shown in FIGS.
  • the gene code explicitly expresses how much each image is similar to what prototype, and which combination of prototypes is close.
  • the gene code has the possibility of such an unprecedented calculation.
  • the feature extraction device 100 is configured to increase the second neuron so that the larger the number of first signal values input to the second neuron, the larger the second neuron.
  • a feature extraction device that determines the frequency of an expressed gene that is included, and outputs a gene code, which is information indicating a frequency distribution obtained by summing the determined frequency for each of a plurality of expressed genes, as a feature of target data I can also say.
  • the feature extraction apparatus 100 calculates the frequency of each expressed gene that the second neuron has for the first signal value input to the second neuron. It may be determined as a number. For example, when a neuron has three expression genes represented by numbers 2, 4, and 7, and when 10 signal values are input to this neuron from other neurons, the expression that the neuron has The frequencies of the genes 2, 4, and 7 are determined as 10 respectively. This value is summed for all the second neurons to obtain a frequency distribution for each gene.
  • the feature extraction apparatus 100 determines, for each second neuron, whether or not the number of first signal values input to the second neuron is equal to or greater than a predetermined threshold.
  • the gene code may be determined as the frequency obtained by summing up the expression genes of a second neuron for each of the plurality of expression genes.
  • FIG. 16 is a diagram in which gene codes included in each of 144 first layer neurons are arranged in a matrix of 12 sections ⁇ 12 sections.
  • the first section includes 8, 36 and 43. This indicates that the gene codes of the first neuron among 144 first layer neurons are 8, 36 and 43.
  • FIG. 17A is a diagram in which “1” is described only in the section including the gene code “1” in FIG. 16, and the other sections are represented as blanks.
  • the upper left section corresponds to the first neuron of the first layer neurons
  • the lower right section corresponds to the 144th neuron of the first layer neurons.
  • FIG. 17B is a diagram in which “2” is described only in the section including the gene code “2” in FIG. 16, and the other sections are represented as blanks.
  • FIG. 17C is a diagram in which “3” is described only in the section including the gene code “3” in FIG. 16, and the other sections are represented as blanks.
  • FIG. 18 is an image showing a list of gene code patterns in the first layer of a certain matching network.
  • the upper left section 610a is an image obtained by visualizing a neuron including the gene code “1” among 144 neurons.
  • the lower right section 610b is an image obtained by visualizing a neuron including the gene code “50”.
  • a prototype image an image obtained by visualizing a neuron including a specific gene code is referred to as a prototype image.
  • the matching network may be considered to perform a process of calculating the contribution (weight) for each prototype image. it can. That is, the feature extraction processing performed by the matching network can be said to be processing for determining a predetermined combination of a plurality of prototype images so that input data can be expressed well.
  • the genetic code need not be determined randomly. That is, the expressed gene assignment unit 350 does not have to assign an expression gene randomly to each neuron.
  • FIG. 19 is an image obtained by binarizing 50 arbitrarily selected images.
  • prototype images are generated by binarizing other images in this way, and similar image search is performed with high accuracy by a matching network in which expressed genes corresponding to these prototype images are assigned to each neuron. Was able to do.
  • an artificial pattern as shown in FIG. 20 can be used as a prototype image.
  • the function of the matching network that expresses a new input as a combination of predetermined patterns can be used in, for example, data mining targeting user preferences in marketing.
  • a specific explanation will be given below assuming a scene of new tea product development.
  • Step S1 First, let's say that 144 evaluators drink 50 kinds of existing tea, and each person gives 5 kinds of favorite teas. Here, numbers 1 to 144 are assigned to evaluators. Also, give tea a number from 1 to 50.
  • FIG. 21A shows the numbers of tea given by 144 people as favorite teas.
  • the leftmost column indicates that the 1st evaluator has given 2nd, 5th, 21st, 46th and 49th teas as favorite teas.
  • the rightmost column indicates that the 144th evaluator has given the 6th, 22nd, 35th, 41st and 44th teas as favorite teas.
  • Step S2 Next, the same 144 evaluators are asked to drink a new tea that is being developed as a new product and ask if they like the new tea. Thereafter, the person who answered that he / she likes new tea totals the numbers of existing teas that he / she likes in step S1, and creates a histogram.
  • the 1st evaluator responds that he likes new tea, 1 is added to each of the 2nd, 5th, 21st, 46th and 49th teas.
  • the 2nd evaluator also answers that he likes new tea, 1 is added to the frequencies of the 6th, 12th, 33rd, 34th and 50th teas.
  • FIG. 21B shows a histogram for the “existing tea number that a person who likes new tea likes” created in this way.
  • the matching network also judges the analogy based on the similarity of the histogram as shown in FIG. 21B.
  • FIG. 22 shows a state in which the preference data of 144 evaluators shown in FIG. 21A is input to the first layer 630 of the matching network. That is, each column indicating each of the neurons included in the first layer 630 includes the number of the tea that the evaluator corresponding to each column answered. If there are 144 evaluators, the number of columns in the first layer 630 is 144. However, for the sake of explanation, the number of columns is omitted.
  • the first layer 630 and the second layer 632 have a connection generated based on a matching rule of “generate a connection between neurons that match even one preferred tea number”. Yes.
  • a matching rule for example, tea preferred by more people can be extracted by a matching network.
  • the type of connection between neurons shown in FIG. 22 is referred to as a first connection type.
  • the first layer 634 and the second layer 636 have a connection generated based on a matching rule that “generates a connection only between neurons that match three or more tea numbers”. ing.
  • a matching rule that “generates a connection only between neurons that match three or more tea numbers”.
  • tea preferences that are shared by individuals. For example, a person who prefers one of tea No. 14, tea No. 22 and tea No. 37 from the bond created between the first layer 634 and the second layer 636 also prefers other teas. A trend is expected.
  • the type of connection between neurons shown in FIG. 23 is referred to as a second connection type.
  • the first layer 638 and the second layer 640 have connections generated based on the matching rule “generate connections between neurons by the number of matched tea numbers”. Yes.
  • the coupling between layers generated by such a matching rule has an intermediate property between the two matching rules described above. That is, while bonds are generated between the numbers of teas preferred by many people, more (ie, weighted) bonds are created between teas that share the tastes of those who like the tea. .
  • the type of connection between neurons shown in FIG. 24 is referred to as a third connection type.
  • the coupling type between the first layer 642 and the second layer 644 is the first coupling type
  • the coupling type between the first layer 642 and the second layer 646 is used.
  • the second coupling type is used.
  • the coupling type between each of the second layer 644 and the second layer 646 and the third layer 648 is a third coupling type.
  • the second layer 644 it is possible to extract tea preferred by many people out of 144 evaluators. Further, in the second layer 646, it is possible to extract a combination of teas that is preferred by some people among 144 evaluators. In the third layer 648, a combination of teas (tea blends) that is common to people who like a certain tea and that is preferred by many people can be extracted.
  • each of the plurality of first layer neurons is (A) if the number of expression genes that match the expression gene possessed by itself and the expression gene possessed by the second layer neuron is equal to or greater than a predetermined threshold, A signal is output to the second layer neuron, or (B) the greater the number of expression genes that match the expression gene that the second layer neuron has and the expression gene that the second layer neuron has, The signal may be output to the second layer neuron.
  • the matching network has the characteristic that the diversity of expressed genes is not easily lost by propagation between layers, so even if the layer is added by changing the coupling type, the feature extraction performance is not easily degraded. .
  • the matching network can be used not only as a feature extraction device but also as a device for finding a combination of known patterns that can be used to approximate an unknown one. Therefore, it can be used for data mining for marketing as described above.
  • the matching network can successfully extract, for example, features of both an image similar to an image and a dissimilar image. Therefore, the present invention can also be used for a scene extraction device for collecting similar scenes in a moving image, an automatic detection device for a suspicious moving body in a security video, and the like.
  • the feature extraction apparatus 100 described in the embodiment can be realized by a computer.
  • the feature extraction apparatus 100 includes a computer 34, a keyboard 36 and a mouse 38 for giving instructions to the computer 34, a display 32 for presenting information such as a calculation result of the computer 34, and a computer.
  • 34 includes a CD-ROM (Compact Disc-ReadOnly Memory) device 40 and a communication modem (not shown).
  • the program which is a process performed by the feature extraction apparatus 100, is stored in the CD-ROM 42, which is a computer-readable medium, and is read by the CD-ROM apparatus 40.
  • the data is read by the communication modem 52 through a computer network.
  • FIG. 27 is a block diagram illustrating a hardware configuration of a computer system that implements the feature extraction apparatus 100.
  • the computer 34 includes a CPU (Central Processing Unit) 44, a ROM (Read Only Memory) 46, a RAM (Random Access Memory) 48, a hard disk 50, a communication modem 52, and a bus 54.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the CPU 44 executes the program read via the CD-ROM device 40 or the communication modem 52.
  • the ROM 46 stores programs and data necessary for the operation of the computer 34.
  • the RAM 48 stores data such as parameters at the time of program execution.
  • the hard disk 50 stores programs and data.
  • the communication modem 52 communicates with other computers via a computer network.
  • the bus 54 connects the CPU 44, the ROM 46, the RAM 48, the hard disk 50, the communication modem 52, the display 32, the keyboard 36, the mouse 38, and the CD-ROM device 40 to each other.
  • the system LSI is a super multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. .
  • a computer program is stored in the RAM.
  • the system LSI achieves its functions by the microprocessor operating according to the computer program.
  • the constituent elements constituting the feature extraction apparatus 100 may be configured as a removable IC card or a single module.
  • the IC card or module is a computer system that includes a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
  • the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.
  • the present invention provides a recording medium capable of reading the computer program or the digital signal, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray Disc). (Registered trademark)), a memory card such as a USB memory or an SD card, or a semiconductor memory. Further, the digital signal may be recorded on these recording media.
  • a recording medium capable of reading the computer program or the digital signal, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray Disc). (Registered trademark)), a memory card such as a USB memory or an SD card, or a semiconductor memory.
  • the digital signal may be recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the present invention may also be a computer system including a microprocessor and a memory, in which the memory stores the computer program, and the microprocessor operates according to the computer program.
  • program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like and executed by another independent computer system. You may do that.
  • the present invention can be applied to a feature extraction device, and in particular to a feature extraction device using an artificial neural network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Neurology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

 事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供するため、本発明に係る特徴抽出装置(100)は、演算部である複数のニューロン(301、302、303、311、312、313)を備えるニューラルネットワークから構成され、複数のニューロンは、一方のニューロン(301、302、303)から他方のニューロン(311、312、313)への信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ1以上有し、複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第1のニューロンは、入力データの値が大きいほど大きな値である第1信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第2のニューロンへ出力し、第2のニューロンは、入力された第1信号値の総和に対応する値である第2信号値を対象データの特徴量として算出する。

Description

特徴抽出装置、特徴抽出方法、及び、そのプログラム
 本発明は、特徴抽出装置等に関し、特に、人工ニューラルネットワークを用いた特徴抽出装置、特徴抽出方法、及び、そのプログラムに関する。
 従来、脳の中に存在するニューロン(神経細胞)の働き(神経可塑性)を計算機内でモデル化し、目的とする情報処理を行う情報処理手法としてニューラルネットワークが知られている(例えば、特許文献1を参照)。
 このニューラルネットワークの主な用途として、パターン認識が挙げられる。例えば、多数の画像データのうち、ある特定の人物の顔が写されている画像データを計算機に選択させることや、逆に、特定の人物の顔が写されていない画像データを選択させることが考えられる。
 こうしたパターン認識処理を計算機にさせるためには、認識対象の特徴をよく表す特徴量を、認識対象の計測データからうまく抽出する必要がある。
 一般に、ニューラルネットワークは、ネットワークを構成するニューロン間を非線形的に結ぶことが可能であるため、複雑な特徴を非線形関数で近似することができ、良好な認識結果が得られる。
特許第4478296号公報
 しかしながら、対象データの特徴をうまく抽出できるニューラルネットワークを実現するには、一般に、「学習」と呼ばれる準備作業が不可欠である。ここで、学習とは、事前に答え(人の名前や良・不良等、認識させたい属性情報)が判明している学習用データを用いて、ニューラルネットワーク内のパラメタを調整する作業である。
 このニューラルネットワークの学習には、大量の学習用データを事前に準備する必要がある。
 しかし、例えば、画像認識により工業製品の良品と不良品とを判断させる検査装置の場合、その工業製品が新商品であったり、生産ラインの立ち上げ直後である場合等、十分な数の学習用データ(特に、不良品データ)が集まっていない場合が多い。そのため、必要な学習データを確保できず、十分な認識性能を有するニューラルネットワークを準備することができないという課題がある。
 そこで本発明は、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供することを目的とする。
 本発明のある局面に係る特徴抽出装置は、ニューラルネットワークから構成される特徴抽出装置であって、前記ニューラルネットワークは、演算部である複数のニューロンを備え、前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ1以上有しており、前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第1のニューロンは、当該入力データの値が大きいほど大きな値である第1信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2のニューロンへ出力し、前記第2のニューロンは、入力された前記第1信号値の総和に対応する値である第2信号値を前記対象データの特徴量として算出する。
 この構成によると、発現遺伝子によって第1のニューロンから第2のニューロンへの信号の信号経路が決定される。また、信号経路が決まると、第2のニューロンは、第1ニューロンから得られた入力の合計値に応じて、対象データの特徴量を出力できる。よって、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を実現できる。
 より具体的には、前記ニューラルネットワークは、複数の階層構造を有する階層型ニューラルネットワークであり、前記階層型ニューラルネットワークは、第1層の演算部である複数の第1層ニューロンと、第2層の演算部である第2層ニューロンとを備え、前記複数の第1層ニューロン及び前記第2層ニューロンは、前記複数の第1層ニューロンから前記第2層ニューロンへの信号の伝達可否を決定するための属性値である前記発現遺伝子をそれぞれ1以上有しており、前記対象データを分割して得られる各入力データが入力された前記複数の第1層ニューロンの各々は、当該入力データの値が大きいほど大きな前記第1信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンへ出力し、前記第2層ニューロンは、入力された前記第1信号値の総和に対応する前記第2信号値を前記対象データの特徴量として算出するとしてもよい。
 この構成によると、発現遺伝子によって第1層のニューロンから第2層のニューロンへの信号の信号経路が決定される。また、信号経路が決まると、第2層の各々のニューロンは、対象データの特徴量を出力できる。よって、従来の階層型ニューラルネットワークでは一般に不可欠とされる、教師信号を用いた学習プロセスを行わずに、対象データの特徴量を抽出可能な特徴抽出装置を実現できる。
 また、前記複数の第1層ニューロン及び前記第2層ニューロンの各々に対して、(i)事前に定められた属性値を示す複数の遺伝子である遺伝子レパートリーの中から1以上の前記遺伝子を選択し、(ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部をさらに備えており、前記複数の第1層ニューロンの各々は、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンにだけ、前記第1信号値を出力するとしてもよい。
 具体的には、前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーの中からランダムに選択するとしてもよい。
 これによると、発現遺伝子割当部によって、各ニューロンへ発現遺伝子をランダムに割り当てることができる。発現遺伝子の割当をランダムとすることにより、多様な対象データに対して、安定した特徴抽出性能を発揮する特徴抽出装置とすることができる。さらに、発現遺伝子のみで信号の信号経路を形成するため、より、安定した特徴抽出性能を発揮できる。
 または、前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択するとしてもよい。
 これによると、事前に定められた発現遺伝子の組み合わせ(パターン)を用いて、対象データを表現することができる。
 また、前記第2層ニューロンは、入力された前記第1信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を前記第2信号値として出力し、含まれない場合には、前記事前に定められた値とは異なる値を前記第2信号値として出力するとしてもよい。
 これにより、特徴抽出装置による対象データの特徴の抽出方針を、入力された値の総和を基準として選択することができる。
 好ましくは、前記階層型ニューラルネットワークは、複数の前記第2層ニューロンを備え、前記特徴抽出装置は、前記複数の第2層ニューロンのうち、前記第1信号値の総和について前記複数の第2層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部をさらに備えており、前記複数の第2層ニューロンのうち、(a)前記比較部より前記活動化命令を取得したニューロンは事前に定められた値を前記第2信号値として出力し、(b)前記活動化命令を取得しないニューロンは前記事前に定められた値とは異なる値を前記第2信号値として出力するとしてもよい。
 この構成によると、比較部は、第2層に属するニューロンの各々を、入力値の総和の相対的な順位で評価し、事前の評価基準に適合するニューロンを活動化させることができる。すなわち、特徴抽出装置による対象データの特徴の抽出方針を、入力値の総和の相対的な順位により選択することができる。
 また、前記複数のニューロンの各々は、(A)自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、前記第1信号値を前記他のニューロンへ出力し、又は、(B)自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、前記第1信号値を前記他のニューロンへ出力するとしてもよい。
 また、前記階層型ニューラルネットワークは、第3層の演算部として前記発現遺伝子を1以上有する複数の第3層ニューロンをさらに備え、前記階層型ニューラルネットワークは、複数の前記第2層ニューロンを備えており、前記複数の第2層ニューロンの各々は、前記第1信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第3層ニューロンへ、前記第2信号値を出力し、前記複数の第3層ニューロンの各々は、入力された前記第2信号値の総和に対応する値である第3信号値を前記対象データの特徴量として算出するとしてもよい。
 また、好ましくは、前記複数の第2層ニューロンのうち、前記第1信号値の総和について前記複数の第2層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第1比較部と、前記複数の第3層ニューロンのうち、前記第2信号値の総和について前記複数の第3層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、前記活動化命令を出力する第2比較部とを、さらに備えており、前記複数の第2層ニューロンのうち、(a)前記第1比較部より前記活動化命令を取得した第2層ニューロンは事前に定められた値を前記第2信号値として出力し、(b)前記活動化命令を取得しない第2層ニューロンは前記事前に定められた値とは異なる値を前記第2信号値として出力し、前記複数の第3層ニューロンのうち、(a)前記第2比較部より前記活動化命令を取得した第3層ニューロンは事前に定められた値を前記第3信号値として出力し、(b)前記活動化命令を取得しない第3層ニューロンは前記事前に定められた値とは異なる値を前記第3信号値として出力するとしてもよい。
 この構成によると、2層構造では対象データの特徴を十分に抽出できない場合においても、層を増やすことにより、より正確に対処データの特徴を抽出することができる。
 また、前記複数の第1層ニューロン、前記複数の第2層ニューロン及び前記複数の第3層ニューロンの各々に対して、(i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の前記遺伝子を選択し、(ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部と、前記複数の第2層ニューロンの各々について、当該第2層ニューロンに入力された前記第1信号値の総和の前記複数の第2層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第2層ニューロンに、活動化命令を出力する第1比較部と、前記複数の第3層ニューロンの各々について、当該第3層ニューロンに入力された前記第2信号値の総和の前記複数の第3層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第3層ニューロンに、活動化命令を出力する第2比較部とをさらに備えており、前記複数の第1層ニューロンの各々は、前記特徴抽出の対象を第1層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンに前記第1信号値として出力し、前記複数の第2層ニューロンの各々は、前記第1比較部より前記活動化命令を取得した場合には前記第2信号値として1を出力し、前記活動化命令を取得していない場合には前記第2信号値として0を出力し、前記複数の第3層ニューロンの各々は、前記第2比較部より前記活動化命令を取得した場合には前記第3信号値として1を出力し、前記活動化命令を取得していない場合には前記第3信号値として0を出力するとしてもよい。
 この構成によると、第1層-第2層間の信号伝播及び、第2層-第3層間の信号伝播において、前層から伝播された入力値が相対的に大きいニューロンを選択的に活動化させることにより、対象データの特徴を抽出することができる。
 また、前記複数の第1層ニューロン、前記複数の第2層ニューロン及び前記複数の第3層ニューロンの各々に対して、(i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の前記遺伝子をそれぞれランダムに選択し、(ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部と、前記複数の第2層ニューロンの各々について、当該第2層ニューロンに入力された前記第1信号値の総和の前記複数の第2層ニューロンの中での順位を取得し、前記複数の第2層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第2層ニューロンに、活動化命令を出力する第1比較部と、前記複数の第3層ニューロンの各々について、当該第3層ニューロンに入力された前記第2信号値の総和の、前記複数の第3層ニューロンの中での順位を取得し、前記複数の第3層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第3層ニューロンに、活動化命令を出力する第2比較部とをさらに備えており、前記複数の第1層ニューロンの各々は、前記特徴抽出の対象を第1層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンに前記第1信号値として出力し、前記複数の第2層ニューロンの各々は、前記第1比較部より前記活動化命令を取得した場合には前記第2信号値として1を出力し、前記活動化命令を取得していない場合には、前記第2信号値として0を出力し、前記複数の第3層ニューロンの各々は、前記第2比較部より前記活動化命令を取得した場合には前記第3信号値として1を出力し、前記活動化命令を取得していない場合には、前記第3信号値として0を出力するとしてもよい。
 この構成によると、第1層-第2層間の信号伝播及び、第2層-第3層間の信号伝播において、前層から伝播された入力値が相対的に小さいニューロンを選択的に活動化させることにより、対象データがもたない特徴を抽出することができる。
 すなわち、前記発現遺伝子は複数であり、前記第2のニューロンのそれぞれについて、当該第2のニューロンに入力された第1信号値の数が大きいほど、より大きくなるように、当該第2のニューロンが有する発現遺伝子の度数を決定し、決定された度数を前記複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、前記対象データの特徴として出力するとしてもよい。
 なお、本発明は、このような特徴抽出装置として実現できるだけでなく、特徴抽出装置に含まれる特徴的な手段をステップとする特徴抽出方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD-ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 さらに、本発明は、このような特徴抽出装置の機能の一部又は全てを実現する半導体集積回路(LSI)として実現したり、このような特徴抽出装置を含む特徴抽出システムとして実現したりできる。
 以上より、本発明は、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供できる。
図1は、実施の形態に係る特徴抽出装置を用いたパターン認識の処理の一例を示す概念図である。 図2は、実施の形態及びその変形例に係る特徴抽出装置の構成の一例を示すブロック図である。 図3は、従来のニューラルネットワークにおける信号の伝播処理を説明する図である。 図4は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークにおける信号の伝搬処理を説明する図である。 図5は、実施の形態に係る特徴抽出装置を用いて行う類似画像の検索処理の概要図である。 図6は、実施の形態及びその変形例に係る特徴抽出装置における3層型マッチングネットワークの構成を示すブロック図である。 図7は、実施の形態及びその変形例に係る特徴抽出装置の処理の流れを示すフローチャートである。 図8は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークの作成処理の一例を示すフローチャートである。 図9Aは、実施の形態及びその変形例における発現行列の一例を示す図である。 図9Bは、実施の形態及びその変形例における結合行列の一例を示す図である。 図10は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークの第1層の処理を示すフローチャートである。 図11は、実施の形態及びその変形例に係る特徴抽出装置が備える比較部が行う処理の種類を示す図である。 図12は、実施の形態の変形例に係る特徴抽出装置を用いて行う非類似画像の検索処理の概要図である。 図13は、実施の形態及びその変形例に係る特徴抽出装置を用いた類似画像検索及び非類似画像検索の結果の一例を示す図である。 図14は、マッチングネットワーク(MN)及びランダムネットワーク(random)のそれぞれにおいて、階層の数と発現遺伝子の多様性との関係を示す図である。 図15Aは、ある画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。 図15Bは、他の画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。 図15Cは、さらに他の画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。 図16は、144個の第1層のニューロンそれぞれに含まれる遺伝子コードを、12区画×12区画のマトリクス状に並べた図である。 図17Aは、図16において、遺伝子コード「1」が含まれる区画にのみ「1」を記載し、他の区画を空白として表した図である。 図17Bは、図16において、遺伝子コード「2」が含まれる区画にのみ「2」を記載し、他の区画を空白として表した図である。 図17Cは、図16において、遺伝子コード「3」が含まれる区画にのみ「3」を記載し、他の区画を空白として表した図である。 図18は、あるマッチングネットワークの第1層における遺伝子コードのパターンの一覧を示す画像である。 図19は、任意に選択した50個の画像に2値化処理を施した画像である。 図20は、人工的に生成されたプロトタイプ画像の一例を示す図である。 図21Aは、144人のそれぞれが好きなお茶としてあげたお茶の番号を示す図である。 図21Bは、新しいお茶が気に入った人が好きな既存のお茶の番号についてのヒストグラムを示す図である。 図22は、マッチングネットワークの第1層に、図21Aに示された、144人の評価者の嗜好データが入力された様子を示す図である。 図23は、お茶の番号が3つ以上一致したニューロン間にのみ結合を生成するというルールに基づき生成された結合を有するマッチングネットワークを示す図である。 図24は、一致したお茶の番号の数だけ、ニューロン間に結合を生成するというルールに基づき生成された結合を有するマッチングネットワークを示す図である。 図25は、1つのマッチングネットワーク内で、異なる結合タイプを組み合わせて使用する例を示す図である。 図26は、実施の形態及びその変形例にかかる特徴抽出装置を実現するコンピュータシステムの一例を示す外観図である。 図27は、実施の形態及びその変形例にかかる特徴抽出装置を実現するコンピュータシステムのハードウェア構成を示すブロック図である。 図28は、類似画像探索において、ニューロンコードを使用した場合と、遺伝子コードを使用した場合とにおける、探索結果の成績を示す図である。
 以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例である。したがって、これらの各形態により、本発明が限定されるものではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
 図1は、本実施の形態に係る特徴抽出装置100を用いたパターン認識の処理の一例を示す概念図である。ここでは、画像106と画像110のどちらが、画像102により類似した画像であるかを、特徴抽出装置100を用いて認識する場合を考える。
 図1に示されるように、特徴抽出装置100は、例えば画像データを取得し、その特徴を示す特徴量から構成される長さ1以上のベクトルである特徴ベクトルを出力する。
 いま、特徴抽出装置100に画像102の画像データが入力されると、その特徴ベクトルとして、特徴ベクトル104が出力されたとする。同様に、特徴抽出装置100に、画像102と類似する画像106の画像データを入力すると、特徴ベクトル108が出力されたとする。また、特徴抽出装置100に画像102と非類似の画像110の画像データを入力すると、特徴ベクトル112が出力されたとする。
 この場合、ユーザは、特徴抽出装置100によって出力された特徴ベクトル同士の一致度(例えば、内積)を算出することにより、各画像間の類似度を知ることができる。
 上記の例では、特徴ベクトル104と特徴ベクトル108の内積が4であるので、画像102と画像106の類似度は4点と計算される。
 同様に、特徴ベクトル104と特徴ベクトル112の内積は1であるので、画像102と画像110の類似度は1点と計算される。
 したがって、画像106と画像110のうち、画像102により類似する画像は、画像106であると判断される。
 図2は、本実施の形態に係る特徴抽出装置100の構成を示すブロック図である。
 図2に示されるように、特徴抽出装置100は、階層型のニューラルネットワークから構成される。階層の数に上限はないが、少なくとも2層以上は必要である。図2では、説明のため、2層からなるニューラルネットワークを例に挙げて説明する。
 後述するように、各階層は入力データの特徴を示す特徴量を出力する演算部であるニューロンの集合である。ニューロンは活動化状態と非活動化状態のいずれかの状態をとるが、初期状態では非活動化状態である。
 特徴抽出装置100は、第1層309の演算部である複数の第1層ニューロン301~第1層ニューロン303と、第2層319の演算部である複数の第2層ニューロン311~第2層ニューロン313及び比較部352とを備える。
 全ての第1層ニューロン及び第2層ニューロンには、事前に定められた複数の遺伝子(以後、「遺伝子レパートリー」とよぶ)の中から1個以上の遺伝子が事前にランダムに割り当てられている。個々のニューロンに割り当てられた遺伝子をそのニューロンの発現遺伝子と呼ぶ。発現遺伝子は、隣接する階層間(例えば第1層ニューロンから第2層ニューロンへ)の信号の伝達可否を、後述するマッチングルールに従って決定する際に用いられる属性値である。
 なお、特徴抽出装置100を計算機上で実装する際には、発現遺伝子は、例えば数値や文字列、ビット列等で表現される識別子となる。
 なお、発現遺伝子を用いてマッチングルールに従い決定された信号経路を、以後マッチングネットワークと呼ぶ。
 第1層ニューロン301~303は、それぞれ、入力として、特徴抽出装置100によって特徴を抽出すべき対象データを分割して得られる入力データA~入力データCを受け取る。
 また、第1層ニューロン301~303の各々は、入力された入力データA~入力データCに基づき第1信号値を決定し、その値をマッチングネットワークで接続されている第2層ニューロンへ出力する。
 第1信号値の決定方法には、例えば、入力データを二値化する方法(事前に定めた閾値以上の入力を受けた場合には1を、それ以下の入力を受けたか、又は、入力を受け取らなかった場合には0を第1信号値として出力する)や、単調増加の階段関数を適用する方法、入力値をそのまま第1信号値として出力する方法などが考えられる。第1信号値の決定方法は、他の方法でもよいが、入力された入力データの値が大きいほど、第1信号値が大きくなるように決定される。
 第2層ニューロン311~313は、それぞれ、第1層ニューロンから取得した第1信号値の総和を算出する。
 次に、第2層ニューロン311~313の各々は、算出した総和を比較部352へ出力し、比較部352から比較結果を取得する。
 第2層ニューロン311~313の各々は、比較部352から取得した比較結果に基づき第2信号値を算出し、出力する。これが、対象データの特徴量である。
 また、第2層ニューロンが出力する全ての特徴量の組が、特徴ベクトルとなる。
 ここでは、第2層ニューロン311が第2信号値を特徴量Aとして出力し、第2層ニューロン312が第2信号値を特徴量Bとして出力し、第2層ニューロン313が第2信号値を特徴量Cとして出力しており、特徴量A、特徴量B、特徴量Cをこの順に並べたものが、対象データの特徴ベクトルとなる。
 なお、第1層ニューロン及び第2層ニューロンの総数は、対象データのデータ量に依存するが、およそ3個~10万個程度が目安となる。
 比較部352は、第2層ニューロン311~313の各々から取得した合計値(総和)を比較し、比較結果に応じて、活動化命令を出力するニューロンを第2層ニューロンの中から選択する。
 例えば、比較部352は、取得した合計値の大小により第2層ニューロン全体の中で各第2層ニューロンを順位付けし、上位10%以内の第2層ニューロンに、比較結果として「活動化命令」を出力すること等が考えられる。
 活動化命令を取得し活動化状態となった第2層ニューロンは、次の層へ1を出力した後、再び非活動化状態に戻る。一方、活動化命令を取得しなかった非活動化状態の第2層ニューロンは、次の層へ0を出力すること等が考えられる。
 発現遺伝子割当部350は、第1層ニューロン及び第2層ニューロンの各々に対して、遺伝子レパートリーの中から、1以上の遺伝子をランダムに選択し、それぞれに割り当てる。
 遺伝子レパートリーには、具体的には、2個以上、100個以下程度の相異なる遺伝子が含まれる。また、1つのニューロンに割り当てられる遺伝子の数は、およそ、1~10程度である。これらは、後述するように、「脳の情報処理基盤を担う局所神経回路の配線が、数十の遺伝子レパートリーの発現によって実現されている」という生物学的な仮説を基盤としている。
 なお、各ニューロンに割り当てられる発現遺伝子の数は、互いに異なっていてもよいが、説明のため、本実施の形態では全てのニューロンに割り当てられる発現遺伝子の数は同数であるとして説明する。
 次に、図3及び図4を参照し、本実施の形態に係る特徴抽出装置100を構成するニューラルネットワークの特徴であるマッチングルールについて、従来のニューラルネットワークと比較して説明する。
 図3は、従来の階層型ニューラルネットワークにおける信号の伝播処理を説明する図である。なお、階層型ニューラルネットワークは広く知られた技術であるため、ここでは概要を述べるに留める。
 図3に示されるニューラルネットワークは、ニューロン201~ニューロン205の5つのニューロンを備える3層の階層型ニューラルネットワークである。
 一般に、階層型ニューラルネットワークは、入力層、中間層及び出力層という複数の階層で構成される。このネットワーク構造では、ニューロンがそれぞれ層状に配置され、同じ階層に属するニューロン同士は信号経路を有さない。一方、隣接する階層に属するニューロン同士は相互に信号経路を有している。
 この信号経路は、入力層から出力層に向けて一方通行で信号を伝播する。そのため信号の伝播は、前の層から次の層への一方向にのみ行われる。
 図3の例では、ニューロン201及びニューロン202が入力層(第1層)であり、ニューロン203及びニューロン204が中間層(第2層)であり、ニューロン205が出力層(第3層)である。
 ニューロンを結ぶ信号経路は、それぞれ重みを有しており、各ニューロンは、上位層から出力された値に重みを乗じた値を入力信号として取得する。また、各々のニューロンは、閾値と伝達関数とを有しており、入力信号の和から閾値を引いた値を伝達関数に入力し、伝達関数から得られる値を、次層のニューロンへ出力する。
 例えば、ニューロン201からニューロン203への信号経路が有する重みがW31であり、ニューロン202からニューロン203への信号経路が有する重みがW32であり、ニューロン203の閾値がW30であり、ニューロン203が有する伝達関数をf()とする。
 いま、ニューロン201へX1が入力され、ニューロン202へX2が入力された場合、ニューロン203への入力信号の和は、S1=X1×W31+X2×W32-W30となる。よって、ニューロン203は、H1=f(S1)を、ニューロン205へ向けて出力する。
 ニューロン204も、同様にして、入力信号の和S2を算出し、伝達関数の出力であるH2を、H2=f(S2)として求め、ニューロン205へ出力する。
 出力層であるニューロン205は、重みW53及びW54並びに閾値W50を用いて、ニューロン203及びニューロン204から取得した入力信号の和であるS3を、S3=H1×W53+H2×W54-W50として計算する。その後、ニューロン205は伝達関数の出力であるH3を、H3=f(S3)として求め、H3をY1として出力する。
 以上の処理により、図3に示す階層型ニューラルネットワークは、対象データである入力X1及びX2の特徴ベクトルとして、Y1を出力する。
 ここで、Y1が期待される出力(正解)であればよいが、間違いであった場合には、前述の「学習」が必要となる。
 具体的には、本来期待される出力(正しい特徴ベクトル)をY2とすると、Y2と出力Y1との差(Y2-Y1)が小さくなるように、信号経路の重みを修正する。すなわち、Y2と比較して出力Y1が大きければ、出力Y1が小さくなるように信号経路の重みを小さくする。一方、Y2と比較して出力Y1が小さければ、出力Y1が大きくなるように信号経路の重みを大きくする。
 その後、修正後の重みをもつ階層型ニューラルネットワークに対して、新たな入力X3及びX4を入力し、得られる出力Y3が、期待される出力Y4付近の範囲に収束するまで、上記の入力→出力→学習の手順を繰り返す。
 以上述べたように、従来の階層型ニューラルネットワークには、(1)信号経路の重みや、(2)各ニューロンの閾値、(3)伝達関数の種類等、及び、(4)学習の際に教師信号と出力との差に乗じる学習係数など、多数のパラメタが含まれている。これらのパラメタを、多数の教師信号(入力X、X及び、入力に対して期待される出力Yの組)を用いた「学習」により決定していく。
 その結果、教師信号以外のデータに対しても適切な特徴ベクトルを出力できるニューラルネットワークを生成できる。
 これに対し、本実施の形態に係る特徴抽出装置100を構成するマッチングネットワークは、必ずしも学習を必要としない。
 図4は、本実施の形態に係る特徴抽出装置100で使用するマッチングネットワークにおける信号の伝搬処理を説明する図である。
 図4に示されるように、マッチングネットワークも従来の階層型ニューラルネットワークと同様に複数の階層で構成される。また、信号経路は、入力層から出力層に向けて一方通行で信号を伝播するため、信号の伝播は、前の層から次の層への一方向にのみ行われる点も同様である。なお、図4では、簡単のため中間層を省略する。
 本実施の形態に係る特徴抽出装置を構成するマッチングネットワークは、信号経路に重みを有していない。マッチングネットワークは、重みに代わり、ランダムに割り当てられた発現遺伝子によって信号の出力先を決定する。
 図4に示されるニューロン251~ニューロン259は、ここでは、いずれも2つの発現遺伝子を有する。
 例えば、第1層に属するニューロン251は、1番と7番という番号で表された発現遺伝子を有し、ニューロン252は、3番と8番という番号で表された発現遺伝子を有する。どのニューロンがどの発現遺伝子を有するかは、発現遺伝子割当部350により、完全にランダムに決定される。
 この発現遺伝子を用いたマッチングルールによって、ニューロン間の信号経路を形成する点が、従来の階層型ニューラルネットワークと異なる点である。
 具体的には、ニューロン251は、1番と7番の発現遺伝子を有しているため、1番の発現遺伝子及び7番の発現遺伝子の少なくとも一方を有している第2層のニューロンへ信号を出力するする。よって、ニューロン251は、ニューロン255、ニューロン256、ニューロン257の3つのニューロンへ信号を出力する。同様に、3番と8番の発現遺伝子を有するニューロン252は、ニューロン253、ニューロン256、ニューロン258、ニューロン259の4つのニューロンへ信号を出力する。
 すなわち、複数のニューロンのうち、あるニューロンから、他のニューロンの各々へ信号を伝播させる際に、同じ発現遺伝子を有するニューロン間でのみ信号を伝播させる、というルールを、マッチングルールとよぶ。複数のニューロンは、階層構造を有していなくてもよい。なお、上記の階層型ニューラルネットワークにおいては、同一層内では信号経路を形成していない。
 より具体的には、いま、ニューロン251にX1が入力され、ニューロン252へX2が入力されたとする。
 ここでは、ニューロン251及びニューロン252は、入力値をそのまま出力するとする。
 この時、第2層に属する各ニューロンに入力された入力信号の和は、それぞれ、ニューロン253ではX2、ニューロン254では0、ニューロン255ではX1、ニューロン256ではX1+X2、ニューロン257ではX1、ニューロン258ではX2、ニューロン259ではX2となる。
 第2層の各ニューロンは、入力された入力信号の総和に応じて、出力値を決定する。出力値の決定方法は種々のものが考えられるが、ここでは、入力信号の総和が上位50%以内であるニューロンは1を出力し、他のニューロンは0を出力するとする。
 具体的に、X1=3、X2=1とすると、第2層に属する各ニューロンへの入力信号の和は、それぞれ、ニューロン253で1、ニューロン254で0、ニューロン255で3、ニューロン256で4、ニューロン257で3、ニューロン258で1、ニューロン259で1となる。
 よって、第2層に属する各ニューロンからの出力値(特徴量)は、それぞれ、Y1=0、Y2=0、Y3=1、Y4=1、Y5=1、Y6=0、Y7=0となる。この特徴量を並べたベクトルが特徴ベクトルとなる。
 よって、マッチングネットワークを用いて、入力X及びXに対する特徴ベクトルは、(0、0、1、1、1、0、0)として得られる。
 以上述べたように、マッチングネットワークでは、ニューロンに、その属性値として発現遺伝子をランダムに割当て、同一の発現遺伝子を有するニューロン間でのみ信号の伝播がなされる。発現遺伝子の割当は、ネットワーク生成時に決定される。よって、教師信号を用いた学習作業を行わずとも、特徴抽出が可能である。
 なお、上記の説明で、ニューロンは、マッチングルールに従って他のニューロンと信号経路を「形成する」と述べた。しかし、これは必ずしも物理的な接続関係の有無を意味するものではない。例えば、電子回路又は計算機プログラムを用いてマッチングネットワークを実装する際には、全てのニューロン間で通信可能であることを前提として、各ニューロンは、マッチングルールに従って、他のニューロンと信号を送受信すればよい。
 次に、マッチングネットワークで得られた特徴ベクトルが、対象データの特徴を正しく抽出したものであることを確認するために行った評価実験の説明を通じ、本実施の形態に係る特徴抽出装置100の処理をより詳細に説明する。
 図5は、本実施の形態に係る特徴抽出装置100を用いて行う類似画像の検索処理の概要図である。
 図5に示されるように、テンプレート画像552を特徴抽出装置100に入力して得られた特徴ベクトルと、複数の対象画像554の各々を特徴抽出装置100に入力して得られた各々の特徴ベクトルとの一致度(スコア)をベクトルの内積として算出する。このスコアが高い画像ほど、テンプレート画像552と、より類似した画像であると判断する。
 テンプレート画像552と、複数の対象画像554は任意の画像でよいが、今回は、1つの画像(ここでは、稲の画像)550を複数のブロックに分割した後、そのうちの1ブロックに対応する画像をテンプレート画像552として、それ以外のブロックに対応する画像を複数の対象画像554として使用する。
 図6は、本実施の形態に係る特徴抽出装置100が備える3層型マッチングネットワークの構成を示すブロック図である。
 なお、各構成要素のうち、図2に示された2層型のマッチングネットワークと同一のものには同一の符号をつけ、詳細な説明は省略する。
 第1層309に属する第1層ニューロン301~303には、対象データであるテンプレート画像552を画素単位で分割して得られる各入力データの画素値(例えば、0~255の整数)がそれぞれ入力される。よって後述するように、第1層ニューロンはテンプレート画像552の画素数分が必要となる。第1層ニューロン301~303は、それぞれ、マッチングルールに従って、入力された画素値を第2層へ出力する。
 第2層319に属する第2層ニューロン311~313は、自身に入力された入力値を合計し、合計値を比較部352へ出力する。また、比較部352から比較結果を取得し、比較結果に応じた出力値を、マッチングルールに従って第3層へ出力する。
 第3層329に属する第3層ニューロン321~323は、自身に入力された入力値を合計し、合計値を比較部354へ出力する。また、比較部354から比較結果を取得し、比較結果に応じた特徴量を出力する。
 発現遺伝子割当部350は、各ニューロンでの演算に先立ち、第1層ニューロン、第2層ニューロン及び第3層ニューロンの各々に対して、事前に定められた遺伝子レパートリーの中から、1個以上の遺伝子をランダムに選択し、それぞれに割り当て、そのニューロンの発現遺伝子とする。
 比較部352は、第2層319に属する第2層ニューロンの各々、入力値の合計を取得し、集計する。さらに、事前に定められた活動化の基準に従い、集計結果に基づいて、活動化命令を出力するニューロンを選択する。
 同様に、比較部354は、第3層329に属する第3層ニューロンの各々から、入力値の合計を取得し、集計する。また、事前に定められた活動化の基準に従い、集計結果に基づいて、活動化命令を出力するニューロンを選択する。
 ここで、類似画像を検索する際には、各画像に含まれる画素の共通性を特徴量に集約する必要がある。よって、第2層ニューロンの各々及び第3層ニューロンの各々は、それぞれ、直前の層からの入力値の論理積(AND)を出力する必要がある。
 従って、比較部352及び比較部354が使用する活動化の基準として、後述するように、「入力値の合計が上位10%以内のニューロンであるか?」という基準を採用し、上位10%以内のニューロンに対して、活動化命令を出力する。
 図7は、本実施の形態に係る特徴抽出装置100の処理の流れを示すフローチャートである。
 まず、特徴抽出装置100は、演算部であるマッチングネットワークを生成する(S202)。マッチングネットワークの生成方法については、後述する。
 次に、特徴抽出装置100は、生成したマッチングネットワークに対象データを入力する(S204)。対象データとは、例えば、テンプレート画像552及び複数の対象画像554の各々である。前述の通り、第1層309に属するニューロンの各々に、対象データを画素単位で分割して得られる入力データの画素値が対応付けて入力される。詳細は後述する。
 次に、第1層309に属するニューロンの各々は、前述のマッチングルールに従って、入力された画素値を第1信号値として第2層に出力する(S206)。
 次に、第2層319に属するニューロンの各々は、取得した第1信号値の合計値を算出し、その値を比較部352へ出力する。比較部352は、第2層319に属するニューロンのうち比較結果に基づいて選択されたニューロンに活動化命令を出力する(S208)。なお、比較部352が行う比較処理の詳細については、後述する。
 次に、第2層319に属するニューロンのうち、活動化命令を受けたニューロンは1を、それ以外のニューロンは0を、それぞれ第3層に属するニューロンへ第2信号値として出力する(S210)。ここでも、出力先はマッチングルールに従って決定される。
 次に、第3層329に属するニューロンの各々は、第2層から取得した第2信号値の合計値を算出し、その値を比較部354へ出力する。比較部354は、第3層329に属するニューロンのうち、比較結果に基づいて選択されたニューロンに活動化命令を出力する(S212)。
 次に、第3層329に属するニューロンのうち、活動化命令を受けたニューロンは1を、非活動化命令を受けたニューロンは0を、それぞれ特徴量として出力する(S214)。
 こうして第3層329に属する各ニューロンから出力された特徴量を、例えば左から順に並べたものを特徴ベクトルとすることで、対象データの類似度算出等、後続の処理が可能となる。
 なお、特徴量から特徴ベクトルを求める方法は、これに限られず、ニューロンの並び順を決定し、その順序で各ニューロンから出力された特徴量を並べることで求められる。ニューロンの並び順の決定方法としては、例えば、第3層329に属する各ニューロンに識別子をつけ、識別子を昇順あるいは降順にソートする方法が考えられる。さらに、ソート結果を1次元に並べる以外に、2次元以上の多次元ベクトルとして並べることも考えられる。
 以上、特徴抽出装置100が対象データから特徴量を抽出する際の全体の処理について述べた。次に、各処理の詳細について説明する。
 図8は、本実施の形態に係る特徴抽出装置100を構成するマッチングネットワークを行列の形式で作成する処理の一例を示すフローチャートである。具体的には、図7のステップS202に相当する。
 まず、発現遺伝子割当部350は、乱数を使用して発現行列を生成する(S222)。
 発現行列とは、マッチングネットワークを構成する全てのニューロンについて、どのニューロンにどの遺伝子が割り当てられているかを示す行列である。
 図9Aを参照して、発現行列560は、発現行列の一例を示す。発現行列の各行は、ニューロンの識別子であるニューロン番号に対応する。また、発現行列の各列は、遺伝子レパートリーに含まれる遺伝子の遺伝子番号に相当する。なお、発現遺伝子は、番号に限らずとも、例えば記号や、ビット列など、任意の情報形式で表現されうる。
 発現行列のセルの値が「1」であることは、対応するニューロン番号をもつニューロンに、対応する遺伝子番号の遺伝子が割り当てられていることを意味する。
 例えば、発現行列560の1行目をみると、遺伝子番号が2、4及び10のセルの値が1である。よって、ニューロン番号1のニューロンには、遺伝子番号が2、4、10の3つの遺伝子が割り当てられている。
 本実施の形態では、各ニューロンに対して、合計20個の相異なる遺伝子を含んだ遺伝子レパートリーの中から、3個の遺伝子をそれぞれ選択し、割り当てられるとする。つまり、各ニューロンは発現遺伝子を3個ずつ保持する。
 また、対象データを12ピクセル×12ピクセルの画像データとする。前述のとおり第1層に属する1ニューロンに1画素を割り当てるため、第1層のニューロン数は144ニューロンとなる。さらに、第2層を1000ニューロン、第3層を250ニューロンと定めた。総ニューロン数は、1394ニューロンとなる。
 発現行列は層ごとに作成するため、第1層の発現行列は144行20列、第2層の発現行列は1000行20列、第3層の発現行列は250行20列となる。
 発現遺伝子割当部350は、各行(ニューロン)に対して、発現遺伝子となる遺伝子番号として1~20までの相異なる乱数を3つ発生させ、発生した乱数と同一の遺伝子番号をもつセルに値「1」をセットする。それ以外のセルには、値「0」をセットする。
 この操作は、遺伝子番号1~20までの遺伝子を含む、遺伝子レパートリーの中から、3個の遺伝子を選択する処理に対応する。
 以上の乱数発生作業を、全ての行に対して行うことで、発現遺伝子割当部350は、各ニューロンに対して、遺伝子を3つずつランダムに割り当てる。
 次に、特徴抽出装置100は、生成された発現行列(マッチングルール)に従って、隣接する層間での結合関係(すなわち、信号経路)を示す、結合行列を生成する(S224)。
 3層のマッチングネットワークにおいて、結合行列は、第1層-第2層間結合行列と、第2層-第3層間結合行列の2つの行列から構成される。
 図9Bを参照し、結合行列562は、結合行列の一例を示す。結合行列の各列は、前層(例えば、第1層-第2層間結合行列であれば、第1層)に属するニューロンのニューロン番号を示す。また、結合行列の各行は、後層(例えば、第1層-第2層間結合行列であれば、第2層)に属するニューロンのニューロン番号を示す。
 よって、第1層-第2層間結合行列は、1000行144列の行列となり、第2層-第3層間結合行列は、250行1000列となる。
 また、セルの値が「1」であることは、対応する前層のニューロンから、対応する後層のニューロンに対して信号経路が形成されていることを示す。逆に、セルの値が「0」であることは、対応する前層のニューロンから、対応する後層のニューロンに対して信号経路が形成されていないことを示す。
 例えば、結合行列562において1行2列のセルの値が1である。これは、前層に属するニューロン番号8のニューロンから、後層に属するニューロン番号1のニューロンへ、信号経路が形成されていることを示す。
 特徴抽出装置100は、こうした結合行列を、先に生成した発現行列に基づいて生成する。
 すなわち、結合行列においてセルの値が1であることは、対応する前層と後層のニューロンには、同一の発現遺伝子が少なくとも1つ割り当てられていることを意味する。よって、例えば、発現行列の各列について、いずれかが前層に属し、他方が後層に属する2つのニューロンであって、両者のセルの値が1である組合せを全て検索し、検索された前層と後層の組合せに対応する結合行列のセルに値1をセットすることで、結合行列を生成できる。
 以後は、特徴抽出装置100は、こうして生成された結合行列を使用して処理を進める。
 図10は、本実施の形態に係る特徴抽出装置を構成するマッチングネットワークの第1層の処理を示すフローチャートである。具体的には、図7のステップS204及びステップS206に相当する。
 まず、特徴抽出装置100は、対象データを1つ取得する(S232)。対象データは、12画素×12画素のモノクロ画像であり、これを12行12列の行列として取得する。行列に含まれる144個の各要素は画素値に対応し、0から255までの値をとる。
 次に、特徴抽出装置100は、対象データを表現する12行12列の行列を変形し、144行1列の行列を生成する。これを画像行列と呼ぶ。
 次に、特徴抽出装置100は、ステップS224で生成した1000行144列の第1層-第2層間結合行列に対し、この画像行列を右から掛ける(S234)。その結果、1000行1列の行列が生成される。この行列に含まれる各列は、第2層に属する1000個のニューロンの各々が、マッチングルールに従って第1層のニューロンから受け取った入力の合計値を示す。
 以上の行列計算により、第1層に属するニューロンから第2層へ属するニューロンへのマッチングルールにしたがった信号の伝播を、計算機上で処理することができる。
 こうして計算された第2層に属する各ニューロンへの入力の合計値は、比較部352へ出力される。
 次に、比較部352が行う処理について、図11を参照して説明する。
 図11は、本実施の形態に係る比較部352が行う比較処理において用いられる活動化の基準を示す図である。これは、図7のステップS208において比較部352が行う比較処理に相当する。
 図11に示されるように、特徴抽出装置100は、比較部352が用いる活動化の基準を選択することにより、前層から後層への信号の伝播において、例えば、AND、OR、NAND、NOR及びXORの5つの論理演算のうちのいずれかを実行することができる。
 例えば、入力の合計値が上位10%以内であることを活動化の基準とした場合、この基準に該当するニューロンに比較部352は活動化命令を送る。その結果、合計値が上位10%以内のニューロンが活動化状態となり、1を出力する。一方、それ以外のニューロンは、非活動化状態のまま、0を出力する。その結果、より多くの前層に属するニューロンから正の入力を受けた後層が1を出力することになるため、これはAND演算に相当する。
 また、入力の合計値が上位70%以内であることを活動化の基準とした場合、この基準に該当するニューロンに比較部352は活動化命令を送る。その結果、合計値が70%以内のニューロンが活動か状態となり、1を出力する。一方、それ以外のニューロンは、非活動化状態のまま、0を出力する。その結果、前層は、AND演算と比較して少ないニューロンから正の入力を受けても後層が1を出力するため、OR演算に相当する。
 すなわち、前層の複数のニューロン出力の組み合わせが次層のニューロンが受ける入力の合計値を決定する。同様の考え方で、図11に示される5つの論理演算の処理が定義されるが、より詳細には、後述する。
 ここでは、複数の対象画像554からテンプレート画像552に類似する画像を検索することが目的であるので、比較部352、比較部354ともに、AND演算を行うための活動化の基準を使用し、入力画像に類似する画像の特徴量を算出することになる。
 以上、本実施の形態に係る特徴抽出装置100の処理の流れを説明した。これ以後、図7におけるステップS210のマッチングルールを用いた信号伝播は、ステップS206と同様である。また、ステップS212の比較部354による処理は、ステップS208の比較部352による処理と同様である。よって、詳細な説明は省略する。
 最終的に、ステップS214において、1つの対象データに対して、250個の「1」又は「0」からなる特徴ベクトルが、特徴抽出装置100から出力される。
 なお、こうして得られた特徴ベクトルから、類似画像を検索する手順は、先に図5に示したとおりである。すなわち、図5を参照して、テンプレート画像552及び複数の対象画像554の各々について、特徴抽出装置100を用いて特徴ベクトルを得た後、テンプレート画像552の特徴ベクトルと、複数の対象画像554の各々の特徴ベクトルとの一致度(例えば、内積)を算出する。
 得られた内積の値は類似度を示すスコアであり、内積の値が大きいほど、テンプレート画像552との類似度が高い画像であると判断できる。
 すなわち、本実施の形態に係る特徴抽出装置100は階層型ニューラルネットワークから構成されており、この階層型ニューラルネットワークは、第1層の演算部である複数の第1層ニューロン(301~303)と、第2層の演算部である第2層ニューロン(311~313)とを備え、複数の第1層ニューロン(301~303)及び第2層ニューロン(311~313)は、複数の第1層ニューロン(301~303)から第2層ニューロン(311~313)への信号の伝達可否を決定するための属性値である発現遺伝子をそれぞれ1以上有している。
 また、特徴抽出の対象である対象データを分割して得られる各入力データが入力された複数の第1層ニューロン(301~303)の各々は、入力データの値が大きいほど大きな値である第1信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第2層ニューロン(311~313)へ出力する。
 また、第2層ニューロン(311~313)の各々は、入力された第1信号値の総和に対応する値である第2信号値を対象データの特徴量として算出する。
 また、本実施の形態に係る特徴抽出装置100は、複数の第1層ニューロン(301~303)及び第2層ニューロン(311~313)の各々に対して、
 (i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の遺伝子を選択し、
 (ii)選択された遺伝子を発現遺伝子としてそれぞれ割り当てる
 発現遺伝子割当部350をさらに備えてもよい。この場合、複数の第1層ニューロン(301~303)の各々は、自身が有する発現遺伝子と同一の発現遺伝子を有する第2層ニューロン(311~313)にだけ、第1信号値を出力する。
 なお、発現遺伝子割当部350が、ニューロンの各々に対して発現遺伝子を割り当てる方法は、前述したようなランダムな選択以外の方法であってもよい。例えば、後述する図19又は図20に示されるような、既存の画像に対応する発現遺伝子を、事前に定められた発現遺伝子の組み合わせとして定義し、定義された発現遺伝子の組み合わせを、順にニューロンに割り当ててもよい。
 すなわち、発現遺伝子割当部350は、発現遺伝子として割り当てるべき遺伝子を、遺伝子レパートリーの中からランダムに選択してもよく、遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択してもよい。
 また、本実施の形態に係る特徴抽出装置100において、第2層ニューロン(311~313)の各々は、入力された第1信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を第2信号値として出力し、含まれない場合には、事前に定められた値とは異なる値を第2信号値として出力してもよい。
 また、本実施の形態に係る特徴抽出装置100は、複数の第2層ニューロン(311~313)のうち、第1信号値の総和について複数の第2層ニューロン(311~313)を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部352をさらに備えてもよい。この場合、複数の第2層ニューロン(311~313)のうち、(a)比較部352より活動化命令を取得したニューロンは事前に定められた値を第2信号値として出力し、(b)活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第2信号値として出力する。
 また、本実施の形態に係る特徴抽出装置100において、階層型ニューラルネットワークは、第3層の演算部として発現遺伝子を1以上有する複数の第3層ニューロン(321~323)をさらに備えてもよい。この場合、複数の第2層ニューロン(311~313)の各々は、第1信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する発現遺伝子と同一の発現遺伝子を有する第3層ニューロン(321~323)へ、第2信号値を出力し、複数の第3層ニューロン(321~323)の各々は、入力された第2信号値の総和に対応する値である第3信号値を対象データの特徴量として算出する。
 また、本実施の形態に係る特徴抽出装置100は、複数の第2層ニューロン(311~313)のうち、第1信号値の総和について複数の第2層ニューロン(311~313)を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第1比較部352と、複数の第3層ニューロン(321~323)のうち、第2信号値の総和について複数の第3層ニューロン(321~323)を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第2比較部354とを、さらに備えてもよい。
 この場合、複数の第2層ニューロン(311~313)のうち、(a)第1比較部352より活動化命令を取得したニューロンは事前に定められた値を第2信号値として出力し、(b)活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第2信号値として出力し、複数の第3層ニューロン(321~323)のうち、(a)第2比較部354より活動化命令を取得したニューロンは事前に定められた値を第3信号値として出力し、(b)活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第3信号値として出力する。
 また、本実施の形態に係る特徴抽出装置100は、複数の第1層ニューロン(301~303)、第2層ニューロン(311~313)及び第3層ニューロン(321~323)の各々に対して、(i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の遺伝子をそれぞれランダムに選択し、(ii)選択された遺伝子を発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部350と、第2層ニューロン(311~313)の各々について、ニューロンに入力された第1信号値の総和の第2層ニューロン(311~313)の中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該ニューロンに、活動化命令を出力する第1比較部352と、第3層ニューロン(321~323)の各々について、ニューロンに入力された第2信号値の総和の第3層ニューロン(321~323)の中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該ニューロンに、活動化命令を出力する第2比較部354とをさらに備えてもよい。
 この場合、第1層ニューロン(301~303)の各々は、特徴抽出の対象を第1層ニューロン(301~303)の数に対応付けて分割して得られる、各入力データの値を、分割に対応付けて取得し、当該入力データの値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第2層ニューロン(311~313)に第1信号値として出力する。
 また、第2層ニューロン(311~313)の各々は、第1比較部352より活動化命令を取得した場合には第2信号値として1を出力し、活動化命令を取得していない場合には第2信号値として0を出力する。
 また、第3層ニューロン(321~323)の各々は、第2比較部354より活動化命令を取得した場合には第3信号値として1を出力し、活動化命令を取得していない場合には第3信号値として0を出力する。
 以上述べた構成によると、発現遺伝子割当部350により、各ニューロンへ発現遺伝子がランダムに割り当てられる。この発現遺伝子の値とマッチングルールとを用いて、階層型ニューラルネットワークにおける隣接層間の結合状態(すなわち、マッチングネットワーク)が決定される。
 このマッチングネットワークは、隣接する層間の信号伝播に際して、比較部352及び比較部354が比較処理に用いる活動化の基準に対応して、AND、OR、NAND、NOR、XORの5つの論理演算のうちのいずれかを並列的に計算する機能を有する。
 「並列的に計算する」とは、例えば、第2層に属する各々のニューロンの出力値は、第1層に属する複数のニューロンから第2層に属する各々のニューロンへ入力された複数の値の論理演算値に相当し、この値を、第2層に属する各々のニューロンは並列的に出力することを意味する。すなわち、上記論理演算は、マッチングネットワークに入力された複数入力に対して並列的に実行される並列型論理演算である。よって、従来の2入力値に対する論理演算と区別するため、以後、AND演算を並列型AND演算と、OR演算を並列型OR演算と、NAND演算を並列型NAND演算と、NOR演算を並列型NOR演算と、XOR演算を並列型XOR演算と、それぞれ呼ぶことにする。
 こうして出力される特徴量の列は、対象データの特徴が抽出された特徴ベクトルとなる。
 その結果、従来の階層型ニューラルネットワークでは必須の教師信号を用いた学習プロセスを行わなくても、対象データの特徴量を得ることができる。その結果、得られた特徴量を並べた特徴ベクトルを用いて、類似度算出等の後続の処理を行うことができる。
 よって、教師信号として大量の正解データを準備する必要が無く、また、長時間に渡る学習時間も不要となる利点が生じる。
 さらに、学習が不要であるため、過学習により汎化性能が低下する可能性、及び、局所解に陥る可能性がなく、対象データの種類を問わず、安定した特徴抽出性能を発揮することができる。
 以上、マッチングネットワークを用いた特徴抽出装置100によって類似画像検索を行う処理について述べた。
 次に、実施の形態の変形例として、同一のマッチングネットワークを用いつつ、比較部が用いる活動化の基準を変更するだけで、非類似画像検索が可能となることを説明する。
 (変形例)
 図12は、実施の形態の変形例に係る特徴抽出装置100を用いて行う非類似画像の検索処理の概要図である。
 いま、図12に示されるように、複数の対象画像554の中から、テンプレート画像552に似ていない画像(非類似画像)を検索することを考える。
 なお、テンプレート画像552及び複数の対象画像554が、画像550を一定のブロックで分割したうちの各々であることは、前述の実施の形態の場合と同様である。
 また、本変形例における特徴抽出装置100の構成は、図6に示される実施の形態と同様であるため、詳細な説明は省略する。
 本変形例では、テンプレート画像552の特徴が抽出された特徴ベクトルを得るため、比較部352及び比較部354は、対象データがテンプレート画像552である場合には、並列型AND演算を行う。すなわち、比較部352及び比較部354は、上位10%以内のニューロンに活動化命令を送る。
 一方、複数の対象画像554に含まれる各画像については、これら各画像が有する特徴とは異なる特徴が抽出された特徴ベクトルを得るため、比較部352及び比較部354は並列型NOR演算を行う。すなわち、対象データが複数の対象画像554の各々である場合には、比較部352及び比較部354は、下位10%以内のニューロンに活動化命令を送る。
 最終的には、特徴抽出装置100により出力されたテンプレート画像552の特徴ベクトルと、複数の対象画像554の各々の特徴ベクトルとの内積を算出する。
 得られた内積の値は、非類似度を示すスコアであり、内積の値が大きいほど、テンプレート画像552との非類似度が高い画像であると判断できる。
 すなわち、本変形例に係る特徴抽出装置100は、複数の第1層ニューロン(301~303)、第2層ニューロン(311~313)及び第3層ニューロン(321~323)の各々に対して、(i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の遺伝子をそれぞれランダムに選択し、(ii)選択された遺伝子を発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部350と、第2層ニューロン(311~313)の各々について、ニューロンに入力された第1信号値の総和の第2層ニューロン(311~313)の中での順位を取得し、第2層ニューロンのうち、順位が事前に定められた閾値と同順位か、より下位であるニューロンに、活動化命令を出力する第1比較部352と、第3層ニューロン(321~323)の各々について、ニューロンに入力された第2信号値の総和の第3層ニューロン(321~323)の中での順位を取得し、第3層ニューロン(321~323)のうち、順位が事前に定められた閾値と同順位か、より下位であるニューロンに、活動化命令を出力する第2比較部354とをさらに備える。
 この場合、第1層ニューロン(301~303)の各々は、特徴抽出の対象を第1層ニューロン(301~303)の数に対応付けて分割して得られる各入力データの値を、分割に対応付けて取得し、当該入力データの値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第2層ニューロン(311~313)に第1信号値として出力する。
 また、第2層ニューロン(311~313)の各々は、第1比較部352より活動化命令を取得した場合には第2信号値として1を出力し、活動化命令を取得していない場合には、第2信号値として0を出力する。
 また、第3層ニューロン(321~323)の各々は、第2比較部354より活動化命令を取得した場合には第3信号値として1を出力し、活動化命令を取得していない場合には、第3信号値として0を出力する。
 この構成によると、第1層-第2層間の信号伝播及び、第2層-第3層間の信号伝播において、前層から伝播された入力値が相対的に小さいニューロンを選択的に活動化させることにより、対象データがもたない特徴を、特徴ベクトルとして出力することができる。
 図13は、本実施の形態及びその変形例に係る特徴抽出装置100を用いた、類似画像検索及び非類似画像検索の結果の一例を示す図である。
 図13に示される、検索結果570は、本実施の形態に係る特徴抽出装置100を用いて類似画像を検索した結果を示す。検索結果570に含まれる複数のブロックのうち、左上のブロックは、テンプレート画像552である。残り24個のブロックは、複数の対象画像554の中から検索された、類似度スコアが上位24位以内の対象画像である。
 また、性能比較のため、二乗誤差法により、テンプレート画像552の類似画像を複数の対象画像554から検索した結果を検索結果574に示す。二乗誤差法では、テンプレート画像552と、対象画像とで、対応する位置の画素ごとに画素値の差分の二乗値(二乗誤差)を算出する。その後、全画素についての二乗誤差の合計値を算出し、合計値が小さいほどテンプレート画像552に類似した画像であり、逆に、合計値が大きいほどテンプレート画像552と似ていない非類似画像であると判断する。
 検索結果570と検索結果574を比較すると、特徴抽出装置100を用いた場合の検索結果570は、二乗誤差法による検索結果574と比較しても、遜色なく良好な結果が得られている。
 この結果は、特徴抽出装置100が出力する特徴ベクトルにより、類似画像検索が可能であることを示す。
 また、検索結果572は、変形例に係る特徴抽出装置100を用いて非類似画像を検索した結果を示す。左上のブロックは、テンプレート画像552である。残り24個のブロックは、複数の対象画像554の中から検索された、非類似度スコアが上位24位以内の対象画像である。
 さらに、類似画像検索と同様に、性能比較のため、テンプレート画像552の非類似画像を複数の対象画像554から二乗誤差法により検索した結果を検索結果576に示す。
 検索結果572と検索結果576を比較すると、二乗誤差法による検索結果576では、テンプレート画像552の濃淡を逆にした画像が数多く検索されている。これに対し、特徴抽出装置100を用いた場合の検索結果572には、単にテンプレート画像552の濃淡を逆にした画像だけではなく、テンプレート画像552と異なる多様な画像が含まれていることがわかる。すなわち、特徴抽出装置100は、単純な「画素値の逆」ではなく、「テンプレート画像552が持たない特徴」をうまく特徴ベクトルとして抽出できていると考えられる。
 非類似画像の多様性をもつ検索結果572の方が、一般に、人が考える「テンプレート画像552と非類似の画像」のイメージに近い検索結果に近い。
 この結果は、変形例に係る特徴抽出装置100が出力する特徴ベクトルにより、非類似画像検索が可能であることを示す。
 以上述べたように、マッチングネットワークの構成を変えることなく、比較部が比較処理に用いる活動化の基準を選択することで、マッチングネットワークが行う並列論理演算の種類を選択することができる。その結果、同一の特徴抽出装置100を用いて、対象データの特徴を抽出すること、及び、対象データの特徴とは異なる特徴を抽出することが可能となる。
 また、論理演算の種類によりマッチングネットワークの構成を変える必要はないため、処理内容の変更による行列の再生成処理等は不要であり、比較部が用いる活動化の基準を変更するだけでよく、処理の効率化が可能となる。
 なお、実施の形態及び変形例に係る特徴抽出装置100で特徴抽出が可能な対象データは、画像データに限るものではない。例えば、波形データ、数値化されたトランザクションデータ、その他センシングデータなど、離散化された数値により構成されるデータであれば、任意のデータを入力とすることができる。
 なお、実施の形態及び変形例に係る特徴抽出装置100が備える中間層及び出力層の出力は、「0」及び「1」の2値以外であってもよい。例えば、3層からなるマッチングネットワークで構成される特徴抽出装置100であれば、中間層である第2層及び出力層である第3層に属するニューロンの各々は、入力された信号値の総和を出力してもよい。または、中間層である第2層及び出力層である第3層に属するニューロンのうち、活動化命令を受けたニューロンのみが、入力された第2信号値の総和を出力してもよい。また、中間層である第2層及び出力層である第3層に属するニューロンの各々は、入力された信号値の総和が事前に定められた閾値以下であれば、任意の定数Aを出力し、それでなければA以外の定数Bを出力してもよい。
 すなわち、中間層及び出力層に属するニューロンの各々は、入力された信号値の総和に対応する値を出力する演算部であればよい。
 また、第1層(入力層)は、入力データの値をそのまま出力するのではなく、たとえば、0又は1に二値化して出力してもよい。具体的には、事前に閾値を定め、この閾値以上であれば1を、閾値未満であれば0を出力するとしてもよい。つまり、入力層に属するニューロンの各々は、入力データの値が大きいほど大きな値である第1信号値を出力する演算部であればよい。
 なお、実施の形態及び変形例に係る比較部352及び比較部354は、基準を満たさないニューロンを非活動化状態にするための非活動化命令を出力してもよい。例えば、各ニューロンは、活動化命令を受けて活動化状態となり、非活動化命令を受けて非活動化状態に戻ってもよい。または、特徴抽出装置100が、新しい対象データを取得する度に、すべてのニューロンに非活動化命令を出力し、非活動化状態へ初期化してもよい。さらに、活動化したニューロンは、時間の経過と共に、徐々に非活動化状態へと遷移してもよい。この場合、非活動化状態へ遷移するに従い、ニューロンの出力値を小さくすることが考えられる。
 なお、実施の形態及び変形例に係る中間層及び出力層に属するニューロンのうち、非活動化状態にあるニューロンは、「0」を出力しなくてもよい。すなわち、中間層及び出力層に属するニューロンのうち、活動化状態にあるニューロンは「1」を出力し、それ以外のニューロンは何もしない、としてもよい。この場合、例えば、ニューロンの出力を取得するメモリ領域として、各ニューロンの出力に対応するビット列を事前に確保し、かつ各ビットを事前に「0」に初期化しておくことで、非活動化状態にあるニューロンが「0」を出力した場合と同様のビット列を特徴ベクトルとして得ることができる。
 なお、実施の形態及び変形例に係る特徴抽出装置100は、比較部を備えなくてもよい。例えば、各ニューロンは、同一層内での相対的な順位ではなく、入力の合計値を絶対値による基準(すなわち、事前に定められた閾値)と比較することで、その出力を選択してもよい。また、比較部を備えなくても、同一層内に属する各ニューロンが相互に自身の入力の合計値を送受信しあうことで、入力の合計値の相対的な順位を取得してもよい。
 なお、実施の形態及び変形例に係る発現遺伝子割当部350が使用する乱数は、乱数発生器等を用いて発生させる乱数の他、計算処理により発生させる、いわゆる疑似乱数であってもよい。前述のとおり、遺伝子レパートリーに含まれる遺伝子の数は、高々100程度と少ない。よって、生成が容易である反面、周期性をもつ疑似乱数であっても、十分使用に耐える。
 なお、実施の形態及びその変形例に係る特徴抽出装置100は、結合行列の生成において、前層と後層で1つ以上同一の発現遺伝子があれば、信号経路を形成した。しかし、例えば、前層と後層で2つ以上の同一の発現遺伝子がある場合にのみ信号経路を形成してもよい。または、前層と後層で同一の発現遺伝子が2つ以上ある場合には、一致した発現遺伝子の数に応じた重みを、その信号経路を介して出力される信号値に乗じてもよい。
 なお、実施の形態及び変形例に係る比較部352及び比較部354が用いる活動化の基準は、相異なっていてもよい。例えば、第1層-第2層間の信号伝播において比較部352は並列型AND演算を実行し、第2層-第3層間の信号伝播において比較部354は並列型NOR演算を実行してもよい。より一般化して、マッチングネットワークが4層以上で構成される場合においても、各層で使用する活動化の基準は、相異なっていてもよい。
 なお、実施の形態及び変形例に係る比較部352及び比較部354が活動化の基準で用いる数値は、具体例である。よって、大小関係を維持していれば、これ以外の数値を使用することも可能である。
 なお、実施の形態及びその変形例に係る特徴抽出装置100では、すべての層で同一の遺伝子レパートリーを使用した。しかし、発現遺伝子割当部350は、層ごとに異なる遺伝子レパートリーを使用して、ニューロンに発現遺伝子を割り当ててもよい。
 なお、実施の形態及び変形例に係る特徴抽出装置100は、比較部を第2層と第3層に1つずつ備えているが、これは論理的に各層に対応する比較部を想定できることを示したに過ぎない。よって、特徴抽出装置100全体で1つの比較部を備え、この比較部が全ての層について比較処理を行ってもよい。
 なお、特徴ベクトルの類似判定は、内積でなくともよい。一般に、2つの特徴ベクトルの一致度合いを抽出する処理であればよい。例えば、2つの特徴ベクトルの差の二乗和であってもよい。また、単純に特徴ベクトルに含まれる要素のうち一致する個数を算出してもよい。
 なお、上記実施の形態及び変形例に係る特徴抽出装置100を構成する階層型ニューラルネットワークでは、信号は隣接する層間で、前層から後層へ一方向にのみ伝搬されるものとして説明したが、必ずしもこれに限られるものではない。必要に応じて、後層から前層へ信号を伝播してもよく、また、同一層内で他のニューロンに対して信号を伝播させてもよい。
 また、上記実施の形態及び変形例においては、特徴抽出装置を構成するニューラルネットワークは、階層構造を有する階層型ネットワークであることを前提として説明した。しかし、必ずしも階層構造を有していなくてもよい。例えば、相互結合型のホップフィールド型ネットワークであってもよい。本発明の本質は、マッチングルールによりニューロン間で信号を伝達することにあるからである。
 したがって、特徴抽出装置は、ニューラルネットワークから構成される特徴抽出装置であって、ニューラルネットワークは、演算部である複数のニューロンを備え、複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ1以上有しており、複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第1のニューロンは、当該入力データの値が大きいほど大きな値である第1信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第2のニューロンへ出力し、第2のニューロンは、入力された第1信号値の総和に対応する値である第2信号値を対象データの特徴量として算出するとしてもよい。
 なお、従来の人工ニューラルネットワークは、別々に学習を行った複数のネットワークを結合しても、情報処理能力を統合することはできない。これに対し、マッチングネットワークは、独立に生成されたネットワークであっても、マッチングルールに従ってお互いに結線させることにより拡張することができ、かつ、個々のネットワークにより処理された情報を統合することができる。具体的には、図12を参照して、テンプレート画像552を処理する、第2層のマッチングネットワーク(並列型AND処理を実施)と、複数の対象画像554を処理する、第2層のマッチングネットワーク(並列型NOR処理を実施)とが、それぞれ独立に生成されたネットワークであってもよい。より具体的には、ニューロンに割り当てられる発現遺伝子が、並列型AND処理を行うマッチングネットワークと、並列型NOR処理を行うマッチングネットワークとで異なっていてもよい。ただし、その際には、特徴抽出の対象データを分割して得られる各入力データに割り当てられる発現遺伝子(具体的には、発現遺伝子の番号)は、共通でなければならないため、入力層(第1層)は、共通であることが必要である。
 なお、図11に示される5つの並列型論理演算は、マッチングネットワークで行う演算処理の一例であり、例えば、「上位10%以内のニューロンは2を出力し、上位50%以内のニューロンから、上位10%以内のニューロンを除いたニューロンは1を出力し、上位80%以内のニューロンから上位50%以内のニューロンを除いたニューロンは0を出力し、残りのニューロンは-1を出力する」等のルールに従って出力してもよい。
 なお、マッチングネットワークは、学習過程なしに特徴抽出が可能ではあるが、例えば、結合行列を重み行列とみなし、学習によりその値の変更を行ってもよい。
 なお、上記マッチングネットワークを用いて特徴抽出が可能な理由を考察すると、マッチングルールにより生成されたマッチングネットワークは、グラフ理論でいうスモールワールド性を有するためであると考えられる。以下、その詳細を述べる。
 上記マッチングルールの着想は、本願発明者らが発見した細胞接着分子群であるクラスター型プロトカドヘリン(cPcdh)において、約60種のサブタイプが遺伝子クラスターを構成し、これらのサブタイプが神経細胞においてランダムな組合せで発現していることから得ている。
 この発見から、脳における情報処理が、同一のプロトカドヘリン分子種(実施の形態における、発現遺伝子)を発現している細胞間を連結する複数のネットワークの同時並行処理により行われているという仮説を立て、この仮説に基づくマッチングネットワークを有する、特徴抽出装置を発明した。
 このマッチングネットワークは、グラフ理論でいう以下の特徴を有することがシミュレーションにより明らかである。
 (1)短い頂点間距離
 そのネットワークに属する任意の2つのノードが、少数の中間ノードを介して接続されていれば、そのネットワークは短い頂点間距離をもつという。すなわち、任意のノード間の平均距離が小さいことを意味する。
 (2)高いクラスター性
 あるノードと接続されている他の2つのノードが、やはり相互に接続されている可能性が高ければ、そのネットワークのクラスター性は高いという。すなわち、3つのノードからなる三角形のネットワークが多数含まれていることを意味する。
 前述のマッチングネットワークは、頂点間距離が短い代表的なネットワークであるランダムネットワークとほぼ同じ頂点間距離でありながら、ランダムネットワークより遙かに高いクラスター性をもつ。
 高いクラスター性は、特徴抽出における組合せ抽出処理に好適である。例えば、ニューロンの数が少ない入力層と、ニューロンの数が多い中間層をつなぐマッチングネットワークは、入力層に入力された入力データの値を中間層のニューロンへ広く拡散させることができる。一方、ニューロンの数が多い中間層と、ニューロンの数が少ない出力層をつなぐマッチングネットワークは、拡散させた中間層のニューロンからの出力を、出力層へ集約することで特徴量とすることができる。したがって、有効な組合せを検出できる。
 また、短い頂点間距離は、多数のクラスター同士が独立しておらず、相互に接続されていることを意味する。よって、対象データの特徴は、中間層及び出力層への伝播において、偏り無く組合せを抽出し、特徴量の多様性をうむ。特に、中間層の数が多い場合に、その効果は顕著になると考えられる。その結果、例えば、図13に示した非類似画像検索の結果に示されるように、テンプレート画像552と比較し「多様な観点で異なる」画像の特徴ベクトルを出力することが可能となると考えられる。
 なお、グラフ理論の分野における、いわゆる「スケールフリー性」についても、各ニューロンに割り当てる発現遺伝子の数にばらつきを与えることにより、調整することが可能である。
 以上述べたように、実施の形態及び変形例に係る特徴抽出装置100は、スモールワールド性という特異な性質を有するマッチングネットワークを計算機上で生成し、これを用いた特徴抽出装置を実現するものである。
 また、マッチングネットワークの性質として、層の数を増やした場合においても、1層に入力された情報の特性が維持されやすいという特徴がある。
 図14は、マッチングネットワーク(MN)及びランダムネットワーク(random)のそれぞれにおいて、階層の数と情報の維持との関係を示す図である。縦軸は、個々のニューロンが持っている反応特性の顕著さを示す。この値が高いほど、個々のニューロンが1層に提示された画像の特徴によって異なる反応を返していることを意味する。これは、ニューロンごとに好みの画像があることを意味している。横軸は、階層の数を示す。
 図14に示されるように、ランダムネットワークにおいては、階層の数を増やすに従い、ニューロンは反応の特性を失う。このことは、あるニューロンが活動したからといって、どのような画像が提示されたのか、わからなくなってしまったことを意味する。一方、マッチングネットワークにおいては、階層の数を増やしても、ニューロンの反応特性はさほど低下しておらず、1層に提示された画像がどのような画像であったかの情報を維持していると言える。
 このことは、マッチングネットワークにおいては、情報は後述の遺伝子コードによって表現されていることにより可能になっている。これにより、異なる層の異なるニューロン同士を、階層間で容易に結合することができるという利点が生まれる。これは、マルチモーダルな情報処理を実現する上で、大きな利点となる。
 このように、層を重ねても情報が失われにくいという特性は、以下の利点が考えられる。
 まず、情報処理において、後続の層からの出力を再度前の層に戻した場合に性能が低下しにくいという利点が挙げられる。情報処理においては、例えば、ある層による処理結果を、しばらく保存しておき、後で使用したい場合がある。この場合、後で使用したい情報を、必要になるまで層の間で伝播させ続けておくことにより、半導体メモリ等を備えることなく、情報の一時的な記憶が実現できる。これにより、情報処理装置の小型化、低コスト化、省エネ化等が実現できる。さらに、情報処理装置にとって、ガーベージコレクション等、メモリ領域の管理を行う必要がなくなる。
 また、マッチングネットワークにおいては、異なるニューロンコード(すなわち、活動したニューロンの番号)同士を、階層間で容易に結合できる。このマッチングネットワークの性質から、以下の利点が生じる。
 まず、マッチングネットワークによると、多様な論理回路を容易に形成できる。例えば、図11に示すように、個々の層は論理素子を形成している。より詳細には、個々の層は、並列型論理素子といえる。これに加えて、マッチングネットワークは、図14に示すように高い情報保持能力を有する。
 個々の論理素子は単純な機能しか持ち得ないが、これを何段か直列・並列に組み合わせることにより、複雑な論理回路を形成させることができる。具体的には、一般的なデジタル論理回路と同様に、単純なAND,NAND回路などを組み合わせることにより、比較器など複雑な回路を構成できる。このことが可能になるには、素子間で情報が安定して伝達されることが前提となる。これを保証しているのが、図14に示されるマッチングネットワークの情報保持能力である。
 すなわち、階層型マッチングネットワークでは各層が並列型論理素子であり、これを組み上げることにより多様な論理回路を形成できるという利点を有する。
 また、これは、マルチモーダルな情報処理を実現する上でも利点となる。
 より詳細には、作業ロボットの制御を例にとり説明する。再度図6を参照して、入力データA、入力データB、及び入力データCが、それぞれ作業ロボットの視覚、聴覚、触覚に相当するセンサにより出力されたデータであるとする。
 ロボットが正しく作業を行うためには、人間と同様に、視覚、聴覚、触覚など、複数のセンサにより出力されたそれぞれのデータを統合して、環境を認識する必要がある。したがって、例えば、第2層ニューロン311に、第1層ニューロン301と第1層ニューロン302とから入力があり、第2層ニューロン312に、第1層ニューロン302と第1層ニューロン303とから入力があり、第2層ニューロン313に、第1層ニューロン303と第1層ニューロン301とから入力がある場合、第2層のいずれのニューロンも、入力データA~入力データCの3つを取得していない。したがって、第2層までに含まれるいずれのニューロンも、センサから出力されたすべての情報を統合した処理を行うことはできない。しかし、第3層において、例えば第3層ニューロン321に対して、第2層ニューロン311と第2層ニューロン312とからの入力がある場合、第3層ニューロン321は、入力データA~入力データCの3つ全てを参照して処理を行うことができる。このように、第3層(あるいは、第4層以降)を追加することにより、ニューロンが、センサから出力されたすべての情報に基づく処理を行いうる確率を増やすことができる。したがって、階層間の結合を増やすことが可能であるというマッチングネットワークの性質は、マルチモーダルな情報処理を実現する上で、不可欠な特性といえる。
 以上の説明においては、マッチングネットワークの性質を、ニューロンを中心に述べた。次に、遺伝子を中心に、マッチングネットワークの性質について以下に説明する。具体的には、活動したニューロンがもっている発現遺伝子に注目する。
 図15A~図15Cは、異なる3つの画像が有する特徴をマッチングネットワークにより抽出した結果を示す。より詳細には、図15Aの(a)は、図15Aの(b)に示される画像をマッチングネットワークに入力して得られたニューロンコード(活動したニューロンの番号)を示す。一方、図15Aの(c)は、図15Aの(b)に示される画像をマッチングネットワークに入力した際に活動した遺伝子の遺伝子コードをヒストグラムとして示したグラフである。すなわち、遺伝子コードとは、要素数が遺伝子レパートリー数となるベクトルで表される、発現遺伝子の度数分布を示す情報である。ここで、発現遺伝子の度数は、複数のニューロンのそれぞれについて、当該ニューロンが他のニューロンからマッチングルールに基づき入力された信号値の数が大きいほど、当該ニューロンが有する(すなわち、当該ニューロンに割り当てられた)発現遺伝子の度数がより大きくなるように決定される。これは、より多くの第1信号値を取得したニューロンが持つ発現遺伝子ほど、影響がより大きくなることを意味する。
 図15Bの(a)及び図15Cの(a)は、それぞれ、図15Bの(b)及び図15Cの(b)に示される画像をマッチングネットワークに入力して得られたニューロンコードを示す。また、図15Bの(c)及び図15Cの(c)は、それぞれ、図15Bの(b)及び図15Cの(b)に示される画像をマッチングネットワークに入力した際に活動した遺伝子の遺伝子コードをヒストグラムとして示したグラフである。
 すなわち、図15Aの(c)、図15Bの(c)、及び図15Cの(c)として示される遺伝子コードのヒストグラムはそれぞれ、図15Aの(b)、図15Bの(b)、及び図15Cの(b)として示される画像の特徴量とみなすことができる。
 このように、遺伝子コードを中心にマッチングネットワークを捉え直すと、マッチングネットワークが行う情報処理は、複数の、遺伝子コードのグループと、与えられたデータとの類似度を出力する処理であると考えることができる。
 より詳細には、マッチングネットワークの利点の1つは、図15A~図15Cに示すように、ニューロンコードと遺伝子コードの2種類の情報コード様式を持つことである。以下、図15A~図15Cを総称して、図15とよぶ。
 図15は、遺伝子レパートリーが50のマッチングネットワークでの例である。図15の(c)にあるように、遺伝子コードは、要素数が遺伝子レパートリー数となるベクトルで表現される。
 個々の層からの出力として直接見えるのは図15の(a)のようなニューロンの活動であるが、マッチングネットワークにおいては、これは図15の(c)の遺伝子コード(活動したニューロンが持つ遺伝子の合計)と等価である。
 図15の(a)のニューロンコードは、同一の画像であっても、層により、また使用するマッチングネットワークにより、異なる値を取る。言いかえれば、活動するニューロンの番号は、同一画像でも層により異なる。
 一方、図15の(c)の遺伝子コードは、層を経ても、また異なるマッチングネットワーク(ただし、遺伝子レパートリーは同一であるとする)でも、かなり近い値を取る。
 つまり、遺伝子コードこそ、その画像を表現する固有の値であると言える。
 実際、図28に示されるように、類似画像探索において、ニューロンコードを用いても、遺伝子コードを用いても、同様な成績を得ることができている。
 また、図12に示すように、マッチングネットワークは高い統合性を持つが、これは共通する遺伝子コードを伝達しているからである。マッチングネットワークは、ニューロンの活動を利用して、遺伝子コードという、個々の情報(ここでは画像)に固有の値を伝達しているのである。
 したがって、マッチングネットワークの個々の層は、遺伝子コードを変換する論理素子として考えることが可能である。
 図12及び図13に示した非類似画像探索においては、NOR素子により遺伝子コードを全く似ていないパターンに変換して、そのような遺伝子コードを持つ画像を探索しているのである。
 このように、マッチングネットワークは、単なるニューロンの活動(ニューロンコード)を、固有のベクトル(遺伝子コード)に変換する能力を持つ。
 また、遺伝子それぞれは、図18~20に示すような、特有のパターン(プロトタイプ)を表現している。
 したがって、遺伝子コードは、個々の画像がどのようなプロトタイプにどれほど似ているか、どのプロトタイプの組合せに近いのかを、明示的に表現するものである。
 逆に、遺伝子コードを恣意的に操作することにより、どのようなプロトタイプに近い情報を選択したいか、という逆の演算なども可能になる。
 このように、遺伝子コードは、このようなこれまでにない演算の可能性を持つ。
 すなわち、本発明に係る特徴抽出装置100は、第2のニューロンのそれぞれについて、当該第2のニューロンに入力された第1信号値の数が大きいほど、より大きくなるように、当該第2のニューロンが有する発現遺伝子の度数を決定し、決定された度数を複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、対象データの特徴として出力する特徴抽出装置であると言うこともできる。
 より具体的には、例えば、特徴抽出装置100は、第2のニューロンのそれぞれについて、当該第2のニューロンが有する各発現遺伝子の度数を、当該第2のニューロンに入力された第1信号値の数として決定してもよい。例えば、あるニューロンが、2、4、7の番号で表される3つの発現遺伝子を有しており、このニューロンに他のニューロンから10個の信号値を入力された場合、このニューロンが有する発現遺伝子である、2、4、7の度数は、それぞれ10として決定される。この値をすべての第2ニューロンについて合計し、遺伝子ごとの度数分布とする。
 また、特徴抽出装置100は、第2のニューロンのそれぞれについて、当該第2のニューロンに入力された第1信号値の数が所定の閾値以上であるか否かを判定し、所定の閾値以上である第2のニューロンが有する発現遺伝子を複数の発現遺伝子のそれぞれごとに合計した度数として、遺伝子コードを決定してもよい。
 以下、図16~図18を参照して、より詳細に説明する。
 図16は、144個の第1層のニューロンそれぞれに含まれる遺伝子コードを、12区画×12区画のマトリクス状に並べた図である。1番目の区画には、8と36と43が含まれている。これは、144個の第1層のニューロンのうち、1番目のニューロンが有する遺伝子コードが、8と36と43で有ることを示す。
 図17Aは、図16において、遺伝子コード「1」が含まれる区画にのみ「1」を記載し、他の区画を空白として表した図である。図17Aに示される144個の区画のうち、左上の区画が第1層のニューロンのうち1番目のニューロンに対応し、右下の区画が第1層のニューロンのうち144番目のニューロンに対応する。
 同様に、図17Bは、図16において、遺伝子コード「2」が含まれる区画にのみ「2」を記載し、他の区画を空白として表した図である。また、図17Cは、図16において、遺伝子コード「3」が含まれる区画にのみ「3」を記載し、他の区画を空白として表した図である。
 このように、遺伝子コードが1~50まである場合、1~50の遺伝子コードごとに当該遺伝子コードが含まれない区間を空白として表した画像を作成すると、合計50枚の画像が作成される。さらに、得られた50枚の画像のそれぞれについて、空白以外の(すなわち、遺伝子コードが記載されている)区間を黒く塗りつぶしたものを、5区間×10区間のマトリクス状に並べたものを図18に示す。すなわち、図18は、あるマッチングネットワークの第1層における遺伝子コードのパターンの一覧を示す画像である。
 例えば、左上の区間610aは、144個のニューロンのうち、遺伝子コード「1」が含まれるニューロンを視覚化した画像である。また、右下の区間610bは、遺伝子コード「50」が含まれるニューロンを視覚化した画像である。以後、図18に示される各区間のように、特定の遺伝子コードが含まれるニューロンを視覚化した画像をプロトタイプ画像とよぶ。
 図18の画像を生成する際に使用したマッチングネットワークにおいては、各ニューロンへランダムに発現遺伝子を割り当てたため、各遺伝子コードを視覚化したプロトタイプ画像は、いずれもランダムな模様を示している。
 マッチングネットワークは、例えば、図18に示されるような50枚のプロトタイプ画像の組合せとして入力データを表現する場合において、プロトタイプ画像ごとの寄与度(重み)を算出する処理を行っていると考えることもできる。すなわち、マッチングネットワークが行う特徴抽出処理とは、入力データをうまく表現可能なように、既定された複数のプロトタイプ画像の組み合わせを決定する処理であるといえる。
 したがって、遺伝子コードはランダムに決定しなくてもよい。すなわち、発現遺伝子割当部350は、各ニューロンに対してランダムに発現遺伝子を割り当てなくてもよい。
 例えば、図19は、任意に選択した50個の画像に2値化処理を施した画像である。発明者の実験によると、こうして他の画像を2値化することによってプロトタイプ画像を生成し、これらのプロトタイプ画像に対応する発現遺伝子を各ニューロンに割り当てたマッチングネットワークによっても、精度良く、類似画像探索を行うことができた。
 さらには、図20に示されるような、人工的な模様をプロトタイプ画像として使用することもできる。
 以上述べた、既定のパターンの組合せとして、新たな入力を表現するマッチングネットワークの機能は、例えばマーケティングにおいてユーザの嗜好を対象としたデータマイニング等においても利用できる。以下、お茶の新商品開発の場面を想定して、具体的に説明する。
 (ステップS1)
 まず、既存の50種類のお茶を144人の評価者に飲んでもらい、各自に好きなお茶を5種類ずつあげてもらったとする。ここで、評価者には1~144の番号をつけておく。また、お茶には、1~50の番号をつけておく。
 図21Aは、144人のそれぞれが好きなお茶としてあげたお茶の番号を示す。たとえば一番左の列は、1番の評価者が、2番、5番、21番、46番、及び49番のお茶を好きなお茶としてあげたことを示す。また、一番右の列は、144番の評価者が、6番、22番、35番、41番、及び44番のお茶を好きなお茶としてあげたことを示す。
 (ステップS2)
 次に、同じ144人の評価者に、新商品として開発中である新しいお茶を飲んでもらい、新しいお茶が気に入ったか否かを聞く。その後、新しいお茶を気に入ったと答えた人が、ステップS1において好きだと答えた既存のお茶の番号を集計し、ヒストグラムを作成する。
 例えば、1番の評価者が新しいお茶を好きだと答えた場合、2番、5番、21番、46番、及び49番のお茶の度数それぞれに1が加算される。また、2番の評価者も新しいお茶が好きだと答えた場合、6番、12番、33番、34番、及び50番のお茶の度数それぞれに1が加算される。
 図21Bは、このようにして作成された、「新しいお茶が気に入った人が好きな、既存のお茶の番号」についてのヒストグラムを示す。
 図21Bを参照すると、新しいお茶は、36番、50番などのお茶が好きな人に好まれていることがわかる。一方、20番、21番等のお茶が好きな人には好まれてない傾向があることが予想される。
 遺伝子コードを中心に考えると、マッチングネットワークも、図21Bに示されるようなヒストグラムの類似度で、類比を判断していると考えられる。
 以下、より具体的に説明する。
 例えば、図22は、マッチングネットワークの第1層630に、図21Aに示された、144人の評価者の嗜好データが入力された様子を示す。すなわち、第1層630に含まれるニューロンの各々を示す各列には、各列に対応する評価者が好きだと答えたお茶の番号が含まれている。なお、評価者が144人とすると、第1層630の列の数は144となるが、ここでは説明のため、列の数を省略して記載している。
 図22において、第1層630と第2層632とは、「好まれたお茶の番号が1つでも一致したニューロン間に結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより層間の結合を生成することにより、例えば、より多くの人に好まれるお茶をマッチングネットワークにより抽出することができる。以後、図22に示されるニューロン間の結合の種別を、第1結合タイプとよぶ。
 また、マッチングルールとして、その他のルールを適用することも考えられる。
 例えば、図23においては、第1層634と第2層636とは、「お茶の番号が3つ以上一致したニューロン間にのみ結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより生成される層間の結合によれば、個人が共通してもっているお茶の嗜好を抽出することができる。例えば、第1層634と第2層636との間に生成された結合から、14番のお茶、22番のお茶、37番のお茶のうち、いずれかを好む人は、他のお茶も好む傾向にあることが予想される。以後、図23に示されるニューロン間の結合の種別を、第2結合タイプとよぶ。
 さらに、図24においては、第1層638と第2層640とは、「一致したお茶の番号の数だけ、ニューロン間に結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより生成される層間の結合は、前述した2つのマッチングルールの中間的な性質を有している。すなわち、多くの人が好むお茶の番号間に結合が生成される一方で、そのお茶を好む人の嗜好が共通するお茶同士には、より多くの(すなわち、重みの大きな)結合が生成される。以後、図24に示されるニューロン間の結合の種別を、第3結合タイプとよぶ。
 また、1つのマッチングネットワーク内で、異なる結合タイプを組み合わせて使用することもできる。
 例えば、図25に示されるマッチングネットワークにおいては、第1層642と第2層644との間の結合タイプを、第1結合タイプとし、第1層642と第2層646との間の結合タイプを、第2結合タイプとしている。さらに、第2層644及び第2層646のそれぞれと、第3層648との間の結合タイプを、第3結合タイプとしている。
 その結果、第2層644では、144人の評価者のうち、多くの人に好まれたお茶を抽出できる。また、第2層646では、144人の評価者のうち、一部の人に共通して好まれるお茶の組み合わせを抽出できる。そして、第3層648では、あるお茶を好む人に共通して好まれるお茶であり、かつ、多くの人に好まれるお茶の組み合わせ(お茶のブレンド)を抽出できる。
 すなわち、複数の第1層ニューロンの各々は、(A)自身が有する発現遺伝子と、第2層ニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、信号を第2層ニューロンへ出力し、又は、(B)自身が有する発現遺伝子と、第2層ニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、信号を第2層ニューロンへ出力するとしてもよい。
 マッチングネットワークには、前述したように、層間の伝播によっても発現遺伝子の多様性が失われにくいという特性があるため、結合タイプを変更して層を追加しても、特徴抽出性能は劣化しにくい。
 以上述べたように、マッチングネットワークは、特徴抽出装置としての用途以外にも、未知のものをうまく近似可能な、既知のパターンの組み合わせを発見する装置としても利用できる。したがって、前述したようなマーケティングのためのデータマイニングに使用できる。
 また、マッチングネットワークは、例えばある画像に類似する画像、及び類似しない画像の両方の特徴をうまく抽出できる。したがって、動画像中の類似シーンをまとめるシーン抽出装置、防犯映像中の不審な移動体の自動検出装置等にも利用できる。
 なお、実施の形態で説明した特徴抽出装置100は、コンピュータにより実現することが可能である。図26を参照して、特徴抽出装置100は、コンピュータ34と、コンピュータ34に指示を与えるためのキーボード36及びマウス38と、コンピュータ34の演算結果等の情報を提示するためのディスプレイ32と、コンピュータ34で実行されるプログラムを読み取るためのCD-ROM(Compact Disc-ReadOnly Memory)装置40及び通信モデム(図示せず)とを含む。
 特徴抽出装置100が行う処理であるプログラムは、コンピュータで読取可能な媒体であるCD-ROM42に記憶され、CD-ROM装置40で読み取られる。又は、コンピュータネットワークを通じて通信モデム52で読み取られる。
 図27は、特徴抽出装置100を実現するコンピュータシステムのハードウェア構成を示すブロック図である。コンピュータ34は、CPU(Central Processing Unit)44と、ROM(Read Only Memory)46と、RAM(Random Access Memory)48と、ハードディスク50と、通信モデム52と、バス54とを含む。
 CPU44は、CD-ROM装置40又は通信モデム52を介して読み取られたプログラムを実行する。ROM46は、コンピュータ34の動作に必要なプログラムやデータを記憶する。RAM48は、プログラム実行時のパラメタなどのデータを記憶する。ハードディスク50は、プログラムやデータなどを記憶する。通信モデム52は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス54は、CPU44、ROM46、RAM48、ハードディスク50、通信モデム52、ディスプレイ32、キーボード36、マウス38及びCD-ROM装置40を相互に接続する。
 さらに、上記の特徴抽出装置100を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
 さらにまた、上記の特徴抽出装置100を構成する構成要素の一部又は全部は、脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 また、本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 さらに、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc(登録商標))、USBメモリ、SDカードなどのメモリカード、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
 また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。
 また、上記プログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を、上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 本発明は、特徴抽出装置に適用でき、特に人工ニューラルネットワークを用いた特徴抽出装置等に適用できる。
32 ディスプレイ
34 コンピュータ
36 キーボード
38 マウス
40 CD-ROM装置
42 CD-ROM
44 CPU
46 ROM
48 RAM
50 ハードディスク
52 通信モデム
54 バス
100 特徴抽出装置
102、106、110、550 画像
104、108、112 特徴ベクトル
201、202、203、204、205、251、252、253、254、255、256、257、258、259 ニューロン
301、302、303 第1層ニューロン
309、630、634、638、642 第1層
311、312、313 第2層ニューロン
319、632、636、640、644、646 第2層
321、322、323、648 第3層ニューロン
329 第3層
350 発現遺伝子割当部
352、354 比較部
552 テンプレート画像
554 対象画像
560 発現行列
562 結合行列
570、572、574、576 検索結果
610a、610b 区間

Claims (15)

  1.  ニューラルネットワークから構成される特徴抽出装置であって、
     前記ニューラルネットワークは、演算部である複数のニューロンを備え、
     前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ1以上有しており、
     前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第1のニューロンは、当該入力データの値が大きいほど大きな値である第1信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2のニューロンへ出力し、
     前記第2のニューロンは、入力された前記第1信号値の総和に対応する値である第2信号値を前記対象データの特徴量として算出する
     特徴抽出装置。
  2.  前記ニューラルネットワークは、複数の階層構造を有する階層型ニューラルネットワークであり、
     前記階層型ニューラルネットワークは、第1層の演算部である複数の第1層ニューロンと、第2層の演算部である第2層ニューロンとを備え、
     前記複数の第1層ニューロン及び前記第2層ニューロンは、前記複数の第1層ニューロンから前記第2層ニューロンへの信号の伝達可否を決定するための属性値である前記発現遺伝子をそれぞれ1以上有しており、
     前記対象データを分割して得られる各入力データが入力された前記複数の第1層ニューロンの各々は、当該入力データの値が大きいほど大きな前記第1信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンへ出力し、
     前記第2層ニューロンは、入力された前記第1信号値の総和に対応する前記第2信号値を前記対象データの特徴量として算出する
     請求項1に記載の特徴抽出装置。
  3.  前記複数の第1層ニューロン及び前記第2層ニューロンの各々に対して、
     (i)事前に定められた属性値を示す複数の遺伝子である遺伝子レパートリーの中から1以上の前記遺伝子を選択し、
     (ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
     発現遺伝子割当部をさらに備えており、
     前記複数の第1層ニューロンの各々は、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンにだけ、前記第1信号値を出力する
     請求項2に記載の特徴抽出装置。
  4.  前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーの中からランダムに選択する
     請求項3に記載の特徴抽出装置。
  5.  前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択する
     請求項3に記載の特徴抽出装置。
  6.  前記第2層ニューロンは、入力された前記第1信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を前記第2信号値として出力し、
     含まれない場合には、前記事前に定められた値とは異なる値を前記第2信号値として出力する
     請求項2~5のいずれか1項に記載の特徴抽出装置。
  7.  前記階層型ニューラルネットワークは、複数の前記第2層ニューロンを備え、
     前記特徴抽出装置は、前記複数の第2層ニューロンのうち、前記第1信号値の総和について前記複数の第2層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部をさらに備えており、
     前記複数の第2層ニューロンのうち、(a)前記比較部より前記活動化命令を取得したニューロンは事前に定められた値を前記第2信号値として出力し、(b)前記活動化命令を取得しないニューロンは前記事前に定められた値とは異なる値を前記第2信号値として出力する
     請求項2~5のいずれか1項に記載の特徴抽出装置。
  8.  前記複数のニューロンの各々は、
     (A)自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、前記第1信号値を前記他のニューロンへ出力し、又は、
     (B)自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、前記第1信号値を前記他のニューロンへ出力する
     請求項1に記載の特徴抽出装置。
  9.  前記階層型ニューラルネットワークは、第3層の演算部として前記発現遺伝子を1以上有する複数の第3層ニューロンをさらに備え、
     前記階層型ニューラルネットワークは、複数の前記第2層ニューロンを備えており、
     前記複数の第2層ニューロンの各々は、前記第1信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第3層ニューロンへ、前記第2信号値を出力し、
     前記複数の第3層ニューロンの各々は、入力された前記第2信号値の総和に対応する値である第3信号値を前記対象データの特徴量として算出する
     請求項2に記載の特徴抽出装置。
  10.  前記複数の第2層ニューロンのうち、前記第1信号値の総和について前記複数の第2層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第1比較部と、
     前記複数の第3層ニューロンのうち、前記第2信号値の総和について前記複数の第3層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、前記活動化命令を出力する第2比較部とを、さらに備えており、
     前記複数の第2層ニューロンのうち、(a)前記第1比較部より前記活動化命令を取得した第2層ニューロンは事前に定められた値を前記第2信号値として出力し、(b)前記活動化命令を取得しない第2層ニューロンは前記事前に定められた値とは異なる値を前記第2信号値として出力し、
     前記複数の第3層ニューロンのうち、(a)前記第2比較部より前記活動化命令を取得した第3層ニューロンは事前に定められた値を前記第3信号値として出力し、(b)前記活動化命令を取得しない第3層ニューロンは前記事前に定められた値とは異なる値を前記第3信号値として出力する
     請求項9に記載の特徴抽出装置。
  11.  前記複数の第1層ニューロン、前記複数の第2層ニューロン及び前記複数の第3層ニューロンの各々に対して、
     (i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の前記遺伝子を選択し、
     (ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
     発現遺伝子割当部と、
     前記複数の第2層ニューロンの各々について、当該第2層ニューロンに入力された前記第1信号値の総和の前記複数の第2層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第2層ニューロンに、活動化命令を出力する第1比較部と、
     前記複数の第3層ニューロンの各々について、当該第3層ニューロンに入力された前記第2信号値の総和の前記複数の第3層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第3層ニューロンに、活動化命令を出力する第2比較部とをさらに備えており、
     前記複数の第1層ニューロンの各々は、前記特徴抽出の対象を第1層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンに前記第1信号値として出力し、
     前記複数の第2層ニューロンの各々は、前記第1比較部より前記活動化命令を取得した場合には前記第2信号値として1を出力し、前記活動化命令を取得していない場合には前記第2信号値として0を出力し、
     前記複数の第3層ニューロンの各々は、前記第2比較部より前記活動化命令を取得した場合には前記第3信号値として1を出力し、前記活動化命令を取得していない場合には前記第3信号値として0を出力する
     請求項9に記載の特徴抽出装置。
  12.  前記複数の第1層ニューロン、前記複数の第2層ニューロン及び前記複数の第3層ニューロンの各々に対して、
     (i)事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から1以上の前記遺伝子をそれぞれランダムに選択し、
     (ii)選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
     発現遺伝子割当部と、
     前記複数の第2層ニューロンの各々について、当該第2層ニューロンに入力された前記第1信号値の総和の前記複数の第2層ニューロンの中での順位を取得し、前記複数の第2層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第2層ニューロンに、活動化命令を出力する第1比較部と、
     前記複数の第3層ニューロンの各々について、当該第3層ニューロンに入力された前記第2信号値の総和の、前記複数の第3層ニューロンの中での順位を取得し、前記複数の第3層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第3層ニューロンに、活動化命令を出力する第2比較部とをさらに備えており、
     前記複数の第1層ニューロンの各々は、前記特徴抽出の対象を第1層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2層ニューロンに前記第1信号値として出力し、
     前記複数の第2層ニューロンの各々は、前記第1比較部より前記活動化命令を取得した場合には前記第2信号値として1を出力し、前記活動化命令を取得していない場合には、前記第2信号値として0を出力し、
     前記複数の第3層ニューロンの各々は、前記第2比較部より前記活動化命令を取得した場合には前記第3信号値として1を出力し、前記活動化命令を取得していない場合には、前記第3信号値として0を出力する
     請求項9に記載の特徴抽出装置。
  13.  ニューラルネットワークを用いた特徴抽出方法であって、
     前記ニューラルネットワークは、演算部である複数のニューロンを備え、
     前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ1以上有しており、
     前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第1のニューロンにおいて、当該入力データの値が大きいほど大きな値である第1信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第2のニューロンへ出力する出力ステップと、
     前記第2のニューロンにおいて、入力された前記第1信号値の総和に対応する値である第2信号値を前記対象データの特徴量として算出する算出ステップとを含む
     特徴抽出方法。
  14.  請求項13に記載の特徴抽出方法をコンピュータに実行させる
     プログラム。
  15.  前記発現遺伝子は複数であり、
     前記第2のニューロンのそれぞれについて、当該第2のニューロンに入力された第1信号値の数が大きいほど、より大きくなるように、当該第2のニューロンが有する発現遺伝子の度数を決定し、
     決定された度数を前記複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、前記対象データの特徴として出力する
     請求項1に記載の特徴抽出装置。
PCT/JP2011/005807 2010-10-18 2011-10-18 特徴抽出装置、特徴抽出方法、及び、そのプログラム WO2012053188A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP11834034.8A EP2631872A4 (en) 2010-10-18 2011-10-18 CHARACTER EXTRACTION DEVICE, CHARACTER EXTRACTION METHOD AND PROGRAM THEREFOR
JP2012539596A JP5656202B2 (ja) 2010-10-18 2011-10-18 特徴抽出装置、特徴抽出方法、及び、そのプログラム
US13/880,189 US20130212053A1 (en) 2010-10-18 2011-10-18 Feature extraction device, feature extraction method and program for same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-234064 2010-10-18
JP2010234064 2010-10-18

Publications (1)

Publication Number Publication Date
WO2012053188A1 true WO2012053188A1 (ja) 2012-04-26

Family

ID=45974918

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/005807 WO2012053188A1 (ja) 2010-10-18 2011-10-18 特徴抽出装置、特徴抽出方法、及び、そのプログラム

Country Status (4)

Country Link
US (1) US20130212053A1 (ja)
EP (1) EP2631872A4 (ja)
JP (1) JP5656202B2 (ja)
WO (1) WO2012053188A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5376024B1 (ja) * 2012-08-23 2013-12-25 富士ゼロックス株式会社 画像処理装置、プログラム及び画像処理システム
JP2016018486A (ja) * 2014-07-10 2016-02-01 国立研究開発法人産業技術総合研究所 画像検索装置と画像検索プログラムと画像検索方法
WO2018207595A1 (ja) * 2017-05-08 2018-11-15 長谷川香料株式会社 イメージを色で表現する方法および色表現図
CN110378362A (zh) * 2019-04-22 2019-10-25 浙江师范大学 基于概念稳定特征及其差异化网络的概念学习方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US11423311B2 (en) * 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
JP2017009314A (ja) * 2015-06-17 2017-01-12 株式会社Screenホールディングス 教示データの作成支援方法、作成支援装置、プログラムおよびプログラム記録媒体
US20170249547A1 (en) * 2016-02-26 2017-08-31 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Holistic Extraction of Features from Neural Networks
CN108781265B (zh) 2016-03-30 2020-11-03 株式会社尼康 特征提取元件、特征提取系统及判定装置
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US11475274B2 (en) * 2017-04-21 2022-10-18 International Business Machines Corporation Parameter criticality-aware resilience
US11741362B2 (en) * 2018-05-08 2023-08-29 Microsoft Technology Licensing, Llc Training neural networks using mixed precision computations
CN109000887B (zh) * 2018-05-25 2021-04-23 京东方科技集团股份有限公司 一种图案检测装置及方法、图案化控制系统及方法
US11501140B2 (en) 2018-06-19 2022-11-15 International Business Machines Corporation Runtime reconfigurable neural network processor core
WO2022226034A1 (en) * 2021-04-21 2022-10-27 Northwestern University Hierarchical deep learning neural networks-artificial intelligence: an ai platform for scientific and materials systems innovation
CN113140012A (zh) * 2021-05-14 2021-07-20 北京字节跳动网络技术有限公司 图像处理方法、装置、介质及电子设备
CN113743459B (zh) * 2021-07-29 2024-04-02 深圳云天励飞技术股份有限公司 目标检测方法、装置、电子设备及存储介质
CN115391516B (zh) * 2022-10-31 2023-04-07 成都飞机工业(集团)有限责任公司 一种非结构化文档提取方法、装置、设备及介质
CN116416253B (zh) * 2023-06-12 2023-08-29 北京科技大学 一种基于亮暗通道先验景深估计的神经元提取方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051968A (ja) * 1999-08-05 2001-02-23 Fuji Xerox Co Ltd ニューラルネットワーク構築方法及びニューラルネットワーク処理装置
JP4478296B2 (ja) 2000-06-16 2010-06-09 キヤノン株式会社 パターン検出装置及び方法、画像入力装置及び方法、ニューラルネットワーク回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2690772A1 (fr) * 1992-04-29 1993-11-05 Philips Electronique Lab Processeur neuronal muni de moyens pour calculer une norme ou une distance.
FR2719384B1 (fr) * 1994-05-02 1996-05-24 Commissariat Energie Atomique Procédé de trajectographie d'objets et dispositif de mise en Óoeuvre de ce procédé.
US6078946A (en) * 1996-09-10 2000-06-20 First World Communications, Inc. System and method for management of connection oriented networks
EP2955662B1 (en) * 2003-07-18 2018-04-04 Canon Kabushiki Kaisha Image processing device, imaging device, image processing method
US7426501B2 (en) * 2003-07-18 2008-09-16 Knowntech, Llc Nanotechnology neural network methods and systems
EP1711919A1 (en) * 2004-01-26 2006-10-18 Koninklijke Philips Electronics N.V. Example-based diagnosis decision support
JP4730684B2 (ja) * 2004-03-16 2011-07-20 イマジニアリング株式会社 ユーザインターフェースが進化するデータベースシステムおよび当該データベースシステムを利用したWebブラウザ
US8542928B2 (en) * 2005-09-26 2013-09-24 Canon Kabushiki Kaisha Information processing apparatus and control method therefor
US7814758B2 (en) * 2006-04-03 2010-10-19 Computer Process Controls, Inc. Refrigeration system controller and method
US8103602B2 (en) * 2006-12-29 2012-01-24 Neurosciences Research Foundation, Inc. Solving the distal reward problem through linkage of STDP and dopamine signaling
US8047012B2 (en) * 2007-05-24 2011-11-01 Computer Process Controls, Inc. Refrigeration system and method using multiple variable capacity devices
US8250010B2 (en) * 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051968A (ja) * 1999-08-05 2001-02-23 Fuji Xerox Co Ltd ニューラルネットワーク構築方法及びニューラルネットワーク処理装置
JP4478296B2 (ja) 2000-06-16 2010-06-09 キヤノン株式会社 パターン検出装置及び方法、画像入力装置及び方法、ニューラルネットワーク回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2631872A4

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5376024B1 (ja) * 2012-08-23 2013-12-25 富士ゼロックス株式会社 画像処理装置、プログラム及び画像処理システム
WO2014030379A1 (ja) * 2012-08-23 2014-02-27 富士ゼロックス株式会社 画像処理装置、プログラム、画像処理方法及びコンピュータ読み取り媒体並びに画像処理システム
CN104487843A (zh) * 2012-08-23 2015-04-01 富士施乐株式会社 图像处理装置、程序、图像处理方法、计算机可读介质及图像处理系统
US9684958B2 (en) 2012-08-23 2017-06-20 Fuji Xerox Co., Ltd. Image processing device, program, image processing method, computer-readable medium, and image processing system
CN104487843B (zh) * 2012-08-23 2017-09-29 富士施乐株式会社 图像处理装置、程序、图像处理方法、计算机可读介质及图像处理系统
JP2016018486A (ja) * 2014-07-10 2016-02-01 国立研究開発法人産業技術総合研究所 画像検索装置と画像検索プログラムと画像検索方法
WO2018207595A1 (ja) * 2017-05-08 2018-11-15 長谷川香料株式会社 イメージを色で表現する方法および色表現図
CN110603577A (zh) * 2017-05-08 2019-12-20 长谷川香料株式会社 用颜色表现形象的方法和颜色表现图
JPWO2018207595A1 (ja) * 2017-05-08 2020-02-27 長谷川香料株式会社 イメージを色で表現する方法および色表現図
US11138766B2 (en) 2017-05-08 2021-10-05 T. Hasegawa Co., Ltd. Method for expressing image with colors and color expression drawing
CN110378362A (zh) * 2019-04-22 2019-10-25 浙江师范大学 基于概念稳定特征及其差异化网络的概念学习方法

Also Published As

Publication number Publication date
JP5656202B2 (ja) 2015-01-21
JPWO2012053188A1 (ja) 2014-02-24
EP2631872A4 (en) 2015-10-28
EP2631872A1 (en) 2013-08-28
US20130212053A1 (en) 2013-08-15

Similar Documents

Publication Publication Date Title
JP5656202B2 (ja) 特徴抽出装置、特徴抽出方法、及び、そのプログラム
Xie et al. Overlapping community detection in networks: The state-of-the-art and comparative study
CN105849747B (zh) 用于人脸图像识别的方法和系统
CN108647736B (zh) 一种基于感知损失和匹配注意力机制的图像分类方法
Qi et al. Optimal local community detection in social networks based on density drop of subgraphs
CN107077734A (zh) 决定方法以及程序
CN106599939A (zh) 一种基于区域卷积神经网络的实时目标检测方法
CN101097564A (zh) 参数学习方法及设备、模式识别方法及设备
JP5353443B2 (ja) データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム
CN103544506A (zh) 一种基于卷积神经网络的图像分类方法和装置
CN103679185A (zh) 卷积神经网络分类器系统、其训练方法、分类方法和用途
CN114817663B (zh) 一种基于类别感知图神经网络的服务建模与推荐方法
US8402027B1 (en) System and method for hybrid hierarchical segmentation
CN112199536A (zh) 一种基于跨模态的快速多标签图像分类方法和系统
CN110991532A (zh) 基于关系视觉注意机制的场景图产生方法
CN104715481A (zh) 基于随机森林的多尺度印刷品缺陷检测方法
CN102135981B (zh) 多层次分类方法
WO2021111540A1 (ja) 評価方法、評価プログラム、および情報処理装置
CN110222838A (zh) 深度神经网络及其训练方法、装置、电子设备及存储介质
Zhou et al. Multiview deep graph infomax to achieve unsupervised graph embedding
CN110443290A (zh) 一种基于大数据的产品竞争关系量化生成方法及装置
CN115146140A (zh) 一种基于融合影响力的群体推荐方法、装置
CN113591881A (zh) 基于模型融合的意图识别方法、装置、电子设备及介质
Alharbi et al. Demographic group prediction based on smart device user recognition gestures
Aminimehr et al. Entri: Ensemble learning with tri-level representations for explainable scene recognition

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11834034

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012539596

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2011834034

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13880189

Country of ref document: US

Ref document number: 2011834034

Country of ref document: EP