WO2016125476A1 - 決定方法およびプログラム - Google Patents

決定方法およびプログラム Download PDF

Info

Publication number
WO2016125476A1
WO2016125476A1 PCT/JP2016/000462 JP2016000462W WO2016125476A1 WO 2016125476 A1 WO2016125476 A1 WO 2016125476A1 JP 2016000462 W JP2016000462 W JP 2016000462W WO 2016125476 A1 WO2016125476 A1 WO 2016125476A1
Authority
WO
WIPO (PCT)
Prior art keywords
filters
filter
determination method
neural network
division
Prior art date
Application number
PCT/JP2016/000462
Other languages
English (en)
French (fr)
Inventor
ミン ヤン キム
ルカ リガッツィオ
宗太郎 築澤
和紀 小塚
Original Assignee
パナソニックIpマネジメント株式会社
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
Priority claimed from JP2016006580A external-priority patent/JP2016146174A/ja
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to CN201680002592.8A priority Critical patent/CN107077734B/zh
Priority to EP16746308.2A priority patent/EP3255606B1/en
Publication of WO2016125476A1 publication Critical patent/WO2016125476A1/ja
Priority to US15/485,250 priority patent/US10558885B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present disclosure relates to a determination method and a program, and more particularly to a determination method and a program for determining a structure of a convolutional neural network.
  • Deep Learning is known as a machine learning methodology using a multilayer neural network.
  • a convolutional neural network is used (see Non-Patent Document 1, for example).
  • the convolutional neural network is composed of a multilayer neural network that repeats convolution and pooling of a local region.
  • Non-Patent Document 1 proposes a structure of a neural network in which a plurality of convolution layers are sandwiched between pooling layers as a structure of a convolution neural network, and this structure improves image recognition performance. It is disclosed that it can be improved.
  • a determination method for determining a structure of a convolutional neural network, in which N pieces of weights learned using a learning image group ( N is a natural number of 1 or more) as an initial value, and at least one of the N filters is added with a filter subjected to conversion used in the image processing field. And a division step of increasing the number of filters to M filters larger than N (M is a natural number of 2 or more).
  • FIG. 1 is a block diagram illustrating an example of the configuration of the determination apparatus according to the embodiment.
  • FIG. 2A is a diagram for explaining an overview of the identification processing of the convolutional neural network.
  • FIG. 2B is a diagram for explaining the outline of the identification processing of the convolutional neural network.
  • FIG. 3 is a diagram for explaining the outline of the division processing performed by the determination apparatus shown in FIG.
  • FIG. 4 is a diagram illustrating an example of the dividing process performed by the dividing unit illustrated in FIG.
  • FIG. 5 is a diagram for explaining an overview of the integration process performed by the determination apparatus shown in FIG.
  • FIG. 6 is a diagram illustrating an example of integration processing performed by the integration unit illustrated in FIG. 1.
  • FIG. 7 is a flowchart illustrating an example of the determination process in the embodiment.
  • FIG. 8 is a flowchart showing an example of detailed processing in step S20 shown in FIG.
  • FIG. 9 is a flowchart showing an example of detailed processing in step S30 shown in FIG.
  • FIG. 10 is a diagram illustrating an example of details of the algorithm of the determination process of the determination device according to the first embodiment.
  • FIG. 11 is a diagram illustrating an example of a determination process performed by the determination apparatus according to the first embodiment.
  • FIG. 12A is a diagram for describing the effectiveness of the integration processing according to the first embodiment.
  • FIG. 12B is a diagram for explaining the effectiveness of the integration processing according to the first embodiment.
  • FIG. 12C is a diagram for explaining the effectiveness of the integration processing according to the first embodiment.
  • FIG. 12A is a diagram for describing the effectiveness of the integration processing according to the first embodiment.
  • FIG. 12B is a diagram for explaining the effectiveness of the integration processing according to the first embodiment.
  • FIG. 12C is a diagram for explaining the effectiveness of the integration processing according to the first embodiment
  • FIG. 12D is a diagram for describing the effectiveness of the integration processing according to the first embodiment.
  • FIG. 13 is a diagram illustrating identification performance values in each of a plurality of data sets in the second embodiment.
  • FIG. 14 is a diagram illustrating an example of a model structure using the MNIST data set.
  • FIG. 15 is a diagram illustrating an error rate when the division process or the integration process of the present disclosure is performed on the MNIST model structure.
  • FIG. 16 is a diagram illustrating an error rate when the division processing or the integration processing according to the present disclosure is performed on the GTSRB1 model structure.
  • FIG. 17 is a diagram illustrating an output value of an error function when the GTSRB1 model structure and the GTSRB1 model structure subjected to the division process or the integration process of the present disclosure are optimized.
  • FIG. 18 is a diagram illustrating an example of a model structure using the GTSRB data set.
  • FIG. 19 is a diagram illustrating an error rate when the division process or the integration process of the present disclosure is performed on the GTSRB-3DNN model structure.
  • FIG. 20 is a diagram illustrating an error rate when the division processing or the integration processing according to the present disclosure is performed on the CIFAR-10 model structure.
  • FIG. 21 is a diagram illustrating a comparison of identification calculation times when the integration processing of the present disclosure is performed.
  • DNN Deep Neural Network
  • parameter determination is usually started after the structure of the multilayer neural network is manually determined by experts in the field.
  • the structure of the multi-layer neural network occupies a considerable part in the above performance improvement, and is determined depending on repeated experiments by highly experienced experts.
  • Non-Patent Document 1 proposes a structure of a neural network in which a plurality of convolution layers are sandwiched by sandwiching a plurality of convolution layers between pooling layers as described above.
  • the structure is complicated and can be determined (designed) only by an expert.
  • the inventors e.g. have come up with a determination method and a program for determining the structure of a convolutional neural network simply (or automatically) while performing parameter determination.
  • the determination method is a determination method for determining the structure of a convolutional neural network, and N weights (N is a natural number equal to or greater than 1) in which weights are learned using a learning image group. ) Filter as an initial value, and at least one of the N filters, a filter subjected to conversion used in the field of image processing is added to obtain the N filters. A dividing step of increasing the number of filters to larger M (M is a natural number of 2 or more).
  • the division step includes a division evaluation step of evaluating the identification performance of the M filters by causing the M filters to learn weights using the learning image group, When the discrimination performance evaluated in the evaluation step is equal to or lower than the discrimination performance of the N filters, the division step may be performed again.
  • the M filters are clustered and a cluster-centered filter is selected, so that the M filters are reduced to L filters (L is a natural number of 1 or more) smaller than the M filters.
  • An integration step for integration may be included.
  • the M filters may be clustered into L clusters determined in advance using a k-means method.
  • the M filters may be clustered using an affinity affinity propagation method.
  • the transformation may include rotational transformation at a randomly determined angle
  • the division step may add a filter that has undergone the rotational transformation to at least one of the N filters.
  • the conversion includes addition of Gaussian noise having a standard deviation that is randomly determined, and in the division step, a filter having the Gaussian noise added is added to at least one of the N filters. You may do that.
  • the conversion includes a contrast conversion that converts the contrast ratio to be determined at random, and in the division step, a filter that has been subjected to the contrast conversion on at least one of the N filters. It may be added.
  • the conversion includes a scale conversion for converting to a scale determined at random.
  • a filter that has undergone the scale conversion is added to at least one of the N filters. You may do that.
  • FIG. 1 is a block diagram illustrating an example of the configuration of the determination apparatus 10 according to the present embodiment.
  • FIG. 2A and FIG. 2B are diagrams for explaining an outline of the identification processing of the convolutional neural network.
  • the determination device 10 is realized by a computer or the like.
  • CNN convolutional neural network
  • a convolutional neural network is often used in the field of image recognition, and extracts a feature amount from an image by performing convolution with a filter on a two-dimensional image.
  • the convolutional neural network is composed of a multilayer network that repeats convolution and pooling.
  • the coefficient of the filter effective for identification constituting the convolutional layer is learned using a large amount of data such as a large amount of learning images (learning image group).
  • the coefficient can be obtained by performing learning to acquire invariance to various deformations by repeating convolution using a filter and pooling that collects reactions in a certain region using a large amount of data. It has been found that the discrimination performance of the convolutional neural network depends on the filters constituting the convolutional layer.
  • a convolutional neural network composed of a two-layer network in which a learning image group is used as a large amount of data and a filter coefficient effective for image identification is learned. Yes. And the process which identifies the numerical image which shows 9 to such a convolution neural network is shown.
  • a ramp function ReLU is used as an activation function after convolution by a filter.
  • the filters constituting the convolution layer of the convolutional neural network are determined as the structure of the convolutional neural network.
  • a filter constituting at least one convolution layer is determined.
  • the determination apparatus 10 can determine the convolution neural network comprised by the convolution layer which has the determined filter.
  • the acquisition unit 11 acquires a plurality of filters as initial values or acquires a learning image.
  • the acquisition unit 11 acquires N (N is a natural number of 1 or more) filters whose weights have been learned using the learning image group as initial values.
  • the acquisition unit 11 may acquire a plurality of filters divided by the dividing unit 12 and a plurality of filters integrated by the integration unit 13 as initial values.
  • the acquisition unit 11 acquires a learning image group.
  • the learning image group is a data set of a plurality of images prepared in advance, such as an MNIST data set and a GTSRB data set.
  • FIG. 3 is a diagram for explaining an overview of the division process performed by the determination apparatus 10 illustrated in FIG. 1.
  • FIG. 4 is a diagram illustrating an example of the dividing process performed by the dividing unit 12 illustrated in FIG. Note that the plurality of filters illustrated in FIG. 3A correspond to the plurality of filters constituting one of the two convolution layers illustrated in FIG. 2B. Further, the pre-division filter shown in FIG. 4A corresponds to a plurality of filters shown in FIG.
  • the dividing unit 12 performs a dividing process on a plurality of filters acquired as initial values, such as N filters acquired by the acquiring unit 11. For example, the dividing unit 12 performs a dividing process on a plurality of filters (32 in the figure) as shown in FIG. 3A, and the number of filters (in the figure shown in FIG. 3B). 96).
  • the dividing unit 12 adds N filters that have undergone conversion used in the image processing field to at least one of the N filters as an initial value, thereby adding N filters.
  • a division process for increasing the number of filters to larger M (M is a natural number of 2 or more) is performed.
  • the dividing unit 12 when the identification performance of the M filters is higher than the identification performance of the N filters, the dividing unit 12 further performs at least one of the M filters in the image processing field. It is also possible to perform division processing for increasing the M filters to P filters larger than M (P is a natural number of 3 or more) by adding filters to which conversion is used. Further, such division processing may be repeated up to a specified number of times that is a predetermined number of times by a user using the determination device 10 or the like. The number of filters after the increase may be determined by the user who uses the determination device 10.
  • the division unit 12 may perform the division process on the N filters again.
  • the identification performance of a plurality of filters means the identification performance of a convolutional neural network having the plurality of filters. The same applies to the following.
  • the dividing unit 12 includes a random converting unit 121, a filter adding unit 122, and an identification performance evaluating unit 123.
  • the random conversion unit 121 performs conversion used in the image processing field on at least one of the plurality of filters acquired by the acquisition unit 11 as an initial value.
  • the filter adding unit 122 adds a filter subjected to conversion used in the image processing field by the random conversion unit 121 to a plurality of filters acquired by the acquisition unit 11 as initial values and stored in a memory (not illustrated). .
  • the conversion performed by the random conversion unit 121 may be performed by selecting from image conversions (conversion sets) known in the image processing field. For example, when the conversion performed by the random conversion unit 121 is a rotation conversion at a randomly determined angle, the random conversion unit 121 may perform the rotation conversion on at least one of the N filters. And the filter addition part 122 should just add the filter which the said random conversion part 121 performed the said rotation conversion.
  • the random conversion unit 121 applies the Gaussian noise to at least one of the N filters. Can be given. And the filter addition part 122 should just add the filter to which the random conversion part 121 gave the said Gaussian noise.
  • the random conversion unit 121 when the conversion performed by the random conversion unit 121 includes a contrast conversion that converts the contrast ratio to be determined at random, the random conversion unit 121 applies to at least one of the N filters. What is necessary is just to perform the said contrast conversion. And the filter addition part 122 should just add the filter which the said random conversion part 121 performed the said contrast conversion.
  • the random conversion unit 121 applies the change to at least one of the N filters. Scale conversion should be applied. And the filter addition part 122 should just add the filter which the said random conversion part 121 performed the said scale conversion.
  • the conversion is rotation conversion at a randomly determined angle, provision of Gaussian noise with a randomly determined standard deviation, contrast conversion for converting to a randomly determined contrast ratio, or randomly
  • the present invention is not limited to the case where scale conversion is performed so that the scale is determined.
  • contrast inversion conversion, isometric conversion, or the like may be included, and two or more combinations of these (conversion sets) may be included. If you select a rotation transformation at a randomly determined angle (random rotation transformation) and a randomly determined standard deviation Gaussian noise addition (random Gaussian noise addition) from the transformation set, the convolutional neural network A consistent improvement in identification performance can be expected.
  • an example of this case will be described with reference to FIG.
  • the pre-division filter shown in (a) of FIG. 4 is a plurality of filters that are initial values acquired by the acquisition unit 11, and the filter shown in (b) of FIG. 4 is one of the pre-division filters. It is a filter.
  • the random conversion unit 121 performs the rotation conversion (described as random rotation conversion in the drawing) and the Gaussian noise of the filter shown in FIG. Giving (denoting the addition of random Gaussian noise) and generating a rotation filter and a blurred filter.
  • the filter adding unit 122 temporarily adds the rotation filter and the blurred filter generated by the random conversion unit 121 to a plurality of filters that are initial values.
  • the identification performance evaluation unit 123 described later evaluates the identification performance of a filter in which a rotation filter and a blurred filter are added to a plurality of filters that are initial values. Then, when the identification performance of the plurality of filters that are the initial values is higher, as shown in FIG. 4E, a filter in which a rotation filter and a blurred filter are added to the plurality of filters that are the initial values Is used as a post-division filter, and the division processing of the division unit 12 is terminated.
  • the post-division filter shown in (e) of FIG. 4 corresponds to the filter shown in (b) of FIG.
  • the identification performance evaluation unit 123 uses the learning image group to cause the filter increased by the added filter to learn the weight and evaluate the identification performance of the increased filter. More specifically, the identification performance evaluation unit 123 uses the learning image group to cause the filter of the convolutional neural network having the filter increased by the added filter in the convolution layer to learn the weight, and to increase the filter Evaluate the discrimination performance of
  • the discriminating performance evaluation unit 123 divides the increased filter after dividing the increased filter when the discriminating performance of the increased filter evaluated is higher than the discriminating performance of the plurality of filters acquired by the acquisition unit 11 that is the initial value. Adopt as.
  • the identification performance evaluation unit 123 causes the random conversion unit 121 to perform initial initialization when the evaluated identification performance of the increased filter is equal to or less than the identification performance of the plurality of filters acquired by the acquisition unit 11 that is the initial value. The division process is performed again on the plurality of value filters.
  • the discrimination performance evaluation unit 123 uses the learning image group to learn the weights of, for example, M filters that have increased from N to M, thereby improving the discrimination performance of the M filters. evaluate.
  • the discrimination performance evaluation unit 123 employs the M filters as post-division filters when the discrimination performance of the evaluated M filters is higher than the discrimination performance of the N filters that are the initial values.
  • the discriminating performance evaluation unit 123 causes the random conversion unit 121 to receive The filter is divided again.
  • the dividing unit 12 has been described as performing the dividing process using the plurality of filters acquired by the acquiring unit 11 as initial values, but the present invention is not limited to this.
  • the division process may be performed again using the divided filter after the division process as an initial value, or the division process may be performed using the integrated filter output by the integration unit 13 as an initial value.
  • the identification performance evaluation unit 123 calculates the filter identification performance increased by the division process and the filter identification performance increased by the previous division process instead of the initial value. Compare.
  • FIG. 5 is a diagram for explaining an overview of the integration process performed by the determination apparatus 10 illustrated in FIG. 1.
  • FIG. 6 is a diagram illustrating an example of integration processing performed by the integration unit 13 illustrated in FIG.
  • a plurality of filters (pre-integration filters) shown in FIG. 6A correspond to a plurality of filters shown in FIG. 5A, and a plurality of filters shown in FIG.
  • the post-integration filter corresponds to a plurality of filters shown in FIG.
  • the integration unit 13 performs integration processing on a plurality of filters acquired as initial values, such as the N filters acquired by the acquisition unit 11 and the filters after the division processing. For example, the integration unit 13 performs integration processing on a plurality of filters (156 in the figure) as shown in FIG. 5A, and the number of filters (in the figure, FIG. 5B). To 32).
  • the integration unit 13 performs an integration process to reduce the number of the plurality of filters by clustering the divided filters that have been divided by the dividing unit 12 and selecting a cluster-centered filter. This is because overlearning can be prevented, and the recognition performance can be improved, for example, by reducing the error rate during identification and performing image recognition with higher accuracy.
  • the plurality of filters that the integration unit 13 performs the integration process is not limited to the post-division filter that has been subjected to the division process by the division unit 12, but may be a plurality of filters that are acquired by the acquisition unit 11 as initial values.
  • the integration unit 13 includes a clustering unit 131 and a filter selection unit 132.
  • the clustering unit 131 clusters the M filters that are the post-division filters subjected to the division processing by the division unit 12. As a result, the clustering unit 131 clusters the M filters into L clusters.
  • the clustering unit 131 may cluster the M filters into L clusters that are determined in advance using the k-means method, or the result of clustering the M filters using the affinity-propagation method. , It may be clustered into L clusters.
  • the k-means method uses a cluster average as a data distribution and classifies it into a given number K of clusters.
  • the affinity-propagation method is a clustering method recently proposed by Frey et al., And it is not necessary to determine the number of clusters in advance, and the algorithm automatically determines the number of clusters.
  • Affinityationpropagation method is a method of alternately updating and converging responsibility and availability, so there is no dependency on initial value, and clustering accuracy is better than existing clustering methods represented by k-means method etc. .
  • the clustering method using the k-means method or the affinity-propagation method is an existing clustering method, and thus detailed description thereof is omitted here.
  • the filter selection unit 132 selects a cluster-centered filter from the M filters clustered into L clusters by the clustering unit 131 and stored in a memory (not shown).
  • the filter selection unit 132 calculates the vector centroids of a plurality of filters belonging to each of the L clusters, and selects the filter closest to the vector centroid, thereby becoming the cluster centers of the L clusters. Select a filter.
  • the integration unit 13 integrates the M filters that are the post-division filters subjected to the division process in the division unit 12 into L filters (L is a natural number of 1 or more) smaller than the M filters.
  • the pre-integration filter shown in (a) of FIG. 6 is the division filter shown in (e) of FIG. 4 and is a post-division filter that has been subjected to division processing by the division unit 12.
  • FIG. 6B shows an example in which clustering is performed by determining the boundary line from the data distribution so that the predetermined number of clusters is obtained using the k-means method.
  • the clustering unit 131 uses the k-means method for the pre-integration filter shown in FIG. Clustering is performed so that a predetermined number of clusters is determined in advance. Then, as shown in FIG. 6C, the filter selection unit 132 selects a filter (denoted as filter a in the figure) that is closest to the cluster center of each of a predetermined number of clusters, and serves as an integrated filter. adopt.
  • the clustering unit 131 may cluster the N filters acquired by the acquisition unit 11 as initial values.
  • the filter selection unit 132 selects a cluster-centered filter for each cluster among N filters that are clustered by the clustering unit 131 and stored in a memory (not shown) or the like.
  • the integration unit 13 can integrate the N filters acquired by the acquisition unit 11 as initial values into a smaller number of filters.
  • the integration unit 13 may further include an identification performance evaluation unit that uses the learning image group to cause the post-integration filter to learn the weight and evaluate the identification performance of the post-integration filter.
  • an identification performance evaluation unit that uses the learning image group to cause the post-integration filter to learn the weight and evaluate the identification performance of the post-integration filter.
  • the integration process is performed again. If clustering is performed using the k-means method, the integration unit 13 changes the predetermined number of clusters and performs integration processing again. If the clustering is performed using the Affinity propagation method, the integration unit 13 The integration process may be performed again by changing parameters in the algorithm such as diagonal elements of the matrix.
  • the output unit 15 outputs the filter divided by the dividing unit 12 or the filter integrated by the integrating unit 13 as a filter constituting the convolutional neural network determined by the determining device 10.
  • the output unit 15 is not an essential component and may be a memory.
  • the filter divided by the dividing unit 12 or the filter integrated by the integrating unit 13 is stored as a filter constituting the convolutional neural network determined by the determining device 10.
  • FIG. 7 is a flowchart showing an example of the determination process in the present embodiment.
  • FIG. 8 is a flowchart showing an example of detailed processing in step S20 shown in FIG.
  • FIG. 9 is a flowchart showing an example of detailed processing in step S30 shown in FIG.
  • step S10 the determination apparatus 10 performs an acquisition process.
  • step S10 the weights of a plurality of filters constituting one or more convolution layers constituting the convolutional neural network are learned using the learning image group (S9).
  • the determination device 10 acquires, as an initial value, N (N is a natural number of 1 or more) filters constituting at least one convolution layer among a plurality of filters whose weights have been learned using the learning image group. (S11).
  • step S20 the determination apparatus 10 performs a division process.
  • the determination apparatus 10 evaluates the identification performance of the M filters by using the learning image group to learn the weights of the M filters, and exceeds the identification performance of the initial N filters. Is determined (S23).
  • step S23 when the identification performance of the M filters is equal to or lower than the identification performance of the N filters (No in S23) and is equal to or less than a predetermined number of times (specified number) (No in S24), Returning to S21, the division process is performed again. On the other hand, when the identification performance of the M filters is higher than the identification performance of the N filters (Yes in S24), the division process is terminated.
  • step S10 When the division process is repeated up to a predetermined number of times (a prescribed number), in step S10, a post-division filter, which is M filters that have been divided, is acquired as the initial value filter, and step S20 is performed again. Good.
  • step S30 the determination apparatus 10 performs integration processing.
  • the determination apparatus 10 clusters the M filters that have been divided in step S20, which is an initial value filter (S31).
  • the determination apparatus 10 clusters the M filters that have been divided in step S20 into L (L is a natural number greater than or equal to 1) clusters as a result.
  • the determination apparatus 10 selects a cluster-centered filter for each of the L clusters (S32). In this way, the determination apparatus 10 integrates M filters into L filters that are smaller than M.
  • step S20 and the integrating process in step S30 may be performed independently, or the integrating process in step S30 may be performed first, followed by the dividing process in step S20. Further, as described above, the integration process of step S30 may be performed after the division process of step S20 is repeated up to a predetermined number of times (specified number of times).
  • FIG. 10 is a diagram illustrating an example of details of the algorithm of the determination process of the determination device 10 according to the first embodiment.
  • the algorithm described by “// SPLIT” is an example of the above-described division processing algorithm
  • the algorithm described by “// SPLIT” is an example of the above-described division processing algorithm.
  • “ ⁇ 0 , ⁇ 1 , ⁇ 2 ” indicates the evaluation value of the discrimination performance
  • “Kernel” indicates a filter that constitutes at least one convolution layer of the convolution neural network.
  • FIG. 11 is a diagram illustrating an example of a determination process performed by the determination apparatus 10 according to the first embodiment. That is, in this embodiment, an example in which the integration process is performed first and then the division process is performed is shown.
  • the determination device 10 performs integration processing on 150 filters as initial values, reduces the number of filters to 32, and learns weights using a learning image group. In addition, the identification performance of 32 filters is evaluated.
  • clustering is performed using the k-means method as shown in FIG.
  • the determination device 10 performs a division process on the 32 filters whose weights are learned using the learning image group, increases the number of filters to 96, and uses the learning image group. After learning the weights, the identification performance of the 32 filters is evaluated.
  • the division processing of the present embodiment as shown in FIG. 10, rotation conversion at an angle determined at random and addition of Gaussian noise with a standard deviation determined at random are performed.
  • 12A to 12D are diagrams for explaining the effectiveness of the integration processing of the present embodiment.
  • FIG. 12A shows an example of a test image, and an image in which a sign displaying 120 is tilted by about 30 degrees is shown. Further, the test image shown in FIG. 12A is misclassified by a convolutional neural network having a filter as an initial value in which the weight is learned by the learning image.
  • FIG. 12B is a diagram showing the softmax probability of the test image shown in FIG. 12A.
  • the response value of the output of 43 classes of the convolutional neural network having the filter as the initial value is shown by the softmax probability.
  • the maximum value of output probability is output as a recognition result.
  • FIG. 12C is a diagram showing an example of the softmax probability of the test image shown in FIG. 12A classified by the convolutional neural network having the filter after the division processing shown in FIG. Thereby, when the convolutional neural network having the filter after the division processing classifies (identifies) the test image shown in FIG. 12A, the response value to the correct answer label is improved, and it is understood that the correct classification is performed without misclassification. .
  • FIG. 12D is a diagram showing an example of the softmax probability of the image shown in FIG. 12A classified by the convolutional neural network having 32 filters after the integration process shown in FIG.
  • the convolutional neural network having 32 filters after the integration process classifies (identifies) the test image shown in FIG. 12A
  • the response value in FIG. 12C is further improved, and it is correctly classified without misclassification. Recognize.
  • Example 2 Since the effectiveness of the division processing and the integration processing according to the present disclosure has been verified using a plurality of data sets including a learning image and a test image, the experimental result will be described as a second embodiment.
  • FIG. 13 is a diagram showing identification performance values when a plurality of data sets are used in the second embodiment.
  • FIG. 13 shows the value of discrimination performance when using the MNIST (Mixed National Institute of Standards and Technology database) data set, GTSRB (German Traffic Sign Recognition Benchmark) and CIFAR-10 (Canadian Institute for Advanced Research) data set ( Reference value) is shown.
  • MNIST Mated National Institute of Standards and Technology database
  • GTSRB German Traffic Sign Recognition Benchmark
  • CIFAR-10 Canadian Institute for Advanced Research
  • FIG. 14 is a diagram illustrating an example of a model structure (MNIST model structure) using the MNIST data set.
  • the MNIST data set is composed of 60,000 learning images and 10,000 test images of 28 ⁇ 28 size handwritten numerals.
  • the MNIST model structure is composed of a convolutional neural network composed of two layers of concatenation and two layers of convolution, and a pooling layer is provided after each convolution layer using the ReLU activation function.
  • FIG. 13 shows an error rate of 0.82% as an identification performance value (reference value) when a test image of the MNIST data set is identified by the MNIST model structure learned from the learning image of the MNIST data set. It is shown.
  • FIG. 15 is a diagram illustrating an error rate when the division process or the integration process of the present disclosure is performed on the MNIST model structure.
  • SPLIT [1] in FIG. 1 indicates that the first filter (ORIGINAL) is divided, and MERGE [4] is No.1. It shows that four filters SPLIT [1] are integrated.
  • 100 filters (ORIGINAL) constituting the first convolution layer among the two convolution layers of the MNIST model structure are divided to increase to 200 filters, and the weight is re-applied in the learning image.
  • An error rate of 0.58% when learning (SPLIT [1]) is shown.
  • the 200 filters (SPLIT [1]) subjected to the division processing are further integrated and reduced to 100 filters, and the error rate is 0 when the weight is re-learned with the learning image (MERGE [4]). .59% is shown.
  • the error rate when the division process or the integration process of the present disclosure is performed on the MNIST model structure is improved by almost 30% with respect to the error rate of the comparative example or the MNIST model structure.
  • the error rate is reduced by 0.01% by the integration processing after the division processing, the identification performance is almost maintained.
  • the GTSRB data set consists of 43 different classes of 39,209 learning images and 12,630 test images of standard German road signs. Note that the size of the image included in the GTSRB data set is not uniform from 15 ⁇ 15 pixels to 250 ⁇ 250 pixels, and if used as it is, the number of pixels included in one block at the time of learning fluctuates and affects recognition. To do. Therefore, in this embodiment, all the images of the GTSRB data set are resized to 48 ⁇ 48, and a preprocessing technique such as histogram smoothing or contrast normalization is applied.
  • the GTSRB data set to which the preprocessing technique is applied is referred to as a GTSRB data set.
  • the model structure (GTSRB1 model structure) using the GTSRB data set is a convolutional neural network composed of three convolution layers and two all connection layers.
  • FIG. 13 shows an error rate of 2.44% as an identification performance value (reference value) when the test image of the GTSRB data set is identified in the GTSRB1 model structure learned from the learning image of the GTSRB data set. It is shown.
  • FIG. 16 is a diagram illustrating an error rate when the division processing or integration processing of the present disclosure is performed on the GTSRB1 model structure.
  • “N” of 4N in FIG. 16 indicates that the filter is divided by Gaussian noise
  • “R” of 5R indicates that the filter is divided by rotational transformation.
  • MERGE [No. ], SPLIT [No. ] Is represented in the same manner as described above. It can be seen that in all experiments where the split or integration process of the present disclosure was performed on the GTSRB1 model structure, a fairly good performance was achieved, or a performance equivalent to a considerably smaller model size was achieved.
  • FIG. 17 is a diagram illustrating an output value of an error function when the GTSRB1 model structure and the GTSRB1 model structure subjected to the division process or the integration process of the present disclosure are optimized.
  • GTSRB1_original and GTSRB1_merge were compared in the case of the same number of parameters.
  • the GTSRB1 model structure is compared with the output value of the error function when the GTSRB1 model structure is learned (optimized) with the learning image of the GTSRB data set
  • the divided or integrated GTSRB1 model structure of the present disclosure is obtained. It can be seen that the output value of the error function when learning is performed with the learning image of the GTSRB data set is lower. That is, it can be seen that the structure of the convolutional neural network effective for image recognition can be easily determined by performing the dividing process or the integrating process of the present disclosure.
  • FIG. 18 is a diagram illustrating an example of a model structure (GTSRB-3DNN model structure) using the GTSRB data set.
  • the GTSRB-3DNN model structure is a convolutional neural network consisting of 3 convolutional layers and 2 fully connected layers, using different image sizes of 48x48 pixels, 38x48 pixels and 28x48 pixels as input. . Therefore, the GTSRB-3DNN model structure is a collective model structure as compared with the GTSRB-3DNN model structure, which is a simple model structure.
  • FIG. 13 shows an error rate of 1.24 as a discrimination performance value (reference value) when a test image of the GTSRB data set is discriminated from the GTSRB-3DNN model structure learned from the learning image of the GTSRB data set. %It is shown.
  • FIG. 19 is a diagram illustrating an error rate when the division process or the integration process of the present disclosure is performed on the GTSRB-3DNN model structure.
  • CIFAR-10 The CIFAR-10 data set consists of 50,000 learning images and 10,000 test images in 10 categories.
  • the model structure using the CIFAR-10 data set utilized a convolutional neural network composed of three convolutional layers disclosed in Non-Patent Document 1.
  • FIG. 13 shows an error as a discrimination performance value (reference value) when a CIFAR-10 model structure trained with a CIFAR-10 dataset learning image is used to identify a test image of the CIFAR-10 dataset. A rate of 10.4% is shown.
  • FIG. 20 is a diagram illustrating an error rate when the division processing or the integration processing according to the present disclosure is performed on the CIFAR-10 model structure.
  • Example 3 Since the effectiveness of the integration processing of the present disclosure has been verified from the viewpoint of identification calculation time, the experimental result will be described as a third embodiment.
  • FIG. 21 is a diagram showing a comparison of identification calculation times when the integration processing of the present disclosure is performed.
  • the first row shown in FIG. 21 shows the calculation time when 10 48 ⁇ 48 pixel images are identified using the GTSRB1 model structure (ORIGINAL) after learning with the learning image of the GTSRB data set. 8MS is shown.
  • the second or third line shown in FIG. 21 is obtained by performing integration processing once or twice on the GTSRB1 model structure and learning with the learning image of the GTSRB data set (MERGE [1] or MERGE Using [2]), the calculation time of 14.1 MS or 12.6 MS when ten 48 ⁇ 48 pixel images are identified is shown.
  • ten 48 ⁇ 48 pixel images are identified using the GTSRB-3DNN model structure (ORIGINAL) after learning with the learning image of the GTSRB data set.
  • a calculation time of 27.9 MS is shown.
  • the integration processing of the present disclosure is performed on the GTSRB-3DNN model structure and is learned using the learning image of the GTSRB data set (MERGE [4]).
  • a speed of 19.4 MS when 10 48 ⁇ 48 pixel images are identified is shown.
  • the structure of the convolutional neural network can be determined more simply (or automatically). More specifically, according to the determination device 10 and the determination method thereof in the present embodiment, the division processing and the integration processing are performed using, as an initial value, a filter constituting at least one convolutional layer of a convolutional neural network learned by deep learning. By repeating the above, the structure of the convolution neural network effective for image recognition can be determined easily or automatically.
  • the division process is a process of converting effective filters to increase the number of filters that are likely to be effective for image recognition
  • the integration process is a process of integrating redundant filters by clustering and leaving only effective filters.
  • the conversion used in the division process may be selected from image conversions (conversion sets) known in the image processing field. Since consistent improvement can be expected, rotation conversion at a randomly determined angle and provision of Gaussian noise with a standard deviation determined at random may be selected and used for conversion.
  • a clustering method used in the integration process a known clustering method such as a k-means method or an affinity-propagation method may be used.
  • the determination apparatus 10 etc. in this Embodiment demonstrated as performing a division
  • the determination device 10 or the like in the present embodiment performs a division process on a plurality of filters constituting at least one convolution layer. At least one of the determination processes may be performed. In addition, after performing at least one of the division process and the determination process on the plurality of filters constituting the one convolution layer, the division process is performed on the plurality of filters constituting the convolution layer different from the one convolution layer. And at least one of the determination processes may be performed. That is, the determination device 10 or the like in the present embodiment may perform at least one of the division process and the determination process on a part or all of the filter of the convolutional neural network as the initial value.
  • the determination method according to the present disclosure has been described in the embodiment, but the subject or the device that performs each process is not particularly limited. It may be processed by a processor or the like (described below) embedded in a specific device located locally. Further, it may be processed by a cloud server or the like arranged at a location different from the local device.
  • the above apparatus is specifically a computer system including a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is stored in the RAM or hard disk unit.
  • Each device achieves its functions by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
  • a part or all of the constituent elements constituting the above-described apparatus may be configured by one system LSI (Large Scale Integration).
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, ROM, 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.
  • a part or all of the constituent elements constituting the above-described device may be constituted by an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a 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 disclosure 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 disclosure provides a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD ( It may be recorded on a Blu-ray (registered trademark) Disc), a semiconductor memory, or the like.
  • 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 disclosure may be a computer system including a microprocessor and a memory, and the memory may store the computer program, and the microprocessor may operate 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 disclosure can be used for a determination apparatus and a determination method for determining a structure of a convolutional neural network effective for recognition, and in particular, a convolutional neural that can be executed even in an embedded system that is effective for image recognition and has less computational power than a personal computer system.
  • the present invention can be used for a determination apparatus and a determination method for determining a network structure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

畳み込みニューラルネットワークの構造を決定するための決定方法であって、学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する取得ステップ(S10)と、N個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで当該N個のフィルタをN個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割ステップ(S20)とを含む。

Description

決定方法およびプログラム
 本開示は、決定方法およびプログラムに関し、特に畳み込みニューラルネットワークの構造を決定する決定方法およびそのプログラムに関する。
 近年、Deep Learningを使用することにより、画像認識の性能が劇的に向上している。Deep Learningは、多層のニューラルネットワークを使った機械学習の方法論として知られ、このような多層ニューラルネットワークには、例えば畳み込みニューラルネットワークが用いられる(例えば非特許文献1参照)。ここで、畳み込みニューラルネットワークは、局所領域の畳み込み(Convolution)とプーリング(Pooling)とを繰り返す多層のニューラルネットワークからなる。非特許文献1では、畳み込みニューラルネットワークの構造として、プーリング層の間に複数の畳み込み層を挟み込むことにより畳み込み層を多層化したニューラルネットワークの構造が提案されており、この構造により画像認識の性能を向上させることができることが開示されている。
Min Lin, Qiang Chen, Shuicheng Yan,"Network In Network"
 上記課題を解決するために、本開示の一形態に係る決定方法は、畳み込みニューラルネットワークの構造を決定するための決定方法であって、学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する取得ステップと、前記N個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで前記N個のフィルタを前記N個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割ステップとを含む。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、畳み込みニューラルネットワークの構造をより簡便に決定することができる決定方法等を実現できる。
図1は、実施の形態の決定装置の構成の一例を示すブロック図である。 図2Aは、畳み込みニューラルネットワークの識別処理の概要について説明するための図である。 図2Bは、畳み込みニューラルネットワークの識別処理の概要について説明するための図である。 図3は、図1に示す決定装置が行う分割処理の概要を説明するための図である。 図4は、図1に示す分割部が行う分割処理の一例を示す図である。 図5は、図1に示す決定装置が行う統合処理の概要を説明するための図である。 図6は、図1に示す統合部が行う統合処理の一例を示す図である。 図7は、実施の形態における決定処理の一例を示すフローチャートである。 図8は、図7に示すステップS20の詳細処理の一例を示すフローチャートである。 図9は、図7に示すステップS30の詳細処理の一例を示すフローチャートである。 図10は、実施例1における決定装置の決定処理のアルゴリズムの詳細の一例を示す図である。 図11は、実施例1における決定装置の決定処理の一例を示す図である。 図12Aは、実施例1の統合処理の有効性について説明するための図である。 図12Bは、実施例1の統合処理の有効性について説明するための図である。 図12Cは、実施例1の統合処理の有効性について説明するための図である。 図12Dは、実施例1の統合処理の有効性について説明するための図である。 図13は、実施例2における複数のデータセットそれぞれにおける識別性能の値を示す図である。 図14は、MNISTデータセットを用いるモデル構造の一例を示す図である。 図15は、MNISTモデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。 図16は、GTSRB1モデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。 図17は、GTSRB1モデル構造と、本開示の分割処理または統合処理したGTSRB1モデル構造とを最適化したときの誤差関数の出力値を示す図である。 図18は、GTSRBデータセットを用いるモデル構造の一例を示す図である。 図19は、GTSRB―3DNNモデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。 図20は、CIFAR-10モデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。 図21は、本開示の統合処理を行った場合の識別計算時間の比較を示す図である。
 (発明の基礎となった知見)
 近年、DNN(Deep Neural Network)などの多層のニューラルネットワークは、画像認識のみならず音声認識や機械翻訳などの機械学習に用いることで、それらの性能を著しく向上させている。DNNは、理論的に実証されたモデリングおよび汎化能力により、それらの性能を向上させる成果を得ている。当該成果は、実質的には、パラメータ検出を高速に行う訓練アルゴリズムを改善することに加え、増加し続けるデータセットを改善すること、および、新規のコンピュータプラットフォームを強化することにより得ることができる。
 しかしながら、通常、多層のニューラルネットワークの構造がその分野の専門家により手動で決定された後に、パラメータ決定(いわゆる訓練)を開始する。そして、多層のニューラルネットワークの構造は上記の性能の向上においてかなりの部分を占めており、かなり経験を積んだ専門家による繰り返し実験に依存して決定される。
 例えば、非特許文献1では、上述したように、プーリング層の間に複数の畳み込み層を挟み込むことにより畳み込み層を多層化したニューラルネットワークの構造が提案されている。しかしながら、当該構造は、複雑であり、専門家のみ決定(設計)することができる構造である。
 つまり、専門家以外の者では、画像認識に有効な畳み込みニューラルネットワークの構造をうまく決定(設計)できないという問題がある。
 そこで、発明者(ら)は、パラメータ決定を行いながら畳み込みニューラルネットワークの構造を簡便に(または自動的に)決定する決定方法およびそのプログラムを想到した。
 すなわち、本開示の一形態に係る決定方法は、畳み込みニューラルネットワークの構造を決定するための決定方法であって、学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する取得ステップと、前記N個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで前記N個のフィルタを前記N個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割ステップとを含む。
 これにより、畳み込みニューラルネットワークの構造をより簡便に決定することができるので、専門家以外の者でも、画像認識に有効な畳み込みニューラルネットワークの構造を利用することができる。
 また、例えば、前記分割ステップでは、前記学習用画像群を用いて、前記M個のフィルタに重みを学習させることにより、前記M個のフィルタの識別性能を評価する分割評価ステップを含み、前記分割評価ステップにおいて評価された識別性能が、前記N個のフィルタの識別性能以下である場合には、前記分割ステップを再度行うとしてもよい。
 また、例えば、さらに、前記M個のフィルタをクラスタリングし、クラスタ中心のフィルタを選択することで、前記M個のフィルタを、前記M個より小さいL個(Lは1以上の自然数)のフィルタに統合する統合ステップを含むとしてもよい。
 また、例えば、前記統合ステップでは、前記M個のフィルタをk-means法を用いて予め定められたL個のクラスタにクラスタリングするとしてもよい。
 また、例えば、前記統合ステップでは、前記M個のフィルタをAffinity propagation法を用いてクラスタリングするとしてもよい。
 また、例えば、前記変換は、ランダムに決定される角度での回転変換を含み、前記分割ステップでは、前記N個のフィルタの少なくとも一に対して前記回転変換を施したフィルタを追加するとしてもよい。
 また、例えば、前記変換は、ランダムに決定される標準偏差のガウシアンノイズの付与を含み、前記分割ステップでは、前記N個のフィルタの少なくとも一に対して前記ガウシアンノイズの付与を施したフィルタを追加するとしてもよい。
 また、例えば、前記変換は、ランダムに決定されるコントラスト比となるように変換するコントラスト変換を含み、前記分割ステップでは、前記N個のフィルタの少なくとも一に対して前記コントラスト変換を施したフィルタを追加するとしてもよい。
 また、例えば、前記変換は、ランダムに決定されるスケールとなるように変換するスケール変換を含み、前記分割ステップでは、前記N個のフィルタの少なくとも一に対して前記スケール変換を施したフィルタを追加するとしてもよい。
 以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
 (実施の形態)
 以下では、図面を参照しながら、実施の形態における決定装置10の決定方法等の説明を行う。
 [決定装置10の構成]
 図1は、本実施の形態の決定装置10の構成の一例を示すブロック図である。図2Aおよび図2Bは、畳み込みニューラルネットワークの識別処理の概要について説明するための図である。
 図1に示す決定装置10は、取得部11と、分割部12と、統合部13と、出力部15とを備え、畳み込みニューラルネットワークの構造を決定する。決定装置10は、コンピュータ等で実現される。
 ここで、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)の一般的な処理について以下説明する。
 畳み込みニューラルネットワークは、画像認識分野でよく使われ、2次元画像に対してフィルタによる畳み込みを行うことで、画像から特徴量を抽出する。畳み込みニューラルネットワークは、上述したように、畳み込みとプーリングとを繰り返す多層ネットワークからなる。そして、畳み込みニューラルネットワークにおいて畳み込み層を構成する識別に有効なフィルタの係数を、大量の学習用画像(学習用画像群)などの大量のデータを用いて学習させる。当該係数は、大量のデータを用いて、フィルタによる畳み込みと、一定領域の反応をまとめるプーリングとを繰り返すことで多様な変形に対する不変性を獲得する学習を行うことにより得られる。なお、畳み込みニューラルネットワークの識別性能は、畳み込み層を構成するフィルタに依存することがわかっている。
 図2A及び図2Bに示す例では、大量のデータとして学習用画像群を用いて、画像識別に有効なフィルタの係数を学習された、2層のネットワークで構成される畳み込みニューラルネットワークが示されている。そして、このような畳み込みニューラルネットワークに、9を示す数字画像を識別させる処理が示されている。なお、図2A及び図2Bでは、フィルタによる畳み込みの後、活性化関数としてランプ関数(ReLU)が用いられている。
 本実施の形態の決定装置10では、畳み込みニューラルネットワークの構造として、畳み込みニューラルネットワークの畳み込み層を構成するフィルタを決定する。なる、畳み込み層が複数ある場合には、少なくとも一の畳み込み層を構成するフィルタを決定する。もちろん、すべての畳み込み層を構成するフィルタを決定してもよい。これにより、決定装置10は、決定したフィルタを有する畳み込み層で構成される畳み込みニューラルネットワークを決定することができる。
 [取得部11]
 取得部11は、初期値としての複数のフィルタを取得したり、学習用画像を取得したりする。
 より具体的には、取得部11は、学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する。なお、取得部11は、分割部12で分割処理された複数のフィルタや統合部13で統合処理された複数のフィルタを初期値として取得してもよい。
 また、取得部11は、学習用画像群を取得する。ここで、学習用画像群とは、例えばMNISTデータセットやGTSRBデータセットなど、予め用意された複数の画像のデータセットである。
 [分割部12]
 図3は、図1に示す決定装置10が行う分割処理の概要を説明するための図である。図4は、図1に示す分割部12が行う分割処理の一例を示す図である。なお、図3の(a)に示される複数のフィルタは、図2Bに示される2つの畳み込み層のうちの一方を構成する複数のフィルタに対応する。また、図4の(a)に示される分割前フィルタは、図3の(a)に示される複数のフィルタに対応する。
 分割部12は、取得部11が取得したN個のフィルタなど、初期値として取得された複数のフィルタに対して分割処理を行う。例えば分割部12は、図3の(a)に示されるような、複数のフィルタ(図では32個)に対して分割処理を行い、図3の(b)に示される数のフィルタ(図では96個)に増加させる。
 より具体的には、分割部12は、初期値としてのN個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで当該N個のフィルタをN個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割処理を行う。
 ここで、分割部12は、当該M個のフィルタの識別性能が、上記N個のフィルタの識別性能より上である場合に、さらに、当該M個のフィルタの少なくとも一に対して画像処理分野で用いられる変換を施したフィルタを追加することで当該M個のフィルタをM個より大きいP個(Pは3以上の自然数)のフィルタに増加させる分割処理を行うとしてもよい。また、このような分割処理を、決定装置10を利用するユーザ等が予め定めた回数である規定回数まで繰り返すとしてもよい。また、増加後のフィルタの数は、決定装置10を使用する使用者により決定されているとしてもよい。
 また、分割部12は、当該M個のフィルタの識別性能が、上記N個のフィルタの識別性能以下である場合には、上記のN個のフィルタに対する分割処理を再度行うとしてもよい。
 なお、上記において、複数のフィルタの識別性能とは、当該複数のフィルタを有する畳み込みニューラルネットワークの識別性能を意味する。以下も同様である。
 本実施の形態では、図1に示すように分割部12は、ランダム変換部121と、フィルタ追加部122と、識別性能評価部123と、を備える。
 ランダム変換部121は、初期値として取得部11により取得された複数のフィルタのうちの少なくとも一に対して、画像処理分野で用いられる変換を施す。フィルタ追加部122は、初期値として取得部11により取得され、不図示のメモリなどに保存された複数のフィルタに、ランダム変換部121で画像処理分野で用いられる変換を施されたフィルタを追加する。
 ここで、ランダム変換部121が施す変換は、画像処理分野で既知の画像変換(変換セット)から選択したもので行えばよい。例えば、ランダム変換部121の施す変換が、ランダムに決定される角度での回転変換である場合、ランダム変換部121は、上記N個のフィルタの少なくとも一に対して当該回転変換を施せばよい。そして、フィルタ追加部122は、ランダム変換部121で当該回転変換を施されたフィルタを追加すればよい。
 また、例えば、ランダム変換部121の施す変換が、ランダムに決定される標準偏差のガウシアンノイズの付与である場合、ランダム変換部121は、上記のN個のフィルタの少なくとも一に対して当該ガウシアンノイズの付与を施せばよい。そして、フィルタ追加部122は、ランダム変換部121で当該ガウシアンノイズの付与を施されたフィルタを追加すればよい。
 また、例えば、ランダム変換部121の施す変換が、ランダムに決定されるコントラスト比となるように変換するコントラスト変換を含む場合、ランダム変換部121は、上記のN個のフィルタの少なくとも一に対して当該コントラスト変換を施せばよい。そして、フィルタ追加部122は、ランダム変換部121で当該コントラスト変換を施されたフィルタを追加すればよい。
 また、例えば、ランダム変換部121の施す変換が、ランダムに決定されるスケールとなるように変換するスケール変換である場合、ランダム変換部121は、上記のN個のフィルタの少なくとも一に対して当該スケール変換を施せばよい。そして、フィルタ追加部122は、ランダム変換部121で当該スケール変換を施されたフィルタを追加すればよい。
 なお、当該変換は、ランダムに決定される角度での回転変換、ランダムに決定される標準偏差のガウシアンノイズの付与、ランダムに決定されるコントラスト比となるように変換するコントラスト変換、または、ランダムに決定されるスケールとなるように変換するスケール変換を含む場合に限らない。例えば、コントラスト反転変換や等長変換などでもよく、これら(変換セット)のうちの2以上の組み合わせを含むとしてもよい。変換セットのうち、ランダムに決定される角度での回転変換(ランダム回転変換)と、ランダムに決定される標準偏差のガウシアンノイズの付与(ランダムガウシアンノイズ付与)とを選択した場合、畳み込みニューラルネットワークの識別性能に一貫した改善が期待できる。以下この場合の例について図4を用いて説明する。
 図4の(a)に示される分割前フィルタは、取得部11が取得した初期値である複数のフィルタであり、図4の(b)に示されるフィルタは、分割前フィルタのうちの一のフィルタである。ランダム変換部121は、図4の(c)に示されるように、図4の(b)に示されるフィルタに対して、上記回転変換(図でランダム回転変換と記載)と、上記ガウシアンノイズの付与(ランダムガウシアンノイズ付与と記載)とを行い、回転フィルタとぼけたフィルタとを生成する。フィルタ追加部122は、図4の(d)に示されるように、ランダム変換部121で生成された回転フィルタとぼけたフィルタとを初期値である複数のフィルタに一時的に追加する。後述する識別性能評価部123は、初期値である複数のフィルタに回転フィルタとぼけたフィルタとが追加されたフィルタの識別性能を評価する。そして、初期値である複数のフィルタの識別性能より上である場合に、図4の(e)に示されるように、初期値である複数のフィルタに回転フィルタとぼけたフィルタとが追加されたフィルタを採用して分割後フィルタとし、分割部12の分割処理を終了する。なお、図4の(e)に示される分割後フィルタは、図3の(b)に示されたフィルタに対応する。
 識別性能評価部123は、学習用画像群を用いて、追加されたフィルタにより増加したフィルタに重みを学習させて、当該増加したフィルタの識別性能を評価する。より具体的には、識別性能評価部123は、学習用画像群を用いて、追加されたフィルタにより増加したフィルタを畳み込み層に有する畳み込みニューラルネットワークのフィルタに重みを学習させて、当該増加したフィルタの識別性能を評価する。
 識別性能評価部123は、評価した当該増加したフィルタの識別性能が、初期値である取得部11により取得された複数のフィルタの識別性能より上である場合に、当該増加したフィルタを分割後フィルタとして採用する。なお、識別性能評価部123は、評価した当該増加したフィルタの識別性能が、初期値である取得部11により取得された複数のフィルタの識別性能以下である場合に、ランダム変換部121に、初期値の複数のフィルタに対して再度分割処理を行わせる。
 より具体的には、識別性能評価部123は、学習用画像群を用いて、例えばN個からM個に増加したM個のフィルタに重みを学習させることにより、M個のフィルタの識別性能を評価する。識別性能評価部123は、評価した当該M個のフィルタの識別性能が、初期値であるN個のフィルタの識別性能より上である場合に、当該M個のフィルタを分割後フィルタとして採用する。一方、識別性能評価部123は、評価した当該M個のフィルタの識別性能が、初期値であるN個のフィルタの識別性能以下である場合、ランダム変換部121に、初期値であるN個のフィルタに対して再度分割処理を行わせる。
 なお、本実施の形態では、分割部12は、取得部11により取得された複数のフィルタを初期値として分割処理を行うとして説明したが、これに限らない。分割処理された分割後フィルタを初期値として再度分割処理を行うとしてもよいし、統合部13により出力された統合後のフィルタを初期値として分割処理を行うとしてもよい。
 また、分割処理を複数回行わせる場合には、識別性能評価部123は、分割処理により増加したフィルタの識別性能と、初期値ではなく一つ前の分割処理により増加したフィルタの識別性能とを比較すればよい。
 [統合部13]
 図5は、図1に示す決定装置10が行う統合処理の概要を説明するための図である。図6は、図1に示す統合部13が行う統合処理の一例を示す図である。なお、図6の(a)に示される複数のフィルタ(統合前フィルタ)は、図5の(a)に示される複数のフィルタに対応し、図6の(d)に示される複数のフィルタ(統合後フィルタ)は、図5の(b)に示される複数のフィルタに対応する。
 統合部13は、取得部11が取得したN個のフィルタや分割処理された分割後のフィルタなど、初期値として取得された複数のフィルタに対して統合処理を行う。例えば統合部13は、図5の(a)に示されるような、複数のフィルタ(図では156個)に対して統合処理を行い、図5の(b)に示される数のフィルタ(図では32個)に減少させる。
 より具体的には、統合部13は、分割部12において分割処理された分割後フィルタをクラスタリングし、クラスタ中心のフィルタを選択することにより、当該複数のフィルタの数を減少させる統合処理を行う。これにより、過学習を防ぐことができ、識別時のエラー率を下げ画像認識をより高精度に行えるなど、識別性能を向上させることができるからである。なお、統合部13が統合処理を行う複数のフィルタは、分割部12において分割処理された分割後フィルタに限らず、初期値として取得部11により取得された複数のフィルタであってもよい。
 本実施の形態では、図1に示すように、統合部13は、クラスタリング部131と、フィルタ選択部132とを備える。
 クラスタリング部131は、分割部12において分割処理された分割後フィルタであるM個のフィルタをクラスタリングする。クラスタリング部131は、結果として、M個のフィルタをL個のクラスタにクラスタリングする。
 ここで、クラスタリング部131は、M個のフィルタをk-means法を用いて予め定められたL個のクラスタにクラスタリングするとしてもよいし、M個のフィルタをAffinity propagation法を用いてクラスタリングした結果、L個のクラスタにクラスタリングするとしてもよい。k-means法とは、データの分布としてクラスタの平均を用い、与えられたクラスタ数K個に分類する方法である。一方、Affinity propagation法は、Freyらによって近年提案されたクラスタリング手法であり、予めクラスタ数を決めておく必要がなくアルゴリズムが自動的にクラスタ数を決定する。また、Affinity propagation法は、responsibilityとavailabilityとを交互に更新していって収束させる手法であるため初期値依存性がなく、k-means法などに代表される既存のクラスタリング方法よりクラスタリング精度が良い。なお、k-means法またはAffinity propagation法を用いてクラスタリングする方法は、既存のクラスタリング方法であるのでここでの詳細な説明は省略する。
 フィルタ選択部132は、クラスタリング部131によりL個のクラスタにクラスタリングされ、不図示のメモリなどに保存されたM個のフィルタのうち、クラスタ中心のフィルタを選択する。ここで、例えば、フィルタ選択部132は、L個のクラスタそれぞれに属する複数のフィルタのベクトル重心を算出し、ベクトル重心に最も近いフィルタを選択することで、L個のクラスタそれぞれのクラスタ中心となるフィルタを選択すればよい。このようにして、統合部13は、分割部12において分割処理された分割後フィルタであるM個のフィルタを、当該M個より小さいL個(Lは1以上の自然数)のフィルタに統合する。
 以下、図6を用いて、クラスタリング部131がk-means法を用いてクラスタリングする場合の例について説明する。なお、図6の(a)に示される統合前フィルタは、図4の(e)に示される分割フィルタであり、分割部12において分割処理された分割後フィルタである。また、図6の(b)には、k-means法を用いて所定のクラスタ数となるようにデータの分布から境界線を決定することによりクラスタリングを行った場合の例が示されている。
 クラスタリング部131は、図6の(b)に示されるように、図6の(a)に示される統合前フィルタに対して、k-means法を用いて、決定装置10を使用する使用者などにより予め決定された所定のクラスタ数となるようにクラスタリングする。そして、フィルタ選択部132は、図6の(c)に示されるように、所定の数のクラスタそれぞれのクラスタ中心に一番近いフィルタ(図でフィルタaと表記)を選択し、統合後フィルタとして採用する。
 なお、クラスタリング部131は、初期値として取得部11により取得されたN個のフィルタをクラスタリングするとしてもよい。この場合、フィルタ選択部132は、クラスタリング部131によりクラスタリングされ、不図示のメモリなどに保存されたN個のフィルタのうち、クラスタ毎にクラスタ中心のフィルタを選択する。このようにして、統合部13は、初期値として取得部11により取得されたN個のフィルタを、当該N個より小さい数のフィルタに統合することができる。
 また、統合部13は、さらに、学習用画像群を用いて、統合後フィルタに重みを学習させて、統合後フィルタの識別性能を評価する識別性能評価部を備えるとしてもよい。この場合、識別性能評価部により評価された識別性能が、統合前フィルタの識別性能以下である場合には、統合処理を再度行う。統合部13は、k-means法を用いてクラスタリングしている場合には、所定のクラスタ数を変更して再度統合処理を行い、Affinity propagation法を用いてクラスタリングしている場合には、類似度行列の対角要素などアルゴリズム中のパラメータを変更して再度統合処理を行うとよい。
 [出力部15]
 出力部15は、分割部12で分割処理されたフィルタまたは統合部13で統合処理されたフィルタを、決定装置10により決定された畳み込みニューラルネットワークを構成するフィルタとして出力する。なお、出力部15は、必須の構成ではなく、メモリであってもよい。この場合、分割部12で分割処理されたフィルタまたは統合部13で統合処理されたフィルタを、決定装置10により決定された畳み込みニューラルネットワークを構成するフィルタとして保存する。
 [決定装置10の決定処理]
 次に、以上のように構成された決定装置10の決定処理について、図を用いて説明する。
 図7は、本実施の形態における決定処理の一例を示すフローチャートである。図8は、図7に示すステップS20の詳細処理の一例を示すフローチャートである。図9は、図7に示すステップS30の詳細処理の一例を示すフローチャートである。
 まず、ステップS10において、決定装置10は、取得処理を行う。
 より具体的には、ステップS10の前に、学習用画像群を用いて、畳み込みニューラルネットワークを構成する1以上の畳み込み層を構成する複数のフィルタの重みが学習されている(S9)。決定装置10は、学習用画像群を用いて重みが学習された複数のフィルタのうち、少なくとも一の畳みこみ層を構成するN個(Nは1以上の自然数)のフィルタを初期値として取得する(S11)。
 次に、ステップS20において、決定装置10は、分割処理を行う。
 より具体的には、ステップS11において取得した初期値のN個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施し(S21)、画像処理分野で用いられる変換を施したフィルタを初期値のN個のフィルタに追加する(S22)。これにより初期値のN個のフィルタを、N個より大きいM個(Mは2以上の自然数)のフィルタに増加させることができる。ここで、当該変換は上述した変換セットのうちから選択したものを行えばよいが、詳細は上述したのでここでの説明は省略する。次いで、決定装置10は、学習用画像群を用いて、M個のフィルタに重みを学習させることにより、M個のフィルタの識別性能を評価し、初期値のN個のフィルタの識別性能より上かを判定する(S23)。ステップS23において、M個のフィルタの識別性能が、N個のフィルタの識別性能以下であり(S23でNo)、予め定めた回数(規定回数)以下である場合(S24でNo)には、ステップS21に戻り、分割処理を再度行う。一方、M個のフィルタの識別性能が、N個のフィルタの識別性能より上である場合(S24でYes)には、分割処理を終了する。
 なお、分割処理を予め定めた回数(規定回数)まで繰り返す場合には、ステップS10において、初期値のフィルタとして、分割処理したM個フィルタである分割後フィルタを取得し、再度ステップS20を行えばよい。
 次に、ステップS30において、決定装置10は、統合処理を行う。
 より具体的には、決定装置10は、初期値のフィルタであるステップS20で分割処理されたM個のフィルタをクラスタリングする(S31)。ここで、決定装置10は、ステップS20で分割処理されたM個のフィルタを、結果としてM個より小さいL個(Lは1以上の自然数)のクラスタ数にクラスタリングする。次いで、決定装置10は、L個のクラスタそれぞれのクラスタ中心のフィルタを選択する(S32)。このようにして、決定装置10は、M個のフィルタを、M個より小さいL個のフィルタに統合する。
 なお、ステップS20の分割処理とステップS30の統合処理とは、それぞれ単独で行うとしてもよいし、ステップS30の統合処理を先に行い、続いてステップS20の分割処理を行うとしてもよい。また、上述したように、ステップS20の分割処理を予め定めた回数(規定回数)まで繰り返した後に、ステップS30の統合処理を行うとしてもよい。
 [決定処理の有効性]
 次に、実施例を挙げて、上述した決定装置10の決定処理の有効性について説明する。
 (実施例1)
 図10は、実施例1における決定装置10の決定処理のアルゴリズムの詳細の一例を示す図である。
 図10において「//SPLIT」で記述されるアルゴリズムは、上述した分割処理のアルゴリズムの一例であり、「//SPLIT」で記述されるアルゴリズムは、上述した分割処理のアルゴリズムの一例である。また、「δ、δ、δ」は、識別性能の評価値を示しており、「Kernel」は、畳み込みニューラルネットワークの少なくとも一の畳み込み層を構成するフィルタを示している。
 図11は、実施例1における決定装置10の決定処理の一例を示す図である。すなわち、本実施例では、統合処理を先に行い、その後に分割処理を行った場合の例が示されている。
 より具体的には、実施例1における決定装置10は、初期値としての150個のフィルタに対して、統合処理を行い、32個のフィルタに減らし、学習用画像群を用いて重みを学習させた上で32個のフィルタの識別性能を評価する。なお、本実施例の統合処理では、図10に示されるようにk-means法を用いてクラスタリングを行っている。
 そして、実施例1における決定装置10は、学習用画像群を用いて重みが学習させた32個のフィルタに対して、分割処理を行い、96個のフィルタに増やして、学習用画像群を用いて重みを学習させた上で32個のフィルタの識別性能を評価する。なお、本実施例の分割処理では、図10に示されるようにランダムに決定される角度での回転変換とランダムに決定される標準偏差のガウシアンノイズの付与とを行っている。
 図12A~図12Dは、本実施例の統合処理の有効性について説明するための図である。
 図12Aは、テスト用画像の一例を示しており、120が表示された標識が30度程度傾いた画像が示されている。また、図12Aに示すテスト用画像は、学習用画像により重みが学習された、初期値としてのフィルタを有する畳み込みニューラルネットワークにより誤分類されたものである。
 図12Bは、図12Aに示すテスト用画像のソフトマックス確率を示す図である。図12Bでは、初期値としてのフィルタを有する畳み込みニューラルネットワークの43クラスの出力の反応値がソフトマックス確率で示されている。カテゴリ識別を行うニューラルネットでは、出力確率の最大値を認識結果として出力する。初期値としてのフィルタを有する畳み込みニューラルネットワークが図12Aに示すテスト用画像(正解ラベル=7)を分類(識別)すると、カテゴリ15に大きな反応値が出力され、誤分類しているのがわかる。
 図12Cは、図11に示す分割処理後のフィルタを有する畳み込みニューラルネットワークにより分類された図12Aに示すテスト用画像のソフトマックス確率の一例を示す図である。これにより、分割処理後のフィルタを有する畳み込みニューラルネットワークが図12Aに示すテスト用画像を分類(識別)すると、正解ラベルに対する反応値が改善され、誤分類せず正確に分類しているのがわかる。
 図12Dは、図11に示す統合処理後の32個のフィルタを有する畳み込みニューラルネットワークにより分類された図12Aに示す画像のソフトマックス確率の一例を示す図である。統合処理後の32個のフィルタを有する畳み込みニューラルネットワークが図12Aに示すテスト用画像を分類(識別)すると、図12Cの反応値よりさらに改善され、誤分類せず正確に分類しているのがわかる。
 (実施例2)
 本開示の分割処理および統合処理の有効性について、学習用画像およびテスト用画像からなる複数のデータセットを用いて検証したので、その実験結果を実施例2として説明する。
 図13は、実施例2における複数のデータセットそれぞれを用いた場合の識別性能の値を示す図である。図13には、MNIST(Mixed National Institute of Standards and Technology database)データセット、GTSRB(German Traffic Sign Recognition Benchmark)およびCIFAR-10(Canadian Institute for Advanced Research)データセットを用いた場合の識別性能の値(基準値)が示されている。
 [MNIST]
 図14は、MNISTデータセットを用いるモデル構造(MNISTモデル構造)の一例を示す図である。MNISTデータセットは、28×28サイズの手書き数字の60,000枚の学習用画像と10,000枚のテスト用画像とからなる。MNISTモデル構造は、図14に示すように、2層の結合層と2層の畳み込み層とからなる畳み込みニューラルネットワークで構成されており、ReLU活性化関数を使用した各畳み込み層の後にプーリング層を有する。図13には、MNISTデータセットの学習用画像で学習させたMNISTモデル構造に、MNISTデータセットのテスト用画像を識別させたときの識別性能の値(基準値)としてのエラー率0.82%が示されている。
 図15は、MNISTモデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。ここで、図15のSPLIT[1]はNo.1のフィルタ(ORIGINAL)を分割したことを示し、MERGE[4]はNo.4のフィルタSPLIT[1]を統合したことを示す。図15では、MNISTモデル構造の2層の畳み込み層のうち1層目の畳み込み層を構成する100個のフィルタ(ORIGINAL)を分割処理して200個のフィルタに増やし、学習用画像で重みを再学習させた場合(SPLIT[1])のエラー率0.58%が示されている。また、分割処理された200個のフィルタ(SPLIT[1])をさらに統合処理して100個のフィルタに減らし、学習用画像で重みを再学習させた場合(MERGE[4])のエラー率0.59%が示されている。
 一方、比較例としてMNISTモデル構造の1層目の畳み込み層を構成する100個のフィルタを分割処理せず、200個または300個のフィルタを初期状態から学習させた場合のエラー率0.78%または0.75%が示されている。
 MNISTモデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率は、比較例やMNISTモデル構造のエラー率に対して、ほぼ30%向上しているのがわかる。なお、分割処理後の統合処理により、エラー率は0.01%だけ下がっているものの、識別性能はほぼ維持している。
 [GTSRB]
 GTSRBデータセットは、ドイツの標準的な道路標識からなる、43の様々なクラスの39,209枚の学習用画像と12,630枚のテスト用画像とからなる。なお、GTSRBデータセットに含まれる画像のサイズは15×15ピクセルから250×250ピクセルと不均一であり、このまま用いると、学習の際の1ブロック当たりに含まれる画素数が変動し、認識に影響する。そこで、本実施例では、GTSRBデータセットの全ての画像を48×48にサイズ変更し、ヒストグラム平滑化やコントラスト正規化などの前処理技術を適用したものを使用した。以下、前処理技術を適用したGTSRBデータセットをGTSRBデータセットと記載する。
 GTSRBデータセットを用いるモデル構造(GTSRB1モデル構造)は、3層の畳み込み層と2層の全結合層とからなる畳み込みニューラルネットワークである。図13には、GTSRBデータセットの学習用画像で学習させたGTSRB1モデル構造に、GTSRBデータセットのテスト用画像を識別させたときの識別性能の値(基準値)としてエラー率2.44%が示されている。
 図16は、GTSRB1モデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。ここで、図16の4Nの「N」はガウシアンノイズによりフィルタを分割したことを示し、5Rの「R」は回転変換によりフィルタを分割したことを示す。MERGE[No.]、SPLIT[No.]の表記方法は上述と同様である。GTSRB1モデル構造に対して本開示の分割処理または統合処理を行った全ての実験において、かなり良い性能を達成したか、または、モデルサイズをかなり小さくしたのと同等の性能を達成したことが分かる。
 図17は、GTSRB1モデル構造と、本開示の分割処理または統合処理したGTSRB1モデル構造とを最適化したときの誤差関数の出力値を示す図である。ここで、GTSRB1_originalとGTSRB1_mergeは同一パラメータ数の場合を比較した。図17に示すように、GTSRB1モデル構造をGTSRBデータセットの学習用画像で学習(最適化)させたときの誤差関数の出力値と比較すると、本開示の分割処理または統合処理したGTSRB1モデル構造をGTSRBデータセットの学習用画像で学習させたときの誤差関数の出力値の方が低くなっているのがわかる。つまり、本開示の分割処理または統合処理することで、画像認識に有効な畳み込みニューラルネットワークの構造を簡便に決定することができるのがわかる。
 図18は、GTSRBデータセットを用いるモデル構造(GTSRB―3DNNモデル構造)の一例を示す図である。
 GTSRB―3DNNモデル構造は、3層の畳み込み層と2層の全結合層とからなる畳み込みニューラルネットワークであり、48×48ピクセル、38×48ピクセルおよび28x48ピクセルの異なる画像サイズを入力して使用する。そのため、GTSRB―3DNNモデル構造は、単純なモデル構造であるGTSRB―3DNNモデル構造と比較して集合的なモデル構造となる。図13には、GTSRBデータセットの学習用画像で学習させたGTSRB―3DNNモデル構造に、GTSRBデータセットのテスト用画像を識別させたときの識別性能の値(基準値)としてエラー率1.24%が示されている。
 図19は、GTSRB―3DNNモデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。本開示の分割処理または統合処理を、GTSRB―3DNNモデル構造に対して行った全ての実験において、かなり良い性能を達成したか、または、モデルサイズをかなり小さくしたのと同等の性能を達成したことが分かる。
 [CIFAR-10]
 CIFAR-10データセットは、10カテゴリの50,000枚の学習用画像と10,000枚のテスト用画像とからなる。
 CIFAR-10データセットを用いるモデル構造(CIFAR-10モデル構造)は、非特許文献1に開示される3層の畳み込み層からなる畳み込みニューラルネットワークを利用した。図13には、CIFAR-10データセットの学習用画像で学習させたCIFAR-10モデル構造に、CIFAR-10データセットのテスト用画像を識別させたときの識別性能の値(基準値)としてエラー率10.4%が示されている。
 図20は、CIFAR-10モデル構造に対して本開示の分割処理または統合処理を行った場合のエラー率を示す図である。
 図20に示されるように、本開示の分割処理または統合処理を、CIFAR-10モデル構造の畳み込み層を構成するフィルタ(ORIGINAL)に対して行った全ての実験において、性能を改善したか、または、同等の性能を達成したことがわかる。つまり、非特許文献1に開示されるような複雑、かつ高度に調整された畳み込みニューラルネットワークの構造に本開示の分割処理または統合処理を適用しても有効であることがわかる。
 (実施例3)
 本開示の統合処理の有効性について、識別計算時間の観点からも検証したので、その実験結果を実施例3として説明する。
 図21は、本開示の統合処理を行った場合の識別計算時間の比較を示す図である。
 図21に示す1行目には、GTSRBデータセットの学習用画像で学習後のGTSRB1モデル構造(ORIGINAL)を用いて、10個の48×48ピクセルの画像を識別させたときの計算時間14.8MSが示されている。一方、図21に示す2行目または3行目には、GTSRB1モデル構造に対して1回または2回統合処理を行いGTSRBデータセットの学習用画像で学習させたもの(MERGE[1]またはMERGE[2])を用いて、10個の48×48ピクセルの画像を識別させたときの計算時間14.1MSまたは12.6MSが示されている。
 また、図21に示す4行目には、GTSRBデータセットの学習用画像で学習後のGTSRB―3DNNモデル構造(ORIGINAL)を用いて、10個の48×48ピクセルの画像を識別させたときの計算時間27.9MSが示されている。一方、図21に示す5行目には、本開示の統合処理を、GTSRB―3DNNモデル構造に対して行い、GTSRBデータセットの学習用画像で学習させたもの(MERGE[4])を用いて、10個の48×48ピクセルの画像を識別させたときの速度19.4MSが示されている。
 これにより、本開示の統合処理を行った全ての実験において、識別計算時間を改善したことが分かる。
 [効果等]
 以上のように、本実施の形態における決定装置10およびその決定方法によれば、畳み込みニューラルネットワークの構造をより簡便(または自動的)に決定することができる。より具体的には、本実施の形態における決定装置10およびその決定方法によれば、Deep Learningで学習した畳み込みニューラルネットワークの少なくとも一の畳み込み層を構成するフィルタを初期値として、分割処理と統合処理とを繰り返すことにより、画像認識に有効な畳み込みニューラルネットワークの構造を簡便にまたは自動で決定することができる。
 ここで、分割処理は、有効なフィルタを変換して、画像認識に有効そうなフィルタを増やす処理であり、統合処理は、冗長なフィルタをクラスタリングで統合して有効なフィルタのみ残す処理である。分割処理で利用する変換は、画像処理分野で既知の画像変換(変換セット)から選択すればよい。一貫した改善が期待できることから、ランダムに決定される角度での回転変換とランダムに決定される標準偏差のガウシアンノイズの付与とを選択して変換に利用してもよい。統合処理で利用するクラスタリング方法も、k-means法またはAffinity propagation法など、既知のクラスタリング方法を利用すればよい。
 それにより、専門家以外の者でも、本実施の形態における決定装置10およびその決定方法を利用すれば、画像認識に有効な畳み込みニューラルネットワークの構造を得ることができそれを利用することができる。
 なお、本実施の形態における決定装置10等は、分割処理と決定処理とを行うとして説明したが、少なくとも一方を行うとしてもよい。また、分割処理と決定処理とを行う順番や回数も、上述した例に限定されず、決定装置10の使用者が自由に決めてもよい。
 また、本実施の形態における決定装置10等は、初期値としての畳み込みニューラルネットワークを構成する畳み込み層が複数ある場合には、少なくとも一の畳み込み層を構成する複数のフィルタに対して、分割処理および決定処理の少なくも一方を行うとしてもよい。また、当該一の畳み込み層を構成する複数のフィルタに対して分割処理および決定処理の少なくとも一方を行った後に、当該一の畳み込み層と異なる畳み込み層を構成する複数のフィルタに対して、分割処理および決定処理の少なくも一方を行ってもよい。つまり、本実施の形態における決定装置10等は、初期値としての畳み込みニューラルネットワークのフィルタの一部または全部に対して分割処理および決定処理の少なくも一方を行うとしてもよい。
 以上、実施の形態において本開示の決定方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど(以下に説明)によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
 なお、本開示は、さらに、以下のような場合も含まれる。
 (1)上記の装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記の装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 (3)上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 (5)また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (6)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、認識に有効な畳み込みニューラルネットワークの構造を決定するための決定装置および決定方法に利用でき、特に、画像認識に有効でパソコンシステムよりも計算能力がない埋め込みシステムでも実行可能な畳み込みニューラルネットワークの構造を決定するための決定装置および決定方法に利用できる。
 10 決定装置
 11 取得部
 12 分割部
 13 統合部
 15 出力部
 121 ランダム変換部
 122 フィルタ追加部
 123 識別性能評価部
 131 クラスタリング部
 132 フィルタ選択部

Claims (11)

  1.  畳み込みニューラルネットワークの構造を決定するための決定方法であって、
     学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する取得ステップと、
     前記N個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで前記N個のフィルタを前記N個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割ステップとを含む、
     決定方法。
  2.  前記分割ステップでは、
     前記学習用画像群を用いて、前記M個のフィルタに重みを学習させることにより、前記M個のフィルタの識別性能を評価する分割評価ステップを含み、
     前記分割評価ステップにおいて評価された識別性能が、前記N個のフィルタの識別性能以下である場合には、前記分割ステップを再度行う、
     請求項1に記載の決定方法。
  3.  さらに、前記M個のフィルタをクラスタリングし、クラスタ中心のフィルタを選択することで、前記M個のフィルタを、前記M個より小さいL個(Lは1以上の自然数)のフィルタに統合する統合ステップを含む、
     請求項1または2に記載の決定方法。
  4.  前記統合ステップでは、
     前記M個のフィルタをk-means法を用いて予め定められたL個のクラスタにクラスタリングする、
     請求項3に記載の決定方法。
  5.  前記統合ステップでは、
     前記M個のフィルタをAffinity propagation法を用いてクラスタリングする、
     請求項3に記載の決定方法。
  6.  前記変換は、ランダムに決定される角度での回転変換を含み、
     前記分割ステップでは、
     前記N個のフィルタの少なくとも一に対して前記回転変換を施したフィルタを追加する、
     請求項1~5のいずれか1項に記載の決定方法。
  7.  前記変換は、ランダムに決定される標準偏差のガウシアンノイズの付与を含み、
     前記分割ステップでは、
     前記N個のフィルタの少なくとも一に対して前記ガウシアンノイズの付与を施したフィルタを追加する、
     請求項1~6のいずれか1項に記載の決定方法。
  8.  前記変換は、ランダムに決定されるコントラスト比となるように変換するコントラスト変換を含み、
     前記分割ステップでは、
     前記N個のフィルタの少なくとも一に対して前記コントラスト変換を施したフィルタを追加する、
     請求項1~7のいずれか1項に記載の決定方法。
  9.  前記変換は、ランダムに決定されるスケールとなるように変換するスケール変換を含み、
     前記分割ステップでは、
     前記N個のフィルタの少なくとも一に対して前記スケール変換を施したフィルタを追加する、
     請求項1~8のいずれか1項に記載の決定方法。
  10.  畳み込みニューラルネットワークの構造を決定するための決定方法であって、
     学習用画像群を用いて重みが学習されたM個(Mは2以上の自然数)のフィルタを初期値として取得する取得ステップと、
    前記M個のフィルタをクラスタリングし、クラスタ中心のフィルタを選択することで、前記M個のフィルタを、前記M個より小さいL個(Lは1以上の自然数)のフィルタに統合する統合ステップを含む、
     決定方法。
  11.  畳み込みニューラルネットワークの構造の決定をコンピュータに実行させるためのプログラムであって、
     学習用画像群を用いて重みが学習されたN個(Nは1以上の自然数)のフィルタを初期値として取得する取得ステップと、
     前記N個のフィルタの少なくとも一に対して、画像処理分野で用いられる変換を施したフィルタを追加することで前記N個のフィルタを前記N個より大きいM個(Mは2以上の自然数)のフィルタに増加させる分割ステップとを含む、
     プログラム。
PCT/JP2016/000462 2015-02-06 2016-01-29 決定方法およびプログラム WO2016125476A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201680002592.8A CN107077734B (zh) 2015-02-06 2016-01-29 决定方法以及记录介质
EP16746308.2A EP3255606B1 (en) 2015-02-06 2016-01-29 Determination method and program
US15/485,250 US10558885B2 (en) 2015-02-06 2017-04-12 Determination method and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562113174P 2015-02-06 2015-02-06
US62/113,174 2015-02-06
JP2016006580A JP2016146174A (ja) 2015-02-06 2016-01-15 決定方法およびプログラム
JP2016-006580 2016-01-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/485,250 Continuation US10558885B2 (en) 2015-02-06 2017-04-12 Determination method and recording medium

Publications (1)

Publication Number Publication Date
WO2016125476A1 true WO2016125476A1 (ja) 2016-08-11

Family

ID=56563830

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/000462 WO2016125476A1 (ja) 2015-02-06 2016-01-29 決定方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2016125476A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073986A (zh) * 2016-11-16 2018-05-25 北京搜狗科技发展有限公司 一种神经网络模型训练方法、装置及电子设备
US11556771B2 (en) 2017-04-10 2023-01-17 Semiconductor Energy Laboratory Co., Ltd. Semiconductor neural network device including a synapse circuit comprising memory cells and an activation function circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132554A (ja) * 1998-10-21 2000-05-12 Sharp Corp 画像検索装置および画像検索方法
JP2005044330A (ja) * 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132554A (ja) * 1998-10-21 2000-05-12 Sharp Corp 画像検索装置および画像検索方法
JP2005044330A (ja) * 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073986A (zh) * 2016-11-16 2018-05-25 北京搜狗科技发展有限公司 一种神经网络模型训练方法、装置及电子设备
CN108073986B (zh) * 2016-11-16 2020-05-12 北京搜狗科技发展有限公司 一种神经网络模型训练方法、装置及电子设备
US11556771B2 (en) 2017-04-10 2023-01-17 Semiconductor Energy Laboratory Co., Ltd. Semiconductor neural network device including a synapse circuit comprising memory cells and an activation function circuit

Similar Documents

Publication Publication Date Title
US10558885B2 (en) Determination method and recording medium
US9424493B2 (en) Generic object detection in images
US9940548B2 (en) Image recognition method for performing image recognition utilizing convolution filters
KR102486699B1 (ko) 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
CN113785305B (zh) 一种检测倾斜文字的方法、装置及设备
CN105960647B (zh) 紧凑人脸表示
US20170124409A1 (en) Cascaded neural network with scale dependent pooling for object detection
US9418440B2 (en) Image segmenting apparatus and method
KR101581112B1 (ko) 계층적 패턴 구조에 기반한 기술자 생성 방법 및 이를 이용한 객체 인식 방법과 장치
JP5591178B2 (ja) テスト画像内のオブジェクトを分類するための方法
US9239948B2 (en) Feature descriptor for robust facial expression recognition
JP2011013732A (ja) 情報処理装置、情報処理方法、およびプログラム
JPWO2019026104A1 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN108021908B (zh) 人脸年龄段识别方法及装置、计算机装置及可读存储介质
CN115937655B (zh) 多阶特征交互的目标检测模型及其构建方法、装置及应用
US11436491B2 (en) System and method for improving convolutional neural network-based machine learning models
CN117157678A (zh) 用于基于图的全景分割的方法和系统
KR20150088157A (ko) 행동 인식을 위한 특징 벡터 생성 방법, 히스토그램 생성 방법, 및 분류기 학습 방법
EP3942461A1 (en) Subject-object interaction recognition model
WO2016125476A1 (ja) 決定方法およびプログラム
JP2006127446A (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
US8755594B2 (en) Information processing device and method, and program
KR101066343B1 (ko) 상호 정보 최대화 기반의 국부 이진 패턴 코드를 이용한 패턴 인식 방법, 장치 및 그 기록 매체
US20220114403A1 (en) Fine-grained classification of retail products
KR20230128943A (ko) 적대적 생성 신경망으로 구성된 상품 이미지 복원 및 합성 모델, 및 상품 이미지 복원 및 합성 모델의 학습 방법

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016746308

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE