WO2023113294A1 - Training data management device and method - Google Patents

Training data management device and method Download PDF

Info

Publication number
WO2023113294A1
WO2023113294A1 PCT/KR2022/018893 KR2022018893W WO2023113294A1 WO 2023113294 A1 WO2023113294 A1 WO 2023113294A1 KR 2022018893 W KR2022018893 W KR 2022018893W WO 2023113294 A1 WO2023113294 A1 WO 2023113294A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
unlabeled
learning data
cluster
Prior art date
Application number
PCT/KR2022/018893
Other languages
French (fr)
Korean (ko)
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 KR1020210180532A external-priority patent/KR20230091426A/en
Priority claimed from KR1020210180536A external-priority patent/KR20230091430A/en
Priority claimed from KR1020210180537A external-priority patent/KR20230091431A/en
Application filed by 주식회사 씨에스리 filed Critical 주식회사 씨에스리
Publication of WO2023113294A1 publication Critical patent/WO2023113294A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to the management of learning data, and more particularly, to the collection, labeling, and adjustment of imbalance of learning data for learning an artificial intelligence model, updating an artificial intelligence model through learning data, and correction for performance improvement. It is about.
  • Training data including appropriate labels are required for training of artificial intelligence models. Labels may be directly matched by a person for each data or automatically set corresponding to each data according to a preset algorithm.
  • the performance of AI models improves when appropriate learning is performed.
  • a new training data set for the corresponding process is required, but it is difficult to secure a training data set corresponding to a pattern of the changed input data.
  • the present invention provides a learning data management apparatus and method capable of reducing the cost of data collection for model generation and renewal, and improving the performance of a model by constructing learning data through data generated from actual services.
  • an apparatus for managing learning data is provided.
  • the learning data management apparatus When receiving unlabeled data, the learning data management apparatus according to an embodiment of the present invention performs clustering on the unlabeled data according to a predetermined pattern to form one or more clusters, and a cluster of unlabeled data.
  • a similarity calculation unit that calculates the similarity between the unlabeled cluster and the learning cluster, which is a cluster of pre-learning data, and the unlabeled data included in the unlabeled cluster is excluded from the target of the training data according to the similarity, or the unlabeled data included in the unlabeled cluster is excluded from the target of the training data.
  • a labeling unit performing labeling on label data may be included.
  • a learning data management method and a computer program executing the same are provided.
  • a learning data management method and a computer program executing the method according to an embodiment of the present invention when receiving unlabeled data, perform clustering on the unlabeled data according to a predetermined pattern to form one or more clusters;
  • the step of calculating the similarity between the unlabeled cluster, which is a cluster of label data, and the learning cluster, which is a cluster of pre-learning data, and according to the similarity, unlabeled data included in the unlabeled cluster is excluded from the target of the training data, or is included in the unlabeled cluster. and performing labeling on included unlabeled data.
  • the cost required for labeling can be reduced by excluding data similar to pre-learned data from the training data.
  • the update time of the model can be determined while managing the input data of the artificial intelligence model in service as learning data.
  • imbalance between classes can be alleviated by matching the ratio with the underclass by adjusting the ratio through oversized class sampling.
  • a data set close to data with low information loss and strong against data noise can be constructed.
  • the performance of a model can be improved through data generated from a service without newly learning an artificial intelligence model through new data.
  • FIG. 1 is a block diagram illustrating a learning data management device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a labeler of a learning data management device according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a model learning unit of a learning data management device according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating the structure of a learning data providing unit of a learning data management device according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of performing labeling by an apparatus for managing learning data according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a process of labeling learning data by an apparatus for managing learning data according to an embodiment of the present invention
  • FIG. 7 is a flowchart illustrating a process of sampling learning data by an apparatus for managing learning data according to an embodiment of the present invention
  • FIG. 1 is a block diagram illustrating an apparatus for managing learning data according to an embodiment of the present invention.
  • the learning data management device 10 includes a labeler 100, a model learning unit 200, a learning data providing unit 300, and a learning data collecting unit 400. and a model correction unit 500 .
  • the labeler 100 receives unlabeled data from the outside, and data having a similarity with pre-learned learning data stored in the training data providing unit 300 (hereinafter, referred to as pre-learning data) equal to or greater than a predetermined first threshold. Excluding from the learning data, labeling is performed on the remaining data and transmitted to the learning data providing unit 300.
  • pre-learning data pre-learned learning data stored in the training data providing unit 300
  • labeling is performed on the remaining data and transmitted to the learning data providing unit 300.
  • FIG. 2 is a block diagram illustrating a labeler of a learning data management device according to an embodiment of the present invention.
  • the labeler 100 includes a clustering unit 110 , a similarity calculating unit 120 and a labeling unit 130 .
  • the clustering unit 110 When receiving unlabeled data (hereinafter, referred to as unlabeled data), the clustering unit 110 performs clustering on each unlabeled data according to a predetermined pattern to form one or more clusters. At this time, the clustering unit 110 may form clusters through techniques such as K-means, hierarchical clustering, spectral clustering, and DBSCAN. For example, when receiving unlabeled data including ⁇ swimsuit, seawater, echo ⁇ , the clustering unit 110 performs clustering on the corresponding data to form a first cluster ⁇ swimsuit, seawater ⁇ and a second cluster. Can form ⁇ echo ⁇ .
  • the similarity calculation unit 120 calculates the similarity between each cluster and the pre-learning data used for model learning. For example, the learning data providing unit (300 ) is stored in The similarity calculating unit 120 may calculate a similarity between ⁇ swimsuit, seawater ⁇ , which is the first cluster, and the clusters of pre-trained data classified into each class. Also, the similarity calculating unit 120 may calculate a similarity between ⁇ echo ⁇ , which is the second cluster, and the clusters of pre-trained data classified into each class. The similarity calculation unit 120 may calculate the similarity through techniques such as cosine similarity, Jacquard similarity, and Euclidean similarity techniques. The similarity calculating unit 120 transmits each similarity to the labeling unit 130 .
  • the labeling unit 130 excludes the corresponding unlabeled data cluster from the training data when a similarity between the unlabeled data cluster and one or more clusters of the previously trained data is greater than or equal to a first threshold value. That is, the labeling unit 130 performs labeling on clusters of unlabeled data whose similarity with all clusters is less than a first threshold value among the previously learned data, and uses the labeled data as new training data.
  • the training data providing unit 300 save to
  • the labeling unit 130 may determine the similarity between ⁇ swimsuit, seawater ⁇ , which is the first group of unlabeled data, and ⁇ water, wave, swimming, etc. ⁇ , which is data classified as "sea" (eg, each classification When the average of similarities between data) is greater than or equal to the first threshold, data of the first cluster may be excluded from the training data.
  • the labeling unit 130 performs labeling on the second cluster ⁇ echo ⁇ when the similarity between the second cluster ⁇ echo ⁇ and the cluster of pre-learning data is less than the first threshold value, and provides the learning data as training data ( 300).
  • the labeling unit 130 determines whether the similarity between the second cluster ⁇ echo ⁇ and the pre-learning data is less than the first threshold and greater than or equal to the second threshold (in this case, the first threshold is equal to or greater than the second threshold). greater natural number), the label for the data of the second cluster may be automatically set to the same label as the cluster of the class having the most similarity with each data of the second cluster.
  • the labeling unit 130 performs labeling by directly receiving a new label for each data of the second cluster from the user when the similarity between ⁇ echo ⁇ , which is the second cluster, and the clusters of the previously learned data is less than the second threshold. can do.
  • the labeler 100 prevents overfitting for a specific class by preventing unlabeled data having a very high similarity to the pre-learning data from being used as training data among unlabeled data, and By performing automatic labeling on labeled data, the number of unlabeled data to which new labels are added can be reduced, thereby reducing the load of the labeling task.
  • the model learning unit 200 learns a model constituting artificial intelligence through learning data stored in the learning data providing unit 300 .
  • the model may be a model implemented by a system such as a neural network constituting artificial intelligence.
  • the model learning unit 200 compares patterns of the pre-learning data (data and labels) with patterns of the additional training data.
  • the model learning unit 200 updates the model through the additional training data when the similarity between the pattern of the pre-learning data and the pattern of the additional training data is less than a predetermined threshold.
  • model learning unit 200 does not update the model through the additional training data when the similarity between the pattern of the pre-learning data and the pattern of the additional training data is greater than or equal to a predetermined threshold.
  • a detailed structure of the model learning unit 200 will be described with reference to FIG. 3 .
  • FIG. 3 is a block diagram illustrating a model learning unit of a learning data management device according to an embodiment of the present invention.
  • the model learning unit 200 includes a pattern storage unit 210 , an update determination unit 220 and a learning unit 230 .
  • the pattern storage unit 210 stores patterns of learning data. For example, when a model for predicting a season according to clothing is generated with a training data set using clothing training data and a season label, the pattern storage unit 210 stores ⁇ short sleeve - summer>, ⁇ long sleeve - winter> and Similarly, you can store patterns that associate clothing with seasons.
  • the update determination unit 220 updates the model through the additional training data when the pattern similarity between the additional training data and the pre-learning data is less than or equal to a designated threshold when receiving an additional training data pattern from the training data providing unit 300. is performed through the learning unit 230. For example, when the pattern of the additional learning data is ⁇ Short Sleeve - Summer>, since the pattern of the pre-learning data and the pattern of the additional learning data are the same, the update determining unit 220 performs an update according to ⁇ Short Sleeve - Summer>. I never do that.
  • the learning unit 230 performs a model update according to ⁇ Shorts - Summer>. can be done through Conversely, if the similarity between the pattern of the pre-learning data and the pattern of the additional learning data exceeds a specified threshold, the update determination unit 220 suspends the update according to the additional learning data, and through the additional learning data similar to the pre-learning data Through the update, it is possible to prevent performing an update that is not highly effective.
  • the update determination unit 220 determines the learning unit 230 when the ratio of the number of additional learning data to the total learning data received from the learning data providing unit 300 is greater than or equal to a predetermined threshold (eg, 30%). You can perform model update through . Alternatively, when the ratio of the number of additional training data to the total training data is equal to or greater than a predetermined threshold, the update determination unit 220 determines that the pattern similarity between the additional training data and the pre-learning data is equal to or less than a designated threshold, and determines the additional training data. Update of the model through can be performed through the learning unit 230.
  • a predetermined threshold eg, 30%
  • the learning unit 230 performs model learning through training data and additional training data.
  • the learning data management device performs a model update only when the pattern of the additional training data differs from the pattern of the pre-trained data by a certain amount or more to prevent an inefficient situation in which the model is updated according to the addition of all additional training data.
  • the learning data management device can determine the renewal time of the artificial intelligence model while managing the input value of the artificial intelligence model in service as learning data using the previously added label.
  • the learning data providing unit 300 stores learning data and provides the learning data to the model learning unit 200 .
  • the learning data providing unit 300 classifies the learning data into a plurality of classes, it detects an excessive class having the largest number of learning data in the class and a small class having the smallest number of learning data in the class.
  • the training data providing unit 300 adjusts the number of training data for the excessive class by performing sampling on the excessive class so that the ratio of the number of training data of the excessive class and the small class falls within a specified range.
  • the learning data providing unit 330 generates noise data by using the training data of the exaggerated class, inputs the noise data to an unsupervised learning generative adversarial network (GAN) to generate noise learning data, and generates noise learning data in the existing training data.
  • GAN unsupervised learning generative adversarial network
  • Noise learning data may be added and provided to the model learning unit 200 .
  • a detailed structure of the learning data provider 300 will be described with reference to FIG. 4 .
  • FIG. 4 is a block diagram illustrating the structure of a learning data providing unit of a learning data management device according to an embodiment of the present invention.
  • the learning data providing unit 300 includes an imbalance distribution checking unit 310, a sampling unit 320, and a noise adding unit 330.
  • the imbalanced distribution checking unit 310 determines whether a ratio of the number of training data of the overclass and underclass falls within a specified range. If the ratio of the number of training data of the large class to the small class exceeds the specified range, a sampling request signal requesting sampling of the large class is transmitted to the sampling unit 320 .
  • the sampling unit 320 When receiving the sampling request signal, the sampling unit 320 performs sampling on the excessive class.
  • the sampling unit 320 may calculate a central point of a feature vector corresponding to the training data of the exaggerated class.
  • the sampling unit 320 samples learning data in which the distance of a specific vector is within a certain range based on the calculated center point, or simple random sampling, two-step sampling, sampling by layer, cluster/colony sampling, systematic sampling, etc., which are stochastic sampling methods. technique can be applied
  • the noise adder 330 generates noise data using the training data and inputs the noise data to an unsupervised learning GAN to generate noise training data.
  • the noise adder 330 may add noise learning data to the sampling-completed training data and provide it to the model learner 200 .
  • the learning data management apparatus prevents a model from being learned in a biased direction that predicts only the result of an exaggerated class due to an enlargement of a specific class, and the model through noise learning data generated in consideration of noise. This noise can be robustly learned.
  • the learning data collection unit 400 collects learning data through input data and output data generated from a service through a learned model.
  • the learning data collection unit 400 may collect input data and output data generated from a service through a learned model.
  • the learning data collection unit 400 sets an additional learning data set in which input data is set as learning data by labeling output data existing within the label range (a set of labels set for the previously learned data) of the pre-learning data among the output data. can be configured.
  • the learning data collection unit 400 may include the corresponding input data and output data in the additional training data set only when the input data corresponding to the output data existing within the label range of the pre-learning data is different from the pre-learning data. there is.
  • the learning data collection unit 400 transmits an additional learning data set to the learning data providing unit 300 .
  • the learning data management device can reduce the cost of data collection for model creation and renewal, and improve the performance of the model by configuring learning data through data generated in actual services. there is.
  • the model correction unit 500 improves the performance of the model by correcting data output by the model.
  • the model correction unit 500 may monitor input data and output data generated in a service through the learned model through the learning data collection unit 400 .
  • the model corrector 500 takes the pre-learning data used for model learning as an input, the first output output from the model and input data similar to the pre-learning data (cosine similarity, Jacquard similarity, Euclidean similarity technique and Through the same technique, a deviation of the second output output from the model may be calculated through input of input data whose similarity with the pre-learning data is equal to or greater than a specified threshold.
  • the model correction unit 500 may set the center value of the class to which the difference between the first output and the second output belongs as an error correction value.
  • the model correction unit 500 may preset classes for classifying deviations between the first output and the second output, and may set a center value of deviations corresponding to each class as an error correction value.
  • the model correction unit 500 may correct output data corresponding to the input data by applying the error correction value to input data or output data.
  • the model correction unit 500 may add or subtract an error correction value to the output data, or add or subtract an error correction value to the input data and then input the input data to the model so that the output data of the model is corrected.
  • the learning data management device can improve the performance of a model through data generated from a service without newly learning an artificial intelligence model through new data.
  • FIG. 5 is a flowchart illustrating a method of performing labeling by an apparatus for managing learning data according to an embodiment of the present invention. Each step described below is a process performed by each functional unit constituting the learning data management device described above with reference to FIG.
  • step 510 the learning data management device labels learning data for which no label has been set. At this time, a specific process of performing labeling will be described in detail with reference to FIG. 6 later.
  • the learning data management device collects additional learning data through data input and output to the model from the service through the model.
  • the learning data management device may collect input data and output data generated from a service through a learned model.
  • the learning data management device may configure an additional training data set in which input data is set as training data by labeling output data existing within a label range of the training data among the output data.
  • the learning data management device may include the corresponding input data and output data in the additional training data set only when the input data corresponding to the output data existing within the label range of the pre-learning data is different from the pre-learning data.
  • step 520 the learning data management device performs sampling on the learning data and adjusts the number of learning data belonging to the excessive class. At this time, a specific process of performing the sampling will be described in detail with reference to FIG. 7 later.
  • the learning data management device determines whether the model needs to be updated.
  • the learning data management device may determine whether the model needs to be updated according to the similarity between the previous learning data and the additional learning data pattern or the ratio of the additional learning data to the total learning data.
  • the learning data management device may store and manage patterns of additional learning data and pre-learning data. The learning data management device may determine that the model needs to be updated through the additional learning data when the similarity between the patterns of the additional learning data and the pre-learning data is less than or equal to a specified threshold. Alternatively, the learning data management device may determine that the model needs to be updated through the additional training data when the ratio of the additional training data to the total training data is greater than or equal to a specified threshold (eg, 30%).
  • a specified threshold eg, 30%
  • step 530 the learning data management device updates the model using the additional learning data.
  • step 535 the learning data management device outputs the first output from the model when the pre-learning data is used as an input, and the pre-learning among the input data received during service provision through the model.
  • the output data of the model is corrected according to the deviation of the second output output from the model through the input of input data similar to the data.
  • the learning data management device may preset classes for classifying deviations between the first output and the second output, and may set a center value of deviations corresponding to each class as an error correction value.
  • the learning data management device may correct output data corresponding to the input data by applying the error correction value to the output data.
  • the learning data management device may apply the error correction value to the input data and then input the error correction value to the model so that the value of the output data is corrected.
  • FIG. 6 is a flowchart illustrating a process of labeling learning data by a learning data management device according to an embodiment of the present invention. Each process described below may be a process corresponding to step 510 of FIG. 5 .
  • step 610 the learning data management apparatus performs clustering on each unlabeled data according to a predetermined pattern to form one or more clusters.
  • the learning data management apparatus calculates a similarity between each cluster of unlabeled data and a cluster of pre-learning data used for model learning.
  • the learning data management device may calculate the similarity through techniques such as cosine similarity, Jacquard similarity, and Euclidean similarity.
  • the learning data management apparatus excludes the corresponding unlabeled data cluster from the training data when the similarity between the unlabeled data cluster and one or more clusters of the previously learned data is greater than or equal to a first threshold value.
  • the learning data management device may determine if the similarity of a cluster of unlabeled data with all clusters in the previously learned data is less than a first threshold and greater than or equal to a second threshold (in this case, the first threshold exceeds the second threshold). value), the label corresponding to each data can be automatically set to the same label as the cluster of the class that has the most similarity with each data included in the corresponding cluster.
  • the learning data management apparatus may perform labeling by directly receiving a new label for each data from the user when the similarity between the clusters of the unlabeled data and all clusters among the previously learned data is less than the second threshold.
  • FIG. 7 is a flowchart illustrating a process of sampling learning data by an apparatus for managing learning data according to an embodiment of the present invention. Each process described below is a process corresponding to 520 in FIG. 5 .
  • step 710 when learning data is classified into a plurality of classes, the learning data management apparatus detects an overclass having the largest number of learning data in the class and an underclass having the smallest number of learning data in the class.
  • the learning data management device adjusts the number of training data for the excessive class by performing sampling on the excessive class so that the ratio of the number of training data of the excessive class and the small class falls within a specified range. For example, the learning data management device may calculate a central point of a feature vector corresponding to the learning data of an exaggerated class, and perform sampling on the exaggerated class based on the central point.
  • the learning data management device generates noise data using the training data of the overclass, inputs the noise data into an unsupervised learning generative adversarial network (GAN) to generate noise learning data, and learns noise on the existing training data Add data.
  • GAN unsupervised learning generative adversarial network
  • the learning data management method may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium.
  • Computer readable media may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on a computer readable medium may be specially designed and configured for the present invention or may be known and usable to those skilled in the art of 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.
  • hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, etc.
  • the above-described medium may be a transmission medium such as light including a carrier wave for transmitting a signal designating a program command, data structure, or the like, or a metal wire or a waveguide.
  • 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 hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention can reduce the cost of data collection for model generation and renewal, and can improve the performance of the model by configuring learning data through data generated in actual services, so it has industrial applicability.

Landscapes

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

Abstract

The present invention relates to managing training data, and more specifically relates to: collecting, labeling, and adjusting imbalances in training data for training an artificial intelligence model; updating the artificial intelligence model through the training data; and correcting for performance improvement. According to an embodiment of the present invention, data similar to learned data can be excluded from training data to reduce the cost of labeling.

Description

학습 데이터 관리 장치 및 방법Learning data management device and method
본 발명은 학습 데이터의 관리에 관한 것으로, 보다 상세하게는 인공지능 모델의 학습을 위한 학습 데이터의 수집, 레이블링 및 불균형을 조정하고, 학습 데이터를 통한 인공지능 모델을 갱신하고, 성능 향상을 위한 보정에 관한 것이다.The present invention relates to the management of learning data, and more particularly, to the collection, labeling, and adjustment of imbalance of learning data for learning an artificial intelligence model, updating an artificial intelligence model through learning data, and correction for performance improvement. It is about.
인공지능 모델의 학습을 위해서는 적절한 레이블을 포함하는 학습데이터가 필요하다. 레이블은 각 데이터에 대해 사람이 직접 데이터를 매칭하거나 미리 설정된 알고리즘에 따라 자동으로 각 데이터에 대응하여 설정될 수 있다.Training data including appropriate labels are required for training of artificial intelligence models. Labels may be directly matched by a person for each data or automatically set corresponding to each data according to a preset algorithm.
학습 데이터를 제공하기 위해서는 데이터 수집, 레이블링 등의 작업을 위한 많은 시간과 비용이 소모된다. 특히 사람이 직접 레이블링하는 과정은 시간 및 비용이 많이 든다. 만약, 유사한 데이터가 다수 존재하는 경우, 각 데이터에 대해 직접 사람이 레이블링을 수행하는 것은 비효율적이다.In order to provide training data, a lot of time and money are consumed for tasks such as data collection and labeling. In particular, the process of manually labeling is time consuming and costly. If there are many similar data, it is inefficient for a person to directly label each data.
또한 인공지능 모델의 성능은 적합한 학습을 수행하였을 때 향상된다. 하지만, 새로운 입력 데이터에 대한 처리를 위해서는 해당 처리를 위한 새로운 학습 데이터 세트가 필요하지만, 변화된 입력 데이터의 패턴에 대응하는 학습 데이터 세트를 확보하는 것은 어려운 일이다.In addition, the performance of AI models improves when appropriate learning is performed. However, in order to process new input data, a new training data set for the corresponding process is required, but it is difficult to secure a training data set corresponding to a pattern of the changed input data.
한편 인공지능 모델에 요구는 따라 달라지기 때문에 별도의 학습 데이터를 통한 갱신 과정이 요구된다. 하지만, 인공지능 모델의 갱신 과정은 비용이 크기 때문에 적절한 갱신 시점이 중요하다.On the other hand, since the requirements of the artificial intelligence model vary, an update process through separate learning data is required. However, since the renewal process of an AI model is expensive, the appropriate renewal timing is important.
본 발명은 모델 생성 및 갱신을 위한 데이터 수집에 비용을 줄일 수 있으며, 실제 서비스에서 발생하는 데이터를 통해 학습 데이터를 구성함으로써 모델의 성능을 향상시킬 수 있는 학습 데이터 관리 장치 및 방법을 제공한다.The present invention provides a learning data management apparatus and method capable of reducing the cost of data collection for model generation and renewal, and improving the performance of a model by constructing learning data through data generated from actual services.
본 발명의 일 측면에 따르면, 학습 데이터 관리 장치를 제공한다.According to one aspect of the present invention, an apparatus for managing learning data is provided.
본 발명의 일 실시 예에 따른 학습 데이터 관리 장치는 언레이블 데이터를 수신하는 경우, 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 클러스터링부, 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 유사도 산출부 및 유사도에 따라 언레이블 군집 내 포함된 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 언레이블 군집 내 포함된 언레이블 데이터에 대한 레이블링을 수행하는 레이블링부를 포함할 수 있다.When receiving unlabeled data, the learning data management apparatus according to an embodiment of the present invention performs clustering on the unlabeled data according to a predetermined pattern to form one or more clusters, and a cluster of unlabeled data. A similarity calculation unit that calculates the similarity between the unlabeled cluster and the learning cluster, which is a cluster of pre-learning data, and the unlabeled data included in the unlabeled cluster is excluded from the target of the training data according to the similarity, or the unlabeled data included in the unlabeled cluster is excluded from the target of the training data. A labeling unit performing labeling on label data may be included.
본 발명의 다른 일 측면에 따르면, 학습 데이터 관리 방법 및 이를 실행하는 컴퓨터 프로그램을 제공한다.According to another aspect of the present invention, a learning data management method and a computer program executing the same are provided.
본 발명의 일 실시 예에 따른 학습 데이터 관리 방법 및 이를 실행하는 컴퓨터 프로그램은 언레이블 데이터를 수신하는 경우, 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 단계, 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 단계 및 유사도에 따라 언레이블 군집 내 포함된 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 언레이블 군집 내 포함된 언레이블 데이터에 대한 레이블링을 수행하는 단계를 포함할 수 있다.A learning data management method and a computer program executing the method according to an embodiment of the present invention, when receiving unlabeled data, perform clustering on the unlabeled data according to a predetermined pattern to form one or more clusters; The step of calculating the similarity between the unlabeled cluster, which is a cluster of label data, and the learning cluster, which is a cluster of pre-learning data, and according to the similarity, unlabeled data included in the unlabeled cluster is excluded from the target of the training data, or is included in the unlabeled cluster. and performing labeling on included unlabeled data.
본 발명의 일 실시 예에 따르면, 기 학습된 데이터와 유사한 데이터를 학습 데이터에서 제외하여 레이블링에 소요되는 비용을 줄일 수 있다.According to an embodiment of the present invention, the cost required for labeling can be reduced by excluding data similar to pre-learned data from the training data.
본 발명의 일 실시 예에 따르면, 운영 중인 인공지능 모델의 갱신 시점을 효율적으로 결정할 수 있어 인공지능 모델의 성능을 유지하면서 갱신에 요구되는 비용을 줄일 수 있다.According to an embodiment of the present invention, it is possible to efficiently determine the renewal time of an artificial intelligence model in operation, thereby reducing the cost required for renewal while maintaining the performance of the artificial intelligence model.
또한 본 발명의 일 실시 예에 따르면, 서비스 중인 인공지능 모델의 입력 데이터를 학습 데이터로 관리하면서 모델의 갱신 시점을 판단할 수 있다.In addition, according to an embodiment of the present invention, the update time of the model can be determined while managing the input data of the artificial intelligence model in service as learning data.
본 발명의 일 실시 예에 따르면, 과대 클래스 샘플링을 통한 비율조정으로 과소 클래스와의 비율을 맞춰 클래스 간 불균형을 완화할 수 있다.According to an embodiment of the present invention, imbalance between classes can be alleviated by matching the ratio with the underclass by adjusting the ratio through oversized class sampling.
또한, 본 발명의 일 실시 예에 따르면, 정보손실이 적고, 데이터 노이즈에 강한 데이터에 가까운 데이터 세트도 구축할 수 있다.In addition, according to an embodiment of the present invention, a data set close to data with low information loss and strong against data noise can be constructed.
본 발명의 일 실시 예에 따르면, 새로운 데이터를 통해 인공지능 모델을 새로 학습하지 않고 서비스에서 발생하는 데이터를 통해 모델의 성능을 향상시킬 수 있다.According to an embodiment of the present invention, the performance of a model can be improved through data generated from a service without newly learning an artificial intelligence model through new data.
본 발명의 일 실시 예에 따르면, 모델 생성 및 갱신을 위한 데이터 수집에 비용을 줄일 수 있으며, 실제 서비스에서 발생하는 데이터를 통해 학습 데이터를 구성함으로써 모델의 성능을 향상 시킬 수 있다.According to an embodiment of the present invention, it is possible to reduce the cost of data collection for model generation and renewal, and it is possible to improve the performance of the model by constructing learning data through data generated in actual services.
도 1은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치를 예시한 블록도.1 is a block diagram illustrating a learning data management device according to an embodiment of the present invention.
도 2는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 레이블러를 예시한 블록도.2 is a block diagram illustrating a labeler of a learning data management device according to an embodiment of the present invention.
도 3은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 모델 학습부를 예시한 블록도.3 is a block diagram illustrating a model learning unit of a learning data management device according to an embodiment of the present invention.
도 4는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 학습 데이터 제공부의 구조를 예시한 블록도.4 is a block diagram illustrating the structure of a learning data providing unit of a learning data management device according to an embodiment of the present invention.
도 5는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치가 레이블링을 수행하는 방법을 예시한 순서도.5 is a flowchart illustrating a method of performing labeling by an apparatus for managing learning data according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 학습 데이터 관리 장치가 학습 데이터에 대해 레이블링을 수행하는 과정을 예시한 순서도.6 is a flowchart illustrating a process of labeling learning data by an apparatus for managing learning data according to an embodiment of the present invention;
도 7은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치가 학습 데이터를 샘플링하는 과정을 예시한 순서도.7 is a flowchart illustrating a process of sampling learning data by an apparatus for managing learning data according to an embodiment of the present invention;
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Also, as used in this specification and claims, the terms "a" and "an" are generally to be construed to mean "one or more" unless stated otherwise.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. do it with
도 1은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치를 예시한 블록도이다.1 is a block diagram illustrating an apparatus for managing learning data according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치(10)는 레이블러(100), 모델 학습부(200), 학습 데이터 제공부(300), 학습 데이터 수집부(400) 및 모델 보정부(500)를 포함한다.Referring to FIG. 1 , the learning data management device 10 according to an embodiment of the present invention includes a labeler 100, a model learning unit 200, a learning data providing unit 300, and a learning data collecting unit 400. and a model correction unit 500 .
레이블러(100)는 외부로부터 레이블링 되지 않은 데이터를 수신하고, 학습 데이터 제공부(300)에 저장된 기 학습된 학습 데이터(이하, 기 학습 데이터라 지칭)와 유사도가 미리 지정된 제1 임계값 이상인 데이터를 학습 데이터에서 제외하고 나머지 데이터에 대해 레이블링을 수행하여 학습 데이터 제공부(300)로 전송한다. 이하, 레이블러(100)의 구체적인 동작을 하기의 도 2를 참조하여 상세히 설명하도록 한다.The labeler 100 receives unlabeled data from the outside, and data having a similarity with pre-learned learning data stored in the training data providing unit 300 (hereinafter, referred to as pre-learning data) equal to or greater than a predetermined first threshold. Excluding from the learning data, labeling is performed on the remaining data and transmitted to the learning data providing unit 300. Hereinafter, a specific operation of the labeler 100 will be described in detail with reference to FIG. 2 below.
도 2는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 레이블러를 예시한 블록도이다.2 is a block diagram illustrating a labeler of a learning data management device according to an embodiment of the present invention.
도 2를 참조하면, 레이블러(100)는 클러스터링부(110), 유사도 산출부(120) 및 레이블링부(130)를 포함한다.Referring to FIG. 2 , the labeler 100 includes a clustering unit 110 , a similarity calculating unit 120 and a labeling unit 130 .
클러스터링부(110)는 레이블링이 되지 않은 데이터(이하, 언레이블 데이터라 지칭)를 수신하는 경우, 각 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성한다. 이 때, 클러스터링부(110)는 K-means, Hierarchical clustering, Spectral Clustering, DBSCAN 등의 기법을 통해 군집을 형성할 수 있다. 예를 들어, 클러스터링부(110)는 {수영복, 바닷물, 메아리}를 포함하는 언레이블 데이터를 수신하는 경우, 해당 데이터에 대해 클러스터링을 수행하여 제1 군집인 {수영복, 바닷물}과 제2 군집인 {메아리}를 형성할 수 있다.When receiving unlabeled data (hereinafter, referred to as unlabeled data), the clustering unit 110 performs clustering on each unlabeled data according to a predetermined pattern to form one or more clusters. At this time, the clustering unit 110 may form clusters through techniques such as K-means, hierarchical clustering, spectral clustering, and DBSCAN. For example, when receiving unlabeled data including {swimsuit, seawater, echo}, the clustering unit 110 performs clustering on the corresponding data to form a first cluster {swimsuit, seawater} and a second cluster. Can form {echo}.
유사도 산출부(120)는 각 군집과 모델의 학습에 사용된 기 학습 데이터 간의 유사도를 산출한다. 예를 들어, 기 학습 데이터가 클래스 "산"으로 분류된 데이터인 {나무, 잔디, 계곡 등}와 클래스 "바다"로 분류된 데이터인 {물, 파도, 수영 등}로 학습 데이터 제공부(300)에 저장되었다고 가정하자. 유사도 산출부(120)는 제1 군집인 {수영복, 바닷물}과 각 클래스로 분류된 기 학습 데이터의 군집 간의 유사도를 산출할 수 있다. 또한, 유사도 산출부(120)는 제2 군집인 {메아리}와 각 클래스로 분류된 기 학습 데이터의 군집 간의 유사도를 산출할 수 있다. 유사도 산출부(120)는 코사인 유사도, 자카드 유사도, 유클리디안 유사도 기법과 같은 기법을 통해 유사도를 산출할 수 있다. 유사도 산출부(120)는 각 유사도를 레이블링부(130)로 전송한다.The similarity calculation unit 120 calculates the similarity between each cluster and the pre-learning data used for model learning. For example, the learning data providing unit (300 ) is stored in The similarity calculating unit 120 may calculate a similarity between {swimsuit, seawater}, which is the first cluster, and the clusters of pre-trained data classified into each class. Also, the similarity calculating unit 120 may calculate a similarity between {echo}, which is the second cluster, and the clusters of pre-trained data classified into each class. The similarity calculation unit 120 may calculate the similarity through techniques such as cosine similarity, Jacquard similarity, and Euclidean similarity techniques. The similarity calculating unit 120 transmits each similarity to the labeling unit 130 .
레이블링부(130)는 언레이블 데이터의 군집과 기 학습 데이터 중 하나 이상의 군집 간의 유사도가 제1 임계값 이상인 경우, 해당 언레이블 데이터의 군집을 학습 데이터에서 제외시킨다. 즉, 레이블링부(130)는 기 학습 데이터 중 모든 군집과의 유사도가 제1 임계값 미만인 언레이블 데이터의 군집에 대해 레이블링을 수행하고, 레이블링된 데이터를 새로운 학습 데이터로써 학습 데이터 제공부(300)에 저장한다. The labeling unit 130 excludes the corresponding unlabeled data cluster from the training data when a similarity between the unlabeled data cluster and one or more clusters of the previously trained data is greater than or equal to a first threshold value. That is, the labeling unit 130 performs labeling on clusters of unlabeled data whose similarity with all clusters is less than a first threshold value among the previously learned data, and uses the labeled data as new training data. The training data providing unit 300 save to
예를 들어, 레이블링부(130)는 언레이블 데이터의 제1 군집인 {수영복, 바닷물}과 "바다"로 분류된 데이터인 {물, 파도, 수영 등}의 유사도(예를 들어, 각 분류의 데이터 간의 유사도들의 평균)가 제1 임계값 이상인 경우, 제1 군집의 데이터를 학습 데이터에서 제외시킬 수 있다. 레이블링부(130)는 제2 군집인 {메아리}와 기 학습 데이터의 군집 간의 유사도가 제1 임계값 미만인 경우, 제2 군집인 {메아리}에 대해 레이블링을 수행하여 학습 데이터로 학습 데이터 제공부(300)에 전송할 수 있다. 이 때, 레이블링부(130)는 제2 군집인 {메아리}와 기 학습 데이터의 군집 간 유사도가 제1 임계값 미만이고 제2 임계값 이상인 경우(이 때, 제1 임계값은 제2 임계값보다 큰 자연수임), 제2 군집의 데이터에 대한 레이블을 제2 군집의 각 데이터와 가장 유사도가 클래스의 군집과 동일한 레이블로 자동 설정할 수 있다. 또한, 레이블링부(130)는 제2 군집인 {메아리}와 기 학습 데이터의 군집 간 유사도가 제2 임계값 미만인 경우, 제2 군집의 각 데이터에 대해 사용자로부터 직접 새 레이블을 입력받아 레이블링을 수행할 수 있다.For example, the labeling unit 130 may determine the similarity between {swimsuit, seawater}, which is the first group of unlabeled data, and {water, wave, swimming, etc.}, which is data classified as "sea" (eg, each classification When the average of similarities between data) is greater than or equal to the first threshold, data of the first cluster may be excluded from the training data. The labeling unit 130 performs labeling on the second cluster {echo} when the similarity between the second cluster {echo} and the cluster of pre-learning data is less than the first threshold value, and provides the learning data as training data ( 300). At this time, the labeling unit 130 determines whether the similarity between the second cluster {echo} and the pre-learning data is less than the first threshold and greater than or equal to the second threshold (in this case, the first threshold is equal to or greater than the second threshold). greater natural number), the label for the data of the second cluster may be automatically set to the same label as the cluster of the class having the most similarity with each data of the second cluster. In addition, the labeling unit 130 performs labeling by directly receiving a new label for each data of the second cluster from the user when the similarity between {echo}, which is the second cluster, and the clusters of the previously learned data is less than the second threshold. can do.
따라서, 레이블러(100)는 언레이블 데이터 중 기 학습 데이터와 유사도가 매우 높은 언레이블 데이터는 학습 데이터로 사용되지 않도록 하여 특정 클래스에 대한 과적합이 되는 경우를 방지하고, 유사도가 일정 수준 이상인 언레이블 데이터에 대해서는 자동 레이블링을 수행하여, 새 레이블을 추가받는 언레이블 데이터의 수를 줄여 레이블링 작업의 부하를 줄일 수 있다.Therefore, the labeler 100 prevents overfitting for a specific class by preventing unlabeled data having a very high similarity to the pre-learning data from being used as training data among unlabeled data, and By performing automatic labeling on labeled data, the number of unlabeled data to which new labels are added can be reduced, thereby reducing the load of the labeling task.
다시 도 1을 참조하면, 모델 학습부(200)는 학습 데이터 제공부(300)에 저장된 학습 데이터를 통해 인공지능을 구성하는 모델을 학습시킨다. 이 때, 모델은 인공 지능을 구성하는 신경망 등의 시스템에 의해 구현된 모델일 수 있다. 모델 학습부(200)는 학습 데이터 제공부(300)로부터 추가 학습 데이터를 수신하는 경우, 기 학습 데이터의 패턴(데이터와 레이블)와 추가 학습 데이터의 패턴을 비교한다. 모델 학습부(200)는 기 학습 데이터의 패턴과 추가 학습 데이터의 패턴의 유사도가 미리 지정된 임계값 미만인 경우, 추가 학습 데이터를 통해 모델의 갱신을 수행한다. 반대로, 모델 학습부(200)는 기 학습 데이터의 패턴과 추가 학습 데이터의 패턴의 유사도가 미리 지정된 임계값 이상인 경우, 추가 학습 데이터를 통한 모델 갱신을 수행하지 않는다. 이하, 도 3을 참조하여 모델 학습부(200)의 상세 구조를 설명하도록 한다.Referring back to FIG. 1 , the model learning unit 200 learns a model constituting artificial intelligence through learning data stored in the learning data providing unit 300 . In this case, the model may be a model implemented by a system such as a neural network constituting artificial intelligence. When receiving additional training data from the training data providing unit 300, the model learning unit 200 compares patterns of the pre-learning data (data and labels) with patterns of the additional training data. The model learning unit 200 updates the model through the additional training data when the similarity between the pattern of the pre-learning data and the pattern of the additional training data is less than a predetermined threshold. Conversely, the model learning unit 200 does not update the model through the additional training data when the similarity between the pattern of the pre-learning data and the pattern of the additional training data is greater than or equal to a predetermined threshold. Hereinafter, a detailed structure of the model learning unit 200 will be described with reference to FIG. 3 .
도 3은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 모델 학습부를 예시한 블록도이다. 3 is a block diagram illustrating a model learning unit of a learning data management device according to an embodiment of the present invention.
도 3을 참조하면, 모델 학습부(200)는 패턴 저장부(210), 갱신 판단부(220) 및 학습부(230)를 포함한다. Referring to FIG. 3 , the model learning unit 200 includes a pattern storage unit 210 , an update determination unit 220 and a learning unit 230 .
패턴 저장부(210)는 학습 데이터의 패턴을 저장한다. 예를 들어, 의류의 학습데이터와 계절의 레이블을 이용한 학습데이터 세트로 의류에 따른 계절을 예측하는 모델을 생성하는 경우, 패턴 저장부(210)는 <반팔 - 여름>, <긴팔 - 겨울>과 같이 의류와 계절을 연관시키는 패턴을 저장할 수 있다. The pattern storage unit 210 stores patterns of learning data. For example, when a model for predicting a season according to clothing is generated with a training data set using clothing training data and a season label, the pattern storage unit 210 stores <short sleeve - summer>, <long sleeve - winter> and Similarly, you can store patterns that associate clothing with seasons.
갱신 판단부(220)는 학습 데이터 제공부(300)로부터 추가 학습 데이터 패턴을 수신하는 경우, 추가 학습 데이터와 기 학습 데이터의 패턴의 유사도가 지정된 임계값 이하인 경우, 추가 학습 데이터를 통한 모델의 갱신을 학습부(230)를 통해 수행한다. 예를 들어, 추가 학습 데이터의 패턴이 <반팔 - 여름>인 경우, 기 학습 데이터의 패턴과 추가 학습 데이터의 패턴이 동일하기 때문에 갱신 판단부(220)는 <반팔 - 여름>에 따른 갱신을 수행하지 않는다. 반면, 추가 학습 데이터의 패턴이 <반바지 - 여름>이어서 기 학습 데이터의 패턴과 추가 학습 데이터의 패턴간 유사도가 지정된 임계값 이하인 경우, <반바지 - 여름>에 따른 모델 갱신을 학습부(230)를 통해 수행할 수 있다. 반대로 갱신 판단부(220)는 기 학습 데이터의 패턴과 추가 학습 데이터의 패턴간 유사도가 지정된 임계값을 초과하는 경우, 추가 학습 데이터에 따른 갱신을 유보하여, 기 학습 데이터와 유사한 추가 학습 데이터를 통한 갱신을 통해 효과가 높지 않은 갱신을 수행하는 것을 방지할 수 있다.The update determination unit 220 updates the model through the additional training data when the pattern similarity between the additional training data and the pre-learning data is less than or equal to a designated threshold when receiving an additional training data pattern from the training data providing unit 300. is performed through the learning unit 230. For example, when the pattern of the additional learning data is <Short Sleeve - Summer>, since the pattern of the pre-learning data and the pattern of the additional learning data are the same, the update determining unit 220 performs an update according to <Short Sleeve - Summer>. I never do that. On the other hand, if the pattern of the additional training data is <Shorts - Summer>, and the similarity between the pattern of the pre-learning data and the pattern of the additional training data is less than or equal to a specified threshold, the learning unit 230 performs a model update according to <Shorts - Summer>. can be done through Conversely, if the similarity between the pattern of the pre-learning data and the pattern of the additional learning data exceeds a specified threshold, the update determination unit 220 suspends the update according to the additional learning data, and through the additional learning data similar to the pre-learning data Through the update, it is possible to prevent performing an update that is not highly effective.
또한, 갱신 판단부(220)는 학습 데이터 제공부(300)로부터 수신한 전체 학습 데이터 대비 추가 학습 데이터의 수의 비율이 미리 지정된 임계값(예를 들어 30%) 이상인 경우, 학습부(230)를 통해 모델 갱신을 수행할 수 있다. 또는, 갱신 판단부(220)는 전체 학습 데이터 대비 추가 학습 데이터의 수의 비율이 미리 지정된 임계값 이상인 경우, 추가 학습 데이터와 기 학습 데이터의 패턴의 유사도가 지정된 임계값 이하임에 따라 추가 학습 데이터를 통한 모델의 갱신을 학습부(230)를 통해 수행할 수 있다. In addition, the update determination unit 220 determines the learning unit 230 when the ratio of the number of additional learning data to the total learning data received from the learning data providing unit 300 is greater than or equal to a predetermined threshold (eg, 30%). You can perform model update through . Alternatively, when the ratio of the number of additional training data to the total training data is equal to or greater than a predetermined threshold, the update determination unit 220 determines that the pattern similarity between the additional training data and the pre-learning data is equal to or less than a designated threshold, and determines the additional training data. Update of the model through can be performed through the learning unit 230.
학습부(230)는 학습 데이터 및 추가 학습 데이터를 통해 모델의 학습을 수행한다. The learning unit 230 performs model learning through training data and additional training data.
따라서, 학습 데이터 관리 장치는 추가 학습 데이터의 패턴이 기 학습 데이터의 패턴과 일정 이상 상이한 경우에만 모델의 갱신을 수행하여 모든 추가 학습 데이터의 추가에 따라 모델의 갱신을 수행하는 비효율적인 상황을 방지할 수 있다.Therefore, the learning data management device performs a model update only when the pattern of the additional training data differs from the pattern of the pre-trained data by a certain amount or more to prevent an inefficient situation in which the model is updated according to the addition of all additional training data. can
또한, 학습 데이터 관리 장치는 기존 추가된 레이블을 이용하여 서비스 중인 인공지능 모델의 입력 값을 학습 데이터로 관리하면서 인공지능 모델의 갱신 시점 판단이 가능하다.In addition, the learning data management device can determine the renewal time of the artificial intelligence model while managing the input value of the artificial intelligence model in service as learning data using the previously added label.
다시 도 1을 참조하면, 학습 데이터 제공부(300)는 학습 데이터를 저장하고, 학습 데이터를 모델 학습부(200)로 제공한다. 학습 데이터 제공부(300)는 학습 데이터를 복수의 클래스로 분류하였을 때, 클래스 내 학습 데이터의 수가 가장 많은 과대 클래스와 클래스 내 학습 데이터의 수가 가장 적은 과소 클래스를 검출한다. 학습 데이터 제공부(300)는 과대 클래스와 과소 클래스의 학습 데이터 수의 비율이 지정된 범위 내에 해당하도록 과대 클래스에 대한 샘플링을 수행하여 과대 클래스에 대한 학습 데이터 수를 조정한다. 또한, 학습 데이터 제공부(330)는 과대 클래스의 학습 데이터를 이용하여 노이즈 데이터를 생성하고, 노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하고, 기존 학습 데이터에 노이즈 학습 데이터를 추가하여 모델 학습부(200)로 제공할 수 있다. 이하, 도 4를 참조하여 학습 데이터 제공부(300)의 상세한 구조를 설명하도록 한다.Referring back to FIG. 1 , the learning data providing unit 300 stores learning data and provides the learning data to the model learning unit 200 . When the learning data providing unit 300 classifies the learning data into a plurality of classes, it detects an excessive class having the largest number of learning data in the class and a small class having the smallest number of learning data in the class. The training data providing unit 300 adjusts the number of training data for the excessive class by performing sampling on the excessive class so that the ratio of the number of training data of the excessive class and the small class falls within a specified range. In addition, the learning data providing unit 330 generates noise data by using the training data of the exaggerated class, inputs the noise data to an unsupervised learning generative adversarial network (GAN) to generate noise learning data, and generates noise learning data in the existing training data. Noise learning data may be added and provided to the model learning unit 200 . Hereinafter, a detailed structure of the learning data provider 300 will be described with reference to FIG. 4 .
도 4는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치의 학습 데이터 제공부의 구조를 예시한 블록도이다.4 is a block diagram illustrating the structure of a learning data providing unit of a learning data management device according to an embodiment of the present invention.
도 4를 참조하면, 학습 데이터 제공부(300)는 불균형 분포 확인부(310), 샘플링부(320) 및 노이즈 추가부(330)를 포함한다.Referring to FIG. 4 , the learning data providing unit 300 includes an imbalance distribution checking unit 310, a sampling unit 320, and a noise adding unit 330.
불균형 분포 확인부(310)는 학습 데이터를 복수의 클래스로 분류하였을 경우, 과대 클래스와 과소 클래스의 학습 데이터 수의 비율이 지정된 범위 내에 해당하는지 판단한다. 만약, 과대 클래스와 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 샘플링부(320)로 과대 클래스에 대한 샘플링을 요청하는 샘플링 요청 신호를 전송한다.When the learning data is classified into a plurality of classes, the imbalanced distribution checking unit 310 determines whether a ratio of the number of training data of the overclass and underclass falls within a specified range. If the ratio of the number of training data of the large class to the small class exceeds the specified range, a sampling request signal requesting sampling of the large class is transmitted to the sampling unit 320 .
샘플링부(320)는 샘플링 요청 신호를 수신하는 경우, 과대 클래스에 대한 샘플링을 수행한다. 샘플링부(320)는 과대 클래스의 학습 데이터에 대응하는 특징 벡터의 중심점을 산출할 수 있다. 샘플링부(320)는 산출된 중심점을 기준으로 특정 벡터의 거리가 일정 이내인 학습 데이터를 샘플링하거나, 확률적 샘플링 방법인 단순 랜덤 샘플링, 2단계 샘플링, 층별 샘플링, 군집/집락 샘플링, 계통 샘플링 등의 기법을 적용할 수 있다 When receiving the sampling request signal, the sampling unit 320 performs sampling on the excessive class. The sampling unit 320 may calculate a central point of a feature vector corresponding to the training data of the exaggerated class. The sampling unit 320 samples learning data in which the distance of a specific vector is within a certain range based on the calculated center point, or simple random sampling, two-step sampling, sampling by layer, cluster/colony sampling, systematic sampling, etc., which are stochastic sampling methods. technique can be applied
노이즈 추가부(330)는 학습 데이터를 이용하여 노이즈 데이터를 생성하고, 노이즈 데이터를 비지도 학습 GAN에 입력하여 노이즈 학습 데이터를 생성한다. 노이즈 추가부(330)는 샘플링이 완료된 학습 데이터에 노이즈 학습 데이터를 추가하여 모델 학습부(200)로 제공할 수 있다.The noise adder 330 generates noise data using the training data and inputs the noise data to an unsupervised learning GAN to generate noise training data. The noise adder 330 may add noise learning data to the sampling-completed training data and provide it to the model learner 200 .
따라서, 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치는 특정 클래스가 비대하여 과대 클래스의 결과만을 예측하는 편향된 방향으로 모델이 학습되는 것을 방지하고, 노이즈를 고려하여 생성된 노이즈 학습 데이터를 통해 모델이 노이즈에 대해 강인하게 학습되도록 할 수 있다.Therefore, the learning data management apparatus according to an embodiment of the present invention prevents a model from being learned in a biased direction that predicts only the result of an exaggerated class due to an enlargement of a specific class, and the model through noise learning data generated in consideration of noise. This noise can be robustly learned.
다시 도 1을 참조하면, 학습 데이터 수집부(400)는 학습된 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 통해 학습 데이터를 수집한다. 예를 들어, 학습 데이터 수집부(400)는 학습된 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 수집할 수 있다. 학습 데이터 수집부(400)는 출력 데이터 중 기 학습 데이터의 레이블 범위(기 학습 데이터에 대해 설정된 레이블들의 집합) 내 존재하는 출력 데이터를 레이블로 하여 입력 데이터를 학습 데이터로 설정한 추가 학습 데이터 세트를 구성할 수 있다. 이 때, 학습 데이터 수집부(400)는 기 학습 데이터의 레이블 범위 내 존재하는 출력 데이터에 상응하는 입력 데이터가 기 학습 데이터와 상이한 경우에만 해당 입력 데이터 및 출력 데이터를 추가 학습 데이터 세트에 포함시킬 수 있다. 학습 데이터 수집부(400)는 추가 학습 데이터 세트를 학습 데이터 제공부(300)로 전송한다.Referring back to FIG. 1 , the learning data collection unit 400 collects learning data through input data and output data generated from a service through a learned model. For example, the learning data collection unit 400 may collect input data and output data generated from a service through a learned model. The learning data collection unit 400 sets an additional learning data set in which input data is set as learning data by labeling output data existing within the label range (a set of labels set for the previously learned data) of the pre-learning data among the output data. can be configured. At this time, the learning data collection unit 400 may include the corresponding input data and output data in the additional training data set only when the input data corresponding to the output data existing within the label range of the pre-learning data is different from the pre-learning data. there is. The learning data collection unit 400 transmits an additional learning data set to the learning data providing unit 300 .
따라서, 본 발명의 일 실시예에 따른 학습 데이터 관리 장치는 모델 생성 및 갱신을 위한 데이터 수집에 비용을 줄일 수 있으며, 실제 서비스에서 발생하는 데이터를 통해 학습 데이터를 구성함으로써 모델의 성능을 향상 시킬 수 있다. Therefore, the learning data management device according to an embodiment of the present invention can reduce the cost of data collection for model creation and renewal, and improve the performance of the model by configuring learning data through data generated in actual services. there is.
모델 보정부(500)는 모델이 출력하는 데이터를 보정하여 모델의 성능을 향상 시킨다. 예를 들어, 모델 보정부(500)는 학습된 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 학습 데이터 수집부(400)를 통해 모니터링할 수 있다. 모델 보정부(500)는 모델의 학습에 이용된 기 학습 데이터를 입력으로 하는 경우 모델에서 출력하는 제1 출력과, 기 학습 데이터와 유사한 입력 데이터(코사인 유사도, 자카드 유사도, 유클리디안 유사도 기법과 같은 기법을 통해 기 학습 데이터와의 유사도가 지정된 임계값 이상인 입력 데이터)의 입력을 통해 모델에서 출력된 제2 출력을 편차를 산출할 수 있다. 모델 보정부(500)는 제1 출력과 제2 출력의 편차가 속하는 클래스의 중심값을 오차 보정 값으로 설정할 수 있다. 이 때, 모델 보정부(500)는 제1 출력과 제2 출력의 편차를 분류하는 클래스를 미리 설정할 수 있고, 각 클래스에 해당하는 편차들의 중심값을 오차 보정값으로 설정할 수 있다. 모델 보정부(500)는 오차 보정값을 입력 데이터 또는 출력 데이터에 적용하여 입력 데이터에 상응하는 출력 데이터를 보정할 수 있다. 이 때, 모델 보정부(500)는 출력 데이터에 오차 보정값을 더하거나 차감하거나, 입력 데이터에 오차 보정값을 더하거나 차감한 뒤 모델에 입력하도록 하여 모델의 출력 데이터가 보정되도록 할 수 있다.The model correction unit 500 improves the performance of the model by correcting data output by the model. For example, the model correction unit 500 may monitor input data and output data generated in a service through the learned model through the learning data collection unit 400 . When the model corrector 500 takes the pre-learning data used for model learning as an input, the first output output from the model and input data similar to the pre-learning data (cosine similarity, Jacquard similarity, Euclidean similarity technique and Through the same technique, a deviation of the second output output from the model may be calculated through input of input data whose similarity with the pre-learning data is equal to or greater than a specified threshold. The model correction unit 500 may set the center value of the class to which the difference between the first output and the second output belongs as an error correction value. At this time, the model correction unit 500 may preset classes for classifying deviations between the first output and the second output, and may set a center value of deviations corresponding to each class as an error correction value. The model correction unit 500 may correct output data corresponding to the input data by applying the error correction value to input data or output data. At this time, the model correction unit 500 may add or subtract an error correction value to the output data, or add or subtract an error correction value to the input data and then input the input data to the model so that the output data of the model is corrected.
따라서, 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치는 새로운 데이터를 통해 인공지능 모델을 새로 학습하지 않고 서비스에서 발생하는 데이터를 통해 모델의 성능을 향상시킬 수 있다.Therefore, the learning data management device according to an embodiment of the present invention can improve the performance of a model through data generated from a service without newly learning an artificial intelligence model through new data.
도 5는 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치가 레이블링을 수행하는 방법을 예시한 순서도이다. 이하 설명하는 각 단계는 도 1을 참조하여 상술한 학습 데이터 관리 장치를 구성하는 각 기능부가 수행하는 과정이나, 발명의 간결하고 명확한 설명을 위해 각 단계의 주체를 학습 데이터 관리 장치로 통칭하도록 한다. 5 is a flowchart illustrating a method of performing labeling by an apparatus for managing learning data according to an embodiment of the present invention. Each step described below is a process performed by each functional unit constituting the learning data management device described above with reference to FIG.
도 5를 참조하면, 단계 510에서 학습 데이터 관리 장치는 레이블이 설정되지 않은 학습 데이터에 대해 레이블링을 수행한다. 이 때, 레이블링을 수행하는 구체적인 과정은 추후 도 6을 참조하여 상세히 설명하도록 한다.Referring to FIG. 5 , in step 510, the learning data management device labels learning data for which no label has been set. At this time, a specific process of performing labeling will be described in detail with reference to FIG. 6 later.
단계 515에서 학습 데이터 관리 장치는 모델을 통한 서비스에서 모델에 입력 및 출력된 데이터를 통해 추가 학습 데이터를 수집한다. 예를 들어, 학습 데이터 관리 장치는 학습된 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 수집할 수 있다. 학습 데이터 관리 장치는 출력 데이터 중 기 학습 데이터의 레이블 범위 내 존재하는 출력 데이터를 레이블로 하여 입력 데이터를 학습 데이터로 설정한 추가 학습 데이터 세트를 구성할 수 있다. 이 때, 학습 데이터 관리 장치는 기 학습 데이터의 레이블 범위 내 존재하는 출력 데이터에 상응하는 입력 데이터가 기 학습 데이터와 상이한 경우에만 해당 입력 데이터 및 출력 데이터를 추가 학습 데이터 세트에 포함시킬 수 있다. In step 515, the learning data management device collects additional learning data through data input and output to the model from the service through the model. For example, the learning data management device may collect input data and output data generated from a service through a learned model. The learning data management device may configure an additional training data set in which input data is set as training data by labeling output data existing within a label range of the training data among the output data. In this case, the learning data management device may include the corresponding input data and output data in the additional training data set only when the input data corresponding to the output data existing within the label range of the pre-learning data is different from the pre-learning data.
단계 520에서 학습 데이터 관리 장치는 학습 데이터에 대해 샘플링을 수행하여 과대 클래스에 속하는 학습 데이터의 수를 조정한다. 이 때, 샘플링을 수행하는 구체적인 과정은 추후 도 7을 참조하여 상세히 설명하도록 한다.In step 520, the learning data management device performs sampling on the learning data and adjusts the number of learning data belonging to the excessive class. At this time, a specific process of performing the sampling will be described in detail with reference to FIG. 7 later.
단계 525에서 학습 데이터 관리 장치는 모델의 갱신이 필요한지 판단한다. 이 때, 학습 데이터 관리 장치는 기 학습 데이터와 추가 학습 데이터 패턴의 유사도 또는 전체 학습 데이터 대비 추가 학습 데이터의 비율에 따라 모델의 갱신이 필요한지 판단할 수 있다. 예를 들어, 학습 데이터 관리 장치는 추가 학습 데이터와 기 학습 데이터의 패턴을 저장하여 관리할 수 있다. 학습 데이터 관리 장치는 추가 학습 데이터와 기 학습 데이터의 패턴의 유사도가 지정된 임계값 이하인 경우, 추가 학습 데이터를 통한 모델의 갱신이 필요한 것으로 판단할 수 있다. 또는 학습 데이터 관리 장치는 전체 학습 데이터 대비 추가 학습 데이터의 비율이 지정된 임계값(예를 들어, 30%) 이상인 경우, 추가 학습 데이터를 통한 모델의 갱신이 필요한 것으로 판단할 수 있다.In step 525, the learning data management device determines whether the model needs to be updated. In this case, the learning data management device may determine whether the model needs to be updated according to the similarity between the previous learning data and the additional learning data pattern or the ratio of the additional learning data to the total learning data. For example, the learning data management device may store and manage patterns of additional learning data and pre-learning data. The learning data management device may determine that the model needs to be updated through the additional learning data when the similarity between the patterns of the additional learning data and the pre-learning data is less than or equal to a specified threshold. Alternatively, the learning data management device may determine that the model needs to be updated through the additional training data when the ratio of the additional training data to the total training data is greater than or equal to a specified threshold (eg, 30%).
단계 525에서 모델의 갱신이 필요한 경우, 단계 530에서 학습 데이터 관리 장치는 추가 학습 데이터를 이용하여 모델의 갱신을 수행한다.If the model needs to be updated in step 525, in step 530, the learning data management device updates the model using the additional learning data.
단계 525에서 모델의 갱신이 필요하지 않는 경우, 단계 535에서 학습 데이터 관리 장치는 기 학습 데이터를 입력으로 하는 경우 모델에서 출력하는 제1 출력과, 모델을 통한 서비스 제공 중 입력 받은 입력 데이터 중 기 학습 데이터와 유사한 입력 데이터의 입력을 통해 모델에서 출력된 제2 출력을 편차에 따라 모델의 출력 데이터를 보정한다. 이 때, 학습 데이터 관리 장치는 제1 출력과 제2 출력의 편차를 분류하는 클래스를 미리 설정할 수 있고, 각 클래스에 해당하는 편차들의 중심값을 오차 보정값으로 설정할 수 있다. 학습 데이터 관리 장치는 오차 보정값을 출력 데이터에 적용하여 입력 데이터에 상응하는 출력 데이터를 보정할 수 있다. 또는 학습 데이터 관리 장치는 오차 보정값을 입력 데이터에 적용한 뒤 모델에 입력하여 출력 데이터의 값이 보정되도록 할 수 있다.In step 525, when updating of the model is not required, in step 535, the learning data management device outputs the first output from the model when the pre-learning data is used as an input, and the pre-learning among the input data received during service provision through the model. The output data of the model is corrected according to the deviation of the second output output from the model through the input of input data similar to the data. In this case, the learning data management device may preset classes for classifying deviations between the first output and the second output, and may set a center value of deviations corresponding to each class as an error correction value. The learning data management device may correct output data corresponding to the input data by applying the error correction value to the output data. Alternatively, the learning data management device may apply the error correction value to the input data and then input the error correction value to the model so that the value of the output data is corrected.
도 6은 본 발명의 일 실시예에 따른 학습 데이터 관리 장치가 학습 데이터에 대해 레이블링을 수행하는 과정을 예시한 순서도이다. 이하 설명하는 각 과정은 도 5의 단계 510에 해당하는 과정일 수 있다. 6 is a flowchart illustrating a process of labeling learning data by a learning data management device according to an embodiment of the present invention. Each process described below may be a process corresponding to step 510 of FIG. 5 .
도 6을 참조하면, 단계 610에서 학습 데이터 관리 장치는 각 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성한다. Referring to FIG. 6 , in step 610, the learning data management apparatus performs clustering on each unlabeled data according to a predetermined pattern to form one or more clusters.
단계 620에서 학습 데이터 관리 장치는 언레이블 데이터의 각 군집과 모델의 학습에 사용된 기 학습 데이터의 군집 간의 유사도를 산출한다. 학습 데이터 관리 장치는 코사인 유사도, 자카드 유사도, 유클리디안 유사도 기법과 같은 기법을 통해 유사도를 산출할 수 있다. In step 620, the learning data management apparatus calculates a similarity between each cluster of unlabeled data and a cluster of pre-learning data used for model learning. The learning data management device may calculate the similarity through techniques such as cosine similarity, Jacquard similarity, and Euclidean similarity.
단계 630에서 학습 데이터 관리 장치는 언레이블 데이터의 군집과 기 학습 데이터 중 하나 이상의 군집 간의 유사도가 제1 임계값 이상인 경우, 해당 언레이블 데이터의 군집을 학습 데이터에서 제외시킨다. 또는 학습 데이터 관리 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제1 임계값 미만이고 제2 임계값 이상인 경우(이 때, 제1 임계값은 제2 임계값을 초과하는 값임), 해당 군집에 포함된 각 데이터와 가장 유사도가 클래스의 군집과 동일한 레이블을 각 데이터에 상응하는 레이블로 자동 설정할 수 있다. 또는 학습 데이터 관리 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제2 임계값 미만인 경우, 각 데이터에 대해 사용자로부터 직접 새 레이블을 입력받아 레이블링을 수행할 수 있다.In step 630, the learning data management apparatus excludes the corresponding unlabeled data cluster from the training data when the similarity between the unlabeled data cluster and one or more clusters of the previously learned data is greater than or equal to a first threshold value. Alternatively, the learning data management device may determine if the similarity of a cluster of unlabeled data with all clusters in the previously learned data is less than a first threshold and greater than or equal to a second threshold (in this case, the first threshold exceeds the second threshold). value), the label corresponding to each data can be automatically set to the same label as the cluster of the class that has the most similarity with each data included in the corresponding cluster. Alternatively, the learning data management apparatus may perform labeling by directly receiving a new label for each data from the user when the similarity between the clusters of the unlabeled data and all clusters among the previously learned data is less than the second threshold.
도 7은 본 발명의 일 실시 예에 따른 학습 데이터 관리 장치가 학습 데이터를 샘플링하는 과정을 예시한 순서도이다. 이하 설명하는 각 과정은 도 5의 520에 해당하는 과정이다.7 is a flowchart illustrating a process of sampling learning data by an apparatus for managing learning data according to an embodiment of the present invention. Each process described below is a process corresponding to 520 in FIG. 5 .
도 7을 참조하면, 단계 710에서 학습 데이터 관리 장치는 학습 데이터를 복수의 클래스로 분류하였을 때, 클래스 내 학습 데이터의 수가 가장 많은 과대 클래스와 클래스 내 학습 데이터의 수가 가장 적은 과소 클래스를 검출한다.Referring to FIG. 7 , in step 710, when learning data is classified into a plurality of classes, the learning data management apparatus detects an overclass having the largest number of learning data in the class and an underclass having the smallest number of learning data in the class.
단계 720에서 학습 데이터 관리 장치는 과대 클래스와 과소 클래스의 학습 데이터 수의 비율이 지정된 범위 내에 해당하도록 과대 클래스에 대한 샘플링을 수행하여 과대 클래스에 대한 학습 데이터 수를 조정한다. 예를 들어, 학습 데이터 관리 장치는 과대 클래스의 학습 데이터에 대응하는 특징 벡터의 중심점을 산출하고, 중심점을 기준으로 과대 클래스에 대해 샘플링을 수행할 수 있다.In step 720, the learning data management device adjusts the number of training data for the excessive class by performing sampling on the excessive class so that the ratio of the number of training data of the excessive class and the small class falls within a specified range. For example, the learning data management device may calculate a central point of a feature vector corresponding to the learning data of an exaggerated class, and perform sampling on the exaggerated class based on the central point.
단계 730에서 학습 데이터 관리 장치는 과대 클래스의 학습 데이터를 이용하여 노이즈 데이터를 생성하고, 노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하고, 기존 학습 데이터에 노이즈 학습 데이터를 추가한다.In step 730, the learning data management device generates noise data using the training data of the overclass, inputs the noise data into an unsupervised learning generative adversarial network (GAN) to generate noise learning data, and learns noise on the existing training data Add data.
본 발명의 실시 예에 따른 학습 데이터 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The learning data management method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. Computer readable media may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on a computer readable medium may be specially designed and configured for the present invention or may be known and usable to those skilled in the art of 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, etc. In addition, the above-described medium may be a transmission medium such as light including a carrier wave for transmitting a signal designating a program command, data structure, or the like, or a metal wire or a waveguide. 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 hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at mainly by its embodiments. Those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from a descriptive point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.
발명의 실시를 위한 형태는 위의 발명의 실시를 위한 최선의 형태에서 함께 기술되었다.Modes for carrying out the invention have been described together in the best mode for carrying out the invention above.
본 발명은 모델 생성 및 갱신을 위한 데이터 수집에 비용을 줄일 수 있으며, 실제 서비스에서 발생하는 데이터를 통해 학습 데이터를 구성함으로써 모델의 성능을 향상 시킬 수 있어 산업상 이용 가능성이 있다.The present invention can reduce the cost of data collection for model generation and renewal, and can improve the performance of the model by configuring learning data through data generated in actual services, so it has industrial applicability.

Claims (19)

  1. 언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 클러스터링부;a clustering unit configured to form one or more clusters by performing clustering on the unlabeled data according to a predetermined pattern when receiving unlabeled data;
    상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 유사도 산출부; 및a similarity calculation unit calculating a similarity between the unlabeled cluster, which is a group of unlabeled data, and the learning cluster, which is a group of previously learned data; and
    상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 레이블링부를 포함하는 학습 데이터 관리 장치.and a labeling unit configured to exclude the unlabeled data included in the unlabeled cluster from the target of learning data or label the unlabeled data included in the unlabeled cluster according to the degree of similarity. .
  2. 제1항에 있어서,According to claim 1,
    상기 레이블링부는,The labeling unit,
    상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키는 것을 특징으로 하는 학습 데이터 관리 장치.and excluding the unlabeled data included in the unlabeled cluster from a target of learning data when the similarity is equal to or greater than a predetermined first threshold.
  3. 제2항에 있어서,상기 레이블링부는,The method of claim 2, wherein the labeling unit,
    상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하고,When the similarity is less than the first threshold and greater than or equal to a predetermined second threshold, setting a label of the unlabeled data included in the unlabeled cluster to be the same as a label corresponding to the learning cluster;
    상기 제1 임계값은 상기 제2 임계값보다 큰 자연수인 것을 특징으로 하는 학습 데이터 관리 장치.The learning data management device, characterized in that the first threshold value is a natural number greater than the second threshold value.
  4. 제3항에 있어서,According to claim 3,
    상기 레이블링부는,The labeling unit,
    상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된When the similarity is less than the second threshold, included in the unlabeled cluster
    상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정하는 학습 데이터 관리 장치.A learning data management device for receiving and setting a new label of the unlabeled data.
  5. 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 수집하고,Collect input data and output data from services through models;
    상기 출력 데이터를 레이블로 설정한 입력 데이터를 학습 데이터로 생성하는 학습Learning to generate input data in which the output data is set as a label as training data
    데이터 수집부; 및data collection unit; and
    상기 학습 데이터를 저장하는 학습 데이터 제공부를 포함하는 학습 데이터 관리 장치.A learning data management device comprising a learning data providing unit that stores the learning data.
  6. 제5항에 있어서,According to claim 5,
    상기 학습 데이터 수집부는,The learning data collection unit,
    상기 출력 데이터 중 기 학습 데이터의 레이블 범위 내 존재하는 출력 데이터를 레이블로 하여 입력 데이터를 학습 데이터로 설정하는 것을 특징으로 하는 학습 데이터 관리 장치.The learning data management device, characterized in that for setting the input data as the learning data by labeling the output data existing within the label range of the previous learning data among the output data.
  7. 학습 데이터를 수집하는 학습 데이터 수집부; 및a learning data collection unit that collects learning data; and
    상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 학습 데이터 제공부를 포함하는 학습 데이터 관리 장치.A learning data management device comprising a learning data providing unit that performs sampling on an excessive class among the learning data.
  8. 제7항에 있어서,According to claim 7,
    상기 학습 데이터 제공부는,The learning data providing unit,
    상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하고,Detecting the overclass and underclass in the learning data;
    상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행하는 것을 특징으로하는 학습 데이터 관리 장치.The learning data management device, characterized in that, when the ratio of the number of training data of the over class and the under class is out of a specified range, sampling is performed for the over class.
  9. 제7항에 있어서,According to claim 7,
    상기 학습 데이터 제공부는,The learning data providing unit,
    노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하고,generating noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN);
    상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시키는 것을 특징으로 하는 학습 데이터 관리 장치.The learning data management device characterized in that the noise learning data is included in the learning data set.
  10. 학습 데이터 관리 장치가 학습 데이터 관리를 수행하는 방법에 있어서,In the method for the learning data management device to perform learning data management,
    언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 단계;forming one or more clusters by performing clustering on the unlabeled data according to a predetermined pattern when unlabeled data is received;
    상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 단계; 및calculating a similarity between the unlabeled cluster, which is the cluster of unlabeled data, and the learning cluster, which is a cluster of pre-learning data; and
    상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계를 포함하는 학습 데이터 관리 방법.and excluding the unlabeled data included in the unlabeled cluster from the target of training data according to the similarity, or labeling the unlabeled data included in the unlabeled cluster. .
  11. 제10항에 있어서,According to claim 10,
    상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,The step of excluding the unlabeled data included in the unlabeled cluster from the target of training data or labeling the unlabeled data included in the unlabeled cluster according to the similarity,
    상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키는 단계를 포함하는 학습 데이터 관리 방법.and excluding the unlabeled data included in the unlabeled cluster from a target of training data when the degree of similarity is equal to or greater than a predetermined first threshold.
  12. 제11항에 있어서,According to claim 11,
    상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,The step of excluding the unlabeled data included in the unlabeled cluster from the target of training data or labeling the unlabeled data included in the unlabeled cluster according to the similarity,
    상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하는 단계를 더 포함하되,Setting a label of the unlabeled data included in the unlabeled cluster to be the same as a label corresponding to the learning cluster when the similarity is less than the first threshold and greater than or equal to a predetermined second threshold; ,
    상기 제1 임계값은 상기 제2 임계값보다 큰 자연수인 것을 특징으로 하는 학습 데이터 관리 방법.The learning data management method, characterized in that the first threshold value is a natural number greater than the second threshold value.
  13. 제12항에 있어서,According to claim 12,
    상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,The step of excluding the unlabeled data included in the unlabeled cluster from the target of training data or labeling the unlabeled data included in the unlabeled cluster according to the similarity,
    상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정하는 단계를 더 포함하는 학습 데이터 관리 방법.The learning data management method further comprising receiving and setting a new label of the unlabeled data included in the unlabeled cluster when the similarity is less than the second threshold.
  14. 학습 데이터 관리 장치가 학습 데이터를 관리하는 방법에 있어서,A method for managing learning data by a learning data management device,
    모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 수집하는 단계;Collecting input data and output data generated from a service through a model;
    상기 출력 데이터를 레이블로 설정한 입력 데이터를 학습 데이터로 생성하는 단계; 및generating input data obtained by setting the output data as labels as learning data; and
    상기 학습 데이터를 저장하는 단계를 포함하는 학습 데이터 관리 방법.A learning data management method comprising storing the learning data.
  15. 제14항에 있어서,According to claim 14,
    상기 출력 데이터를 레이블로 설정한 입력 데이터를 학습 데이터로 생성하는 단계는, 상기 출력 데이터 중 기 학습 데이터의 레이블 범위 내 존재하는 출력 데이터를 레이블로 하여 입력 데이터를 학습 데이터로 설정하는 단계인 것을 특징으로 하는 학습 데이터 관리 방법.The step of generating the input data of which the output data is set as a label as training data is a step of setting the input data as training data by using output data existing within a label range of the previous training data among the output data as a label. How to manage learning data.
  16. 학습 데이터 관리 장치가 학습 데이터를 관리하는 방법에 있어서,A method for managing learning data by a learning data management device,
    학습 데이터를 수집하는 단계; 및Collecting learning data; and
    상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계;를 포함하는 학습 데이터 관리 방법.Learning data management method comprising: performing sampling on an excessive class among the learning data.
  17. 제16항에 있어서,According to claim 16,
    상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계는,The step of performing sampling on the exaggerated class of the learning data,
    상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하는 단계; 및detecting the overclass and underclass in the learning data; and
    상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행하는 단계를 포함하는 것을 특징으로 하는 학습 데이터 관리 방법.and performing sampling on the excessive class when the ratio of the number of training data of the excessive class and the small class is out of a specified range.
  18. 제17항에 있어서,According to claim 17,
    노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하는 단계; 및generating noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN); and
    상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시키는 단계를 더 포함하는 것을 특징으로 하는 학습 데이터 관리 방법.The learning data management method further comprising the step of including the noise learning data in a learning data set.
  19. 제10항 내지 제18항 중 어느 하나에 따른 학습 데이터 관리 방법을 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.A computer program recorded on a computer-readable recording medium for executing the learning data management method according to any one of claims 10 to 18.
PCT/KR2022/018893 2021-12-16 2022-11-25 Training data management device and method WO2023113294A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2021-0180536 2021-12-16
KR1020210180532A KR20230091426A (en) 2021-12-16 2021-12-16 Apparatus and method for labeling
KR10-2021-0180532 2021-12-16
KR10-2021-0180537 2021-12-16
KR1020210180536A KR20230091430A (en) 2021-12-16 2021-12-16 Apparatus and method for collecting training data
KR1020210180537A KR20230091431A (en) 2021-12-16 2021-12-16 Apparatus and method for adjusting training data

Publications (1)

Publication Number Publication Date
WO2023113294A1 true WO2023113294A1 (en) 2023-06-22

Family

ID=86773056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018893 WO2023113294A1 (en) 2021-12-16 2022-11-25 Training data management device and method

Country Status (1)

Country Link
WO (1) WO2023113294A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101879735B1 (en) * 2017-03-15 2018-07-18 (주)넥셀 Method and apparatus for automatic generating training data and self-learning apparatus and method using the same
KR101897962B1 (en) * 2017-11-27 2018-10-31 한국인터넷진흥원 Method for performing machine learning for neural network model and apparatus thereof
KR20190131329A (en) * 2018-05-16 2019-11-26 두산중공업 주식회사 System for generating learning data
KR20210048100A (en) * 2019-10-23 2021-05-03 서울대학교산학협력단 Condition monitoring data generating apparatus and method using generative adversarial network
KR102261473B1 (en) * 2018-11-30 2021-06-07 주식회사 딥바이오 Method for providing diagnosis system using semi-supervised machine learning and diagnosis system using the method
KR20210072362A (en) * 2019-12-09 2021-06-17 엘지전자 주식회사 Artificial intelligence apparatus and method for generating training data for artificial intelligence model

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101879735B1 (en) * 2017-03-15 2018-07-18 (주)넥셀 Method and apparatus for automatic generating training data and self-learning apparatus and method using the same
KR101897962B1 (en) * 2017-11-27 2018-10-31 한국인터넷진흥원 Method for performing machine learning for neural network model and apparatus thereof
KR20190131329A (en) * 2018-05-16 2019-11-26 두산중공업 주식회사 System for generating learning data
KR102261473B1 (en) * 2018-11-30 2021-06-07 주식회사 딥바이오 Method for providing diagnosis system using semi-supervised machine learning and diagnosis system using the method
KR20210048100A (en) * 2019-10-23 2021-05-03 서울대학교산학협력단 Condition monitoring data generating apparatus and method using generative adversarial network
KR20210072362A (en) * 2019-12-09 2021-06-17 엘지전자 주식회사 Artificial intelligence apparatus and method for generating training data for artificial intelligence model

Similar Documents

Publication Publication Date Title
CN112232416B (en) Semi-supervised learning method based on pseudo label weighting
WO2021221242A1 (en) Federated learning system and method
US7353214B2 (en) Outlier determination rule generation device and outlier detection device, and outlier determination rule generation method and outlier detection method thereof
CN108958916A (en) Workflow unloads optimization algorithm under a kind of mobile peripheral surroundings
WO2023287064A1 (en) Method and system for constructing training database by using automatic abnormal data detection and automatic labeling technology
WO2019103199A1 (en) Personalized intelligent system and method for operating same
WO2021107422A1 (en) Nonintrusive load monitoring method using energy consumption data
WO2021118041A1 (en) Method for distributing labeling work according to difficulty thereof and apparatus using same
WO2021112463A1 (en) Information providing apparatus and method for company
WO2020139048A1 (en) Intelligent terminal energy saving method and device based on ai prediction
CN114970886A (en) Clustering-based adaptive robust collaborative learning method and device
WO2023113294A1 (en) Training data management device and method
WO2020111571A1 (en) Artificial intelligence-based severe delinquency detection device and method
WO2023113295A1 (en) Model update device and method
Fan et al. Node Essentiality Assessment and Distributed Collaborative Virtual Network Embedding in Datacenters
CN115439919B (en) Model updating method, device, equipment, storage medium and program product
Wang et al. Hierarchical Particle Swarm Optimization Based on Mean Value.
WO2023033194A1 (en) Knowledge distillation method and system specialized for pruning-based deep neural network lightening
WO2022163996A1 (en) Device for predicting drug-target interaction by using self-attention-based deep neural network model, and method therefor
KR20230091430A (en) Apparatus and method for collecting training data
Peter et al. Finding temporal patterns using constraints on (partial) absence, presence and duration
KR20230091429A (en) Apparatus and method for updating model according to additional training data
KR20230091426A (en) Apparatus and method for labeling
Hong et al. Retracted: Artificial intelligence point‐to‐point signal communication network optimization based on ubiquitous clouds
KR20230091428A (en) Apparatus and method for updating model

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

Country of ref document: EP

Kind code of ref document: A1