WO2019102797A1 - ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム - Google Patents

ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム Download PDF

Info

Publication number
WO2019102797A1
WO2019102797A1 PCT/JP2018/040070 JP2018040070W WO2019102797A1 WO 2019102797 A1 WO2019102797 A1 WO 2019102797A1 JP 2018040070 W JP2018040070 W JP 2018040070W WO 2019102797 A1 WO2019102797 A1 WO 2019102797A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
learning
output
correct
data
Prior art date
Application number
PCT/JP2018/040070
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 JP2019556154A priority Critical patent/JP7008081B2/ja
Publication of WO2019102797A1 publication Critical patent/WO2019102797A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present invention relates to a learning method of a neural network, a learning device, a learned model and a program, and more particularly to a machine learning technology of a neural network used for image recognition and the like, and an information processing technology using a computer.
  • Patent Document 1 proposes an image recognition method using a convolution neural network (CNN).
  • the image recognition method described in Patent Document 1 is an image recognition method that can correctly recognize each of a plurality of recognition objects partially overlapping in an image.
  • the recognition target is, for example, a person.
  • learning is performed so that the central region of the recognition target can be recognized using the first convolutional neural network, and recognition target using the second convolutional neural network having the same configuration as the first convolutional neural network after learning.
  • a method is disclosed for learning the regression of the position of.
  • Patent Document 1 also describes that the learning order of the person area coordinate output neural network and the learning order of the person center area output neural network may be reversed.
  • the present invention has been made in view of such circumstances, and provides a neural network learning method, learning device, learned model and program capable of improving recognition accuracy and reducing burden of data preparation for machine learning.
  • the purpose is to
  • One aspect of the present invention is a learning method of a neural network, wherein the neural network corresponds to a first neural network that performs a first output corresponding to a first correct form and a second correct form.
  • a neural network including a second neural network that performs a second output, and a third neural network that outputs an input element to the first neural network and the second neural network, and from the learning data group
  • An output acquisition step for acquiring at least one of the first output and the second output
  • the weights of the neural network are updated based on the evaluation step of evaluating at least one of the first output and the second output obtained in the output acquisition step and the evaluation result obtained in the evaluation step.
  • the selecting step, the output obtaining step, the evaluating step, and the weight updating step a plurality of times, the weight of each of the first neural network, the second neural network and the third neural network is determined. And a weight determining step.
  • the selection step, the output acquisition step, the evaluation step, and the weight update step multiple times, learning using the learning sample including the first correct form and the second correct form are performed.
  • the learning using the contained learning sample is performed in a combined manner, and the process of updating the weight of each neural network of the first neural network, the second neural network, and the third neural network is performed.
  • the third neural network functions as a common processing unit that outputs an input element to each of the first neural network and the second neural network, and the weight update by learning using the second correct form is performed.
  • the effect contributes to the improvement of the recognition accuracy of the first correct form.
  • the effect of weight update by learning using the first correct form contributes to the improvement of the recognition accuracy of the second correct form.
  • the learning samples of different correct answer forms can be used to improve the recognition accuracy corresponding to both forms mutually, the burden of preparing the learning samples can be reduced and the recognition accuracy is improved. It can be done.
  • Weight is a parameter in the neural network, and includes filter coefficients (weights of coupling) of filters used for processing of each layer, bias of nodes, and the like.
  • recognition includes the concepts of "identification” and “determination”.
  • Multiple implementation includes the respective concepts of parallel implementation, simultaneous implementation, alternating implementation, and integrated implementation.
  • the first learning sample having the first correct form and the second learning having the second correct form It is preferable to set it as the structure containing both of the samples for.
  • Another aspect of the present invention is a learning method of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form and a second correct form.
  • a neural network including a second neural network that produces a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network, the first neural network comprising: From the first learning data group including at least two types of correct answer forms including the correct answer form and the second correct answer form, the second learning data group which is a part or all of the first learning data group is selected
  • the step and the learning sample included in the second learning data group as an input to the neural network, Evaluating at least one of the first output and the second output acquired in the output acquiring step of acquiring at least one of the first output and the second output from the Ral network, and the output acquiring step Updating the weight, including the steps and the weight update step of updating the weight of the neural network based on the evaluation result obtained from the evaluation step using all the learning samples
  • the learning corresponding to the first correct form and the learning corresponding to the second correct form are combinedly performed, and a plurality of correct forms are used.
  • the burden of preparation of the learning sample can be reduced, and the recognition accuracy can be improved.
  • Another aspect of the present invention is a learning method of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form and a second correct form.
  • a neural network including a second neural network that produces a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network, the first neural network comprising: At least a first output is obtained by inputting, to a neural network, first learning input data associated with at least a first correct answer data of at least a first correct answer form among the correct answer form and the second correct answer form A first output acquisition step, and at least a first output acquired in the first output acquisition step The first updating step of updating the weights of the neural network based on the first evaluation step which performs the evaluation and the evaluation result obtained in the first evaluation step, the first correct form and the second correct answer A second output acquiring step of acquiring at least a second output from the neural network by using a second learning sample having at least a second correct form of the forms as
  • a second output acquisition step and a second evaluation step while performing at least the second evaluation step and the first evaluation step and performing at least two of the first output acquisition step and the first evaluation step Is a learning method of a neural network that implements at least once.
  • the learning corresponding to the first correct form and the learning corresponding to the second correct form are implemented in a combined manner, and the effects of learning using a plurality of correct forms are mutually performed in both forms. It contributes to the improvement of recognition accuracy. According to this aspect, recognition accuracy can be improved, and the burden of preparation of learning samples can be reduced.
  • the neural network in each of the above-described aspects can be configured to include a convolution layer.
  • At least one of the first neural network and the second neural network can be configured to include a convolution layer that performs 1 ⁇ 1 convolution processing.
  • the “1 ⁇ 1 convolution” is a process of convoluting a feature map for each channel of a plurality of feature amounts in the channel direction to combine a plurality of feature amounts.
  • the neural network can be configured to output at least one mask image in which at least one specific region in the input image is extracted.
  • the neural network can be configured to output at least one rectangular area in the input image.
  • the first correct form can be configured to include, for at least one image, one corresponding to each pixel of a specific region in the image.
  • the second correct form may include at least one image corresponding to a rectangular area in the image.
  • the evaluation is performed by weighting each of the first output obtained from the first neural network and the second output obtained from the second neural network. be able to.
  • the learned model according to another aspect of the present invention is a learned model whose weight is determined by learning a neural network using the neural network learning method according to any one of the above-described aspects.
  • the learned model is similar to the program. Further, the signal processing device using the learned model includes the concept of terms such as an image processing device, a recognition device, an identification device, or a determination device.
  • a learning device of a neural network wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • a learning data which is a neural network including a second neural network performing a corresponding second output, and a third neural network outputting an input element to the first neural network and the second neural network
  • a neural network by using a selecting unit for selecting a learning sample having at least one of a first correct answer form and a second correct answer form from a group, and using the selected learning sample for input to the neural network;
  • An output acquisition unit that acquires at least one of the first output and the second output from Weight update for updating weights of neural network based on an evaluation unit performing evaluation on at least one of the first output and the second output obtained by the force acquisition unit, and the evaluation result obtained by the evaluation unit
  • a first neural network, a second neural network, and the like after performing the selection step by the selection unit, the output acquisition step by the output acquisition unit, the evaluation step by the evaluation unit, and the
  • Another aspect of the present invention is a learning device of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • a neural network including a second neural network that produces a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network, the first neural network comprising: From the first learning data group including at least two types of correct answer forms including the correct answer form and the second correct answer form, the second learning data group which is a part or all of the first learning data group is selected Using a learning data group selection unit and a learning sample included in the second learning data group for input to the neural network
  • an output acquiring unit that acquires at least one of the first output and the second output from the neural network, and evaluation of at least one of the first output and the second output acquired by the output acquiring unit
  • a weight update unit that updates the weights of the neural network based on the evaluation result obtained from the evaluation unit using all of the evaluation units to
  • Another aspect of the present invention is a learning device of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • a neural network including a second neural network that produces a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network, the first neural network comprising: At least a first output is obtained by inputting, to a neural network, first learning input data associated with at least a first correct answer data of at least a first correct answer form among the correct answer form and the second correct answer form Evaluating at least a first output acquired by the first output acquiring unit and the first output acquiring unit A first updating unit for updating the weights of the neural network based on the first evaluation unit and the evaluation result obtained by the first evaluation unit; A second output acquiring unit for acquiring at least a second output from the neural network by using a second learning sample having at least a second correct form as an input to the neural network, and a second output
  • a learning sample generation unit that generates a learning sample having at least one of a first correct answer form and a second correct answer form
  • the learning sample preparation unit comprises: a learning input data acquisition unit acquiring learning input data; and a first correct answer specifying information identifying a correct answer of a first correct form to the learning input data
  • a first correct answer data creation unit for creating first correct answer data for the learning input data based on the first correct answer identification information, and a second correct answer form for the learning input data
  • a second correct answer specifying information acquiring unit for obtaining a second correct answer specifying information for specifying the correct answer and a second correct answer data for the learning input data based on the second correct answer specifying information
  • Correct data creation And associating at least one correct answer data among the first correct answer data created by the first correct answer data creating unit and the second correct answer data created by the second correct answer data creating unit with the learning input data And a processing unit.
  • a learning device includes a display device that displays learning input data acquired through a learning input data acquisition unit, and a first correct answer form for the learning input data. And an input device for the user to input at least one instruction out of an instruction to specify and an instruction to specify a second correct answer form for the learning input data, the display device including the input device The first correct answer data created using the first correct answer data creation unit according to the input instruction, and the second correct answer created using the second correct answer data creation unit according to the instruction input from the input device At least one of the data may be displayed.
  • Another aspect of the present invention is a program that causes a computer to perform learning of a neural network, wherein the neural network is a first neural network that outputs a first output corresponding to a first correct form.
  • a neural network including a second neural network that performs a second output corresponding to a second correct form, and a third neural network that outputs an input element to the first neural network and the second neural network
  • the program includes a selection step of selecting a learning sample having at least one of the first correct form and the second correct form from the data group for learning, and the selected learning sample to the neural network.
  • Another aspect of the present invention is a program that causes a computer to perform learning of a neural network, wherein the neural network is a first neural network that outputs a first output corresponding to a first correct form.
  • a neural network including a second neural network that performs a second output corresponding to a second correct form, and a third neural network that outputs an input element to the first neural network and the second neural network
  • the program is a part or all of the first learning data group from the first learning data group including at least two types of correct answer forms including the first correct answer form and the second correct answer form Selecting a second learning data group; and learning samples included in the second learning data group.
  • a weight for updating the weight of the neural network based on the evaluation result obtained from the evaluation step using all of the evaluation step for evaluating at least one of the outputs and the learning sample included in the second learning data group A program that causes a computer to execute an updating step, and a program in which a first correct form and a second correct form are included in a second learning data group as a learning unit for updating weights. is there.
  • Another aspect of the present invention is a program that causes a computer to perform learning of a neural network, wherein the neural network is a first neural network that outputs a first output corresponding to a first correct form.
  • a neural network including a second neural network that performs a second output corresponding to a second correct form, and a third neural network that outputs an input element to the first neural network and the second neural network
  • the program inputs, to the neural network, first learning input data associated with at least a first correct answer data of at least a first correct answer form among the first correct answer form and the second correct answer form.
  • the second evaluation step of evaluating at least the second output obtained in the second output acquisition step, and the evaluation result obtained in the second evaluation step And causing the computer to execute a second updating step of updating the weights of the neural network.
  • Another aspect of the present invention is a learning device of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • the learning device is a neural network including a second neural network that performs a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network.
  • a processor which selects a learning sample having at least one of a first correct form and a second correct form from a group of data for learning, and a neural network for the selected sample for learning By using it as an input to the network, the first output from the neural network and An output acquisition step of acquiring at least one of the two outputs, an evaluation step of evaluating at least one of the first output and the second output obtained by the output acquisition unit, and an evaluation unit A first neural network and a second neural network are performed after performing a weight update step of updating the weight of the neural network based on the evaluation result, a selection step, an output acquisition step, an evaluation step, and a weight update step multiple times. And a weight determining step of determining the weight of each of the third neural networks.
  • Another aspect of the present invention is a learning device of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • the learning device is a neural network including a second neural network that performs a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network.
  • a processor which is a part or all of a first learning data group from a first learning data group including at least two types of correct answer forms including a first correct answer form and a second correct answer form Selecting the second learning data group, which is the second learning data group, and the learning data contained in the second learning data group
  • the weights of the neural network are updated based on the evaluation result obtained from the evaluation step using all of the evaluation step of evaluating at least one of the two outputs and the learning samples included in the second learning data group Performing the process of each step including the step of updating the weight, and the first correct form and the second correct form are included in the second learning data group as a learning unit for updating the weight. Is a learning device.
  • Another aspect of the present invention is a learning device of a neural network, wherein the neural network includes a first neural network that performs a first output corresponding to a first correct form, and a second correct form.
  • the learning device is a neural network including a second neural network that performs a corresponding second output, and a third neural network that outputs input elements to the first neural network and the second neural network.
  • a processor wherein the processor inputs, to the neural network, first learning input data associated with first correct data of at least a first correct form among the first correct form and the second correct form.
  • a first output acquiring step of acquiring at least a first output, and the first output acquiring A first evaluation step of evaluating at least a first output obtained in step; and a first update step of updating weights of the neural network based on the evaluation result obtained in the first evaluation step.
  • the second evaluation step in which the second output obtained in the second output acquisition step is evaluated On the basis of the evaluation result obtained in the second evaluation step obtained in the second evaluation step in which the second output acquisition step is performed, the second evaluation step in which the second output obtained in the second output acquisition step is evaluated, and , And a second updating step of updating the weights of the neural network.
  • FIG. 1 is an explanatory view schematically showing an outline of a learning method of a neural network according to an embodiment of the present invention.
  • FIG. 2 is a simple example of two types of correct answer forms corresponding to an input image.
  • FIG. 3 is a chart showing an example of a learning data group.
  • FIG. 4 is a flowchart showing an example of a learning method of a neural network.
  • FIG. 5 is a block diagram showing the function of the learning device.
  • FIG. 6 is a flowchart showing another example of the learning method of the neural network.
  • FIG. 7 is a flowchart showing another example of the learning method of the neural network.
  • FIG. 8 is a flowchart showing another example of the learning method of the neural network.
  • FIG. 1 is an explanatory view schematically showing an outline of a learning method of a neural network according to an embodiment of the present invention.
  • FIG. 2 is a simple example of two types of correct answer forms corresponding to an input image.
  • FIG. 3 is
  • FIG. 9 is a flowchart showing the contents of processing applied to step S58 of FIG.
  • FIG. 10 is a flowchart showing another process content applied to step S58 in FIG.
  • FIG. 11 is a flowchart showing the contents of processing applied to step S60 of FIG.
  • FIG. 12 is a flowchart showing the processing content applied to step S62 of FIG.
  • FIG. 13 is a block diagram showing an example 1 of an image recognition apparatus using a learned neural network.
  • FIG. 14 is a block diagram showing Example 2 of the image recognition device using the learned model.
  • FIG. 15 is a block diagram relating to a creation function of a learning sample installed in the learning device.
  • FIG. 16 is a diagram showing an example of an operation screen displayed when starting preparation of a learning sample.
  • FIG. 17 is a view showing an example of the operation screen displayed when creating the first correct answer data.
  • FIG. 18 is a diagram showing an example of a confirmation screen of correct data.
  • FIG. 19 is a diagram showing an example of the operation screen displayed when creating the second correct answer data.
  • FIG. 20 is a diagram showing an example of a confirmation screen of correct data.
  • FIG. 21 is a conceptual diagram showing an example of a learning sample created by the learning sample creation function.
  • FIG. 22 is a conceptual diagram showing another example 1 of the neural network.
  • FIG. 23 is a conceptual diagram showing another embodiment 2 of the neural network.
  • FIG. 24 is a conceptual diagram showing another example 3 of the neural network.
  • FIG. 25 is a block diagram illustrating an example of a hardware configuration of a computer.
  • FIG. 1 is an explanatory view schematically showing an outline of a learning method of a neural network according to an embodiment of the present invention.
  • a convolutional neural network which is a layered neural network used for image recognition is illustrated.
  • a neural network is a mathematical model of information processing that simulates the mechanism of the cranial nervous system. Processing using a neural network can be realized using a computer.
  • the neural network 10 is a hierarchical neural network including an input layer 10A, a plurality of intermediate layers 10B, a first output layer 10C, and a second output layer 10D. Each layer contains a plurality of "nodes". The illustration of the nodes is omitted in FIG. A node belonging to a certain layer is connected to a node belonging to a layer on the output side of that layer. Each of the connections between nodes of each node is assigned a connection weight. The weight of each connection is determined using a learning method of a neural network according to an embodiment of the present invention.
  • the input side is represented as “front” and the output side as “back”.
  • the solid arrows in FIG. 1 indicate the flow of data.
  • the dashed arrows in FIG. 1 indicate the flow of feedback including the process of updating weights based on learning.
  • the neural network 10 of this example is a convolutional neural network including a combination of convolutional layers and pooling layers in a part of the plurality of intermediate layers 10B.
  • FIG. 1 shows the layer structure of the neural network 10 in a simplified manner, the number of layers of the intermediate layer 10B constituting the neural network 10, the processing content of each layer, and the arrangement order of each layer are not particularly limited. A layered structure consisting of various combinations may be employed.
  • the convolutional layer performs a convolution operation applying a filter to nodes in the local region in the previous layer to obtain a feature map.
  • the convolutional layer plays a role of feature extraction for extracting the characteristic gray scale structure represented by the filter from the image.
  • the pooling layer performs a pooling process of aggregating local regions of the feature map output from the convolution layer using representative values.
  • the pooling layer reduces the feature map output from the convolutional layer to generate a new feature map with reduced resolution.
  • the pooling layer plays a role of providing robustness (reducing the sensitivity to position variation) such that the object feature extracted by the convolutional layer is not affected by the position variation.
  • the neural network 10 may include, in addition to the convolutional layer and the pooling layer, one or more layers of at least one of a normalization layer and a total connection layer.
  • each layer of the intermediate layer 10B may include an activation function as needed.
  • the normalization layer performs processing to normalize the shading of the image. For example, the normalization layer performs local contrast normalization on the output of at least one of the output of the convolution layer and the output of the pooling layer.
  • the total bonding layer is a layer that combines all of the nodes between adjacent layers.
  • the entire bonding layer may be disposed near the output layer.
  • the all connection layer combines feature maps whose features are extracted through the convolutional layer and the pooling layer into one node, and outputs feature variables using an activation function.
  • one or more total connection layers are disposed between the last pooling layer and the output layer.
  • Each of the first output layer 10C and the second output layer 10D performs classification using, for example, a soft max function or the like based on the outputs from all the bonding layers.
  • the neural network 10 of this example has a structure for inputting the output of the middle layer 10B to each of the first neural network 11 and the second neural network 12, and from one input to the neural network 10, two types can be used.
  • the output of can be obtained. That is, the neural network 10 includes a first neural network 11 having a first output layer 10C, a second neural network 12 having a second output layer 10D, and a third neural network 13 having an input layer 10A. And is comprised.
  • the neural network 10 has a layer structure in which a first neural network 11 and a second neural network 12 are connected in parallel behind a third neural network 13.
  • Each of the first neural network 11, the second neural network 12, and the third neural network 13 is a subnetwork that constitutes the neural network 10.
  • the neural network 10 comprises a first recognition processing path for performing a first recognition process using the third neural network 13 and the first neural network 11, and a third neural network 13 and a second neural network 12. And a second recognition processing path that is used to perform a second recognition processing.
  • the third neural network 13 corresponds to a common processing unit responsible for processing common to both the first identification processing and the second identification processing.
  • the third neural network 13 is a neural network that outputs input elements to the first neural network 11 and the second neural network 12.
  • the third neural network 13 includes one or more convolutional layers and one or more pooling layers in addition to the input layer 10A.
  • the first neural network 11 is a neural network to which the element output from the third neural network 13 is input.
  • the first neural network 11 is a neural network that generates a first output OP1 corresponding to the first correct form.
  • the first output OP1 obtained from the first neural network 11 is denoted as “output 1”.
  • the first neural network 11 is configured to include, for example, one or more layers of at least one of a convolutional layer and a total joint layer.
  • the first neural network 11 may include one or more layers of each of the convolutional layer and the total joint layer.
  • the first neural network 11 may include a convolutional layer that performs “1 ⁇ 1 convolution” as the convolutional layer.
  • the 1 ⁇ 1 convolution is a process of grouping feature maps for each channel of a plurality of feature amounts using a “1 ⁇ 1” filter.
  • the first neural network 11 may include a pooling layer.
  • the second neural network 12 is a neural network to which the element output from the third neural network 13 is input.
  • the second neural network 12 is a neural network that generates a second output OP2 corresponding to the second correct form.
  • the second neural network 12 is a neural network different from the first neural network 11.
  • the second correct form is a correct form different from the first correct form.
  • the second output OP2 obtained from the second neural network 12 is referred to as "output 2".
  • the second neural network 12 is configured to include, for example, one or more layers of a convolutional layer and at least one of all the joint layers.
  • the second neural network 12 may include one or more layers of each of the convolutional layer and the entire combined layer.
  • the second neural network 12 may include a convolutional layer that performs “1 ⁇ 1 convolution” as the convolutional layer.
  • the first neural network 11 and the second neural network 12 each include a convolution layer that performs “1 ⁇ 1 convolution”.
  • the input image is “I”
  • the first correct Assuming that the correct answer label of the correct answer form is “L1” and the correct answer label of the second correct answer form is “L2”, the data set used for learning of the convolutional neural network 10 is ⁇ I, L1 ⁇ , ⁇ I, L2 ⁇ . And a set including a combination of ⁇ I, L1, L2 ⁇ .
  • Data set is synonymous with “data group for learning”.
  • the "correct answer label” is synonymous with the "correct answer data”.
  • first correct answer data the correct answer label in the first correct answer form
  • second correct answer data the correct answer label of the second correct answer form
  • first correct answer data L1 is described as “correct 1”
  • second correct data L2 is described as “correct 2”.
  • FIG. 2 is a simple example of two types of correct answer forms corresponding to an input image.
  • FIG. 2 shows an example of the input image I and the first correct answer data L1 and the second correct answer data L2 corresponding thereto.
  • the input image I includes an image area of the recognition target 50.
  • FIG. 2 exemplifies the pattern of the face figure imitating the face as the recognition target 50 for simplification of illustration, the recognition target 50 is not limited to the face.
  • the recognition target may be a lesion area.
  • Various recognition targets may be assumed depending on the application of image recognition. Also, a plurality of recognition targets may be included in the image.
  • the first correct answer data L1 may include the mask image 61 specifying the image area of the recognition target 50.
  • the mask image 61 may be an image area whose outer edge is the contour of the image area of the recognition target 50.
  • the mask image 61 may be a recognition target area in which the image area of the recognition target 50 is extracted in pixel units.
  • the second correct answer data L2 may include a rectangular area 62 overlapping the image area of the recognition target 50.
  • the rectangular area 62 may be called a bounding box.
  • the rectangular area 62 may have a size including the image area of the recognition target 50.
  • the rectangular area 62 may overlap with at least a part of the image area of the recognition target 50, and a part of the image area of the recognition target 50 may extend out of the rectangular area 62.
  • the neural network in which the third neural network 13 and the first neural network 11 shown in FIG. 1 are combined performs, for example, segmentation for extracting an image area to be recognized from the input image I.
  • the first neural network 11 can output a recognition target area as the first output OP1.
  • the neural network in which the third neural network 13 and the second neural network 12 are combined can output, for example, a roughly enclosed rectangular area including the image area to be recognized from the input image I.
  • the learning method of the neural network according to the first embodiment of the present invention includes the following steps 1 to 5.
  • Step 1 First, prepare a learning data group to be used for learning.
  • the learning data group used for learning may be the entire data of the learning sample prepared in advance, or may be a partial data group acquired from the entire data of the learning sample prepared in advance Good.
  • the training data group includes a plurality of training samples.
  • the step of selecting a partial data group from the entire data of learning samples prepared in advance is an example of the step of selecting a second data group for learning from the first data group for learning.
  • the “whole data of learning samples prepared in advance” corresponds to the “first data group for learning”
  • the “partial data group” corresponds to the “second data group for learning”.
  • One learning sample consists of a combination of a learning input image and at least one correct answer data in a correct answer form.
  • a mask image in which the recognition target area is extracted in detail is exemplified as the first correct form.
  • “Extract in detail” refers to, for example, extraction of a recognition target area surrounded by outlines whose outer edges are the accurate outlines of the recognition target.
  • the mask area of the mask image corresponds to each pixel of the recognition target area which is a specific area in the learning input image.
  • a rectangular image simply extracted by a rectangular area so as to roughly identify a recognition target area is illustrated.
  • the second correct form corresponds to the “roughly” or “coarse” extraction of the recognition target area as compared with the first correct form.
  • Correct data of both the first correct form and the second correct form may be given to one learning input image, or only one correct form may be given. .
  • the first correct form and the second correct form may be mixed in the learning data group used for learning.
  • Step 2 The learning input image of the labeled learning sample prepared in Step 1 is input to the neural network 10, and segmentation is performed using the neural network 10.
  • Step 3 When the correct form associated with the learning input image is a mask image, the neural network consisting of the third neural network 13 and the first neural network 11 is the same as learning processing using a normal CNN. Can be updated. That is, for the output of the first neural network 11, an error is calculated using a loss function, and feedback is performed. The feedback here includes a process of updating the weights of the first neural network 11 and the third neural network 13 based on the calculated error.
  • the step of acquiring the output of the first neural network 11 is an example of the “output acquisition step” and the “first output acquisition step”.
  • Calculating the error using the loss function is equivalent to evaluating the output of the neural network.
  • the loss function corresponds to the "evaluation function”.
  • the step of calculating the error using the loss function is an example of the “evaluation step” and the “first evaluation step”.
  • the step of “the process of updating the weights of the first neural network 11 and the third neural network 13” is an example of the “weight update step” and the “first weight update step”.
  • Step 4 If the correct form associated with the learning input image is a rectangular area, after performing convolution processing on the output of the intermediate layer of the neural network 10, an error is calculated using a loss function, and feedback is provided. Do. That is, based on the calculated error, processing of updating the weight of the second neural network 12 and the third neural network 13 is performed.
  • the step of acquiring the output of the second neural network 12 is an example of the “output acquisition step” and the “second output acquisition step”.
  • the step of calculating the error using the loss function for the output from the second neural network 12 is an example of the “evaluation step” and the “second evaluation step”.
  • the step of “the process of updating the weights of the second neural network 12 and the third neural network 13” is an example of the “weight update step” and the “second weight update step”.
  • Step 5 The steps 2 to 4 described above are repeated until the weights of the neural network 10 converge.
  • steps 2 to 4 can be performed in units of minibatches.
  • the mini-batch is a subset of learning data groups prepared in advance, and is a learning data group constituted by a plurality of learning samples selected from among the entire learning data groups prepared in advance.
  • mini-batch learning the error between the output and the correct answer is evaluated for each learning sample using all the learning samples included in the mini-batch, and the weights of the neural network are summarized in mini-batch units using the evaluation results of these errors. It is a method to update.
  • the mini-batch is an example of the “second learning data group”.
  • FIG. 3 shows an example of a learning data group prepared in advance.
  • the learning sample is learning data configured by a combination of input image data and corresponding correct data.
  • the learning sample includes two pieces of correct answer data corresponding to each of the first correct answer form and the second correct answer form, and one of the first correct answer form and the second correct answer form There may be cases where only correct form data is included.
  • name means an identification name that identifies each learning sample.
  • input means "image data for input”.
  • correct 1 means the correct data (first correct data) of the first correct form.
  • correct 2 means the correct data (second correct data) of the second correct form.
  • Yes indicates that data is present.
  • Ni indicates that there is no data.
  • the learning sample A includes input image data, first correct data, and second correct data.
  • the learning sample A is learning data in which two pieces of correct answer data corresponding to the first correct answer form and the second correct answer form are associated with the input image data.
  • the learning sample A can be used as a learning sample to which the first correct answer data is attached, and can be used as a learning sample to which the second correct answer data is attached.
  • the learning sample A can be regarded as substantially two learning samples.
  • the learning sample B represents that there is no correct answer data corresponding to the first correct answer form, but only correct answer data corresponding to the second correct answer form with respect to the input image data.
  • the learning samples A, D, E, and G are examples of the “first learning sample”.
  • the learning samples A, B, C, E, and F are examples of the “second learning sample”.
  • ⁇ Formation example 1 of mini-batch> As an example of the conditions for forming the mini-batch, there may be a mode of forming the mini-batch so as to satisfy the mini-batch condition 1 of “must include multiple correct answer forms in one mini-batch”.
  • An example of a mini-batch formed by satisfying mini-batch condition 1 from the whole of the learning data group shown in FIG. 3 is shown in Table 1.
  • the first neural network 11 and the second neural network 12 are selected according to the learning unit of the mini-batch according to a mode in which a plurality of correct answer forms are mixed in each mini-batch and learning is performed using all learning samples belonging to the mini-batch.
  • the weights of each neural network of the third neural network 13 can be updated.
  • ⁇ Formation example 2 of mini-batch> As an example of other conditions for forming a mini-batch, there may be a mode of forming a mini-batch so as to satisfy mini-batch condition 2 of "swapping multiple correct forms between mini-batches".
  • mini-batch condition 2 of "swapping multiple correct forms between mini-batches”.
  • Table 2 An example of a mini-batch formed by satisfying mini-batch condition 2 from the whole of the learning data group shown in FIG. 3 is shown in Table 2.
  • the number of times of learning up to the third is shown in Table 2, the number of times of learning is not particularly limited.
  • the learning input image may be a captured image obtained by capturing an image captured by an endoscope or an endoscopic image displayed on the screen of a display device.
  • the first correct form is a mask image showing the lesion area in detail.
  • the second correct form is a rectangular image simply showing the lesion area.
  • the “lesion area” is an example of the “specific area in the image”.
  • FIG. 4 is a flowchart showing an example of a learning method of a neural network. Each step of the process shown in FIG. 4 is performed using a computer.
  • the computer can function as a learning device by executing a program.
  • the computer includes a CPU (Central Processing Unit) and a memory.
  • the computer may include a GPU (Graphics Processing Unit).
  • the signal processing device that performs the learning process of the neural network 10 is referred to as a “learning device”.
  • the “learning device” may be rephrased as “image processing device”.
  • the learning device selects a plurality of learning samples from the learning data group to form a mini-batch.
  • the learning data group is prepared in advance and stored in an internal storage device of the learning device or an external storage device connected to the learning device.
  • the external storage device may be, for example, a portable storage medium such as a memory card, or an external hard disk drive connected via a communication line. Also, the external storage device may be a storage device of another computer connected via a communication line.
  • the learning device can form a mini-batch automatically from the learning data group according to the program.
  • the learning device may form a mini-batch according to the input instruction when the user gives an instruction to select a learning sample from an input device or the like.
  • the above-mentioned mini-batch condition 1 or mini-batch condition 2 is followed.
  • the step of forming the mini-batch in step S11 is an example of the step of selecting the second learning data group.
  • step S12 the learning device inputs the learning input image of the learning sample included in the mini-batch to the neural network 10 to obtain the first output OP1 and the second output OP2.
  • step S12 is an example of the “selection step”.
  • Step S12 is an example of the "output acquisition step”.
  • step S13 the learning device determines an error between the first correct answer data according to the first correct answer form and the first output OP1, and second correct answer data according to the second correct answer form and the second output OP2 Calculate the error of
  • the method of calculating the error may be, for example, a squared error, or a cross entropy.
  • Step S13 is an example of the “evaluation step”.
  • Steps S12 and S13 are performed on all the learning input images included in the mini-batch.
  • step S14 the learning device updates the weights of the neural network 10 based on the error calculated in step S13.
  • the steepest descent method may be employed.
  • the weights of the first neural network 11 and the third neural network 13 are updated using the update amount of the weight calculated based on the error regarding the first correct form.
  • the weights of the second neural network 12 and the third neural network 13 are updated using the update amount of the weight calculated based on the error regarding the second correct form.
  • step S14 is performed in mini-batch units. Step S14 is an example of the "weight update step".
  • step S15 the learning device determines whether the learning end condition is satisfied. In the case of No determination in the determination processing of step S15, that is, when it is determined that the learning end condition is not satisfied, the learning device returns to step S11 and repeats steps S11 to S14 until the learning end condition is satisfied. .
  • the learning termination condition may be determined based on the value of the error, or may be determined based on the number of updates. As a method based on the value of the error, for example, the fact that the error converges within a prescribed range may be used as the learning termination condition. As a method based on the number of updates, for example, the learning end condition may be that the number of updates has reached a specified number.
  • weighting of the loss function used as an evaluation function may have an aspect of changing linearly according to the number of updates or an aspect of changing in stages.
  • step S15 in the case of Yes determination, that is, when it is determined that the learning termination condition is satisfied, the process proceeds to step S16.
  • step S16 the learning device determines the weights of the neural network, and ends the learning process.
  • Step S16 is an example of the "weight determination step”.
  • segmentation can be performed using the third neural network 13 and the first neural network 11 without using the second neural network 12.
  • FIG. 5 is a block diagram showing the function of the learning device.
  • the learning device 100 includes a signal processing device 102.
  • the signal processing device 102 can obtain data stored in the storage device 130. Further, the signal processing device 102 can store data in the storage device 130.
  • the storage device 130 includes a learning data group storage unit 132 and a mini-batch storage unit 134.
  • the learning data group storage unit 132 is a storage area in which all data of learning samples that can be used for learning are stored.
  • the mini-batch storage unit 134 is a storage area for storing mini-batch, which is a part of learning data group selected from among the learning data group of the entire learning sample stored in the learning data group storage unit 132.
  • the mini-batch storage unit 134 may store learning samples belonging to the mini-batch, or may store information for specifying learning samples belonging to the mini-batch.
  • a part or all of the storage area of the storage device 130 may be provided inside the signal processing device 102.
  • the storage device 130 may be included in the learning device 100, or may be an external device other than the learning device 100, a server, a cloud storage, or the like. Further, the storage device 130 may include a storage area for storing a program executed by the signal processing device 102.
  • the learning device 100 preferably includes an input device 140 and a display device 142.
  • the input device 140 and the display device 142 function as a user interface.
  • the input device 140 may be, for example, an operation button, a keyboard, a mouse, a touch panel, or a voice input device, or an appropriate combination thereof.
  • the user can input various instructions to the learning device 100 by operating the input device 140.
  • the signal processing device 102 can execute various processes in accordance with an instruction input from the input device 140.
  • the display device 142 may be, for example, a liquid crystal display, an organic electro-luminescence (OEL) display, a projector, or a suitable combination thereof.
  • the display device 142 can display various types of information such as various setting information necessary for the processing of the signal processing device 102 or information indicating the processing result.
  • the signal processing device 102 includes a mini-batch formation unit 104, a learning sample selection unit 106, and a neural network 10. Further, the signal processing apparatus 102 includes a first output acquisition unit 110, a first error calculation unit 111, a first weight update amount calculation unit 112, a first weight update processing unit 114, and a second. It includes an output acquisition unit 120, a second error calculation unit 121, a second weight update amount calculation unit 122, a second weight update processing unit 124, and a weight determination unit 126.
  • the mini-batch forming unit 104 performs processing of selecting a learning sample and forming a mini-batch in accordance with predetermined conditions.
  • the conditions for forming the mini-batch are, for example, like the "mini-batch condition 1" or the "mini-batch condition 2" described above.
  • the mini-batch formation unit 104 can automatically form a mini-batch according to a program from the learning data group stored in the learning data group storage unit 132. Alternatively, the mini-batch forming unit 104 may form the mini-batch according to the instruction given from the input device 140 in response to the operation of the user.
  • the mini-batch formation unit 104 is an example of a “learning data group selection unit”.
  • the learning sample selection unit 106 performs a process of selecting one or more learning samples to be used for learning from the learning data group storage unit 132 or the mini batch storage unit 134.
  • the learning sample selection unit 106 performs processing of sequentially selecting learning samples to be input to the neural network 10 from the mini-batch.
  • the learning sample selection unit 106 may select a learning sample to be used for learning from the learning data group stored in the learning data group storage unit 132.
  • the learning input image of the learning sample selected by the learning sample selection unit 106 is input to the neural network 10.
  • the learning sample selection unit 106 is an example of a “selection unit”.
  • the first output acquisition unit 110 acquires the first output OP1 output from the first neural network 11.
  • the first output OP1 is input to the first error calculation unit 111 via the first output acquisition unit 110.
  • the first output acquisition unit 110 may be an input unit of the first error calculation unit 111.
  • the first error calculation unit 111 calculates the first correct answer data L1 corresponding to the learning input image input to the neural network 10, and the first output OP1 actually obtained from the first neural network 11. Calculate the error of The error calculated by the first error calculation unit 111 is sent to the first weight update amount calculation unit 112.
  • the first error calculation unit 111 is an example of a “first evaluation unit”.
  • the first weight update amount calculation unit 112 calculates the update amount of each weight of the first neural network 11 and the third neural network 13 based on the error calculated by the first error calculation unit 111. Do.
  • the first weight update amount calculation unit 112 calculates the weight update amount in mini-batch units.
  • the first weight update processing unit 114 performs processing of updating each weight of the first neural network 11 and the third neural network 13 in accordance with the update amount calculated by the first weight update amount calculation unit 112.
  • the first weight update processing unit 114 performs weight update processing in mini-batch units.
  • the first weight update processing unit 114 is an example of a “first update unit”.
  • the second output acquisition unit 120 acquires the second output OP2 output from the second neural network 12.
  • the second output OP2 is input to the second error calculation unit 121 via the second output acquisition unit 120.
  • the second output acquisition unit 120 may be an input unit of the second error calculation unit 121.
  • the combination of the second output acquisition unit 120 and the first output acquisition unit 110 is an example of the “output acquisition unit”.
  • the second error calculation unit 121 includes the second correct answer data L2 corresponding to the learning input image input to the neural network 10, and the second output OP2 actually obtained from the second neural network 12. Calculate the error of The error calculated by the second error calculation unit 121 is sent to the second weight update amount calculation unit 122.
  • the second error calculation unit 121 is an example of the “second evaluation unit”.
  • the combination of the second error calculation unit 121 and the first error calculation unit 111 is an example of the “evaluation unit”.
  • the second weight update amount calculation unit 122 calculates the update amount of each weight of the second neural network 12 and the third neural network 13 based on the error calculated by the second error calculation unit 121. Do.
  • the second weight update amount calculation unit 122 calculates the weight update amount in mini-batch units.
  • the second weight update processing unit 124 performs processing of updating each weight of the second neural network 12 and the third neural network 13 in accordance with the update amount calculated by the second weight update amount calculation unit 122.
  • the second weight update processing unit 124 performs weight update processing in mini-batch units.
  • the second weight update processing unit 124 is an example of a “second update unit”.
  • the combination of the second weight update processing unit 124 and the first weight update processing unit 114 is an example of the “update unit”.
  • the weight determination unit 126 ends learning according to a predetermined learning end condition, and determines the weight of the neural network 10.
  • the function of the first weight update amount calculator 112 and the function of the second weight update amount calculator 122 may be integrated as one “weight update amount calculator”.
  • the weight update amount calculation unit calculates the first neural network based on an error obtained by combining the error calculated by the first error calculation unit 111 and the error calculated by the second error calculation unit 121. 11, the update amount of each weight of the second neural network 12 and the third neural network 13 may be calculated.
  • the function of the first weight update processing unit 114 and the function of the second weight update processing unit 124 may be integrated as one “weight update processing unit”.
  • the weight update processing unit updates the weights of the first neural network 11, the second neural network 12, and the third neural network 13 according to the update amount calculated by the weight update amount calculation unit. I do.
  • the weight update process is not limited to the form performed in mini-batch units, and the weight update process may be performed for each learning input image input to the neural network 10.
  • each of the first weight update amount calculation unit 112 and the second weight update amount calculation unit 122 calculates the weight update amount for each of the learning input images input to the neural network 10.
  • each of the first weight update processing unit 114 and the second weight update processing unit 124 performs processing for updating the weight of the neural network 10 for each of the learning input images input to the neural network 10. Do.
  • the learning method of the neural network according to the present invention is not limited to mini-batch learning, but can be applied to online learning in which weights are successively updated for each of the learning samples.
  • the mini-batch forming unit 104 in the signal processing device 102 shown in FIG. 5 can be omitted.
  • the second correct form is not limited to the rectangular area, and may be another polygonal area, a circular area, an elliptical area, or the like.
  • FIG. 6 is a flowchart showing another example of the learning method of the neural network.
  • the flowchart shown in FIG. 6 may be applied to mini-batch learning or may be applied to online learning in which weights are successively updated for each of the learning samples.
  • step S22 the learning device selects a learning sample from the learning data group.
  • the learning data group referred to here may be the whole or a part of the learning data group prepared in advance.
  • the learning data group may be a mini-batch. However, it is assumed that the correct data of each of the first correct form and the second correct form is included in the learning data group.
  • Step S22 is an example of the "selection step".
  • step S24 the learning device inputs the learning sample selected in step S22 to the neural network 10.
  • step S26 the learning device obtains at least one output of the first output OP1 and the second output OP2 from the neural network 10.
  • the neural network 10 may always obtain two types of outputs, the first output OP1 and the second output OP2, for the input learning input image, or in the correct form in which the correct data exists. Only the corresponding output may be acquired. For example, when the learning sample B of FIG. 3 is used, since the first correct answer data does not exist, the operation for obtaining the first output OP1 may be omitted, and only the second output OP2 may be obtained.
  • Step S26 is an example of the “output acquisition step”.
  • step S28 of FIG. 6 the learning device determines whether or not there is first correct data in the learning sample used for the input. If it is determined as Yes in the determination process of step S26, that is, if it is determined that there is first correct data, the process proceeds to step S30. On the other hand, in the case of No determination in the determination processing of step S26, that is, when it is determined that there is no first correct data, the process proceeds to step S33.
  • step S30 the learning device evaluates the first output OP1 using the first correct answer data.
  • the evaluation includes the calculation of the error using a loss function.
  • Step S30 is an example of the “evaluation step” and the “first evaluation step”.
  • step S32 the learning device updates the weights of the neural network 10 based on the evaluation result of step S20.
  • Step S32 is an example of the "updating step” and the "first updating step”.
  • step S33 the learning device determines whether or not there is second correct data in the learning sample used for the input. If it is determined as Yes in the determination process of step S33, that is, if it is determined that there is the second correct data, the process proceeds to step S34.
  • step S34 the learning device evaluates the second output OP2 using the second correct answer data.
  • Step S34 is an example of the "evaluation step” and the "second evaluation step”.
  • step S36 the learning device updates the weights of the neural network 10 based on the evaluation result of step S34.
  • Step S36 is an example of the "updating step” and the "second updating step”.
  • step S36 the process proceeds to step S38.
  • step S38 the process proceeds to step S38.
  • step S38 the learning device determines whether the learning end condition is satisfied. If the determination process in step S38 is No, that is, if it is determined that the learning end condition is not satisfied, the process returns to step S22, and the process from step S22 to step S38 is repeated. The learning device repeatedly executes the processing from step S22 to step S38 until the learning end condition is satisfied.
  • step S38 determines whether the learning termination condition is satisfied. If the determination process in step S38 is YES, that is, if it is determined that the learning termination condition is satisfied, the process proceeds to step S40.
  • step S40 the learning device determines the weights of the neural network 10, and ends the learning process.
  • Step S40 is an example of the “weight determination step”.
  • FIG. 6 shows an example in which the second output is evaluated after the first output is evaluated
  • the order of the evaluation processing is not particularly limited.
  • the second output may be evaluated before the first output may be evaluated, or the evaluation of the first output and the evaluation of the second output may be processed in parallel.
  • FIG. 7 is a flowchart showing another example of the learning method of the neural network. Steps in the flowchart shown in FIG. 7 that are the same as or similar to those in the flowchart in FIG. 6 are assigned the same step numbers, and descriptions thereof will be omitted. The differences from FIG. 6 will be described.
  • FIG. 7 The flowchart shown in FIG. 7 is different from FIG. 6 in that steps S20 and S39 are added, and includes step S22B in place of step S22 of FIG.
  • step S20 the learning device performs a process of selecting a second learning data group from the first learning data group.
  • the second learning data group may be part or all of the first learning data group.
  • the second training data group corresponds to a mini-batch.
  • the first learning data group may be the whole of the prepared learning data group or may be a part thereof.
  • step S22B the learning device selects a learning sample from the second learning data group selected in step S20.
  • step S24 to step S38 is the same as that of FIG.
  • step S38 In the flowchart shown in FIG. 7, in the case of No determination in the determination processing of step S38, the process proceeds to step S39.
  • step S39 the learning device determines whether to change the second learning data group. If the determination process in step S39 is No, that is, if it is determined that the second learning data group is not changed, the process returns to step S22B without changing the second learning data group.
  • step S39 determines Yes in the determination processing of step S39, that is, if it is determined that the second learning data is to be changed. the process returns to step S20, and the second learning data group is reselected.
  • FIG. 8 is a flowchart showing another example of the learning method of the neural network.
  • the learning device selects a second learning data group from the first learning data group.
  • Step S50 is processing similar to step S20 described in FIG.
  • step S52 the learning device selects a learning sample from the second learning data group selected in step S50.
  • Step S52 is the same process as step S22B described in FIG.
  • step S54 the learning device determines whether or not there is first correct data in the learning sample selected in step S52. If the determination process in step S54 is YES, that is, if the first correct data exists in the learning sample, the process proceeds to step S56.
  • step S56 the learning device determines whether or not there is second correct data in the learning sample selected in step S52. If it is determined as Yes in the determination process of step S56, that is, if both the first correct data and the second correct data exist in the learning sample, the process proceeds to step S58.
  • step S58 the learning device performs learning processing of the first correct form and the second correct form.
  • the processing content of step S58 will be described later using the flowcharts of FIGS. 9 and 10.
  • step S60 the learning device performs a learning process of the first correct form.
  • the processing content of step S60 will be described later using the flowchart of FIG.
  • step S62 the learning device performs the learning process of the second correct form.
  • the processing content of step S62 is later mentioned using the flowchart of FIG.
  • step S58 After the process of step S58, step S60 or step S62, the process proceeds to step S70.
  • step S70 the learning device determines whether the learning end condition is satisfied. If the determination process in step S70 is No, that is, if it is determined that the learning end condition is not satisfied, the process proceeds to step S72.
  • step S72 the learning device determines whether to change the second learning data group. If the determination process in step S72 is No, that is, if it is determined that the second learning data group is not changed, the process returns to step S52 without changing the second learning data group.
  • step S72 determines whether it is determined Yes in the determination processing in step S72, that is, if it is determined to change the second learning data. the process returns to step S50, and the second learning data group is reselected.
  • step S70 If it is determined Yes in the determination process of step S70, that is, if it is determined that the learning end condition is satisfied, the process proceeds to step S74.
  • step S74 the learning device determines the weights of the neural network 10, and ends the learning process.
  • FIG. 9 is a flowchart showing an example of the processing content applied to step S58 in FIG.
  • the learning device inputs the first learning input data to the neural network 10.
  • the “first learning input data” mentioned here indicates a learning input image as input data for the learning sample selected in step S52 of FIG.
  • step S102 of FIG. 9 the learning device obtains the first output and the second output from the neural network 10.
  • the learning device processes the first learning input data using the neural network 10 to obtain a first output and a second output.
  • Step S102 is an example of the “output acquisition step”.
  • step S103 the learning device evaluates the first output.
  • the learning device calculates an error between the first output obtained in step S102 and the first correct data associated with the first learning input data, and evaluates the first output.
  • Step S103 is an example of the “evaluation step” and the “first evaluation step”.
  • step S104 the learning device updates the weights of the neural network based on the evaluation result of step S103.
  • the learning device calculates the update amount of the weight of each neural network of the first neural network 11 and the third neural network 13 from the evaluation result of step S103, and updates the weight according to the calculated update amount.
  • Step S104 is an example of the “update step” and the “first update step”.
  • step S105 the learning device evaluates the second output.
  • the learning device calculates an error between the second output obtained in step S102 and the second correct data associated with the first learning input data, and evaluates the second output.
  • Step S105 is an example of the “evaluation step” and the “second evaluation step”.
  • step S106 the learning device updates the weights of the neural network based on the evaluation result of step S105.
  • the learning device calculates the update amount of the weight of each neural network of the second neural network 12 and the third neural network 13 from the evaluation result of step S105, and updates the weight according to the calculated update amount.
  • Step S106 is an example of the "update step” and the "second update step”.
  • step S106 the learning device returns to the flowchart of FIG.
  • step S105 described in FIG. 9 may be performed before step S103. In that case, step S106 may be performed before step S104.
  • FIG. 10 is a flowchart showing another example of the processing content applied to step S58 in FIG.
  • step S104 and step S106 of the flowchart shown in FIG. 9 are omitted, and instead, step S107 is added after step S105.
  • step S107 the learning device updates the weights of the neural network based on the evaluation result obtained in step S103 and the evaluation result obtained in step S105.
  • the learning device calculates the update amount of the weight of each of the first neural network 11, the second neural network 12, and the third neural network 13 from the evaluation result of step S103 and the evaluation result of step S105, The weights are updated according to the calculated update amount.
  • step S107 the learning device returns to the flowchart of FIG.
  • FIG. 11 is a flowchart showing the contents of processing applied to step S60 of FIG.
  • step S111 of FIG. 11 the learning device inputs the first learning input data to the neural network 10.
  • step S112 the learning device obtains a first output from the neural network 10.
  • the learning device performs processing using the neural network 10 on the first learning input data to obtain a first output.
  • step S113 the learning device evaluates the first output.
  • the learning device calculates an error between the first output obtained in step S112 and the first correct data associated with the first learning input data, and evaluates the first output.
  • step S114 the learning device updates the weights of the neural network based on the evaluation result of step S113.
  • the learning device calculates the update amount of the weight of each neural network of the first neural network 11 and the third neural network 13 from the evaluation result of step S113, and updates the weight according to the calculated update amount.
  • FIG. 12 is a flowchart showing the processing content applied to step S62 of FIG.
  • step S121 of FIG. 12 the learning device inputs the second learning input data to the neural network 10.
  • the “second learning input data” mentioned here indicates a learning input image as input data for the learning sample selected in step S52 of FIG.
  • the “second learning input data” indicates that it is learning input data associated with the second correct data.
  • step S122 the learning device obtains a second output from the neural network 10.
  • the learning device performs processing using the neural network 10 on the second learning input data to obtain a second output.
  • step S123 the learning device evaluates the second output.
  • the learning device calculates an error between the second output obtained in step S122 and the second correct data associated with the second learning input data, and evaluates the second output.
  • a loss function is used to calculate the error.
  • step S124 the learning device updates the weights of the neural network based on the evaluation result of step S123.
  • the learning device calculates the update amount of the weight of each neural network of the second neural network 12 and the third neural network 13 from the evaluation result of step S123, and updates the weight according to the calculated update amount.
  • step S124 the learning device returns to the flowchart of FIG.
  • the learning using the first correct form and the learning using the second correct form are performed in parallel.
  • the weights of the neural network 10 are determined by repeating the update of the weights of the neural networks 11, the second neural network 12, and the third neural network 13.
  • the effect of weight update by learning using the second correct form contributes to the improvement of the recognition accuracy of the first correct form.
  • the effect of weight update by learning using the first correct form contributes to the improvement of the recognition accuracy of the second correct form.
  • the learning sample including the second correct form helps to improve the recognition accuracy of the first correct form, and the learning sample including the first correct form corresponds to the second correct form. It helps to improve the recognition accuracy.
  • the rectangular area exemplified as the second correct form is easy to create correct data, and the cost of creating the correct data is low.
  • the second correct form in which the preparation cost of the correct data is lower than the first correct form it is possible to reduce the burden of preparation of learning data necessary for machine learning. Even when there are few good-quality correct answer data, it is possible to obtain a neural network with high recognition performance.
  • the learned neural network is called a "learned model".
  • the learned model may be understood as a program module that performs recognition processing, and the learned model includes the concepts of "recognizer", “classifier”, “classifier” or "detector".
  • FIG. 13 is a block diagram showing an example 1 of an image recognition apparatus using a learned neural network.
  • the image recognition apparatus 200 includes a trained neural network 210.
  • the learned neural network 210 is the neural network 10 learned using the neural network learning method according to the embodiment of the present invention described above.
  • the learned neural network 210 is an example of the “learned model”.
  • the image recognition apparatus 200 can output two forms of recognition results for an input image.
  • the image recognition device 200 can be realized using a computer.
  • the image recognition device 200 may be connected to the display device 242.
  • the first recognition result includes information in which the recognition target area is extracted in detail.
  • the second recognition result includes information obtained by simply extracting the recognition target area. The first recognition result or the second recognition result or both of them are displayed on the display device 242.
  • the image recognition apparatus 200 may use the learning apparatus 100 described in FIG. 5 as it is.
  • the display 242 may be the display 142 shown in FIG.
  • FIG. 14 is a block diagram showing an example 2 of the image recognition device using the learned neural network.
  • the image recognition device 201 includes a learned neural network 211.
  • the learned neural network 211 is the third neural network 13 and the first neural network which are part of the neural network 10 learned using the neural network learning method according to the embodiment of the present invention described above. 11
  • the learned neural network 211 is an example of the “learned model”.
  • the image recognition device 201 outputs one form of recognition result for an input image.
  • the image recognition device 201 can be realized using a computer.
  • the image recognition device 201 When an image is input to the image recognition device 201, processing is performed by the learned neural network 211, and a first recognition result is output.
  • the first recognition result includes information in which the recognition target area is extracted in detail.
  • the first recognition result is displayed on the display device 242.
  • An apparatus for creating learning samples by associating correct data with learning input data can be configured using a computer different from the learning apparatus 100.
  • the learning device 100 may have a function of creating a learning sample.
  • FIG. 15 is a block diagram relating to a creation function of a learning sample installed in the learning device.
  • the learning device 100 includes a learning sample preparation unit 160.
  • the learning sample preparation unit 160 includes a learning input data acquisition unit 161, a correct answer specific information acquisition unit 162, a correct data preparation unit 164, and an association processing unit 166.
  • the learning input data acquisition unit 161 takes in learning input data to which the correct answer data for at least one of the first correct answer form and the second correct answer form has not been assigned.
  • the learning input data acquisition unit 161 can acquire learning input data to which neither of the two types of correct answer data of the first correct answer form and the second correct answer form has been assigned.
  • the learning input data acquisition unit 161 can acquire learning input data from the learning input data storage unit 131.
  • the storage device 130 may include a learning input data storage unit 131.
  • the learning input data storage unit 131 is a storage area for storing learning input data to which the correct answer data for at least one of the first correct answer form and the second correct answer form has not been assigned.
  • the learning input data storage unit 131 may be configured of a storage device different from the storage device 130.
  • the correct answer identifying information acquiring unit 162 includes a first correct answer identifying information acquiring unit 162A and a second correct answer identifying information acquiring unit 162B.
  • the first correct answer identifying information acquiring unit 162A acquires the first correct answer identifying information supplied from the input device 140.
  • the first correct answer identifying information is information identifying the correct answer in the first correct answer form.
  • the first correct answer specifying information may be, for example, information specifying a detailed outline of the recognition target area. The user can operate the input device 140 while checking the image of the learning input data displayed on the display device 142, and can input an instruction to specify the correct answer of the first correct answer form.
  • the second correct answer identifying information acquiring unit 162B acquires the second correct answer identifying information supplied from the input device 140.
  • the second correct answer identifying information is information identifying the correct answer in the second correct answer form.
  • the second correct answer specifying information may be, for example, information specifying a rectangular shape that simply surrounds the recognition target area. The user can operate the input device 140 while checking the image of the learning input data displayed on the display device 142, and can input an instruction to specify the correct answer of the second correct answer form.
  • the correct data generation unit 164 includes a first correct data generation unit 164A and a second correct data generation unit 164B.
  • the first correct answer data creation unit 164A performs a process of creating first correct answer data based on the first correct answer identification information.
  • the first correct data is, for example, a mask image of the recognition target area.
  • the second correct answer data creation unit 164B performs a process of creating second correct answer data based on the second correct answer identification information.
  • the second correct answer data is, for example, a rectangular area surrounding the recognition target area.
  • the association processing unit 166 performs processing for associating the learning input data acquired via the learning input data acquisition unit 161 with the correct data generated by the correct data generation unit 164, and for learning provided with the correct data. Create a sample The learning samples created in this manner are stored in the learning data group storage unit 132 of the storage device 130.
  • FIGS. 16 to 20 are examples of screens displayed on the display device 142 when creating a learning sample.
  • FIG. 16 is a diagram showing an example of an operation screen displayed when starting preparation of a learning sample.
  • the window 300 illustrated in FIG. 16 includes an image display area 301, a first correct answer data creation button 304, a second correct answer data creation button 306, and a plurality of forms of correct answer data creation buttons 308.
  • the “button” is a graphical user interface (GUI) button.
  • the expression “press” for the GUI button includes an operation of inputting an instruction corresponding to the button, such as clicking or touching.
  • the image display area 301 the image content of the learning input data 302 is displayed.
  • an endoscopic image is illustrated.
  • the image of the learning input data 302 includes a lesion area 303 as a recognition target area.
  • a plurality of lesion areas may be included in one image.
  • the first correct answer data creation button 304 is a button selected when creating the first correct answer data.
  • the second correct answer data creation button 306 is a button selected when creating the second correct answer data.
  • a plurality of correct data creation buttons 308 are selected when creating both the first correct data and the second correct data. The user may select a desired button depending on the form of the correct answer data to be created. In addition, when the correct data already assigned is present, it is indicated that the button of the correct data assigned is grayed out from the selection target.
  • FIG. 17 is a diagram showing an example of the operation screen displayed when creating the first correct answer data.
  • the window 310 illustrated in FIG. 17 includes an operation guidance display area 314, an execution button 316, a cancel button 317, and a return button 318.
  • the operation guidance display area 314 a message of operation contents required for the user is displayed.
  • the user performs an operation of specifying the contour 313 of the lesion area 303 using the input device 140.
  • an outline can be designated for each lesion area.
  • the execution button 316 is a button for inputting a command to execute creation of first correct answer data according to the outline 313 designated by the user. After the user designates the outline 313, when the execution button 316 is pressed, first correct answer data representing a mask image in which the area surrounded by the designated outline 313 is masked is created.
  • the cancel button 317 is a button selected when canceling the designation of the outline 313.
  • the user can re-specify the outline 313 by pressing the cancel button 317.
  • the operation screen of FIG. 16 returns to the operation screen of FIG.
  • FIG. 18 is a diagram showing an example of a confirmation screen of correct data. For example, when the execution button 316 is pressed in FIG. 17, a confirmation screen as shown in FIG. 18 is displayed. In the window 320 illustrated in FIG. 18, the image content of the first correct answer data 322 including the mask image 324 is displayed in the image display area 301.
  • the original image content may be displayed as it is for an image area other than the mask image 324, or may be differentially displayed so as to display an area not to be recognized.
  • the window 320 includes a save button 326, a cancel button 327, and a back button 318.
  • the save button 326 is a button for inputting a command to save the created correct data in the storage device 130 in association with the learning input data.
  • the cancel button 327 is a button selected when canceling saving of the created correct answer data. When the cancel button 327 is pressed, it is possible to return to the operation screen of FIG. 17 and to specify the outline 313 again.
  • FIG. 19 is a diagram showing an example of the operation screen displayed when creating the second correct answer data.
  • the second correct answer data creation button 306 shown in FIG. 16 is pressed, an operation screen for creating the second correct answer data is displayed on the display device 142.
  • the window 330 illustrated in FIG. 19 includes, in addition to the image display area 301, an operation guidance display area 334, an execution button 336, a cancel button 337, and a return button 318.
  • the operation guidance display area 334 a message of operation content required for the user is displayed.
  • the user uses the input device 140 to perform an operation of designating a rectangular frame 333 that simply encloses the lesion area 303.
  • the execution button 336 is a button for inputting a command to execute the creation of the second correct data in accordance with the rectangular frame 333 designated by the user. After the user designates the rectangular frame 333 and presses the execution button 336, second correct answer data representing a rectangular area surrounded by the designated rectangular frame 333 is created.
  • the cancel button 337 is a button selected when canceling the specification of the rectangular frame 333.
  • FIG. 20 is a diagram showing an example of a confirmation screen of correct data.
  • a confirmation screen as shown in FIG. 20 is displayed.
  • the image content of the second correct answer data 342 including the rectangular area 344 in the image display area 301 is displayed.
  • the original image contents may be displayed as it is, or may be differentially displayed so as to indicate that it is an area not to be recognized.
  • the window 340 includes a save button 346, a cancel button 347, and a back button 318.
  • the save button 346 is a button for inputting an instruction to save the created correct answer data in the storage device 130 in association with the learning input data.
  • the cancel button 347 is a button selected when canceling the storage of the created correct answer data. When the cancel button 347 is pressed, it is possible to return to the operation screen of FIG. 19 and to specify the rectangular frame 333 again.
  • FIG. 21 is a conceptual diagram showing an example of a learning sample created by the above-described learning sample creation function.
  • the first correct answer data 322 and the second correct answer data 342 are associated with the learning input data 302 shown in FIG.
  • the second correct answer data 342 can be created more easily than the first correct answer data 322.
  • FIG. 1 illustrates the neural network 10 configured of the first neural network 11, the second neural network 12, and the third neural network 13, various structures of the neural network may be applied when the present invention is applied. There may be a form.
  • the present invention is not limited to the configuration using the two correct answer forms of the first correct answer form and the second correct answer form, but a configuration using three or more correct answer forms is also possible.
  • FIG. 22 is a conceptual diagram showing another example 1 of the neural network. Instead of the neural network 10 shown in FIG. 1, a neural network 410 shown in FIG. 22 may be used.
  • the neural network 410 includes a fourth neural network 14 in addition to the configuration of the neural network 10 shown in FIG.
  • the fourth neural network 14 is a neural network to which the element output from the third neural network 13 is input.
  • the fourth neural network 14 is a neural network that generates a fourth output OP4 corresponding to the fourth correct form.
  • the fourth output OP4 obtained from the fourth neural network 14 is referred to as "output 4".
  • the correct answer label of the fourth correct answer form is referred to as "fourth correct answer data” and is indicated by a symbol L4.
  • the fourth correct answer data L4 is written as "correct answer 4".
  • FIG. 23 is a conceptual diagram showing another embodiment 2 of the neural network. Instead of the neural network 10 shown in FIG. 1, a neural network 420 shown in FIG. 23 may be used.
  • the neural network 420 includes a fifth neural network 15 in addition to the configuration of the neural network 10 shown in FIG.
  • the fifth neural network 15 is a neural network to which elements output from the middle layer of the third neural network 13 are input.
  • the fifth neural network 15 is a neural network that generates a fifth output OP5 corresponding to the fifth correct form.
  • the fifth output OP5 obtained from the fifth neural network 15 is referred to as "output 5".
  • the correct answer label of the fifth correct answer form is referred to as "fifth correct answer data” and is indicated by a symbol L5.
  • the fifth correct answer data L5 is referred to as "correct 5".
  • FIG. 24 is a conceptual diagram showing another example 3 of the neural network. Instead of the neural network 10 shown in FIG. 1, a neural network 430 shown in FIG. 24 may be used.
  • the neural network 430 includes a sixth neural network 16 in addition to the configuration of the neural network 10 shown in FIG.
  • the sixth neural network 16 is a neural network into which elements output from the middle layer of the second neural network 12 are input.
  • the sixth neural network 16 is a neural network that generates a sixth output OP6 corresponding to the sixth correct form.
  • the sixth output OP6 obtained from the sixth neural network 16 is referred to as “output 6”.
  • the correct answer label in the sixth correct answer form is referred to as "six correct answer data" and is indicated by a symbol L6.
  • the sixth correct answer data L6 is expressed as "correct answer 6".
  • the second neural network 12 is a combined structure of a first half subnetwork 12A including an intermediate layer outputting an input element to a sixth neural network 16 and a second half subnetwork 12B. It is grasped.
  • the second subnetwork 12B corresponds to an example of the "second neural network”
  • the sixth neural network 16 corresponds to an example of the "first neural network”
  • the third neural network 13 and It is also possible to interpret that the network 12A corresponds to an example of the "third neural network”.
  • a neural network having a structure in which each of the forms shown in FIGS. 22 to 24 is appropriately combined may be adopted.
  • the present invention is not limited to the use for recognizing a lesion area from an endoscopic image, and various applications are possible.
  • the present invention may be used in the case of performing segmentation that classifies an image of a landscape into regions of one or more objects.
  • the present invention can be used to recognize a specific site from a computed tomography (CT) image.
  • CT computed tomography
  • the input data may be three-dimensional data.
  • the present invention can be used for extracting a face area from an image captured using a digital camera.
  • the present invention can be used for extracting text areas and / or photo areas from data of a document.
  • the present invention can be applied to the field of video surveillance.
  • the present invention can be used for extracting a person or a suspicious person from a moving image photographed using a surveillance camera or the like.
  • the hardware-like structure of various control units such as the correct data generation unit 164B and the association processing unit 166 and a processing unit (processing unit) that executes processing is, for example, as shown below. It is a variety of processor (processor).
  • processors are processors that can change the circuit configuration after manufacturing a central processing unit (CPU) or a field programmable gate array (FPGA) that is a general-purpose processor that executes programs and functions as various processing units.
  • the circuit includes a dedicated electric circuit which is a processor having a circuit configuration specially designed to execute a specific process such as a programmable logic device (PLD) or an application specific integrated circuit (ASIC).
  • PLD programmable logic device
  • ASIC application specific integrated circuit
  • One processing unit may be configured of one of these various processors, or may be configured of two or more processors of the same or different types.
  • one processing unit may be configured by a plurality of FPGAs or a combination of a CPU and an FPGA.
  • a plurality of processing units may be configured by one processor.
  • a plurality of processing units are configured by one processor, first, one processor or more is configured by a combination of one or more CPUs and software, as represented by computers such as clients and servers.
  • a processor functions as a plurality of processing units.
  • SoC system on chip
  • IC Integrated Circuit
  • circuitry circuitry
  • FIG. 25 is a block diagram showing an example of a hardware configuration of a computer that can be used as a learning device or an image recognition device, or a device having both of these functions.
  • Computers include various types of computers, such as desktop computers, notebook computers, and tablet computers.
  • the computer may be a server computer or a microcomputer.
  • the computer 500 includes a CPU 501, a memory 502, a storage device 503, an input interface unit 504, a communication interface unit 505 for network connection, a display control unit 506, a peripheral device interface unit 507, and a bus 508. Equipped with The notation “IF” in FIG. 25 represents “interface”.
  • the storage device 503 may be configured using, for example, a hard disk drive.
  • the storage device 503 stores various programs, data, and the like necessary for image processing such as learning processing and / or recognition processing.
  • the program stored in the storage device 503 is loaded into the memory 502 and executed by the CPU 501, whereby the computer functions as means for performing various processes defined by the program.
  • the storage device 503 can function as the storage device 130 described in FIG.
  • the input device 510 is connected to the input interface unit 504.
  • the display device 520 is connected to the display control unit 506.
  • the input device 510 and the display device 520 can function as the input device 140 and the display device 142 described in FIG.
  • processing functions of at least one of the learning function of the learning device described in the above embodiment and the recognition function of the image recognition device using the learned model are provided as an application server, It is also possible to provide a service that provides processing functions through the line.

Landscapes

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

Abstract

認識精度の向上及び機械学習に必要なデータの準備の負担軽減が可能なニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラムを提供する。ニューラルネットワーク10は、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワーク11と、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワーク12と、これら各々への入力要素を出力する第3のニューラルネットワークと、を含む。学習用データ群から、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択し、選択した学習用サンプルを用いて第1の出力及び第2の出力の少なくとも1つを取得し、その評価結果に基づいて、ニューラルネットワークの重みを更新するステップを複数回実施した後に、各ニューラルネットワーク11、12、13の重みを決定する。

Description

ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム
 本発明はニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラムに係り、特に、画像認識などに用いるニューラルネットワークの機械学習技術、並びに、コンピュータを用いた情報処理技術に関する。
 近年、多層のニューラルネットワークを用いて画像又は音声などを認識する技術の開発が活発に行われている。特許文献1には、畳み込みニューラルネットワーク(CNN:Convolution Neural Network)を用いた画像認識方法が提案されている。特許文献1に記載の画像認識方法は、画像中で一部重なっている複数の認識対象の各々を正しく認識し得る画像認識方法である。認識対象は、例えば人物である。特許文献1によれば、第1畳み込みニューラルネットワークを用いて認識対象の中央領域を認識できるように学習し、学習後の第1畳み込みニューラルネットワークと同一構成の第2畳み込みニューラルネットワークを用いて認識対象の位置の回帰を学習する方法が開示されている。また、特許文献1には、人物領域座標出力ニューラルネットワークの学習と人物中央領域出力ニューラルネットワークの学習の順番は逆でもよい旨の記載がある。
特開2017-59207号公報
 ニューラルネットワークを用いて画像認識を行うためには、入力画像データと識別結果との誤差が小さくなるよう、予めニューラルネットワークの「重み」と呼ばれるパラメータを適切に設定する必要がある。適切な重みを設定するために行われる重みの探索及び調整は「学習」と呼ばれる。画像認識の精度を向上させるためには、多様かつ大量の画像データと、それぞれの画像データについての正解データとのペア(組)を用いて学習しなければならない。このことは、画像認識の分野に限らず、音声認識の分野など、様々な対象の認識処理に共通する。
 一般的に、ニューラルネットワークを用いて高い認識性能を実現するためには、学習用サンプルとしての多くの正解データを要する。学習用入力データへの「正解」のラベル付与は、人手によって行われるため、作業者の負担が大きく、良質な正解データを大量に取得するためには膨大な費用と時間が必要となる。
 本発明はこのような事情に鑑みてなされたもので、認識精度の向上及び機械学習に必要なデータの準備の負担軽減が可能なニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラムを提供することを目的とする。
 課題を解決するために、次の発明態様を提供する。
 本発明の一の態様は、ニューラルネットワークの学習方法であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、学習用データ群から、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択ステップと、選択した学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得ステップにて得られた第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する重み更新ステップと、選択ステップ、出力取得ステップ、評価ステップ、及び重み更新ステップを複数回実施した後に、第1のニューラルネットワーク、第2のニューラルネットワーク及び第3のニューラルネットワークの各々の重みを決定する重み決定ステップと、を含むニューラルネットワークの学習方法である。
 本態様によれば、選択ステップ、出力取得ステップ、評価ステップ、及び重み更新ステップを複数回実施することによって、第1の正解形態を含んだ学習用サンプルを用いる学習と、第2の正解形態を含んだ学習用サンプルを用いる学習とが複合的に実施され、第1のニューラルネットワーク、第2のニューラルネットワーク及び第3のニューラルネットワークの各ニューラルネットワークの重みを更新する処理が行われる。第3のニューラルネットワークは、第1のニューラルネットワーク及び第2のニューラルネットワークの各々への入力要素を出力する共通の処理部として機能しており、第2の正解形態を用いた学習による重み更新の効果が第1の正解形態についての認識精度の向上に寄与する。また、第1の正解形態を用いた学習による重み更新の効果が第2の正解形態についての認識精度の向上に寄与する。
 本態様によれば、異なる正解形態の学習用サンプルを、相互に両方の形態に対応した認識精度の向上に活用し得るため、学習用サンプルの準備の負担を軽減でき、かつ、認識精度を向上させることができる。
 「重み」はニューラルネットワークにおけるパラメータであり、各層の処理に用いるフィルタのフィルタ係数(結合の重み)やノードのバイアスなどを含む。
 「認識」という用語は、「識別」及び「判別」のそれぞれの概念を含む。「複合的に実施」とは、並行して実施すること、同時に実施すること、交互に実施すること、並びに、統合して実施することのそれぞれの概念を含む。
 複数回実施される選択ステップにて選択される複数の学習用サンプルの中には、第1の正解形態を有した第1の学習用サンプルと、第2の正解形態を有した第2の学習用サンプルの両方が含まれる構成とすることが好ましい。
 学習用サンプルとして、入力用画像に第1の正解形態及び第2の正解形態の両方の正解形態が関連付けられたデータが用いられる構成とすることができる。
 本発明の他の一の態様は、ニューラルネットワークの学習方法であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、第1の正解形態及び第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出すステップと、第2の学習用データ群に含まれる学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得ステップにて取得された第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、第2の学習用データ群に含まれる学習用サンプルをすべて用いて、評価ステップから得られた評価結果に基づいてニューラルネットワークの重みを更新する重み更新ステップと、を含み、重みを更新する学習単位としての第2の学習用データ群の中に、第1の正解形態及び第2の正解形態が含まれているニューラルネットワークの学習方法である。
 本態様によれば、重みを更新する学習単位の内で、第1の正解形態に対応した学習と、第2の正解形態に対応した学習とが複合的に実施され、複数の正解形態を用いた学習の効果が相互に両形態に対応した認識精度の向上に寄与する。本態様によれば、学習用サンプルの準備の負担を軽減でき、かつ、認識精度を向上させることができる。
 本発明の他の一の態様は、ニューラルネットワークの学習方法であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、第1の正解形態及び第2の正解形態のうち少なくとも第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データをニューラルネットワークに入力することにより、少なくとも第1の出力を取得する第1の出力取得ステップと、第1の出力取得ステップにて取得された少なくとも第1の出力について評価を行う第1の評価ステップと、第1の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第1の更新ステップと、第1の正解形態及び第2の正解形態のうち少なくとも第2の正解形態を有した第2の学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから少なくとも第2の出力を取得する第2の出力取得ステップと、第2の出力取得ステップにて得られた少なくとも第2の出力について評価を行う第2の評価ステップと、第2の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第2の更新ステップと、を含み、ニューラルネットワークに入力する第1の学習用入力データを変えて、第1の出力取得ステップ及び第1の評価ステップを少なくとも2回実施し、かつ、少なくとも2回の第1の出力取得ステップ及び第1の評価ステップを実施する間に、第2の出力取得ステップ及び第2の評価ステップを少なくとも1回実施するニューラルネットワークの学習方法である。
 本態様によれば、第1の正解形態に対応した学習と、第2の正解形態に対応した学習とが複合的に実施され、複数の正解形態を用いた学習の効果が相互に両形態の認識精度の向上に寄与する。本態様によれば、認識精度を向上させることができ、かつ、学習用サンプルの準備の負担を軽減できる。
 上述した各態様におけるニューラルネットワークは、畳み込み層を含む構成とすることができる。
 第1のニューラルネットワーク及び第2のニューラルネットワークのうち少なくとも一方は、1×1の畳み込みによる処理を行う畳み込み層を含む構成とすることができる。
 「1×1の畳み込み」は、複数の特徴量のチャネルごとの特徴マップをチャネル方向に畳み込み、複数の特徴量をまとめる処理である。
 ニューラルネットワークは、入力された画像内の少なくとも1つの特定領域を抽出した少なくとも1つのマスク画像を出力する構成とすることができる。
 ニューラルネットワークは、入力された画像内の少なくとも1つの矩形領域を出力する構成とすることができる。
 第1の正解形態は、少なくとも1枚の画像に対し、画像内の特定領域の各画素と対応するものを含む構成とすることができる。
 第2の正解形態は、少なくとも1枚の画像に対し、画像内の矩形領域と対応するものを含む構成とすることができる。
 上述した各態様に係るニューラルネットワークの学習方法において、第1のニューラルネットワークから得られる第1の出力と第2のニューラルネットワークから得られる第2の出力のそれぞれの評価を重み付けして行う構成とすることができる。
 本発明の他の一の態様に係る学習済みモデルは、上述した各態様のうちいずれか一態様のニューラルネットワークの学習方法を用いて、ニューラルネットワークを学習することにより、重みが決定された学習済みのニューラルネットワークを含む学習済みモデルである。
 本態様に係る学習済みモデルを用いることにより、認識精度の高い認識処理が可能である。
 学習済みモデルは、プログラムに準ずるものである。また、学習済みモデルを用いた信号処理装置は、画像処理装置、認識装置、識別装置、或いは、判別装置などの用語の概念を含む。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、学習用データ群から、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択部と、選択した学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得部と、出力取得部にて得られた第1の出力及び第2の出力の少なくとも1つについて評価を行う評価部と、評価部にて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する重み更新部と、選択部による選択ステップ、出力取得部による出力取得ステップ、評価部による評価ステップ、及び重み更新部による重み更新ステップを複数回実施した後に、第1のニューラルネットワーク、第2のニューラルネットワーク及び第3のニューラルネットワークの各々の重みを決定する重み決定部と、を備える学習装置である。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、第1の正解形態及び第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出す学習用データ群選択部と、第2の学習用データ群に含まれる学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得部と、出力取得部にて取得された第1の出力及び第2の出力の少なくとも1つについて評価を行う評価部と、第2の学習用データ群に含まれる学習用サンプルをすべて用いて、評価部から得られた評価結果に基づいてニューラルネットワークの重みを更新する重み更新部と、を含み、重みを更新する学習単位としての第2の学習用データ群の中に、第1の正解形態及び第2の正解形態が含まれている学習装置である。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、第1の正解形態及び第2の正解形態のうち少なくとも第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データをニューラルネットワークに入力することにより、少なくとも第1の出力を取得する第1の出力取得部と、第1の出力取得部にて取得された少なくとも第1の出力について評価を行う第1の評価部と、第1の評価部にて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第1の更新部と、第1の正解形態及び第2の正解形態のうち少なくとも第2の正解形態を有した第2の学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから少なくとも第2の出力を取得する第2の出力取得部と、第2の出力取得部にて得られた少なくとも第2の出力について評価を行う第2の評価部と、第2の評価部にて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第2の更新部と、を含み、ニューラルネットワークに入力する第1の学習用入力データを変えて、第1の出力取得部による第1の出力取得ステップ及び第1の評価部による第1の評価ステップを少なくとも2回実施し、かつ、少なくとも2回の第1の出力取得ステップ及び第1の評価ステップを実施する間に、第2の出力取得部による第2の出力取得ステップ及び第2の評価部による第2の評価ステップを少なくとも1回実施する学習装置である。
 本発明の他の一の態様は、上述した各態様の学習装置において、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを作成する学習用サンプル作成部を備え、学習用サンプル作成部は、学習用入力データを取得する学習用入力データ取得部と、学習用入力データに対する第1の正解形態の正解を特定する第1の正解特定情報を取得する第1の正解特定情報取得部と、第1の正解特定情報を基に、学習用入力データに対する第1の正解データを作成する第1の正解データ作成部と、学習用入力データに対する第2の正解形態の正解を特定する第2の正解特定情報を取得する第2の正解特定情報取得部と、第2の正解特定情報を基に、学習用入力データに対する第2の正解データを作成する第2の正解データ作成部と、第1の正解データ作成部によって作成された第1の正解データ及び第2の正解データ作成部によって作成された第2の正解データのうち少なくとも1つの正解データを学習用入力データと関連付ける関連付け処理部と、を含む構成とすることができる。
 本発明の他の一の態様に係る学習装置は、学習用入力データ取得部を介して取得された学習用入力データを表示する表示装置と、学習用入力データに対する第1の正解形態の正解を特定する指示、及び学習用入力データに対する第2の正解形態の正解を特定する指示のうち、少なくとも1つの指示を、ユーザが入力するための入力装置と、を備え、表示装置は、入力装置から入力された指示に従って第1の正解データ作成部を用いて作成された第1の正解データ、及び入力装置から入力された指示に従って第2の正解データ作成部を用いて作成された第2の正解データのうち、少なくとも1つを表示する構成とすることができる。
 本発明の他の一の態様は、コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、プログラムは、学習用データ群から、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択ステップと、選択した学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得ステップにて得られた第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する重み更新ステップと、選択ステップ、出力取得ステップ、評価ステップ、及び重み更新ステップを複数回実施した後に、第1のニューラルネットワーク、第2のニューラルネットワーク及び第3のニューラルネットワークの各々の重みを決定する重み決定ステップと、をコンピュータに実行させるプログラムである。
 本発明の他の一の態様は、コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、プログラムは、第1の正解形態及び第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出すステップと、第2の学習用データ群に含まれる学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得ステップにて取得された第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、第2の学習用データ群に含まれる学習用サンプルをすべて用いて、評価ステップから得られた評価結果に基づいてニューラルネットワークの重みを更新する重み更新ステップと、をコンピュータに実行させるものであり、重みを更新する学習単位としての第2の学習用データ群の中に、第1の正解形態及び第2の正解形態が含まれているプログラムである。
 本発明の他の一の態様は、コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、プログラムは、第1の正解形態及び第2の正解形態のうち少なくとも第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データをニューラルネットワークに入力することにより、少なくとも第1の出力を取得する第1の出力取得ステップと、第1の出力取得ステップにて取得された少なくとも第1の出力について評価を行う第1の評価ステップと、第1の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第1の更新ステップと、第1の正解形態及び第2の正解形態のうち少なくとも第2の正解形態を有した第2の学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから少なくとも第2の出力を取得する第2の出力取得ステップと、第2の出力取得ステップにて得られた少なくとも第2の出力について評価を行う第2の評価ステップと、第2の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第2の更新ステップと、をコンピュータに実行させるものであり、ニューラルネットワークに入力する第1の学習用入力データを変えて、第1の出力取得ステップ及び第1の評価ステップを少なくとも2回実施し、かつ、少なくとも2回の第1の出力取得ステップ及び第1の評価ステップを実施する間に、第2の出力取得ステップ及び第2の評価ステップを少なくとも1回実施するプログラムである。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、学習装置は、プロセッサを含み、プロセッサは、学習用データ群から、第1の正解形態及び第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択ステップと、選択した学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得部にて得られた第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、評価部にて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する重み更新ステップと、選択ステップ、出力取得ステップ、評価ステップ、及び重み更新ステップを複数回実施した後に、第1のニューラルネットワーク、第2のニューラルネットワーク及び第3のニューラルネットワークの各々の重みを決定する重み決定ステップと、の各ステップの処理を行う学習装置である。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、学習装置は、プロセッサを含み、プロセッサは、第1の正解形態及び第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出す学習用データ群選択ステップと、第2の学習用データ群に含まれる学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから第1の出力及び第2の出力の少なくとも1つを取得する出力取得ステップと、出力取得ステップにて取得された第1の出力及び第2の出力の少なくとも1つについて評価を行う評価ステップと、第2の学習用データ群に含まれる学習用サンプルをすべて用いて、評価ステップから得られた評価結果に基づいてニューラルネットワークの重みを更新する重み更新ステップと、を含む各ステップの処理を行うものであり、重みを更新する学習単位としての第2の学習用データ群の中に、第1の正解形態及び第2の正解形態が含まれている学習装置である。
 本発明の他の一の態様は、ニューラルネットワークの学習装置であって、ニューラルネットワークは、第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、第1のニューラルネットワーク及び第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、を含むニューラルネットワークであり、学習装置は、プロセッサを含み、プロセッサは、第1の正解形態及び第2の正解形態のうち少なくとも第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データをニューラルネットワークに入力することにより、少なくとも第1の出力を取得する第1の出力取得ステップと、第1の出力取得ステップにて取得された少なくとも第1の出力について評価を行う第1の評価ステップと、第1の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第1の更新ステップと、第1の正解形態及び第2の正解形態のうち少なくとも第2の正解形態を有した第2の学習用サンプルをニューラルネットワークへの入力に用いることにより、ニューラルネットワークから少なくとも第2の出力を取得する第2の出力取得ステップと、第2の出力取得ステップにて得られた少なくとも第2の出力について評価を行う第2の評価ステップと、第2の評価ステップにて得られる評価結果に基づいて、ニューラルネットワークの重みを更新する第2の更新ステップと、を含む各ステップの処理を行うものであり、ニューラルネットワークに入力する第1の学習用入力データを変えて、第1の出力取得ステップ及び第1の評価ステップを少なくとも2回実施し、かつ、少なくとも2回の第1の出力取得ステップ及び第1の評価ステップを実施する間に、第2の出力取得ステップ及び第2の評価ステップを少なくとも1回実施する学習装置である。
 本発明によれば、認識精度の向上、及び、機械学習に必要なデータ準備の負担軽減が可能である。
図1は、本発明の実施形態に係るニューラルネットワークの学習方法の概要を模式的に示した説明図である。 図2は、入力画像に対応した2種類の正解形態の簡単な例である。 図3は、学習用データ群の例を示す図表である。 図4は、ニューラルネットワークの学習方法の例を示すフローチャートである。 図5は、学習装置の機能を示すブロック図である。 図6は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。 図7は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。 図8は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。 図9は、図8のステップS58に適用される処理内容を示すフローチャートである。 図10は、図8のステップS58に適用される他の処理内容を示すフローチャートである。 図11は、図8のステップS60に適用される処理内容を示すフローチャートである。 図12は、図8のステップS62に適用される処理内容を示すフローチャートである。 図13は、学習済みのニューラルネットワークを用いた画像認識装置の例1を示すブロック図である。 図14は、学習済みモデルを用いた画像認識装置の例2を示すブロック図である。 図15は、学習装置に搭載される学習用サンプルの作成機能に関するブロック図である。 図16は、学習用サンプルの作成を開始する際に表示される操作画面の一例を示す図である。 図17は、第1の正解データを作成する際に表示される操作画面の一例を示す図である 図18は、正解データの確認画面の一例を示す図である。 図19は、第2の正解データを作成する際に表示される操作画面の一例を示す図である。 図20は、正解データの確認画面の一例を示す図である。 図21は、学習用サンプル作成機能によって作成された学習サンプルの一例を示す概念図である。 図22は、ニューラルネットワークの他の形態例1を示す概念図である。 図23は、ニューラルネットワークの他の形態例2を示す概念図である。 図24は、ニューラルネットワークの他の形態例3を示す概念図である。 図25は、コンピュータのハードウェア構成の例を示すブロック図である。
 以下、添付図面に従って本発明の好ましい実施の形態について詳説する。
 図1は、本発明の実施形態に係るニューラルネットワークの学習方法の概要を模式的に示した説明図である。ここでは、画像認識に用いる階層型ニューラルネットワークである畳み込みニューラルネットワークを例示する。ニューラルネットワークとは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。
 《ニューラルネットワークの構造例》
 ニューラルネットワーク10は、入力層10Aと、複数の中間層10Bと、第1の出力層10Cと、第2の出力層10Dと、を含む階層型ニューラルネットワークである。各層は複数の「ノード」を含む。図1においてノードの図示は省略した。ある層に属するノードは、その層よりも出力側の層に属するノードと結合している。各ノードのノード間の結合の各々には、結合の重みが割り当てられる。それぞれの結合の重みは、本発明の実施形態に係るニューラルネットワークの学習方法を使用して決定される。
 ニューラルネットワーク10の入力から出力に向けたデータの流れの方向に沿って、入力側を「前」、出力側を「後ろ」と表現する。なお、図1において実線の矢印はデータの流れを示す。図1において破線の矢印は学習に基づく重みの更新処理を含むフィードバックの流れを示す。
 本例のニューラルネットワーク10は、複数の中間層10Bの一部に畳み込み層とプーリング層の組み合わせを含む畳み込みニューラルネットワークである。図1では、ニューラルネットワーク10の層構造を簡略化して示しているが、ニューラルネットワーク10を構成する中間層10Bの層数、及び各層の処理内容、並びに各層の配列順序は、特に制限されず、様々な組み合わせからなる層構造が採用され得る。
 畳み込み層は、前の層において局所領域内にあるノードにフィルタを適用した畳み込み演算を行い、特徴マップを取得する。畳み込み層は、フィルタが表す特徴的な濃淡構造を画像から抽出する特徴抽出の役割を担う。
 プーリング層は、畳み込み層から出力された特徴マップの局所領域を代表値により集約するプーリング処理を行う。プーリング層は、畳み込み層から出力された特徴マップを縮小して解像度を低下させた新たな特徴マップを生成する。プーリング層は、畳み込み層によって抽出された対象特徴量が位置変動に対して影響を受けないようにロバスト性を与える(位置変動に対する感度を低下させる)役割を担う。
 ニューラルネットワーク10は、畳み込み層及びプーリング層の他に、正規化層及び全結合層のうち少なくとも1種の層を1層以上含んでもよい。また、中間層10Bの各層は、必要に応じて活性化関数を含んでよい。
 正規化層は、画像の濃淡を正規化する処理を行う。例えば、正規化層は、畳み込み層の出力及びプーリング層の出力の少なくとも一方の出力に対して局所コントラスト正規化の処理を行う。
 全結合層は、隣接層間のノードの全てを結合した層である。全結合層は、出力層付近に配置され得る。例えば、全結合層は、畳み込み層とプーリング層を経て特徴が抽出された特徴マップを1つのノードに結合し、活性化関数を用いて特徴変数を出力する。一般に、畳み込みニューラルネットワークでは、最後のプーリング層から出力層の間に、全結合層が1層以上配置される。
 第1の出力層10C及び第2の出力層10Dの各々は、例えば、全結合層からの出力を基に、ソフトマックス関数などを用いて、クラス分類を行う。
 本例のニューラルネットワーク10は、中間層10Bの出力を第1のニューラルネットワーク11と第2のニューラルネットワーク12の各々に入力する構造を有しており、ニューラルネットワーク10に対する1つの入力から、2種類の出力を得ることができる。すなわち、ニューラルネットワーク10は、第1の出力層10Cを有する第1のニューラルネットワーク11と、第2の出力層10Dを有する第2のニューラルネットワーク12と、入力層10Aを有する第3のニューラルネットワーク13と、を含んで構成される。図1に示すように、ニューラルネットワーク10は、第3のニューラルネットワーク13の後ろに第1のニューラルネットワーク11と第2のニューラルネットワーク12とが並列に接続された層構造を有する。第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各々は、ニューラルネットワーク10を構成しているサブネットワークである。
 ニューラルネットワーク10は、第3のニューラルネットワーク13及び第1のニューラルネットワーク11を用いて第1の認識処理を行う第1の認識処理経路と、第3のニューラルネットワーク13及び第2のニューラルネットワーク12を用いて第2の認識処理を行う第2の認識処理経路と、を含む。
 第3のニューラルネットワーク13は、第1の識別処理と第2の識別処理の両方に共通する処理を担う共通処理部に相当する。第3のニューラルネットワーク13は、第1のニューラルネットワーク11及び第2のニューラルネットワーク12への入力要素を出力するニューラルネットワークである。
 第3のニューラルネットワーク13は、入力層10Aの他に、畳み込み層及びプーリング層をそれぞれ1層以上含んで構成される。
 第1のニューラルネットワーク11は、第3のニューラルネットワーク13から出力された要素が入力されるニューラルネットワークである。第1のニューラルネットワーク11は、第1の正解形態に対応した第1の出力OP1を生成するニューラルネットワークである。図1において、第1のニューラルネットワーク11から得られる第1の出力OP1を「出力1」と表記した。
 第1のニューラルネットワーク11は、例えば、畳み込み層、及び全結合層のうちの少なくとも1種の層を1層以上含んで構成される。第1のニューラルネットワーク11は、畳み込み層、及び全結合層の各層をそれぞれ1層以上含んでもよい。第1のニューラルネットワーク11は、畳み込み層として「1×1の畳み込み」を行う畳み込み層を含んでもよい。1×1の畳み込みは、複数の特徴量のチャネルごとの特徴マップを、「1×1」のフィルタを用いて、まとめる処理である。また、第1のニューラルネットワーク11は、プーリング層を含んでもよい。
 第2のニューラルネットワーク12は、第3のニューラルネットワーク13から出力された要素が入力されるニューラルネットワークである。第2のニューラルネットワーク12は、第2の正解形態に対応した第2の出力OP2を生成するニューラルネットワークである。第2のニューラルネットワーク12は、第1のニューラルネットワーク11とは異なるニューラルネットワークである。第2の正解形態は、第1の正解形態とは異なる正解形態である。図1において、第2のニューラルネットワーク12から得られる第2の出力OP2を「出力2」と表記した。
 第2のニューラルネットワーク12は、例えば、畳み込み層、及び全結合層のうちの少なくとも1種の層を1層以上含んで構成される。第2のニューラルネットワーク12は、畳み込み層、及び全結合層の各層をそれぞれ1層以上含んでもよい。第2のニューラルネットワーク12は、畳み込み層として「1×1の畳み込み」を行う畳み込み層を含んでもよい。
 第1のニューラルネットワーク11及び第2のニューラルネットワーク12の各々が「1×1の畳み込み」を行う畳み込み層を含む構成が好ましい。
 ニューラルネットワーク10から得られる2種類の出力に対応して、「第1の正解形態」と「第2の正解形態」の2種類の正解形態がある場合、入力画像を「I」、第1の正解形態の正解ラベルを「L1」、第2の正解形態の正解ラベルを「L2」と表記すると、畳み込みニューラルネットワーク10の学習に使用するデータセットは、{I,L1}、{I,L2}及び{I,L1,L2}の組み合わせを含む集合により構成される。「データセット」は、「学習用データ群」と同義である。「正解ラベル」は、「正解データ」と同義である。
 以後、第1の正解形態の正解ラベルを「第1の正解データ」といい、符号L1で示す。第2の正解形態の正解ラベルを「第2の正解データ」といい、符号L2で示す。図1において、第1の正解データL1を「正解1」と表記し、第2の正解データL2を「正解2」と表記した。
 図2は、入力画像に対応した2種類の正解形態の簡単な例である。図2には、入力画像Iと、これに対応する第1の正解データL1及び第2の正解データL2の例が示されている。入力画像Iは、認識対象50の画像領域を含む。図2では、図示の簡略化のために、認識対象50としての顔を模した顔図形の絵柄を例示したが、認識対象50は、顔に限らない。例えば、入力画像としての内視鏡画像を扱う場合、認識対象は病変領域であってもよい。画像認識の用途に応じて、様々な認識対象を想定し得る。また、認識対象は、画像内に複数含まれていてもよい。
 第1の正解データL1は、認識対象50の画像領域を特定したマスク画像61を含むものであってよい。例えば、マスク画像61は、認識対象50の画像領域の輪郭を外縁とする画像領域であってもよい。マスク画像61は、認識対象50の画像領域を画素単位により抽出した認識対象領域であってよい。
 第2の正解データL2は、認識対象50の画像領域と重なる矩形領域62を含むものであってよい。矩形領域62は、バウンディングボックス(Bounding Box)と呼ばれる場合がある。矩形領域62は、認識対象50の画像領域を内包する大きさであってもよい。矩形領域62は、認識対象50の画像領域の少なくとも一部と重なるものであればよく、認識対象50の画像領域の一部は、矩形領域62からはみ出していてもよい。
 図1に示した第3のニューラルネットワーク13と第1のニューラルネットワーク11とが組み合わされたニューラルネットワークは、例えば、入力画像Iから認識対象の画像領域を抽出するセグメンテーションを行う。第1のニューラルネットワーク11は、第1の出力OP1としての認識対象領域を出力し得る。
 第3のニューラルネットワーク13と第2のニューラルネットワーク12とが組み合わされたニューラルネットワークは、例えば、入力画像Iから認識対象の画像領域を含んだ大まかに囲んだ矩形領域を出力し得る。
 《第1実施形態に係るニューラルネットワークの学習方法の概要》
 ニューラルネットワーク10の学習方法の一例を概説する。本発明の第1実施形態に係るニューラルネットワークの学習方法は、次のステップ1からステップ5を含む。
 [ステップ1]まず、学習に使用する学習用データ群を用意する。学習に使用する学習用データ群は、予め用意された学習用サンプルのデータ全体であってもよいし、予め用意された学習用サンプルのデータ全体から取得された一部のデータ群であってもよい。学習用データ群は、複数の学習用サンプルを含む。
 予め用意された学習用サンプルのデータ全体から一部のデータ群を選び出すステップは「第1の学習用データ群から第2の学習用データ群を選び出すステップ」の一例である。この場合、「予め用意された学習用サンプルのデータ全体」が「第1の学習用データ群」に相当し、「一部のデータ群」が「第2の学習用データ群」に相当する。
 1つの学習用サンプルは、学習用入力画像と、少なくとも1つの正解形態の正解データとの組み合わせから成る。ここでは、第1の正解形態として、認識対象領域を詳細に抽出したマスク画像を例示する。「詳細に抽出」とは、例えば、認識対象の正確な輪郭を外縁とする輪郭線で囲まれた認識対象領域を抽出することを指す。マスク画像のマスク領域は、学習用入力画像内の特定領域である認識対象領域の各画素と対応するものに相当する。
 また、第2の正解形態として、認識対象領域を概略的に特定するよう矩形領域によって簡素に抽出した矩形画像を例示する。第2の正解形態は、第1の正解形態に比べて、認識対象領域を「大雑把に」又は「粗く」抽出したものに相当する。
 1つの学習用入力画像に対して、第1の正解形態と第2の正解形態の両方の正解データが与えられていてもよいし、いずれか一形態の正解データのみが与えられていてもよい。学習に使用する学習用データ群の中に、第1の正解形態と第2の正解形態とが混在していればよい。
 [ステップ2]ステップ1で用意したラベル付き学習用サンプルの学習用入力画像をニューラルネットワーク10に入力し、ニューラルネットワーク10を用いてセグメンテーションを行う。
 [ステップ3]学習用入力画像に対応付けられた正解形態がマスク画像の場合、第3のニューラルネットワーク13及び第1のニューラルネットワーク11からなるニューラルネットワークについて、通常のCNNを用いた学習処理と同様の重みの更新処理を行うことができる。すなわち、第1のニューラルネットワーク11の出力について、損失関数を用いて誤差を算出し、フィードバックを行う。ここでのフィードバックは、算出した誤差に基づき、第1のニューラルネットワーク11と第3のニューラルネットワーク13の重みを更新する処理を含む。
 第1のニューラルネットワーク11の出力を取得するステップは「出力取得ステップ」及び「第1の出力取得ステップ」の一例である。損失関数を用いて誤差を算出することは、ニューラルネットワークの出力を評価することに相当する。損失関数は「評価関数」に相当する。損失関数を用いた誤差の算出を行うステップは「評価ステップ」及び「第1の評価ステップ」の一例である。「第1のニューラルネットワーク11と第3のニューラルネットワーク13の重みを更新する処理」のステップは、「重み更新ステップ」及び「第1の重み更新ステップ」の一例である。
 [ステップ4]学習用入力画像に対応付けられた正解形態が矩形領域の場合、ニューラルネットワーク10の中間層の出力に、畳み込み処理を行った後に、損失関数を用いて誤差を算出し、フィードバックを行う。すなわち、算出した誤差に基づき、第2のニューラルネットワーク12と第3のニューラルネットワーク13の重みを更新する処理を行う。
 第2のニューラルネットワーク12の出力を取得するステップは「出力取得ステップ」及び「第2の出力取得ステップ」の一例である。第2のニューラルネットワーク12からの出力に対して損失関数を用いた誤差の算出を行うステップは「評価ステップ」及び「第2の評価ステップ」の一例である。「第2のニューラルネットワーク12と第3のニューラルネットワーク13の重みを更新する処理」のステップは、「重み更新ステップ」及び「第2の重み更新ステップ」の一例である。
 [ステップ5]上述したステップ2からステップ4を、ニューラルネットワーク10の重みが収束するまで繰り返し行う。
 ステップ2からステップ4の処理は、ミニバッチの単位で実施することができる。
 〈ミニバッチ学習について〉
 ミニバッチは、予め用意された学習用データ群の部分集合であり、予め用意された学習用データ群の全体の中から選ばれた複数の学習用サンプルにより構成される学習用データ群である。ミニバッチ学習は、ミニバッチに含まれる全ての学習サンプルを用いて各学習サンプルについて出力と正解との誤差を評価し、これらの誤差の評価結果を利用して、ミニバッチ単位によりニューラルネットワークの重みをまとめて更新する手法である。ミニバッチは「第2の学習用データ群」の一例である。
 図3は、予め用意された学習用データ群の例である。ここでは、説明を簡単にするために、学習用データ群の全体がA~Gの7つの学習用サンプルの集合である場合を説明する。学習用サンプルは、入力用画像データと、これに対応する正解データとの組み合わせから構成される学習用データある。学習用サンプルには、第1の正解形態と第2の正解形態のそれぞれに対応した2つの正解データが含まれている場合と、第1の正解形態と第2の正解形態のうちどちらか1形態のみの正解データが含まれている場合とがあり得る。
 図3に示した図表において「名前」は、個々の学習用サンプルを識別する識別名を意味する。「入力」は「入力用画像データ」を意味する。「正解1」は第1の正解形態の正解データ(第1の正解データ)を意味する。「正解2」は第2の正解形態の正解データ(第2の正解データ)を意味する。「有」は、データが存在することを表す。「無」はデータが存在しないことを表す。
 例えば、学習用サンプルAは、入力用画像データと、第1の正解データと、第2の正解データとを含む。学習用サンプルAは、入力用画像データに、第1の正解形態と第2の正解形態のそれぞれに対応した2つの正解データが関連付けされている学習用データである。学習用サンプルAは、第1の正解データが付された学習用サンプルとして用いることができ、かつ、第2の正解データが付された学習用サンプルとして用いることができる。学習用サンプルAは、実質的に2つの学習用サンプルであると見做すこともできる。
 学習用サンプルBは、入力用画像データに対して、第1の正解形態に対応した正解データが存在せず、第2の正解形態に対応した正解データのみを有していることを表す。
 学習用サンプルA、D、E、Gはそれぞれ「第1の学習用サンプル」の例である。学習用サンプルA、B、C、E、Fはそれぞれ「第2の学習用サンプル」の例である。
 〈ミニバッチの形成例1〉
 ミニバッチを形成する際の条件の一例として、「1ミニバッチに複数の正解形態を必ず含める」というミニバッチ条件1を満たすようミニバッチを形成する態様があり得る。図3に示した学習用データ群の全体からミニバッチ条件1を満たして形成するミニバッチの例を表1に示す。
Figure JPOXMLDOC01-appb-T000001
 なお、表1では、学習回数として3回目までを示したが、学習回数については、特に制限はない。
 このように、各ミニバッチ内に複数の正解形態を混在させ、ミニバッチに属する学習用サンプルをすべて用いて学習を行う態様により、ミニバッチの学習単位により第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みを、更新していくことができる。
 表1に示したように、ミニバッチ条件1に従うミニバッチ学習を複数回実施することにより、第1の正解形態を用いた学習が少なくとも2回実施され、その2回の間に、第2の正解形態を用いた学習が少なくとも1回実施される。
 〈ミニバッチの形成例2〉
 ミニバッチを形成する際の他の条件の例として、「ミニバッチ間で複数の正解形態を入れ替える」というミニバッチ条件2を満たすようミニバッチを形成する態様があり得る。図3に示した学習用データ群の全体からミニバッチ条件2を満たして形成するミニバッチの例を表2に示す。
Figure JPOXMLDOC01-appb-T000002
 表2では、学習回数として3回目までを示したが、学習回数については、特に制限はない。
 このように、異なるミニバッチ間で複数の正解形態を混在させることにより、ミニバッチの学習単位で複数の正解形態を交互に用いて、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みを、更新していくことができる。
 表2に示したように、ミニバッチ条件2に従うミニバッチ学習を複数回実施することにより、第1の正解形態を用いた学習が少なくとも2回実施され、その2回の間に、第2の正解形態を用いた学習が少なくとも1回実施される。
 《第2実施形態》
 ここでは内視鏡画像から病変領域を認識するための画像認識装置への適応を想定した具体例について説明する。学習用入力画像は、内視鏡で撮影された画像、若しくは、表示装置の画面に表示された内視鏡画像をキャプチャしたキャプチャ画面であってもよい。
 第1の正解形態は、病変領域を詳細に示したマスク画像である。第2の正解形態は、病変領域を簡素に示した矩形画像である。「病変領域」は「画像内の特定領域」の一例である。
 図4は、ニューラルネットワークの学習方法の例を示すフローチャートである。図4に示した処理プロセスの各ステップは、コンピュータを用いて実行される。コンピュータは、プログラムを実行することにより、学習装置として機能し得る。コンピュータは、CPU(Central Processing Unit)及びメモリを備える。コンピュータは、GPU(Graphics Processing Unit)を含んでもよい。以下、ニューラルネットワーク10の学習処理を行う信号処理装置を「学習装置」という。なお、「学習装置」は「画像処理装置」と言い換えてもよい。
 ステップS11において、学習装置は、学習用データ群から複数の学習用サンプルを選択してミニバッチを形成する。学習用データ群は予め用意され、学習装置の内部記憶装置、又は学習装置に接続される外部記憶装置に格納されている。外部記憶装置は、例えば、メモリカードなどの可搬型記憶メディアであってもよいし、通信回線を介して接続される外付けハードディスク装置などであってもよい。また、外部記憶装置は、通信回線を介して接続される他のコンピュータの記憶装置であってもよい。
 学習装置は、プログラムに従って学習用データ群から自動的にミニバッチを形成し得る。或いは、学習装置は、ユーザによって入力装置などから学習用サンプルを選択する指示が与えられることにより、その入力された指示に従ってミニバッチを形成してもよい。ミニバッチの形成に際しては、上述したミニバッチ条件1又はミニバッチ条件2に従う。ステップS11のミニバッチを形成するステップは「第2の学習用データ群を選び出すステップ」の一例である。
 ステップS12において、学習装置は、ミニバッチに含まれる学習用サンプルの学習用入力画像をニューラルネットワーク10に入力して第1の出力OP1及び第2の出力OP2を取得する。
 ステップS12において、ミニバッチからニューラルネットワーク10に入力する入力画像を選択するステップは「選択ステップ」の一例である。また、ステップS12は「出力取得ステップ」の一例である。
 ステップS13において、学習装置は、第1の正解形態に係る第1の正解データと第1の出力OP1との誤差、及び第2の正解形態に係る第2の正解データと第2の出力OP2との誤差を算出する。誤差の算出方法は、例えば、二乗誤差、又は、交差エントロピーなどがあり得る。ステップS13は「評価ステップ」の一例である。
 ステップS12とステップS13は、ミニバッチに含まれる全ての学習用入力画像について実施される。
 ステップS14において、学習装置は、ステップS13にて算出した誤差に基づいて、ニューラルネットワーク10の重みを更新する。重みの更新量を算出する方法は、例えば、最急降下法などを採用し得る。第1の正解形態に関する誤差に基づいて算出された重みの更新量を使って、第1のニューラルネットワーク11と第3のニューラルネットワーク13の重みが更新される。第2の正解形態に関する誤差に基づいて算出された重みの更新量を使って、第2のニューラルネットワーク12と第3のニューラルネットワーク13の重みが更新される。
 或いはまた、第1の正解形態に関する誤差と、第2の正解形態に関する誤差とを重み付けして、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出してもよい。ステップS14による重みの更新は、ミニバッチ単位で行われる。ステップS14は「重み更新ステップ」の一例である。
 ステップS15において、学習装置は、学習終了条件を満たすか否かの判定を行う。学習装置は、ステップS15の判定処理にて、No判定の場合、すなわち、学習終了条件を満たさないと判定した場合は、ステップS11に戻り、学習終了条件を満たすまで、ステップS11からステップS14を繰り返す。
 学習終了条件は、誤差の値に基づいて定められていてもよいし、更新回数に基づいて定められていてもよい。誤差の値に基づく方法としては、例えば、誤差が規定の範囲内に収束していることを学習終了条件としてよい。更新回数に基づく方法としては、例えば、更新回数が規定回数に到達したことを学習終了条件としてよい。
 なお、評価関数として用いる損失関数の重み付けは、更新回数に従って線形に変化させる態様、又は段階的に変化される態様があり得る。
 ステップS15の判定処理にて、Yes判定の場合、すなわち、学習終了条件を満たしていると判定した場合は、ステップS16に進む。
 ステップS16において、学習装置は、ニューラルネットワークの重みを決定し、学習の処理を終了する。ステップS16は「重み決定ステップ」の一例である。
 このようにして学習された重みを使うことにより、病変領域の詳細な抽出、すなわちセグメンテーション、及び/又は、病変領域の簡易的抽出(検出)を高精度で実施することが可能になる。
 また、学習終了後は、第2のニューラルネットワーク12を使用せずに、第3のニューラルネットワーク13と第1のニューラルネットワーク11を使用してセグメンテーションを行うことも可能である。
 《学習装置の構成》
 図5は、学習装置の機能を示すブロック図である。学習装置100は、信号処理装置102を備える。信号処理装置102は、記憶装置130に記憶されているデータを取得することができる。また、信号処理装置102は、記憶装置130にデータを記憶させることができる。
 記憶装置130は、学習用データ群記憶部132と、ミニバッチ記憶部134と、を含む。学習用データ群記憶部132は、学習に使用し得る学習用サンプルの全データが記憶されている記憶領域である。ミニバッチ記憶部134は、学習用データ群記憶部132に記憶された学習用サンプル全体の学習用データ群の中から選ばれた一部の学習用データ群であるミニバッチを記憶する記憶領域である。ミニバッチ記憶部134は、ミニバッチに属する学習用サンプルを記憶してもよいし、ミニバッチに属する学習用サンプルを特定するための情報を記憶してもよい。
 記憶装置130の記憶領域の一部又は全部は、信号処理装置102の内部に備えてもよい。記憶装置130は、学習装置100に含まれてもよいし、学習装置100とは別の外部装置、サーバ又はクラウドストレージなどであってよい。また、記憶装置130は、信号処理装置102が実行するプログラムを記憶する記憶領域を含んでいてもよい。
 学習装置100は、入力装置140と、表示装置142と、を備えていることが好ましい。入力装置140と表示装置142は、ユーザインターフェースとして機能する。入力装置140は、例えば、操作ボタンやキーボード、マウス、タッチパネル、若しくは、音声入力装置、又はこれらの適宜の組み合わせであってよい。ユーザは、入力装置140を操作することにより、学習装置100に各種の指示を入力することができる。信号処理装置102は、入力装置140から入力された指示に応じて各種処理を実行し得る。
 表示装置142は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、又はこれらの適宜の組み合わせであってよい。表示装置142は、信号処理装置102の処理に必要な各種設定情報、又は、処理結果を示す情報などの各種情報を表示し得る。
 信号処理装置102は、ミニバッチ形成部104と、学習用サンプル選択部106と、ニューラルネットワーク10と、を含む。また、信号処理装置102は、第1の出力取得部110と、第1の誤差算出部111と、第1の重み更新量算出部112と、第1の重み更新処理部114と、第2の出力取得部120と、第2の誤差算出部121と、第2の重み更新量算出部122と、第2の重み更新処理部124と、重み決定部126と、を含む。
 ミニバッチ形成部104は、予め定められた条件に従い、学習用サンプルを選択してミニバッチを形成する処理を行う。ミニバッチを形成条件は、例えば、既に説明した「ミニバッチ条件1」或いは「ミニバッチ条件2」のようなものである。ミニバッチ形成部104は、学習用データ群記憶部132に記憶されている学習用データ群からプログラムに従って、自動的にミニバッチを形成し得る。或いはまた、ミニバッチ形成部104は、ユーザの操作に応じて入力装置140から与えられる指示に従ってミニバッチを形成し得る。ミニバッチ形成部104は「学習用データ群選択部」の一例である。
 学習用サンプル選択部106は、学習用データ群記憶部132又はミニバッチ記憶部134から、学習に使用する1つ又は複数の学習用サンプルを選択する処理を行う。学習用サンプル選択部106は、ミニバッチから、ニューラルネットワーク10に入力する学習用サンプルを順次に選択する処理を行う。学習用サンプル選択部106は、学習用データ群記憶部132に記憶された学習用データ群の中から学習に使用する学習用サンプルを選択してもよい。学習用サンプル選択部106によって選択された学習用サンプルの学習用入力画像は、ニューラルネットワーク10に入力される。学習用サンプル選択部106は、「選択部」の一例である。
 第1の出力取得部110は、第1のニューラルネットワーク11から出力された第1の出力OP1を取得する。第1の出力OP1は、第1の出力取得部110を介して、第1の誤差算出部111に入力される。第1の出力取得部110は、第1の誤差算出部111の入力部であってよい。
 第1の誤差算出部111は、ニューラルネットワーク10に入力された学習用入力画像に対応した第1の正解データL1と、実際に、第1のニューラルネットワーク11から得られた第1の出力OP1との誤差を算出する。第1の誤差算出部111によって算出された誤差は、第1の重み更新量算出部112に送られる。第1の誤差算出部111は「第1の評価部」の一例である。
 第1の重み更新量算出部112は、第1の誤差算出部111にて算出された誤差を基に、第1のニューラルネットワーク11及び第3のニューラルネットワーク13の各々の重みの更新量を算出する。第1の重み更新量算出部112は、ミニバッチ単位で重みの更新量を算出する。
 第1の重み更新処理部114は、第1の重み更新量算出部112によって算出した更新量に従い、第1のニューラルネットワーク11及び第3のニューラルネットワーク13の各々の重みを更新する処理を行う。第1の重み更新処理部114は、ミニバッチ単位で重みの更新処理を行う。第1の重み更新処理部114は、「第1の更新部」の一例である。
 第2の出力取得部120は、第2のニューラルネットワーク12から出力された第2の出力OP2を取得する。第2の出力OP2は、第2の出力取得部120を介して、第2の誤差算出部121に入力される。第2の出力取得部120は、第2の誤差算出部121の入力部であってよい。第2の出力取得部120と第1の出力取得部110の組み合わせは「出力取得部」の一例である。
 第2の誤差算出部121は、ニューラルネットワーク10に入力された学習用入力画像に対応した第2の正解データL2と、実際に、第2のニューラルネットワーク12から得られた第2の出力OP2との誤差を算出する。第2の誤差算出部121によって算出された誤差は、第2の重み更新量算出部122に送られる。第2の誤差算出部121は「第2の評価部」の一例である。第2の誤差算出部121と第1の誤差算出部111の組み合わせは「評価部」の一例である。
 第2の重み更新量算出部122は、第2の誤差算出部121にて算出された誤差を基に、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各々の重みの更新量を算出する。第2の重み更新量算出部122は、ミニバッチ単位で重みの更新量を算出する。
 第2の重み更新処理部124は、第2の重み更新量算出部122によって算出した更新量に従い、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各々の重みを更新する処理を行う。第2の重み更新処理部124は、ミニバッチ単位で重みの更新処理を行う。第2の重み更新処理部124は「第2の更新部」の一例である。第2の重み更新処理部124と第1の重み更新処理部114の組み合わせは「更新部」の一例である。
 重み決定部126は、予め定められた学習終了条件に従って学習を終了させ、ニューラルネットワーク10の重みを決定する。
 〈変形例1〉
 第1の重み更新量算出部112の機能と第2の重み更新量算出部122の機能は、1つの「重み更新量算出部」として統合されてもよい。例えば、重み更新量算出部は、第1の誤差算出部111にて算出された誤差と、第2の誤差算出部121にて算出された誤差とを組み合わせた誤差に基づき、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各々の重みの更新量を算出してもよい。
 また、第1の重み更新処理部114の機能と第2の重み更新処理部124の機能は、1つの「重み更新処理部」として統合されてもよい。例えば、重み更新処理部は、重み更新量算出部にて算出された更新量に従い、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各々の重みを更新する処理を行う。
 〈変形例2〉
 重みの更新処理は、ミニバッチ単位で行う形態に限らず、ニューラルネットワーク10に入力する学習用入力画像ごとに、重みの更新処理を実施してもよい。この場合、第1の重み更新量算出部112及び第2の重み更新量算出部122の各々は、ニューラルネットワーク10に入力された学習用入力画像の1枚ごとに、重みの更新量を算出する。また、第1の重み更新処理部114及び第2の重み更新処理部124の各々は、ニューラルネットワーク10に入力された学習用入力画像の1枚ごとに、ニューラルネットワーク10の重みを更新する処理を行う。
 〈変形例3〉
 本発明に係るニューラルネットワークの学習方法は、ミニバッチ学習に限らず、学習用サンプルの1件ごとに逐次重みを更新するオンライン学習に適用することもできる。オンライン学習を行う場合、図5に示された信号処理装置102におけるミニバッチ形成部104は省略することができる。
 〈変形例4〉
 第2の正解形態は、矩形領域に限らず、他の多角形領域、円領域、若しくは楕円領域などであってもよい。
 《第3実施形態》
 図6は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。図6に示すフローチャートは、ミニバッチ学習に適用されてもよいし、学習用サンプルの1件ごとに逐次重みを更新するオンライン学習に適用されてもよい。
 ステップS22において、学習装置は、学習用データ群から学習用サンプルを選択する。ここでいう学習用データ群は、予め用意された学習用データ群の全体であってもよいし、その一部であってもよい。学習用データ群は、ミニバッチであってもよい。ただし、学習用データ群の中に、第1の正解形態と第2の正解形態のそれぞれの正解データが含まれているものとする。ステップS22は「選択ステップ」の一例である。
 ステップS24において、学習装置は、ステップS22にて選択した学習用サンプルをニューラルネットワーク10へ入力する。
 ステップS26において、学習装置は、ニューラルネットワーク10から第1の出力OP1及び第2の出力OP2の少なくとも1つの出力を取得する。ニューラルネットワーク10は、入力された学習用入力画像に対して、常に、第1の出力OP1と第2の出力OP2の2種類の出力を取得してもよいし、正解データが存在する正解形態に対応した出力のみを取得してもよい。例えば、図3の学習用サンプルBを用いた場合、第1の正解データが存在しないため、第1の出力OP1を得る演算を省略し、第2の出力OP2のみを取得してよい。ステップS26は「出力取得ステップ」の一例である。
 図6のステップS28において、学習装置は、入力に用いた学習用サンプルに第1の正解データがあるか否かを判定する。ステップS26の判定処理にてYes判定の場合、つまり、第1の正解データがあると判定した場合は、ステップS30に進む。一方、ステップS26の判定処理にてNo判定の場合、つまり、第1の正解データが無いと判定した場合は、ステップS33に進む。
 ステップS30において、学習装置は、第1の正解データを用いて第1の出力OP1を評価する。評価は、損失関数を用いた誤差の算出を含む。ステップS30は「評価ステップ」及び「第1の評価ステップ」の一例である。
 ステップS32において、学習装置は、ステップS20の評価結果を基に、ニューラルネットワーク10の重みを更新する。ステップS32は「更新ステップ」及び「第1の更新ステップ」の一例である。
 ステップS33において、学習装置は、入力に用いた学習用サンプルに第2の正解データがあるか否かを判定する。ステップS33の判定処理にてYes判定の場合、つまり、第2の正解データがあると判定した場合は、ステップS34に進む。
 ステップS34において、学習装置は、第2の正解データを用いて第2の出力OP2を評価する。ステップS34は「評価ステップ」及び「第2の評価ステップ」の一例である。
 ステップS36において、学習装置は、ステップS34の評価結果を基に、ニューラルネットワーク10の重みを更新する。ステップS36は「更新ステップ」及び「第2の更新ステップ」の一例である。
 ステップS36の後、ステップS38に進む。また、ステップS33の判定処理にてNo判定の場合、つまり、第2の正解データが無いと判定した場合は、ステップS38に進む。
 ステップS38において、学習装置は、学習終了条件を満たすか否かを判定する。ステップS38の判定処理にてNo判定の場合、つまり、学習終了条件を満たしていないと判定した場合は、ステップS22に戻り、ステップS22からステップS38の処理を繰り返す。学習装置は、学習終了条件が満たされるまで、ステップS22からステップS38の処理を繰り返し実行する。
 ステップS38の判定処理にてYes判定の場合、つまり、学習終了条件を満たしていると判定した場合は、ステップS40に進む。
 ステップS40において、学習装置は、ニューラルネットワーク10の重みを決定し、学習の処理を終了する。ステップS40は「重み決定ステップ」の一例である。
 なお、図6では、第1の出力を評価してから第2の出力を評価する例を示したが、評価処理の順番は特に限定されない。第2の出力を評価してから第1の出力を評価してもよく、また、第1の出力の評価と第2の出力の評価を並列に処理してもよい。
 《第4実施形態》
 図7は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。図7に示したフローチャートについて、図6に示したフローチャートと同一又は類似するステップには同一のステップ番号を付し、その説明は省略する。図6との相違点を説明する。
 図7に示したフローチャートは、図6と比較して、ステップS20とステップS39が追加されており、図6のステップS22に代えて、ステップS22Bを含む。
 ステップS20において、学習装置は、第1の学習用データ群から第2の学習用データ群を選び出す処理を行う。第2の学習用データ群は、第1の学習用データ群の一部であってもよいし、全部であってもよい。例えば、ミニバッチ学習の場合、第2の学習用データ群は、ミニバッチに相当する。第1の学習用データ群は、用意された学習用データ群の全体であってよく、また、その一部であってもよい。
 ステップS22Bにおいて、学習装置は、ステップS20にて選び出された第2の学習用データ群から学習用サンプルを選択する。
 ステップS24からステップS38の処理は、図6と同様である。
 図7に示すフローチャートでは、ステップS38の判定処理にてNo判定である場合、ステップS39に進む。
 ステップS39において、学習装置は、第2の学習用データ群を変更するか否かを判定する。ステップS39の判定処理にてNo判定である場合、すなわち、第2の学習用データ群を変更しないと判定した場合は、第2の学習用データ群を変更せずに、ステップS22Bに戻る。
 その一方、ステップS39の判定処理にてYes判定である場合、すなわち、第2の学習用データを変更すると判定した場合は、ステップS20に戻り、第2の学習データ群を選び直す。
 《第5実施形態》
 図8は、ニューラルネットワークの学習方法の他の例を示すフローチャートである。ステップS50において、学習装置は、第1の学習用データ群から第2の学習用データ群を選び出す。ステップS50は、図7で説明したステップS20と同様の処理である。
 次いで、ステップS52において、学習装置は、ステップS50にて選び出された第2の学習用データ群から学習用サンプルを選択する。ステップS52は、図7で説明したステップS22Bと同様の処理である。
 ステップS54において、学習装置は、ステップS52にて選択された学習用サンプルに第1の正解データがあるか否かを判定する。ステップS54の判定処理にてYes判定の場合、すなわち、学習用サンプルに第1の正解データが存在する場合は、ステップS56に進む。
 ステップS56において、学習装置は、ステップS52にて選択された学習用サンプルに第2の正解データがあるか否かを判定する。ステップS56の判定処理にてYes判定の場合、すなわち、学習用サンプルに第1の正解データと第2の正解データの両方が存在する場合は、ステップS58に進む。
 ステップS58において、学習装置は、第1の正解形態と第2の正解形態の学習処理を行う。ステップS58の処理内容は、図9及び図10のフローチャートを用いて後述する。
 図8のステップS56の判定処理にてNo判定の場合、すなわち、学習用サンプルに第2の正解データが存在せず、第1の正解データのみが存在する場合は、ステップS60に進む。ステップS60において、学習装置は、第1の正解形態の学習処理を行う。ステップS60の処理内容は、図11のフローチャートを用いて後述する。
 図8のステップS54の判定処理にてNo判定の場合、すなわち、学習用サンプルに第1の正解データが存在せず、第2の正解データのみが存在する場合は、ステップS62に進む。ステップS62において、学習装置は、第2の正解形態の学習処理を行う。ステップS62の処理内容は、図12のフローチャートを用いて後述する。
 ステップS58、ステップS60、又はステップS62の処理の後、ステップS70に進む。
 ステップS70において、学習装置は、学習終了条件を満たすか否かを判定する。ステップS70の判定処理にてNo判定の場合、つまり、学習終了条件を満たしていないと判定した場合は、ステップS72に進む。
 ステップS72において、学習装置は、第2の学習用データ群を変更するか否かを判定する。ステップS72の判定処理にてNo判定である場合、すなわち、第2の学習用データ群を変更しないと判定した場合は、第2の学習用データ群を変更せずに、ステップS52に戻る。
 その一方、ステップS72の判定処理にてYes判定である場合、すなわち、第2の学習用データを変更すると判定した場合は、ステップS50に戻り、第2の学習データ群を選び直す。
 ステップS70の判定処理にてYes判定である場合、つまり、学習終了条件を満たしていると判定した場合は、ステップS74に進む。
 ステップS74において、学習装置は、ニューラルネットワーク10の重みを決定し、学習の処理を終了する。
 〈第1の正解形態と第2の正解形態の学習処理〉
 図9は、図8のステップS58に適用される処理内容の例を示すフローチャートである。図9のステップS101において、学習装置は、第1の学習用入力データをニューラルネットワーク10へ入力する。ここでいう「第1の学習用入力データ」は、図8のステップS52にて選択された学習用サンプルの入力用データとしての学習用入力画像を指す。
 図9のステップS102において、学習装置は、ニューラルネットワーク10から第1の出力及び第2の出力を取得する。学習装置は、第1の学習用入力データについてニューラルネットワーク10を用いた処理を行い、第1の出力及び第2の出力をそれぞれ得る。ステップS102は「出力取得ステップ」の一例である。
 ステップS103において、学習装置は、第1の出力を評価する。学習装置は、ステップS102にて取得した第1の出力と、第1の学習用入力データに対応付けられている第1の正解データと誤差を算出し、第1の出力を評価する。ステップS103は「評価ステップ」及び「第1の評価ステップ」の一例である。
 ステップS104において、学習装置は、ステップS103の評価結果を基に、ニューラルネットワークの重みを更新する。学習装置は、ステップS103の評価結果から、第1のニューラルネットワーク11及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出し、算出した更新量に従い重みを更新する。ステップS104は「更新ステップ」及び「第1の更新ステップ」の一例である。
 ステップS105において、学習装置は、第2の出力を評価する。学習装置は、ステップS102にて取得した第2の出力と、第1の学習用入力データに対応付けられている第2の正解データと誤差を算出し、第2の出力を評価する。ステップS105は「評価ステップ」及び「第2の評価ステップ」の一例である。
 ステップS106において、学習装置は、ステップS105の評価結果を基に、ニューラルネットワークの重みを更新する。学習装置は、ステップS105の評価結果から、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出し、算出した更新量に従い重みを更新する。ステップS106は「更新ステップ」及び「第2の更新ステップ」の一例である。
 学習装置は、ステップS106の終了後、図8のフローチャートに復帰する。
 なお、図9で説明したステップS105をステップS103よりも前に実施してもよい。その場合、ステップS106をステップS104よりも前に実施してもよい。
 図10は、図8のステップS58に適用される処理内容の他の例を示すフローチャートである。図10において、図9に示したフローチャートと同一又は類似のステップには同一の符号を付し、その説明は省略する。図10に示したフローチャートは、図9に示したフローチャートのステップS104とステップS106が省略され、代わって、ステップS105の後にステップS107が追加されている。
 ステップS107において、学習装置は、ステップS103にて得られた評価結果と、ステップS105にて得られた評価結果とに基づいて、ニューラルネットワークの重みを更新する。学習装置は、ステップS103の評価結果とステップS105の評価結果から、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出し、算出した更新量に従い重みを更新する。
 学習装置は、ステップS107の終了後、図8のフローチャートに復帰する。
 〈第1の正解形態の学習処理〉
 図11は、図8のステップS60に適用される処理内容を示すフローチャートである。
 図11のステップS111において、学習装置は、第1の学習用入力データをニューラルネットワーク10へ入力する。ステップS112において、学習装置は、ニューラルネットワーク10から第1の出力を取得する。学習装置は、第1の学習用入力データについてニューラルネットワーク10を用いた処理を行い、第1の出力を得る。
 ステップS113において、学習装置は、第1の出力を評価する。学習装置は、ステップS112にて取得した第1の出力と、第1の学習用入力データに関連付けられている第1の正解データと誤差を算出し、第1の出力を評価する。
 ステップS114において、学習装置は、ステップS113の評価結果を基に、ニューラルネットワークの重みを更新する。学習装置は、ステップS113の評価結果から、第1のニューラルネットワーク11及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出し、算出した更新量に従い重みを更新する。
 〈第2の正解形態の学習処理〉
 図12は、図8のステップS62に適用される処理内容を示すフローチャートである。
 図12のステップS121において、学習装置は、第2の学習用入力データをニューラルネットワーク10へ入力する。ここでいう「第2の学習用入力データ」は、図8のステップS52にて選択された学習用サンプルの入力用データとしての学習用入力画像を指す。「第2の学習用入力データ」は、第2の正解データが関連付けられている学習用入力データであることを示している。
 ステップS122において、学習装置は、ニューラルネットワーク10から第2の出力を取得する。学習装置は、第2の学習用入力データについてニューラルネットワーク10を用いた処理を行い、第2の出力を得る。
 ステップS123において、学習装置は、第2の出力を評価する。学習装置は、ステップS122にて取得した第2の出力と、第2の学習用入力データに関連付けられている第2の正解データと誤差を算出し、第2の出力を評価する。誤差の算出には、損失関数が用いられる。
 ステップS124において、学習装置は、ステップS123の評価結果を基に、ニューラルネットワークの重みを更新する。学習装置は、ステップS123の評価結果から、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新量を算出し、算出した更新量に従い重みを更新する。
 学習装置は、ステップS124の終了後、図8のフローチャートに復帰する。
 《本発明の実施形態に係るニューラルネットワークの学習方法及び学習装置の利点》
 第1実施形態から第5実施形態として説明したように、本発明の実施形態に係るニューラルネットワークの学習方法及び学習装置によれば、例えば、次のような利点がある。
 (1)上述の各実施形態に係るニューラルネットワークの学習方法及び学習装置によれば、第1の正解形態を用いた学習と、第2の正解形態を用いた学習とを並行して行い、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13の各ニューラルネットワークの重みの更新を繰り返すことにより、ニューラルネットワーク10の重みが決定される。第2の正解形態を用いた学習による重み更新の効果が第1の正解形態についての認識精度の向上に寄与する。また、第1の正解形態を用いた学習による重み更新の効果が第2の正解形態についての認識精度の向上に寄与する。
 (2)第2の正解形態を含んだ学習用サンプルは、第1の正解形態についての認識精度の向上に役立ち、第1の正解形態を含んだ学習用サンプルは、第2の正解形態についての認識精度の向上に役立つ。第1の正解形態として例示した認識対象領域のマスク画像に比べて、第2の正解形態として例示した矩形領域は、正解データの作成が簡易であり、正解データの作成コストが低い。第1の正解形態に比べて正解データの作成コストが低い第2の正解形態を用いることにより、機械学習に必要な学習用データの準備負担を軽減することができる。良質な正解データが少ない場合でも、高い認識性能を持つニューラルネットワークを得ることができる。
 (3)第1の正解形態を含んだ学習用サンプルの数が比較的少ない場合であっても、第1の正解形態に関して高い認識性能を持つニューラルネットワークを得ることができる。例えば、セグメンテーションのタスクを主目的とする場合に、認識対象領域を詳細に特定したマスク画像の正解データは良質な正解データに相当し、認識対象領域を簡素に(粗く)特定した矩形領域の正解データは低質な正解データに相当する。本発明の実施形態に係るニューラルネットワークの学習方法及び学習装置によれば、良質な正解データが少ない場合であっても高い認識性能を持つニューラルネットワークを得ることができる。学習済みのニューラルネットワークは、「学習済みモデル」と呼ばれる。学習済みモデルは、認識処理を行うプログラムモジュールと理解してもよく、学習済みモデルは、「認識器」、「識別器」、「判別器」又は「検出器」の概念を含む。
 (4)上述の各実施形態に係るニューラルネットワークの学習方法及び学習装置によれば、高い認識性能を持つ学習済みモデルを、低コストにより得ることができる。
 《学習済みのニューラルネットワークを用いた画像認識装置の例1》
 図13は、学習済みのニューラルネットワークを用いた画像認識装置の例1を示すブロック図である。画像認識装置200は、学習済みのニューラルネットワーク210を備える。学習済みのニューラルネットワーク210は、既述した本発明の実施形態に係るニューラルネットワークの学習方法を使用して学習されたニューラルネットワーク10である。学習済みのニューラルネットワーク210は「学習済みモデル」の一例である。
 画像認識装置200は、入力画像に対して2形態の認識結果を出力し得る。画像認識装置200は、コンピュータを用いて実現することができる。画像認識装置200は、表示装置242と接続され得る。
 画像認識装置200に画像を入力すると、学習済みのニューラルネットワーク210によって処理が行われ、第1の認識結果と、第2の認識結果が出力される。第1の認識結果は、認識対象領域を詳細に抽出した情報を含む。第2の認識結果は、認識対象領域を簡素に抽出した情報を含む。第1の認識結果若しくは第2の認識結果又はこれらの両方は、表示装置242に表示される。
 画像認識装置200は、図5で説明した学習装置100がそのまま使われるものであってもよい。この場合、表示装置242は、図5に示した表示装置142であってよい。
 《学習済みのニューラルネットワークを用いた画像認識装置の例2》
 図14は、学習済みのニューラルネットワークを用いた画像認識装置の例2を示すブロック図である。画像認識装置201は、学習済みのニューラルネットワーク211を備える。学習済みのニューラルネットワーク211は、既述した本発明の実施形態に係るニューラルネットワークの学習方法を使用して学習されたニューラルネットワーク10の一部である第3のニューラルネットワーク13と第1のニューラルネットワーク11である。学習済みのニューラルネットワーク211は「学習済みモデル」の一例である。
 画像認識装置201は、入力画像に対して1形態の認識結果を出力する。画像認識装置201は、コンピュータを用いて実現することができる。
 画像認識装置201に画像を入力すると、学習済みのニューラルネットワーク211によって処理が行われ、第1の認識結果が出力される。第1の認識結果は、認識対象領域を詳細に抽出した情報を含む。第1の認識結果は、表示装置242に表示される。
 《学習用サンプルの作成機能》
 学習用入力データに正解データを関連付けて学習用サンプルを作成するための装置は、学習装置100とは別のコンピュータを用いて構成することができる。また、学習装置100が学習用サンプルを作成する機能を備えていてもよい。
 図15は、学習装置に搭載される学習用サンプルの作成機能に関するブロック図である。図15に示すように、学習装置100は、学習用サンプル作成部160を含む。学習用サンプル作成部160は、学習用入力データ取得部161と、正解特定情報取得部162と、正解データ作成部164と、関連付け処理部166とを含む。
 学習用入力データ取得部161は、第1の正解形態及び第2の正解形態のうち少なくとも1形態についての正解データが未付与である学習用入力データを取り込む。学習用入力データ取得部161は、第1の正解形態及び第2の正解形態の2形態のどちらの正解データも未付与である学習用入力データを取得し得る。学習用入力データ取得部161は、学習用入力データ記憶部131から、学習用入力データを取得することができる。
 記憶装置130は、学習用入力データ記憶部131を含んでいてよい。学習用入力データ記憶部131は、第1の正解形態及び第2の正解形態のうち少なくとも1形態についての正解データが未付与である学習用入力データを記憶しておく記憶領域である。なお、学習用入力データ記憶部131は、記憶装置130とは異なる記憶装置によって構成されていてもよい。
 正解特定情報取得部162は、第1の正解特定情報取得部162Aと第2の正解特定情報取得部162Bとを含む。第1の正解特定情報取得部162Aは、入力装置140から与えられる第1の正解特定情報を取得する。第1の正解特定情報は、第1の正解形態の正解を特定する情報である。第1の正解特定情報は、例えば、認識対象領域の詳細な輪郭を指定する情報であってよい。ユーザは、表示装置142に表示される学習用入力データの画像を確認しながら、入力装置140を操作して、第1の正解形態の正解を特定する指示の入力を行うことができる。
 第2の正解特定情報取得部162Bは、入力装置140から与えられる第2の正解特定情報を取得する。第2の正解特定情報は、第2の正解形態の正解を特定する情報である。第2の正解特定情報は、例えば、認識対象領域を簡素に囲む矩形形状を指定する情報であってよい。ユーザは、表示装置142に表示される学習用入力データの画像を確認しながら、入力装置140を操作して、第2の正解形態の正解を特定する指示の入力を行うことができる。
 正解データ作成部164は、第1の正解データ作成部164Aと第2の正解データ作成部164Bとを含む。第1の正解データ作成部164Aは、第1の正解特定情報に基づき第1の正解データを作成する処理を行う。第1の正解データは、例えば、認識対象領域のマスク画像である。第2の正解データ作成部164Bは、第2の正解特定情報に基づき第2の正解データを作成する処理を行う。第2の正解データは、例えば、認識対象領域を囲む矩形領域である。
 関連付け処理部166は、学習用入力データ取得部161を介して取得した学習用入力データと、正解データ作成部164によって作成された正解データとを関連付ける処理を行い、正解データが付与された学習用サンプルを作成する。こうして作成された学習用サンプルは、記憶装置130の学習用データ群記憶部132に記憶される。
 《ユーザインターフェース画面の例》
 図16から図20は、学習用サンプルを作成する際に表示装置142に表示される画面の例である。
 図16は、学習用サンプルの作成を開始する際に表示される操作画面の一例を示す図である。図16に例示したウインドウ300は、画像表示エリア301と、第1の正解データ作成ボタン304と、第2の正解データ作成ボタン306と、複数形態の正解データ作成ボタン308と、を含む。「ボタン」は、GUI(graphical user interface)ボタンである。GUIボタンについて「押す」という表現には、クリックする、又はタッチするなど、ボタンに対応した指令の入力を行う動作が含まれる。
 画像表示エリア301には、学習用入力データ302の画像内容が表示される。ここでは、内視鏡画像を例示する。学習用入力データ302の画像内には、認識対象領域としての病変領域303が含まれている。なお、1枚の画像内に複数の病変領域が含まれる場合がある。
 第1の正解データ作成ボタン304は、第1の正解データを作成する際に選択されるボタンである。第2の正解データ作成ボタン306は、第2の正解データを作成する際に選択されるボタンである。複数形態の正解データ作成ボタン308は、第1の正解データと第2の正解データの両方を作成する際に選択されるボタンである。ユーザは、作成しようとする正解データの形態に応じて、所望のボタンを選択し得る。なお、既に付与済みの正解データが存在している場合には、付与済みの正解データのボタンは、グレーアウトにより、選択対象から外れていることが示される。
 第1の正解データ作成ボタン304が押されると、第1の正解データを作成するための操作画面が表示装置142に表示される。
 図17は、第1の正解データを作成する際に表示される操作画面の一例を示す図である。図17に例示したウインドウ310は、画像表示エリア301の他に、操作案内表示エリア314と、実行ボタン316と、キャンセルボタン317と、戻るボタン318と、を含む。
 操作案内表示エリア314には、ユーザに対して求められる操作内容のメッセージが表示される。ユーザは、入力装置140を用いて、病変領域303の輪郭313を指定する操作を行う。画像内に複数の病変領域が含まれている場合は、それぞれの病変領域について輪郭を指定することができる。
 実行ボタン316は、ユーザが指定した輪郭313に従って第1の正解データの作成を実行する指令を入力するボタンである。ユーザが輪郭313を指定した後、実行ボタン316を押すと、指定された輪郭313で囲まれた領域をマスクしたマスク画像を表す第1の正解データが作成される。
 キャンセルボタン317は、輪郭313の指定を取り消す際に選択されるボタンである。ユーザは、キャンセルボタン317を押すことによって、輪郭313の指定をやり直すことができる。ユーザが戻るボタン318を押すと、図16の操作画面から図15の操作画面に戻る。
 図18は、正解データの確認画面の一例を示す図である。例えば、図17において実行ボタン316が押されると、図18に示すような確認画面が表示される。図18に例示したウインドウ320は、画像表示エリア301にマスク画像324を含む第1の正解データ322の画像内容が表示される。なお、マスク画像324以外の画像領域については、元の画像内容をそのまま表示してもよいし、認識対象外の領域であることを表示するように、差別化表示してもよい。
 ウインドウ320は、保存ボタン326と、キャンセルボタン327と、戻るボタン318と、を含む。
 保存ボタン326は、作成された正解データを学習用入力データと関連付けて記憶装置130に保存する指令を入力するためのボタンである。キャンセルボタン327は、作成された正解データの保存を取り止める際に選択されるボタンである。キャンセルボタン327が押された場合は、図17の操作画面に戻って、輪郭313の指定をやり直すことができる。
 図19は、第2の正解データを作成する際に表示される操作画面の一例を示す図である。図16に示した第2の正解データ作成ボタン306が押されると、第2の正解データを作成するための操作画面が表示装置142に表示される。
 図19に例示したウインドウ330は、画像表示エリア301の他に、操作案内表示エリア334と、実行ボタン336と、キャンセルボタン337と、戻るボタン318と、を含む。
 操作案内表示エリア334には、ユーザに対して求められる操作内容のメッセージが表示される。ユーザは、入力装置140を用いて、病変領域303を簡素に囲む矩形枠333を指定する操作を行う。
 実行ボタン336は、ユーザが指定した矩形枠333に従って第2の正解データの作成を実行する指令を入力するボタンである。ユーザが矩形枠333を指定した後、実行ボタン336を押すと、指定された矩形枠333で囲まれた矩形領域を表す第2の正解データが作成される。キャンセルボタン337は、矩形枠333の指定を取り消す際に選択されるボタンである。
 図20は、正解データの確認画面の一例を示す図である。例えば、図19において実行ボタン336が押されると、図20に示すような確認画面が表示される。図20に例示したウインドウ340は、画像表示エリア301に矩形領域344を含む第2の正解データ342の画像内容が表示される。矩形領域344以外の画像領域については、元の画像内容をそのまま表示してもよいし、認識対象外の領域であることを表示するように、差別化表示してもよい。
 ウインドウ340は、保存ボタン346と、キャンセルボタン347と、戻るボタン318と、を含む。
 保存ボタン346は、作成された正解データを学習用入力データと関連付けて記憶装置130に保存する指令を入力するためのボタンである。キャンセルボタン347は、作成された正解データの保存を取り止める際に選択されるボタンである。キャンセルボタン347が押された場合は、図19の操作画面に戻って、矩形枠333の指定をやり直すことができる。
 図16に示した複数形態の正解データ作成ボタン308が押された場合は、図17及び図18で説明した第1の正解データを作成する際の操作手順と、図19及び図20で説明した第2の正解データを作成する際の操作手順の両方が段階的に実行される。
 図21は、上述した学習用サンプル作成機能によって作成された学習サンプルの一例を示す概念図である。図21に示した学習用入力データ302には、第1の正解データ322と第2の正解データ342とが関連付けられている。第2の正解データ342は、第1の正解データ322に比べて、簡易に作成することができる。
 《ニューラルネットワークの構造に関する他の形態》
 図1では、第1のニューラルネットワーク11、第2のニューラルネットワーク12及び第3のニューラルネットワーク13から構成されるニューラルネットワーク10を例示したが、本発明の適用に際して、ニューラルネットワークの構造については様々な形態があり得る。
 また、第1の正解形態と第2の正解形態の2形態の正解形態を用いる構成に限らず、3形態以上の正解形態を用いる構成も可能である。
 図22は、ニューラルネットワークの他の形態例1を示す概念図である。図1に示したニューラルネットワーク10に代えて、図22に示すニューラルネットワーク410を用いてもよい。
 ニューラルネットワーク410は、図1に示したニューラルネットワーク10の構成に加えて、第4のニューラルネットワーク14を含む。第4のニューラルネットワーク14は、第3のニューラルネットワーク13から出力された要素が入力されるニューラルネットワークである。第4のニューラルネットワーク14は、第4の正解形態に対応した第4の出力OP4を生成するニューラルネットワークである。図22において、第4のニューラルネットワーク14から得られる第4の出力OP4を「出力4」と表記した。第4の正解形態の正解ラベルを「第4の正解データ」といい、符号L4で示す。図22において、第4の正解データL4を「正解4」と表記した。
 正解形態が3形態以上である場合についても、既述した2形態の例と同様の考え方を拡張して適用することができる。ニューラルネットワークの構造のみを示して、詳細な説明については省略する。
 図23は、ニューラルネットワークの他の形態例2を示す概念図である。図1に示したニューラルネットワーク10に代えて、図23に示すニューラルネットワーク420を用いてもよい。
 ニューラルネットワーク420は、図1に示したニューラルネットワーク10の構成に加えて、第5のニューラルネットワーク15を含む。第5のニューラルネットワーク15は、第3のニューラルネットワーク13の中間層から出力された要素が入力されるニューラルネットワークである。第5のニューラルネットワーク15は、第5の正解形態に対応した第5の出力OP5を生成するニューラルネットワークである。図23において、第5のニューラルネットワーク15から得られる第5の出力OP5を「出力5」と表記した。第5の正解形態の正解ラベルを「第5の正解データ」といい、符号L5で示す。図23において、第5の正解データL5を「正解5」と表記した。
 図24は、ニューラルネットワークの他の形態例3を示す概念図である。図1に示したニューラルネットワーク10に代えて、図24に示すニューラルネットワーク430を用いてもよい。
 ニューラルネットワーク430は、図1に示したニューラルネットワーク10の構成に加えて、第6のニューラルネットワーク16を含む。第6のニューラルネットワーク16は、第2のニューラルネットワーク12の中間層から出力された要素が入力されるニューラルネットワークである。第6のニューラルネットワーク16は、第6の正解形態に対応した第6の出力OP6を生成するニューラルネットワークである。図24において、第6のニューラルネットワーク16から得られる第6の出力OP6を「出力6」と表記した。第6の正解形態の正解ラベルを「第6の正解データ」といい、符号L6で示す。図24において、第6の正解データL6を「正解6」と表記した。
 図24のように、第2のニューラルネットワーク12は、第6のニューラルネットワーク16への入力要素を出力する中間層を含む前半のサブネットワーク12Aと、後半のサブネットワーク12Bとの組み合わせた構造であると把握される。
 この場合、後半のサブネットワーク12Bが「第2のニューラルネットワーク」の一例に相当し、第6のニューラルネットワーク16が「第1のニューラルネットワーク」の一例に相当し、第3のニューラルネットワーク13とサブネットワーク12Aが「第3のニューラルネットワーク」の一例に相当すると解釈することも可能である。
 また、図22から図24に示した各形態を適宜組み合わせた構造を有するニューラルネットワークを採用してもよい。
 《実施形態及び変形例等の組み合わせについて》
 上述の各実施形態で説明した構成や変形例等で説明した事項は、適宜組み合わせて用いることができ、また、一部の事項を置き換えることもできる。
 《他の応用例》
 [1]本発明の実施に際しては、内視鏡画像から病変領域を認識する用途に限らず、様々な応用が可能である。例えば、本発明は、風景の画像を1又は複数の対象物の領域に分類するセグメンテーションを行う場合に用いることができる。
 [2]本発明は、CT(Computed Tomography)画像から特定の部位を認識する用途に用いることができる。入力データは、3次元データであってもよい。
 [3]本発明は、デジタルカメラを用いて撮影された画像から顔領域を抽出する用途に用いることができる。
 [4]本発明は、文書のデータから、文字領域及び/又は写真領域の抽出を行う用途に用いることができる。
 [5]本発明は、映像監視の分野に応用することができる。例えば、本発明は、監視カメラなどを用いて撮影される動画から、人物若しくは不審者等の抽出を行う用途に用いることができる。
 《各処理部のハードウェア構成について》
 図5で説明したミニバッチ形成部104、学習用サンプル選択部106、ニューラルネットワーク10、第1の出力取得部110、第1の誤差算出部111、第1の重み更新量算出部112、第1の重み更新処理部114、第2の出力取得部120、第2の誤差算出部121、第2の重み更新量算出部122、第2の重み更新処理部124、重み決定部126、並びに、図15で説明した学習用サンプル作成部160、学習用入力データ取得部161、第1の正解特定情報取得部162A、第2の正解特定情報取得部162B、第1の正解データ作成部164A、第2の正解データ作成部164B、及び関連付け処理部166などの各種の制御部並びに処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
 各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
 1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種又は異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、或いは、CPUとFPGAの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
 さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
 《コンピュータのハードウェア構成の例》
 図25は、学習装置若しくは画像認識装置、又はこれらの両方の機能を備えた装置として用いることができるコンピュータのハードウェア構成の例を示すブロック図である。コンピュータには、デスクトップ型、ノート型、又はタブレット型など、各種形態のコンピュータが含まれる。また、コンピュータには、サーバコンピュータであってもよいし、マイクロコンピュータであってもよい。
 コンピュータ500は、CPU501と、メモリ502と、記憶装置503と、入力インターフェース部504と、ネットワーク接続用の通信インターフェース部505と、表示制御部506と、周辺機器用インターフェース部507と、バス508と、を備える。図25において「IF」の表記は「インターフェース」を表す。
 記憶装置503は、例えば、ハードディスク装置を用いて構成されてよい。記憶装置503には、学習処理及び/又は認識処理等の画像処理に必要な各種プログラムやデータ等が記憶されている。記憶装置503に記憶されているプログラムがメモリ502にロードされ、これをCPU501が実行することにより、コンピュータは、プログラムで規定される各種の処理を行う手段として機能する。記憶装置503は、図5で説明した記憶装置130として機能し得る。
 入力装置510は入力インターフェース部504に接続される。表示装置520は表示制御部506に接続される。入力装置510と表示装置520は、図5で説明した入力装置140と表示装置142として機能し得る。
 《コンピュータを動作させるプログラムについて》
 上述の実施形態で説明した学習装置の学習機能、及び、学習済みモデルを用いた画像認識装置の認識機能のうち少なくとも一方の処理機能をコンピュータに実現させるプログラムを光ディスク、磁気ディスク、若しくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。またこのような有体物たる非一時的な情報記憶媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
 また、上述の実施形態で説明した学習装置の学習機能、及び、学習済みモデルを用いた画像認識装置の認識機能のうち少なくとも一方の処理機能の一部又は全部をアプリケーションサーバとして提供し、電気通信回線を通じて処理機能を提供するサービスを行うことも可能である。
 以上説明した本発明の実施形態は、本発明の趣旨を逸脱しない範囲で、適宜構成要件を変更、追加、又は削除することが可能である。本発明は以上説明した実施形態に限定されるものでは無く、本発明の技術的思想内で当該分野の通常の知識を有するものにより、多くの変形が可能である。
10 ニューラルネットワーク
10A 入力層
10B 中間層
10C 第1の出力層
10D 第2の出力層
11 第1のニューラルネットワーク
12 第2のニューラルネットワーク
12A サブネットワーク
12B サブネットワーク
13 第3のニューラルネットワーク
14 第4のニューラルネットワーク
15 第5のニューラルネットワーク
16 第6のニューラルネットワーク
50 認識対象
61 マスク画像
62 矩形領域
100 学習装置
102 信号処理装置
104 ミニバッチ形成部
106 学習用サンプル選択部
110 第1の出力取得部
111 第1の誤差算出部
112 第1の更新量算出部
114 第1の更新処理部
120 第2の出力取得部
121 第2の誤差算出部
122 第2の更新量算出部
124 第2の更新処理部
126 重み決定部
130 記憶装置
131 学習用入力データ記憶部
132 学習用データ群記憶部
134 ミニバッチ記憶部
140 入力装置
142 表示装置
160 学習用サンプル作成部
161 学習用入力データ取得部
162 正解特定情報取得部
162A 第1の正解特定情報取得部
162B 第2の正解特定情報取得部
164 正解データ作成部
164A 第1の正解データ作成部
164B 第2の正解データ作成部
166 関連付け処理部
200、201 画像認識装置
210 学習済みのニューラルネットワーク
211 学習済みのニューラルネットワーク
242 表示装置
300 ウインドウ
301 画像表示エリア
302 学習用入力データ
303 病変領域
304 第1の正解データ作成ボタン
306 第2の正解データ作成ボタン
308 複数形態の正解データ作成ボタン
310、320、330、340 ウインドウ
313 輪郭
314、334 操作案内表示エリア
316、336 実行ボタン
317、327、337、347 キャンセルボタン
318 戻るボタン
322 第1の正解データ
324 マスク画像
326、346 保存ボタン
333 矩形枠
342 第2の正解データ
344 矩形領域
410、420、430 ニューラルネットワーク
500 コンピュータ
502 メモリ
503 記憶装置
504 入力インターフェース部
505 通信インターフェース部
506 表示制御部
507 周辺機器用インターフェース部
508 バス
510 入力装置
520 表示装置
I 入力画像
L1 第1の正解データ
L2 第2の正解データ
L4 第4の正解データ
L5 第5の正解データ
L6 第6の正解データ
OP1 第1の出力
OP2 第2の出力
OP4 第4の出力
OP5 第5の出力
OP6 第6の出力
S11~S16 学習処理のステップ
S22~S40、S22B 学習処理のステップ
S50~S74 学習処理のステップ
S101~S107 学習処理のステップ
S111~S114 学習処理のステップ
S121~S124 学習処理のステップ

Claims (21)

  1.  ニューラルネットワークの学習方法であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     学習用データ群から、前記第1の正解形態及び前記第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択ステップと、
     前記選択した前記学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得ステップと、
     前記出力取得ステップにて得られた前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価ステップと、
     前記評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する重み更新ステップと、
     前記選択ステップ、前記出力取得ステップ、前記評価ステップ、及び前記重み更新ステップを複数回実施した後に、前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークの各々の重みを決定する重み決定ステップと、
     を含むニューラルネットワークの学習方法。
  2.  前記複数回実施される前記選択ステップにて選択される複数の前記学習用サンプルの中には、前記第1の正解形態を有した第1の学習用サンプルと、前記第2の正解形態を有した第2の学習用サンプルの両方が含まれる請求項1に記載のニューラルネットワークの学習方法。
  3.  前記学習用サンプルとして、入力用画像に前記第1の正解形態及び前記第2の正解形態の両方の正解形態が関連付けられたデータが用いられる請求項1に記載のニューラルネットワークの学習方法。
  4.  ニューラルネットワークの学習方法であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記第1の正解形態及び前記第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、前記第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出すステップと、
     前記第2の学習用データ群に含まれる学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得ステップと、
     前記出力取得ステップにて取得された前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価ステップと、
     前記第2の学習用データ群に含まれる学習用サンプルをすべて用いて、前記評価ステップから得られた評価結果に基づいて前記ニューラルネットワークの重みを更新する重み更新ステップと、を含み、
     前記重みを更新する学習単位としての前記第2の学習用データ群の中に、前記第1の正解形態及び前記第2の正解形態が含まれているニューラルネットワークの学習方法。
  5.  ニューラルネットワークの学習方法であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データを前記ニューラルネットワークに入力することにより、少なくとも前記第1の出力を取得する第1の出力取得ステップと、
     前記第1の出力取得ステップにて取得された少なくとも前記第1の出力について評価を行う第1の評価ステップと、
     前記第1の評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第1の更新ステップと、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第2の正解形態を有した第2の学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから少なくとも前記第2の出力を取得する第2の出力取得ステップと、
     前記第2の出力取得ステップにて得られた少なくとも前記第2の出力について評価を行う第2の評価ステップと、
     前記第2の評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第2の更新ステップと、
     を含み、
     前記ニューラルネットワークに入力する前記第1の学習用入力データを変えて、前記第1の出力取得ステップ及び前記第1の評価ステップを少なくとも2回実施し、
     かつ、
     前記少なくとも2回の前記第1の出力取得ステップ及び前記第1の評価ステップを実施する間に、前記第2の出力取得ステップ及び前記第2の評価ステップを少なくとも1回実施するニューラルネットワークの学習方法。
  6.  前記ニューラルネットワークは、畳み込み層を含む請求項1から5のいずれか一項に記載のニューラルネットワークの学習方法。
  7.  前記第1のニューラルネットワーク及び前記第2のニューラルネットワークのうち少なくとも一方は、1×1の畳み込みによる処理を行う畳み込み層を含む請求項6に記載のニューラルネットワークの学習方法。
  8.  前記ニューラルネットワークは、入力された画像内の少なくとも1つの特定領域を抽出した少なくとも1つのマスク画像を出力する請求項1から7のいずれか一項に記載のニューラルネットワークの学習方法。
  9.  前記ニューラルネットワークは、入力された画像内の少なくとも1つの矩形領域を出力する請求項1から8のいずれか一項に記載のニューラルネットワークの学習方法。
  10.  前記第1の正解形態は、少なくとも1枚の画像に対し、画像内の特定領域の各画素と対応するものを含む請求項1から9のいずれか一項に記載のニューラルネットワークの学習方法。
  11.  前記第2の正解形態は、少なくとも1枚の画像に対し、画像内の矩形領域と対応するものを含む請求項1から10のいずれか一項に記載のニューラルネットワークの学習方法。
  12.  前記第1のニューラルネットワークから得られる前記第1の出力と前記第2のニューラルネットワークから得られる前記第2の出力のそれぞれの評価を重み付けして行う請求項1から11のいずれか一項に記載のニューラルネットワークの学習方法。
  13.  請求項1から12のいずれか一項に記載のニューラルネットワークの学習方法を用いて、前記ニューラルネットワークを学習することにより、前記重みが決定された学習済みの前記ニューラルネットワークを含む学習済みモデル。
  14.  ニューラルネットワークの学習装置であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     学習用データ群から、前記第1の正解形態及び前記第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択部と、
     前記選択した前記学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得部と、
     前記出力取得部にて得られた前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価部と、
     前記評価部にて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する重み更新部と、
     前記選択部による選択ステップ、前記出力取得部による出力取得ステップ、前記評価部による評価ステップ、及び前記重み更新部による重み更新ステップを複数回実施した後に、前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークの各々の重みを決定する重み決定部と、
     を備える学習装置。
  15.  ニューラルネットワークの学習装置であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記第1の正解形態及び前記第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、前記第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出す学習用データ群選択部と、
     前記第2の学習用データ群に含まれる学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得部と、
     前記出力取得部にて取得された前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価部と、
     前記第2の学習用データ群に含まれる学習用サンプルをすべて用いて、前記評価部から得られた評価結果に基づいて前記ニューラルネットワークの重みを更新する重み更新部と、を含み、
     前記重みを更新する学習単位としての前記第2の学習用データ群の中に、前記第1の正解形態及び前記第2の正解形態が含まれている学習装置。
  16.  ニューラルネットワークの学習装置であって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データを前記ニューラルネットワークに入力することにより、少なくとも前記第1の出力を取得する第1の出力取得部と、
     前記第1の出力取得部にて取得された少なくとも前記第1の出力について評価を行う第1の評価部と、
     前記第1の評価部にて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第1の更新部と、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第2の正解形態を有した第2の学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから少なくとも前記第2の出力を取得する第2の出力取得部と、
     前記第2の出力取得部にて得られた少なくとも前記第2の出力について評価を行う第2の評価部と、
     前記第2の評価部にて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第2の更新部と、
     を含み、
     前記ニューラルネットワークに入力する前記第1の学習用入力データを変えて、前記第1の出力取得部による第1の出力取得ステップ及び前記第1の評価部による第1の評価ステップを少なくとも2回実施し、
     かつ、
     前記少なくとも2回の前記第1の出力取得ステップ及び前記第1の評価ステップを実施する間に、前記第2の出力取得部による第2の出力取得ステップ及び前記第2の評価部による第2の評価ステップを少なくとも1回実施する学習装置。
  17.  前記第1の正解形態及び前記第2の正解形態のうち少なくとも1つを有した学習用サンプルを作成する学習用サンプル作成部を備え、
     前記学習用サンプル作成部は、
     学習用入力データを取得する学習用入力データ取得部と、
     前記学習用入力データに対する前記第1の正解形態の正解を特定する第1の正解特定情報を取得する第1の正解特定情報取得部と、
     前記第1の正解特定情報を基に、前記学習用入力データに対する前記第1の正解データを作成する第1の正解データ作成部と、
     前記学習用入力データに対する前記第2の正解形態の正解を特定する第2の正解特定情報を取得する第2の正解特定情報取得部と、
     前記第2の正解特定情報を基に、前記学習用入力データに対する第2の正解データを作成する第2の正解データ作成部と、
     前記第1の正解データ作成部によって作成された前記第1の正解データ及び前記第2の正解データ作成部によって作成された前記第2の正解データのうち少なくとも1つの正解データを前記学習用入力データと関連付ける関連付け処理部と、
     を含む請求項14から16のいずれか一項に記載の学習装置。
  18.  前記学習用入力データ取得部を介して取得された前記学習用入力データを表示する表示装置と、
     前記学習用入力データに対する前記第1の正解形態の正解を特定する指示、及び前記学習用入力データに対する前記第2の正解形態の正解を特定する指示のうち、少なくとも1つの指示を、ユーザが入力するための入力装置と、
     を備え、
     前記表示装置は、前記入力装置から入力された指示に従って前記第1の正解データ作成部を用いて作成された前記第1の正解データ、及び前記入力装置から入力された指示に従って前記第2の正解データ作成部を用いて作成された前記第2の正解データのうち、少なくとも1つを表示する請求項17に記載の学習装置。
  19.  コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記プログラムは、
     学習用データ群から、前記第1の正解形態及び前記第2の正解形態のうち少なくとも1つを有した学習用サンプルを選択する選択ステップと、
     前記選択した前記学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得ステップと、
     前記出力取得ステップにて得られた前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価ステップと、
     前記評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する重み更新ステップと、
     前記選択ステップ、前記出力取得ステップ、前記評価ステップ、及び前記重み更新ステップを複数回実施した後に、前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークの各々の重みを決定する重み決定ステップと、
     をコンピュータに実行させるプログラム。
  20.  コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記プログラムは、
     前記第1の正解形態及び前記第2の正解形態を含む少なくとも2種類の正解形態を含む第1の学習用データ群から、前記第1の学習用データ群の一部又は全部である第2の学習用データ群を選び出すステップと、
     前記第2の学習用データ群に含まれる学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから前記第1の出力及び前記第2の出力の少なくとも1つを取得する出力取得ステップと、
     前記出力取得ステップにて取得された前記第1の出力及び前記第2の出力の少なくとも1つについて評価を行う評価ステップと、
     前記第2の学習用データ群に含まれる学習用サンプルをすべて用いて、前記評価ステップから得られた評価結果に基づいて前記ニューラルネットワークの重みを更新する重み更新ステップと、をコンピュータに実行させるものであり、
     前記重みを更新する学習単位としての前記第2の学習用データ群の中に、前記第1の正解形態及び前記第2の正解形態が含まれているプログラム。
  21.  コンピュータに、ニューラルネットワークの学習を実行させるプログラムであって、
     前記ニューラルネットワークは、
     第1の正解形態に対応した第1の出力を行う第1のニューラルネットワークと、
     第2の正解形態に対応した第2の出力を行う第2のニューラルネットワークと、
     前記第1のニューラルネットワーク及び前記第2のニューラルネットワークへの入力要素を出力する第3のニューラルネットワークと、
     を含むニューラルネットワークであり、
     前記プログラムは、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第1の正解形態の第1の正解データと関連付けられた第1の学習用入力データを前記ニューラルネットワークに入力することにより、少なくとも前記第1の出力を取得する第1の出力取得ステップと、
     前記第1の出力取得ステップにて取得された少なくとも前記第1の出力について評価を行う第1の評価ステップと、
     前記第1の評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第1の更新ステップと、
     前記第1の正解形態及び前記第2の正解形態のうち少なくとも前記第2の正解形態を有した第2の学習用サンプルを前記ニューラルネットワークへの入力に用いることにより、前記ニューラルネットワークから少なくとも前記第2の出力を取得する第2の出力取得ステップと、
     前記第2の出力取得ステップにて得られた少なくとも前記第2の出力について評価を行う第2の評価ステップと、
     前記第2の評価ステップにて得られる評価結果に基づいて、前記ニューラルネットワークの重みを更新する第2の更新ステップと、
     をコンピュータに実行させるものであり、
     前記ニューラルネットワークに入力する前記第1の学習用入力データを変えて、前記第1の出力取得ステップ及び前記第1の評価ステップを少なくとも2回実施し、
     かつ、
     前記少なくとも2回の前記第1の出力取得ステップ及び前記第1の評価ステップを実施する間に、前記第2の出力取得ステップ及び前記第2の評価ステップを少なくとも1回実施するプログラム。
PCT/JP2018/040070 2017-11-21 2018-10-29 ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム WO2019102797A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019556154A JP7008081B2 (ja) 2017-11-21 2018-10-29 ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017223474 2017-11-21
JP2017-223474 2017-11-21

Publications (1)

Publication Number Publication Date
WO2019102797A1 true WO2019102797A1 (ja) 2019-05-31

Family

ID=66631588

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/040070 WO2019102797A1 (ja) 2017-11-21 2018-10-29 ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム

Country Status (2)

Country Link
JP (1) JP7008081B2 (ja)
WO (1) WO2019102797A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111325338A (zh) * 2020-02-12 2020-06-23 暗物智能科技(广州)有限公司 神经网络结构评价模型构建和神经网络结构搜索方法
CN113496194A (zh) * 2020-03-19 2021-10-12 本田技研工业株式会社 信息处理装置、信息处理方法、车辆、信息处理服务器和记录介质
JP2022063250A (ja) * 2020-10-09 2022-04-21 ネイバー コーポレーション SuperLoss:堅牢なカリキュラム学習のための一般的な損失
WO2024047770A1 (ja) * 2022-08-30 2024-03-07 日本電気株式会社 情報処理システム、情報処理方法及び記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08214174A (ja) * 1995-02-01 1996-08-20 Canon Inc 色処理方法
JP2010500081A (ja) * 2006-08-11 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 系統的なデータ・スケーリングを遺伝的アルゴリズムに基づく特徴サブセット選択に統合する方法および装置
JP2014229124A (ja) * 2013-05-23 2014-12-08 独立行政法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、ディープ・ニューラルネットワークのサブネットワークのパラメータを記憶した記憶媒体及びコンピュータプログラム
JP2015019162A (ja) * 2013-07-09 2015-01-29 大日本印刷株式会社 会議支援システム
WO2017079529A1 (en) * 2015-11-04 2017-05-11 Nec Laboratories America, Inc. Universal correspondence network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08214174A (ja) * 1995-02-01 1996-08-20 Canon Inc 色処理方法
JP2010500081A (ja) * 2006-08-11 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 系統的なデータ・スケーリングを遺伝的アルゴリズムに基づく特徴サブセット選択に統合する方法および装置
JP2014229124A (ja) * 2013-05-23 2014-12-08 独立行政法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、ディープ・ニューラルネットワークのサブネットワークのパラメータを記憶した記憶媒体及びコンピュータプログラム
JP2015019162A (ja) * 2013-07-09 2015-01-29 大日本印刷株式会社 会議支援システム
WO2017079529A1 (en) * 2015-11-04 2017-05-11 Nec Laboratories America, Inc. Universal correspondence network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111325338A (zh) * 2020-02-12 2020-06-23 暗物智能科技(广州)有限公司 神经网络结构评价模型构建和神经网络结构搜索方法
CN113496194A (zh) * 2020-03-19 2021-10-12 本田技研工业株式会社 信息处理装置、信息处理方法、车辆、信息处理服务器和记录介质
CN113496194B (zh) * 2020-03-19 2024-03-12 本田技研工业株式会社 信息处理装置、信息处理方法、车辆、信息处理服务器和记录介质
JP2022063250A (ja) * 2020-10-09 2022-04-21 ネイバー コーポレーション SuperLoss:堅牢なカリキュラム学習のための一般的な損失
JP7345530B2 (ja) 2020-10-09 2023-09-15 ネイバー コーポレーション SuperLoss:堅牢なカリキュラム学習のための一般的な損失
WO2024047770A1 (ja) * 2022-08-30 2024-03-07 日本電気株式会社 情報処理システム、情報処理方法及び記録媒体

Also Published As

Publication number Publication date
JPWO2019102797A1 (ja) 2020-11-19
JP7008081B2 (ja) 2022-01-25

Similar Documents

Publication Publication Date Title
WO2019102797A1 (ja) ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム
CN111899245B (zh) 图像分割、模型的训练方法及装置,电子设备及存储介质
US10740694B2 (en) System and method for capture and adaptive data generation for training for machine vision
US11250548B2 (en) Digital image completion using deep learning
US10489956B2 (en) Robust attribute transfer for character animation
KR101980503B1 (ko) 신체 이미징
CN110570426B (zh) 使用深度学习的图像联合配准和分割
CN106485773B (zh) 一种用于生成动画数据的方法和装置
CN107169974A (zh) 一种基于多监督全卷积神经网络的图像分割方法
CN110892408A (zh) 用于立体视觉和跟踪的系统、方法和装置
CN105917354A (zh) 用于图像处理的空间金字塔池化网络
WO2020160643A1 (en) Shadow and cloud masking for agriculture applications using convolutional neural networks
JP2003196327A (ja) 3次元コンピュータモデリング
CN108073909B (zh) 合成模糊人脸图像的方法和装置、计算机装置及存储介质
CN113487656B (zh) 图像配准方法及装置,训练方法及装置,控制方法及装置
CN113240778A (zh) 虚拟形象的生成方法、装置、电子设备和存储介质
CN109472752A (zh) 基于航拍图像的多曝光融合系统
CN111598899A (zh) 图像处理方法、装置及计算机可读存储介质
CN111199540A (zh) 图像质量评价方法、装置、电子设备及存储介质
CN108089753B (zh) 一种利用Faster-RCNN对指尖位置进行预测的定位方法
CN112232315B (zh) 文本框检测方法、装置、电子设备和计算机存储介质
Zhao et al. Low-light image enhancement based on multi-path interaction
JP6801020B2 (ja) 画像認識装置、画像認識方法、及び画像認識プログラム
JP2021089493A (ja) 情報処理装置およびその学習方法
CN113439909A (zh) 一种对象的三维尺寸测量方法和移动终端

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019556154

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18881766

Country of ref document: EP

Kind code of ref document: A1