WO2022244159A1 - 機械学習装置、推論装置、機械学習方法及びプログラム - Google Patents

機械学習装置、推論装置、機械学習方法及びプログラム Download PDF

Info

Publication number
WO2022244159A1
WO2022244159A1 PCT/JP2021/019049 JP2021019049W WO2022244159A1 WO 2022244159 A1 WO2022244159 A1 WO 2022244159A1 JP 2021019049 W JP2021019049 W JP 2021019049W WO 2022244159 A1 WO2022244159 A1 WO 2022244159A1
Authority
WO
WIPO (PCT)
Prior art keywords
classification
unit
class classification
machine learning
class
Prior art date
Application number
PCT/JP2021/019049
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 JP2023522095A priority Critical patent/JPWO2022244159A1/ja
Priority to PCT/JP2021/019049 priority patent/WO2022244159A1/ja
Publication of WO2022244159A1 publication Critical patent/WO2022244159A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Definitions

  • the present disclosure relates to a machine learning device, an inference device, a machine learning method and a program.
  • the feature quantity extraction unit calculates the feature quantity from the input data, and the class classification unit performs class classification according to the feature quantity. Then, the loss calculation unit compares the correct label and the classification result, and corrects the weights of the feature amount extraction unit and the class classification unit using a method such as the error back propagation method. Using the model learned in this way, unknown data is classified into classes as shown in FIG. As a method for improving the accuracy of such machine learning, a method called ensemble learning is known.
  • Non-Patent Document 1 there are several types of ensemble learning, one of which is bagging.
  • bagging As shown in FIG. You are learning a learning model.
  • FIG. 12 when inferring unknown data, a final inference result is obtained by allowing a plurality of trained models to perform inference, and integrating the inference results of the plurality of learning models.
  • the correlation between learning models is strong, only the same inference results can be obtained from multiple models, so it is important to weaken the correlation between the results of multiple learning models in order to improve accuracy.
  • the correlation is weakened by differentiating the learning data itself given to each learning model by extracting the learning data with restoration.
  • the purpose of the present disclosure which has been made in view of such circumstances, is to provide a technique for improving the efficiency of machine learning while improving the accuracy of classification processing.
  • a machine learning device includes a feature amount extraction unit that learns a feature amount extraction process from learning data, a plurality of class classification units that learn a classification process of the learning data based on the feature amount, and the Each of the plurality of class classifiers is associated with each other, calculating a classification error of the corresponding class classifier, and correcting the parameters used in the feature quantity extraction unit and the corresponding class classifier so that the classification error becomes small. and a plurality of loss calculators, wherein the loss calculators refer to output values of other classifiers different from the corresponding classifiers to determine the classification errors of the corresponding classifiers. do.
  • the machine learning device includes a feature amount extraction unit that learns a feature amount extraction process from learning data, and a plurality of class classification units that learn a classification process of the learning data based on the feature amount. , a parameter associated with each of the plurality of class classifiers, calculating a classification error of the corresponding class classifier, and used in the feature extractor and the corresponding class classifier so as to reduce the classification error wherein the loss calculator determines the classification error of the corresponding classifier using a random number and a loss function.
  • a machine learning method is a machine learning method executed by a machine learning device, comprising a feature amount extraction step of learning a feature amount extraction process from learning data, and the learning based on the feature amount a plurality of class classification steps for learning a data classification process; and a classification error of each corresponding class classification step associated with each of the plurality of class classification steps; an extraction step and a plurality of loss calculation steps for modifying the parameters used in the corresponding classifying steps, wherein the loss calculating steps refer to output values of other classifying steps that are different from the corresponding classifying steps. to determine the classification error of the corresponding class classification step.
  • an inference device applies a trained model created by the machine learning device according to the present disclosure to unknown data, and acquires output values from the plurality of classifying units; and an integration unit that integrates the output values obtained by the inference unit.
  • the program according to the present disclosure causes a computer to function as the machine learning device according to the present disclosure.
  • FIG. 1 is a diagram for explaining a system according to an embodiment of the present disclosure
  • FIG. It is a figure showing an example of composition of a machine learning device concerning one embodiment of this indication.
  • FIG. 4 is a diagram showing an example of learning data
  • FIG. 4 is a diagram for explaining the flow of processing in a machine learning device according to an embodiment of the present disclosure
  • FIG. 1 is a diagram illustrating an example of a configuration of an inference device according to an embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining the flow of processing in an inference device according to an embodiment of the present disclosure
  • FIG. FIG. 2 illustrates operation of a system according to an embodiment of the present disclosure
  • FIG. 14 is a diagram for explaining the flow of processing in a machine learning device according to Modification 4; 1 is a diagram for explaining a conventional machine learning technique; FIG. FIG. 10 is a diagram for explaining a conventional inference technique using a trained model; 1 is a diagram for explaining a conventional machine learning technique; FIG. FIG. 10 is a diagram for explaining a conventional inference technique using a trained model;
  • system 1 includes machine learning device 10 and reasoning device 20 .
  • the machine learning device 10 and the inference device 20 may be communicatively connected by wire or wirelessly.
  • a communication method for transmitting and receiving information between devices is not particularly limited. Also, the machine learning device 10 and the inference device 20 may be integrated.
  • the machine learning device 10 Based on the input learning data, the machine learning device 10 creates a learned model by learning a learning model that classifies the learning data.
  • the inference device 20 acquires the trained model and applies it to the input unknown data. In this manner, the inference device 20 performs unknown data classification processing.
  • the inference device 20 can output the result of the classification process to the user.
  • the machine learning device 10 includes a control section 11 , a storage section 12 , a communication section 13 , an input section 14 and an output section 15 .
  • the storage unit 12 includes one or more memories, and may include, for example, semiconductor memory, magnetic memory, optical memory, and the like. Each memory included in the storage unit 12 may function, for example, as a main memory device, an auxiliary memory device, or a cache memory.
  • the storage unit 12 stores arbitrary information used for the operation of the machine learning device 10 .
  • the storage unit 12 does not necessarily have to be provided inside the machine learning device 10 , and may be provided outside the machine learning device 10 .
  • the communication unit 13 includes at least one communication interface.
  • the communication interface is, for example, a LAN interface.
  • the communication unit 13 receives information used for the operation of the machine learning device 10 and transmits information obtained by the operation of the machine learning device 10 .
  • the communication unit 13 enables the machine learning device 10 to transmit and receive information to and from other devices via a network.
  • a network includes the Internet, at least one WAN (Wide Area Network), at least one MAN (Metropolitan Area Network), or a combination thereof.
  • a network may include at least one wireless network, at least one optical network, or a combination thereof.
  • the wireless network is, for example, an ad-hoc network, a cellular network, a wireless LAN (Local Area Network), a satellite communication network or a terrestrial microwave network.
  • the input unit 14 includes at least one input interface.
  • the input interface is, for example, a physical key, a capacitive key, a pointing device, a touch screen integrated with the display, or a microphone.
  • the input unit 14 receives an operation for inputting information used for operating the machine learning device 10 .
  • the input unit 14 may be connected to the machine learning device 10 as an external input device instead of being provided in the machine learning device 10 .
  • As the connection method for example, any method such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface) (registered trademark), or Bluetooth (registered trademark) can be used.
  • the input unit 14 accepts input of learning data.
  • the learning data are, for example, input data such as images, and correct labels.
  • Input data is not limited to images, and may include text, audio, moving images, and the like.
  • the learning data may be directly input via the input unit 14, or may be input from an external device via the communication unit 13 and a network. In the following description, the input data is assumed to be an image.
  • the output unit 15 includes at least one output interface.
  • the output interface is, for example, a display or speaker.
  • the display is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
  • the output unit 15 outputs information obtained by the operation of the machine learning device 10 .
  • the output unit 15 may be connected to the machine learning device 10 as an external output device instead of being provided in the machine learning device 10 .
  • any method such as USB, HDMI (registered trademark), or Bluetooth (registered trademark) can be used.
  • the control unit 11 is realized by a control arithmetic circuit (controller).
  • the control arithmetic circuit may be configured by dedicated hardware such as ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), or may be configured by a processor, or may include both.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the control unit 11 executes processing related to the operation of the machine learning device 10 while controlling each unit of the machine learning device 10 .
  • the control unit 11 can transmit and receive information to and from an external device via the communication unit 13 and a network.
  • the control unit 11 includes a feature extraction unit 111 , a class classification unit 112 and a loss calculation unit 113 .
  • the control unit 11 includes K class classification units 112 from the class classification unit 112_1 to the class classification unit 112_K, and the loss calculation unit 113_1 to the loss calculation unit 113_K corresponding to each of the class classification units 112. K loss calculation units 113 up to .
  • the feature quantity extraction unit 111 acquires target learning data and learns the process of extracting feature quantities from the learning data. Any method may be used to acquire the learning data, and the feature quantity extraction unit 111 may acquire the learning data from an external device via the communication unit 23 .
  • the feature quantity extraction process may be based on a convolutional neural network. Since the configuration and learning technique of convolutional neural networks are well known, detailed description thereof will be omitted.
  • a D-dimensional vector is extracted as a feature quantity from the input image by the extraction process.
  • the value of D is, for example, a value such as 1,024.
  • FIG. 3 is an example of learning data from which the feature amount extraction unit 111 extracts feature amounts.
  • the learning data are four two-dimensional still images of a white triangle, a white circle, a black triangle, and a black circle as input data, and two classes of the images, triangle and circle. and a correct label indicating whether it belongs to any of them.
  • the feature amount extraction unit 111 outputs the extracted feature amount to the class classification unit 112 .
  • FIG. 4 shows the flow of processing in the machine learning device 10 according to this embodiment.
  • images as input data are input to the feature amount extraction unit 111 and correct labels are input to the loss calculation unit 113 .
  • the feature amount output from the feature amount extraction unit 111 is indicated by a double solid line arrow.
  • the class classification unit 112 learns classification processing of learning data based on the feature amount.
  • the classification processing of this embodiment is two-class classification processing, it is not limited to this, and may be multi-class classification processing.
  • a plurality of classifying units 112 are provided in this embodiment.
  • Each of the class classification units 112_1 to 112_K learns the classification process based on the feature amount.
  • the classification process may be by a fully connected neural network. Since the configuration and learning technique of a fully-connected neural network are known, detailed description thereof will be omitted. In this embodiment, two classifying units 112 having the same configuration are used, but the classifying units 112 may have different configurations.
  • the class classification unit 112 can numerically output the probability that an image belongs to an arbitrary class as an output value when classifying learning data.
  • the class classification unit 112 outputs the probability that the image belongs to the triangle class as a value of q, and outputs the probability that the image belongs to the circle class as a value of 1-q.
  • the class classification unit 112 can output the output value at the time of classification as a scalar value.
  • the class classification unit 112 may output vectors of arbitrary dimensions.
  • the class classification unit 112 uses a value of 0.5 as a threshold value, and outputs a value of 0.5 or more when the image belongs to the triangle class, and outputs a value of 0.5 or more when the image belongs to the circle class. When judged, a value less than 0.5 is output.
  • the class classification unit 112_1 learns the classification processing of the learning data in FIG. 3 as shown in the table below.
  • the class classification unit 112_1 outputs a value of 0.5 or more when classifying an image into a triangle class with a threshold value of 0.5, and outputs a value of 0.5 or more when classifying an image into a circular class. Output a value less than 0.5.
  • the class classification unit 112_1 outputs a value of 0.6 for the second white circle learning data from the left, which indicates that the training data is misclassified as a triangle.
  • Each of the class classification units 112 outputs the result of the classification process to each of the corresponding loss calculation units 113_1 to 113_K. Referring to FIG. 4, the flow of output values from each of the classifiers 112 is indicated by solid arrows.
  • the loss calculation unit 113 is associated with each of the plurality of class classification units 112, calculates the classification error of the corresponding class classification unit 112, and performs the feature amount extraction unit 111 and the corresponding class classification so that the classification error becomes small. Modify the parameters used in section 112 .
  • each of the loss calculation units 113_1 to 113_K calculates classification errors of the corresponding class classification units 112_1 to 112_K, and the feature amount extraction unit 111 and the corresponding class classification units 112_1 to 112_K modify the parameters used in the classification process.
  • the loss calculation unit 113 first sets the loss function F using the output value of the corresponding class classification unit 112 and the output value of another class classification unit 112 different from the corresponding class classification unit 112 .
  • the loss function F is the cross-entropy function. Since the cross-entropy function is already known, detailed explanation is omitted.
  • Each of the loss calculation unit 113_1, the loss calculation unit 113_2, ... the loss calculation unit 113_K sets the loss function F_1, the loss function F_2, ... the loss function F_K.
  • the loss calculation unit 113_K converts the output value of the corresponding class classification unit 112_K and the output value of the class classification unit 112_K-1 that has learned the classification process one step before the class classification unit 112_K into the loss function F_K. To reflect.
  • Equation (1) below is an example of the loss function F_1 set by the loss calculation unit 113_1 corresponding to the class classification unit 112_1.
  • the class classification unit 112_1 learns classification processing first among all the class classification units 112 .
  • the loss calculator 113_1 uses the loss function F_1 to determine the classification error loss 1 of the classifier 112_1.
  • p i has a value of 1 when the correct label is a triangle, and a value of 0 otherwise.
  • q i 1 is the output value of the class classification unit 112_1 and is a value indicating the probability that the image belongs to the triangle class.
  • n indicates the number of learning data.
  • Equation (2) below is an example of the loss function F_2 set by the loss calculation unit 113_2 corresponding to the class classification unit 112_2.
  • the loss calculation unit 113_2 refers to the output value of another class classification unit 112_1 different from the corresponding class classification unit 112_2, and determines the classification error loss 2 of the corresponding class classification unit 112_2.
  • q i 2 is the output value of the class classification unit 112_2 and is a value indicating the probability that the image belongs to the triangle class.
  • is a constant of about 0.1.
  • the loss calculation unit 113_2 sets the loss function F_2 so that the learning data misclassified as triangles by the class classification unit 112_1 can be correctly classified in the classification processing of the class classification unit 112_2. In this way, the loss calculation unit 113 calculates the classification error of the corresponding class classification unit 112 using the cross-entropy function weighted based on the output value at the time of misclassification in the classification processing of the other class classification unit 112. decide.
  • the loss calculation unit 113 modifies the parameters used in the feature amount extraction unit 111 and the corresponding class classification unit 112 so that the determined classification error becomes small. Any known technique, such as error backpropagation, may be used to modify the parameters. Since the error backpropagation method is known, the explanation is omitted.
  • the loss calculation unit 113 may correct parameters of only one of the feature quantity extraction unit 111 and the corresponding class classification unit 112 .
  • the loss calculation unit 113_2 modifies the parameters used by the feature quantity extraction unit 111 and the class classification unit 112_2 so that the classification error becomes small.
  • the predetermined value of the classification error loss value may be set arbitrarily.
  • the loss calculation unit 113 may repeat correction of the parameters of the feature amount extraction unit 111 and the class classification unit 112 until the classification error becomes less than a predetermined value.
  • the loss calculation unit 113 may stop modifying parameters when the rate of decrease in classification error does not decrease below a predetermined value.
  • the class classification unit 112_2 learns the classification processing of the learning data in FIG. 3 as shown in Table 2 below.
  • the class classification unit 112_2 calculates a value of 0.3 for the second white circle training data from the left misclassified by the class classification unit 112_1, and correctly classifies it as a circle. I can see that I was able to learn to do. On the other hand, it can be seen that the class classification unit 112_2 misclassifies the rightmost black circle as a triangle. Regarding this, the loss calculation unit 113_3 sets the loss function F_3 using the output value of another class classification unit 112_2 different from the class classification unit 112_3 in the same manner as the method described above, and calculates the classification error of the class classification unit 112_3 as Then, the parameters used in the feature quantity extraction unit 111 and the class classification unit 112_3 are corrected.
  • the loss calculation unit 113 can associate the class classification units 112 with each other and update the learning method of the classification process. Referring to FIG. 4, updating of the parameters of the feature quantity extraction unit 111 and the class classification unit 112 by the loss calculation unit 113 is indicated by dashed arrows.
  • the control unit 11 outputs the feature quantity extraction unit 111 and the plurality of class classification units 112 as one trained model.
  • the control unit 11 may transmit the learned model to the inference device 20 via the communication unit 23 .
  • the inference device 20 includes a control unit 21 , a storage unit 22 , a communication unit 23 , an input unit 24 and an output unit 25 .
  • the storage unit 22 includes one or more memories, and may include, for example, semiconductor memory, magnetic memory, optical memory, and the like. Each memory included in the storage unit 12 may function, for example, as a main memory device, an auxiliary memory device, or a cache memory.
  • the storage unit 22 stores arbitrary information used for the operation of the inference device 20 .
  • the storage unit 22 does not necessarily have to be provided inside the inference device 20 , and may be provided outside the inference device 20 .
  • the communication unit 23 includes at least one communication interface.
  • the communication interface is, for example, a LAN interface.
  • the communication unit 23 receives information used for operation of the inference device 20 and transmits information obtained by operation of the machine learning device 10 .
  • the communication unit 23 enables the inference device 20 to transmit and receive information to and from other devices via the network.
  • a network includes the Internet, at least one WAN, at least one MAN, or a combination thereof.
  • a network may include at least one wireless network, at least one optical network, or a combination thereof.
  • a wireless network is, for example, an ad-hoc network, a cellular network, a wireless LAN, a satellite communication network, or a terrestrial microwave network.
  • the input unit 24 includes at least one input interface.
  • the input interface is, for example, a physical key, a capacitive key, a pointing device, a touch screen integrated with the display, or a microphone.
  • the input unit 24 receives an operation of inputting information used for the operation of the inference device 20 .
  • the input unit 24 may be connected to the inference device 20 as an external input device instead of being provided in the inference device 20 .
  • any method such as USB, HDMI (registered trademark), or Bluetooth (registered trademark) can be used.
  • the input unit 24 accepts input of unknown data.
  • the unknown data are images, for example.
  • the unknown data are four two-dimensional still images of a white triangle, a white circle, a black triangle, and a black circle similar to those included in the learning data shown in FIG.
  • the unknown data may be directly input via the input unit 24, or may be input from an external device via the communication unit 23 and the network.
  • the output unit 25 includes at least one output interface.
  • the output interface is, for example, a display or speaker.
  • the display is, for example, an LCD or an organic EL display.
  • the output unit 25 outputs information obtained by the operation of the inference device 20 .
  • the output unit 25 may be connected to the inference device 20 as an external output device instead of being provided in the inference device 20 .
  • As the connection method for example, any method such as USB, HDMI (registered trademark), or Bluetooth (registered trademark) can be used.
  • the output unit 25 can output the inference result by the inference device 20 to a network, a file, or the like.
  • the control unit 21 is implemented by a control arithmetic circuit (controller).
  • the control arithmetic circuit may be composed of dedicated hardware such as ASIC or FPGA, or may be composed of a processor, or may be composed of both.
  • the control unit 21 executes processing related to the operation of the inference device 20 while controlling each unit of the inference device 20 .
  • the control unit 21 can transmit and receive information to and from an external device via the communication unit 23 and a network.
  • the control unit 21 acquires the learned model output by the machine learning device 10 . Any acquisition method may be adopted.
  • the control unit 21 may acquire the trained model by receiving it from the machine learning device 10 via the communication unit 23 .
  • the control unit 21 includes an inference unit 211 and an integration unit 212 .
  • the inference unit 211 applies the learned model created by the machine learning device 10 to unknown data, and acquires output values from the plurality of class classification units 112 included in the learned model.
  • the inference unit 211 applies the acquired trained model to unknown data received via the input unit 24, for example.
  • the inference unit 211 outputs the output values obtained from each of the class classification units 112 to the integration unit 212 . Referring to FIG. 6, the flow of output values from each classifier 112 is indicated by solid arrows.
  • the integration unit 212 integrates output values obtained by the inference unit 211 . Any method may be adopted for the integration. For example, when the trained model includes two class classification units 112, that is, a class classification unit 112_1 and a class classification unit 112_2, the integration unit 212 performs two class classifications as shown in the following equation (3).
  • the output values of unit 112 may be averaged.
  • q i 1 is the output value of the class classification unit 112_1 and is a value indicating the probability that the image belongs to the triangle class
  • q i 2 is the output value of the class classification unit 112_2 and is the class of the image being the triangle. is a value that indicates the probability of belonging to .
  • Table 3 shows output values of the classifying units 112_1 and 112_2 when unknown data is applied to a trained model, and values resulting from integration by the integrating unit 212 for each piece of unknown data. Referring to Table 3, the classifying unit 112_1 misjudged the white circles, and the classifying unit 112_2 misjudged the black circles. Recognize.
  • a computer capable of executing program instructions can also be used to function as the machine learning device 10 or the inference device 20 described above.
  • the computer may be a general-purpose computer, a dedicated computer, a workstation, a PC (Personal Computer), an electronic notepad, or the like.
  • Program instructions may be program code, code segments, etc. for performing the required tasks.
  • a computer includes a processor, a storage unit, an input unit, an output unit, and a communication interface.
  • Processors are CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), SoC (System on a Chip), etc. may be configured.
  • the processor reads a program from the storage unit and executes it, thereby controlling the above components and performing various kinds of arithmetic processing. Note that at least part of these processing contents may be realized by hardware.
  • the input unit is an input interface that receives user's input operations and acquires information based on the user's operations, and includes a pointing device, keyboard, mouse, and the like.
  • the output unit is an output interface that outputs information, such as a display and a speaker.
  • a communication interface is an interface for communicating with an external device.
  • the program may be recorded on a computer-readable recording medium.
  • the recording medium on which the program is recorded may be a non-transitory recording medium.
  • the non-transitory recording medium is not particularly limited, but may be, for example, a CD-ROM, a DVD-ROM, a USB memory, or the like.
  • this program may be downloaded from an external device via a network.
  • step S1 the machine learning device 10 receives learning data via the input unit 14.
  • the learning data are four two-dimensional still images of a white triangle, a white circle, a black triangle, and a black circle as input data, and two classes of the images, triangle and circle. and a correct label indicating whether it belongs to any of them.
  • step S2 the feature quantity extraction unit 111 acquires target learning data and learns the feature quantity extraction process from the learning data.
  • the feature quantity extraction process may be based on a convolutional neural network.
  • the feature amount extraction unit 111 outputs the extracted feature amount to the class classification unit 112 .
  • step S3 the class classification unit 112 learns classification processing of learning data based on the feature amount.
  • the classification processing of this embodiment is two-class classification processing, it is not limited to this, and may be multi-class classification processing. As shown in FIG. 2, a plurality of classifying units 112 are provided in this embodiment. Each of the class classification units 112_1 to 112_K learns the classification process based on the feature amount.
  • the class classification unit 112_1 learns the classification processing of the learning data in FIG. 3 as shown in the table below.
  • the class classification unit 112_1 outputs a value of 0.5 or more when classifying an image into a triangle class with a threshold value of 0.5, and outputs a value of 0.5 or more when classifying an image into a circular class. Output a value less than 0.5.
  • the class classification unit 112_1 outputs a value of 0.6 for the second white circle learning data from the left, which indicates that the training data is misclassified as a triangle.
  • Each of the class classification units 112 outputs the result of the classification process to each of the corresponding loss calculation units 113_1 to 113_K.
  • step S4 the loss calculation unit 113 first sets the loss function F using the output value of the corresponding class classification unit 112 and the output value of another class classification unit 112 different from the corresponding class classification unit 112.
  • the loss function F is the cross-entropy function.
  • Each of the loss calculation unit 113_1, the loss calculation unit 113_2, ... the loss calculation unit 113_K sets the loss function F_1, the loss function F_2, ... the loss function F_K.
  • the loss calculation unit 113_K converts the output value of the corresponding class classification unit 112_K and the output value of the class classification unit 112_K-1 that has learned the classification process one step before the class classification unit 112_K into the loss function F_K. To reflect.
  • the following equation (4) is an example of the loss function F_1 set by the loss calculator 113_1 corresponding to the classifier 112_1.
  • the class classification unit 112_1 learns classification processing first among all the class classification units 112 .
  • the loss calculator 113_1 uses the loss function F_1 to determine the classification error loss 1 of the classifier 112_1.
  • p i has a value of 1 when the correct label is a triangle, and a value of 0 otherwise.
  • q i 1 is the output value of the class classification unit 112_1 and is a value indicating the probability that the image belongs to the triangle class.
  • n indicates the number of learning data.
  • Equation (5) below is an example of the loss function F_2 set by the loss calculation unit 113_2 corresponding to the class classification unit 112_2.
  • the loss calculation unit 113_2 refers to the output value of another class classification unit 112_1 different from the corresponding class classification unit 112_2, and determines the classification error loss 2 of the corresponding class classification unit 112_2.
  • q i 2 is the output value of the class classification unit 112_2 and is a value indicating the probability that the image belongs to the triangle class.
  • is a constant of about 0.1.
  • the loss calculation unit 113_2 sets the loss function F_2 so that the learning data misclassified as triangles by the class classification unit 112_1 can be correctly classified in the classification processing of the class classification unit 112_2. In this way, the loss calculation unit 113 calculates the classification error of the corresponding class classification unit 112 using the cross-entropy function weighted based on the output value at the time of misclassification in the classification processing of the other class classification unit 112. decide.
  • step S5 the loss calculation unit 113 modifies the parameters used in the feature amount extraction unit 111 and the corresponding class classification unit 112 so that the determined classification error is reduced. Any known technique, such as error backpropagation, may be used to modify the parameters.
  • the loss calculation unit 113_2 modifies the parameters used by the feature quantity extraction unit 111_2 and the class classification unit 112_2 so that the classification error becomes small.
  • the predetermined value of the classification error loss value may be set arbitrarily.
  • the loss calculation unit 113 may repeat correction of the parameters of the feature amount extraction unit 111 and the class classification unit 112 until the classification error becomes less than a predetermined value.
  • the loss calculation unit 113 may stop modifying parameters when the rate of decrease in classification error does not decrease below a predetermined value.
  • the class classification unit 112_2 learns the classification processing of the learning data in FIG. 3 as shown in Table 2 below.
  • the class classification unit 112_2 calculates a value of 0.3 for the second white circle training data from the left misclassified by the class classification unit 112_1, and correctly classifies it as a circle. I can see that I was able to learn to do. On the other hand, it can be seen that the class classification unit 112_2 misclassifies the rightmost black circle as a triangle. Regarding this, the loss calculation unit 113_3 sets the loss function F_3 using the output value of another class classification unit 112_2 different from the class classification unit 112_3 in the same manner as the method described above, and calculates the classification error of the class classification unit 112_3 as Then, the parameters used in the feature quantity extraction unit 111 and the class classification unit 112_3 are corrected.
  • the loss calculator 113 is associated with each of the plurality of classifiers 112 and calculates the classification error of the corresponding classifier 112.
  • the parameters used in the feature extraction unit 111 and the corresponding class classification unit 112 are modified.
  • step S6 the control unit 11 outputs the feature quantity extraction unit 111 and the plurality of class classification units 112 as one trained model to the inference device 20.
  • step S7 the control unit 21 of the inference device 20 acquires the trained model output by the machine learning device 10 via the communication unit 23.
  • step S8 the inference device 20 receives unknown data via the input unit 24.
  • the unknown data are four two-dimensional still images of a white triangle, a white circle, a black triangle, and a black circle similar to those included in the learning data shown in FIG.
  • step S9 the inference unit 211 applies the learned model created by the machine learning device 10 to unknown data, and obtains output values from the plurality of classifiers 112 included in the learned model.
  • the inference unit 211 outputs the output values obtained from each of the class classification units 112 to the integration unit 212 .
  • the integration unit 212 integrates the output values acquired by the inference unit 211 .
  • the integration unit 212 performs two class classifications as shown in the following formula (6).
  • the output values of unit 112 may be averaged.
  • q i 1 is the output value of the class classification unit 112_1 and is a value indicating the probability that the image belongs to the triangle class
  • q i 2 is the output value of the class classification unit 112_2 and is the class of the image being the triangle. is a value that indicates the probability of belonging to .
  • Table 6 shows output values of the classifying units 112_1 and 112_2 when unknown data is applied to a trained model, and values resulting from integration by the integrating unit 212 for each piece of unknown data. Referring to Table 3, the classifying unit 112_1 misjudged the white circles, and the classifying unit 112_2 misjudged the black circles. .
  • step S11 the control unit 21 outputs the integration result as an inference result via the output unit 25. Thereafter, the operation of system 1 ends.
  • the machine learning device 10 includes the feature quantity extraction unit 111 that learns the process of extracting feature quantities from learning data, and the plurality of A class classification unit 112 and a plurality of class classification units 112 are associated with each other, and a classification error of the corresponding class classification unit 112 is calculated.
  • a plurality of loss calculation units 113 that modify the parameters used in the classification unit 112 are provided, and the loss calculation unit 113 refers to the output value of another class classification unit 112 that is different from the corresponding class classification unit 112, and the corresponding Then, the classification error of the class classification unit 112 is determined.
  • the number of feature quantity extraction units 111 can be reduced by sharing one feature quantity extraction unit 111 among a plurality of class classification units 112 .
  • the loss calculator 113 can refer to output values of other classifiers 112 . Therefore, it is possible to improve the efficiency of machine learning while improving the accuracy of classification processing by adjusting the correlation between the plurality of class classification units 112 .
  • the loss calculation unit 113 uses the cross-entropy function weighted based on the output value at the time of misclassification in the classification processing of the other class classification unit 112. to determine the classification error of the corresponding class classifier 112 .
  • the loss calculation unit 113 determines the classification error using the output value of the misclassification of the other class classification unit 112 .
  • the value of the classification error increases according to the output value of the other class classification unit 112 at the time of misclassification, and as a result, the degree of correction of the parameters used in the feature amount extraction unit 111 and the corresponding class classification unit 112 is reduced. growing.
  • the inference device 20 applies the learned model created by the machine learning device 10 according to the present embodiment to unknown data, and outputs respective output values from the plurality of classifying units 112. It includes an inference unit 211 that acquires and an integration unit 212 that integrates the output values acquired by the inference unit 211 .
  • the integration unit 212 integrates the respective output values from the multiple classifying units 112 . Therefore, it is possible to accurately estimate the classification of unknown data using one trained model.
  • the classification error determination method by the loss calculation unit 113 of the machine learning device 10 is not limited to the above-described embodiment. Modifications 1 to 4 are shown below as modifications of the classification error determination method by the loss calculator 113 .
  • Modification 1 In Modified Example 1, the loss calculation unit 113 determines the classification error of each class classification unit 112 by using random numbers as weights of learning data for which the plurality of class classification units 112 perform classification processing.
  • Equation (7) shown below is an example of the loss function F_K set by the loss calculation unit 113_K corresponding to the class classification unit 112_K in this modified example.
  • r i k indicates random numbers.
  • k is the number of class classification units 112 .
  • the values indicated by the other terms are the same as those in the above-described embodiment and Modification 1, so descriptions thereof are omitted.
  • r i k are uniform and independent random numbers in the range of 0.9 to 1.1.
  • the correlation between classifiers is weakened by giving different weights to the samples of each classifier using random numbers.
  • the machine learning device 10 includes the feature quantity extraction unit 111 that learns the process of extracting the feature quantity from the learning data, and the plurality of The class classification unit 112 is associated with each of the plurality of class classification units 112, and the classification error of the corresponding class classification unit 112 is calculated. a plurality of loss calculators 113 for modifying the parameters used in the unit 112, the loss calculators 113 using random numbers and the loss function F to determine the classification errors of the corresponding classifiers 112;
  • the loss calculator 113 can adjust to weaken the correlation between the plurality of classifiers 112 without the need to differentiate the input learning data itself. Therefore, it is possible to improve the efficiency of machine learning while improving the accuracy of classification processing by adjusting the correlation between the plurality of class classification units 112 .
  • Modification 2 In modifications 2 to 4, the output values of other class classification units 112 different from the corresponding class classification unit 112 are referenced to determine the classification error of the corresponding class classification unit 112, as in the above-described embodiment.
  • the loss calculator 113_K sets the loss function F as in the following equation (8) when setting the loss function F_K of the classifier 112_K. Equation (8) below is an example of the loss function F_2 set by the loss calculation unit 113_2 corresponding to the class classification unit 112_2.
  • q i 2 is the output value of the class classification unit 112_2 and is a value indicating the probability that the image belongs to the triangle class.
  • is a constant of about 0.1.
  • the value of p i logq i 2 is the logarithm of the output value of the corresponding class classification section 112_2 when the correct label is a triangle (p i ).
  • (1 ⁇ q i 1 + ⁇ ) which is set to be multiplied by the value, indicates a constant and an output value at the time of misclassification in the classification processing of another class classifier 112_1.
  • the loss calculation unit 113_K corrects the parameters so that the training data misclassified as circular (overlooked triangles) by the class classification unit 112_K ⁇ 1 can be correctly classified in the classification processing of the class classification unit 112_K.
  • Equation (9) is an example of the loss function F_2 set by the loss calculation unit 113_2 corresponding to the class classification unit 112_2.
  • the values indicated by the terms of Expression (9) are the same as those in the above-described embodiment and Modification 1, so descriptions thereof are omitted.
  • the loss calculation unit 113 calculates the output value when the class classification unit 112_K ⁇ 1 misclassifies the correct label as a triangle when the correct label is a circle, and the class when the correct label is a triangle.
  • the classification error of the classification unit 112_K is determined by referring to both the circular shape and the output value when the classification unit 112_K ⁇ 1 misclassifies. That is, the loss calculation unit 113_K sets the loss function F_K so as to correct the parameters so that the learning data when the class classification unit 112_K ⁇ 1 misclassifies can be correctly classified in the classification processing of the class classification unit 112_K.
  • Modification 4 when determining the classification error of the class classification unit 112_K, the loss calculation unit 113 performs not only the class classification unit 112_K ⁇ 1 but also all other class classification units 112, that is, class classification from the class classification unit 112_1.
  • the output value at the time of misclassification of the unit 112_K-1 is referred to.
  • FIG. 8 shows the flow of processing in the machine learning device 10 according to this modification. For ease of viewing, dashed arrows indicating update of parameters by each of the loss calculation units 113 shown in FIG. 4 are omitted.
  • the loss calculation unit 113_K in FIG. 8 refers to the output values of the class classification units 112_1 to 112_K ⁇ 1 to determine the classification error of the class classification unit 112_K.
  • the integration unit 212 of the inference device 20 may integrate the results of the classification processing of each class classification unit 112 using the naive Bayes method, as shown in Equation (10) below.
  • the integration unit 212 of the inference device 20 may integrate the classification results by weighting and calculating the output values of the class classification units 112 as shown in Equation (11) below.
  • w 1 and w 2 are real numbers equal to or greater than 0, and indicate weighting values for the class classification section 112_1 and the class classification section 112_2, respectively.
  • the integration unit 212 may perform calculation by setting a predetermined weighting value of the class classification unit 112 to be large. As a result, it is possible to reflect the result of the classification processing of an arbitrary class classification unit 112 with high reliability.
  • the machine learning device 10 may include the integration unit 212 of the inference device 20 , and the machine learning device 10 may learn the parameters used by the integration unit 212 .
  • the integration unit 212 according to Modification 6 may be learned by the machine learning device 10 .
  • the trained model according to the present modified example it is possible to classify unknown data by emphasizing the highly reliable classifying unit 112 .
  • control unit determines the error of the corresponding classification process using a cross-entropy function weighted based on the misclassification output value of the other classification process.
  • An inference device comprising a control unit that integrates the obtained output values.
  • a machine learning method executed by a machine learning device A feature amount extraction step for learning a feature amount extraction process from learning data; a plurality of class classification steps for learning classification processing of the learning data based on the feature amount; Each of the plurality of class classification steps is associated with a classification error of the corresponding class classification step, and parameters used in the feature quantity extraction step and the corresponding class classification step are adjusted so as to reduce the classification error. a plurality of modifying loss calculation steps; The machine learning method, wherein the loss calculation step refers to the output value of another class classification step different from the corresponding class classification step to determine the classification error of the corresponding class classification step.
  • the loss calculation step determines the classification error of the corresponding class classification step using a cross-entropy function weighted based on the output value at the time of misclassification in the classification process of the other class classification step.
  • the machine learning method according to additional item 5.
  • a machine learning method executed by a machine learning device A feature amount extraction step for learning a feature amount extraction process from learning data; a plurality of class classification steps for learning classification processing of the learning data based on the feature amount; Each of the plurality of class classification steps is associated with a classification error of the corresponding class classification step, and parameters used in the feature quantity extraction step and the corresponding class classification step are adjusted so as to reduce the classification error. a plurality of modifying loss calculation steps; The machine learning method, wherein the loss calculation step uses random numbers and a loss function to determine the classification error of the corresponding class classification step.
  • Appendix 8 A non-transitory computer-readable medium storing a program for causing a computer to function as the machine learning device according to any one of appendices 1 to 3.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本開示に係る機械学習装置(10)は、学習データからの特徴量の抽出処理を学習する特徴量抽出部(111)と、特徴量に基づいて学習データの分類処理を学習する複数のクラス分類部(112)と、複数のクラス分類部(112)にそれぞれ対応付けられ、対応するクラス分類部の分類誤差を計算し、該分類誤差が小さくなるように、特徴量抽出部(111)及び対応するクラス分類部(112)に用いられるパラメータを修正する複数の損失計算部(113)と、を備え、損失計算部(113)は、対応するクラス分類部(112)と異なる他のクラス分類部(112)の出力値を参照して、対応するクラス分類部の分類誤差を決定する。

Description

機械学習装置、推論装置、機械学習方法及びプログラム
 本開示は、機械学習装置、推論装置、機械学習方法及びプログラムに関する。
 従来、クラス分類を行う深層学習では、図9に示すように、入力データから特徴量抽出部が特徴量を計算し、クラス分類部が特徴量に従ってクラス分類を行っている。そして、損失計算部が正解ラベルと分類結果との比較を行い、誤差逆伝搬法などの手法を用いて特徴量抽出部とクラス分類部の重みを修正する。このようにして学習されたモデルを用いて、図10に示すように、未知データのクラス分類を行っていた。このような機械学習の精度を向上させる手法として、アンサンブル学習と呼ばれる手法が知られている。
 非特許文献1にあるように、アンサンブル学習には幾つかの種類が存在するが、その一つのバギングという手法では、学習時、図11に示すように、学習データから復元抽出を行い、複数の学習モデルを学習している。図12に示すように、未知データの推論時には、複数の学習済みモデルに推論を行わせ、複数の学習モデルの推論結果を統合することで最終的な推論結果を得る。
荒木雅弘、「フリーソフトではじめる機械学習入門」、森北出版株式会社、pp.142-144、2014年
 アンサンブル学習では、学習モデル間の相関が強いと複数のモデルから同じ推論結果しか得られないため、精度を向上させるには複数の学習モデルの結果の相関を弱めることが重要である。バギングの手法では、学習データの復元抽出により、各学習モデルに与える学習データ自体に差異を付けることで相関を弱めている。
 このような従来のアンサンブル学習では、学習モデルをN個用いる必要があるため、学習および推論にN倍の計算コストがかかり、非効率であった。このように、機械学習の効率を向上させる技術が望まれていた。
 かかる事情に鑑みてなされた本開示の目的は、分類処理の精度を向上させつつ、機械学習の効率を向上させる技術を提供することである。
 本開示に係る機械学習装置は、学習データからの特徴量の抽出処理を学習する特徴量抽出部と、前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類部と、前記複数のクラス分類部にそれぞれ対応付けられ、対応するクラス分類部の分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出部及び対応する前記クラス分類部に用いられるパラメータを修正する複数の損失計算部と、を備え、前記損失計算部は、前記対応するクラス分類部と異なる他のクラス分類部の出力値を参照して、前記対応するクラス分類部の前記分類誤差を決定する。
 また、本開示に係る機械学習装置は、学習データからの特徴量の抽出処理を学習する特徴量抽出部と、前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類部と、前記複数のクラス分類部にそれぞれ対応付けられ、対応するクラス分類部の分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出部及び対応する前記クラス分類部に用いられるパラメータを修正する複数の損失計算部と、を備え、前記損失計算部は、乱数及び損失関数を用いて前記対応するクラス分類部の前記分類誤差を決定する。
 また、本開示に係る機械学習方法は、機械学習装置が実行する機械学習方法であって、学習データからの特徴量の抽出処理を学習する特徴量抽出ステップと、前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類ステップと、前記複数のクラス分類ステップにそれぞれ対応付けられ、対応するクラス分類ステップの分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出ステップ及び対応する前記クラス分類ステップに用いられるパラメータを修正する複数の損失計算ステップと、を含み、前記損失計算ステップは、前記対応するクラス分類ステップと異なる他のクラス分類ステップの出力値を参照して、前記対応するクラス分類ステップの前記分類誤差を決定する。
 また、本開示に係る推論装置は、本開示に係る機械学習装置が作成した学習済みモデルを未知データに適用して、前記複数のクラス分類部からそれぞれの出力値を取得する推論部と、前記推論部により取得された前記出力値を統合する統合部とを備える。
 また、本開示に係るプログラムは、コンピュータを、本開示に係る機械学習装置として機能させる。
 本開示によれば、分類処理の精度を向上させつつ、機械学習の効率を向上させる技術を提供することができる。
本開示の一実施形態に係るシステムを説明するための図である。 本開示の一実施形態に係る機械学習装置の構成の一例を示す図である。 学習データの例を示す図である。 本開示の一実施形態に係る機械学習装置における処理の流れを説明するための図である。 本開示の一実施形態に係る推論装置の構成の一例を示す図である。 本開示の一実施形態に係る推論装置における処理の流れを説明するための図である。 本開示の一実施形態に係るシステムの動作を示す図である。 変形例4に係る機械学習装置における処理の流れを説明するための図である。 従来の機械学習の技法を説明するための図である。 従来の学習済みモデルを用いた推論の技法を説明するための図である。 従来の機械学習の技法を説明するための図である。 従来の学習済みモデルを用いた推論の技法を説明するための図である。
 以下、本開示の実施形態について適宜図面を参照しながら説明する。各図面中、同一又は相当する部分には、同一符号を付している。本実施形態の説明において、同一又は相当する部分については、説明を適宜省略又は簡略化する。以下に説明する実施形態は本開示の構成の例であり、本開示は、以下の実施形態に制限されるものではない。
<システム1の構成>
 図1を参照して、本実施形態に係るシステム1の構成の一例について説明する。図1に示すように、システム1は、機械学習装置10と、推論装置20とを備える。
 機械学習装置10と推論装置20とは、有線または無線により通信可能に接続されていてよい。各装置間で情報を送受信するための通信方法は、特に限定されない。また、機械学習装置10と推論装置20とは、一体化されていてもよい。
 機械学習装置10は、入力された学習データに基づいて、学習データを分類する学習モデルを学習させて学習済みモデルを作成する。推論装置20は当該学習済みモデルを取得し、入力された未知データに適用する。このようにして、推論装置20は未知データの分類処理を行う。推論装置20は、分類処理の結果をユーザに対し出力できる。
<機械学習装置10の構成>
 図2から図4を参照して、本実施形態に係る機械学習装置10の構成の一例について説明する。図2に示すように、機械学習装置10は、制御部11と、記憶部12と、通信部13と、入力部14と、出力部15と、を備える。
 記憶部12は、1つ以上のメモリを含み、例えば半導体メモリ、磁気メモリ、光メモリなどを含んでもよい。記憶部12に含まれる各メモリは、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。記憶部12は、機械学習装置10の動作に用いられる任意の情報を記憶する。記憶部12は、必ずしも機械学習装置10が内部に備える必要はなく、機械学習装置10の外部に備える構成としてもよい。
 通信部13には、少なくとも1つの通信インタフェースが含まれる。通信インタフェースは、例えば、LANインタフェースである。通信部13は、機械学習装置10の動作に用いられる情報を受信し、また機械学習装置10の動作によって得られる情報を送信する。
 通信部13は、機械学習装置10がネットワークを介して他の装置と情報の送受信を行うことを可能にする。ネットワークとは、インターネット、少なくとも1つのWAN(Wide Area Network)、少なくとも1つのMAN(Metropolitan Area Network)、又はこれらの組み合わせを含む。ネットワークは、少なくとも1つの無線ネットワーク、少なくとも1つの光ネットワーク、又はこれらの組み合わせを含んでもよい。無線ネットワークは、例えば、アドホックネットワーク、セルラーネットワーク、無線LAN(Local Area Network)、衛星通信ネットワーク、又は地上マイクロ波ネットワークである。
 入力部14には、少なくとも1つの入力用インタフェースが含まれる。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン、又はマイクである。入力部14は、機械学習装置10の動作に用いられる情報を入力する操作を受け付ける。入力部14は、機械学習装置10に備えられる代わりに、外部の入力機器として機械学習装置10に接続されてもよい。接続方式としては、例えば、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。
 入力部14は、学習データの入力を受け付ける。学習データは、例えば画像等の入力データ、及び正解ラベルである。入力データは画像に限られず、テキスト、音声、動画等を含んでよい。学習データは、入力部14を介して直接的に入力されてもよいし、通信部13及びネットワークを介して外部装置から入力されてもよい。以下においては、入力データを画像として説明する。
 出力部15には、少なくとも1つの出力用インタフェースが含まれる。出力用インタフェースは、例えば、ディスプレイ又はスピーカである。ディスプレイは、例えば、LCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイである。出力部15は、機械学習装置10の動作によって得られる情報を出力する。出力部15は、機械学習装置10に備えられる代わりに、外部の出力機器として機械学習装置10に接続されてもよい。接続方式としては、例えば、USB、HDMI(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。
 制御部11は、制御演算回路(コントローラ)により実現される。該制御演算回路は、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の専用のハードウェアによって構成されてもよいし、プロセッサによって構成されてもよいし、双方を含んで構成されてもよい。制御部11は、機械学習装置10の各部を制御しながら、機械学習装置10の動作に関わる処理を実行する。制御部11は、外部装置との情報の送受信を、通信部13及びネットワークを介して行うことができる。
 制御部11は、特徴量抽出部111と、クラス分類部112と、損失計算部113とを備える。本実施形態において、制御部11はクラス分類部112_1からクラス分類部112_KまでのK個のクラス分類部112と、当該クラス分類部112のそれぞれに対応して、損失計算部113_1から損失計算部113_KまでのK個の損失計算部113とを備える。
 特徴量抽出部111は、対象とする学習データを取得し、学習データからの特徴量の抽出処理を学習する。学習データの取得には任意の手法が用いられてよく、特徴量抽出部111は、通信部23を介して外部装置から学習データを取得してもよい。特徴量の抽出処理は畳み込みニューラルネットワークによるものであってよい。畳み込みニューラルネットワークの構成及び学習技法については既知であるので、詳しい説明を省略する。抽出処理により、入力された画像から特徴量としてD次元のベクトルが抽出される。Dの値は例えば1,024等の値である。
 図3は、特徴量抽出部111が特徴量を抽出する学習データの例である。本実施形態では、学習データは、入力データとしての白抜きの三角形、白抜きの円形、黒い三角形、黒い円形の四つの二次元の静止画像と、当該画像が三角形と円形との2つのクラスのいずれかに属するかを示す正解ラベルとを含む。特徴量抽出部111は、抽出した特徴量をクラス分類部112に出力する。
 図4は、本実施形態に係る機械学習装置10における処理の流れを示す。図4を参照すると、学習データのうち、入力データとしての画像は特徴量抽出部111に、正解ラベルは損失計算部113のそれぞれに入力されている。図4において、特徴量抽出部111からの特徴量の出力が二重の実線矢印で示されている。
 クラス分類部112は、特徴量に基づいて学習データの分類処理を学習する。本実施形態の分類処理は2クラス分類処理であるが、これに限定されず、多クラス分類処理であってもよい。図2に示す通り、本実施形態においてクラス分類部112は複数設けられる。クラス分類部112_1からクラス分類部112_Kのそれぞれが、特徴量に基づいて分類処理を学習する。分類処理は全結合ニューラルネットワークによるものであってよい。全結合ニューラルネットワークの構成及び学習技法については既知であるので、詳しい説明は省略する。本実施形態では、同じ構成のクラス分類部112を2つ用いるが、クラス分類部112の構成は、異なる構成を取ってもよい。
 クラス分類部112は、学習データの分類時、出力値として、画像が任意のクラスに属する確率を数字で出力できる。本実施形態の2クラス分類処理において、クラス分類部112は、画像が三角形のクラスに属する確率をqの値で出力し、画像が円形のクラスに属する確率を1-qの値で出力する。このようにクラス分類部112は、分類時の出力値をスカラー値で出力できる。クラス分類部112が2以上のクラス分類処理を学習する場合は、クラス分類部112は任意の次元のベクトルを出力してよい。
 本実施形態において、クラス分類部112は、0.5の値を閾値として、画像が三角形のクラスに属すると判断したときは0.5以上の値を出力し、画像が円形のクラスに属すると判断したときは0.5未満の値を出力する。
 例えばクラス分類部112_1は、図3の学習データの分類処理を以下の表に示すように学習する。以下の表において、クラス分類部112_1は、0.5の値を閾値として、画像を三角形のクラスに分類したときに0.5以上の値を出力し、画像を円形のクラスに分類したときに0.5未満の値を出力する。表1中、左から二番目の白抜きの円形の学習データについて、クラス分類部112_1が0.6の値を出力しており、三角形と誤分類して学習していることがわかる。
Figure JPOXMLDOC01-appb-T000001
 クラス分類部112のそれぞれは、分類処理の結果を、対応する損失計算部113_1から損失計算部113_Kのそれぞれに出力する。図4を参照すると、クラス分類部112のそれぞれからの出力値の流れが実線矢印で示されている。
 損失計算部113は、複数のクラス分類部112にそれぞれ対応付けられ、対応するクラス分類部112の分類誤差を計算し、該分類誤差が小さくなるように、特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する。
 図2に示す通り、本実施形態において損失計算部113は複数設けられる。損失計算部113_1から損失計算部113_Kのそれぞれが、対応するクラス分類部112_1からクラス分類部112_Kのそれぞれの分類誤差を計算し、特徴量抽出部111及び対応するクラス分類部112_1からクラス分類部112_Kの分類処理に用いられるパラメータを修正する。
 損失計算部113はまず、対応するクラス分類部112の出力値と、対応するクラス分類部112と異なる他のクラス分類部112の出力値とを用いて損失関数Fを設定する。本実施形態において、損失関数Fはクロスエントロピー関数である。クロスエントロピー関数については既知であるので、詳しい説明は省略する。
 損失計算部113_1、損失計算部113_2、・・・損失計算部113_Kのそれぞれは、損失関数F_1、損失関数F_2、・・・損失関数F_Kをそれぞれ設定する。例えば、損失計算部113_Kは、対応するクラス分類部112_Kの出力値と、クラス分類部112_Kより一つ前の段階で分類処理を学習したクラス分類部112_K-1の出力値とを損失関数F_Kに反映させる。
 以下の式(1)は、クラス分類部112_1に対応する損失計算部113_1が設定する損失関数F_1の例である。クラス分類部112_1は、全てのクラス分類部112の中で最初に分類処理を学習する。損失計算部113_1は、当該損失関数F_1を用いて、クラス分類部112_1の分類誤差loss1を決定する。
Figure JPOXMLDOC01-appb-M000002
 ここで、piには正解ラベルが三角形であるとき1の値、そうでなければ0の値が入る。qi 1はクラス分類部112_1の出力値であり、画像が三角形のクラスに属する確率を示す値である。nは学習データの数を示す。
 以下の式(2)は、クラス分類部112_2に対応する損失計算部113_2が設定する損失関数F_2の例である。損失計算部113_2は、当該損失関数F_2を用いて、対応するクラス分類部112_2と異なる他のクラス分類部112_1の出力値を参照して、対応するクラス分類部112_2の分類誤差loss2を決定する。
Figure JPOXMLDOC01-appb-M000003
 ここで、qi 2はクラス分類部112_2の出力値であり、画像が三角形のクラスに属する確率を示す値である。δは0.1程度の定数である。当該式(2)のうち、(1-pi)log(1-qi 2)の値は、正解ラベルが円形(1-pi=1)であるときの、対応するクラス分類部112_2の出力値の対数をとっている。当該値に乗じるよう設定された(qi 1+δ)は、定数と、他のクラス分類部112_1の分類処理における誤分類時の出力値とを示す。このように損失関数F_2を設定することで、正解ラベルが円形(1-pi=1)である場合に、クラス分類部112_1が三角形と誤分類した学習データについて重みを強くしている。すなわち、損失計算部113_2は、クラス分類部112_1が三角形と誤分類した学習データを、クラス分類部112_2の分類処理においては正しく分類できるようパラメータを修正するよう、損失関数F_2を設定している。このように、損失計算部113は、他のクラス分類部112の分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて、対応するクラス分類部112の分類誤差を決定する。
 次に損失計算部113は、決定した分類誤差が小さくなるように、特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する。パラメータの修正には、誤差逆伝播法等の任意の既知の手法を用いてよい。誤差逆伝播法については既知であるため、説明を省略する。損失計算部113は、特徴量抽出部111及び対応するクラス分類部112のいずれかのみのパラメータのみを修正してもよい。
 例えば損失計算部113_2は、算出した分類誤差が所定の値以上である場合は、分類誤差が小さくなるように、特徴量抽出部111と、クラス分類部112_2とに用いられるパラメータを修正する。なお、分類誤差損失値の所定の値とは任意に設定されてよい。損失計算部113は、分類誤差が所定の値未満となるまで、特徴量抽出部111及びクラス分類部112のパラメータの修正を繰り返してよい。損失計算部113は、分類誤差の低下率が所定の値より低下しなくなった場合に、パラメータの修正を停止してもよい。
 パラメータが修正された後、クラス分類部112_2は図3の学習データの分類処理を以下の表2に示すように学習する。
Figure JPOXMLDOC01-appb-T000004
 表2を参照すると、クラス分類部112_1によって誤分類されていた左から二番目の白抜きの円形の学習データについて、クラス分類部112_2が0.3の値を算出し、円形と正しくクラスを分類する学習ができたことがわかる。一方、クラス分類部112_2が右端の黒丸を三角形と誤分類していることがわかる。これについて、損失計算部113_3は、上記した手法と同様にして、クラス分類部112_3と異なる他のクラス分類部112_2の出力値を用いて損失関数F_3を設定し、クラス分類部112_3の分類誤差を決定し、特徴量抽出部111及びクラス分類部112_3に用いられるパラメータを修正する。このようにして損失計算部113は、クラス分類部112を互いに関連付けて分類処理の学習の手法を更新していくことができる。図4を参照すると、損失計算部113のそれぞれによる特徴量抽出部111及びクラス分類部112のパラメータの更新が破線矢印で示されている。
 制御部11は、特徴量抽出部111と、複数のクラス分類部112とを一つの学習済みモデルとして出力する。制御部11は、通信部23を介して、当該学習済みモデルを推論装置20に送信してもよい。
<推論装置20の構成>
 次に、図5及び図6を参照して、本実施形態に係る推論装置20の構成の一例について説明する。図3に示すように、推論装置20は、制御部21と、記憶部22と、通信部23と、入力部24と、出力部25と、を備える。
 記憶部22は、1つ以上のメモリを含み、例えば半導体メモリ、磁気メモリ、光メモリなどを含んでもよい。記憶部12に含まれる各メモリは、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。記憶部22は、推論装置20の動作に用いられる任意の情報を記憶する。記憶部22は、必ずしも推論装置20が内部に備える必要はなく、推論装置20の外部に備える構成としてもよい。
 通信部23には、少なくとも1つの通信インタフェースが含まれる。通信インタフェースは、例えば、LANインタフェースである。通信部23は、推論装置20の動作に用いられる情報を受信し、また機械学習装置10の動作によって得られる情報を送信する。
 通信部23は、推論装置20がネットワークを介して他の装置と情報の送受信を行うことを可能にする。ネットワークとは、インターネット、少なくとも1つのWAN、少なくとも1つのMAN、又はこれらの組み合わせを含む。ネットワークは、少なくとも1つの無線ネットワーク、少なくとも1つの光ネットワーク、又はこれらの組み合わせを含んでもよい。無線ネットワークは、例えば、アドホックネットワーク、セルラーネットワーク、無線LAN、衛星通信ネットワーク、又は地上マイクロ波ネットワークである。
 入力部24には、少なくとも1つの入力用インタフェースが含まれる。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン、又はマイクである。入力部24は、推論装置20の動作に用いられる情報を入力する操作を受け付ける。入力部24は、推論装置20に備えられる代わりに、外部の入力機器として推論装置20に接続されてもよい。接続方式としては、例えば、USB、HDMI(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。
 入力部24は、未知データの入力を受け付ける。未知データは例えば画像である。本実施形態では、未知データは図3に示す学習データに含まれるものと同様の、白抜きの三角形、白抜きの円形、黒い三角形、黒い円形の四つの二次元の静止画像である。未知データは、入力部24を介して直接的に入力されてもよいし、通信部23及びネットワークを介して外部装置から入力されてもよい。
 出力部25には、少なくとも1つの出力用インタフェースが含まれる。出力用インタフェースは、例えば、ディスプレイ又はスピーカである。ディスプレイは、例えば、LCD又は有機ELディスプレイである。出力部25は、推論装置20の動作によって得られる情報を出力する。出力部25は、推論装置20に備えられる代わりに、外部の出力機器として推論装置20に接続されてもよい。接続方式としては、例えば、USB、HDMI(登録商標)、又はBluetooth(登録商標)等の任意の方式を用いることができる。出力部25は、推論装置20による推論結果を、ネットワーク又はファイル等に出力できる。
 制御部21は、制御演算回路(コントローラ)により実現される。該制御演算回路は、ASIC、FPGA等の専用のハードウェアによって構成されてもよいし、プロセッサによって構成されてもよいし、双方を含んで構成されてもよい。制御部21は、推論装置20の各部を制御しながら、推論装置20の動作に関わる処理を実行する。制御部21は、外部装置との情報の送受信を、通信部23及びネットワークを介して行うことができる。制御部21は、機械学習装置10が出力した学習済みモデルを取得する。取得の方法は任意の手法が採用されてよいが、例えば、制御部21は、通信部23を介して学習済みモデルを機械学習装置10から受信することで取得してよい。
 制御部21は、推論部211と、統合部212とを備える。
 推論部211は、機械学習装置10が作成した学習済みモデルを未知データに適用して、学習済みモデルに含まれる複数のクラス分類部112からそれぞれの出力値を取得する。推論部211は、取得した学習済みモデルを、例えば入力部24を介して受け付けた未知データに適用する。推論部211は、クラス分類部112のそれぞれから取得した出力値を統合部212へ出力する。図6を参照すると、クラス分類部112のそれぞれからの出力値の流れが実線矢印で示されている。
 統合部212は、推論部211により取得された出力値を統合する。統合は任意の手法を採用してよい。例えば、学習済みモデルにクラス分類部112_1とクラス分類部112_2との2つのクラス分類部112が含まれているとき、統合部212は、以下の式(3)に示すように、2つのクラス分類部112の出力値を平均してよい。
Figure JPOXMLDOC01-appb-M000005
 ここで、qi 1はクラス分類部112_1の出力値であり、画像が三角形のクラスに属する確率を示す値であり、qi 2はクラス分類部112_2の出力値であり、画像が三角形のクラスに属する確率を示す値である。
 以下の表3は、未知データを学習済みモデルに適用した場合のクラス分類部112_1とクラス分類部112_2との出力値と、統合部212が未知データごとに統合した結果の値とを示す。表3を参照すると、クラス分類部112_1は白抜きの円形を誤判断し、クラス分類部112_2は黒い円形を誤判断しているが、統合結果からはいずれの未知データも正しく分類されたことがわかる。
Figure JPOXMLDOC01-appb-T000006
<プログラム>
 上述した機械学習装置10又は推論装置20として機能させるために、プログラム命令を実行可能なコンピュータを用いることも可能である。ここで、コンピュータは、汎用コンピュータ、専用コンピュータ、ワークステーション、PC(Personal Computer)、電子ノートパッドなどであってもよい。プログラム命令は、必要なタスクを実行するためのプログラムコード、コードセグメントなどであってもよい。
 コンピュータは、プロセッサと、記憶部と、入力部と、出力部と、通信インタフェースとを備える。プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、SoC(System on a Chip)等であり、同種又は異種の複数のプロセッサにより構成されてもよい。プロセッサは、記憶部からプログラムを読み出して実行することで、上記各構成の制御及び各種の演算処理を行う。なお、これらの処理内容の少なくとも一部をハードウェアで実現することとしてもよい。入力部は、ユーザの入力操作を受け付けてユーザの操作に基づく情報を取得する入力インタフェースであり、ポインティングデバイス、キーボード、マウスなどである。出力部は、情報を出力する出力インタフェースであり、ディスプレイ、スピーカなどである。通信インタフェースは、外部の装置と通信するためのインタフェースである。
 プログラムは、コンピュータが読み取り可能な記録媒体に記録されていてもよい。このような記録媒体を用いれば、プログラムをコンピュータにインストールすることが可能である。ここで、プログラムが記録された記録媒体は、非一過性(non-transitory)の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROM、DVD-ROM、USBメモリなどであってもよい。また、このプログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
<システム1の動作>
 次に、図2、図3、及び図7を参照して、本実施形態に係る機械学習装置10及び推論装置20を含むシステム1の動作について説明する。システム1の動作のうち、機械学習装置10の動作は、本実施形態に係る機械学習方法に相当する。
 ステップS1において、機械学習装置10は、入力部14を介して学習データを受け付ける。本実施形態では、学習データは、入力データとしての白抜きの三角形、白抜きの円形、黒い三角形、黒い円形の四つの二次元の静止画像と、当該画像が三角形と円形との2つのクラスのいずれかに属するかを示す正解ラベルとを含む。
 ステップS2において、特徴量抽出部111は、対象とする学習データを取得し、学習データからの特徴量の抽出処理を学習する。特徴量の抽出処理は畳み込みニューラルネットワークによるものであってよい。特徴量抽出部111は、抽出した特徴量をクラス分類部112に出力する。
 ステップS3において、クラス分類部112は、特徴量に基づいて学習データの分類処理を学習する。本実施形態の分類処理は2クラス分類処理であるが、これに限定されず、多クラス分類処理であってもよい。図2に示す通り、本実施形態においてクラス分類部112は複数設けられる。クラス分類部112_1からクラス分類部112_Kのそれぞれが、特徴量に基づいて分類処理を学習する。
 例えばクラス分類部112_1は、図3の学習データの分類処理を以下の表に示すように学習する。以下の表において、クラス分類部112_1は、0.5の値を閾値として、画像を三角形のクラスに分類したときに0.5以上の値を出力し、画像を円形のクラスに分類したときに0.5未満の値を出力する。表1中、左から二番目の白抜きの円形の学習データについて、クラス分類部112_1が0.6の値を出力しており、三角形と誤分類して学習していることがわかる。
Figure JPOXMLDOC01-appb-T000007
 クラス分類部112のそれぞれは、分類処理の結果を、対応する損失計算部113_1から損失計算部113_Kのそれぞれに出力する。
 ステップS4において、損失計算部113はまず、対応するクラス分類部112の出力値と、対応するクラス分類部112と異なる他のクラス分類部112の出力値とを用いて損失関数Fを設定する。本実施形態において、損失関数Fはクロスエントロピー関数である。
 損失計算部113_1、損失計算部113_2、・・・損失計算部113_Kのそれぞれは、損失関数F_1、損失関数F_2、・・・損失関数F_Kをそれぞれ設定する。例えば、損失計算部113_Kは、対応するクラス分類部112_Kの出力値と、クラス分類部112_Kより一つ前の段階で分類処理を学習したクラス分類部112_K-1の出力値とを損失関数F_Kに反映させる。
 以下の式(4)は、クラス分類部112_1に対応する損失計算部113_1が設定する損失関数F_1の例である。クラス分類部112_1は、全てのクラス分類部112の中で最初に分類処理を学習する。損失計算部113_1は、当該損失関数F_1を用いて、クラス分類部112_1の分類誤差loss1を決定する。
Figure JPOXMLDOC01-appb-M000008
 ここで、piには正解ラベルが三角形であるとき1の値、そうでなければ0の値が入る。qi 1はクラス分類部112_1の出力値であり、画像が三角形のクラスに属する確率を示す値である。nは学習データの数を示す。
 以下の式(5)は、クラス分類部112_2に対応する損失計算部113_2が設定する損失関数F_2の例である。損失計算部113_2は、当該損失関数F_2を用いて、対応するクラス分類部112_2と異なる他のクラス分類部112_1の出力値を参照して、対応するクラス分類部112_2の分類誤差loss2を決定する。
Figure JPOXMLDOC01-appb-M000009
 ここで,qi 2はクラス分類部112_2の出力値であり、画像が三角形のクラスに属する確率を示す値である。δは0.1程度の定数である。当該式(5)のうち、(1-pi)log(1-qi 2)の値は、正解ラベルが円形(1-pi=1)であるときの、対応するクラス分類部112_2の出力値の対数をとっている。当該値に乗じるよう設定された(qi 1+δ)は、定数と、他のクラス分類部112_1の分類処理における誤分類時の出力値とを示す。このように損失関数F_2を設定することで、正解ラベルが円形(1-pi=1)である場合に、クラス分類部112_1が三角形と誤分類した学習データについて重みを強くしている。すなわち、損失計算部113_2は、クラス分類部112_1が三角形と誤分類した学習データを、クラス分類部112_2の分類処理においては正しく分類できるようパラメータを修正するよう、損失関数F_2を設定している。このように、損失計算部113は、他のクラス分類部112の分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて、対応するクラス分類部112の分類誤差を決定する。
 ステップS5において、損失計算部113は、決定した分類誤差が小さくなるように、特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する。パラメータの修正には、誤差逆伝播法等の任意の既知の手法を用いてよい。
 例えば損失計算部113_2は、算出した分類誤差が所定の値以上である場合は、分類誤差が小さくなるように、特徴量抽出部111_2と、クラス分類部112_2とに用いられるパラメータを修正する。なお、分類誤差損失値の所定の値とは任意に設定されてよい。損失計算部113は、分類誤差が所定の値未満となるまで、特徴量抽出部111及びクラス分類部112のパラメータの修正を繰り返してよい。損失計算部113は、分類誤差の低下率が所定の値より低下しなくなった場合に、パラメータの修正を停止してもよい。
 パラメータが修正された後、クラス分類部112_2は図3の学習データの分類処理を以下の表2に示すように学習する。
Figure JPOXMLDOC01-appb-T000010
 表2を参照すると、クラス分類部112_1によって誤分類されていた左から二番目の白抜きの円形の学習データについて、クラス分類部112_2が0.3の値を算出し、円形と正しくクラスを分類する学習ができたことがわかる。一方、クラス分類部112_2が右端の黒丸を三角形と誤分類していることがわかる。これについて、損失計算部113_3は、上記した手法と同様にして、クラス分類部112_3と異なる他のクラス分類部112_2の出力値を用いて損失関数F_3を設定し、クラス分類部112_3の分類誤差を決定し、特徴量抽出部111及びクラス分類部112_3に用いられるパラメータを修正する。
 ステップS4およびステップS5に示すように、損失計算部113は、複数のクラス分類部112にそれぞれ対応付けられ、対応するクラス分類部112の分類誤差を計算し、該分類誤差が小さくなるように、特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する。
 ステップS6において、制御部11は、特徴量抽出部111と、複数のクラス分類部112とを一つの学習済みモデルとして、推論装置20に出力する。
 ステップS7において、推論装置20の制御部21は、通信部23を介して、機械学習装置10が出力した学習済みモデルを取得する。
 ステップS8において、推論装置20は、入力部24を介して未知データを受け付ける。本実施形態では、未知データは図3に示す学習データに含まれるものと同様の、白抜きの三角形、白抜きの円形、黒い三角形、黒い円形の四つの二次元の静止画像である。
 ステップS9において、推論部211は、機械学習装置10が作成した学習済みモデルを未知データに適用して、学習済みモデルに含まれる複数のクラス分類部112からそれぞれの出力値を取得する。推論部211は、クラス分類部112のそれぞれから取得した出力値を統合部212へ出力する。
 ステップS10において、統合部212は、推論部211により取得された出力値を統合する。例えば、学習済みモデルにクラス分類部112_1とクラス分類部112_2との2つのクラス分類部112が含まれているとき、統合部212は、以下の式(6)に示すように、2つのクラス分類部112の出力値を平均してよい。
Figure JPOXMLDOC01-appb-M000011
 ここで、qi 1はクラス分類部112_1の出力値であり、画像が三角形のクラスに属する確率を示す値であり、qi 2はクラス分類部112_2の出力値であり、画像が三角形のクラスに属する確率を示す値である。
 以下の表6は、未知データを学習済みモデルに適用した場合のクラス分類部112_1とクラス分類部112_2との出力値と、統合部212が未知データごとに統合した結果の値とを示す。表3を参照すると、クラス分類部112_1は白抜きの丸を誤判断し、クラス分類部112_2は黒丸を誤判断しているが、統合結果からはいずれの未知データも正しく分類されたことがわかる。
Figure JPOXMLDOC01-appb-T000012
 ステップS11において、制御部21は、出力部25を介して統合結果を推論結果として出力する。その後、システム1の動作は終了する。
 上述のように、本実施形態にかかる機械学習装置10は、学習データからの特徴量の抽出処理を学習する特徴量抽出部111と、特徴量に基づいて学習データの分類処理を学習する複数のクラス分類部112と、複数のクラス分類部112にそれぞれ対応付けられ、対応するクラス分類部112の分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する複数の損失計算部113と、を備え、損失計算部113は、対応するクラス分類部112と異なる他のクラス分類部112の出力値を参照して、対応するクラス分類部112の分類誤差を決定する。
 本実施形態によれば、一つの特徴量抽出部111を複数のクラス分類部112で共有することで、特徴量抽出部111の個数を削減できる。さらに損失計算部113は、他のクラス分類部112の出力値を参照することができる。よって、複数のクラス分類部112部間の相関を調整して分類処理の精度を向上させつつ、機械学習の効率を向上させることができる。
 上述のように、本実施形態にかかる機械学習装置10において、損失計算部113は、他のクラス分類部112の分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて対応するクラス分類部112の分類誤差を決定する。
 本実施形態によれば、損失計算部113は、他のクラス分類部112の誤分類時の出力値を用いて分類誤差を決定する。他のクラス分類部112の誤分類時の出力値に応じて当該分類誤差の値が大きくなり、結果的に特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータが修正される程度が大きくなる。このように本実施形態によれば、複数のクラス分類部112部間の相関を調整して分類処理の精度を向上させつつ、機械学習の効率を向上させることができる。
 上述のように、本実施形態に係る推論装置20は、本実施形態に係る機械学習装置10が作成した学習済みモデルを未知データに適用して、複数のクラス分類部112からそれぞれの出力値を取得する推論部211と、推論部211により取得された出力値を統合する統合部212とを備える。
 本実施形態によれば、統合部212が、複数のクラス分類部112からのそれぞれの出力値を統合する。よって、一つの学習済みモデルを用いて、精度よく未知データの分類を推定することが可能となる。
 本開示を諸図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。
 機械学習装置10の損失計算部113による分類誤差の決定手法は上述した実施形態に限られない。損失計算部113による分類誤差の決定手法の変形例として、以下に変形例1~4を示す。
 (変形例1)
 変形例1では、損失計算部113は、複数のクラス分類部112が分類処理を行う学習データの重みに乱数を用いて、各クラス分類部112の分類誤差を決定する。
 以下に示す式(7)は、本変形例においてクラス分類部112_Kに対応する損失計算部113_Kが設定する損失関数F_Kの例である。
Figure JPOXMLDOC01-appb-M000013
ここで、ri kは乱数を示す。kはクラス分類部112の数である。他の各項が示す値については、上述の実施形態及び変形例1と同様であるため、説明を省略する。
ri kは例えば、0.9~1.1の範囲の一様で独立した乱数とする。乱数を用いて各クラス分類部のサンプルに異なる重みを与えることで、クラス分類部間の相関を弱める。
 上述のように、本変形例にかかる機械学習装置10は、学習データからの特徴量の抽出処理を学習する特徴量抽出部111と、特徴量に基づいて学習データの分類処理を学習する複数のクラス分類部112と、複数のクラス分類部112にそれぞれ対応付けられ、対応するクラス分類部112の分類誤差を計算し、該分類誤差が小さくなるように、特徴量抽出部111及び対応するクラス分類部112に用いられるパラメータを修正する複数の損失計算部113と、を備え、損失計算部113は、乱数及び損失関数Fを用いて対応するクラス分類部112の分類誤差を決定する。
 本変形例によれば、損失計算部113は、入力する学習データ自体に差異を付ける必要なく、複数のクラス分類部112間の相関を弱めるよう調整することができる。よって、複数のクラス分類部112部間の相関を調整して分類処理の精度を向上させつつ、機械学習の効率を向上させることができる。
 (変形例2)
 変形例2~4では、上述した実施形態と同様に、対応するクラス分類部112と異なる他のクラス分類部112の出力値を参照して、対応するクラス分類部112の分類誤差を決定する。変形例2では、損失計算部113_Kは、クラス分類部112_Kの損失関数F_Kを設定するとき、以下の式(8)のように損失関数Fを設定する。以下の式(8)は、クラス分類部112_2に対応する損失計算部113_2が設定する損失関数F_2の例である。
Figure JPOXMLDOC01-appb-M000014
ここで,qi 2はクラス分類部112_2の出力値であり、画像が三角形のクラスに属する確率を示す値である。δは0.1程度の定数である。当該式(8)のうち、pilogqi 2の値は、正解ラベルが三角形(pi)であるときの、対応するクラス分類部112_2の出力値の対数をとっている。当該値に乗じるよう設定された(1-qi 1+δ)は、定数と、他のクラス分類部112_1の分類処理における誤分類時の出力値とを示す。
 本変形例では、このように損失関数F_2を設定することにで、正解ラベルが三角形(pi=1)である場合に、クラス分類部112_1が円形と誤分類した学習データについて重みを強くすることができる。すなわち、損失計算部113_Kは、クラス分類部112_K-1が円形と誤分類した(三角形を見落とした)学習データを、クラス分類部112_Kの分類処理においては正しく分類できるようパラメータを修正するよう、損失関数F_Kを設定する。
(変形例3)
 変形例3では、損失計算部113は、以下の式(9)のように損失関数Fを設定する。以下の式(9)は、クラス分類部112_2に対応する損失計算部113_2が設定する損失関数F_2の例である。式(9)の各項が示す値については、上述の実施形態及び変形例1と同様であるため、説明を省略する。
Figure JPOXMLDOC01-appb-M000015
 本変形例によれば、損失計算部113は、正解ラベルが円形である場合において、クラス分類部112_K-1が三角形と誤分類したときの出力値と、正解ラベルが三角形である場合に、クラス分類部112_K-1が円形と誤分類したときの出力値との両方を参照して、クラス分類部112_Kの分類誤差を決定する。すなわち、損失計算部113_Kは、クラス分類部112_K-1が誤分類したときの学習データを、クラス分類部112_Kの分類処理においては正しく分類できるようパラメータを修正するよう、損失関数F_Kを設定する。
 (変形例4)
 変形例4では、損失計算部113は、クラス分類部112_Kの分類誤差を決定するとき、クラス分類部112_K-1のみでなく、全ての他のクラス分類部112、すなわちクラス分類部112_1からクラス分類部112_K-1の誤分類時の出力値を参照する。図8は、本変形例に係る機械学習装置10における処理の流れを示す。見やすさのため、図4で示した損失計算部113のそれぞれによるパラメータの更新を示す破線矢印は省略する。図8の損失計算部113_Kは、クラス分類部112_1からクラス分類部112_K-1の出力値を参照してクラス分類部112_Kの分類誤差を決定する。
 本変形例によれば、他のクラス分類部112全ての出力値を参照して分類誤差を決定することで、複数のクラス分類部112間の相関を弱めるよう調整することができる。よって、複数のクラス分類部112部間の相関を調整して分類処理の精度を向上させつつ、機械学習の効率を向上させることができる。
 (変形例5)
 本開示の変形例として、推論装置20の統合部212は、以下の式(10)に示すように、各クラス分類部112の分類処理の結果を単純ベイズ法を用いて統合してもよい。
Figure JPOXMLDOC01-appb-M000016
 本変形例によれば、複数のクラス分類部112の分類処理の結果の多数決を取って、未知データの分類を推定することができる。
 (変形例6)
 本開示の変形例として、推論装置20の統合部212は、以下の式(11)に示すように、各クラス分類部112の出力値を重み付けして計算して分類結果を統合してもよい。
Figure JPOXMLDOC01-appb-M000017
ここで、w1、w2は0以上の実数であり、それぞれクラス分類部112_1とクラス分類部112_2とに対する重み付けの値を示す。統合部212は、所定のクラス分類部112の重み付けの値を大きく設定して計算してもよい。これにより、信頼性の高い任意のクラス分類部112の分類処理の結果を反映することができる。
 (変形例7)
 本開示の変形例として、推論装置20の統合部212を機械学習装置10が備え、機械学習装置10において統合部212で使用されるパラメータを学習させてもよい。例えば、変形例6に係る統合部212を機械学習装置10で学習させてもよい。本変形例に係る学習済みモデルを適用することで、信頼性の高いクラス分類部112を重視して、未知データを分類することができる。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 学習データからの特徴量の抽出処理を学習し、
 前記特徴量に基づいて前記学習データの複数の分類処理を学習し、
 前記複数の分類処理のうち、対応する分類処理の誤差を計算し、該分類誤差が小さくなるように、前記抽出処理及び前記対応する分類処理に用いられるパラメータを修正する制御部を備え、
 前記制御部は、前記対応する分類処理と異なる他の分類処理による出力値を参照して、前記対応する分類処理の前記誤差を決定する、機械学習装置。
 (付記項2)
 前記制御部は、前記他の分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて前記対応する分類処理の前記誤差を決定する、付記項1に記載の機械学習装置。
 (付記項3)
 学習データからの特徴量の抽出処理を学習し、
 前記特徴量に基づいて前記学習データの複数の分類処理を学習し、
 前記複数の分類処理のうち、対応する分類処理の誤差を計算し、該分類誤差が小さくなるように、前記抽出処理及び前記対応する分類処理に用いられるパラメータを修正する制御部を備え、
 前記制御部は、乱数及び損失関数を用いて前記対応する分類処理の前記誤差を決定する、機械学習装置。
 (付記項4)
 付記項1から3のいずれか一項に記載の機械学習装置が作成した学習済みモデルを未知データに適用して、前記複数の分類処理からそれぞれの出力値を取得し、
 取得された前記出力値を統合する制御部を備える、推論装置。
 (付記項5)
 機械学習装置が実行する機械学習方法であって、
 学習データからの特徴量の抽出処理を学習する特徴量抽出ステップと、
 前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類ステップと、
 前記複数のクラス分類ステップにそれぞれ対応付けられ、対応するクラス分類ステップの分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出ステップ及び対応する前記クラス分類ステップに用いられるパラメータを修正する複数の損失計算ステップと、を含み、
 前記損失計算ステップは、前記対応するクラス分類ステップと異なる他のクラス分類ステップの出力値を参照して、前記対応するクラス分類ステップの前記分類誤差を決定する、機械学習方法。
 (付記項6)
 前記損失計算ステップは、前記他のクラス分類ステップの前記分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて前記対応するクラス分類ステップの前記分類誤差を決定する、付記項5に記載の機械学習方法。
 (付記項7)
 機械学習装置が実行する機械学習方法であって、
 学習データからの特徴量の抽出処理を学習する特徴量抽出ステップと、
 前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類ステップと、
 前記複数のクラス分類ステップにそれぞれ対応付けられ、対応するクラス分類ステップの分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出ステップ及び対応する前記クラス分類ステップに用いられるパラメータを修正する複数の損失計算ステップと、を含み、
 前記損失計算ステップは、乱数及び損失関数を用いて前記対応するクラス分類ステップの前記分類誤差を決定する、機械学習方法。
 (付記項8)
 コンピュータを、付記項1から3のいずれか一項に記載の機械学習装置として機能させるためのプログラムを記憶した非一時的なコンピュータ読取り可能な媒体。
  1 システム
  10 機械学習装置
  20 推論装置
  11 制御部
  12 記憶部
  13 通信部
  14 入力部
  15 出力部
  21 制御部
  22 記憶部
  23 通信部
  24 入力部
  25 出力部
  111 特徴量抽出部
  112 クラス分類部
  113 損失計算部
  211 推論部
  212 統合部

Claims (8)

  1.  学習データからの特徴量の抽出処理を学習する特徴量抽出部と、
     前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類部と、
     前記複数のクラス分類部にそれぞれ対応付けられ、対応するクラス分類部の分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出部及び対応する前記クラス分類部に用いられるパラメータを修正する複数の損失計算部と、を備え、
     前記損失計算部は、前記対応するクラス分類部と異なる他のクラス分類部の出力値を参照して、前記対応するクラス分類部の前記分類誤差を決定する、機械学習装置。
  2.  前記損失計算部は、前記他のクラス分類部の前記分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて前記対応するクラス分類部の前記分類誤差を決定する、請求項1に記載の機械学習装置。
  3.  学習データからの特徴量の抽出処理を学習する特徴量抽出部と、
     前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類部と、
     前記複数のクラス分類部にそれぞれ対応付けられ、対応するクラス分類部の分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出部及び対応する前記クラス分類部に用いられるパラメータを修正する複数の損失計算部と、を備え、
     前記損失計算部は、乱数及び損失関数を用いて前記対応するクラス分類部の前記分類誤差を決定する、機械学習装置。
  4.  請求項1から3のいずれか一項に記載の機械学習装置が作成した学習済みモデルを未知データに適用して、前記複数のクラス分類部からそれぞれの出力値を取得する推論部と、
     前記推論部により取得された前記出力値を統合する統合部と
    を備える、推論装置。
  5.  機械学習装置が実行する機械学習方法であって、
     学習データからの特徴量の抽出処理を学習する特徴量抽出ステップと、
     前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類ステップと、
     前記複数のクラス分類ステップにそれぞれ対応付けられ、対応するクラス分類ステップの分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出ステップ及び対応する前記クラス分類ステップに用いられるパラメータを修正する複数の損失計算ステップと、を含み、
     前記損失計算ステップは、前記対応するクラス分類ステップと異なる他のクラス分類ステップの出力値を参照して、前記対応するクラス分類ステップの前記分類誤差を決定する、機械学習方法。
  6.  前記損失計算ステップは、前記他のクラス分類ステップの前記分類処理における誤分類時の出力値に基づいて重み付けがされたクロスエントロピー関数を用いて前記対応するクラス分類ステップの前記分類誤差を決定する、請求項5に記載の機械学習方法。
  7.  機械学習装置が実行する機械学習方法であって、
     学習データからの特徴量の抽出処理を学習する特徴量抽出ステップと、
     前記特徴量に基づいて前記学習データの分類処理を学習する複数のクラス分類ステップと、
     前記複数のクラス分類ステップにそれぞれ対応付けられ、対応するクラス分類ステップの分類誤差を計算し、該分類誤差が小さくなるように、前記特徴量抽出ステップ及び対応する前記クラス分類ステップに用いられるパラメータを修正する複数の損失計算ステップと、を含み、
     前記損失計算ステップは、乱数及び損失関数を用いて前記対応するクラス分類ステップの前記分類誤差を決定する、機械学習方法。
  8.  コンピュータを、請求項1から3のいずれか一項に記載の機械学習装置として機能させるためのプログラム。
PCT/JP2021/019049 2021-05-19 2021-05-19 機械学習装置、推論装置、機械学習方法及びプログラム WO2022244159A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023522095A JPWO2022244159A1 (ja) 2021-05-19 2021-05-19
PCT/JP2021/019049 WO2022244159A1 (ja) 2021-05-19 2021-05-19 機械学習装置、推論装置、機械学習方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/019049 WO2022244159A1 (ja) 2021-05-19 2021-05-19 機械学習装置、推論装置、機械学習方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2022244159A1 true WO2022244159A1 (ja) 2022-11-24

Family

ID=84140170

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/019049 WO2022244159A1 (ja) 2021-05-19 2021-05-19 機械学習装置、推論装置、機械学習方法及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2022244159A1 (ja)
WO (1) WO2022244159A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU, Y. ET AL.: "Ensemble learning via negative correlation", NEURAL NETWORKS, vol. 12, no. 10, December 1999 (1999-12-01), pages 1399 - 1404, XP008056919, DOI: 10.1016/S0893-6080(99)00073-8 *

Also Published As

Publication number Publication date
JPWO2022244159A1 (ja) 2022-11-24

Similar Documents

Publication Publication Date Title
US11468262B2 (en) Deep network embedding with adversarial regularization
US11669724B2 (en) Machine learning using informed pseudolabels
WO2018121690A1 (zh) 对象属性检测、神经网络训练、区域检测方法和装置
US10332028B2 (en) Method for improving performance of a trained machine learning model
WO2018077285A1 (zh) 机器学习模型训练方法、装置、服务器及存储介质
US10275719B2 (en) Hyper-parameter selection for deep convolutional networks
US20170032276A1 (en) Data fusion and classification with imbalanced datasets
US20180285778A1 (en) Sensor data processor with update ability
US10970313B2 (en) Clustering device, clustering method, and computer program product
US20210256387A1 (en) Model Training with Retrospective Loss
US20220004920A1 (en) Classification device, classification method, and classification program
US20210264285A1 (en) Detecting device, detecting method, and detecting program
US20220207300A1 (en) Classification system and method based on generative adversarial network
US11302108B2 (en) Rotation and scaling for optical character recognition using end-to-end deep learning
US20220067582A1 (en) Method and apparatus for continual few-shot learning without forgetting
US20220051103A1 (en) System and method for compressing convolutional neural networks
KR102093080B1 (ko) 레이블 데이터 및 비레이블 데이터를 이용한 생성적 적대 신경망 기반의 분류 시스템 및 방법
JP2019067299A (ja) ラベル推定装置及びラベル推定プログラム
US20070168305A1 (en) Learning machine that considers global structure of data
WO2022244159A1 (ja) 機械学習装置、推論装置、機械学習方法及びプログラム
US11494613B2 (en) Fusing output of artificial intelligence networks
CN116361657A (zh) 用于对灰样本标签进行消歧的方法、系统和存储介质
US20240020531A1 (en) System and Method for Transforming a Trained Artificial Intelligence Model Into a Trustworthy Artificial Intelligence Model
US11854528B2 (en) Method and system for detecting unsupported utterances in natural language understanding
US20220084306A1 (en) Method and system of guiding a user on a graphical interface with computer vision

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023522095

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21940775

Country of ref document: EP

Kind code of ref document: A1