WO2021095509A1 - Inference system, inference device, and inference method - Google Patents

Inference system, inference device, and inference method Download PDF

Info

Publication number
WO2021095509A1
WO2021095509A1 PCT/JP2020/040205 JP2020040205W WO2021095509A1 WO 2021095509 A1 WO2021095509 A1 WO 2021095509A1 JP 2020040205 W JP2020040205 W JP 2020040205W WO 2021095509 A1 WO2021095509 A1 WO 2021095509A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
estimation
learning
classifier
class
Prior art date
Application number
PCT/JP2020/040205
Other languages
French (fr)
Japanese (ja)
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 オムロン株式会社
Publication of WO2021095509A1 publication Critical patent/WO2021095509A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to an estimation method of an estimation model suitable for a practical environment.
  • AI Artificial Intelligence
  • Such a solution includes a task of recognizing the type of the object included in the input image, a task of recognizing the area where the object included in the input image exists, and the like.
  • UDA unsupervised domain adaptation
  • problems such as OpenSet problem, noise problem, and data imbalance problem may occur when unsupervised domain adaptation is realized in a practical environment (in the wild).
  • OpenSet DA OpenSet DA
  • Noise-Supervised DA noise-Supervised DA
  • Partial DA Partial DA
  • One object of the present invention is to provide a technique for unsupervised domain adaptation that can provide a solution that comprehensively considers a plurality of problems as described above.
  • An estimation system uses a first data set consisting of a plurality of data to which a class is assigned and a second data set consisting of a plurality of data to which a class is not assigned by machine learning. It includes a learning unit that generates an estimation model and an estimation unit that inputs estimation target data that can belong to a second data set into the estimation model and determines an estimation result.
  • the estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on.
  • the learning unit determines the discrepancy in identification based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. It includes a calculating means for calculating and a determining means for determining the learning priority for the input data according to the magnitude of the calculated discrepancy in identification.
  • the data considered not to be affected by those problems can be preferentially used for learning, so that the second class is not assigned.
  • Data sets can also be leveraged to maintain or improve the estimation accuracy of the estimation model.
  • the learning unit provides a first parameter updating means for updating the model parameters of the first classifier and the second classifier for the purpose of maximizing the discrepancy in discrimination while the model parameters of the encoder are fixed. It may also be included.
  • the determining means may determine the higher learning priority for the data with the smaller discriminant of the calculated identification with respect to the first parameter updating means. With this configuration, the model parameters of the first and second classifiers can be updated with higher accuracy.
  • the learning unit provides a second parameter updating means for updating the model parameters of the encoder for the purpose of maximizing the discrepancy in discrimination while the model parameters of the first classifier and the second classifier are fixed. It may also be included.
  • the determining means may determine the higher learning priority for the data with the larger discrepancy in the calculated identification with respect to the second parameter updating means. With this configuration, the encoder model parameters can be updated with higher accuracy.
  • the determination means may determine a weighting coefficient to be multiplied by an error that causes the estimation model to back-propagate according to the magnitude of the discrepancy in identification. According to this configuration, the weighting coefficient that determines the update width of the model parameter can be adjusted, so that the model parameter can be updated with higher accuracy.
  • the determination means may determine only the data in which the magnitude of the calculated identification mismatch satisfies a predetermined condition as the data used for updating the model parameters. According to this configuration, only the error caused by the data satisfying the predetermined condition is used for adjusting the model parameter, so that the model parameter can be updated with higher accuracy.
  • the determination means may rank the discrepancies of the identifications calculated for each of the plurality of data, and then select only the data within a predetermined range as the data to be used for updating the model parameters. According to this configuration, even if conditions such as a predetermined threshold value are not set, only the data existing at the upper level of the entire distribution is used for adjusting the model parameters, so that the model parameters can be adjusted with higher accuracy. Can be updated.
  • the learning unit provides a third parameter updating means for updating the encoder model parameters, the first classifier model parameters, and the second classifier model parameters based on the data contained in the first dataset. It may also be included.
  • the third parameter updating means inputs data into the estimation model and based on the error output from one of the first and second classifiers, the first discriminator and the second discriminator.
  • the other model parameter may be updated. According to this configuration, the model parameters of the first classifier and the second classifier can be updated based on the common error information, so that the model parameters can be updated with higher accuracy.
  • the estimation unit includes an estimation result output unit that outputs an estimation result depending on whether or not the first probability and the second probability output when the estimation target data is input to the estimation model match each other. You may. According to this configuration, it is possible to estimate data classified into an unknown class.
  • An estimation device is machine learning using a first data set consisting of a plurality of data to which a class is assigned and a second data set consisting of a plurality of data to which a class is not assigned. It includes a storage unit that holds the estimation model generated by the above, and an estimation unit that inputs estimation target data that can belong to the second data set into the estimation model and determines the estimation result.
  • the estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on.
  • the estimation model is an identification calculated based on the first probability and the second probability output when the data contained in either the first data set or the second data set is input to the estimation model. Depending on the magnitude of the discrepancy, the input data is trained based on the determined learning priority.
  • An estimation method uses a first dataset consisting of a plurality of data to which a class has been assigned and a second dataset consisting of a plurality of data to which a class has not been assigned. It includes a learning step of generating an estimation model by machine learning and an estimation step of inputting estimation target data that can belong to a second data set into the estimation model and determining an estimation result.
  • the estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on.
  • the learning step finds a discrepancy in identification based on the first and second probabilities that are output when the data contained in either the first or second dataset is input into the estimation model. It includes a step of calculating and a step of determining the learning priority for the input data according to the magnitude of the calculated discrepancy in identification.
  • FIG. 1 is a schematic diagram showing an application example of the learning method according to the present embodiment and the estimation model generated by the learning method.
  • the estimation model 60 is generated by machine learning using the learning network 10.
  • the estimation model 60 typically includes an encoder 70 and a classifier 72 and a classifier 74.
  • the encoder 70 calculates the feature amount from the input data (data x s , data x t).
  • the classifier 72 outputs the probability p 1 (y
  • the classifier 74 outputs the probability p 2 (y
  • the error output from the discriminator 72 or the discriminator 74 is back-propagated according to the determined learning priority of the learning network 10 (encoder 70, discriminator 72, and discriminator 74). Update the model parameters that specify at least one).
  • the learning priority is determined according to the magnitude of the discrepancy in identification, so that the estimation accuracy can be maintained or improved even if the above-mentioned problems occur.
  • FIG. 2 is a schematic diagram showing an example of an application for unsupervised domain adaptation according to the present embodiment.
  • FIG. 2 shows an image processing system 1 as an application example.
  • the image processing system 1 images the work 8 with a camera 20 arranged at the tip of the arm of the robot 2, and uses the image obtained by the imaging to perform an appearance inspection of the work 8 (for example, Recognize the presence or absence of defects and the type of defects).
  • the robot 2 is, for example, an articulated robot, which has a plurality of axes 4 corresponding to joints, and by rotating or moving each axis 4, the camera 20 arranged at the tip can be arbitrarily moved. It can be placed in any position and posture.
  • an estimation model for realizing recognition processing which is a learned model generated in advance by machine learning as described later, is used.
  • teacher data can be generated by manually assigning a correct answer (label) to an image collected by an arbitrary method.
  • a method of collecting images a method of actually taking an image using an arbitrary device or a method of virtually taking an image on a simulator may be used.
  • necessary images may be collected from a website or the like. When collecting images from a website, the collected images may be given the correct answer in advance.
  • the estimation accuracy can be improved by generating an estimation model using a large number of teacher data to which correct answers are given in advance.
  • the work 8 is imaged by the camera 20.
  • the image collected by any means and the image actually captured by the camera 20 do not have exactly the same imaging conditions and the like. Therefore, in many cases, the estimation model generated by using the data collected in advance in a specific environment and a large number of teacher data acquired by annotations or the like cannot be used as it is in a practical environment. Therefore, we provide a method that can generate an estimation model that can be operated in a practical environment by using unsupervised domain adaptation.
  • FIG. 3 is a schematic diagram showing a processing procedure related to the generation and operation of the estimation model according to the present embodiment.
  • a data set (hereinafter, also referred to as “source data set 30”) composed of images collected by the information processing apparatus 200 is prepared.
  • a data set (hereinafter, also referred to as “target data set 50”) composed of images used in actual operation is prepared by actually taking an image with the camera 20.
  • the estimation model 60 is generated by machine learning 40.
  • the estimation result 64 is obtained by inputting data (hereinafter, also referred to as “estimation target data 62”) to the generated estimation model 60.
  • the estimation target data 62 corresponds to data that can belong to the target data set 50.
  • FIG. 4 is a schematic diagram showing a hardware configuration example of the image processing system 1 shown in FIG.
  • the image processing system 1 includes a robot 2 and an image processing device 100 that controls the robot 2.
  • the robot 2 has as many sets of servo drivers 12 and motors 14 as the number of axes in addition to the camera 20.
  • the image processing device 100 is a device that constitutes the estimation system according to the present embodiment, and performs image recognition processing based on the image captured by the camera 20. More specifically, the image processing device 100 performs image recognition processing on an image of the work 8 captured by the camera 20 as a subject, and whether or not there is a defect in the work 8 and whether or not there is a defect. If so, identify the type of defect.
  • the image processing device 100 outputs a command for positioning the camera 20 to a predetermined position and posture to one or a plurality of servo drivers 12 in response to the arrival of the work 8. When each of the servo drivers 12 supplies electric power according to a command, the associated motor 14 is rotationally driven, and the joint or arm of the robot 2 mechanically coupled to the motor 14 operates.
  • the image processing device 100 is typically realized by using a computer that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • the image processing device 100 includes a processor 102, a main memory 104, a storage 110, a communication interface 122, an input unit 124, an output unit 126, a camera interface 128, and a motor interface 130 as components.
  • the processor 102 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. As the processor 102, a configuration having a plurality of cores may be adopted, or a plurality of processors 102 may be arranged.
  • a CPU Central Processing Unit
  • MPU Micro Processing Unit
  • GPU Graphics Processing Unit
  • the main memory 104 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or a SRAM (Static Random Access Memory).
  • the storage 110 is composed of, for example, a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the processor 102 reads various programs stored in the storage 110, expands them in the main memory 104, and executes them to realize various processes as described later.
  • the storage 110 in addition to the OS 112 for realizing the basic functions, the machine learning program 114, the model parameters 116 for defining the estimation model 60, and the recognition application 118 for performing the image recognition process are stored. ing.
  • the storage 110 corresponds to a storage unit that holds the estimation model 60.
  • the storage 110 may store the source data set 30.
  • the processor 102 executes the machine learning program 114 to generate the estimation model 60 by the learning process. Further, when the processor 102 executes the recognition application 118, the estimation target data 62 is input to the estimation model 60 and functions as an estimation unit for determining the estimation result.
  • the communication interface 122 mediates the exchange of data with other devices via an arbitrary network.
  • the input unit 124 is composed of a keyboard, a mouse, and the like, and accepts user operations.
  • the output unit 126 is composed of a display, various indicators, a printer, and the like, and outputs a processing result from the processor 102 and the like.
  • the camera interface 128 receives the image captured by the camera 20 and outputs a necessary command to the camera 20.
  • the motor interface 130 outputs a necessary command to the servo driver 12 according to the instruction from the processor 102.
  • the program of the image processing device 100 may be installed via a computer-readable recording medium (for example, an optical recording medium such as a DVD (Digital Versatile Disc)), but may be downloaded from a server device or the like on the network. You may want to install it. Further, the function provided by the image processing device 100 according to the present embodiment may be realized by using a part of the module provided by the OS.
  • a computer-readable recording medium for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • FIG. 4 shows a configuration example in which the functions required as the image processing device 100 are provided by the processor 102 executing the program, and some or all of these provided functions are provided by dedicated hardware. It may be implemented using a hardware circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the correct information of one source dataset 30 is displayed on the other target dataset. It is a method to make it available even for 50 (consisting of a plurality of data to which no class is assigned).
  • the bias is typically an environment in which the source data set 30 is acquired (hereinafter, also referred to as “source domain”) and an environment in which the target data set 50 is acquired (hereinafter, “target domain”). It is also called.) This is due to the difference.
  • the environment in which the application is generated by manual annotation or the like corresponds to the source domain
  • the environment in which the camera 20 actually captures images corresponds to the target domain
  • x s and x t indicate input vectors of data included in the source domain and the target domain, respectively, and y s means the correct answer (class) given to the corresponding x s.
  • the first OpenSet problem means a decrease in estimation accuracy caused by the inclusion of data classified into a class (unknown class) other than the class assigned to the data included in the source domain in the target domain.
  • the second noise problem means a decrease in estimation accuracy due to errors or deterioration caused by various reasons.
  • the noise of interest in the noise problem is typically label noise and characteristic noise.
  • Label noise is an error that occurs in the correct answer given to the data contained in the source domain. That is, the problem is that the wrong class is given as the correct answer.
  • characteristic noise is data deterioration (blurring, etc.) that is different from that generated in other data at the time of observation. That is, there is a problem that data deterioration different from the others occurs only for a part of the data contained in the data set.
  • the third data imbalance problem means a decrease in estimation accuracy due to an imbalance in the number of data contained in the dataset.
  • a data imbalance problem typically involves an imbalance between the number of data contained in the source domain and the number of data contained in the target domain, and the imbalance between the class-by-class data contained in the target domain. There is a state of equilibrium.
  • the former has a great influence on the method called MCD (Maximum Classifier Discrepancy) disclosed in Non-Patent Document 4.
  • MCD Maximum Classifier Discrepancy
  • the learning method according to the present embodiment and the estimation model generated by the learning method provide a solution method that comprehensively considers the above-mentioned plurality of problems. More specifically, the learning method according to the present embodiment and the estimation model generated by the learning method are basically based on the discriminative model-based unsupervised domain adaptation method.
  • Typical examples of the discriminative model-based unsupervised domain adaptation method include a method called MCD (Maximum Classifier Discrepancy) disclosed in Non-Patent Document 4 and a method called ADR (Adversarial Dropout Regularization) disclosed in Non-Patent Document 5. Can be mentioned.
  • Non-Patent Document 4 the method based on MCD disclosed in Non-Patent Document 4 will be described.
  • the technical scope of the present invention is not limited to methods such as MCD and ADR, but includes methods based on the same technical ideas as described below.
  • FIG. 5 is a diagram for explaining the basic concept of the solution of unsupervised domain adaptation (UDA) according to the MCD (Maximum Classifier Discrepancy) method.
  • UDA unsupervised domain adaptation
  • MCD Maximum Classifier Discrepancy
  • the source data set 30 includes one or more data 32 classified into the first class as the correct answer and one or more data 34 classified into the second class as the correct answer.
  • the target dataset 50 shall include one or more data 52 to be classified in the first class and one or more data 54 to be classified in the second class. However, it is unknown to which class the data contained in the target data set 50 is classified.
  • the source dataset 30 and the target are not trained for the purpose of matching the distribution of the entire domain between the source dataset 30 and the target dataset 50. Learning is done for the purpose of matching the class discriminative plane with the data set 50.
  • an encoder that extracts features from the source data set 30 and the target data set 50 is generated by learning so that a common class identification surface can be used, and class identification that can be used in common.
  • the surface is also generated by learning.
  • FIGS. 6 to 8 are diagrams for explaining a learning method according to the MCD (Maximum Classifier Discrepancy) method.
  • the first source data group 301 including the data 32 classified in the first class included in the source data set 30 and the second data 34 classified in the second class are included. It is assumed that the source data group 302 of.
  • learning of the class identification surface and learning of the encoder for extracting the feature amount are alternately performed.
  • the first class identification surface 42 and the second class identification surface 44 are determined by learning using the source data set 30. As shown in FIG. 6, the first class identification surface 42 does not cross the first source data group 301, and the second class identification surface 44 does not cross the second source data group 302. ..
  • the first class identification surface 42 may cross the first target data group 501, and the second class identification surface 44 may cross the second target data group 502. That is, the first class identification surface 42 and / or the second class identification surface 44 determined by the source data set 30 may generate a discrepancy region with respect to the target data set 50.
  • the mismatch area 53 means an area in which the data 52 to be classified in the first class is erroneously determined not to be classified in the first class, and the mismatch area 55 is in the second class. It means an area where the data 54 to be classified is erroneously determined not to be classified in the second class.
  • the first class identification surface 42 and the second class identification surface 44 are updated for the purpose of minimizing the mismatch areas 53 and 55.
  • the model parameters of the encoder are fixed.
  • FIG. 6 the first class identification surface 42'before the update and the first class identification surface 42 after the update, and the second class identification surface 44' before the update and the second class identification after the update are shown.
  • the surface 44 is schematically shown.
  • the first source data group 301 consisting of the data 32 classified into the first class and the second data 52 to be classified into the first class. It is preferable that the distributions of 1 with the target data group 501 match as much as possible.
  • a second source data group 302 consisting of data 34 classified in the second class and a second target data group 502 consisting of data 54 to be classified in the second class. It is preferable that the distributions between them match as much as possible.
  • the model parameters of the encoder are updated for the purpose of minimizing the discrepancy between the data classified in the same class.
  • the first target data group 501'before the update and the first target data group 501 after the update, and the second target data group 502' before the update and the second target data after the update are shown.
  • Group 502 is schematically shown.
  • the model of the encoder and the class identification surface can be determined as shown in FIG.
  • a learning method capable of maintaining or improving the estimation accuracy even when an OpenSet problem, a noise problem, a data imbalance problem, etc. exist is provided.
  • FIG. 9 is a schematic diagram showing an example of the learning network 10 used in the learning method according to the present embodiment.
  • the learning network 10 is a type of hostile network, typically including an encoder 70 and a classifier 72 and a classifier 74.
  • the encoder 70 corresponds to the feature amount generation unit (G), and is a feature amount from the data x s (vector) included in the source data set 30 and / or the data x t (vector) included in the target data set 50. Is calculated.
  • the encoder 70 may be given input in the form of a mini-batch in which a plurality of data are collected.
  • the classifier 72 and the classifier 74 define a class discriminating surface for the feature amount output from the encoder 70.
  • the classifier 72 outputs the probability p 1 (y
  • x) in which the estimated value y of the data x is the second class is output as the estimation result.
  • the discriminator 72 functions as the discriminant function F1
  • the discriminator 74 functions as the discriminant function F2.
  • FIG. 10 is a schematic diagram showing an implementation example of the learning method according to the present embodiment.
  • the configuration shown in FIG. 10 is typically realized by the processor 102 executing the machine learning program 114.
  • the input data selection unit 1141 is arranged on the input side of the learning network 10, and the Loss1 calculation unit 1142, the Loss2 calculation unit 1143, and the error buffer are arranged on the output side of the learning network 10.
  • 1144, a curriculum determination unit 1145, and a parameter update unit 1146 are arranged.
  • the input data selection unit 1141 samples the data contained in the source data set 30 and the target data set 50, and generates one or more data (mini-batch) to be input to the learning network 10 (encoder 70).
  • the input data selection unit 1141 may output the information of the selected data to the error buffer 1144. Further, the input data selection unit 1141 may determine the data to be selected according to the instruction from the curriculum determination unit 1145.
  • the Loss1 calculation unit 1142 calculates the discrimination error by the classifier 72 and the classifier 74 as Loss1. It should be noted that Loss 1 can be calculated only for the data x s included in the source data set 30 to which the correct answer is given.
  • the Loss2 calculation unit 1143 calculates the error between the estimation result by the classifier 72 and the estimation result by the classifier 74 as Loss2.
  • Loss2 means a classification mismatch (Classifier Discrepancy).
  • MAE Mean Absolute Error
  • RMSE Root Mean Squared Error
  • the error buffer 1144 temporarily stores the errors (Loss1 and Loss2) calculated by the Loss1 calculation unit 1142 and the Loss2 calculation unit 1143.
  • the error buffer 1144 may store the calculated error in association with the information of the data input to the encoder 70.
  • the curriculum determination unit 1145 determines the learning curriculum for the learning network 10 based on the error calculated by the Loss1 calculation unit 1142 and / or the Loss2 calculation unit 1143. More specifically, the curriculum determination unit 1145 updates the type and order of data to be input, and the update target and update order of the model parameters that define the learning network 10 (encoder 70, classifier 72, and classifier 74). And so on.
  • the parameter update unit 1146 back-propagates the error calculated by the Loss1 arithmetic unit 1142 and / or the Ross2 arithmetic unit 1143 to define the learning network 10 (encoder 70, discriminator 72, and discriminator 74). To update.
  • forward learning and hostile learning are alternately and repeatedly executed on the learning network 10 shown in FIG.
  • the model parameters of the encoder 70 are fixed, and the model parameters of the classifier 72 and the classifier 74 are optimized. More specifically, the model parameters of the discriminator 72 and the discriminator 74 are aimed at maximizing Loss2 (error between the estimation result by the discriminator 72 and the estimation result by the discriminator 74: discrepancy of discrimination). To update.
  • the model parameters of the encoder 72 and the classifier 74 are fixed, and the model parameters of the encoder 70 are optimized. More specifically, the model parameters of the encoder 70 are updated for the purpose of minimizing Loss 2.
  • the learning priority is adjusted according to the magnitude of Noise2 calculated for the input data. Prevents deterioration of estimation accuracy due to various problems (OpenSet problem, noise problem, data imbalance problem, etc.) as described above.
  • FIG. 11 is a flowchart showing a schematic processing procedure of the learning method according to the present embodiment. The process shown in FIG. 11 is typically realized by the processor 102 executing the machine learning program 114.
  • the source data set 30 and the target data set 50 are prepared (step S1).
  • the processor 102 initializes the model parameters of the encoder 70, the classifier 72, and the classifier 74 (step S2).
  • the processor 102 updates the model parameters of the encoder 70, the classifier 72, and the classifier 74 based on the plurality of data to which the correct answer is given included in the source data set 30 (step S3). At this time, the model parameters of the encoder 70, the classifier 72, and the classifier 74 are updated so as to minimize Loss 1 (discrimination error by the classifier 72 and the classifier 74).
  • the processor 102 selects data (or a mini-batch composed of a plurality of data) to be used for forward learning from the source data set 30 and the target data set 50 (step S4). Then, the processor 102 inputs the data selected in step S4 into the learning network 10 to calculate the estimation result (step S5), and calculates Loss2 based on the calculated estimation result (step S6).
  • the processor 102 determines the learning priority based on the calculated Loss 2 (step S7). Finally, the processor 102 updates the model parameters of the classifier 72 and the classifier 74 for the purpose of maximizing Loss 2 based on the learning priority determined in step S7 (step S8).
  • the model parameters of the encoder 70 are fixed.
  • the processor 102 determines whether or not the end condition of the sequential learning of steps S4 to S8 is satisfied (step S9). If the end condition of the sequential learning of steps S4 to S8 is not satisfied (NO in step S9), the processor 102 re-executes the processes of step S4 and subsequent steps.
  • step S9 the processor 102 uses data (or a plurality of data) for hostile learning from the source data set 30 and the target data set 50. A mini-batch consisting of) is selected (step S10). Then, the processor 102 inputs the data selected in step S10 into the learning network 10 to calculate the estimation result (step S11), and calculates Loss2 based on the calculated estimation result (step S12).
  • the processor 102 determines the learning priority based on the calculated Loss 2 (step S13). Finally, the processor 102 updates the model parameters of the encoder 70 with the aim of minimizing Loss 2 based on the learning priority determined in step S13 (step S14).
  • the model parameters of the classifier 72 and the classifier 74 are fixed.
  • the processor 102 determines whether or not the end condition of the hostile learning in steps S10 to S14 is satisfied (step S15). If the end condition of the hostile learning in steps S10 to S14 is not satisfied (NO in step S15), the processor 102 executes the process of step S10 or less again.
  • step S15 the processor 102 determines whether or not the convergence condition of the learning process is satisfied. If the convergence condition of the learning process is not satisfied (NO in step S16), the processor 102 executes the process of step S4 or less again.
  • the processor 102 outputs an estimated model including the encoder 70, the classifier 72, and the classifier 74 defined by the current model parameters as the learning result. (Step S17). Then, the learning process ends.
  • step S3 may be incorporated as part of the forward learning process.
  • Loss2 is an error between the estimation result by the classifier 72 and the estimation result by the classifier 74, and the input data having a small value of Loss2 is for each class discriminating surface defined by the classifier 72 and the classifier 74. It means that there is no difference in distance.
  • FIG. 12 is a conceptual diagram for explaining input data in which the value of Loss 2 is small based on FIG.
  • the data having a small Loss 2 value exists, for example, in the region 56 where the difference between the distance to the first class identification surface 42 and the distance to the second class identification surface 44 is small.
  • the region 56 is located near the boundary between the first target data group 501 and the second target data group 502, and is a region in which it is relatively difficult to identify which class the region 56 is classified into. ..
  • the first class identification surface 42 (identifier 72) and the second class identification surface 44 (identifier 74) can be efficiently learned.
  • the model parameter is updated for the purpose of minimizing Loss2. Therefore, it is preferable to set the input data having a larger Loss 2 value so as to increase the learning priority. That is, with respect to hostile learning, a higher learning priority is determined for data having a larger Loss 2 (discrimination of identification) calculated.
  • Loss2 is an error between the estimation result by the classifier 72 and the estimation result by the classifier 74, and the input data having a large value of Loss2 is for each class discriminating surface defined by the classifier 72 and the classifier 74. It means that the difference in distance is large.
  • FIG. 13 is a conceptual diagram for explaining input data having a small value of Loss 2 based on FIG. 7.
  • the data having a large Loss 2 value is, for example, the region 57 and the region in which the difference between the distance to the first class identification surface 42 and the distance to the second class identification surface 44 is large. It exists at 58.
  • the region 57 is located in the vicinity of the first class identification surface 42, and is a region in which it is relatively difficult to discriminate whether or not the region 57 is classified into the first class.
  • the region 58 is located in the vicinity of the second class identification surface 44, and is a region in which it is relatively difficult to discriminate whether or not the region 58 is classified into the second class.
  • the region (encoder 70) on which the first target data group 501 and the second target data group 502 are projected is efficiently learned. it can.
  • Adjusting the learning priority or “prioritizingly using for learning” according to the present embodiment not only changes the magnitude of the weight assigned to each input data, but also at all. It can also include not assigning weights, i.e. not using the calculated error for learning. Some implementation examples of the "adjusting learning weights" method are described below.
  • the weighting coefficient to be multiplied by the error of back-propagating the learning network 10 may be determined depending on the magnitude of Loss 2. That is, as a learning priority, a weighting coefficient for multiplying the error of back-propagating the estimation model 60 may be determined according to the magnitude of Loss 2 (mismatch of discrimination).
  • the weighting coefficient to be multiplied by the error used for updating the model parameters may be determined by making it inversely proportional to Loss 2. That is, it may be determined as a weighting coefficient ⁇ 1 / Loss2.
  • the weight coefficient may be determined to be larger as the value of Loss2 is smaller by any method, not limited to the case where it is inversely proportional to Loss2.
  • the weighting coefficient to be multiplied by the error used for updating the model parameters may be determined in proportion to Loss2. That is, it may be determined as the weighting coefficient ⁇ Loss2.
  • the weight coefficient may be determined to be larger as the value of Loss2 is larger by any method, not limited to the case where it is proportional to Loss2.
  • the weighting coefficient to be multiplied by the error of back-propagating the learning network 10 may be determined depending on the magnitude of Loss 2.
  • the error of the target is set according to the magnitude or rank of the priority. You may decide whether or not to use it for learning. That is, only the data in which the calculated Loss 2 (mismatch of identification) satisfies a predetermined condition may be determined as the data to be used for updating the model parameters.
  • the model parameters may be updated with the corresponding error only when the calculated Loss 2 value is smaller than the predetermined threshold value. Conversely, if the calculated Loss 2 value is greater than or equal to a predetermined threshold, the corresponding error may not be used for learning.
  • the model parameters may be updated with the corresponding error only when the calculated Loss 2 value is equal to or greater than a predetermined threshold value. Conversely, if the calculated Loss 2 value is less than a predetermined threshold, the corresponding error may not be used for learning.
  • the corresponding error may be used for learning the model parameters only when the magnitude of the calculated Loss 2 value meets the predetermined conditions.
  • the ranking from the larger value or the smaller value is obtained. It may be possible to rank from the top and use only the error corresponding to Loss 2 at a predetermined ratio (for example, several to several tens of percent) from the top of the ranking for learning.
  • a predetermined ratio for example, several to several tens of percent
  • Any curriculum may be determined by any combination of one or more of the methods described above. For example, in the first learning, based on a set of Loss 2 (for example, 100 epochs) calculated from the estimation results obtained by inputting a predetermined number of input data (or mini-batch) into the learning network 10. , The model parameters are updated using the error of the top 5% of the set, and the model parameters are updated using the error of the top 10% of the set in the second training. And the order may be scheduled in advance. By predetermining such a curriculum, model parameters can be learned efficiently.
  • Loss 2 for example, 100 epochs
  • FIG. 14 is a diagram illustrating an example of model parameter update processing in step S3 of the learning method shown in FIG.
  • the data contained in the source data set 30 is input to the encoder 70, the discrimination error for the estimation result output from the classifier 72 is calculated, and the error calculated from the calculated discrimination error is the other.
  • the model parameters of the classifier 74 may be updated by propagating back to the classifier 74.
  • the data contained in the source data set 30 is input to the encoder 70, the discrimination error for the estimation result output from the classifier 74 is calculated, and the error calculated from the calculated discrimination error is the other classifier 72.
  • the model parameters of the classifier 72 may be updated by back-propagating to.
  • the learning network 10 and the learning method are not limited to the above-described embodiments, and various modifications as shown below are possible.
  • G1 Learning network
  • data is input from the source data set 30 and the target data set 50 to the common encoder 70, but the encoder and the target for the source data set 30
  • the encoders for the data set 50 may be arranged respectively.
  • a configuration using two classifiers is illustrated, but the configuration is not limited to this, and three or more classifiers may be used. Further, a random selection element such as DropOut may be introduced. With the introduction of DropOut, it has the same effect as arranging virtually innumerable classifiers.
  • G2 Learning method
  • forward learning and hostile learning data selected from both the source dataset 30 and the target dataset 50 may be used, or only the data selected from either dataset may be used. Good. That is, in any of forward learning only, hostile learning only, forward learning and hostile learning, only one of the source data set 30 and the target data set 50 may be used. At this time, the data set used in the forward learning and the data set used in the hostile learning may be different.
  • FIG. 15 is a schematic diagram showing an implementation example of the estimation model 60 according to the present embodiment during operation.
  • the configuration shown in FIG. 15 is typically realized by the processor 102 executing the recognition application 118.
  • x t ) is output from the classifier 72.
  • the classifier 74 outputs the probability p 2 (y
  • the probabilities output from the classifier 72 and the classifier 74 are input to the estimation result output unit 84.
  • the estimation result output unit 84 outputs the matched results as the estimation result 64. That is, whether or not the probability p 1 (y
  • the estimation result is output according to the above.
  • the probabilities from each classifier are aligned with each other, for example, for the same data x t, high probability of being the first class, and, if the probability is the second class is low or, the This corresponds to the case where the probability of being in the first class is low and the probability of being in the second class is high.
  • the estimation result output unit 84 When the probabilities from the respective classifiers match each other, the estimation result output unit 84 outputs the class corresponding to the matched result as the estimation result 64. On the other hand, the estimation result output unit 84 may output an estimation result that the input data xt is in an unknown class when the probabilities from the respective classifiers do not match each other.
  • a reliability calculation unit 86 for calculating the reliability of the estimation result may be arranged. More specifically, the reliability calculation unit 86 may calculate the reliability from the magnitude of the identification mismatch (corresponding to Loss 2) calculated based on the probabilities from each classifier.
  • the SVHN (Street View House Numbers) dataset was used as the source domain.
  • the source data set 30 was 250 samples (250 samples ⁇ 5 classes) arbitrarily selected for each of 5 classes (0, 1, 2, 3, 4, 5) from the SVHN data set.
  • the MNIST Mated National Institute of Standards and Technology database
  • 10 classes (0,1,2,3,4,5,6,7,8,9) [200,200,500,500,1000,1000,2000,2000,5000 , 5000] samples were used as the target data set 50.
  • the source domain has 1000 samples, the target domain has 17400 samples), and the target.
  • There is an imbalance between the data for each class included in the domain a class with only 200 samples and a class with 5000 samples are mixed.
  • classes unknown classes
  • noise indicated by Pxx and Sxx is intentionally added to the label (class) given to the source domain.
  • P20 Randomly change the label of 20% of the whole sample to another P45: Change the label of 45% of the whole sample to another randomly
  • S20 Change the label of 20% of the whole sample to another sample
  • Random replacement S45 45% of the labels of the entire sample are randomly replaced with other samples.
  • Non-Patent Document 7 Domain Adaptation Network
  • Non-Patent Document 8 Domain Adaptation Network
  • Non-Patent Document 8 -ADDA (Adversarial Discriminative Domain Adaptation)
  • Non-Patent Document 8) -MCD (Maximum Classifier Discrepancy)
  • Non-Patent Document 4 -TCL (Transferable Curriculum for Weakly-Supervised Domain Adaptation)
  • Non-OSBP Open Set Domain Adaptation by Backpropagation
  • Non-Patent Document 10 Further, as a reference for comparison, the performance when only the source data set 30 is used is also shown (Source Only).
  • FIG. 16 is a schematic diagram showing an implementation example of the learning method according to the present embodiment in the application.
  • FIG. 16 shows an example of mounting on the above-mentioned image processing device 100 (FIG. 4).
  • FIG. 16A a data collection process 150 in which the image processing apparatus 100 collects the source data set 30 and the target data set 50, machine learning 40 for generating the estimation model 60, and the estimation model 60 are used.
  • a configuration example for executing the estimation process is shown.
  • FIG. 16B shows a configuration example in which the image processing device 100 and an external device 250 such as a server are linked.
  • the image processing device 100 executes the data collection process 150 for collecting the source data set 30 and the target data set 50, and the estimation process using the estimation model 60, and the external device 250 executes the estimation model 60.
  • the generated machine learning 40 is executed.
  • FIG. 16C also shows a configuration example in which the image processing device 100 and an external device 250 such as a server are linked.
  • the external device 250 executes the data collection process 150 for collecting the source data set 30 and the target data set 50, and the machine learning 40 for generating the estimation model 60, and the image processing device 100 estimates.
  • the estimation process using the model 60 is executed.
  • FIG. 16 shows some typical implementation examples, and the technical scope of the present invention is not limited to these implementation examples. Any mounting form can be adopted according to the required requirements, specifications, and purposes.
  • Arbitrary information observed by an arbitrary sensing device can be applied by the method according to the present embodiment even if the observation conditions and the observation environment are different.
  • FA Vectory Automation
  • the difference in lifestyle due to age difference, gender difference, regional difference, etc. may be compensated for.
  • various biases caused by individual differences may be compensated for.
  • the learning method according to the present embodiment and the application destination of the estimation model generated by the learning method can be applied to various observable information existing in the real world.
  • the estimation system (1) By machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned.
  • a learning unit 40; 114) that generates an estimation model (60), and It includes an estimation unit (118) that inputs estimation target data (62) that can belong to the second data set into the estimation model and determines an estimation result (64).
  • the estimation model is An encoder (70) that calculates features from the input data, and Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
  • the learning unit Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model.
  • Calculation means (1143) to be calculated and An estimation system that includes a determination means (1145) that determines the learning priority for the input data according to the magnitude of the calculated identification discrepancy.
  • the learning unit updates the model parameters of the first classifier and the second classifier for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the encoder. Further including parameter updating means (S4 to S8), The estimation system according to configuration 1, wherein the determination means determines a higher learning priority for data having a smaller discrepancy in the calculated identification with respect to the first parameter update means.
  • the learning unit updates the model parameters of the encoder for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the first classifier and the second classifier.
  • parameter updating means S10 to S14
  • the estimation system according to configuration 1 or 2 wherein the determination means determines a higher learning priority for data having a larger discrepancy in the calculated identification with respect to the second parameter update means.
  • the determination means determines, as a learning priority, a weighting coefficient for multiplying the error of back-propagating the estimation model according to the magnitude of the discrimination mismatch. system.
  • the determination means determines only data in which the magnitude of the calculated discrimination mismatch satisfies a predetermined condition as data to be used for updating the model parameters. system.
  • the determination means ranks the discrepancies of identification calculated for each of a plurality of data, and then selects only the data within a predetermined range as the data to be used for updating the model parameters.
  • the estimation system according to item 1.
  • the learning unit updates the model parameters of the encoder, the model parameters of the first classifier, and the model parameters of the second classifier based on the data contained in the first data set. Further includes the parameter updating means (S4) of The third parameter updating means inputs data into the estimation model and outputs the first classifier and the second classifier based on an error output from the first classifier and the second classifier.
  • the estimation system according to any one of configurations 1 to 6, wherein the model parameter of the other of the second classifiers is updated.
  • the estimation unit is an estimation result output unit (84) that outputs an estimation result according to whether or not the first probability and the second probability output when the estimation target data is input to the estimation model match each other. ), The estimation system according to any one of configurations 1 to 7.
  • [Structure 9] Generated by machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned.
  • a storage unit (110) that holds the estimated model, It includes an estimation unit (118) that inputs estimation target data (62) that can belong to the second data set into the estimation model and determines an estimation result (64).
  • the estimation model is An encoder (70) that calculates features from the input data, and Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
  • the estimation model is calculated based on the first probability and the second probability output when the data contained in either the first data set or the second data set is input to the estimation model.
  • An estimation system that is trained on the basis of a determined learning priority for the input data, depending on the magnitude of the discriminant discrepancy that is made.
  • [Structure 10] By machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned. Learning steps to generate an estimation model and It includes an estimation step (118) in which estimation target data (62) that can belong to the second data set is input to the estimation model to determine an estimation result (64).
  • the estimation model is An encoder (70) that calculates features from the input data, and Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
  • the learning step Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model.
  • Steps (S6, S12) and An estimation method including a step (S7, S13) of determining a learning priority for the input data according to the magnitude of the calculated identification discrepancy.
  • the learning priority for the input data is determined according to the magnitude of the classification discrepancy, and the learning priority is determined according to the determined priority. Update model parameters.
  • discriminators for each class are provided, and by evaluating the probabilities from each discriminator, the data included in the source domain is assigned. Even when data classified into a class other than the class (unknown class) is included in the target domain (OpenSet problem), the possibility of making a mistake in estimating the class can be reduced.
  • the data having the smaller discrimination mismatch or the data having the larger discrimination mismatch is preferentially used, so that noise.
  • Data containing the above (noise problem) can be relatively excluded, and this can prevent a decrease in estimation accuracy due to errors or deterioration caused by various reasons.
  • the data having the smaller discrimination mismatch or the data having the larger discrimination mismatch is preferentially used. Even if there is an imbalance, the effect on the learning process is small. That is, it is possible to prevent a decrease in estimation accuracy due to data imbalance.
  • 1 image processing system, 2 robots, 4 axes, 8 works, 10 learning networks, 12 servo drivers, 14 motors, 20 cameras, 30 source data sets, 32, 34, 52, 54 data, 40 machine learning, 42 1st Class identification surface, 44 second class identification surface, 50 target data set, 53,55 mismatch area, 56,57,58 area, 60 estimation model, 62 estimation target data, 64 estimation result, 70 encoder, 72,74 Identifyer, 84 estimation result output unit, 86 reliability calculation unit, 100 image processing device, 102 processor, 104 main memory, 110 storage, 114 machine learning program, 116 model parameters, 118 recognition application, 122 communication interface, 124 input unit , 126 output unit, 128 camera interface, 130 motor interface, 150 data collection processing, 200 information processing device, 250 external device, 301 first source data group, 302 second source data group, 501 first target data group , 502 Second target data group, 1141 Input data selection unit, 1142, 1143 calculation unit, 1144 error buffer, 1145 curriculum determination unit, 1146 parameter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

This inference system includes: a learning unit for generating an inference model through machine learning by using a first data set that comprises a plurality of data items to which a class is assigned and a second data set that comprises a plurality of data items to which a class is not assigned; and an inference unit. The inference model includes: an encoder for calculating feature quantities from inputted data items; a first classifier for outputting a first probability that one of the inputted data items belongs to a first class; and a second classifier for outputting a second probability that one of the inputted data items belongs to a second class. The learning unit includes: a calculation means for calculating classification discordance on the basis of the first probability and the second probability that are outputted when one of the data items included in one of the first data set and the second data set is inputted to the inference model; and a determination means for determining a learning priority for the inputted data in accordance with the magnitude of the calculated classification discordance.

Description

推定システム、推定装置および推定方法Estimating system, estimation device and estimation method
 本発明は、実用環境に適合可能な推定モデルの推定方法に関する。 The present invention relates to an estimation method of an estimation model suitable for a practical environment.
 近年のコンピューティング能力の飛躍的な向上によって、様々な分野に、コンピューティング能力を利用したAI(Artificial Intelligence)と称されるソリューションが実現されつつある。 Due to the dramatic improvement in computing power in recent years, solutions called AI (Artificial Intelligence) that utilize computing power are being realized in various fields.
 このようなソリューションは、入力された画像に含まれる物体の種類を認識するタスクや、入力された画像に含まれる物体が存在する領域を認識するタスクなどを含む。このような認識タスクを実現するためには、様々な要素技術が必要であるが、その一つに教師なしドメイン適応(UDA:Unsupervised Domain Adaptation)が知られている。教師なしドメイン適応を実用環境で(in the wild)実現する場合には、OpenSet問題、ノイズ問題、データ不均衡問題などの問題が生じ得ることが知られている。 Such a solution includes a task of recognizing the type of the object included in the input image, a task of recognizing the area where the object included in the input image exists, and the like. In order to realize such a recognition task, various elemental technologies are required, and one of them is known as unsupervised domain adaptation (UDA). It is known that problems such as OpenSet problem, noise problem, and data imbalance problem may occur when unsupervised domain adaptation is realized in a practical environment (in the wild).
 OpenSet問題に対する解決手段として、「OpenSet DA」という手法が提案されている(非特許文献1など参照)。ノイズ問題に対する解決手段として、「Weakly-Supervised DA」という手法が提案されている(非特許文献2など参照)。データ不均衡問題に対する解決手段として、「Partial DA」という手法が提案されている(非特許文献3など参照)。 As a solution to the OpenSet problem, a method called "OpenSet DA" has been proposed (see Non-Patent Document 1 and the like). As a solution to the noise problem, a method called "Weakly-Supervised DA" has been proposed (see Non-Patent Document 2 and the like). A method called "Partial DA" has been proposed as a means for solving the data imbalance problem (see Non-Patent Document 3 and the like).
 上述したような各解決手段は、特定の問題に注目したものであり、複数の問題を総合的に考慮した解決手段は提案されていない。 Each of the above-mentioned solutions focuses on a specific problem, and no solution that comprehensively considers a plurality of problems has been proposed.
 本発明は、上述したような複数の問題を総合的に考慮した解決手段を提供できる教師なしドメイン適応に関する技術を提供することを一つの目的とする。 One object of the present invention is to provide a technique for unsupervised domain adaptation that can provide a solution that comprehensively considers a plurality of problems as described above.
 本発明の一例に従う推定システムは、クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いて、機械学習により推定モデルを生成する学習部と、第2のデータセットに属し得る推定対象データを推定モデルに入力して、推定結果を決定する推定部とを含む。推定モデルは、入力されたデータから特徴量を算出するエンコーダと、特徴量に基づいて、入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、特徴量に基づいて、入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含む。学習部は、第1のデータセットおよび第2のデータセットのいずれかに含まれるデータを推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出する算出手段と、算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定する決定手段とを含む。 An estimation system according to an example of the present invention uses a first data set consisting of a plurality of data to which a class is assigned and a second data set consisting of a plurality of data to which a class is not assigned by machine learning. It includes a learning unit that generates an estimation model and an estimation unit that inputs estimation target data that can belong to a second data set into the estimation model and determines an estimation result. The estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on. The learning unit determines the discrepancy in identification based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. It includes a calculating means for calculating and a determining means for determining the learning priority for the input data according to the magnitude of the calculated discrepancy in identification.
 この構成によれば、上述したような問題が生じても、それらの問題の影響を受けていないと考えられるデータを優先して学習に用いることができるので、クラスが付与されていない第2のデータセットも活用して、推定モデルの推定精度を維持または向上できる。 According to this configuration, even if the above-mentioned problems occur, the data considered not to be affected by those problems can be preferentially used for learning, so that the second class is not assigned. Data sets can also be leveraged to maintain or improve the estimation accuracy of the estimation model.
 学習部は、エンコーダのモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、第1の識別器および第2の識別器のモデルパラメータを更新する第1のパラメータ更新手段をさらに含んでいてもよい。決定手段は、第1のパラメータ更新手段に関して、算出される識別の不一致がより小さいデータに対して、より高い学習の優先度を決定するようにしてもよい。この構成によれば、より高い精度で、第1の識別器および第2の識別器のモデルパラメータを更新できる。 The learning unit provides a first parameter updating means for updating the model parameters of the first classifier and the second classifier for the purpose of maximizing the discrepancy in discrimination while the model parameters of the encoder are fixed. It may also be included. The determining means may determine the higher learning priority for the data with the smaller discriminant of the calculated identification with respect to the first parameter updating means. With this configuration, the model parameters of the first and second classifiers can be updated with higher accuracy.
 学習部は、第1の識別器および第2の識別器のモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、エンコーダのモデルパラメータを更新する第2のパラメータ更新手段をさらに含んでいてもよい。決定手段は、第2のパラメータ更新手段に関して、算出される識別の不一致がより大きいデータに対して、より高い学習の優先度を決定するようにしてもよい。この構成によれば、より高い精度で、エンコーダのモデルパラメータを更新できる。 The learning unit provides a second parameter updating means for updating the model parameters of the encoder for the purpose of maximizing the discrepancy in discrimination while the model parameters of the first classifier and the second classifier are fixed. It may also be included. The determining means may determine the higher learning priority for the data with the larger discrepancy in the calculated identification with respect to the second parameter updating means. With this configuration, the encoder model parameters can be updated with higher accuracy.
 決定手段は、学習の優先度として、識別の不一致の大きさに応じて、推定モデルを逆伝搬させる誤差に乗じる重み係数を決定するようにしてもよい。この構成によれば、モデルパラメータの更新幅を決定する重み係数を調整できるので、モデルパラメータをより高い精度で更新できる。 As a learning priority, the determination means may determine a weighting coefficient to be multiplied by an error that causes the estimation model to back-propagate according to the magnitude of the discrepancy in identification. According to this configuration, the weighting coefficient that determines the update width of the model parameter can be adjusted, so that the model parameter can be updated with higher accuracy.
 決定手段は、算出される識別の不一致の大きさが予め定められた条件を満たすデータのみを、モデルパラメータの更新に用いるデータとして決定するようにしてもよい。この構成によれば、予め定められた条件を満たすデータにより生じた誤差のみがモデルパラメータの調整に用いられるので、モデルパラメータをより高い精度で更新できる。 The determination means may determine only the data in which the magnitude of the calculated identification mismatch satisfies a predetermined condition as the data used for updating the model parameters. According to this configuration, only the error caused by the data satisfying the predetermined condition is used for adjusting the model parameter, so that the model parameter can be updated with higher accuracy.
 決定手段は、複数のデータについてそれぞれ算出される識別の不一致をランキングした上で、予め定められた範囲にあるデータのみを、モデルパラメータの更新に用いるデータとして選択するようにしてもよい。この構成によれば、予め定められたしきい値などの条件を設定しなくても、全体の分布の上位に存在するデータのみがモデルパラメータの調整に用いられるので、モデルパラメータをより高い精度で更新できる。 The determination means may rank the discrepancies of the identifications calculated for each of the plurality of data, and then select only the data within a predetermined range as the data to be used for updating the model parameters. According to this configuration, even if conditions such as a predetermined threshold value are not set, only the data existing at the upper level of the entire distribution is used for adjusting the model parameters, so that the model parameters can be adjusted with higher accuracy. Can be updated.
 学習部は、第1のデータセットに含まれるデータに基づいて、エンコーダのモデルパラメータ、第1の識別器のモデルパラメータ、および第2の識別器のモデルパラメータを更新する第3のパラメータ更新手段をさらに含んでいてもよい。第3のパラメータ更新手段は、推定モデルにデータを入力して第1の識別器および第2の識別器のうち一方から出力される誤差に基づいて、第1の識別器および第2の識別器のうち他方のモデルパラメータを更新するようにしてもよい。この構成によれば、共通の誤差の情報に基づいて、第1の識別器および第2の識別器のモデルパラメータを更新できるので、モデルパラメータをより高い精度で更新できる。 The learning unit provides a third parameter updating means for updating the encoder model parameters, the first classifier model parameters, and the second classifier model parameters based on the data contained in the first dataset. It may also be included. The third parameter updating means inputs data into the estimation model and based on the error output from one of the first and second classifiers, the first discriminator and the second discriminator. The other model parameter may be updated. According to this configuration, the model parameters of the first classifier and the second classifier can be updated based on the common error information, so that the model parameters can be updated with higher accuracy.
 推定部は、推定対象データを推定モデルに入力したときに出力される第1の確率および第2の確率が互いに整合するか否かに応じて、推定結果を出力する推定結果出力部を含んでいてもよい。この構成によれば、未知クラスに分類されるデータなどの推定も可能となる。 The estimation unit includes an estimation result output unit that outputs an estimation result depending on whether or not the first probability and the second probability output when the estimation target data is input to the estimation model match each other. You may. According to this configuration, it is possible to estimate data classified into an unknown class.
 本発明の別の一例に従う推定装置は、クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いた機械学習により生成された推定モデルを保持する記憶部と、第2のデータセットに属し得る推定対象データを推定モデルに入力して、推定結果を決定する推定部とを含む。推定モデルは、入力されたデータから特徴量を算出するエンコーダと、特徴量に基づいて、入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、特徴量に基づいて、入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含む。推定モデルは、第1のデータセットおよび第2のデータセットのいずれかに含まれるデータを推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて算出される識別の不一致の大きさに応じて、当該入力されたデータについて決定された学習の優先度に基づいて学習されている。 An estimation device according to another example of the present invention is machine learning using a first data set consisting of a plurality of data to which a class is assigned and a second data set consisting of a plurality of data to which a class is not assigned. It includes a storage unit that holds the estimation model generated by the above, and an estimation unit that inputs estimation target data that can belong to the second data set into the estimation model and determines the estimation result. The estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on. The estimation model is an identification calculated based on the first probability and the second probability output when the data contained in either the first data set or the second data set is input to the estimation model. Depending on the magnitude of the discrepancy, the input data is trained based on the determined learning priority.
 本発明のさらに別の一例に従う推定方法は、クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いて、機械学習により推定モデルを生成する学習ステップと、第2のデータセットに属し得る推定対象データを推定モデルに入力して、推定結果を決定する推定ステップとを含む。推定モデルは、入力されたデータから特徴量を算出するエンコーダと、特徴量に基づいて、入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、特徴量に基づいて、入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含む。学習ステップは、第1のデータセットおよび第2のデータセットのいずれかに含まれるデータを推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出するステップと、算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定するステップとを含む。 An estimation method according to yet another example of the present invention uses a first dataset consisting of a plurality of data to which a class has been assigned and a second dataset consisting of a plurality of data to which a class has not been assigned. It includes a learning step of generating an estimation model by machine learning and an estimation step of inputting estimation target data that can belong to a second data set into the estimation model and determining an estimation result. The estimation model includes an encoder that calculates a feature quantity from the input data, a first classifier that outputs a first probability that the input data is the first class based on the feature quantity, and a feature quantity. Includes a second classifier that outputs a second probability that the input data is a second class based on. The learning step finds a discrepancy in identification based on the first and second probabilities that are output when the data contained in either the first or second dataset is input into the estimation model. It includes a step of calculating and a step of determining the learning priority for the input data according to the magnitude of the calculated discrepancy in identification.
 本発明によれば、上述したような複数の問題を総合的に考慮した解決手段を提供できる。 According to the present invention, it is possible to provide a solution that comprehensively considers a plurality of problems as described above.
本実施の形態に係る適用例を示す模式図である。It is a schematic diagram which shows the application example which concerns on this embodiment. 本実施の形態に係る教師なしドメイン適応のアプリケーション例を示す模式図である。It is a schematic diagram which shows the application example of the unsupervised domain adaptation which concerns on this embodiment. 本実施の形態に係る推定モデルの生成および運用に係る処理手順を示す模式図である。It is a schematic diagram which shows the processing procedure which concerns on the generation and operation of the estimation model which concerns on this embodiment. 図2に示す画像処理システムのハードウェア構成例を示す模式図である。It is a schematic diagram which shows the hardware configuration example of the image processing system shown in FIG. MCD(Maximum Classifier Discrepancy)手法に従う教師なしドメイン適応(UDA)の解決手段の基本的な考え方を説明するための図である。It is a figure for demonstrating the basic idea of the solution of unsupervised domain adaptation (UDA) according to the MCD (Maximum Classifier Discrepancy) method. MCD(Maximum Classifier Discrepancy)手法に従う学習方法を説明するための図である。It is a figure for demonstrating the learning method according to the MCD (Maximum Classifier Discrepancy) method. MCD(Maximum Classifier Discrepancy)手法に従う学習方法を説明するための図である。It is a figure for demonstrating the learning method according to the MCD (Maximum Classifier Discrepancy) method. MCD(Maximum Classifier Discrepancy)手法に従う学習方法を説明するための図である。It is a figure for demonstrating the learning method according to the MCD (Maximum Classifier Discrepancy) method. 本実施の形態に係る学習方法に用いられる学習用ネットワークの一例を示す模式図である。It is a schematic diagram which shows an example of the learning network used in the learning method which concerns on this Embodiment. 本実施の形態に係る学習方法の実装例を示す模式図である。It is a schematic diagram which shows the implementation example of the learning method which concerns on this Embodiment. 本実施の形態に係る学習方法の概略の処理手順を示すフローチャートである。It is a flowchart which shows the outline processing procedure of the learning method which concerns on this Embodiment. 図6をベースとしてLoss2の値が小さい入力データを説明するための概念図である。It is a conceptual diagram for demonstrating the input data which the value of Loss 2 is small based on FIG. 図7をベースとしてLoss2の値が小さい入力データを説明するための概念図である。It is a conceptual diagram for demonstrating the input data which the value of Loss 2 is small based on FIG. 図11に示す学習方法のステップS3におけるモデルパラメータの更新処理の一例を概略する図である。It is a figure which outlines an example of the update process of a model parameter in step S3 of the learning method shown in FIG. 本実施の形態に係る推定モデルの運用時の実装例を示す模式図である。It is a schematic diagram which shows the implementation example at the time of operation of the estimation model which concerns on this Embodiment. 本実施の形態に係る学習方法のアプリケーションでの実装例を示す模式図である。It is a schematic diagram which shows the implementation example in the application of the learning method which concerns on this Embodiment.
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 An embodiment of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are designated by the same reference numerals and the description thereof will not be repeated.
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。
<A. Application example>
First, an example of a situation in which the present invention is applied will be described.
 図1は、本実施の形態に係る学習方法およびその学習方法によって生成される推定モデルの適用例を示す模式図である。図1を参照して、学習用ネットワーク10を用いて、推定モデル60が機械学習により生成される。 FIG. 1 is a schematic diagram showing an application example of the learning method according to the present embodiment and the estimation model generated by the learning method. With reference to FIG. 1, the estimation model 60 is generated by machine learning using the learning network 10.
 推定モデル60は、典型的には、エンコーダ70と、識別器72および識別器74とを含む。エンコーダ70は、入力されたデータ(データx,データx)から特徴量を算出する。識別器72は、エンコーダ70からの特徴量に基づいて、入力されたデータが第1のクラスである確率p(y|x)を出力する。識別器74は、入力されたデータが第2のクラスである確率p(y|x)を出力する。 The estimation model 60 typically includes an encoder 70 and a classifier 72 and a classifier 74. The encoder 70 calculates the feature amount from the input data (data x s , data x t). The classifier 72 outputs the probability p 1 (y | x) that the input data is in the first class based on the feature amount from the encoder 70. The classifier 74 outputs the probability p 2 (y | x) that the input data is in the second class.
 推定モデル60の学習においては、ソースデータセットおよびターゲットデータセットのいずれかに含まれるデータ(データx,データx)を推定モデル60に入力したときに出力される確率p(y|x)および確率p(y|x)に基づいて、識別の不一致(Classifier Discrepancy)が算出される。そして、算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度が決定される。 In the training of the estimation model 60, the probability p 1 (y | x ) output when the data (data x s , data x t ) contained in either the source data set or the target data set is input to the estimation model 60. ) And the probability p 2 (y | x), the classification discrepancy is calculated. Then, the learning priority for the input data is determined according to the magnitude of the calculated discrepancy in identification.
 最終的に、決定された学習の優先度に応じて、識別器72または識別器74から出力された誤差を逆伝搬させて、学習用ネットワーク10(エンコーダ70、識別器72、および識別器74の少なくとも一つ)を規定するモデルパラメータを更新する。 Finally, the error output from the discriminator 72 or the discriminator 74 is back-propagated according to the determined learning priority of the learning network 10 (encoder 70, discriminator 72, and discriminator 74). Update the model parameters that specify at least one).
 本実施の形態に係る学習方法においては、識別の不一致の大きさに応じて、学習の優先度が決定されるので、上述したような問題が生じても、推定精度を維持または向上できる。 In the learning method according to the present embodiment, the learning priority is determined according to the magnitude of the discrepancy in identification, so that the estimation accuracy can be maintained or improved even if the above-mentioned problems occur.
 <B.アプリケーション例>
 次に、本実施の形態に係る教師なしドメイン適応のアプリケーション例について説明する。
<B. Application example>
Next, an application example of unsupervised domain adaptation according to the present embodiment will be described.
 図2は、本実施の形態に係る教師なしドメイン適応のアプリケーション例を示す模式図である。図2には、アプリケーション例として画像処理システム1を示す。 FIG. 2 is a schematic diagram showing an example of an application for unsupervised domain adaptation according to the present embodiment. FIG. 2 shows an image processing system 1 as an application example.
 図2を参照して、画像処理システム1は、ロボット2のアームの先端に配置されたカメラ20によりワーク8を撮像して、撮像によって得られた画像を用いてワーク8の外観検査(例えば、欠陥の有無および欠陥の種類の認識)を行う。 With reference to FIG. 2, the image processing system 1 images the work 8 with a camera 20 arranged at the tip of the arm of the robot 2, and uses the image obtained by the imaging to perform an appearance inspection of the work 8 (for example, Recognize the presence or absence of defects and the type of defects).
 ロボット2は、一例として、多関節型ロボットであり、関節に相当する複数の軸4を有しており、それぞれの軸4が回転または移動することによって、先端に配置されたカメラ20を任意の位置および任意の姿勢に配置できる。 The robot 2 is, for example, an articulated robot, which has a plurality of axes 4 corresponding to joints, and by rotating or moving each axis 4, the camera 20 arranged at the tip can be arbitrarily moved. It can be placed in any position and posture.
 画像処理システム1では、後述するような機械学習によって事前に生成された学習済みモデルである認識処理を実現するための推定モデルが用いられる。推定モデルの推定精度を高めるためには、多数の教師データを含む学習用データセットを用いて機械学習を行う必要がある。 In the image processing system 1, an estimation model for realizing recognition processing, which is a learned model generated in advance by machine learning as described later, is used. In order to improve the estimation accuracy of the estimation model, it is necessary to perform machine learning using a learning data set containing a large number of teacher data.
 一方で、教師データには正解(例えば、欠陥の種類を示すラベル)を予め付与しておく必要がある。典型的には、アノテーションにより用意される。より具体的には、任意の方法で収集された画像に対して、人手で正解(ラベル)を付与する操作によって、教師データを生成できる。画像を収集する方法としては、任意の装置を用いて実際に撮像する方法でもよいし、シミュレータ上で仮想的に撮像する方法でもよい。さらに、ウェブサイトなどから必要な画像を収集するようにしてもよい。ウェブサイトから画像を収集する場合には、収集される画像には予め正解が付与されている場合もある。 On the other hand, it is necessary to give a correct answer (for example, a label indicating the type of defect) to the teacher data in advance. Typically, it is provided by annotation. More specifically, teacher data can be generated by manually assigning a correct answer (label) to an image collected by an arbitrary method. As a method of collecting images, a method of actually taking an image using an arbitrary device or a method of virtually taking an image on a simulator may be used. Further, necessary images may be collected from a website or the like. When collecting images from a website, the collected images may be given the correct answer in advance.
 このような予め正解が付与された多数の教師データを用いて、推定モデルを生成することで、推定精度を高めることができる。 The estimation accuracy can be improved by generating an estimation model using a large number of teacher data to which correct answers are given in advance.
 しかしながら、実用環境においては、カメラ20でワーク8が撮像される。任意の手段で収集された画像とカメラ20で実際に撮像された画像とは、撮像条件などが全く同一ではない。そのため、事前に特定の環境で収集されたデータと、アノテーションなどにより取得された多数の教師データを用いて生成した推定モデルを、そのまま実用環境で用いることはできない場合が多い。そこで、教師なしドメイン適応を用いて、実用環境において運用可能な推定モデルを生成可能な手法を提供する。 However, in a practical environment, the work 8 is imaged by the camera 20. The image collected by any means and the image actually captured by the camera 20 do not have exactly the same imaging conditions and the like. Therefore, in many cases, the estimation model generated by using the data collected in advance in a specific environment and a large number of teacher data acquired by annotations or the like cannot be used as it is in a practical environment. Therefore, we provide a method that can generate an estimation model that can be operated in a practical environment by using unsupervised domain adaptation.
 図3は、本実施の形態に係る推定モデルの生成および運用に係る処理手順を示す模式図である。図3を参照して、まず、情報処理装置200により収集された画像からなるデータセット(以下、「ソースデータセット30」とも称す。)を用意する。また、カメラ20で実際に撮像することにより、実運用で用いられる画像からなるデータセット(以下、「ターゲットデータセット50」とも称す。)を用意する。 FIG. 3 is a schematic diagram showing a processing procedure related to the generation and operation of the estimation model according to the present embodiment. With reference to FIG. 3, first, a data set (hereinafter, also referred to as “source data set 30”) composed of images collected by the information processing apparatus 200 is prepared. In addition, a data set (hereinafter, also referred to as “target data set 50”) composed of images used in actual operation is prepared by actually taking an image with the camera 20.
 ソースデータセット30およびターゲットデータセット50を用いて、機械学習40により推定モデル60を生成する。実運用では、この生成された推定モデル60に対して、データ(以下、「推定対象データ62」とも称す。)を入力することで、推定結果64を得る。なお、推定対象データ62は、ターゲットデータセット50に属し得るデータに相当する。 Using the source data set 30 and the target data set 50, the estimation model 60 is generated by machine learning 40. In actual operation, the estimation result 64 is obtained by inputting data (hereinafter, also referred to as “estimation target data 62”) to the generated estimation model 60. The estimation target data 62 corresponds to data that can belong to the target data set 50.
 次に、図2に示す画像処理システム1のハードウェア構成の一例について説明する。
 図4は、図2に示す画像処理システム1のハードウェア構成例を示す模式図である。図4を参照して、画像処理システム1は、ロボット2およびロボット2を制御する画像処理装置100を含む。
Next, an example of the hardware configuration of the image processing system 1 shown in FIG. 2 will be described.
FIG. 4 is a schematic diagram showing a hardware configuration example of the image processing system 1 shown in FIG. With reference to FIG. 4, the image processing system 1 includes a robot 2 and an image processing device 100 that controls the robot 2.
 ロボット2は、カメラ20に加えて、サーボドライバ12およびモータ14のセットを軸の数だけ有している。 The robot 2 has as many sets of servo drivers 12 and motors 14 as the number of axes in addition to the camera 20.
 画像処理装置100は、本実施の形態に係る推定システムを構成する装置であり、カメラ20で撮像された画像に基づいて、画像認識処理を行う。より具体的には、画像処理装置100は、カメラ20から撮像されたワーク8を被写体とする画像に対して画像認識処理を行い、ワーク8に欠陥が存在しているか否か、および、存在している場合には欠陥の種類を特定する。画像処理装置100は、ワーク8の到着に応じて、カメラ20を所定の位置および姿勢に位置付けるための指令を1または複数のサーボドライバ12へ出力する。サーボドライバ12の各々が指令に従って電力を供給することで、対応付けられているモータ14が回転駆動され、モータ14と機械的に結合されているロボット2の関節あるいはアームが動作する。 The image processing device 100 is a device that constitutes the estimation system according to the present embodiment, and performs image recognition processing based on the image captured by the camera 20. More specifically, the image processing device 100 performs image recognition processing on an image of the work 8 captured by the camera 20 as a subject, and whether or not there is a defect in the work 8 and whether or not there is a defect. If so, identify the type of defect. The image processing device 100 outputs a command for positioning the camera 20 to a predetermined position and posture to one or a plurality of servo drivers 12 in response to the arrival of the work 8. When each of the servo drivers 12 supplies electric power according to a command, the associated motor 14 is rotationally driven, and the joint or arm of the robot 2 mechanically coupled to the motor 14 operates.
 画像処理装置100は、典型的には、汎用的なアーキテクチャに従うコンピュータ(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現される。 The image processing device 100 is typically realized by using a computer that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
 画像処理装置100は、コンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ110と、通信インターフェイス122と、入力部124と、出力部126と、カメラインターフェイス128と、モータインターフェイス130とを含む。 The image processing device 100 includes a processor 102, a main memory 104, a storage 110, a communication interface 122, an input unit 124, an output unit 126, a camera interface 128, and a motor interface 130 as components.
 プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。 The processor 102 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. As the processor 102, a configuration having a plurality of cores may be adopted, or a plurality of processors 102 may be arranged.
 メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。プロセッサ102は、ストレージ110に格納された各種プログラムを読出して、メインメモリ104に展開して実行することで、後述するような各種処理を実現する。 The main memory 104 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or a SRAM (Static Random Access Memory). The storage 110 is composed of, for example, a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The processor 102 reads various programs stored in the storage 110, expands them in the main memory 104, and executes them to realize various processes as described later.
 ストレージ110には、基本的な機能を実現するためのOS112に加えて、機械学習プログラム114と、推定モデル60を規定するモデルパラメータ116と、画像認識処理を行うための認識アプリケーション118とが格納されている。ストレージ110は、推定モデル60を保持する記憶部に相当する。また、ストレージ110には、ソースデータセット30が格納されることもある。 In the storage 110, in addition to the OS 112 for realizing the basic functions, the machine learning program 114, the model parameters 116 for defining the estimation model 60, and the recognition application 118 for performing the image recognition process are stored. ing. The storage 110 corresponds to a storage unit that holds the estimation model 60. In addition, the storage 110 may store the source data set 30.
 プロセッサ102が機械学習プログラム114を実行することで、学習処理により推定モデル60を生成する。また、プロセッサ102が認識アプリケーション118を実行することで、推定対象データ62を推定モデル60に入力して、推定結果を決定する推定部として機能する。 The processor 102 executes the machine learning program 114 to generate the estimation model 60 by the learning process. Further, when the processor 102 executes the recognition application 118, the estimation target data 62 is input to the estimation model 60 and functions as an estimation unit for determining the estimation result.
 通信インターフェイス122は、任意のネットワークを介して他の装置との間のデータの遣り取りを仲介する。 The communication interface 122 mediates the exchange of data with other devices via an arbitrary network.
 入力部124は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部126は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ102からの処理結果などを出力する。 The input unit 124 is composed of a keyboard, a mouse, and the like, and accepts user operations. The output unit 126 is composed of a display, various indicators, a printer, and the like, and outputs a processing result from the processor 102 and the like.
 カメラインターフェイス128は、カメラ20により撮像された画像を受信するとともに、カメラ20に対して必要な指令を出力する。 The camera interface 128 receives the image captured by the camera 20 and outputs a necessary command to the camera 20.
 モータインターフェイス130は、プロセッサ102からの指示に従って、サーボドライバ12へ必要な指令を出力する。 The motor interface 130 outputs a necessary command to the servo driver 12 according to the instruction from the processor 102.
 画像処理装置100のプログラムは、コンピュータ読み出し可能な記録媒体(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係る画像処理装置100が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。 The program of the image processing device 100 may be installed via a computer-readable recording medium (for example, an optical recording medium such as a DVD (Digital Versatile Disc)), but may be downloaded from a server device or the like on the network. You may want to install it. Further, the function provided by the image processing device 100 according to the present embodiment may be realized by using a part of the module provided by the OS.
 図4には、プロセッサ102がプログラムを実行することで、画像処理装置100として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。 FIG. 4 shows a configuration example in which the functions required as the image processing device 100 are provided by the processor 102 executing the program, and some or all of these provided functions are provided by dedicated hardware. It may be implemented using a hardware circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
 <C.教師なしドメイン適応>
 次に、教師なしドメイン適応の概要および課題などについて説明する。
<C. Unsupervised domain adaptation>
Next, the outline and issues of unsupervised domain adaptation will be explained.
 教師なしドメイン適応は、互いに異なるバイアス(傾向)をもつ複数のデータセットについて、一方のソースデータセット30(クラスが付与された複数のデータからなる)がもつ正解の情報を、他方のターゲットデータセット50(クラスが付与されていない複数のデータからなる)に対しても利用できるようにする手法である。ここで、バイアスとは、典型的には、ソースデータセット30が取得された環境(以下、「ソースドメイン」とも称す。)と、ターゲットデータセット50が取得された環境(以下、「ターゲットドメイン」とも称す。)との相違などによるものである。 In the unsupervised domain adaptation, for multiple datasets with different biases (trends), the correct information of one source dataset 30 (consisting of multiple data with classes) is displayed on the other target dataset. It is a method to make it available even for 50 (consisting of a plurality of data to which no class is assigned). Here, the bias is typically an environment in which the source data set 30 is acquired (hereinafter, also referred to as “source domain”) and an environment in which the target data set 50 is acquired (hereinafter, “target domain”). It is also called.) This is due to the difference.
 上述の図2および図3に示すアプリケーション例においては、人手によるアノーテーションなどにより生成するという環境がソースドメインであり、カメラ20により実際に撮像するという環境がターゲットドメインに相当する。 In the application examples shown in FIGS. 2 and 3 described above, the environment in which the application is generated by manual annotation or the like corresponds to the source domain, and the environment in which the camera 20 actually captures images corresponds to the target domain.
 ソースドメインのデータは(x,y)の組で与えられ、ターゲットドメインのデータは(x)のみで与えられるとする。ここで、xおよびxは、ソースドメインおよびターゲットドメインに含まれるデータの入力ベクトルをそれぞれ示し、yは、対応するxに付与された正解(クラス)を意味する。 It is assumed that the data of the source domain is given by the set of (x s , y s ), and the data of the target domain is given only by (x t). Here, x s and x t indicate input vectors of data included in the source domain and the target domain, respectively, and y s means the correct answer (class) given to the corresponding x s.
 このような前提において、ターゲットドメインに属するデータxに付与されるべき正解yを推定できる学習済みモデルを生成することが、教師なしドメイン適応の目標である。 Under such a premise, it is the goal of unsupervised domain adaptation to generate a trained model that can estimate the correct answer y t to be given to the data x t belonging to the target domain.
 教師なしドメイン適応を実用環境で(in the wild)実現する場合には、OpenSet問題、ノイズ問題、データ不均衡問題などの問題が生じ得ることが知られている。 It is known that problems such as OpenSet problem, noise problem, and data imbalance problem may occur when unsupervised domain adaptation is realized in a practical environment (in the wild).
 1番目のOpenSet問題は、ソースドメインに含まれていたデータに付与されているクラス以外のクラス(未知クラス)に分類されるデータがターゲットドメインに含まれることにより生じる推定精度の低下を意味する。 The first OpenSet problem means a decrease in estimation accuracy caused by the inclusion of data classified into a class (unknown class) other than the class assigned to the data included in the source domain in the target domain.
 2番目のノイズ問題は、様々な理由で生じる誤りや劣化による推定精度の低下を意味する。ノイズ問題で対象とするノイズは、典型的には、ラベルノイズおよび特徴ノイズである。ラベルノイズは、ソースドメインに含まれるデータに付与される正解に発生する誤りである。すなわち、間違ったクラスが正解として付与されてしまう問題である。また、特徴ノイズは、観測時に他のデータに生じたものとは異なるデータ劣化(ブラーなど)である。すなわち、データセットに含まれる一部のデータの対してのみ、他とは異なるデータ劣化が生じてしまう問題である。 The second noise problem means a decrease in estimation accuracy due to errors or deterioration caused by various reasons. The noise of interest in the noise problem is typically label noise and characteristic noise. Label noise is an error that occurs in the correct answer given to the data contained in the source domain. That is, the problem is that the wrong class is given as the correct answer. In addition, characteristic noise is data deterioration (blurring, etc.) that is different from that generated in other data at the time of observation. That is, there is a problem that data deterioration different from the others occurs only for a part of the data contained in the data set.
 3番目のデータ不均衡問題は、データセットに含まれるデータの数の不均衡による推定精度の低下を意味する。データ不均衡問題は、典型的には、ソースドメインに含まれるデータの数と、ターゲットドメインに含まれるデータの数とが不均衡である状態と、ターゲットドメインに含まれるクラスごとのデータ間が不均衡である状態とがある。前者については、非特許文献4に開示されるMCD(Maximum Classifier Discrepancy)という手法において影響が大きい。また、後者については、MCDおよび特徴量の生成分布を一致させる手法において影響が大きい。 The third data imbalance problem means a decrease in estimation accuracy due to an imbalance in the number of data contained in the dataset. A data imbalance problem typically involves an imbalance between the number of data contained in the source domain and the number of data contained in the target domain, and the imbalance between the class-by-class data contained in the target domain. There is a state of equilibrium. The former has a great influence on the method called MCD (Maximum Classifier Discrepancy) disclosed in Non-Patent Document 4. In addition, the latter has a large effect on the method of matching the generation distributions of MCD and features.
 本実施の形態に係る学習方法およびその学習方法によって生成される推定モデルは、上述した複数の問題を総合的に考慮した解決手段を提供する。より具体的には、本実施の形態に係る学習方法およびその学習方法によって生成される推定モデルは、基本的には、識別モデルベースの教師なしドメイン適応手法をベースとする。識別モデルベースの教師なしドメイン適応手法の典型例としては、非特許文献4に開示されるMCD(Maximum Classifier Discrepancy)という手法や、非特許文献5に開示されるADR(Adversarial Dropout Regularization)という手法などが挙げられる。 The learning method according to the present embodiment and the estimation model generated by the learning method provide a solution method that comprehensively considers the above-mentioned plurality of problems. More specifically, the learning method according to the present embodiment and the estimation model generated by the learning method are basically based on the discriminative model-based unsupervised domain adaptation method. Typical examples of the discriminative model-based unsupervised domain adaptation method include a method called MCD (Maximum Classifier Discrepancy) disclosed in Non-Patent Document 4 and a method called ADR (Adversarial Dropout Regularization) disclosed in Non-Patent Document 5. Can be mentioned.
 以下では、識別モデルベースの教師なしドメイン適応手法の一例として、非特許文献4に開示されるMCDをベースとした手法について説明する。但し、本発明の技術的範囲は、MCDおよびADRといった手法に限定されるものではなく、以下の説明と同様の技術的思想に基づく手法を含むものである。 Below, as an example of the discriminative model-based unsupervised domain adaptation method, the method based on MCD disclosed in Non-Patent Document 4 will be described. However, the technical scope of the present invention is not limited to methods such as MCD and ADR, but includes methods based on the same technical ideas as described below.
 図5は、MCD(Maximum Classifier Discrepancy)手法に従う教師なしドメイン適応(UDA)の解決手段の基本的な考え方を説明するための図である。図5を参照して、適応前の状態として、ソースデータセット30およびターゲットデータセット50を想定する。 FIG. 5 is a diagram for explaining the basic concept of the solution of unsupervised domain adaptation (UDA) according to the MCD (Maximum Classifier Discrepancy) method. With reference to FIG. 5, the source data set 30 and the target data set 50 are assumed as the pre-adaptation states.
 ソースデータセット30は、正解として第1のクラスに分類される1または複数のデータ32と、正解として第2のクラスに分類される1または複数のデータ34とを含むものとする。 It is assumed that the source data set 30 includes one or more data 32 classified into the first class as the correct answer and one or more data 34 classified into the second class as the correct answer.
 一方、ターゲットデータセット50は、第1のクラスに分類されるべき1または複数のデータ52と、第2のクラスに分類されるべき1または複数のデータ54とを含むものとする。但し、ターゲットデータセット50に含まれるデータがいずれのクラスに分類されるのかは未知である。 On the other hand, the target dataset 50 shall include one or more data 52 to be classified in the first class and one or more data 54 to be classified in the second class. However, it is unknown to which class the data contained in the target data set 50 is classified.
 任意の特徴量空間において、ソースデータセット30およびターゲットデータセット50に含まれるデータに対して、第1のクラスに分類されるデータを識別するための第1のクラス識別面42と、第2のクラスに分類されるデータを識別するための第2のクラス識別面44とが存在するものとする。 A first class identification surface 42 for identifying data classified into the first class with respect to the data included in the source data set 30 and the target data set 50 in an arbitrary feature space, and a second class identification surface 42. It is assumed that there is a second class identification surface 44 for identifying the data classified into the class.
 MCDなどの識別モデルベースの教師なしドメイン適応においては、ソースデータセット30とターゲットデータセット50との間でドメイン全体の分布を一致させることを目的に学習するのではなく、ソースデータセット30とターゲットデータセット50との間でクラス識別面を一致させることを目的に学習する。 In discriminative model-based unsupervised domain adaptations such as MCD, the source dataset 30 and the target are not trained for the purpose of matching the distribution of the entire domain between the source dataset 30 and the target dataset 50. Learning is done for the purpose of matching the class discriminative plane with the data set 50.
 より具体的には、共通のクラス識別面を利用できるように、ソースデータセット30およびターゲットデータセット50から特徴量を抽出するようなエンコーダを学習により生成するとともに、共通に利用できるようなクラス識別面についても学習により生成する。 More specifically, an encoder that extracts features from the source data set 30 and the target data set 50 is generated by learning so that a common class identification surface can be used, and class identification that can be used in common. The surface is also generated by learning.
 図6~図8は、MCD(Maximum Classifier Discrepancy)手法に従う学習方法を説明するための図である。図6~図8においては、ソースデータセット30に含まれる第1のクラスに分類されるデータ32からなる第1のソースデータ群301と、第2のクラスに分類されるデータ34からなる第2のソースデータ群302とを想定する。同様に、ターゲットデータセット50に含まれる第1のクラスに分類されるべきデータ52からなる第1のターゲットデータ群501と、第2のクラスに分類されるべきデータ54からなる第2のターゲットデータ群502とを想定する。 6 to 8 are diagrams for explaining a learning method according to the MCD (Maximum Classifier Discrepancy) method. In FIGS. 6 to 8, the first source data group 301 including the data 32 classified in the first class included in the source data set 30 and the second data 34 classified in the second class are included. It is assumed that the source data group 302 of. Similarly, a first target data group 501 consisting of data 52 to be classified into the first class included in the target data set 50 and a second target data consisting of data 54 to be classified into the second class. Assume group 502.
 MCD手法に従う学習方法においては、クラス識別面の学習と、特徴量を抽出するエンコーダの学習とが交互に行われる。 In the learning method according to the MCD method, learning of the class identification surface and learning of the encoder for extracting the feature amount are alternately performed.
 まず、ソースデータセット30を用いた学習により、第1のクラス識別面42および第2のクラス識別面44が決定される。図6に示すように、第1のクラス識別面42は、第1のソースデータ群301を横切ることはなく、第2のクラス識別面44は、第2のソースデータ群302を横切ることはない。 First, the first class identification surface 42 and the second class identification surface 44 are determined by learning using the source data set 30. As shown in FIG. 6, the first class identification surface 42 does not cross the first source data group 301, and the second class identification surface 44 does not cross the second source data group 302. ..
 しかしながら、第1のクラス識別面42が第1のターゲットデータ群501を横切ることもあるし、第2のクラス識別面44が第2のターゲットデータ群502を横切ることもある。すなわち、ソースデータセット30により決定された第1のクラス識別面42および/または第2のクラス識別面44は、ターゲットデータセット50に対して、不一致領域(Discrepancy Region)を生じる場合ある。 However, the first class identification surface 42 may cross the first target data group 501, and the second class identification surface 44 may cross the second target data group 502. That is, the first class identification surface 42 and / or the second class identification surface 44 determined by the source data set 30 may generate a discrepancy region with respect to the target data set 50.
 図6において、不一致領域53は、第1のクラスに分類されるべきデータ52が第1のクラスには分類されないと誤って判断される領域を意味し、不一致領域55は、第2のクラスに分類されるべきデータ54が第2のクラスには分類されないと誤って判断される領域を意味する。 In FIG. 6, the mismatch area 53 means an area in which the data 52 to be classified in the first class is erroneously determined not to be classified in the first class, and the mismatch area 55 is in the second class. It means an area where the data 54 to be classified is erroneously determined not to be classified in the second class.
 そこで、不一致領域53および55を最小化することを目的として、第1のクラス識別面42および第2のクラス識別面44を更新する。このとき、エンコーダのモデルパラメータは固定される。図6には、更新前の第1のクラス識別面42’と更新後の第1のクラス識別面42、ならびに、更新前の第2のクラス識別面44’と更新後の第2のクラス識別面44を模式的に示す。 Therefore, the first class identification surface 42 and the second class identification surface 44 are updated for the purpose of minimizing the mismatch areas 53 and 55. At this time, the model parameters of the encoder are fixed. In FIG. 6, the first class identification surface 42'before the update and the first class identification surface 42 after the update, and the second class identification surface 44' before the update and the second class identification after the update are shown. The surface 44 is schematically shown.
 続いて、図7に示すように、特徴量空間において、第1のクラスに分類されるデータ32からなる第1のソースデータ群301と、第1のクラスに分類されるべきデータ52からなる第1のターゲットデータ群501との間の分布は、可能な限り一致させることが好ましい。同様に、特徴量空間において、第2のクラスに分類されるデータ34からなる第2のソースデータ群302と、第2のクラスに分類されるべきデータ54からなる第2のターゲットデータ群502との間の分布は、可能な限り一致させることが好ましい。 Subsequently, as shown in FIG. 7, in the feature quantity space, the first source data group 301 consisting of the data 32 classified into the first class and the second data 52 to be classified into the first class. It is preferable that the distributions of 1 with the target data group 501 match as much as possible. Similarly, in the feature space, a second source data group 302 consisting of data 34 classified in the second class and a second target data group 502 consisting of data 54 to be classified in the second class. It is preferable that the distributions between them match as much as possible.
 すなわち、特徴量空間において、同じクラスに分類されるデータ同士の不一致(Discrepancy)を最小化することを目的として、エンコーダのモデルパラメータを更新する。 That is, in the feature space, the model parameters of the encoder are updated for the purpose of minimizing the discrepancy between the data classified in the same class.
 図6には、更新前の第1のターゲットデータ群501’と更新後の第1のターゲットデータ群501、ならびに、更新前の第2のターゲットデータ群502’と更新後の第2のターゲットデータ群502を模式的に示す。 In FIG. 6, the first target data group 501'before the update and the first target data group 501 after the update, and the second target data group 502' before the update and the second target data after the update are shown. Group 502 is schematically shown.
 図6に示されるクラス識別面の更新、および、図7に示されるエンコーダの更新が繰り返し実行されることで、図8に示されるように、エンコーダおよびクラス識別面のモデルを決定できる。 By repeatedly executing the update of the class identification surface shown in FIG. 6 and the update of the encoder shown in FIG. 7, the model of the encoder and the class identification surface can be determined as shown in FIG.
 <D.解決手段>
 本実施の形態においては、OpenSet問題、ノイズ問題、データ不均衡問題などが存在する場合でも、推定精度を維持または向上できる学習方法を提供する。
<D. Solution>
In the present embodiment, a learning method capable of maintaining or improving the estimation accuracy even when an OpenSet problem, a noise problem, a data imbalance problem, etc. exist is provided.
 図9は、本実施の形態に係る学習方法に用いられる学習用ネットワーク10の一例を示す模式図である。図9を参照して、学習用ネットワーク10は、敵対的ネットワークの一種であり、典型的には、エンコーダ70と、識別器72および識別器74とを含む。 FIG. 9 is a schematic diagram showing an example of the learning network 10 used in the learning method according to the present embodiment. With reference to FIG. 9, the learning network 10 is a type of hostile network, typically including an encoder 70 and a classifier 72 and a classifier 74.
 エンコーダ70は、特徴量の生成部(G)に相当し、ソースデータセット30に含まれるデータx(ベクトル)、および/または、ターゲットデータセット50に含まれるデータx(ベクトル)から特徴量を算出する。なお、エンコーダ70には、複数のデータをまとめたミニバッチの形で入力が与えられることもある。 The encoder 70 corresponds to the feature amount generation unit (G), and is a feature amount from the data x s (vector) included in the source data set 30 and / or the data x t (vector) included in the target data set 50. Is calculated. The encoder 70 may be given input in the form of a mini-batch in which a plurality of data are collected.
 識別器72および識別器74は、エンコーダ70から出力される特徴量に対して、クラス識別面を規定する。識別器72は、エンコーダ70に入力されたデータxの推定値yが第1のクラスである確率p(y|x)を推定結果として出力し、識別器74は、エンコーダ70に入力されたデータxの推定値yが第2のクラスである確率p(y|x)を推定結果として出力する。このように、識別器72は識別関数F1として機能し、識別器74は識別関数F2として機能する。 The classifier 72 and the classifier 74 define a class discriminating surface for the feature amount output from the encoder 70. The classifier 72 outputs the probability p 1 (y | x) that the estimated value y of the data x input to the encoder 70 is the first class as the estimation result, and the classifier 74 is input to the encoder 70. The probability p 2 (y | x) in which the estimated value y of the data x is the second class is output as the estimation result. In this way, the discriminator 72 functions as the discriminant function F1, and the discriminator 74 functions as the discriminant function F2.
 図10は、本実施の形態に係る学習方法の実装例を示す模式図である。図10に示す構成は、典型的には、プロセッサ102が機械学習プログラム114を実行することにより実現される。 FIG. 10 is a schematic diagram showing an implementation example of the learning method according to the present embodiment. The configuration shown in FIG. 10 is typically realized by the processor 102 executing the machine learning program 114.
 図10を参照して、学習用ネットワーク10の入力側に、入力データ選択部1141が配置されるとともに、学習用ネットワーク10の出力側に、Loss1演算部1142と、Loss2演算部1143と、誤差バッファ1144と、カリキュラム決定部1145と、パラメータ更新部1146とが配置される。 With reference to FIG. 10, the input data selection unit 1141 is arranged on the input side of the learning network 10, and the Loss1 calculation unit 1142, the Loss2 calculation unit 1143, and the error buffer are arranged on the output side of the learning network 10. 1144, a curriculum determination unit 1145, and a parameter update unit 1146 are arranged.
 入力データ選択部1141は、ソースデータセット30およびターゲットデータセット50に含まれるデータをサンプリングして、学習用ネットワーク10(エンコーダ70)に入力する1または複数のデータ(ミニバッチ)を生成する。入力データ選択部1141は、選択したデータの情報を誤差バッファ1144へ出力してもよい。また、入力データ選択部1141は、カリキュラム決定部1145からの指示に従って、選択するデータを決定してもよい。 The input data selection unit 1141 samples the data contained in the source data set 30 and the target data set 50, and generates one or more data (mini-batch) to be input to the learning network 10 (encoder 70). The input data selection unit 1141 may output the information of the selected data to the error buffer 1144. Further, the input data selection unit 1141 may determine the data to be selected according to the instruction from the curriculum determination unit 1145.
 Loss1演算部1142は、識別器72および識別器74による識別誤差をLoss1として算出する。なお、Loss1は、正解が付与されているソースデータセット30に含まれるデータxについてのみ算出可能である。 The Loss1 calculation unit 1142 calculates the discrimination error by the classifier 72 and the classifier 74 as Loss1. It should be noted that Loss 1 can be calculated only for the data x s included in the source data set 30 to which the correct answer is given.
 Loss2演算部1143は、識別器72による推定結果と識別器74による推定結果との間の誤差をLoss2として算出する。Loss2は、識別の不一致(Classifier Discrepancy)を意味する。Loss2の算出方法としては、典型的には、MAE(Mean Absolute Error)やRMSE(Root Mean Squared Error)などを用いることができる。 The Loss2 calculation unit 1143 calculates the error between the estimation result by the classifier 72 and the estimation result by the classifier 74 as Loss2. Loss2 means a classification mismatch (Classifier Discrepancy). As a method for calculating Loss2, MAE (Mean Absolute Error), RMSE (Root Mean Squared Error), or the like can be typically used.
 誤差バッファ1144は、Loss1演算部1142およびLoss2演算部1143により算出される誤差(Loss1およびLoss2)を一時的に格納する。誤差バッファ1144は、エンコーダ70に入力されるデータの情報と関連付けて、算出される誤差を格納してもよい。 The error buffer 1144 temporarily stores the errors (Loss1 and Loss2) calculated by the Loss1 calculation unit 1142 and the Loss2 calculation unit 1143. The error buffer 1144 may store the calculated error in association with the information of the data input to the encoder 70.
 カリキュラム決定部1145は、Loss1演算部1142および/またはLoss2演算部1143により算出される誤差に基づいて、学習用ネットワーク10に対する学習のカリキュラムを決定する。より具体的には、カリキュラム決定部1145は、入力するデータの種類および順序、ならびに、学習用ネットワーク10(エンコーダ70、識別器72、および識別器74)を規定するモデルパラメータの更新対象および更新順序などを決定する。 The curriculum determination unit 1145 determines the learning curriculum for the learning network 10 based on the error calculated by the Loss1 calculation unit 1142 and / or the Loss2 calculation unit 1143. More specifically, the curriculum determination unit 1145 updates the type and order of data to be input, and the update target and update order of the model parameters that define the learning network 10 (encoder 70, classifier 72, and classifier 74). And so on.
 パラメータ更新部1146は、Loss1演算部1142および/またはLoss2演算部1143により算出される誤差を逆伝搬させて、学習用ネットワーク10(エンコーダ70、識別器72、および識別器74)を規定するモデルパラメータを更新する。 The parameter update unit 1146 back-propagates the error calculated by the Loss1 arithmetic unit 1142 and / or the Ross2 arithmetic unit 1143 to define the learning network 10 (encoder 70, discriminator 72, and discriminator 74). To update.
 本実施の形態に係る学習方法においては、図9に示す学習用ネットワーク10に対して、順学習および敵対的学習を交互に繰り返し実行する。 In the learning method according to the present embodiment, forward learning and hostile learning are alternately and repeatedly executed on the learning network 10 shown in FIG.
 順学習においては、エンコーダ70のモデルパラメータは固定した状態で、識別器72および識別器74のモデルパラメータを最適化する。より具体的には、Loss2(識別器72による推定結果と識別器74による推定結果との間の誤差:識別の不一致)を最大化することを目的として、識別器72および識別器74のモデルパラメータを更新する。 In the forward learning, the model parameters of the encoder 70 are fixed, and the model parameters of the classifier 72 and the classifier 74 are optimized. More specifically, the model parameters of the discriminator 72 and the discriminator 74 are aimed at maximizing Loss2 (error between the estimation result by the discriminator 72 and the estimation result by the discriminator 74: discrepancy of discrimination). To update.
 一方、敵対的学習においては、識別器72および識別器74のモデルパラメータは固定した状態で、エンコーダ70のモデルパラメータを最適化する。より具体的には、Loss2を最小化することを目的として、エンコーダ70のモデルパラメータを更新する。 On the other hand, in hostile learning, the model parameters of the encoder 72 and the classifier 74 are fixed, and the model parameters of the encoder 70 are optimized. More specifically, the model parameters of the encoder 70 are updated for the purpose of minimizing Loss 2.
 本実施の形態に係る学習方法においては、順学習および敵対的学習の少なくとも一方において、入力されるデータに対して算出されるLoss2の大きさに応じて、学習の優先度を調整することにより、上述したような各種問題(OpenSet問題、ノイズ問題、データ不均衡問題など)よる推定精度の低下を防止する。 In the learning method according to the present embodiment, in at least one of forward learning and hostile learning, the learning priority is adjusted according to the magnitude of Noise2 calculated for the input data. Prevents deterioration of estimation accuracy due to various problems (OpenSet problem, noise problem, data imbalance problem, etc.) as described above.
 図11は、本実施の形態に係る学習方法の概略の処理手順を示すフローチャートである。図11に示す処理は、典型的には、プロセッサ102が機械学習プログラム114を実行することにより実現される。 FIG. 11 is a flowchart showing a schematic processing procedure of the learning method according to the present embodiment. The process shown in FIG. 11 is typically realized by the processor 102 executing the machine learning program 114.
 図11を参照して、ソースデータセット30およびターゲットデータセット50が用意される(ステップS1)。 With reference to FIG. 11, the source data set 30 and the target data set 50 are prepared (step S1).
 まず、プロセッサ102は、エンコーダ70、識別器72、および識別器74のモデルパラメータを初期化する(ステップS2)。 First, the processor 102 initializes the model parameters of the encoder 70, the classifier 72, and the classifier 74 (step S2).
 プロセッサ102は、ソースデータセット30に含まれる正解が付与された複数のデータに基づいて、エンコーダ70、識別器72、および識別器74のモデルパラメータを更新する(ステップS3)。このとき、Loss1(識別器72および識別器74による識別誤差)を最小化するように、エンコーダ70、識別器72、および識別器74のモデルパラメータを更新する。 The processor 102 updates the model parameters of the encoder 70, the classifier 72, and the classifier 74 based on the plurality of data to which the correct answer is given included in the source data set 30 (step S3). At this time, the model parameters of the encoder 70, the classifier 72, and the classifier 74 are updated so as to minimize Loss 1 (discrimination error by the classifier 72 and the classifier 74).
 続いて、プロセッサ102は、ソースデータセット30およびターゲットデータセット50から順学習に用いるデータ(あるいは、複数のデータからなるミニバッチ)を選択する(ステップS4)。そして、プロセッサ102は、ステップS4において選択したデータを学習用ネットワーク10に入力して推定結果を算出する(ステップS5)とともに、算出した推定結果に基づいてLoss2を算出する(ステップS6)。 Subsequently, the processor 102 selects data (or a mini-batch composed of a plurality of data) to be used for forward learning from the source data set 30 and the target data set 50 (step S4). Then, the processor 102 inputs the data selected in step S4 into the learning network 10 to calculate the estimation result (step S5), and calculates Loss2 based on the calculated estimation result (step S6).
 そして、プロセッサ102は、算出したLoss2に基づいて学習の優先度を決定する(ステップS7)。最終的に、プロセッサ102は、ステップS7において決定した学習の優先度に基づいて、Loss2を最大化することを目的として、識別器72および識別器74のモデルパラメータを更新する(ステップS8)。ここで、エンコーダ70のモデルパラメータは固定される。 Then, the processor 102 determines the learning priority based on the calculated Loss 2 (step S7). Finally, the processor 102 updates the model parameters of the classifier 72 and the classifier 74 for the purpose of maximizing Loss 2 based on the learning priority determined in step S7 (step S8). Here, the model parameters of the encoder 70 are fixed.
 プロセッサ102は、ステップS4~ステップS8の順学習の終了条件が成立したか否かを判断する(ステップS9)。ステップS4~ステップS8の順学習の終了条件が成立していなければ(ステップS9においてNO)、プロセッサ102は、ステップS4以下の処理を再度実行する。 The processor 102 determines whether or not the end condition of the sequential learning of steps S4 to S8 is satisfied (step S9). If the end condition of the sequential learning of steps S4 to S8 is not satisfied (NO in step S9), the processor 102 re-executes the processes of step S4 and subsequent steps.
 ステップS4~ステップS8の順学習の終了条件が成立していれば(ステップS9においてYES)、プロセッサ102は、ソースデータセット30およびターゲットデータセット50から敵対的学習に用いるデータ(あるいは、複数のデータからなるミニバッチ)を選択する(ステップS10)。そして、プロセッサ102は、ステップS10において選択したデータを学習用ネットワーク10に入力して推定結果を算出する(ステップS11)とともに、算出した推定結果に基づいてLoss2を算出する(ステップS12)。 If the end condition of the sequential learning of steps S4 to S8 is satisfied (YES in step S9), the processor 102 uses data (or a plurality of data) for hostile learning from the source data set 30 and the target data set 50. A mini-batch consisting of) is selected (step S10). Then, the processor 102 inputs the data selected in step S10 into the learning network 10 to calculate the estimation result (step S11), and calculates Loss2 based on the calculated estimation result (step S12).
 そして、プロセッサ102は、算出したLoss2に基づいて学習の優先度を決定する(ステップS13)。最終的に、プロセッサ102は、ステップS13において決定した学習の優先度に基づいて、Loss2を最小化することを目的として、エンコーダ70のモデルパラメータを更新する(ステップS14)。ここで、識別器72および識別器74のモデルパラメータは固定される。 Then, the processor 102 determines the learning priority based on the calculated Loss 2 (step S13). Finally, the processor 102 updates the model parameters of the encoder 70 with the aim of minimizing Loss 2 based on the learning priority determined in step S13 (step S14). Here, the model parameters of the classifier 72 and the classifier 74 are fixed.
 プロセッサ102は、ステップS10~ステップS14の敵対的学習の終了条件が成立したか否かを判断する(ステップS15)。ステップS10~ステップS14の敵対的学習の終了条件が成立していなければ(ステップS15においてNO)、プロセッサ102は、ステップS10以下の処理を再度実行する。 The processor 102 determines whether or not the end condition of the hostile learning in steps S10 to S14 is satisfied (step S15). If the end condition of the hostile learning in steps S10 to S14 is not satisfied (NO in step S15), the processor 102 executes the process of step S10 or less again.
 ステップS10~ステップS14の敵対的学習の終了条件が成立していれば(ステップS15においてYES)、プロセッサ102は、学習処理の収束条件が成立したか否かを判断する(ステップS16)。学習処理の収束条件が成立していなければ(ステップS16においてNO)、プロセッサ102は、ステップS4以下の処理を再度実行する。 If the end condition of the hostile learning in steps S10 to S14 is satisfied (YES in step S15), the processor 102 determines whether or not the convergence condition of the learning process is satisfied (step S16). If the convergence condition of the learning process is not satisfied (NO in step S16), the processor 102 executes the process of step S4 or less again.
 学習処理の収束条件が成立していれば(ステップS16においてYES)、プロセッサ102は、現在のモデルパラメータによって規定されるエンコーダ70、識別器72および識別器74を含む推定モデルを学習結果として出力する(ステップS17)。そして、学習処理は終了する。 If the convergence condition of the learning process is satisfied (YES in step S16), the processor 102 outputs an estimated model including the encoder 70, the classifier 72, and the classifier 74 defined by the current model parameters as the learning result. (Step S17). Then, the learning process ends.
 なお、ステップS3を順学習の処理の一部に組み入れてもよい。 Note that step S3 may be incorporated as part of the forward learning process.
 <E.学習の優先度の調整>
 次に、本実施の形態に係る学習方法の詳細について説明する。
<E. Adjusting learning priorities>
Next, the details of the learning method according to the present embodiment will be described.
 (e1:基本的な考え方)
 上述の順学習(識別器72および識別器74のモデルパラメータの更新)は、Loss2を最大化することを目的として、モデルパラメータの更新が行われる。そのため、Loss2の値が小さい入力データほど、学習の優先度を高めるように設定することが好ましい。すなわち、順学習に関して、算出されるLoss2(識別の不一致)がより小さいデータに対して、より高い学習の優先度が決定される。
(E1: Basic idea)
In the above-mentioned forward learning (update of the model parameters of the classifier 72 and the classifier 74), the model parameters are updated for the purpose of maximizing Loss 2. Therefore, it is preferable to set the input data having a smaller Loss 2 value so as to increase the learning priority. That is, with respect to forward learning, a higher learning priority is determined for data having a smaller Loss 2 (discrimination of identification) calculated.
 Loss2は、識別器72による推定結果と識別器74による推定結果との間の誤差であり、Loss2の値が小さい入力データは、識別器72および識別器74により規定されるそれぞれのクラス識別面に対する距離に差がないことを意味する。 Loss2 is an error between the estimation result by the classifier 72 and the estimation result by the classifier 74, and the input data having a small value of Loss2 is for each class discriminating surface defined by the classifier 72 and the classifier 74. It means that there is no difference in distance.
 図12は、図6をベースとしてLoss2の値が小さい入力データを説明するための概念図である。図12を参照して、Loss2の値が小さいデータは、例えば、第1のクラス識別面42までの距離と、第2のクラス識別面44までの距離との間の差が小さい領域56に存在する。領域56は、第1のターゲットデータ群501と第2のターゲットデータ群502との境界の近傍に位置しており、いずれのクラスに分類されるのかを識別するのが相対的に難しい領域である。このような領域56にあるデータを優先的に学習に用いることで、第1のクラス識別面42(識別器72)および第2のクラス識別面44(識別器74)を効率的に学習できる。 FIG. 12 is a conceptual diagram for explaining input data in which the value of Loss 2 is small based on FIG. With reference to FIG. 12, the data having a small Loss 2 value exists, for example, in the region 56 where the difference between the distance to the first class identification surface 42 and the distance to the second class identification surface 44 is small. To do. The region 56 is located near the boundary between the first target data group 501 and the second target data group 502, and is a region in which it is relatively difficult to identify which class the region 56 is classified into. .. By preferentially using the data in such a region 56 for learning, the first class identification surface 42 (identifier 72) and the second class identification surface 44 (identifier 74) can be efficiently learned.
 上述の敵対的学習(エンコーダ70のモデルパラメータの更新)は、Loss2を最小化することを目的として、モデルパラメータの更新が行われる。そのため、Loss2の値が大きい入力データほど、学習の優先度を高めるように設定することが好ましい。すなわち、敵対的学習に関して、算出されるLoss2(識別の不一致)がより大きいデータに対して、より高い学習の優先度が決定される。 In the above-mentioned hostile learning (update of the model parameter of the encoder 70), the model parameter is updated for the purpose of minimizing Loss2. Therefore, it is preferable to set the input data having a larger Loss 2 value so as to increase the learning priority. That is, with respect to hostile learning, a higher learning priority is determined for data having a larger Loss 2 (discrimination of identification) calculated.
 Loss2は、識別器72による推定結果と識別器74による推定結果との間の誤差であり、Loss2の値が大きい入力データは、識別器72および識別器74により規定されるそれぞれのクラス識別面に対する距離の差が大きいことを意味する。 Loss2 is an error between the estimation result by the classifier 72 and the estimation result by the classifier 74, and the input data having a large value of Loss2 is for each class discriminating surface defined by the classifier 72 and the classifier 74. It means that the difference in distance is large.
 図13は、図7をベースとしてLoss2の値が小さい入力データを説明するための概念図である。図13を参照して、Loss2の値が大きいデータは、例えば、第1のクラス識別面42までの距離と、第2のクラス識別面44までの距離との間の差が大きい領域57および領域58に存在する。領域57は、第1のクラス識別面42の近傍に位置しており、第1のクラスに分類されるのかを識別するのが相対的に難しい領域である。同様に、領域58は、第2のクラス識別面44の近傍に位置しており、第2のクラスに分類されるのかを識別するのが相対的に難しい領域である。このような領域57および領域58にあるデータを優先的に学習に用いることで、第1のターゲットデータ群501および第2のターゲットデータ群502が射影される領域(エンコーダ70)を効率的に学習できる。 FIG. 13 is a conceptual diagram for explaining input data having a small value of Loss 2 based on FIG. 7. With reference to FIG. 13, the data having a large Loss 2 value is, for example, the region 57 and the region in which the difference between the distance to the first class identification surface 42 and the distance to the second class identification surface 44 is large. It exists at 58. The region 57 is located in the vicinity of the first class identification surface 42, and is a region in which it is relatively difficult to discriminate whether or not the region 57 is classified into the first class. Similarly, the region 58 is located in the vicinity of the second class identification surface 44, and is a region in which it is relatively difficult to discriminate whether or not the region 58 is classified into the second class. By preferentially using the data in the regions 57 and 58 for learning, the region (encoder 70) on which the first target data group 501 and the second target data group 502 are projected is efficiently learned. it can.
 本実施の形態に係る「学習の優先度を調整する」あるいは「優先的に学習に用いる」ことは、各入力されるデータに対して割り当てられる重みの大きさを変化させることだけではなく、全く重みを割り当てない、すなわち算出された誤差を学習に使用しないことも含み得る。「学習の重みを調整する」方法のいくつかの実装例について以下説明する。 "Adjusting the learning priority" or "prioritizingly using for learning" according to the present embodiment not only changes the magnitude of the weight assigned to each input data, but also at all. It can also include not assigning weights, i.e. not using the calculated error for learning. Some implementation examples of the "adjusting learning weights" method are described below.
 (e2:Loss2の大きさに依存した重み係数)
 学習の重みを調整する方法の一例として、学習用ネットワーク10を逆伝搬させる誤差に乗じる重み係数を、Loss2の大きさに依存させて決定するようにしてもよい。すなわち、学習の優先度として、Loss2(識別の不一致)の大きさに応じて、推定モデル60を逆伝搬させる誤差に乗じる重み係数を決定するようにしてもよい。
(E2: Weighting coefficient depending on the size of Loss2)
As an example of the method of adjusting the learning weight, the weighting coefficient to be multiplied by the error of back-propagating the learning network 10 may be determined depending on the magnitude of Loss 2. That is, as a learning priority, a weighting coefficient for multiplying the error of back-propagating the estimation model 60 may be determined according to the magnitude of Loss 2 (mismatch of discrimination).
 例えば、順学習(識別器72および識別器74のモデルパラメータの更新)においては、Loss2の値が小さい入力データほど、学習の優先度を高めるように設定することが好ましい。そのため、モデルパラメータの更新に用いられる誤差に乗じられる重み係数を、Loss2に反比例させるなどして決定してもよい。すなわち、重み係数∝1/Loss2として決定してもよい。 For example, in forward learning (update of model parameters of discriminator 72 and discriminator 74), it is preferable to set so that the input data having a smaller Loss 2 value has a higher learning priority. Therefore, the weighting coefficient to be multiplied by the error used for updating the model parameters may be determined by making it inversely proportional to Loss 2. That is, it may be determined as a weighting coefficient ∝1 / Loss2.
 但し、Loss2に反比例させる場合に限らず、任意の方法で、Loss2の値が小さいほど重み係数を大きくするように決定すればよい。 However, the weight coefficient may be determined to be larger as the value of Loss2 is smaller by any method, not limited to the case where it is inversely proportional to Loss2.
 一方、敵対的学習に(エンコーダ70のモデルパラメータの更新)においては、Loss2の値が大きい入力データほど、学習の優先度を高めるように設定することが好ましい。そのため、モデルパラメータの更新に用いられる誤差に乗じられる重み係数を、Loss2に比例させるなどして決定してもよい。すなわち、重み係数∝Loss2として決定してもよい。 On the other hand, in hostile learning (update of the model parameter of the encoder 70), it is preferable to set so that the input data having a larger Loss 2 value has a higher learning priority. Therefore, the weighting coefficient to be multiplied by the error used for updating the model parameters may be determined in proportion to Loss2. That is, it may be determined as the weighting coefficient ∝Loss2.
 但し、Loss2に比例させる場合に限らず、任意の方法で、Loss2の値が大きいほど重み係数を大きくするように決定すればよい。 However, the weight coefficient may be determined to be larger as the value of Loss2 is larger by any method, not limited to the case where it is proportional to Loss2.
 以上のように、学習の重みを調整する方法として、学習用ネットワーク10を逆伝搬させる誤差に乗じる重み係数を、Loss2の大きさに依存させて決定するようにしてもよい。 As described above, as a method of adjusting the learning weight, the weighting coefficient to be multiplied by the error of back-propagating the learning network 10 may be determined depending on the magnitude of Loss 2.
 (e3:学習の有効/無効)
 上述したように、学習用ネットワーク10を逆伝搬させる誤差に乗じる重み係数を、Loss2の大きさに依存させて決定する方法の拡張として、優先度の大きさまたはランクに応じて、対象の誤差を学習に用いるか否かを決定するようにしてもよい。すなわち、算出されるLoss2(識別の不一致)の大きさが予め定められた条件を満たすデータのみを、モデルパラメータの更新に用いるデータとして決定するようにしてもよい。
(E3: Learning enabled / disabled)
As described above, as an extension of the method of determining the weighting coefficient to be multiplied by the error of back-propagating the learning network 10 depending on the size of Loss 2, the error of the target is set according to the magnitude or rank of the priority. You may decide whether or not to use it for learning. That is, only the data in which the calculated Loss 2 (mismatch of identification) satisfies a predetermined condition may be determined as the data to be used for updating the model parameters.
 例えば、順学習(識別器72および識別器74のモデルパラメータの更新)においては、Loss2の値が小さい入力データほど、学習の優先度を高めるように設定することが好ましい。そのため、算出されるLoss2の値が予め定められたしきい値より小さい場合に限って、対応する誤差を用いてモデルパラメータを更新するようにしてもよい。逆に言えば、算出されるLoss2の値が予め定められたしきい値以上である場合には、対応する誤差は学習には用いないようにしてもよい。 For example, in forward learning (update of model parameters of discriminator 72 and discriminator 74), it is preferable to set so that the input data having a smaller Loss 2 value has a higher learning priority. Therefore, the model parameters may be updated with the corresponding error only when the calculated Loss 2 value is smaller than the predetermined threshold value. Conversely, if the calculated Loss 2 value is greater than or equal to a predetermined threshold, the corresponding error may not be used for learning.
 一方、敵対的学習に(エンコーダ70のモデルパラメータの更新)においては、Loss2の値が大きい入力データほど、学習の優先度を高めるように設定することが好ましい。そのため、算出されるLoss2の値が予め定められたしきい値以上である場合に限って、対応する誤差を用いてモデルパラメータを更新するようにしてもよい。逆に言えば、算出されるLoss2の値が予め定められたしきい値より小さい場合には、対応する誤差は学習には用いないようにしてもよい。 On the other hand, in hostile learning (update of the model parameter of the encoder 70), it is preferable to set so that the input data having a larger Loss 2 value has a higher learning priority. Therefore, the model parameters may be updated with the corresponding error only when the calculated Loss 2 value is equal to or greater than a predetermined threshold value. Conversely, if the calculated Loss 2 value is less than a predetermined threshold, the corresponding error may not be used for learning.
 このように、算出されるLoss2の値の大きさが予め定められた条件に適合する場合に限って、対応する誤差をモデルパラメータの学習に用いるようにしてもよい。 In this way, the corresponding error may be used for learning the model parameters only when the magnitude of the calculated Loss 2 value meets the predetermined conditions.
 (e4:ランキング)
 上述したような算出されるLoss2の値の大きさをそのまま評価するのではなく、分布として評価した上で、いずれの入力データについて優先度を高めるのかを決定してもよい。
(E4: Ranking)
Instead of evaluating the magnitude of the calculated Loss 2 value as it is as described above, it may be evaluated as a distribution and then it may be determined which input data is to be prioritized.
 例えば、所定数の入力データ(あるいは、ミニバッチ)を学習用ネットワーク10に入力して得られる推定結果からそれぞれ算出されたLoss2の集合に対して、値の大きい方からランキング、あるいは、値の小さい方からランキングして、ランキング上位から予め定められた割合(例えば、数~数10%)のLoss2に対応する誤差のみを学習に用いるようにしてもよい。ランキングにより学習に用いる誤差を決定することで、算出されるLoss2の分布に応じて、学習に用いるべき誤差(すなわち、入力データ)を適切に決定できる。 For example, with respect to the set of Loss2 calculated from the estimation results obtained by inputting a predetermined number of input data (or mini-batch) into the learning network 10, the ranking from the larger value or the smaller value is obtained. It may be possible to rank from the top and use only the error corresponding to Loss 2 at a predetermined ratio (for example, several to several tens of percent) from the top of the ranking for learning. By determining the error used for learning by ranking, the error to be used for learning (that is, input data) can be appropriately determined according to the calculated Loss 2 distribution.
 このように、複数のデータについてそれぞれ算出されるLoss2(識別の不一致)をランキングした上で、予め定められた範囲にあるデータのみを、モデルパラメータの更新に用いるデータとして選択するようにしてもよい。 In this way, after ranking Loss2 (mismatch of identification) calculated for each of the plurality of data, only the data within a predetermined range may be selected as the data to be used for updating the model parameters. ..
 (e5:カリキュラム)
 上述したような手法の1または複数を任意に組み合わせた任意のカリキュラムを決定してもよい。例えば、所定数の入力データ(あるいは、ミニバッチ)を学習用ネットワーク10に入力して得られる推定結果からそれぞれ算出されたLoss2の集合(例えば、100エポック分)に基づいて、第1回目の学習では、集合の上位5%の誤差を用いてモデルパラメータを更新するとともに、第2回目の学習では、集合の上位10%の誤差を用いてモデルパラメータを更新するといったように、学習に用いる対象の誤差および順序などを予めスケジューリングしてもよい。このようなカリキュラムを予め決定することで、モデルパラメータを効率的に学習することができる。
(E5: Curriculum)
Any curriculum may be determined by any combination of one or more of the methods described above. For example, in the first learning, based on a set of Loss 2 (for example, 100 epochs) calculated from the estimation results obtained by inputting a predetermined number of input data (or mini-batch) into the learning network 10. , The model parameters are updated using the error of the top 5% of the set, and the model parameters are updated using the error of the top 10% of the set in the second training. And the order may be scheduled in advance. By predetermining such a curriculum, model parameters can be learned efficiently.
 (e6:その他)
 なお、「学習の重みを調整する」方法の実装は、上述の形態に限らず、どのような形態を採用してもよい。
(E6: Other)
The implementation of the method of "adjusting the learning weight" is not limited to the above-mentioned form, and any form may be adopted.
 <F.ソースデータセットによる推定モデルの最適化>
 図11に示す学習方法のステップS3におけるエンコーダ70、識別器72、および識別器74のモデルパラメータを更新する処理においては、Loss1(識別器72および識別器74による識別誤差)を最小化することを目的とするので、2つの識別器72および識別器74のうち一方からの推定結果を利用して、他方を学習するようにしてもよい。
<F. Optimization of estimation model by source dataset>
In the process of updating the model parameters of the encoder 70, the classifier 72, and the classifier 74 in step S3 of the learning method shown in FIG. 11, Loss 1 (discrimination error by the classifier 72 and the classifier 74) is minimized. For the purpose, the estimation result from one of the two classifiers 72 and 74 may be used to learn the other.
 図14は、図11に示す学習方法のステップS3におけるモデルパラメータの更新処理の一例を概略する図である。図14を参照して、ソースデータセット30に含まれるデータをエンコーダ70に入力し、識別器72から出力される推定結果についての識別誤差を算出し、算出した識別誤差から算出される誤差を他方の識別器74に逆伝搬させることで、識別器74のモデルパラメータを更新するようにしてもよい。 FIG. 14 is a diagram illustrating an example of model parameter update processing in step S3 of the learning method shown in FIG. With reference to FIG. 14, the data contained in the source data set 30 is input to the encoder 70, the discrimination error for the estimation result output from the classifier 72 is calculated, and the error calculated from the calculated discrimination error is the other. The model parameters of the classifier 74 may be updated by propagating back to the classifier 74.
 同様に、ソースデータセット30に含まれるデータをエンコーダ70に入力し、識別器74から出力される推定結果についての識別誤差を算出し、算出した識別誤差から算出される誤差を他方の識別器72に逆伝搬させることで、識別器72のモデルパラメータを更新するようにしてもよい。 Similarly, the data contained in the source data set 30 is input to the encoder 70, the discrimination error for the estimation result output from the classifier 74 is calculated, and the error calculated from the calculated discrimination error is the other classifier 72. The model parameters of the classifier 72 may be updated by back-propagating to.
 すなわち、図14に示す学習手順においては、推定モデルにデータを入力して識別器72および識別器74のうち一方から出力される誤差に基づいて、識別器72および識別器74のうち他方のモデルパラメータが更新される。このように、共通の誤差の情報に基づいて、識別器72および識別器74のモデルパラメータを更新することで、ノイズが多い状況であっても、Loss1(識別器72および識別器74による識別誤差)を最小化できる。なお、図14に示される学習方法の詳細については、非特許文献6を参照されたい。 That is, in the learning procedure shown in FIG. 14, data is input to the estimation model, and the model of the other of the classifier 72 and the classifier 74 is based on the error output from one of the classifier 72 and the classifier 74. The parameters are updated. By updating the model parameters of the classifier 72 and the classifier 74 based on the information of the common error in this way, even in a noisy situation, the discrimination error by the classifier 72 (classifier 72 and the classifier 74) ) Can be minimized. For details of the learning method shown in FIG. 14, refer to Non-Patent Document 6.
 <G.変形例>
 学習用ネットワーク10および学習方法については、上述した実施の形態に限らず,以下に示すような様々な変形が可能である。
<G. Modification example>
The learning network 10 and the learning method are not limited to the above-described embodiments, and various modifications as shown below are possible.
 (g1:学習用ネットワーク)
 図9に示す学習用ネットワーク10においては、共通のエンコーダ70に対して、ソースデータセット30およびターゲットデータセット50からデータが入力されるようになっているが、ソースデータセット30用のエンコーダおよびターゲットデータセット50用のエンコーダをそれぞれ配置するようにしてもよい。
(G1: Learning network)
In the learning network 10 shown in FIG. 9, data is input from the source data set 30 and the target data set 50 to the common encoder 70, but the encoder and the target for the source data set 30 The encoders for the data set 50 may be arranged respectively.
 図9に示す学習用ネットワーク10においては、2つの識別器を用いる構成を例示するが、これに限られることなく、3つ以上の識別器を用いるようにしてもよい。また、DropOutなどによるランダム選択要素を導入してもよい。DropOutの導入によって、仮想的に無数の識別器を配置したのと同様の効果を奏する。 In the learning network 10 shown in FIG. 9, a configuration using two classifiers is illustrated, but the configuration is not limited to this, and three or more classifiers may be used. Further, a random selection element such as DropOut may be introduced. With the introduction of DropOut, it has the same effect as arranging virtually innumerable classifiers.
 (g2:学習方法)
 順学習および敵対的学習においては、ソースデータセット30およびターゲットデータセット50の両方から選択されたデータを用いてもよいし、いずれか一方のデータセットから選択されたデータのみを用いるようにしてもよい。すなわち、順学習のみ、敵対的学習のみ、順学習および敵対的学習のいずれかにおいて、ソースデータセット30およびターゲットデータセット50のうちいずれか一方のみを用いるようにしてもよい。このとき、順学習において用いるデータセットと、敵対的学習において用いるデータセットとを異ならせてもよい。
(G2: Learning method)
In forward learning and hostile learning, data selected from both the source dataset 30 and the target dataset 50 may be used, or only the data selected from either dataset may be used. Good. That is, in any of forward learning only, hostile learning only, forward learning and hostile learning, only one of the source data set 30 and the target data set 50 may be used. At this time, the data set used in the forward learning and the data set used in the hostile learning may be different.
 <H.推定モデルの運用>
 次に、上述の学習方法によって生成された推定モデル60の運用時(推定フェーズ)の構成例について説明する。
<H. Operation of estimation model>
Next, a configuration example of the estimation model 60 generated by the above-mentioned learning method during operation (estimation phase) will be described.
 図15は、本実施の形態に係る推定モデル60の運用時の実装例を示す模式図である。図15に示す構成は、典型的には、プロセッサ102が認識アプリケーション118を実行することにより実現される。 FIG. 15 is a schematic diagram showing an implementation example of the estimation model 60 according to the present embodiment during operation. The configuration shown in FIG. 15 is typically realized by the processor 102 executing the recognition application 118.
 図15を参照して、推定対象データ62(データx)が推定モデル60に入力されることで、識別器72からは第1のクラスである確率p(y|x)が出力され、識別器74からは第2のクラスである確率p(y|x)が出力される。 With reference to FIG. 15, when the estimation target data 62 (data x t ) is input to the estimation model 60, the probability p 1 (y | x t ), which is the first class, is output from the classifier 72. , The classifier 74 outputs the probability p 2 (y | x) which is the second class.
 識別器72および識別器74から出力される確率は、推定結果出力部84に入力される。推定結果出力部84は、それぞれの識別器からの確率が互いに整合した結果を示している場合には、その整合した結果を推定結果64として出力する。すなわち、推定結果出力部84は、推定対象データ62を推定モデル60に入力したときに出力される確率p(y|x)および確率p(y|x)が互いに整合するか否かに応じて、推定結果を出力する。 The probabilities output from the classifier 72 and the classifier 74 are input to the estimation result output unit 84. When the probabilities from the respective classifiers indicate the results that are consistent with each other, the estimation result output unit 84 outputs the matched results as the estimation result 64. That is, whether or not the probability p 1 (y | x t ) and the probability p 2 (y | x t ) output when the estimation result output unit 84 inputs the estimation target data 62 to the estimation model 60 match each other. The estimation result is output according to the above.
 それぞれの識別器からの確率が互いに整合するとは、例えば、同一のデータxに対して、第1のクラスである確率が高く、かつ、第2のクラスである確率が低い場合、あるいは、第1のクラスである確率が低く、かつ、第2のクラスである確率が高い場合などが相当する。 The probabilities from each classifier are aligned with each other, for example, for the same data x t, high probability of being the first class, and, if the probability is the second class is low or, the This corresponds to the case where the probability of being in the first class is low and the probability of being in the second class is high.
 一方、同一のデータxに対して、第1のクラスである確率および第2のクラスである確率の両方が高いあるいは低い場合には、互いに整合しない。 On the other hand, for the same data x t, in the case both probability is the probability and the second class is the first class is high or low, it does not conform to each other.
 推定結果出力部84は、それぞれの識別器からの確率が互いに整合する場合には、その整合した結果に対応するクラスを推定結果64として出力する。一方、推定結果出力部84は、それぞれの識別器からの確率が互いに整合しない場合には、入力されたデータxが未知クラスであるといった推定結果を出力するようにしてもよい。 When the probabilities from the respective classifiers match each other, the estimation result output unit 84 outputs the class corresponding to the matched result as the estimation result 64. On the other hand, the estimation result output unit 84 may output an estimation result that the input data xt is in an unknown class when the probabilities from the respective classifiers do not match each other.
 さらに、推定結果の信頼度を算出するための信頼度算出部86を配置してもよい。より具体的には、信頼度算出部86は、それぞれの識別器からの確率に基づいて算出される、識別の不一致(Loss2に相当)の大きさから信頼度を算出するようにしてもよい。 Further, a reliability calculation unit 86 for calculating the reliability of the estimation result may be arranged. More specifically, the reliability calculation unit 86 may calculate the reliability from the magnitude of the identification mismatch (corresponding to Loss 2) calculated based on the probabilities from each classifier.
 このような信頼度を算出することで、推定モデル60の推定結果をそのまま利用できるか否かを容易に判断できる。 By calculating such reliability, it can be easily determined whether or not the estimation result of the estimation model 60 can be used as it is.
 <I.性能評価の実験例>
 次に、本実施の形態に係る学習方法により生成された推定モデルの性能評価の実験例について説明する。本実験例では、数字の認識タスクに関する教師なしドメイン適応を行った。
<I. Experimental example of performance evaluation>
Next, an experimental example of performance evaluation of the estimation model generated by the learning method according to the present embodiment will be described. In this experimental example, unsupervised domain adaptation for number recognition tasks was performed.
 ソースドメインとして、SVHN(Street View House Numbers)データセットを用いた。SVHNデータセットから5つのクラス(0,1,2,3,4,5)毎に任意に選択した250サンプル(250サンプル×5クラス)をソースデータセット30とした。 The SVHN (Street View House Numbers) dataset was used as the source domain. The source data set 30 was 250 samples (250 samples × 5 classes) arbitrarily selected for each of 5 classes (0, 1, 2, 3, 4, 5) from the SVHN data set.
 ターゲットドメインとしてMNIST(Mixed National Institute of Standards and Technology database)データセットを用いた。より具体的には、10のクラス(0,1,2,3,4,5,6,7,8,9)毎に[200,200,500,500,1000,1000,2000,2000,5000,5000]個のサンプルをターゲットデータセット50とした。 The MNIST (Mixed National Institute of Standards and Technology database) dataset was used as the target domain. More specifically, for every 10 classes (0,1,2,3,4,5,6,7,8,9) [200,200,500,500,1000,1000,2000,2000,5000 , 5000] samples were used as the target data set 50.
 すなわち、ソースドメインとターゲットドメインとの間では、それぞれのドメインに含まれるデータ数の不均衡(ソースドメインが1000サンプルであるのに対して、ターゲットドメインは17400サンプル)であることに加えて、ターゲットドメインに含まれるクラスごとのデータ間が不均衡(200サンプルしかないクラスと、5000サンプルあるクラスとが混在)になっている。さらに、ターゲットドメインには、ソースドメインには含まれないクラス(未知クラス)が存在している。 That is, in addition to the imbalance in the number of data contained in each domain between the source domain and the target domain (the source domain has 1000 samples, the target domain has 17400 samples), and the target. There is an imbalance between the data for each class included in the domain (a class with only 200 samples and a class with 5000 samples are mixed). Furthermore, in the target domain, there are classes (unknown classes) that are not included in the source domain.
 さらに、ソースドメインに付与されるラベル(クラス)には、PxxおよびSxxで示されるノイズを意図的に付加している。 Furthermore, noise indicated by Pxx and Sxx is intentionally added to the label (class) given to the source domain.
 P20:サンプル全体の20%のラベルをランダムに別のものに変更する
 P45:サンプル全体の45%のラベルをランダムに別のものに変更する
 S20:サンプル全体の20%のラベルを他のサンプルとランダムに入れ替える
 S45:サンプル全体の45%のラベルを他のサンプルとランダムに入れ替える
 また、以下の5つの手法を性能比較の対象とした。
P20: Randomly change the label of 20% of the whole sample to another P45: Change the label of 45% of the whole sample to another randomly S20: Change the label of 20% of the whole sample to another sample Random replacement S45: 45% of the labels of the entire sample are randomly replaced with other samples. In addition, the following five methods were used for performance comparison.
 ・DANN(Domain Adaptation Network)(非特許文献7参照)
 ・ADDA(Adversarial Discriminative Domain Adaptation)(非特許文献8参照)
 ・MCD(Maximum Classifier Discrepancy)(非特許文献4参照)
 ・TCL(Transferable Curriculum for Weakly-Supervised Domain Adaptation)(非特許文献9参照)
 ・OSBP(Open Set Domain Adaptation by Backpropagation)(非特許文献10参照)
 さらに、比較の基準として、ソースデータセット30のみを用いた場合の性能についても示す(Source Only)。
-DANN (Domain Adaptation Network) (see Non-Patent Document 7)
-ADDA (Adversarial Discriminative Domain Adaptation) (see Non-Patent Document 8)
-MCD (Maximum Classifier Discrepancy) (see Non-Patent Document 4)
-TCL (Transferable Curriculum for Weakly-Supervised Domain Adaptation) (see Non-Patent Document 9)
-OSBP (Open Set Domain Adaptation by Backpropagation) (see Non-Patent Document 10)
Further, as a reference for comparison, the performance when only the source data set 30 is used is also shown (Source Only).
 以下の表に示す各値は、各手法に従う推定モデルによる正答率を示す。 Each value shown in the table below indicates the correct answer rate by the estimation model according to each method.
Figure JPOXMLDOC01-appb-T000001
Figure JPOXMLDOC01-appb-T000001
 このように、本実施の形態に係る学習方法およびその学習方法によって生成される推定モデルを採用することによって、関連技術に比較して、OpenSet問題、ノイズ問題、データ不均衡問題などの問題が生じている状況においても、より高い推定性能を実現できていることが分かる。 In this way, by adopting the learning method according to the present embodiment and the estimation model generated by the learning method, problems such as an OpenSet problem, a noise problem, and a data imbalance problem occur as compared with the related techniques. It can be seen that even in this situation, higher estimation performance can be achieved.
 <J.アプリケーションでの実装例>
 次に、本実施の形態に係る学習方法をアプリケーションに実装する場合の構成例について説明する。
<J. Implementation example in application>
Next, a configuration example in the case of implementing the learning method according to the present embodiment in the application will be described.
 図16は、本実施の形態に係る学習方法のアプリケーションでの実装例を示す模式図である。図16には、上述の画像処理装置100(図4)に実装する例を示す。 FIG. 16 is a schematic diagram showing an implementation example of the learning method according to the present embodiment in the application. FIG. 16 shows an example of mounting on the above-mentioned image processing device 100 (FIG. 4).
 図16(A)には、画像処理装置100がソースデータセット30およびターゲットデータセット50を収集するデータ収集処理150と、推定モデル60を生成するための機械学習40と、推定モデル60を用いた推定処理とを実行する構成例を示す。 In FIG. 16A, a data collection process 150 in which the image processing apparatus 100 collects the source data set 30 and the target data set 50, machine learning 40 for generating the estimation model 60, and the estimation model 60 are used. A configuration example for executing the estimation process is shown.
 図16(B)には、画像処理装置100とサーバなどの外部装置250とが連係する構成例を示す。この構成例においては、画像処理装置100がソースデータセット30およびターゲットデータセット50を収集するデータ収集処理150と、推定モデル60を用いた推定処理とを実行し、外部装置250が推定モデル60を生成する機械学習40を実行する。 FIG. 16B shows a configuration example in which the image processing device 100 and an external device 250 such as a server are linked. In this configuration example, the image processing device 100 executes the data collection process 150 for collecting the source data set 30 and the target data set 50, and the estimation process using the estimation model 60, and the external device 250 executes the estimation model 60. The generated machine learning 40 is executed.
 図16(C)にも、画像処理装置100とサーバなどの外部装置250とが連係する構成例を示す。この構成例においては、外部装置250がソースデータセット30およびターゲットデータセット50を収集するデータ収集処理150と、推定モデル60を生成するための機械学習40とを実行し、画像処理装置100が推定モデル60を用いた推定処理を実行する。 FIG. 16C also shows a configuration example in which the image processing device 100 and an external device 250 such as a server are linked. In this configuration example, the external device 250 executes the data collection process 150 for collecting the source data set 30 and the target data set 50, and the machine learning 40 for generating the estimation model 60, and the image processing device 100 estimates. The estimation process using the model 60 is executed.
 なお、図16には典型的ないくつかの実装例を示すものであり、本発明の技術的範囲は、これらの実装例に限定されるものではない。要求される要件、仕様および目的などに応じて、任意の実装形態を採用できる。 Note that FIG. 16 shows some typical implementation examples, and the technical scope of the present invention is not limited to these implementation examples. Any mounting form can be adopted according to the required requirements, specifications, and purposes.
 <K.アプリケーション例>
 上述の説明においては、アプリケーション例として、任意の方法で収集された画像に対してアノテーションにより生成した画像とカメラで実際に撮像された画像(実写画像)との間のバイアス差を吸収する例について説明したが、本実施の形態に係る推定モデルは、この実装例に限らず任意のアプリケーションに適用可能である。すなわち、「環境」あるいは「ドメイン」は、可能な限り広く解釈できる。
<K. Application example>
In the above description, as an application example, an example of absorbing a bias difference between an image generated by annotation for an image collected by an arbitrary method and an image actually captured by a camera (live-action image) is provided. As described above, the estimation model according to the present embodiment can be applied to any application, not limited to this implementation example. That is, "environment" or "domain" can be interpreted as broadly as possible.
 任意のセンシングデバイスで観測される任意の情報は、観測条件や観測環境が異なっていても、本実施の形態に係る手法により適用が可能である。例えば、FA(Factory Automation)の技術分野においては、本実施の形態に係る学習方法を適用することで、適用先の工場や設備などの環境差を埋め合わせることができる。 Arbitrary information observed by an arbitrary sensing device can be applied by the method according to the present embodiment even if the observation conditions and the observation environment are different. For example, in the technical field of FA (Factory Automation), by applying the learning method according to this embodiment, it is possible to make up for the environmental difference of the factory or equipment to which the application is applied.
 さらに、センシングデバイスで観測される物理的な情報だけではなく、例えば、EC(electronic commerce)サイトでの販売実績といった人為的な情報にも適用可能である。例えば、あるECサイトでの販売実績に基づいて、他のECサイトでの販売実績を推定するといったアプリケーションが想定される。 Furthermore, it can be applied not only to physical information observed by a sensing device, but also to artificial information such as sales results on an EC (electronic commerce) site. For example, an application that estimates the sales performance on another EC site based on the sales performance on one EC site is assumed.
 さらに、生活習慣病であるか否かを判定する装置などにおいては、年齢差、性別差、地域差などによる生活習慣の差を埋め合わせるようにしてもよい。また、個人差によって生じる各種のバイアスを埋め合わせるようにしてもよい。 Furthermore, in a device for determining whether or not a person has a lifestyle-related disease, the difference in lifestyle due to age difference, gender difference, regional difference, etc. may be compensated for. In addition, various biases caused by individual differences may be compensated for.
 このように、本実施の形態に係る学習方法およびその学習方法により生成される推定モデルの応用先は、現実の世界に存在する様々な観測可能な情報に適用できる。 As described above, the learning method according to the present embodiment and the application destination of the estimation model generated by the learning method can be applied to various observable information existing in the real world.
 <L.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 推定システム(1)であって、
 クラスが付与された複数のデータからなる第1のデータセット(30)、および、クラスが付与されていない複数のデータからなる第2のデータセット(50)を用いて、機械学習(40)により推定モデル(60)を生成する学習部(40;114)と、
 前記第2のデータセットに属し得る推定対象データ(62)を前記推定モデルに入力して、推定結果(64)を決定する推定部(118)とを備え、
 前記推定モデルは、
  入力されたデータから特徴量を算出するエンコーダ(70)と、
  前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器(72)と、
  前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器(74)とを含み、
 前記学習部は、
  前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出する算出手段(1143)と、
  算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定する決定手段(1145)とを含む、推定システム。
[構成2]
 前記学習部は、前記エンコーダのモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、前記第1の識別器および前記第2の識別器のモデルパラメータを更新する第1のパラメータ更新手段(S4~S8)をさらに含み、
 前記決定手段は、前記第1のパラメータ更新手段に関して、算出される識別の不一致がより小さいデータに対して、より高い学習の優先度を決定する、構成1に記載の推定システム。
[構成3]
 前記学習部は、前記第1の識別器および前記第2の識別器のモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、前記エンコーダのモデルパラメータを更新する第2のパラメータ更新手段(S10~S14)をさらに含み、
 前記決定手段は、前記第2のパラメータ更新手段に関して、算出される識別の不一致がより大きいデータに対して、より高い学習の優先度を決定する、構成1または2に記載の推定システム。
[構成4]
 前記決定手段は、学習の優先度として、識別の不一致の大きさに応じて、前記推定モデルを逆伝搬させる誤差に乗じる重み係数を決定する、構成1~3のいずれか1項に記載の推定システム。
[構成5]
 前記決定手段は、算出される識別の不一致の大きさが予め定められた条件を満たすデータのみを、モデルパラメータの更新に用いるデータとして決定する、構成1~4のいずれか1項に記載の推定システム。
[構成6]
 前記決定手段は、複数のデータについてそれぞれ算出される識別の不一致をランキングした上で、予め定められた範囲にあるデータのみを、モデルパラメータの更新に用いるデータとして選択する、構成1~5のいずれか1項に記載の推定システム。
[構成7]
 前記学習部は、前記第1のデータセットに含まれるデータに基づいて、前記エンコーダのモデルパラメータ、前記第1の識別器のモデルパラメータ、および前記第2の識別器のモデルパラメータを更新する第3のパラメータ更新手段(S4)をさらに含み、
 前記第3のパラメータ更新手段は、前記推定モデルにデータを入力して前記第1の識別器および前記第2の識別器のうち一方から出力される誤差に基づいて、前記第1の識別器および前記第2の識別器のうち他方のモデルパラメータを更新する、構成1~6のいずれか1項に記載の推定システム。
[構成8]
 前記推定部は、推定対象データを推定モデルに入力したときに出力される第1の確率および第2の確率が互いに整合するか否かに応じて、推定結果を出力する推定結果出力部(84)を含む、構成1~7のいずれか1項に記載の推定システム。
[構成9]
 クラスが付与された複数のデータからなる第1のデータセット(30)、および、クラスが付与されていない複数のデータからなる第2のデータセット(50)を用いた機械学習(40)により生成された推定モデルを保持する記憶部(110)と、
 前記第2のデータセットに属し得る推定対象データ(62)を前記推定モデルに入力して、推定結果(64)を決定する推定部(118)とを備え、
 前記推定モデルは、
  入力されたデータから特徴量を算出するエンコーダ(70)と、
  前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器(72)と、
  前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器(74)とを含み、
 前記推定モデルは、前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて算出される識別の不一致の大きさに応じて、当該入力されたデータについて決定された学習の優先度に基づいて学習されている、推定システム。
[構成10]
 クラスが付与された複数のデータからなる第1のデータセット(30)、および、クラスが付与されていない複数のデータからなる第2のデータセット(50)を用いて、機械学習(40)により推定モデルを生成する学習ステップと、
 前記第2のデータセットに属し得る推定対象データ(62)を前記推定モデルに入力して、推定結果(64)を決定する推定ステップ(118)とを備え、
 前記推定モデルは、
  入力されたデータから特徴量を算出するエンコーダ(70)と、
  前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器(72)と、
  前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器(74)とを含み、
 前記学習ステップは、
  前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出するステップ(S6,S12)と、
  算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定するステップ(S7,S13)とを含む、推定方法。
<L. Addendum>
The present embodiment as described above includes the following technical ideas.
[Structure 1]
The estimation system (1)
By machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned. A learning unit (40; 114) that generates an estimation model (60), and
It includes an estimation unit (118) that inputs estimation target data (62) that can belong to the second data set into the estimation model and determines an estimation result (64).
The estimation model is
An encoder (70) that calculates features from the input data, and
Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and
Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
The learning unit
Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. Calculation means (1143) to be calculated and
An estimation system that includes a determination means (1145) that determines the learning priority for the input data according to the magnitude of the calculated identification discrepancy.
[Structure 2]
The learning unit updates the model parameters of the first classifier and the second classifier for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the encoder. Further including parameter updating means (S4 to S8),
The estimation system according to configuration 1, wherein the determination means determines a higher learning priority for data having a smaller discrepancy in the calculated identification with respect to the first parameter update means.
[Structure 3]
The learning unit updates the model parameters of the encoder for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the first classifier and the second classifier. Further including parameter updating means (S10 to S14),
The estimation system according to configuration 1 or 2, wherein the determination means determines a higher learning priority for data having a larger discrepancy in the calculated identification with respect to the second parameter update means.
[Structure 4]
The estimation according to any one of configurations 1 to 3, wherein the determination means determines, as a learning priority, a weighting coefficient for multiplying the error of back-propagating the estimation model according to the magnitude of the discrimination mismatch. system.
[Structure 5]
The estimation according to any one of configurations 1 to 4, wherein the determination means determines only data in which the magnitude of the calculated discrimination mismatch satisfies a predetermined condition as data to be used for updating the model parameters. system.
[Structure 6]
The determination means ranks the discrepancies of identification calculated for each of a plurality of data, and then selects only the data within a predetermined range as the data to be used for updating the model parameters. The estimation system according to item 1.
[Structure 7]
The learning unit updates the model parameters of the encoder, the model parameters of the first classifier, and the model parameters of the second classifier based on the data contained in the first data set. Further includes the parameter updating means (S4) of
The third parameter updating means inputs data into the estimation model and outputs the first classifier and the second classifier based on an error output from the first classifier and the second classifier. The estimation system according to any one of configurations 1 to 6, wherein the model parameter of the other of the second classifiers is updated.
[Structure 8]
The estimation unit is an estimation result output unit (84) that outputs an estimation result according to whether or not the first probability and the second probability output when the estimation target data is input to the estimation model match each other. ), The estimation system according to any one of configurations 1 to 7.
[Structure 9]
Generated by machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned. A storage unit (110) that holds the estimated model,
It includes an estimation unit (118) that inputs estimation target data (62) that can belong to the second data set into the estimation model and determines an estimation result (64).
The estimation model is
An encoder (70) that calculates features from the input data, and
Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and
Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
The estimation model is calculated based on the first probability and the second probability output when the data contained in either the first data set or the second data set is input to the estimation model. An estimation system that is trained on the basis of a determined learning priority for the input data, depending on the magnitude of the discriminant discrepancy that is made.
[Structure 10]
By machine learning (40) using a first dataset (30) consisting of a plurality of data to which a class is assigned and a second dataset (50) consisting of a plurality of data to which a class is not assigned. Learning steps to generate an estimation model and
It includes an estimation step (118) in which estimation target data (62) that can belong to the second data set is input to the estimation model to determine an estimation result (64).
The estimation model is
An encoder (70) that calculates features from the input data, and
Based on the feature quantity, the first classifier (72) that outputs the first probability that the input data is the first class, and
Based on the feature quantity, the input data includes a second classifier (74) that outputs a second probability of being a second class.
The learning step
Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. Steps (S6, S12) and
An estimation method including a step (S7, S13) of determining a learning priority for the input data according to the magnitude of the calculated identification discrepancy.
 <M.効果>
 本実施の形態に係る学習方法によれば、識別の不一致(Classifier Discrepancy)の大きさに応じて、入力されたデータについての学習の優先度を決定し、その決定された優先度に応じて、モデルパラメータを更新する。
<M. Effect>
According to the learning method according to the present embodiment, the learning priority for the input data is determined according to the magnitude of the classification discrepancy, and the learning priority is determined according to the determined priority. Update model parameters.
 本実施の形態に係る学習方法によれば、それぞれのクラス用の識別器が設けられており、それぞれの識別器から確率を評価することで、ソースドメインに含まれていたデータに付与されているクラス以外のクラス(未知クラス)に分類されるデータがターゲットドメインに含まれる場合(OpenSet問題)であっても、クラスについての推定を誤る可能性を低減できる。 According to the learning method according to the present embodiment, discriminators for each class are provided, and by evaluating the probabilities from each discriminator, the data included in the source domain is assigned. Even when data classified into a class other than the class (unknown class) is included in the target domain (OpenSet problem), the possibility of making a mistake in estimating the class can be reduced.
 本実施の形態に係る学習方法によれば、順学習および敵対的学習におけるモデルパラメータの更新において、識別の不一致がより小さいデータ、あるいは、識別の不一致がより大きいデータを優先的に用いるので、ノイズが含まれるデータ(ノイズ問題)を相対的に除外でき、これによって、様々な理由で生じる誤りや劣化による推定精度の低下を防止できる。 According to the learning method according to the present embodiment, in the update of the model parameters in the forward learning and the hostile learning, the data having the smaller discrimination mismatch or the data having the larger discrimination mismatch is preferentially used, so that noise. Data containing the above (noise problem) can be relatively excluded, and this can prevent a decrease in estimation accuracy due to errors or deterioration caused by various reasons.
 本実施の形態に係る学習方法によれば、順学習および敵対的学習におけるモデルパラメータの更新において、識別の不一致がより小さいデータ、あるいは、識別の不一致がより大きいデータを優先的に用いるので、データが不均衡であっても、学習処理への影響が少ない。すなわち、データの不均衡による推定精度の低下を防止できる。 According to the learning method according to the present embodiment, in the update of the model parameters in the forward learning and the hostile learning, the data having the smaller discrimination mismatch or the data having the larger discrimination mismatch is preferentially used. Even if there is an imbalance, the effect on the learning process is small. That is, it is possible to prevent a decrease in estimation accuracy due to data imbalance.
 このように、本実施の形態に係る学習方法およびその学習方法により生成された推定モデルを用いることで、教師なしドメイン適応を実用環境で(in the wild)より確実に実現できる。 In this way, by using the learning method according to the present embodiment and the estimation model generated by the learning method, unsupervised domain adaptation can be more reliably realized in a practical environment (in the wild).
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered to be exemplary in all respects and not restrictive. The scope of the present invention is shown by the scope of claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims.
 1 画像処理システム、2 ロボット、4 軸、8 ワーク、10 学習用ネットワーク、12 サーボドライバ、14 モータ、20 カメラ、30 ソースデータセット、32,34,52,54 データ、40 機械学習、42 第1のクラス識別面、44 第2のクラス識別面、50 ターゲットデータセット、53,55 不一致領域、56,57,58 領域、60 推定モデル、62 推定対象データ、64 推定結果、70 エンコーダ、72,74 識別器、84 推定結果出力部、86 信頼度算出部、100 画像処理装置、102 プロセッサ、104 メインメモリ、110 ストレージ、114 機械学習プログラム、116 モデルパラメータ、118 認識アプリケーション、122 通信インターフェイス、124 入力部、126 出力部、128 カメラインターフェイス、130 モータインターフェイス、150 データ収集処理、200 情報処理装置、250 外部装置、301 第1のソースデータ群、302 第2のソースデータ群、501 第1のターゲットデータ群、502 第2のターゲットデータ群、1141 入力データ選択部、1142,1143 演算部、1144 誤差バッファ、1145 カリキュラム決定部、1146 パラメータ更新部。 1 image processing system, 2 robots, 4 axes, 8 works, 10 learning networks, 12 servo drivers, 14 motors, 20 cameras, 30 source data sets, 32, 34, 52, 54 data, 40 machine learning, 42 1st Class identification surface, 44 second class identification surface, 50 target data set, 53,55 mismatch area, 56,57,58 area, 60 estimation model, 62 estimation target data, 64 estimation result, 70 encoder, 72,74 Identifyer, 84 estimation result output unit, 86 reliability calculation unit, 100 image processing device, 102 processor, 104 main memory, 110 storage, 114 machine learning program, 116 model parameters, 118 recognition application, 122 communication interface, 124 input unit , 126 output unit, 128 camera interface, 130 motor interface, 150 data collection processing, 200 information processing device, 250 external device, 301 first source data group, 302 second source data group, 501 first target data group , 502 Second target data group, 1141 Input data selection unit, 1142, 1143 calculation unit, 1144 error buffer, 1145 curriculum determination unit, 1146 parameter update unit.

Claims (10)

  1.  推定システムであって、
     クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いて、機械学習により推定モデルを生成する学習部と、
     前記第2のデータセットに属し得る推定対象データを前記推定モデルに入力して、推定結果を決定する推定部とを備え、
     前記推定モデルは、
      入力されたデータから特徴量を算出するエンコーダと、
      前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、
      前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含み、
     前記学習部は、
      前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出する算出手段と、
      算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定する決定手段とを含む、推定システム。
    It ’s an estimation system,
    A learning unit that generates an estimation model by machine learning using a first data set consisting of a plurality of data to which a class is assigned and a second data set consisting of a plurality of data to which a class is not assigned.
    It is provided with an estimation unit that inputs estimation target data that can belong to the second data set into the estimation model and determines an estimation result.
    The estimation model is
    An encoder that calculates features from the input data,
    Based on the feature quantity, the first classifier that outputs the first probability that the input data is the first class, and
    Based on the feature quantity, the input data includes a second classifier that outputs a second probability of being a second class.
    The learning unit
    Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. Calculation method and
    An estimation system that includes a determinant that determines the learning priority for the input data according to the magnitude of the calculated identification discrepancy.
  2.  前記学習部は、前記エンコーダのモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、前記第1の識別器および前記第2の識別器のモデルパラメータを更新する第1のパラメータ更新手段をさらに含み、
     前記決定手段は、前記第1のパラメータ更新手段に関して、算出される識別の不一致がより小さいデータに対して、より高い学習の優先度を決定する、請求項1に記載の推定システム。
    The learning unit updates the model parameters of the first classifier and the second classifier for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the encoder. Including additional parameter update means
    The estimation system according to claim 1, wherein the determination means determines a higher learning priority for data having a smaller discrepancy in the calculated identification with respect to the first parameter update means.
  3.  前記学習部は、前記第1の識別器および前記第2の識別器のモデルパラメータを固定した状態で、識別の不一致を最大化することを目的として、前記エンコーダのモデルパラメータを更新する第2のパラメータ更新手段をさらに含み、
     前記決定手段は、前記第2のパラメータ更新手段に関して、算出される識別の不一致がより大きいデータに対して、より高い学習の優先度を決定する、請求項1または2に記載の推定システム。
    The learning unit updates the model parameters of the encoder for the purpose of maximizing the discrepancy in discrimination while fixing the model parameters of the first classifier and the second classifier. Including additional parameter update means
    The estimation system according to claim 1 or 2, wherein the determination means determines a higher learning priority for data having a larger discrepancy in the calculated identification with respect to the second parameter update means.
  4.  前記決定手段は、学習の優先度として、識別の不一致の大きさに応じて、前記推定モデルを逆伝搬させる誤差に乗じる重み係数を決定する、請求項1~3のいずれか1項に記載の推定システム。 The determination means according to any one of claims 1 to 3, wherein as a learning priority, a weighting coefficient for multiplying an error for back-propagating the estimated model is determined according to the magnitude of the discrepancy in identification. Estimate system.
  5.  前記決定手段は、算出される識別の不一致の大きさが予め定められた条件を満たすデータのみを、モデルパラメータの更新に用いるデータとして決定する、請求項1~4のいずれか1項に記載の推定システム。 The determination means according to any one of claims 1 to 4, wherein the determination means determines only the data in which the magnitude of the calculated identification mismatch satisfies a predetermined condition as the data used for updating the model parameters. Estimate system.
  6.  前記決定手段は、複数のデータについてそれぞれ算出される識別の不一致をランキングした上で、予め定められた範囲にあるデータのみを、モデルパラメータの更新に用いるデータとして選択する、請求項1~5のいずれか1項に記載の推定システム。 The determination means of claims 1 to 5 ranks the discrepancies of identification calculated for each of a plurality of data, and then selects only the data within a predetermined range as the data to be used for updating the model parameters. The estimation system according to any one item.
  7.  前記学習部は、前記第1のデータセットに含まれるデータに基づいて、前記エンコーダのモデルパラメータ、前記第1の識別器のモデルパラメータ、および前記第2の識別器のモデルパラメータを更新する第3のパラメータ更新手段をさらに含み、
     前記第3のパラメータ更新手段は、前記推定モデルにデータを入力して前記第1の識別器および前記第2の識別器のうち一方から出力される誤差に基づいて、前記第1の識別器および前記第2の識別器のうち他方のモデルパラメータを更新する、請求項1~6のいずれか1項に記載の推定システム。
    The learning unit updates the model parameters of the encoder, the model parameters of the first classifier, and the model parameters of the second classifier based on the data contained in the first data set. Including further parameter update means of
    The third parameter updating means inputs data into the estimation model and outputs the first classifier and the second classifier based on an error output from the first classifier and the second classifier. The estimation system according to any one of claims 1 to 6, wherein the model parameter of the other of the second classifiers is updated.
  8.  前記推定部は、推定対象データを推定モデルに入力したときに出力される第1の確率および第2の確率が互いに整合するか否かに応じて、推定結果を出力する推定結果出力部を含む、請求項1~7のいずれか1項に記載の推定システム。 The estimation unit includes an estimation result output unit that outputs an estimation result depending on whether or not the first probability and the second probability output when the estimation target data is input to the estimation model match each other. , The estimation system according to any one of claims 1 to 7.
  9.  クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いた機械学習により生成された推定モデルを保持する記憶部と、
     前記第2のデータセットに属し得る推定対象データを前記推定モデルに入力して、推定結果を決定する推定部とを備え、
     前記推定モデルは、
      入力されたデータから特徴量を算出するエンコーダと、
      前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、
      前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含み、
     前記推定モデルは、前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて算出される識別の不一致の大きさに応じて、当該入力されたデータについて決定された学習の優先度に基づいて学習されている、推定装置。
    A storage unit that holds an estimation model generated by machine learning using a first dataset consisting of a plurality of data to which a class is assigned and a second dataset consisting of a plurality of data to which a class is not assigned. When,
    It is provided with an estimation unit that inputs estimation target data that can belong to the second data set into the estimation model and determines an estimation result.
    The estimation model is
    An encoder that calculates features from the input data,
    Based on the feature quantity, the first classifier that outputs the first probability that the input data is the first class, and
    Based on the feature quantity, the input data includes a second classifier that outputs a second probability of being a second class.
    The estimation model is calculated based on the first probability and the second probability output when the data contained in either the first data set or the second data set is input to the estimation model. An estimator that is trained based on a determined learning priority for the input data, depending on the magnitude of the discriminant discrepancy.
  10.  クラスが付与された複数のデータからなる第1のデータセット、および、クラスが付与されていない複数のデータからなる第2のデータセットを用いて、機械学習により推定モデルを生成する学習ステップと、
     前記第2のデータセットに属し得る推定対象データを前記推定モデルに入力して、推定結果を決定する推定ステップとを備え、
     前記推定モデルは、
      入力されたデータから特徴量を算出するエンコーダと、
      前記特徴量に基づいて、前記入力されたデータが第1のクラスである第1の確率を出力する第1の識別器と、
      前記特徴量に基づいて、前記入力されたデータが第2のクラスである第2の確率を出力する第2の識別器とを含み、
     前記学習ステップは、
      前記第1のデータセットおよび前記第2のデータセットのいずれかに含まれるデータを前記推定モデルに入力したときに出力される第1の確率および第2の確率に基づいて、識別の不一致を算出するステップと、
      算出された識別の不一致の大きさに応じて、当該入力されたデータについての学習の優先度を決定するステップとを含む、推定方法。
    A learning step of generating an estimation model by machine learning using a first dataset consisting of a plurality of data to which a class is assigned and a second dataset consisting of a plurality of data to which a class is not assigned.
    It includes an estimation step of inputting estimation target data that can belong to the second data set into the estimation model and determining an estimation result.
    The estimation model is
    An encoder that calculates features from the input data,
    Based on the feature quantity, the first classifier that outputs the first probability that the input data is the first class, and
    Based on the feature quantity, the input data includes a second classifier that outputs a second probability of being a second class.
    The learning step
    Discrimination mismatch is calculated based on the first and second probabilities that are output when the data contained in either the first data set or the second data set is input to the estimation model. Steps to do and
    An estimation method that includes a step of determining the learning priority for the input data according to the magnitude of the calculated identification discrepancy.
PCT/JP2020/040205 2019-11-14 2020-10-27 Inference system, inference device, and inference method WO2021095509A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-206384 2019-11-14
JP2019206384A JP7472471B2 (en) 2019-11-14 2019-11-14 Estimation system, estimation device, and estimation method

Publications (1)

Publication Number Publication Date
WO2021095509A1 true WO2021095509A1 (en) 2021-05-20

Family

ID=75912340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/040205 WO2021095509A1 (en) 2019-11-14 2020-10-27 Inference system, inference device, and inference method

Country Status (2)

Country Link
JP (1) JP7472471B2 (en)
WO (1) WO2021095509A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023013075A1 (en) * 2021-08-06 2023-02-09 日本電信電話株式会社 Learning device, estimation device, learning method, and learning program
JP7440798B2 (en) 2020-06-09 2024-02-29 日本電信電話株式会社 Learning device, prediction device, learning method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019150813A1 (en) * 2018-01-30 2019-08-08 富士フイルム株式会社 Data processing device and method, recognition device, learning data storage device, machine learning device, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019150813A1 (en) * 2018-01-30 2019-08-08 富士フイルム株式会社 Data processing device and method, recognition device, learning data storage device, machine learning device, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAITO KUNIAKI, WATANABE KOHEI, USHIKU YOSHITAKA, HARADA TATSUYA: "Maximum Classifier Discrepancy for Unsupervised Domain Adaptation", ARXIV, 3 April 2018 (2018-04-03), pages 3723 - 3732, XP033476343, Retrieved from the Internet <URL:https://arxiv.org/pdf/1712.02560v4.pdf> [retrieved on 20210107] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7440798B2 (en) 2020-06-09 2024-02-29 日本電信電話株式会社 Learning device, prediction device, learning method and program
WO2023013075A1 (en) * 2021-08-06 2023-02-09 日本電信電話株式会社 Learning device, estimation device, learning method, and learning program

Also Published As

Publication number Publication date
JP2021081795A (en) 2021-05-27
JP7472471B2 (en) 2024-04-23

Similar Documents

Publication Publication Date Title
Jiang et al. Scalor: Generative world models with scalable object representations
WO2018121690A1 (en) Object attribute detection method and device, neural network training method and device, and regional detection method and device
US9111375B2 (en) Evaluation of three-dimensional scenes using two-dimensional representations
JP2018097807A (en) Learning device
WO2021095509A1 (en) Inference system, inference device, and inference method
JP2008262331A (en) Object tracking device and object tracking method
CN109447096B (en) Glance path prediction method and device based on machine learning
CN113158391B (en) Visualization method, system, equipment and storage medium for multidimensional network node classification
WO2020240808A1 (en) Learning device, classification device, learning method, classification method, learning program, and classification program
CN112446275A (en) Object number estimation device, object number estimation method, and storage medium
CN111462184B (en) Online sparse prototype tracking method based on twin neural network linear representation model
JP2021149842A (en) Machine learning system and machine learning method
Lyu et al. Probabilistic object detection via deep ensembles
WO2017188048A1 (en) Preparation apparatus, preparation program, and preparation method
JP6988995B2 (en) Image generator, image generator and image generator
JP6955233B2 (en) Predictive model creation device, predictive model creation method, and predictive model creation program
JP2019067299A (en) Label estimating apparatus and label estimating program
Lange et al. Lopr: Latent occupancy prediction using generative models
JP7331940B2 (en) LEARNING DEVICE, ESTIMATION DEVICE, LEARNING METHOD, AND LEARNING PROGRAM
JPWO2019171416A1 (en) Image classification system, image classification method and image classification program
Nikpour et al. Deep reinforcement learning in human activity recognition: A survey
WO2019235370A1 (en) Learning device, forecasting device, method, and program
JPWO2012032747A1 (en) Feature point selection system, feature point selection method, and feature point selection program
CN114912568A (en) Method, apparatus and computer-readable storage medium for data processing
CN112446428A (en) Image data processing method and device

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20886336

Country of ref document: EP

Kind code of ref document: A1