WO2023128677A1 - 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치 - Google Patents

다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2023128677A1
WO2023128677A1 PCT/KR2022/021669 KR2022021669W WO2023128677A1 WO 2023128677 A1 WO2023128677 A1 WO 2023128677A1 KR 2022021669 W KR2022021669 W KR 2022021669W WO 2023128677 A1 WO2023128677 A1 WO 2023128677A1
Authority
WO
WIPO (PCT)
Prior art keywords
label
generating
images
learning
image set
Prior art date
Application number
PCT/KR2022/021669
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
Priority claimed from KR1020210193800A external-priority patent/KR20230104407A/ko
Application filed by 주식회사 뉴로클 filed Critical 주식회사 뉴로클
Publication of WO2023128677A1 publication Critical patent/WO2023128677A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Definitions

  • the technical idea of the present disclosure relates to a method for generating a learning model using a multi-label set and an apparatus therefor.
  • Machine learning is a field of AI that develops algorithms and technologies that enable computers to learn based on data, and is a field of core technologies in various fields such as image processing, image recognition, voice recognition, and Internet search. It shows excellent performance in prediction, object detection, object classification, object segmentation, and anomaly detection.
  • labeling to mark the correct answer (label) to be detected for the learning data must be performed. For example, when a specific object is to be detected from an image, a label containing information such as the type, location, boundary, etc. of the object is generated in response to the learning data, and machine learning is performed based on the label.
  • the algorithm may create a learning model for detecting the object.
  • the conventional labeling method includes only a single type of label for each training data, so there is a limit to deriving results based on various types of labels from the same training data and using them in an ensemble.
  • individual Due to the method of separately generating training data for each label there is a problem in that unnecessary resources are consumed in terms of generation, storage, and management of training data.
  • training data it may be an easy task to collect data on which some types of labels have been performed, but in the case of other types, it may not be relatively easy to perform the labels themselves. That is, for example, it is easy to collect class classification data, but it may not be easy to collect segmentation data for objects corresponding to each class. As such, there is a problem in that the time and cost required to secure training data on which labels with high difficulty have been performed are large.
  • An object of the present disclosure is to provide a method and apparatus for generating a learning model using a multi-label set to solve the above problems.
  • the technical task to be achieved by the method for generating a learning model using a multi-label set and the device therefor according to the technical idea of the present disclosure is not limited to the above-mentioned tasks, and other tasks not mentioned will be clear to those skilled in the art from the description below. will be understandable.
  • a method for generating a learning model using a multi-label set includes acquiring an image set including a plurality of images; and generating a plurality of label sets of different types with respect to the image set.
  • the method may further include generating a plurality of learning models corresponding to at least two or more of the plurality of label sets by inputting the image set to a network function.
  • the generating of the plurality of label sets may include receiving label information for at least one of a plurality of images belonging to the image set from a plurality of users, respectively; and generating the plurality of label sets corresponding to each of the label information by performing labeling on a plurality of images included in the image set based on the label information.
  • the method further includes comparing performance of at least two of the plurality of learning models, wherein the performance is selected from among recall, precision, accuracy, and combinations thereof. It can be calculated based on at least one.
  • the plurality of learning models are respectively object detection, object classification, object segmentation, character recognition, prediction and anomaly detection ( Anomaly detection) can be performed.
  • the method may further include building an ensemble model by combining at least two of the learning models.
  • the plurality of label sets include a first label set and a second label set having different types of labeling difficulty, and the generating of the plurality of label sets includes the first label set having a low labeling difficulty. Generating the second label set based on the first label set may be included.
  • the generating of the plurality of label sets may include receiving first label information for at least one of a plurality of images belonging to the image set from at least one user; generating a first label set including a first label for each of the plurality of images by labeling a plurality of images included in the image set based on the first label information; and performing learning by inputting the image set and the first label set to a first network function, and generating a second label set including a second label for each of the plurality of images based on an output result.
  • the output result of the first network function may include information about whether the first network function outputs a result corresponding to the first label based on at least one portion of each of the plurality of images.
  • the output result of the first network function is a heat map (heat map) of information on whether a result corresponding to the first label is output based on at least one portion of each of the plurality of images. ) can be included in the form.
  • the output result of the first network function may include a Class Activation Map (CAM) of each of the plurality of images for a result corresponding to the first label.
  • CAM Class Activation Map
  • the second label in the generating of the second label set, sets a threshold value for each of the class activation maps corresponding to each of the plurality of images to a predetermined value or range. It can be created by setting and extracting a weak labeling region.
  • the method may further include generating a learning model by performing learning by inputting the image set and the second label set to a second network function.
  • the first label may be an object classification label
  • the second label may be at least one of an object recognition label and an object segmentation label
  • the first label may be an object recognition label
  • the second label may be an object segmentation label
  • an apparatus for generating a learning model using a multi-label set includes at least one processor; and a memory storing a program executable by the processor, wherein the processor acquires an image set including a plurality of images by executing the program, and sets a plurality of labels of different types for the image set.
  • label sets of different types are generated for a single image set, and based on this, a plurality of learning models corresponding to each label set are generated, and performance is compared.
  • a label set and/or learning model optimized for the task may be selected.
  • a more accurate final result may be obtained by building an ensemble model suitable for a task to be performed by combining a plurality of learning models generated based on different label sets.
  • a label having a relatively low level of difficulty may be automatically generated to generate a learning model.
  • FIG. 1 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • FIG. 2 is a flowchart for explaining a first embodiment of step S120 of FIG. 1 .
  • FIG. 3 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • FIG. 4 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart for explaining a second embodiment of step S120 of FIG. 1 .
  • FIG. 7 is a flowchart for explaining an embodiment of step S123 of FIG. 6 .
  • FIG. 8 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.
  • 9 to 11 are diagrams for exemplarily explaining a process of generating a second label from a first label in the method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram for exemplarily explaining a process of generating a second label from a first label in the method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • FIG. 13 is a block diagram briefly illustrating the configuration of an apparatus for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • one component when one component is referred to as “connected” or “connected” to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.
  • ⁇ unit means a unit that processes at least one function or operation, which includes a processor, a micro Processor (Micro Processor), Micro Controller, CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerate Processor Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) may be implemented by hardware or software or a combination of hardware and software.
  • a micro Processor Micro Processor
  • Micro Controller CPU
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • APU Accelerate Processor Unit
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • classification of components in the present disclosure is merely a classification for each main function in charge of each component. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function.
  • each component to be described below may additionally perform some or all of the functions of other components in addition to its main function, and some of the main functions of each component may be performed by other components. Of course, it may be dedicated and performed by .
  • the method according to an embodiment of the present disclosure may be performed in a personal computer having computing capability, a workstation, a computer device for a server, or a separate device for this purpose.
  • the method may be performed on one or more computing devices.
  • at least one or more steps of a method according to an embodiment of the present disclosure may be performed by a client device and other steps may be performed by a server device.
  • the client device and the server device may be connected through a network to transmit and receive calculation results.
  • the method may be performed by distributed computing technology.
  • a neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons.
  • a neural network includes one or more nodes. Nodes (or neurons) constituting neural networks may be interconnected by one or more links.
  • one or more nodes connected through a link may form a relative relationship of an input node and an output node.
  • the concept of an input node and an output node is relative, and any node in an output node relationship with one node may have an input node relationship with another node, and vice versa.
  • an input node to output node relationship may be created around a link. More than one output node can be connected to one input node through a link, and vice versa.
  • the value of data of the output node may be determined based on data input to the input node.
  • a link interconnecting an input node and an output node may have a weight.
  • the weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes.
  • An output node value may be determined based on the weight.
  • a subset of nodes constituting a neural network may constitute a layer.
  • Some of the nodes constituting the neural network may form one layer based on distances from the first input node.
  • a set of nodes having a distance of n from the first input node may constitute n layers.
  • the distance from the first input node may be defined by the minimum number of links that must be passed through to reach the corresponding node from the first input node.
  • the definition of such a layer is arbitrary for explanation, and the order of a layer in a neural network may be defined in a method different from the above.
  • a layer of nodes may be defined by a distance from a final output node.
  • the neural network may include a deep neural network (DNN) including a plurality of hidden layers in addition to an input layer and an output layer.
  • Deep neural networks can reveal latent structures in data.
  • Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted boltzmann machines (RBMs). machine), a deep belief network (DBN), a Q network, a U network, a Siamese network, a Generative Adversarial Network (GAN), and the like.
  • CNNs convolutional neural networks
  • RNNs recurrent neural networks
  • GANs generative adversarial networks
  • RBMs restricted boltzmann machines
  • machine a deep belief network
  • Q network Q network
  • U network a network
  • Siamese network a Generative Adversarial Network
  • GAN Generative Adversarial Network
  • the neural network may be trained using at least one of supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. Learning of the neural network may be a process of applying knowledge for the neural network to perform a specific operation to the neural network.
  • FIG. 1 is a flowchart for explaining a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart for explaining an embodiment of step S120 of FIG. 1 .
  • the device may obtain an image set including a plurality of images.
  • the plurality of images constituting the image set may be received from at least one server and/or terminal, or acquired by at least one photographing device connected through wired or wireless communication.
  • the plurality of images may be process images obtained in a process line such as production, manufacturing, and processing of a product, or may be medical images or images obtained by photographing a patient's body part using medical imaging equipment, but are not limited thereto. no.
  • step S120 the device may generate a plurality of label sets for the image set.
  • each of the plurality of label sets may include different types of labels.
  • the type of label or label set including the label may be classified according to a result to be obtained from a plurality of images through a network function.
  • an image set consists of a plurality of process images
  • one image includes object classification to determine whether a product is defective, object segmentation to accurately identify the location of defects, Labels suitable for performing object detection for identifying the location of each part constituting the product, character recognition for verifying the serial number, and the like may be included, respectively, in this way.
  • Labels suitable for performing object detection for identifying the location of each part constituting the product, character recognition for verifying the serial number, and the like may be included, respectively, in this way.
  • a plurality of label sets of different types (or purposes) may be generated corresponding to one image set.
  • each label set can be performed by a network function such as object classification, object segmentation, object detection, text recognition, prediction, anomaly detection, and the like. It can be created to suit various functions.
  • the device may be configured to include a plurality of label sets of the same type in an image set.
  • a plurality of label sets may be each generated based on label information performed by different users to detect the same object.
  • the most appropriate label set and/or learning model may be selected through performance evaluation of the learning model generated based on each label set.
  • step S120 may be performed based on label information received from a plurality of users.
  • step S120 may include steps S121 and S122 as shown in FIG. 2 .
  • the device may receive label information for at least one of a plurality of images belonging to an image set from a plurality of users (ie, user terminals). That is, the device may provide an image set to the user terminal and receive label information for at least one of a plurality of images from the user terminal in response thereto.
  • the label information may be for performing object classification, object segmentation, object detection, character recognition, prediction, anomaly detection, and the like.
  • the device may generate a plurality of label sets corresponding to each label information by labeling each of a plurality of images constituting the image set based on the label information received from the user.
  • the plurality of generated label sets are of different types and may be for obtaining different outputs.
  • At least some of the plurality of label sets may be generated based on a learning result of a network function based on another label set.
  • the label set may include a first label set and a second label set, and the second label set may be generated based on a learning result generated by inputting the first label set to a predetermined network function.
  • a second label set for object segmentation is generated based on a class activation map (CAM) generated from a learning result of a network function. can do.
  • CAM class activation map
  • At least some of the plurality of label sets may be generated by modifying other label sets.
  • a second label set for object detection may be generated by modifying the width/height of labels included in the first label set for object segmentation.
  • the device may generate at least one learning model by inputting the image set to the network function. For example, a plurality of learning models corresponding to at least two of a plurality of label sets may be generated, and preferably, a learning model corresponding to each label set may be generated.
  • each learning model may perform one of object detection, object classification, object segmentation, character recognition, prediction, and anomaly detection. It may, but is not limited thereto.
  • the user can select a model most suitable for a task from among a plurality of learning models or build an ensemble model to derive more accurate results by combining two or more learning models. there is.
  • FIG. 3 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • steps S310 to S330 of the method 300 are the same as steps S110 to S130 described above with reference to FIG. 1 , overlapping descriptions will be omitted.
  • the device may compare performances of at least two or more of a plurality of learning models generated based on a plurality of label sets.
  • the device may calculate the performance of the learning model based on at least one of recall, precision, accuracy, and combinations thereof.
  • various methods such as cross-validation may be used.
  • FIG. 4 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • steps S410 to S430 of the method 400 are the same as steps S110 to S130 described above with reference to FIG. 1 , overlapping descriptions will be omitted.
  • the device may build an ensemble model by combining at least two of the generated learning models.
  • a more accurate final result can be derived by combining two or more learning models in a predetermined manner according to the characteristics of a task to be performed and output values according to each learning model.
  • an object segmentation model for identifying classes A and B and an object that separates dark and bright images It can be implemented to build an ensemble model by combining classification models and to derive a more accurate final result by combining output values of both learning models.
  • an ensemble model may be generated based on a voting, bagging, or booting method, but is not limited thereto.
  • FIG. 5 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.
  • one image set 510 includes a plurality of individual images, and a plurality of label sets corresponding to the image set 510 are generated by including different types of labels in each individual image.
  • the image set 510 is input to the network function 520 to perform learning on the network function 520, and thus, a plurality of learning models 530 corresponding to at least some of the plurality of label sets this can be created.
  • the same or different network functions may be applied to the network function 520 according to the type of label set.
  • FIG. 6 is a flowchart for explaining a second embodiment of step S120 of FIG. 1 .
  • step S120 may include steps S121 to S123.
  • the device may receive first label information for at least one of a plurality of images belonging to the image set from the user (ie, the user terminal). That is, the device may provide an image set to the user terminal and receive first label information for at least one of a plurality of images from the user terminal in response to this.
  • the first label information may be for generating a first label corresponding to one of object classification, object segmentation, object detection, character recognition, prediction, and anomaly detection.
  • step S122 the device generates a first label set including a first label for each of the plurality of images by labeling each of a plurality of images constituting the image set based on the first label information received from the user. can do.
  • step S123 the device performs learning by inputting the image set and the first label set to the first network function, and based on the output result, a second label set including different types of second labels for each of the plurality of images is obtained.
  • the first label and the second label may be labels having different labeling difficulties. That is, for example, in step S123, the device may generate a second label set having a high labeling difficulty based on the first label set having a relatively low difficulty.
  • the first label may be an object classification label
  • the second label may be at least one of an object detection label and an object segmentation label.
  • the first label may be an object detection label
  • the second label may be an object segmentation label.
  • the output result of the first network function may include information about whether the first network function outputs a result corresponding to the first label based on at least one portion of each of the plurality of images.
  • the output result may be a display of at least one part of the image that has an effect on outputting a result corresponding to the first label.
  • the output result may include probability information related to the result for each position of the image.
  • the output result may include different expressions according to the degree of influence on outputting the result corresponding to the first label.
  • the output result may be expressed differently in saturation, brightness, color, texture, etc. according to the degree of influence on outputting the result corresponding to the first label.
  • a highly influenced part may be displayed with high saturation, and a slightly affected part may be displayed with relatively low saturation.
  • the output result may include a heat map indicating a degree of influence on outputting a result corresponding to the first label.
  • the device may obtain the output result using Gradient-weighted Class Activation Mapping (Grad-CAM), Deep Seeded Region Growing (DSRG), and the like.
  • Grad-CAM Gradient-weighted Class Activation Mapping
  • DSRG Deep Seeded Region Growing
  • the device may generate the output result based on an operation result in at least one layer or filter other than the final output layer of the first network function.
  • the first network function may include one or more network functions for performing object classification.
  • the first network function may be learned using training data including a classification result of an object included in an image as a first label.
  • the output result of the first network function may be a representation of a region and/or location of an image that has an effect on outputting a classification result in a predetermined expression method.
  • the output result of the first network may be a class activation map including information about at least a part of the image that has an effect on outputting the result.
  • the paper Grad-CAM Visual Explanations from Deep Networks via Gradient-based Localization (published on October 7, 2017 by Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh , Dhruv Batra).
  • step S123 may include steps S123-1 and S123-2, as shown in FIG. 7 .
  • step S123-1 the device may perform learning by inputting the image set and the first label set to the first network function, and output a class activation map for each of the plurality of images.
  • the first label set may include object classification labels for a plurality of images constituting the image set.
  • the device may automatically generate a second label by extracting a weak label region by setting a threshold value to a predetermined value or range for each class activation map.
  • the weak label may refer to a label that is not as accurate as a label manually generated by a user, but is automatically generated and has an accuracy higher than a certain threshold.
  • the second label may be automatically generated by setting the probability, hue, saturation, brightness, etc. to a certain range and extracting a predetermined region corresponding to the probability.
  • the second label may be at least one of an object recognition label and an object division label.
  • the device may generate a learning model by performing learning by inputting the image set and the generated second label set to the second network function in step S130 of FIG. 1 .
  • the second label may be an object segmentation label
  • the second network function may include one or more network functions for performing segmentation on an object.
  • the second network function may include a network function (encoder) that reduces the dimension of an image and a network function (decoder) that expands the dimension of an image in order to perform segmentation on an object included in the input image.
  • FIG. 8 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.
  • one image set 810 includes a plurality of individual images, and a first label set corresponding to the image set 510 may be provided by including a first label in each individual image.
  • the first label may be an object classification label.
  • the image set 810 is input to the first network function 820 together with the first label set, and learning is performed, thereby generating a first learning model.
  • the first learning model may be an object classification model.
  • a class activation map including information on at least a part of the image that has an effect on outputting a result may be obtained.
  • the image set 810 may include a second label set of a different type from the first label set.
  • the second label may be an object segmentation label.
  • the image set 810 is input to the second network function 840 together with the second label set, and learning is performed, thereby generating a second learning model.
  • the second learning model may be an object segmentation model.
  • 9 to 11 are diagrams for exemplarily explaining a process of generating a second label from a first label in the method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • an object recognition label or object segmentation label set having a relatively high labeling difficulty may be generated based on an object classification label set having a low labeling difficulty.
  • an image (FIG. 9(a)) including an object classification label for the presence or absence of a lesion is input to a network function, and as an output result, at least one region of the image affected to be classified as a lesion
  • a result (FIG. 9(b)) of a class activation map expressing the probability of a location in a predetermined method (a heat map or the like) may be obtained.
  • a weak label region may be extracted by setting a threshold value to a predetermined value or range, and based on this, an object recognition label or an object segmentation label may be generated.
  • the object recognition label or the object division label may be a weak label.
  • the generated object recognition label or object segmentation label is input together with an image into a suitable network function, and learning is performed to perform object recognition (FIG. 11(a)) or object segmentation result (FIG. 11 (b)) can be output.
  • FIG. 12 is a diagram for exemplarily explaining a process of generating a second label from a first label in the method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • an object segmentation label set having a relatively high labeling difficulty may be generated based on an object recognition label set having a low labeling difficulty.
  • learning of a network function is performed through an image containing an object recognition label for detecting a defect or anomaly of a product (FIG. 12(a)), and as a result of this, the resulting image containing the object recognition result ( 12 (b)) can be obtained.
  • a weak label region may be extracted by setting a range of brightness, saturation, color, etc. from the resulting image, and based on this, an object segmentation label may be generated.
  • FIG. 13 is a block diagram briefly illustrating the configuration of an apparatus for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
  • the communication unit 1310 may receive data (image set, label information, etc.) from the outside.
  • the communication unit 1310 may include a wired or wireless communication unit.
  • the communication unit 1310 may include a local area network (LAN), a wide area network (WAN), a value added network (VAN), and a mobile communication network (mobile radio communication network), a satellite communication network, and one or more components that enable communication through a mutual combination thereof.
  • the communication unit 1310 when the communication unit 1310 includes a wireless communication unit, the communication unit 1310 transmits and receives data or signals wirelessly using cellular communication, a wireless LAN (eg, Wi-Fi), and the like.
  • the communication unit may transmit/receive data or signals with an external device or an external server under the control of the processor 1340 .
  • the input unit 1320 may receive various user commands through external manipulation.
  • the input unit 1320 may include or connect one or more input devices.
  • the input unit 1320 may be connected to various input interfaces such as a keypad and a mouse to receive user commands.
  • the input unit 1320 may include an interface such as a thunderbolt as well as a USB port.
  • the input unit 1320 may receive an external user command by including or combining various input devices such as a touch screen and buttons.
  • the memory 1330 may store programs and/or program commands for operation of the processor 1340 and may temporarily or permanently store input/output data.
  • the memory 1330 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM , SRAM, ROM (ROM), EEPROM, PROM, magnetic memory, a magnetic disk, it may include at least one type of storage medium.
  • the memory 1330 may store various network functions and algorithms, and may store various data, programs (one or more instructions), applications, software, commands, codes, etc. for driving and controlling the device 700. there is.
  • the processor 1340 may control overall operations of the device 1300 .
  • the processor 1340 may execute one or more programs stored in the memory 1330.
  • the processor 1340 may be a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), or a dedicated processor in which methods according to the technical idea of the present disclosure are performed. may refer to a processor of
  • the processor 1340 may perform an operation for learning a neural network.
  • the processor 1340 is used for neural network learning, such as processing input data for learning in deep learning (DN), extracting features from input data, calculating errors, and updating neural network weights using backpropagation. calculations can be performed.
  • DN deep learning
  • At least one of the CPU, GPU, TPU, and dedicated processor of the processor 1340 may process learning of the network function.
  • the processor 1340 obtains an image set including a plurality of images, generates a plurality of label sets of different types for the image set, and inputs the image set to a network function to obtain the plurality of label sets. At least one learning model corresponding to at least two of the label sets may be created.
  • the processor 1340 receives label information for at least one of a plurality of images belonging to the image set from a plurality of users, respectively, and for a plurality of images included in the image set based on the label information. By performing labeling, the plurality of label sets corresponding to each of the label information may be generated.
  • the plurality of label sets include a first label set and a second label set
  • the processor 1340 inputs the first label set to the network function, and based on an output result generated, the second label set. You can create a set of labels.
  • the processor 1340 may compare performance of at least two or more of the plurality of learning models based on at least one of recall, precision, accuracy, and a combination thereof.
  • the processor 1340 may build an ensemble model by combining at least two of the learning models.
  • the processor 1340 may acquire an image set including a plurality of images, and generate a plurality of label sets of different types with respect to the image set.
  • the plurality of label sets include a first label set and a second label set having different labeling difficulties, and the processor 1340 determines the second label set based on the first label set having a low labeling difficulty.
  • the processor 1340 may receive first label information for at least one of a plurality of images belonging to the image set from at least one user, and based on the first label information, information included in the image set By performing labeling on a plurality of images, a first label set including a first label for each of the plurality of images is generated, and the image set and the first label set are input to a first network function to perform learning, and based on an output result, a second label set including a second label for each of the plurality of images may be generated.
  • the processor 1340 extracts a weak labeling region by setting a threshold value to a predetermined value or range for each class activation map corresponding to each of the plurality of images, thereby extracting the first class activation map. 2 labels can be created.
  • the processor 1340 may generate a learning model by performing learning by inputting the image set and the second label set to a second network function.
  • the method according to an embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program commands recorded on the medium may be specially designed and configured for the present disclosure, or may be known and usable to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • the method according to the disclosed embodiments may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
  • a computer program product may include a product in the form of a S/W program (eg, a downloadable app) that is distributed electronically through a manufacturer of an electronic device or an electronic marketplace (eg, Google Play Store, App Store). there is.
  • a part of the S/W program may be stored in a storage medium or temporarily generated.
  • the storage medium may be a storage medium of a manufacturer's server, an electronic market server, or a relay server temporarily storing SW programs.
  • a computer program product may include a storage medium of a server or a storage medium of a client device in a system composed of a server and a client device.
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include a S/W program itself transmitted from the server to the client device or the third device or from the third device to the client device.
  • one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the client device, and the third device may execute the computer program product to implement the method according to the disclosed embodiments in a distributed manner.
  • a server may execute a computer program product stored in the server to control a client device communicatively connected to the server to perform a method according to the disclosed embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 개시는 타겟 장치를 위한 학습 모델 최적화 방법 및 시스템에 관한 것으로, 본 개시의 실시예에 따른 방법은, 다중 레이블 세트를 이용한 학습 모델 생성 방법은, 복수의 이미지를 포함하는 이미지 세트를 획득하는 단계; 및 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계를 포함할 수 있다.

Description

다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치
본 개시(disclosure)의 기술적 사상은 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치에 관한 것이다.
기계 학습(Machine Learning)은 AI의 한 분야로 데이터를 바탕으로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이며, 이미지 처리, 영상 인식, 음성 인식, 인터넷 검색 등의 다양한 분야의 핵심 기술로 예측(prediction), 객체 검출(object detection), 객체 분류(object classification), 객체 분할(object segmentation), 이상 탐지(anomaly detection) 등에 탁월한 성과를 나타낸다.
기계 학습을 수행을 위해서는 선결적으로 학습 데이터의 생성이 필요하며, 이러한 학습 데이터를 생성하기 위하여 학습 데이터에 대하여 검출하고자 하는 정답(label)을 표기하는 레이블링을 수행하여야 한다. 예를 들어, 이미지로부터 특정 객체를 검출하고자 하는 경우, 학습 데이터인 이미지에 해당 객체의 종류, 위치, 경계 등의 정보를 포함하는 레이블을 학습 데이터에 대응하여 생성하며, 이러한 레이블에 기초하여 기계 학습 알고리즘이 학습 데이터를 학습함으로써, 해당 객체를 검출하는 학습 모델을 생성할 수 있다.
그러나, 종래의 레이블링 방식은 학습 데이터 별로 단일 종류의 레이블만을 포함하도록 함으로써, 동일한 학습 데이터로부터 다양한 종류의 레이블에 기초한 결과를 도출하고 이들을 서로 앙상블(ensemble)하여 활용하는데 한계가 존재하였으며, 더하여, 개별 레이블 별로 학습 데이터를 별도 생성하는 방식으로 인해, 학습 데이터의 생성, 저장, 관리 등의 측면에서 불필요한 리소스가 소모되는 문제점이 있다.
한편, 학습 데이터를 구성하는데 있어, 일부 종류의 레이블이 수행된 데이터를 수집하는 것은 용이한 작업일 수 있으나, 다른 종류의 경우는 레이블 수행 자체가 상대적으로 용이하지 않을 수 있다. 즉, 예를 들어, 클래스 분류가 수행된 데이터를 수집하는 것은 용이하나, 클래스 각각에 대응되는 객체에 대한 세그먼테이션이 수행된 데이터를 수집하는 것은 용이하지 않을 수 있다. 이처럼, 난이도가 높은 레이블이 수행된 학습 데이터를 확보하기 위하여 소요되는 시간 및 비용이 크다는 문제점이 있다.
본 개시의 기술적 사상은 상기 문제점을 해결하기 위한 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 그 장치를 제공하는 것을 그 목적으로 한다.
본 개시의 기술적 사상에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 개시의 기술적 사상에 의한 일 양태에 따르면, 다중 레이블 세트를 이용한 학습 모델 생성 방법은, 복수의 이미지를 포함하는 이미지 세트를 획득하는 단계; 및 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 복수의 레이블 세트를 생성하는 단계는, 복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하는 단계; 및 상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교하는 단계를 더 포함하고, 상기 성능은 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 산출될 수 있다.
예시적인 실시예에 따르면, 상기 복수의 학습 모델은 각각 객체 검출(object detection), 객체 분류(object classification), 객체 분할(object segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행할 수 있다.
예시적인 실시예에 따르면, 상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 복수의 레이블 세트는, 레이블링 난이도가 상이한 종류의 제 1 레이블 세트와 제 2 레이블 세트를 포함하며, 상기 복수의 레이블 세트를 생성하는 단계는, 레이블링 난이도가 낮은 상기 제 1 레이블 세트를 기초로 상기 제 2 레이블 세트를 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 복수의 레이블 세트를 생성하는 단계는, 적어도 하나의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 제 1 레이블 정보를 수신하는 단계; 상기 제 1 레이블 정보에 기초하여, 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링(labeling)을 수행함으로써, 상기 복수의 이미지 각각에 대한 제 1 레이블을 포함하는 제 1 레이블 세트를 생성하는 단계; 및 상기 이미지 세트 및 상기 제 1 레이블 세트를 제 1 네트워크 함수에 입력하여 학습을 수행하고, 출력 결과에 기초하여 상기 복수의 이미지 각각에 대한 제 2 레이블을 포함하는 제 2 레이블 세트를 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제 1 네트워크 함수의 출력 결과는, 상기 제 1 네트워크 함수가 상기 복수의 이미지 각각에 대해 적어도 어느 일 부분에 기초하여 상기 제 1 레이블에 대응되는 결과를 출력하였는지에 관한 정보를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제 1 네트워크 함수의 출력 결과는, 상기 복수의 이미지 각각에 대해 적어도 어느 일 부분에 기초하여 상기 제 1 레이블에 대응되는 결과를 출력하였는지에 관한 정보를 히트 맵(heat map) 형태로 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제 1 네트워크 함수의 출력 결과는, 상기 제 1 레이블에 대응하는 결과에 대한 상기 복수의 이미지 각각의 클래스 활성화 맵(Class Activation Map, CAM)을 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제 2 레이블 세트를 생성하는 단계에서, 상기 제 2 레이블은 상기 복수의 이미지 각각에 대응하는 상기 클래스 활성화 맵 각각에 대하여 문턱(threshold) 값을 소정의 값 또는 범위로 설정하여 약한 레이블링(weak labeling) 영역을 추출함으로써, 생성될 수 있다.
예시적인 실시예에 따르면, 상기 이미지 세트 및 상기 제 2 레이블 세트를 제 2 네트워크 함수에 입력하여 학습을 수행함으로써, 학습 모델을 생성하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제 1 레이블은 객체 분류 레이블이고, 상기 제 2 레이블은 객체 인식 레이블 및 객체 분할 레이블 중 적어도 하나일 수 있다.
예시적인 실시예에 따르면, 상기 제 1 레이블은 객체 인식 레이블이고, 상기 제 2 레이블은 객체 분할 레이블일 수 있다.
본 개시의 기술적 사상에 의한 일 양태에 따르면, 다중 레이블 세트를 이용한 학습 모델 생성 장치는, 적어도 하나의 프로세서; 및 상기 프로세서에 의해 실행 가능한 프로그램을 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 프로그램을 실행함으로써, 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성할 수 있다.
본 개시의 기술적 사상에 의한 실시예들에 따르면, 단일 이미지 세트에 대하여 상이한 종류의 레이블 세트를 생성하고, 이를 기초로 각각의 레이블 세트에 대응하는 복수의 학습 모델을 생성하여, 성능 비교를 통해 수행 작업에 최적화된 레이블 세트 및/또는 학습 모델을 선정할 수 있다.
본 개시의 기술적 사상에 의한 실시예들에 따르면, 상이한 레이블 세트에 기초하여 생성된 복수의 학습 모델을 결합하여 수행 작업에 적합한 앙상블 모델을 구축함으로써, 보다 정확한 최종 결과를 획득할 수 있다.
본 개시의 기술적 사상에 의한 실시예들에 따르면, 레이블링 난이도가 낮은 종류의 레이블을 기초로 모델을 학습한 후, 난이도가 상대적으로 낮은 레이블을 자동 생성하여 학습 모델을 생성할 수 있다.
본 개시의 기술적 사상에 따른 방법 및 이를 위한 장치가 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 2는 도 1의 S120 단계에 대한 제 1 실시예를 설명하기 위한 흐름도이다.
도 3은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.
도 6은 도 1의 S120 단계에 대한 제 2 실시예를 설명하기 위한 흐름도이다.
도 7은 도 6의 S123 단계에 대한 실시예를 설명하기 위한 흐름도이다.
도 8은 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.
도 9 내지 도 11은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서, 제 1 레이블로부터 제 2 레이블을 생성하는 과정을 예시적으로 설명하기 위한 도면이다.
도 12는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서, 제 1 레이블로부터 제 2 레이블을 생성하는 과정을 예시적으로 설명하기 위한 도면이다.
도 13은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 장치의 구성을 간략히 도시한 블록도이다.
본 개시의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 개시의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 개시의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 개시의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 개시에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 개시에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
본 개시의 실시예에 따른 방법은 연산 능력을 구비한 개인용 컴퓨터(Personal Computer), 워크스테이션(work station), 서버용 컴퓨터 장치 등에서 수행되거나 이를 위한 별도의 장치에서 수행될 수 있다.
또한, 방법은 하나 이상의 연산 장치들에서 수행될 수도 있다. 예를 들어, 본 개시의 실시예에 따른 방법 중 적어도 하나 이상의 단계들은 클라이언트 디바이스에서, 다른 단계들은 서버 디바이스에서 수행될 수 있다. 이러한 경우, 클라이언트 디바이스와 서버 디바이스는 네트워크로 연결되어 연산 결과를 송수신할 수 있다. 또는, 방법은 분산 컴퓨팅 기술에 의해 수행될 수도 있다.
또한, 본 명세서에 걸쳐, 네트워크 함수, 연산 모델, 신경망, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의 링크에 의해 상호 연결될 수 있다.
신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 상술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드의 데이터는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 링크는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
신경망을 구성하는 노드들의 부분 집합은 레이어(layer)를 구성할 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 상술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
뉴럴 네트워크는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 딥 뉴럴 네트워크(Deep Neural Network, DNN)를 포함할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크, 적대적 생성 네트워크(GAN: Generative Adversarial Network) 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 반교사학습(semi supervised learning), 또는 강화학습(reinforcement learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 뉴럴 네트워크가 특정한 동작을 수행하기 위한 지식을 뉴럴 네트워크에 적용하는 과정일 수 있다.
이하, 본 개시의 실시예들을 차례로 상세히 설명한다.
도 1은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이고, 도 2는 도 1의 S120 단계에 대한 일 실시예를 설명하기 위한 흐름도이다.
S110 단계에서, 장치는 복수의 이미지를 포함하는 이미지 세트를 획득할 수 있다. 여기서, 이미지 세트를 구성하는 복수의 이미지는 적어도 하나의 서버 및/또는 단말로부터 수신되거나, 유, 무선 통신을 통해 연결된 적어도 하나의 촬영 장치에 의해 획득될 수 있다. 예를 들어, 복수의 이미지는 제품의 생산, 제조, 가공 등의 공정 라인에서 획득된 공정 이미지이거나, 환자의 신체 부위를 의료용 촬영 장비에 의해 촬영한 의료 이미지 또는 영상일 수 있으나, 이에 한정하는 것은 아니다.
S120 단계에서, 장치는 이미지 세트에 대하여 복수의 레이블 세트를 생성할 수 있다.
실시예에서, 복수의 레이블 세트 각각은 서로 상이한 종류의 레이블(label)을 포함할 수 있다. 이때, 레이블 또는 이를 포함하는 레이블 세트의 종류는 네트워크 함수를 통해 복수의 이미지로부터 획득하고자 하는 결과에 따라 구분될 수 있다.
예를 들어, 이미지 세트가 복수의 공정 이미지로 구성된다고 가정하면, 하나의 이미지에는 제품의 불량 여부를 확인할 수 있는 객체 분류(object classification), 불량 위치를 정확히 확인할 수 있는 객체 분할(object segmentation), 제품을 구성하는 각 부품의 위치를 확인할 수 있는 객체 검출(object detection), 일련 번호(serial number)를 확인할 수 있는 문자 인식(character recognition) 등을 각각 수행하는데 적합한 레이블이 모두 포함될 수 있으며, 이러한 방식을 통해, 하나의 이미지 세트에 대응하여 각각 상이한 종류(또는, 목적)의 복수의 레이블 세트가 생성될 수 있다.
다만, 이는 예시적인 것으로서, 이에 한정되는 것은 아니며, 레이블 세트는 각각 객체 분류, 객체 분할, 객체 검출, 문자 인식에 더하여, 예측(prediction), 이상 탐지(anomaly detection) 등과 같이 네트워크 함수에 의해 수행 가능한 다양한 기능에 적합하도록 생성될 수 있다.
또한, 실시예에 따라, 장치는 이미지 세트에 동일한 종류의 복수의 레이블 세트를 포함하도록 구성될 수 있다. 예를 들어, 복수의 레이블 세트는 동일한 객체를 검출하기 위하여 상이한 사용자에 의해 수행된 레이블 정보에 기초하여 각각 생성될 수 있다. 이 경우, 각 레이블 세트에 기초하여 생성된 학습 모델에 대한 성능 평가를 통해, 가장 적합한 레이블 세트 및/또는 학습 모델을 선택할 수 있다.
실시예에서, S120 단계는, 복수의 사용자로부터 수신된 레이블 정보에 기초하여 수행될 수 있다. 예를 들어, S120 단계는, 도 2에 도시되는 바와 같이, S121 단계 및 S122 단계를 포함할 수 있다.
S121 단계에서, 장치는 복수의 사용자(즉, 사용자 단말)로부터 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신할 수 있다. 즉, 장치는 사용자 단말에 이미지 세트를 제공하고, 이에 응답하여 사용자 단말로부터 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 수신할 수 있다. 이때, 레이블 정보는 객체 분류, 객체 분할, 객체 검출, 문자 인식, 예측, 이상 감지 등을 수행하기 위한 것일 수 있다.
S122 단계에서, 장치는 사용자로부터 수신한 레이블 정보에 기초하여 이미지 세트를 구성하는 복수의 이미지 각각에 레이블링을 수행함으로써, 레이블 정보 각각에 대응하는 복수의 레이블 세트를 생성할 수 있다. 상술한 바와 같이, 생성된 복수의 레이블 세트는 서로 다른 종류의 것으로서, 각각 상이한 출력을 획득하기 위한 것일 수 있다.
실시예에서, 복수의 레이블 세트 중 적어도 일부는 다른 레이블 세트를 기초로 한 네트워크 함수의 학습 결과에 기초하여 생성될 수 있다.
레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고, 제 2 레이블 세트는 제 1 레이블 세트를 소정의 네트워크 함수에 입력하여 생성된 학습 결과에 기초하여 생성될 수 있다. 예를 들어, 제 1 레이블 세트가 객체 분류를 위한 레이블로 구성되는 경우, 네트워크 함수의 학습 결과에서 발생하는 클래스 활성화 맵(CAM, class activation map)을 기초로 객체 분할을 위한 제 2 레이블 세트를 생성할 수 있다.
또한, 실시예에서, 복수의 레이블 세트 중 적어도 일부는 다른 레이블 세트를 변형하여 생성될 수 있다. 예를 들어, 객체 분할을 위한 제 1 레이블 세트로부터 이에 포함된 레이블의 width/height을 변형하여 객체 검출을 위한 제 2 레이블 세트를 생성할 수 있다.
S130 단계에서, 장치는 이미지 세트를 네트워크 함수에 입력하여 적어도 하나의 학습 모델을 생성할 수 있다. 예를 들어, 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델이 생성될 수 있으며, 바람직하게는, 레이블 세트 별로 각각 이에 대응하는 학습 모델이 생성될 수 있다.
이때, 학습 모델은 각각 객체 검출(object detection), 객체 분류(object classification), 객체 분할(object segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행할 수 있으나, 이에 한정하는 것은 아니다.
이하 도 3 및 도 4를 참조하여 상술되는 바와 같이, 사용자는 복수의 학습 모델 중에서 작업에 가장 적합한 모델을 선택하거나, 2 이상의 학습 모델을 조합하여 보다 정확한 결과를 도출하기 위한 앙상블 모델을 구축할 수 있다.
도 3은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
여기서, 방법(300)의 S310 내지 S330 단계는 도 1을 참조하여 상술한 S110 내지 S130 단계와 동일하므로, 중복되는 설명은 생략하기로 한다.
S340 단계에서, 장치는 복수의 레이블 세트에 기초하여 생성된 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교할 수 있다.
실시예에서, 장치는 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 학습 모델의 성능을 산출할 수 있다. 학습 모델의 성능을 산출하기 위하여, 교차 검증 등 다양한 방식이 이용될 수 있다.
이러한 성능 비교를 통해, 수행하고자 하는 작업에 어떠한 종류의 레이블 세트 및 학습 모델이 가장 유용한지를 확인 가능하다. 즉, 예를 들어, 객체 분할과 객체 검출로 동일한 불량 부위를 확인하는, 복수의 레이블 세트를 만들 경우, 불량의 종류에 따라 각 모델이 더 잘 분석할 수 있는 것을 비교할 수 있게 된다.
도 4는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
여기서, 방법(400)의 S410 내지 S430 단계는 도 1을 참조하여 상술한 S110 내지 S130 단계와 동일하므로, 중복되는 설명은 생략하기로 한다.
S440 단계에서, 장치는 생성된 복수의 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축할 수 있다.
즉, 수행하고자 하는 작업의 특성 등에 따라, 학습 모델의 2 이상을 소정의 방식으로 결합하여 각 학습 모델에 따른 출력값을 조합하도록 함으로써, 보다 정확한 최종 결과를 도출할 수 있다.
예를 들어, 객체 분할을 통해 PCB의 영역을 분류하는 학습 모델과, 객체 분할 또는 객체 검출을 통해 끊어진 선(즉, 단선)을 찾아낼 수 있는 학습 모델이 있다고 가정하면, 동일하게 끊어진 선을 찾더라도, 분류된 PCB 영역에 따라 불량 여부를 다르게 판단할 수 있기 때문에, 양 모델을 결합하여 앙상블 모델을 구축하고, 이들의 출력값을 조합하여 최종 결과를 도출하도록 구현될 수 있다.
또한, 예를 들어, 객체 분할과 관련하여, A 클래스는 어두울 때 잘 검출되고, B 클래스는 밝을 때 잘 검출되는 경우라면, A, B 클래스를 확인하기 위한 객체 분할 모델과 어둡고 밝은 이미지를 가르는 객체 분류 모델을 결합하여 앙상블 모델을 구축하고, 양 학습 모델의 출력값을 조합하여 보다 정확한 최종 결과를 도출하도록 구현될 수 있다.
실시예에서, 앙상블 모델(ensemble model)은, 보팅(voting), 배깅(bagging), 부스팅(booting) 방식 등에 기초하여 생성될 수 있으나, 이에 한정되는 것은 아니다.
도 5는 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.
도시되는 바와 같이, 하나의 이미지 세트(510)는 복수의 개별 이미지를 포함하고, 각 개별 이미지에 상이한 종류의 레이블이 각각 포함됨으로써, 이미지 세트(510)에 대응하는 복수의 레이블 세트가 생성된다.
이어서, 이미지 세트(510)는 네트워크 함수(520)에 입력되어, 네트워크 함수(520)에 대한 학습을 수행하게 되고, 이에 따라, 복수의 레이블 세트 중 적어도 일부에 대응하는 복수의 학습 모델(530)이 생성될 수 있다.
이때, 네트워크 함수(520)는 레이블 세트의 종류에 따라 각각 동일 또는 상이한 네트워크 함수가 적용될 수 있다.
도 6은 도 1의 S120 단계에 대한 제 2 실시예를 설명하기 위한 흐름도이다.
S120 단계는, 도 6에 도시되는 바와 같이, S121 단계 내지 S123 단계를 포함할 수 있다.
S121 단계에서, 장치는 사용자(즉, 사용자 단말)로부터 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 제 1 레이블 정보를 각각 수신할 수 있다. 즉, 장치는 사용자 단말에 이미지 세트를 제공하고, 이에 응답하여 사용자 단말로부터 복수의 이미지 중 적어도 하나에 대한 제 1 레이블 정보를 수신할 수 있다. 이때, 제 1 레이블 정보는 객체 분류, 객체 분할, 객체 검출, 문자 인식, 예측, 이상 감지 중 하나에 대응하는 제 1 레이블을 생성하기 위한 것일 수 있다.
S122 단계에서, 장치는 사용자로부터 수신한 제 1 레이블 정보에 기초하여 이미지 세트를 구성하는 복수의 이미지 각각에 레이블링을 수행함으로써, 복수의 이미지 각각에 대한 제 1 레이블을 포함하는 제 1 레이블 세트를 생성할 수 있다.
S123 단계에서, 장치는 이미지 세트 및 제 1 레이블 세트를 제 1 네트워크 함수에 입력하여 학습을 수행하고, 출력 결과에 기초하여 복수의 이미지 각각에 대한 상이한 종류의 제 2 레이블을 포함하는 제 2 레이블 세트를 생성할 수 있다.
실시예에서, 제 1 레이블과 제 2 레이블은 레이블링 난이도가 상이한 종류의 레이블일 수 있다. 즉, 예를 들어, S123 단계에서, 장치는 상대적으로 낮은 난이도를 가지는 제 1 레이블 세트를 기초로, 높은 레이블링 난이도의 제 2 레이블을 세트를 생성할 수 있다.
실시예에서, 제 1 레이블은 객체 분류(object classification) 레이블이고, 상기 제 2 레이블은 객체 인식(object detection) 레이블 및 객체 분할(object segmentation) 레이블 중 적어도 하나일 수 있다. 또한, 실시예에서, 제 1 레이블은 객체 인식(object detection) 레이블이고, 제 2 레이블은 객체 분할(object segmentation) 레이블일 수 있다.
다만, 이는 예시적인 것으로서, 이에 한정하지 않으며, 실시예에 따라, 객체 인식 레이블 또는 객체 분할 레이블에 기초하여 문자 인식(character recognition) 레이블을 자동 생성하는 등, 다양한 형태로 상이한 종류의 레이블을 기초로 이미지 세트에 대한 추가적인 레이블을 생성하도록 구성될 수 있다.
이때, 제 1 네트워크 함수의 출력 결과는, 제 1 네트워크 함수가 복수의 이미지 각각에 대해 적어도 어느 일 부분에 기초하여 제 1 레이블에 대응되는 결과를 출력하였는지에 관한 정보를 포함할 수 있다.
예를 들어, 상기 출력 결과는 제 1 레이블에 대응되는 결과를 출력하는데 영향을 준 이미지의 적어도 일 부분에 관한 표시일 수 있다. 상기 출력 결과는 이미지의 위치 별 결과에 관련한 확률 정보를 포함할 수 있다. 상기 출력 결과는 제 1 레이블에 대응하는 결과를 출력하는데 영향을 준 정도에 따라 상이한 표현을 포함할 수 있다. 예를 들어, 상기 출력 결과는 제 1 레이블에 대응하는 결과를 출력하는데 영향을 준 정도에 따라 채도, 명도, 색상, 질감 등을 상이하게 표현한 것일 수 있다. 예를 들어, 영향을 많이 준 부분은 채도를 높게 표시하고, 영향을 조금 준 부분은 상대적으로 채도를 낮게 표시할 수 있다. 또는, 출력 결과는 제 1 레이블에 대응하는 결과를 출력하는데 영향을 준 정도를 표시한 히트맵(heat map)을 포함할 수 있다. 예를 들어, 장치는 Grad-CAM(Gradient-weighted Class Activation Mapping), DSRG(Deep Seeded Region Growing) 등을 이용하여 상기 출력 결과를 획득할 수 있다.
실시예에서, 장치는 제 1 네트워크 함수의 최종 출력 레이어가 아닌 적어도 하나 이상의 레이어 또는 필터에서의 연산 결과에 기초하여 상기 출력 결과를 생성할 수 있다.
실시예에서, 제 1 레이블이 객체 분류 레이블인 경우, 제 1 네트워크 함수는 객체에 대한 분류를 수행하기 위한 하나 이상의 네트워크 함수를 포함할 수 있다. 예를 들어, 제 1 네트워크 함수는 이미지 세트를 구성하는 복수의 이미지에 포함된 객체를 분류하기 위하여, 이미지에 포함된 객체에 대한 분류 결과를 제 1 레이블로 포함하는 학습 데이터를 이용하여 학습될 수 있다. 이때, 제 1 네트워크 함수의 출력 결과는 분류 결과를 출력하는데 영향을 이미지의 영역 및/또는 위치를 소정의 표현 방식으로 표현한 것일 수 있다.
실시예에서, 제 1 네트워크의 출력 결과는 결과를 출력하는데 영향을 준 이미지의 적어도 일부에 대한 정보를 포함하는 클래스 활성화 맵(Class Activation Map)일 수 있다. 클래스 활성화 맵과 관련해서는 논문 Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization(공개일: 2017년 10월 7일, 작성자: Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra)에서 구체적으로 논의될 수 있다.
이 경우, S123 단계는, 도 7에서 도시되는 바와 같이, S123-1 단계 및 S123-2 단계를 포함할 수 있다.
S123-1 단계에서, 장치는 이미지 세트 및 제 1 레이블 세트를 제 1 네트워크 함수에 입력하여 학습을 수행하고, 복수의 이미지 각각에 대한 클래스 활성화 맵을 출력할 수 있다.
예를 들어, 제 1 레이블 세트는 이미지 세트를 구성하는 복수의 이미지에 대한 객체 분류 레이블로 구성될 수 있다.
이어서, S123-2 단계에서, 장치는 클래스 활성화 맵 각각에 대하여 문턱 값을 소정의 값 또는 범위로 설정하여 약한 레이블(weak label) 영역을 추출함으로써, 제 2 레이블을 자동 생성할 수 있다. 여기서, 약한 레이블은 사용자가 수동으로 생성한 레이블만큼 정확하지 않지만 자동으로 생성되어 특정 임계치 이상의 정확성을 갖는 레이블을 의미할 수 있다.
예를 들어, 클래스 활성화 맵에 대하여, 확률, 색조, 채도, 명도 등을 일정한 범위로 설정하여 이에 대응하는 소정의 영역을 추출함으로써, 제 2 레이블을 자동 생성할 수 있다.
이때, 제 2 레이블은 객체 인식 레이블 및 객체 분할 레이블 중 적어도 하나일 수 있다.
한편, 도시되어 있지 않으나, 장치는 도 1의 S130 단계에서, 이미지 세트 및 생성된 제 2 레이블 세트를 제 2 네트워크 함수에 입력하여 학습을 수행함으로써, 학습 모델을 생성할 수 있다. 예를 들어, 제 2 레이블은 객체 분할 레이블일 수 있으며, 제 2 네트워크 함수는 객체에 관한 분할을 수행하기 위한 하나 이상의 네트워크 함수를 포함할 수 있다. 제 2 네트워크 함수는 입력 이미지에 포함된 객체에 관한 분할을 수행하기 위하여 이미지의 차원을 축소하는 네트워크 함수(인코더(encoder)) 및 이미지의 차원을 확장하는 네트워크 함수(디코더(decoder))를 포함할 수 있다.
도 8은 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.
도시되는 바와 같이, 하나의 이미지 세트(810)는 복수의 개별 이미지를 포함하고, 각 개별 이미지에 제 1 레이블이 각각 포함됨으로써, 이미지 세트(510)에 대응하는 제 1 레이블 세트가 제공될 수 있다. 예를 들어, 제 1 레이블은 객체 분류 레이블일 수 있다.
이어서, 이미지 세트(810)는 제 1 레이블 세트와 함께 제 1 네트워크 함수(820)에 입력되어 학습이 수행됨으로써, 제 1 학습 모델이 생성될 수 있다. 예를 들어, 제 1 학습 모델은 객체 분류 모델일 수 있다.
이때, 제 1 네트워크 함수(820)의 출력으로 결과를 출력하는데 영향을 준 이미지의 적어도 일부에 대한 정보를 포함하는 클래스 활성화 맵(Class Activation Map) 등이 획득될 수 있다.
이러한 제 1 네트워크 함수의 출력 결과에 기초하여 각 개별 이미지에 대한 약한 레이블인 제 2 레이블이 생성되고, 이에 따라, 이미지 세트(810)에는 제 1 레이블 세트와 상이한 종류의 제 2 레이블 세트가 포함될 수 있다. 예를 들어, 제 2 레이블은 객체 분할 레이블일 수 있다.
이어서, 이미지 세트(810)는 제 2 레이블 세트와 함께 제 2 네트워크 함수(840)에 입력되어 학습이 수행됨으로써, 제 2 학습 모델이 생성될 수 있다. 예를 들어, 제 2 학습 모델은 객체 분할 모델일 수 있다.
도 9 내지 도 11은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서, 제 1 레이블로부터 제 2 레이블을 생성하는 과정을 예시적으로 설명하기 위한 도면이다.
먼저, 도 9 내지 도 10을 참조하면, 레이블링 난이도가 낮은 객체 분류 레이블 세트에 기초하여, 상대적으로 레이블링 난이도가 높은 객체 인식 레이블 또는 객체 분할 레이블 세트를 생성할 수 있다.
먼저, 도 9에서 도시되는 바와 같이, 병변 유무에 대한 객체 분류 레이블이 포함된 이미지(도 9의 (a))를 네트워크 함수에 입력하여 출력 결과로 병변으로 분류하는데 영향을 준 이미지의 적어도 일 영역 또는 위치에 대한 확률을 소정의 방식(히트 맵 등)으로 표현한 클래스 활성화 맵 등의 결과(도 9의 (b))를 획득할 수 있다.
이어서, 도 10에서 도시되는 바와 같이, 문턱 값을 소정의 값 또는 범위로 설정하여 약한 레이블(weak label) 영역을 추출할 수 있으며, 이를 기초로, 객체 인식 레이블 또는 객체 분할 레이블을 생성할 수 있다. 이때, 객체 인식 레이블 또는 객체 분할 레이블은 약한 레이블일 수 있다.
이어서, 도 11을 참조하면, 생성된 객체 인식 레이블 또는 객체 분할 레이블을 이미지와 함께, 각각 적합한 네트워크 함수에 입력하고, 학습을 수행하여 객체 인식(도 11의 (a)) 또는 객체 분할 결과(도 11의 (b))를 출력할 수 있다.
도 12는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서, 제 1 레이블로부터 제 2 레이블을 생성하는 과정을 예시적으로 설명하기 위한 도면이다.
도 12를 참조하면, 레이블링 난이도가 낮은 객체 인식 레이블 세트에 기초하여, 상대적으로 레이블링 난이도가 높은 객체 분할 레이블 세트를 생성할 수 있다.
예를 들어, 제품의 하자 또는 이상을 감지하기 위한 객체 인식 레이블이 포함된 이미지(도 12의 (a))를 통해 네트워크 함수의 학습을 수행하고, 이의 결과로 객체 인식 결과가 포함된 결과 이미지(도 12의 (b))를 획득할 수 있다.
이어서, 결과 이미지로부터 명도, 채도, 색상 등의 범위를 설정하여, 약한 레이블(weak label) 영역을 추출할 수 있으며, 이를 기초로, 객체 분할 레이블을 생성할 수 있다
도 13은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 장치의 구성을 간략히 도시한 블록도이다.
통신부(1310)는 외부로부터 데이터(이미지 세트, 레이블 정보 등)를 수신할 수 있다. 통신부(1310)는 유무선 통신부를 포함할 수 있다. 통신부(1310)가 유선 통신부를 포함하는 경우, 통신부(1310)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 또한, 통신부(1310)가 무선 통신부를 포함하는 경우, 통신부(1310)는 셀룰러 통신, 무선랜(예를 들어, 와이-파이(Wi-Fi)) 등을 이용하여 무선으로 데이터 또는 신호를 송수신할 수 있다. 실시예에서, 통신부는 프로세서(1340)의 제어에 의해 외부 장치 또는 외부 서버와 데이터 또는 신호를 송수신할 수 있다.
입력부(1320)는 외부의 조작을 통해 다양한 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(1320)는 하나 이상의 입력 장치를 포함하거나 연결할 수 있다. 예를 들어, 입력부(1320)는 키패드, 마우스 등 다양한 입력을 위한 인터페이스와 연결되어 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(1320)는 USB 포트 뿐만 아니라 선더볼트 등의 인터페이스를 포함할 수도 있다. 또한, 입력부(1320)는 터치스크린, 버튼 등의 다양한 입력 장치를 포함하거나 이들과 결합하여 외부의 사용자 명령을 수신할 수 있다.
메모리(1330)는 프로세서(1340)의 동작을 위한 프로그램 및/또는 프로그램 명령을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수 있다. 메모리(1330)는 플래시 메모리(flash memory) 타입, 하드디스크(hard disk) 타입, 멀티미디어 카드 마이크로(multimedia card micro) 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM, 롬(ROM), EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
또한, 메모리(1330)는 다양한 네트워크 함수 및 알고리즘을 저장할 수 있으며, 장치(700)를 구동하고 제어하기 위한 다양한 데이터, 프로그램(하나 이상이 인스트럭션들), 어플리케이션, 소프트웨어, 명령, 코드 등을 저장할 수 있다.
프로세서(1340)는 장치(1300)의 전반적인 동작을 제어할 수 있다. 프로세서(1340)는 메모리(1330)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(1340)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU), 텐서 처리 장치(Tensor Processing Unit, TPU) 또는 본 개시의 기술적 사상에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
본 개시의 실시예에 따라 프로세서(1340)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(1340)는 딥러닝(DN: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(1340)의 CPU, GPU, TPU, 전용 프로세서 중 적어도 하나가 네트워크함수의 학습을 처리할 수 있다.
실시예에서, 프로세서(1340)는 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하며, 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 적어도 하나의 학습 모델을 생성할 수 있다.
실시예에서, 프로세서(1340)는 복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하고, 상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성 수 있다.
실시예에서, 상기 복수의 레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고, 프로세서(1340)는 상기 제 1 레이블 세트를 상기 네트워크 함수에 입력하여 생성된 출력 결과에 기초하여 상기 제 2 레이블 세트를 생성할 수 있다.
실시예에서, 프로세서(1340)는 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교할 수 있다.
실시예에서, 프로세서(1340)는 상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축할 수 있다.
실시예에서, 프로세서(1340)는 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성할 수 있다. 이때, 복수의 레이블 세트는, 레이블링 난이도가 상이한 종류의 제 1 레이블 세트와 제 2 레이블 세트를 포함하며, 프로세서(1340)는, 레이블링 난이도가 낮은 상기 제 1 레이블 세트를 기초로 상기 제 2 레이블 세트를 생성할 수 있다.
실시예에서, 프로세서(1340)는 적어도 하나의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 제 1 레이블 정보를 수신하고, 상기 제 1 레이블 정보에 기초하여, 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링(labeling)을 수행함으로써, 상기 복수의 이미지 각각에 대한 제 1 레이블을 포함하는 제 1 레이블 세트를 생성하며, 상기 이미지 세트 및 상기 제 1 레이블 세트를 제 1 네트워크 함수에 입력하여 학습을 수행하고, 출력 결과에 기초하여 상기 복수의 이미지 각각에 대한 제 2 레이블을 포함하는 제 2 레이블 세트를 생성할 수 있다.
실시예에서, 프로세서(1340)는 상기 복수의 이미지 각각에 대응하는 클래스 활성화 맵 각각에 대하여 문턱(threshold) 값을 소정의 값 또는 범위로 설정하여 약한 레이블링(weak labeling) 영역을 추출함으로써, 상기 제 2 레이블을 생성할 수 있다.
실시예에서, 프로세서(1340)는 상기 이미지 세트 및 상기 제 2 레이블 세트를 제 2 네트워크 함수에 입력하여 학습을 수행함으로써, 학습 모델을 생성할 수 있다.
본 개시의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제 3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제 3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제 3 장치로 전송되거나, 제 3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제 3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제 3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.

Claims (15)

  1. 다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서,
    복수의 이미지를 포함하는 이미지 세트를 획득하는 단계; 및
    상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는 단계를 더 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 복수의 레이블 세트를 생성하는 단계는,
    복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하는 단계; 및
    상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성하는 단계를 포함하는, 방법.
  4. 제 2 항에 있어서,
    상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교하는 단계를 더 포함하고,
    상기 성능은 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 산출되는, 방법.
  5. 제 2 항에 있어서,
    상기 복수의 학습 모델은 각각 객체 검출(object detection), 객체 분류(object classification), 객체 분할(object segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행하는, 방법.
  6. 제 2 항에 있어서,
    상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 복수의 레이블 세트는, 레이블링 난이도가 상이한 종류의 제 1 레이블 세트와 제 2 레이블 세트를 포함하며,
    상기 복수의 레이블 세트를 생성하는 단계는,
    레이블링 난이도가 낮은 상기 제 1 레이블 세트를 기초로 상기 제 2 레이블 세트를 생성하는 단계를 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 복수의 레이블 세트를 생성하는 단계는,
    적어도 하나의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 제 1 레이블 정보를 수신하는 단계;
    상기 제 1 레이블 정보에 기초하여, 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링(labeling)을 수행함으로써, 상기 복수의 이미지 각각에 대한 제 1 레이블을 포함하는 제 1 레이블 세트를 생성하는 단계; 및
    상기 이미지 세트 및 상기 제 1 레이블 세트를 제 1 네트워크 함수에 입력하여 학습을 수행하고, 출력 결과에 기초하여 상기 복수의 이미지 각각에 대한 제 2 레이블을 포함하는 제 2 레이블 세트를 생성하는 단계를 포함하는, 방법.
  9. 제 8 항에 있어서,
    상기 제 1 네트워크 함수의 출력 결과는,
    상기 제 1 네트워크 함수가 상기 복수의 이미지 각각에 대해 적어도 어느 일 부분에 기초하여 상기 제 1 레이블에 대응되는 결과를 출력하였는지에 관한 정보를 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 제 1 네트워크 함수의 출력 결과는,
    상기 복수의 이미지 각각에 대해 적어도 어느 일 부분에 기초하여 상기 제 1 레이블에 대응되는 결과를 출력하였는지에 관한 정보를 히트 맵(heat map) 형태로 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 제 1 네트워크 함수의 출력 결과는,
    상기 제 1 레이블에 대응하는 결과에 대한 상기 복수의 이미지 각각의 클래스 활성화 맵(Class Activation Map, CAM)을 포함하는, 방법.
  12. 제 11 항에 있어서,
    상기 제 2 레이블 세트를 생성하는 단계에서,
    상기 제 2 레이블은 상기 복수의 이미지 각각에 대응하는 상기 클래스 활성화 맵 각각에 대하여 문턱(threshold) 값을 소정의 값 또는 범위로 설정하여 약한 레이블링(weak labeling) 영역을 추출함으로써, 생성되는, 방법.
  13. 제 8 항에 있어서,
    상기 이미지 세트 및 상기 제 2 레이블 세트를 제 2 네트워크 함수에 입력하여 학습을 수행함으로써, 학습 모델을 생성하는 단계를 더 포함하는, 방법.
  14. 제 8 항에 있어서,
    상기 제 1 레이블은 객체 분류 레이블이고, 상기 제 2 레이블은 객체 인식 레이블 및 객체 분류 레이블 중 적어도 하나인, 방법.
  15. 다중 레이블 세트를 이용한 학습 모델 생성 장치에 있어서,
    적어도 하나의 프로세서; 및
    상기 프로세서에 의해 실행 가능한 프로그램을 저장하는 메모리를 포함하고,
    상기 프로세서는, 상기 프로그램을 실행함으로써, 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는, 장치.
PCT/KR2022/021669 2021-12-31 2022-12-29 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치 WO2023128677A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020210193800A KR20230104407A (ko) 2021-12-31 2021-12-31 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치
KR10-2021-0193800 2021-12-31
KR20220188077 2022-12-29
KR10-2022-0188077 2022-12-29

Publications (1)

Publication Number Publication Date
WO2023128677A1 true WO2023128677A1 (ko) 2023-07-06

Family

ID=86999696

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/021669 WO2023128677A1 (ko) 2021-12-31 2022-12-29 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치

Country Status (1)

Country Link
WO (1) WO2023128677A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019186194A2 (en) * 2018-03-29 2019-10-03 Benevolentai Technology Limited Ensemble model creation and selection
KR102143782B1 (ko) * 2019-12-13 2020-08-12 셀렉트스타 주식회사 작업 난이도에 따라 레이블링 작업을 분배하는 방법 및 그를 이용한 장치
US20210035015A1 (en) * 2019-07-31 2021-02-04 GE Precision Healthcare LLC Annotation pipeline for machine learning algorithm training and optimization
KR102256278B1 (ko) * 2020-09-22 2021-05-26 주식회사 루닛 힌트 기반의 머신러닝 모델을 통해 목적 데이터에 대한 어노테이션 정보를 제공하는 방법 및 시스템
CN113435800A (zh) * 2021-08-26 2021-09-24 平安科技(深圳)有限公司 基于大数据的标注任务执行方法、装置、电子设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019186194A2 (en) * 2018-03-29 2019-10-03 Benevolentai Technology Limited Ensemble model creation and selection
US20210035015A1 (en) * 2019-07-31 2021-02-04 GE Precision Healthcare LLC Annotation pipeline for machine learning algorithm training and optimization
KR102143782B1 (ko) * 2019-12-13 2020-08-12 셀렉트스타 주식회사 작업 난이도에 따라 레이블링 작업을 분배하는 방법 및 그를 이용한 장치
KR102256278B1 (ko) * 2020-09-22 2021-05-26 주식회사 루닛 힌트 기반의 머신러닝 모델을 통해 목적 데이터에 대한 어노테이션 정보를 제공하는 방법 및 시스템
CN113435800A (zh) * 2021-08-26 2021-09-24 平安科技(深圳)有限公司 基于大数据的标注任务执行方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2019074195A1 (ko) 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램
WO2019050247A2 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2019235828A1 (ko) 투 페이스 질병 진단 시스템 및 그 방법
WO2020045848A1 (ko) 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
WO2020005049A1 (ko) 인공 신경망의 학습 방법
WO2023008884A1 (ko) 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램
WO2019098418A1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
WO2020004815A1 (ko) 데이터의 어노말리 감지 방법
WO2020017875A1 (en) Electronic apparatus, method for processing image and computer-readable recording medium
WO2021010671A9 (ko) 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
WO2024080791A1 (ko) 데이터셋을 생성하기 위한 방법
WO2022146050A1 (ko) 우울증 진단을 위한 인공지능 연합학습 방법 및 시스템
WO2022055020A1 (ko) 자동화된 기계 학습 방법 및 그 장치
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2023128677A1 (ko) 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치
WO2020149493A1 (ko) 전자 장치 및 이의 제어 방법
WO2020032561A2 (ko) 다중 색 모델 및 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
WO2022080844A1 (ko) 스켈레톤 분석을 이용한 객체 추적 장치 및 방법
WO2022177345A1 (ko) 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2022039494A1 (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법
WO2022139327A1 (en) Method and apparatus for detecting unsupported utterances in natural language understanding
WO2023182795A1 (ko) 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법
WO2019225925A1 (ko) 객체 위치 추정 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22916818

Country of ref document: EP

Kind code of ref document: A1