WO2020039882A1 - 判別装置及び機械学習方法 - Google Patents

判別装置及び機械学習方法 Download PDF

Info

Publication number
WO2020039882A1
WO2020039882A1 PCT/JP2019/030247 JP2019030247W WO2020039882A1 WO 2020039882 A1 WO2020039882 A1 WO 2020039882A1 JP 2019030247 W JP2019030247 W JP 2019030247W WO 2020039882 A1 WO2020039882 A1 WO 2020039882A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
learning data
unit
data
sub
Prior art date
Application number
PCT/JP2019/030247
Other languages
English (en)
French (fr)
Inventor
勇太 並木
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to US16/640,729 priority Critical patent/US11461584B2/en
Priority to CN201980004214.7A priority patent/CN111183437A/zh
Priority to DE112019000093.4T priority patent/DE112019000093T5/de
Publication of WO2020039882A1 publication Critical patent/WO2020039882A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7796Active pattern-learning, e.g. online learning of image or video features based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • the present invention relates to a discriminating apparatus and a machine learning method, and more particularly, to a discriminating apparatus and a machine learning method for detecting an annotation error.
  • a method of performing an appearance inspection of an object based on an image of the appearance of the object there is a method using machine learning using a machine learning device such as a deep neural network.
  • a machine learning device such as a deep neural network.
  • a work called an annotation for associating a label indicating whether or not there is a defective portion in the image with each image data is performed.
  • the worker checks the images one by one and visually determines whether or not the target in the image has a defective portion.
  • an object of the present invention is to provide a discriminating apparatus and a machine learning method capable of detecting an annotation error.
  • the present invention repeatedly performs label discrimination processing based on learning data extracted from a set of learning data and verification data, and performs statistical processing on the discrimination result, thereby annotating an annotation that is likely to be erroneous. Detect and present it to the operator to correct it.
  • the accuracy of the annotation is improved so that the machine learning device can be learned more accurately, and the accuracy of object discrimination is improved by using a learned model generated by such learning.
  • an error in the annotation is detected by the following procedure.
  • Procedure 1) Select learning data by a predetermined number or ratio from the learning data set. It is desirable that the selection method be a method of selecting at random, such as selecting at random, so that bias does not easily occur.
  • Step 2) A set of learning data selected in step 1 is set as a sub-learning data set.
  • Step 3) The remaining set of learning data not selected in step 1 is set as a sub-verification data set.
  • Step 4) The learning of the learning device is performed using the sub-learning data set in the same manner as the normal learning.
  • Step 5) Using the learning device generated in step 4, discriminate the sub-verification data set.
  • Step 6) The number of determinations of each learning data determined in step 5 is increased by one, and if the determination result matches the annotation, the number of correct answers of the learning data is increased by one.
  • Step 7) Steps 1 to 6 are performed a predetermined number of times while changing the selection method in step 1.
  • Step 8) A value obtained by dividing the number of correct answers of each learning data by the number of determinations is calculated as the probability that the annotation of the learning data is correct.
  • Step 9) Learning data in which the probability of each piece of learning data calculated in step 8 is lower than a predetermined threshold is presented to the user as learning data in which the annotation may be incorrect, and it is necessary to reconfirm whether the annotation is correct. Encourage them to fix any.
  • Step 10) After correcting the annotation error, learning is performed using all the learning data sets.
  • One embodiment of the present invention is a discrimination device that detects an error in an annotation, and acquires a learning data storage unit that stores a learning data set including a plurality of learning data, and acquires data related to an object to be determined.
  • a sub-learning unit used for learning from a data acquisition unit stored in the learning data storage unit as learning data, a label assigning unit that assigns a label to the learning data, and a learning data set stored in the learning data storage unit A data set, a sub-data set extraction unit for extracting a sub-verification data set used for verification, and a trained model for performing supervised learning based on the sub-learning data set and discriminating a label from data on the object.
  • a learning unit to generate, and the learning model included in the sub-verification data set.
  • a discrimination unit that performs a discrimination process using the learning data; a verification result recording unit that records a result of the discrimination process on each learning data by the discrimination unit in the learning data storage unit in association with the learning data; Based on the result of the determination process recorded in association with the respective learning data in the unit, correctness detection unit that detects the learning data that the label given by the label giving unit may be erroneous,
  • the extraction of the sub-learning data set and the sub-verification data set by the sub-data set extracting unit, the generation of the trained model by the learning unit, and the discriminating process by the discriminating unit are performed a predetermined number of times.
  • the probability that the label assigned by the label assigning unit is correct is calculated based on the result of the identifying process executed by the identifying unit a predetermined number of times. , Calculated label to detect the learning data that may have incorrect label granted by the labeling unit on the basis of the correct probability, a determination device having a.
  • a learning data storage unit that stores a learning data set including a plurality of learning data, and a first step of acquiring data relating to an object to be determined.
  • a discriminating process using the learned model for each of the learning data included in the sub-verification data set A fifth step to be performed, a sixth step of recording the result of the discriminating process on each learning data in the fifth step in association with the learning data, and a recording in association with each learning data in the sixth step.
  • the seventh step calculates the correct probability that the label assigned to each learning data is correct based on the result of the determination process performed a predetermined number of times in the five step, and determines that the calculated label has the correct probability. Is a machine learning method for detecting learning data in which an assigned label may be incorrect based on the learning data.
  • ADVANTAGE OF THE INVENTION it becomes possible to automatically detect the label which may be wrong about the annotation (label assignment) with respect to the data regarding the object manually performed by the operator, By correcting a label in which an error has been detected by using this method, a learned model based on correct learning data can be generated.
  • FIG. 1 is a schematic hardware configuration diagram illustrating a main part of a discrimination device including a machine learning device according to an embodiment.
  • FIG. 2 is a schematic functional block diagram of a discrimination device according to one embodiment.
  • FIG. 1 is a schematic hardware configuration diagram illustrating a main part of a discrimination device including a machine learning device according to the first embodiment.
  • a machine learning method for detecting an annotation error will be described using an example in which the machine learning method is mounted on a discriminating device used for visual inspection.
  • FIG. 1 is a schematic hardware configuration diagram showing a main part of a discrimination device according to an embodiment of the present invention.
  • the discriminating apparatus 1 according to the present embodiment can be implemented as a personal computer installed in a factory, or a computer such as a cell computer, a host computer, an edge computer, or a cloud server that manages machines installed in the factory.
  • FIG. 1 shows an example in which the discrimination device 1 is mounted as a personal computer installed in a factory.
  • the CPU 11 included in the determination device 1 is a processor that controls the determination device 1 as a whole.
  • the CPU 11 reads a system program stored in the ROM 12 via the bus 20 and controls the entire discriminating apparatus 1 according to the system program.
  • the RAM 13 temporarily stores temporary calculation data, various data input by the operator via the input device 71, and the like.
  • the non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown), an SSD, or the like, and retains the stored state even when the power of the determination device 1 is turned off.
  • the non-volatile memory 14 includes a setting area for storing setting information related to the operation of the discriminating apparatus 1, a program and data input from the input device 71, and learning data read via an external storage device (not shown) or a network. Data sets and the like are stored.
  • the programs and various data stored in the nonvolatile memory 14 may be expanded in the RAM 13 at the time of execution / use.
  • a system program including a known analysis program for analyzing the learning data set and a program for controlling exchange with the machine learning device 100 described later is written in the ROM 12 in advance.
  • the imaging device 4 is an electronic camera having an imaging element such as a CCD, for example, and is a known light receiving device having a function of detecting a two-dimensional image on an imaging surface (on a CCD array surface) by imaging.
  • the imaging device 4 is attached to, for example, a hand of a robot (not shown), is moved to an imaging position where the robot images an object to be determined, and image data obtained by imaging the object is transmitted via the interface 19.
  • the control related to the imaging of the object by the imaging device 4 may be performed by the determination device 1 executing a program. Further, control relating to imaging of an object by the imaging device 4 may be performed by control from a robot controller that controls the robot or another device.
  • the display device 70 includes various data read into a memory, data obtained as a result of execution of a program or the like, image data of an object obtained by imaging by the imaging device 4, a machine learning device 100 described later. Is output via the interface 17 and displayed.
  • the input device 71 including a keyboard, a pointing device, and the like receives a command, data, and the like based on an operation performed by an operator, and passes the command, data, and the like to the CPU 11 via the interface 18.
  • the interface 21 is an interface for connecting the discriminating device 1 and the machine learning device 100.
  • the machine learning device 100 includes a processor 101 that controls the entire machine learning device 100, a ROM 102 that stores a system program and the like, a RAM 103 for temporarily storing each process related to the machine learning, and a storage of a learning model and the like.
  • a non-volatile memory 104 used for The machine learning device 100 can observe information (for example, a learning data set or the like) that can be obtained by the discriminating device 1 via the interface 21. Further, the determination device 1 acquires the processing result output from the machine learning device 100 via the interface 21.
  • FIG. 2 is a schematic functional block diagram of the discrimination device 1 and the machine learning device 100 according to the first embodiment.
  • Each of the functional blocks illustrated in FIG. 2 includes a CPU 11 included in the discriminating apparatus 1 illustrated in FIG. 1 and a processor 101 of the machine learning apparatus 100 executing respective system programs. It is realized by controlling the operation of each unit.
  • the discriminating apparatus 1 includes a data acquisition unit 30, a label assigning unit 32, a sub-data set extracting unit 34, a verification result recording unit 40, and a true / false detection unit 42. Includes a learning unit 110 and a determination unit 120.
  • the data acquisition unit 30 acquires data on the object to be determined from the imaging device 4.
  • the data acquisition unit 30 may acquire data relating to an object to be determined via an external storage device or a network (not shown).
  • the data on the object acquired by the data acquisition unit 30 is image data.
  • the data acquisition unit 30 may perform a pre-process of converting the acquired data into a data format handled inside the determination device 1. For example, when the data relating to the object is an image as in the present embodiment, the position and orientation of the object in the image data are determined by an image processing method known in Japanese Patent Application Laid-Open No. 2017-091079.
  • the data relating to the object acquired by the data acquisition unit 30 is stored as learning data in a learning data storage unit 50 secured as a storage area in the nonvolatile memory 14.
  • the learning data stored in the learning data storage unit 50 may be stored in association with the number of determinations / the number of correct answers. In this case, at the stage where the data is stored in the learning data storage unit 50 by the data acquisition unit 30, the number of determinations / the number of correct answers associated with the learning data is reset to zero.
  • the label assigning unit 32 assigns (annotates) a label to the learning data (data relating to the object) acquired by the data acquiring unit 30 and stored in the learning data storage unit 50, and assigns the assigned label to the learning data. It is stored in the learning data storage unit 50 in association with it.
  • the label assigning unit 32 associates, for example, a label assigned to each piece of learning data by operating the input device 71 while watching the learning data displayed on the display device 70 with the learning data storage unit. Store in 50.
  • the label providing unit 32 is a non-defective product; If it is less than or equal to the second threshold value, a label may be automatically given as a defective product. Further, the result automatically given may be displayed on the display device 70 so that the operator can confirm or correct the result. For example, when it is determined whether the target object is a non-defective product or a non-defective product in the visual inspection, two labels of non-defective product / defective product may be used as the label provided by the label provision unit 32. For example, three or more labels (large / medium / small, type A / type B /...) May be given according to the purpose of the determination by the device 1.
  • the sub-data set extracting unit 34 extracts a predetermined number or a predetermined percentage of learning data as a sub-learning data set from a plurality of learning data stored in the learning data storage unit 50, and performs other learning. Extract the data as a sub-validation data set. It is desirable that each sub data set extracted by the sub data set extraction unit 34 be extracted so that bias does not easily occur. For example, the sub data set extracted from the learning data stored in the learning data storage unit 50 is used as a sub learning data set. The learning data may be randomly extracted, or a statistical sampling method such as a systematic sampling method may be used. Further, the sub-data set extracting unit 34 may preferentially extract, as a sub-verification data set, learning data having a small number of determinations described below.
  • the learning unit 110 performs supervised learning using the sub-learning data set extracted by the sub-data set extracting unit 34, and generates a learned model used for estimating a discrimination result (label) from data on the target object. Do (learn).
  • the learning unit 110 uses, for example, a neural network as a learning model, and uses, as input data, data relating to the target object among the learning data included in the sub-learning data set extracted by the sub-data set extraction unit 34. Alternatively, supervised learning using labels as output data may be performed.
  • a neural network having three layers of an input layer, an intermediate layer, and an output layer may be used as a learning model, but a so-called deep learning using a neural network having three or more layers is used.
  • a so-called deep learning using a neural network having three or more layers is used.
  • the learning unit 110 may be configured to perform machine learning using an SVM or another learning model, and may select an appropriate learning model in consideration of characteristics of data on an object to be determined by the determination device 1 and the like. Good choice.
  • the learned model generated by the learning unit 110 is stored in a learning model storage unit 130 provided on the non-volatile memory 104, and is used for an estimation process by the determination unit 120 based on the sub-verification data set.
  • the discrimination unit 120 performs discrimination (estimation of the discrimination result) using the learned model generated by the learning unit 110 for each learning data included in the sub-verification data set extracted by the sub-data set extraction unit 34.
  • the discriminating unit 120 performs a discriminating process on each of the learning data included in the sub-verification data set as data on the learned model stored in the learning model storage unit 130, using data on the object of the learning data as an input.
  • the result of the determination is output to the verification result recording unit 40.
  • the verification result recording unit 40 associates the result of the determination with the learning data in the learning data storage unit 50 with respect to each of the learning data included in the sub-verification data set and determined by the determination unit 120.
  • the verification result recording unit 40 increases the number of discriminations of the learning data discriminated by the discriminating unit 120 by one, and the discrimination result by the discriminating unit 120 matches the label assigned to the learning data by the label assigning unit 32. If so, the number of correct answers of the learning data is increased by one.
  • the above-described processing of extracting the sub-learning data set and the sub-verification data set by the sub-data set extracting unit 34, the processing of generating the trained model using the sub-learning data set by the learning unit 110, and the processing of The discrimination process and the recording process of the discrimination result of the discrimination unit 120 by the verification result recording unit 40 are repeatedly performed a predetermined number of times.
  • the number of repetitions may be determined based on the number of pieces of learning data stored in the learning data storage unit 50. Further, for all the learning data stored in the learning data storage unit 50, the repetition process may be repeated until the number of discriminations recorded by the verification result recording unit 40 becomes a predetermined number or more in advance.
  • the sub-learning data set and the sub-verification data set extracted by the sub-data set extracting unit 34 are different data sets each time.
  • the learning by the learning unit 110 and the determination by the determination unit 120 are performed using a combination of various sub-data sets.
  • a plurality of discrimination processes are performed on each learning data, and the verification result recording unit 40 records the number of discriminations and the number of correct answers of each learning data.
  • the correctness detection unit 42 calculates a value obtained by dividing the number of correct answers by the number of determinations as a label (annotation) assigned to the learning data as a correct probability.
  • the correctness / error detection unit 42 displays on the display device 70, as to learning data having a probability that the label is correct is lower than a predetermined threshold value, assuming that the label given to the learning data may be incorrect. Is also good.
  • the operator reconfirms whether or not the label is correct by looking at the display, and corrects the label by operating the input device 71 as necessary.
  • the probability that the label calculated by the correct / incorrect detection unit is correct may be stored in the learning data storage unit 50 in association with the learning data as illustrated in, for example, FIG.
  • the label assigned to the acquired learning data is determined based on the relationship with the label assigned to the other learning data. Determine.
  • the operator can correct the label based on the determination result.
  • the learning unit 110 can generate a learned model again using the set of learning data that is reconfirmed by the operator and is estimated to have been correctly labeled. Since the learned model generated in this manner is generated based on correct annotations, it is expected that the object can be determined with high accuracy using the learned model.
  • FIG. 4 is a schematic flowchart of a process of detecting an annotation error by the discriminating apparatus 1 according to the present embodiment.
  • the data acquisition unit 30 acquires data on the target object and stores the acquired data in the learning data storage unit 50 as learning data.
  • the label assigning unit 32 performs annotation (labeling) on the data relating to the object acquired in step SA01 based on the operation of the operator, and associates the data with the learning data to store the learning data storage unit 50. To memorize.
  • Step SA03 It is determined whether or not there is data on the object. If there is data on the object, the process proceeds to step SA01. If there is no data on the object, the process proceeds to step SA04.
  • the sub-data set extraction unit 34 extracts a sub-learning data set and a sub-verification data set from the learning data set stored in the learning data storage unit 50.
  • the learning unit 110 performs supervised learning using the sub-learning data set extracted in step SA04, and generates a learned model.
  • the determination unit 120 performs a determination process on each of the learning data included in the sub-verification data set extracted in step SA04 using the learned model constructed in step SA05.
  • the verification result recording unit 40 records the determination result in step SA06 in the learning data storage unit 50 in association with the learning data as the number of determinations of each learning data / the number of correct answers.
  • Step SA08 It is determined whether or not steps SA04 to SA07 have been repeated a predetermined number of times. If the process has been repeated the predetermined number of times, the process proceeds to step SA09. If the process has not been repeated the predetermined number of times, the process proceeds to step SA04.
  • the correctness / incorrectness detection unit 42 calculates the probability of correctness of the label assigned to each learning data based on the number of determinations / correctness of the learning data stored in the learning data storage unit 50, and calculates Based on the probability of the correct answer, the learning data that may have an incorrect label is extracted and displayed on the display device 70.
  • the label assigning unit 32 corrects the label assigned to the learning data based on the operation of the worker.
  • the discriminating apparatus 1 has difficulty in correctly discriminating a label with given learning data or a learning model used for learning / discrimination, that is, a learning data set.
  • the configuration may be such that the difficulty of the determination is displayed on the display device 70.
  • the determination of the difficulty may be made based on the correct probability that the label assigned to each piece of learning data calculated by the true / false detection unit 42 is correct.
  • the correctness / error detection unit 42 performs a statistical process on the probability that the assigned label is correct, for example, in the set of learning data stored in the learning data storage unit 50, and the label assigned to the learning data set is correct.
  • the difficulty of determining the learning data set may be determined.
  • the label given to the object to be discriminated by the discriminating apparatus 1 is not a classification to which the object belongs (discrete value such as good / defective), but a coordinate value. Or a set of continuous values such as angle, amount, and the like.
  • the learned model generated by the learning unit 110 outputs data of a set of continuous values (numerical values) or continuous values with data on the object as an input. Outputs a set of continuous values (numerical values) or continuous values as the estimation result.
  • whether or not the label assigned to the learning data is correct can be determined by comparing the distance between the label assigned to the learning data and the estimated value of the label output by the determination unit 120 with a predetermined threshold. it can.
  • the probability that the label is correct may be calculated based on the calculated distance.
  • each learning data stored in the learning data storage unit 50 is stored in association with the difference integrated value instead of the number of correct answers, and the discrimination unit 120 performs the processing on each learning data included in the sub-verification data set.
  • the verification result recording unit 40 sets the absolute value of the difference between the estimated value of the label output as the discriminating result of the discriminating unit 120 and the label assigned to the learning data by the label assigning unit 32 or The distance between the estimated value of the label output as the determination result by the determination unit 120 and the label assigned to the learning data by the label assignment unit 32 is integrated into the difference integration value.
  • the correctness detection unit 42 calculates the probability that the label assigned to the learning data is correct based on the value obtained by dividing the integrated difference value by the number of determinations for each of the learning data stored in the learning data storage unit 50. (For example, a correct probability of the label is calculated by a known statistical distribution-based statistical method based on a distribution of values obtained by dividing the difference integrated value in each learning data by the number of determinations).
  • the learning algorithm executed by the machine learning device 100 the operation algorithm executed by the machine learning device 100, the control algorithm executed by the discriminating device 1, and the like are not limited to those described above, and various algorithms can be adopted.
  • the discriminating apparatus 1 and the machine learning apparatus 100 are described as apparatuses having different CPUs (processors).
  • the machine learning apparatus 100 includes a CPU 11 included in the discriminating apparatus 1 and a system stored in the ROM 12. -It may be realized by a program.
  • the present invention can also be applied to other data such as waveform data of physical quantities such as current / voltage and pressure acquired from an object, and audio data related to sound emitted from the object. Regardless of the type of data, the method can be applied as appropriate when the operator performs annotation (labels) based on his / her own sense.
  • Reference Signs List 1 discriminating device 4 imaging device 11 CPU 12 ROM 13 RAM 14 Nonvolatile Memory 17, 18, 19 Interface 20 Bus 21 Interface 30 Data Acquisition Unit 32 Label Assignment Unit 34 Sub-Dataset Extraction Unit 40 Verification Result Recording Unit 42 Correctness Detection Unit 70 Display Device 71 Input Device 100 Machine Learning Device 101 Processor 102 ROM 103 RAM 104 nonvolatile memory 110 learning unit 120 discriminating unit 130 learning model storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Image Analysis (AREA)

Abstract

アノテーションの誤りを検出することが可能な判別装置及び機械学習方法を提供する。 本発明の判別装置1は、ラベルが付与された複数の学習データから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部34と、サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部110と、サブ検証データセットに含まれるそれぞれの学習データについて、学習済みモデルを用いた判別処理を行う判別部120と、判別処理の結果を学習データと関連付けて記録する検証結果記録部40と、それぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部42と、を備える。

Description

判別装置及び機械学習方法
 本発明は、判別装置及び機械学習方法に関し、特にアノテーションの誤りを検出する判別装置及び機械学習方法に関する。
 従来、工場において製造された製品等の対象物の外観を撮像手段で撮像し、撮像した画像に基づいた製品の仕分け作業や、正常品とキズや欠け等がある欠陥品との分類を行なう外観検査等が行なわれている(例えば、特許文献1~3等)。対象物の外観を撮像した画像に基づいて該対象物の外観検査を行う手法として、ディープニューラルネットワーク等の機械学習器を利用した機械学習が用いる手法がある。このような手法を取る場合、画像を用いた外観検査システムで学習を行う前段階としてアノテーションと呼ぶ作業を行う。アノテーションでは、画像に不良個所があるかどうかを示すラベルを、それぞれの画像データに関連付けるアノテーションと呼ぶ作業を行う。アノテーションにおいて、作業者は画像を1枚ずつ確認し、画像内の対象物に不良個所があるかどうかを目視で判断する。
特開2015-021756号公報 特開2005-052926号公報 特開2013-140090号公報
 このように画像へのアノテーションは通常人間が手動で行うため、対象物に明らかな変形や傷等がある場合には適切に不良品のラベルを付与することができるが、対象物の特徴の位置や寸法(例えば、製品に空いている穴の位置や寸法等)といったような、良品と比較した際の微妙な違いについては見落としがちで、不整合なくアノテーションすることが困難である。また、人間のケアレスミスによって、明らかに対象物に不良がある場合であっても良品としてしまうことやその逆は容易に起こり得る。
 このような人為的ミスによりアノテーションに一貫性が無いことで、的確に不良を判断できる学習器(学習済みモデル)の学習が行えなくなる。その結果、機械学習による検査結果の正解率が実用レベルに達しないということが起こる。人間がこのような間違いを正すためには、すべてのアノテーションを目視で再確認する必要があるが、これは非常に手間のかかる作業になる。このような問題は、画像による外観検査に用いられる機械学習器に特化したものではなく、人間がアノテーションすることで作成された学習データを用いた機械学習を行う場合に同様の問題が生じる。
 そこで本発明の目的は、アノテーションの誤りを検出することが可能な判別装置及び機械学習方法を提供することである。
 本発明は、学習データのセットから抽出される学習データと検証データとに基づくラベルの判別処理を繰り返し行い、その判別結果について統計的な処理を施すことで、誤っている可能性が高いアノテーションを検知し、これを作業者に提示して是正させる。この手法により、アノテーションの精度を向上させることで機械学習器をより的確に学習させることを可能とし、このような学習により生成した学習済みモデルを用いることで対象物の判別の精度を向上させる。
 より具体的には、以下の手順によりアノテーションの誤りを検出する。
手順1)学習データセットからあらかじめ決められた数または割合だけ、学習データを選びだす。選び出す方法はランダムに選び出す等、偏りが起きにくいように選び出す方法が望ましい。
手順2)手順1で選出された学習データの集合をサブ学習データセットとする。
手順3)手順1で選出されなかった残りの学習データの集合をサブ検証データセットとする。
手順4)サブ学習データセットを使って通常の学習と同じように学習器の学習を行う。
手順5)手順4で生成された学習器を使ってサブ検証データセットに対して判別を行う。
手順6)手順5で判別された各学習データの判別回数を1増やし、その判別結果がアノテーションと一致していたらその学習データの正解回数を1増やす。
手順7)手順1での選び方を変えながら、手順1~6をあらかじめ決められた回数だけ行う。
手順8)各学習データの正解回数を判別回数で割った値をその学習データのアノテーションが正しい確率として算出する。
手順9)手順8で算出した各学習データの確率があらかじめ定めた閾値より低い学習データを、アノテーションが誤っている可能性がある学習データとしてユーザに提示し、アノテーションが正しいか再確認、必要があれば修正することを促す。
手順10)アノテーションの誤りを修正したのちに、全ての学習データセットを用いて学習を行う。
 そして、本発明の一態様は、アノテーションの誤りを検出する判別装置であって、複数の学習データからなる学習データセットを記憶する学習データ記憶部と、判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、前記学習データに対してラベルを付与するラベル付与部と、前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する検証結果記録部と、前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、を備え、前記サブデータセット抽出部によるサブ学習データセットとサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、を備えた判別装置である。
 本発明の他の態様は、アノテーションの誤りを検出する機械学習方法において、複数の学習データからなる学習データセットを記憶する学習データ記憶部と、判別する対象物に係るデータを取得する第1ステップと、前記第1ステップで取得された前記学習データに対してラベルを付与する第2ステップと、前記第2ステップでラベルが付与された学習データのセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する第3ステップと、前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する第4ステップと、前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う第5ステップと、前記第5ステップでのそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて記録する第6ステップと、前記第6ステップでそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する第7ステップと、を実行する機械学習方法であって、前記第3~5ステップは所定の回数だけ実行され、前記第7ステップは、前記5ステップにおいて所定の回数だけ実行された判別処理の結果に基づいてそれぞれの学習データに付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する、機械学習方法である。
 本発明により、作業者が手作業で行った対象物に係るデータに対するアノテーション(ラベルの付与)について、誤っている可能性があるラベルを自動的に検出することができるようになり、このようにして誤りを検出したラベルを修正することで、正しい学習データに基づいた学習済みモデルを生成することが可能となる。
一実施形態による機械学習装置を備えた判別装置の要部を示す概略的なハードウェア構成図である。 一実施形態による判別装置の概略的な機能ブロック図である。 学習データ記憶部に記憶される学習データセットを例示する図である。 一実施形態による判別装置上で実行される処理の概略的なフローチャートである。
 以下、本発明の実施形態を図面と共に説明する。
 図1は第1の実施形態による機械学習装置を備えた判別装置の要部を示す概略的なハードウェア構成図である。本実施形態では、アノテーションの間違いを検知する機械学習方法を、外観検査に用いられる判別装置上に実装した場合の例を用いて説明する。
 図1は本発明の一実施形態による判別装置の要部を示す概略的なハードウェア構成図である。本実施形態の判別装置1は、工場に設置されているパソコンや、工場に設置される機械を管理するセルコンピュータ、ホストコンピュータ、エッジコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図1は、工場に設置されているパソコンとして判別装置1を実装した場合の例を示している。
 本実施形態による判別装置1が備えるCPU11は、判別装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って判別装置1全体を制御する。RAM13には一時的な計算データ、入力装置71を介して作業者が入力した各種データ等が一時的に格納される。
 不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD等で構成され、判別装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、判別装置1の動作に係る設定情報が格納される設定領域や、入力装置71から入力されたプログラムやデータ等、図示しない外部記憶装置やネットワークを介して読み込まれた学習データセット等が記憶される。不揮発性メモリ14に記憶されたプログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、学習データセットを解析するための公知の解析プログラムや後述する機械学習装置100とのやりとりを制御するためのプログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
 撮像装置4は、例えばCCD等の撮像素子を有する電子カメラであり、撮像により2次元画像を撮像面(CCDアレイ面上)で検出する機能を持つ周知の受光デバイスである。撮像装置4は、例えば図示しないロボットのハンドに取り付けられ、該ロボットにより判別対象となる対象物を撮像する撮像位置に移動され、該対象物を撮像して得られた画像データをインタフェース19を介してCPU11に渡す。撮像装置4による対象物撮像に係る制御は、判別装置1がプログラムを実行することにより行うようにしても良い。また、ロボットを制御するロボットコントローラや、他の装置からの制御により、撮像装置4による対象物撮像に係る制御を行うようにしても良い。
 表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、撮像装置4が撮像して得られた対象物の画像データ、後述する機械学習装置100から出力されたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、作業者による操作に基づく指令,データ等を受けて、インタフェース18を介してCPU11に渡す。
 インタフェース21は、判別装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介して判別装置1で取得可能な各情報(例えば、学習データセット等)を観測することができる。また、判別装置1は、機械学習装置100から出力される処理結果をインタフェース21を介して取得する。
 図2は、第1の実施形態による判別装置1と機械学習装置100の概略的な機能ブロック図である。図2に示した各機能ブロックは、図1に示した判別装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、判別装置1及び機械学習装置100の各部の動作を制御することにより実現される。
 本実施形態の判別装置1は、データ取得部30、ラベル付与部32、サブデータセット抽出部34、検証結果記録部40、正誤検出部42を備え、また、判別装置1が備える機械学習装置100は、学習部110、判別部120を備える。
 データ取得部30は、撮像装置4から判別する対象物に係るデータを取得する。データ取得部30は、図示しない外部記憶装置やネットワークを介して、判別する対象物に係るデータを取得するようにしても良い。本実施形態では、判別する対象物は外観検査を行う製品等であるから、データ取得部30が取得する対象物に係るデータは画像データとなる。この時、データ取得部30は、取得したデータを判別装置1の内部で扱うデータ形式へ変換する前処理をしても良い。例えば、本実施形態のように対象物に係るデータが画像である場合には、特開2017-091079号公報等により公知となっている画像処理手法により、画像データ内の対象物の位置や姿勢を検出し、検出した位置、姿勢で予め定められた領域の部分画像を切り抜く、といった処理をするようにしても良い。データ取得部30が取得した対象物に係るデータは、不揮発性メモリ14内に記憶領域として確保された学習データ記憶部50に学習データとして記憶される。なお、学習データ記憶部50に記憶されるそれぞれの学習データについて判別回数/正解回数を関連付けて記憶するようにしても良い。この場合、データ取得部30により学習データ記憶部50に記憶された段階で、該学習データに関連付けた判別回数/正解回数を0にリセットしておく。
 ラベル付与部32は、データ取得部30が取得して学習データ記憶部50に記憶した学習データ(対象物に係るデータ)に対してラベルを付与(アノテーション)し、付与したラベルを該学習データと関連付けて学習データ記憶部50に記憶する。ラベル付与部32は、例えば作業者が表示装置70に表示された学習データを見ながら入力装置71を操作して各学習データに対して付与したラベルを、該学習データと関連付けて学習データ記憶部50に記憶する。ラベル付与部32は、例えば対象物に係るデータの判別を自動で行う数理的アルゴリズムに基づいて算出された判別値が予め定めた所定の第1の閾値以上であれば良品、予め定めた所定の第2の閾値以下であれば不良品と自動的にラベルを付与するようにしても良い。また、自動付与した結果は表示装置70に表示して作業者に確認乃至修正をさせるようにしても良い。ラベル付与部32が付与するラベルは、例えば外観検査において対象物が良品であるか不良品であるかを判別する場合には良品/不良品という2つのラベルを用いればよいが、その他にも判別装置1による判別の目的に応じて、例えば3つ以上のラベル(大/中/小、種類A/種類B/…、等)を付与するようにしても良い。
 サブデータセット抽出部34は、学習データ記憶部50に記憶された複数の学習データの中から、予め定めた所定の数又は所定の割合の学習データをサブ学習データセットとして抽出し、その他の学習データをサブ検証データセットとして抽出する。サブデータセット抽出部34が抽出するそれぞれのサブデータセットは、偏りが起きにくいように抽出することが望ましく、例えば学習データ記憶部50に記憶されている学習データの中からサブ学習データセットとしての学習データをランダムに抽出したり、系統抽出法等の統計的な標本抽出法を用いるようにしたりしても良い。また、サブデータセット抽出部34は、後述する判別回数が少ない学習データは、優先してサブ検証データセットとして抽出するようにしても良い。
 学習部110は、サブデータセット抽出部34が抽出したサブ学習データセットを用いた教師あり学習を行い、対象物に係るデータから判別結果(ラベル)を推定するために用いられる学習済みモデルを生成する(学習する)。本実施形態の学習部110は、例えばニューラルネットワークを学習モデルとして用い、サブデータセット抽出部34が抽出したサブ学習データセットに含まれるそれぞれの学習データのうちの対象物に係るデータを入力データとし、ラベルを出力データとした教師あり学習を行うように構成しても良い。この様に構成する場合、学習モデルとしては入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。本実施形態による学習部110による学習においては、例えば学習モデルに対して画像データの各画素値を入力して一致度を算出し、算出した一致度と付与されているラベルとの誤差を学習モデルに対して逆伝播し、学習モデルのパラメータを更新する手法(誤差逆伝播法)等を取ることができる。また、学習部110はSVMや他の学習モデルを用いた機械学習を行うように構成してもよく、判別装置1が判別する対象物に係るデータの特性等を考慮して適切な学習モデルを選択すると良い。学習部110が生成した学習済みモデルは、不揮発性メモリ104上に設けられた学習モデル記憶部130に記憶され、判別部120によるサブ検証データセットに基づく推定処理に用いられる。
 判別部120は、サブデータセット抽出部34が抽出したサブ検証データセットに含まれるそれぞれの学習データについて、学習部110が生成した学習済みモデルを用いた判別(判別結果の推定)を行う。判別部120は、サブ検証データセットに含まれるそれぞれの学習データについて、該学習データの対象物に係るデータを学習モデル記憶部130に記憶されている学習済みモデルに対する入力として判別処理を行い、その結果としての判別結果を検証結果記録部40に出力する。
 検証結果記録部40は、サブ検証データセットに含まれる学習データであって、判別部120により判別が行われた各学習データについて、判別の結果を学習データ記憶部50に該学習データと関連付けて記憶する。検証結果記録部40は、判別部120により判別が行われた学習データの判別回数を1増加させ、また、判別部120による判別結果がラベル付与部32により該学習データに付与されたラベルと一致していた場合に、その学習データの正解回数を1増加させる。
 前記した、サブデータセット抽出部34によるサブ学習データセット及びサブ検証データセットの抽出処理、学習部110によるサブ学習データセットを用いた学習済みモデルの生成処理、判別部120によるサブ検証データセットに対する判別処理、及び検証結果記録部40による判別部120の判別結果の記録処理は、所定の回数だけ繰り返し行われる。この繰り返し回数は、学習データ記憶部50に記憶された学習データの数に基づいて決定するようにしても良い。また、学習データ記憶部50に記憶されるすべての学習データについて、検証結果記録部40が記録する判別回数が、予め所定の回数以上となるまで、この繰り返し処理が繰り返されるようにしても良い。
 繰り返しの回において、サブデータセット抽出部34が抽出するサブ学習データセット及びサブ検証データセットは、毎回異なるデータセットとなることに留意されたい。このようにして、様々なサブデータセットの組み合わせで、学習部110による学習と、判別部120による判別が行われる。そして、その結果として各学習データについて、複数回の判別処理が行われ、検証結果記録部40が、それぞれの学習データの判別回数及び正解回数を記録する。
 正誤検出部42は、学習データ記憶部50に記憶されたそれぞれの学習データについて、正解回数を判別回数で割った値をその学習データに付与されたラベル(アノテーション)を正しい確率として算出する。正誤検出部42は、ラベルが正しい確率が予め定めた所定の閾値より低い学習データについて、該学習データに付与されているラベルが誤っている可能性があるとして表示装置70に表示するようにしても良い。作業者は、その表示を見てラベルが正しいか否か再確認し、必要に応じて入力装置71を操作してラベルの修正を行う。正誤検出部が算出したラベルが正しい確率は、例えば図3に例示されるように、学習データと関連付けて学習データ記憶部50に記憶するようにしても良い。
 このような構成を備えた判別装置1では、取得した学習データに対して付与されるラベルについて、他の学習データに付与されたラベルとの関係性の元で、正しくない可能性があるラベルを判別する。作業者は、この判別結果に基づいてラベルの修正をすることができる。そして、作業者により再確認され、正しいラベル付けが為されたと推定される学習データのセットを用いて、改めて学習部110による学習済みモデルの生成を行うことができる。このようにして生成された学習済みモデルは正しいアノテーションに基づいて生成されたものであるため、該学習済みモデルを用いて高い精度で対象物の判別を行えることが見込まれる。
 図4は、本実施形態による判別装置1によるアノテーションの誤りを検出する処理の概略的なフローチャートである。
●[ステップSA01]データ取得部30が、対象物に係るデータを取得し、学習データとして学習データ記憶部50に記憶する。
●[ステップSA02]ラベル付与部32が、ステップSA01で取得した対象物に係るデータに対して作業者の操作等に基づいてアノテーション(ラベル付け)を行い、学習データと関連付けて学習データ記憶部50に記憶する。
●[ステップSA03]対象物に係るデータがまだあるか否かを判定する。対象物に係るデータがまだある場合には、ステップSA01へ処理を移行し、対象物に係るデータがない場合には、ステップSA04に処理を移行する。
●[ステップSA04]サブデータセット抽出部34は、学習データ記憶部50に記憶された学習データのセットの中から、サブ学習データセット及びサブ検証データセットを抽出する。
●[ステップSA05]学習部110は、ステップSA04で抽出されたサブ学習データセットを用いた教師あり学習を行い、学習済みモデルを生成する。
●[ステップSA06]判別部120は、ステップSA04で抽出されたサブ検証データセットに含まれるそれぞれの学習データについて、ステップSA05で構築された学習済みモデルを用いた判別処理を行う。
●[ステップSA07]検証結果記録部40は、ステップSA06での判別結果を、各学習データの判定回数/正解回数として学習データと関連付けて学習データ記憶部50に記録する。
●[ステップSA08]ステップSA04~SA07が所定回数繰り返されたか否かを判定する。所定回数繰り返された場合は、ステップSA09へ処理を移行し、所定回数繰り返されていない場合は、ステップSA04へ処理を移行する。
●[ステップSA09]正誤検出部42は、学習データ記憶部50に記憶された学習データの判定回数/正解回数に基づいてそれぞれの学習データに付与されているラベルの正解の確率を算出し、算出したラベルが正解の確率に基づいて誤ったラベルが付与されている可能性がある学習データを抽出し、表示装置70へ表示する。
●[ステップSA10]ラベル付与部32は、作業者の操作に基づいて学習データに付与されているラベルを修正する。
 本実施形態の判別装置1の一変形例として、判別装置1は、与えられている学習データ又は学習/判別に用いている学習モデルでは正しくラベルを判別することが難しいこと、即ち学習データセットの判別の困難さを表示装置70に表示するように構成しても良い。困難さの判断は、正誤検出部42が算出したそれぞれの学習データに付与されたラベルが正しい確率に基づいて行うようにすれば良い。正誤検出部42は、例えば学習データ記憶部50に記憶されている学習データのセットの中で、付与されたラベルが正しい確率について統計的な処理を施し、学習データセットに付与されたラベルが正しい確率の平均が著しく低い場合や分散値が高い場合等、統計的な分布に基づいて、与えられている学習データ又は学習/判別に用いている学習モデルでは正しくラベルを判別することが難しいこと、即ち学習データセットの判別の困難さを判断するようにしても良い。
 本実施形態の判別装置1の他の変形例として、判別装置1が判別する対象物に付与されるラベルを、該対象物が属する分類(良品/不良品等の離散値)ではなく、座標値や角度、分量等の連続値や連続値の組とするようにしても良い。ラベルを連続値や連続値の組とした場合、学習部110により生成する学習済みモデルは対象物に係るデータを入力として連続値(数値)乃至連続値の組を出力するものとなり、判別部120は連続値(数値)乃至連続値の組を推定結果として出力するようになる。
 この時、学習データに付与されたラベルが正解かどうかを、学習データに付与されたラベルと判別部120が出力するラベルの推定値との距離と所定の閾値と比較することで決定することができる。または計算した距離に基づいて該ラベルが正しい確率を算出するようにしても良い。一例として、学習データ記憶部50に記憶されるそれぞれの学習データについて、正解回数に代えて差分積算値を関連付けて記憶するようにし、判別部120によるサブ検証データセットに含まれるそれぞれの学習データに対する判別処理が行われるたびに、検証結果記録部40は、判別部120による判別結果として出力されたラベルの推定値とラベル付与部32により該学習データに付与されたラベルとの差分の絶対値又は判別部120による判別結果として出力されたラベルの推定値とラベル付与部32により該学習データに付与されたラベルとの距離を差分積算値に積算する。そして、正誤検出部42は、学習データ記憶部50に記憶されたそれぞれの学習データについて、差分積算値を判別回数で割った値に基づいて、学習データに付与されているラベルが正しい確率を算出する(例えば、それぞれの学習データにおける差分積算値を判別回数で割った値の分布に基づいて公知の確率分布に係る統計的手法により該ラベルが正しい確率を算出する等)ようにすれば良い。
 以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
 例えば、機械学習装置100が実行する学習アルゴリズム、機械学習装置100が実行する演算アルゴリズム、判別装置1が実行する制御アルゴリズム等は、前記したものに限定されず、様々なアルゴリズムを採用できる。
 また、上記した実施形態では判別装置1と機械学習装置100が異なるCPU(プロセッサ)を有する装置として説明しているが、機械学習装置100は判別装置1が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現するようにしても良い。
 上記した実施形態では、対象物に係るデータとして外観検査で用いられる対象物を撮像した画像データを用いた例を示したが、本願発明のアノテーションの誤りの検知方法は画像データ以外にも、例えば対象物から取得される電流/電圧、圧力等の物理量の波形データ、対象物が発する音に係る音声データ等のような他のデータに対しても適用できる。いずれのデータを対象とする場合であっても、作業者が自己の感覚に基づいてアノテーションをする(ラベルを付与する)場合に、適宜適用することが可能である。
  1 判別装置
  4 撮像装置
  11 CPU
  12 ROM
  13 RAM
  14 不揮発性メモリ
  17,18,19 インタフェース
  20 バス
  21 インタフェース
  30 データ取得部
  32 ラベル付与部
  34 サブデータセット抽出部
  40 検証結果記録部
  42 正誤検出部
  70 表示装置
  71 入力装置
  100 機械学習装置
  101 プロセッサ
  102 ROM
  103 RAM
  104 不揮発性メモリ
  110 学習部
  120 判別部
  130 学習モデル記憶部

Claims (5)

  1.  アノテーションの誤りを検出する判別装置であって、
    複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
    判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、
    前記学習データに対してラベルを付与するラベル付与部と、
    前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、
    前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、
    前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、
    前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する判別結果記録部と、
    前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、
    を備え、
    前記サブデータセット抽出部によるサブ学習データセットとサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、
    前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、
    を備えた判別装置。
  2.  前記正誤検出部は、算出したラベルが正しい確率が、予め定めた閾値より低い学習データを作業者に提示する、
    請求項1に記載の判別装置。
  3.  前記学習データセットに含まれる学習データのラベルが正しい確率の統計的分布に基づいて、前記学習データセットの判別の困難さを判定する、
    請求項1又は2に記載の判別装置。
  4.  ラベルが付与されたデータに基づくデータセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する抽出部と、
    前記サブ学習データセットに基づいて、前記サブ検証データセットに含まれるそれぞれのデータについて判別処理を行う判別部と、
    前記判別処理の結果に基づいて、付与された前記ラベルが誤っている可能性があるデータかを検出する検出部と、
    を備え、
    前記抽出部による抽出および前記判別部による判別処理は、所定の回数だけ実行される、
    判別装置。
  5.  アノテーションの誤りを検出する機械学習方法において、
    複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
    判別する対象物に係るデータを取得する第1ステップと、
    前記第1ステップで取得された前記学習データに対してラベルを付与する第2ステップと、
    前記第2ステップでラベルが付与された学習データのセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する第3ステップと、
    前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する第4ステップと、
    前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う第5ステップと、
    前記第5ステップでのそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて記録する第6ステップと、
    前記第6ステップでそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する第7ステップと、
    を実行する機械学習方法であって、
    前記第3~5ステップは所定の回数だけ実行され、
    前記第7ステップは、前記5ステップにおいて所定の回数だけ実行された判別処理の結果に基づいてそれぞれの学習データに付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する、
    機械学習方法。
PCT/JP2019/030247 2018-08-23 2019-08-01 判別装置及び機械学習方法 WO2020039882A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/640,729 US11461584B2 (en) 2018-08-23 2019-08-01 Discrimination device and machine learning method
CN201980004214.7A CN111183437A (zh) 2018-08-23 2019-08-01 判别装置以及机器学习方法
DE112019000093.4T DE112019000093T5 (de) 2018-08-23 2019-08-01 Diskriminierungsvorrichtung und Maschinenlernverfahren

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-156624 2018-08-23
JP2018156624A JP7299002B2 (ja) 2018-08-23 2018-08-23 判別装置及び機械学習方法

Publications (1)

Publication Number Publication Date
WO2020039882A1 true WO2020039882A1 (ja) 2020-02-27

Family

ID=69592972

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/030247 WO2020039882A1 (ja) 2018-08-23 2019-08-01 判別装置及び機械学習方法

Country Status (5)

Country Link
US (1) US11461584B2 (ja)
JP (1) JP7299002B2 (ja)
CN (1) CN111183437A (ja)
DE (1) DE112019000093T5 (ja)
WO (1) WO2020039882A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592850A (zh) * 2021-08-12 2021-11-02 苏州鼎纳自动化技术有限公司 一种基于元学习的缺陷检测方法及装置
US20220092472A1 (en) * 2020-09-18 2022-03-24 Paypal, Inc. Meta-Learning and Auto-Labeling for Machine Learning

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7107331B2 (ja) 2020-04-10 2022-07-27 株式会社椿本チエイン データ収集方法、データ収集システム、データ収集装置、データ提供方法、及び、コンピュータプログラム
CN116635876A (zh) * 2020-12-07 2023-08-22 松下知识产权经营株式会社 处理系统、学习处理系统、处理方法和程序
JPWO2022239316A1 (ja) * 2021-05-11 2022-11-17

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015087903A (ja) * 2013-10-30 2015-05-07 ソニー株式会社 情報処理装置及び情報処理方法
JP2018155522A (ja) * 2017-03-16 2018-10-04 株式会社島津製作所 データ解析装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227863B2 (ja) 2003-08-04 2009-02-18 株式会社デンソー 視覚検査装置の教示装置及び教示方法
US7751599B2 (en) * 2006-08-09 2010-07-06 Arcsoft, Inc. Method for driving virtual facial expressions by automatically detecting facial expressions of a face image
US8804005B2 (en) * 2008-04-29 2014-08-12 Microsoft Corporation Video concept detection using multi-layer multi-instance learning
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
JP5874398B2 (ja) 2012-01-05 2016-03-02 オムロン株式会社 画像検査装置の検査領域設定方法
US8750570B2 (en) * 2012-05-25 2014-06-10 Security Pacific Capital Corporation Methods, systems and apparatus for automated authentication
JP6246513B2 (ja) 2013-07-16 2017-12-13 株式会社キーエンス 三次元画像処理装置、三次元画像処理方法及び三次元画像処理プログラム並びにコンピュータで読み取り可能な記録媒体及び記録した機器
US10592820B2 (en) * 2016-06-09 2020-03-17 International Business Machines Corporation Sequential learning technique for medical image segmentation
JP6839342B2 (ja) 2016-09-16 2021-03-10 富士通株式会社 情報処理装置、情報処理方法およびプログラム
JP6817625B2 (ja) 2016-12-14 2021-01-20 株式会社グルーヴノーツ サービス構築装置、サービス構築方法及びサービス構築プログラム
US10223610B1 (en) * 2017-10-15 2019-03-05 International Business Machines Corporation System and method for detection and classification of findings in images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015087903A (ja) * 2013-10-30 2015-05-07 ソニー株式会社 情報処理装置及び情報処理方法
JP2018155522A (ja) * 2017-03-16 2018-10-04 株式会社島津製作所 データ解析装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220092472A1 (en) * 2020-09-18 2022-03-24 Paypal, Inc. Meta-Learning and Auto-Labeling for Machine Learning
CN113592850A (zh) * 2021-08-12 2021-11-02 苏州鼎纳自动化技术有限公司 一种基于元学习的缺陷检测方法及装置

Also Published As

Publication number Publication date
US11461584B2 (en) 2022-10-04
JP7299002B2 (ja) 2023-06-27
DE112019000093T5 (de) 2020-05-20
US20200193219A1 (en) 2020-06-18
CN111183437A (zh) 2020-05-19
JP2020030692A (ja) 2020-02-27

Similar Documents

Publication Publication Date Title
WO2020039882A1 (ja) 判別装置及び機械学習方法
US11551134B2 (en) Information processing apparatus, information processing method, and storage medium
AU2014278408B2 (en) Method for detecting a plurality of instances of an object
US8886574B2 (en) Generalized pattern recognition for fault diagnosis in machine condition monitoring
EP3220353B1 (en) Image processing apparatus, image processing method, and recording medium
CN102473301B (zh) 动作解析装置及动作解析方法
WO2021111670A1 (ja) アノテーション装置および方法
US11620474B2 (en) Model reselection for accommodating unsatisfactory training data
US20120119984A1 (en) Hand pose recognition
JP7106391B2 (ja) 画像判定方法、画像判定装置および画像判定プログラム
US10275682B2 (en) Information processing apparatus, information processing method, and storage medium
CN111814905A (zh) 目标检测方法、装置、计算机设备和存储介质
CN110969045B (zh) 一种行为检测方法、装置、电子设备和存储介质
JP2020198092A (ja) 教師なし異常検出及び高次元センサデータの多数決投票による原因説明のための方法及びシステム
CN111985469B (zh) 一种图像中文字的识别方法、装置及电子设备
JP2017102865A (ja) 情報処理装置、情報処理方法及びプログラム
JP7422548B2 (ja) ラベルノイズ検出プログラム、ラベルノイズ検出方法及びラベルノイズ検出装置
JP6874864B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP7483095B2 (ja) 産業システムのための多目的異常検出システム
EP3839680B1 (en) Method and device for controlling a machine using principal component analysis
US20220366603A1 (en) Learning data generation apparatus, learning data generation method, and recording medium
JP2004109105A (ja) 表面欠陥検出における疵種分類境界設定方法、及び欠陥検出方法
CN114846513A (zh) 动作分析系统和动作分析程序
CN107292464B (zh) 基于有向无环图和拓扑排序的自动化测评方法与系统
US20210089886A1 (en) Method for processing data based on neural networks trained by different methods and device applying method

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19852975

Country of ref document: EP

Kind code of ref document: A1