KR20230091431A - Apparatus and method for adjusting training data - Google Patents

Apparatus and method for adjusting training data Download PDF

Info

Publication number
KR20230091431A
KR20230091431A KR1020210180537A KR20210180537A KR20230091431A KR 20230091431 A KR20230091431 A KR 20230091431A KR 1020210180537 A KR1020210180537 A KR 1020210180537A KR 20210180537 A KR20210180537 A KR 20210180537A KR 20230091431 A KR20230091431 A KR 20230091431A
Authority
KR
South Korea
Prior art keywords
data
learning data
learning
model
class
Prior art date
Application number
KR1020210180537A
Other languages
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
Application filed by 주식회사 씨에스리 filed Critical 주식회사 씨에스리
Priority to KR1020210180537A priority Critical patent/KR20230091431A/en
Priority to PCT/KR2022/018893 priority patent/WO2023113294A1/en
Publication of KR20230091431A publication Critical patent/KR20230091431A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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

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)
  • Image Analysis (AREA)

Abstract

A device for adjusting learning data according to one embodiment of the present invention comprises: a learning data collection part that collects learning data; and a learning data providing part that performs sampling for overclass among the learning data. A problem to be solved by the present invention is to provide the device and method for adjusting learning data.

Description

학습 데이터 조정 장치 및 방법{APPARATUS AND METHOD FOR ADJUSTING TRAINING DATA}Apparatus and method for adjusting learning data {APPARATUS AND METHOD FOR ADJUSTING TRAINING DATA}

본 발명은 학습 데이터의 조정에 관한 것으로, 보다 상세하게는 인공지능 모델의 학습을 위한 학습 데이터의 불균형을 조정하는 기술에 관한 것이다. The present invention relates to adjustment of learning data, and more particularly, to a technique for adjusting an imbalance of training data for learning an artificial intelligence model.

인공지능 모델의 학습을 위해서는 적절한 레이블을 포함하는 학습 데이터가 필요하다. 레이블은 각 데이터에 대해 사람이 직접 데이터를 매칭하거나 미리 설정된 알고리즘에 따라 자동으로 각 데이터에 대응하여 설정될 수 있다.Training data including appropriate labels are required for training of AI models. Labels may be directly matched by a person for each data or automatically set corresponding to each data according to a preset algorithm.

하지만, 특정 클래스에 과대하게 집중되는 학습 데이터 셋을 통해 모델을 학습시키는 경우, 해당 모델이 특정 과대 클래스에 해당하는 결과를 주로 도출하도록 할 수 있다.However, when a model is trained through a training data set that is excessively concentrated in a specific class, the model may mainly derive results corresponding to the specific excessive class.

본 발명의 배경기술은 대한민국 공개특허 제 2021-0067913호에 개시되어 있다.The background art of the present invention is disclosed in Korean Patent Publication No. 2021-0067913.

본 발명의 해결하고자 하는 과제는 학습 데이터 조정 장치 및 방법을 제공하는 것이다.An object to be solved by the present invention is to provide an apparatus and method for adjusting learning data.

본 발명의 일 측면에 따르면, 모델을 통한 서비스에서 발생하는 입력 데이터 및 출력 데이터를 수집하고, 상기 출력 데이터를 레이블로 설정한 입력 데이터를 학습 데이터로 생성하본 발명본 발명의 일 측면에 따르면, 학습 데이터를 수집하는 학습 데이터 수집부; 및 상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 학습 데이터 제공부; 를 포함하는 학습 데이터 조정 장치가 제공된다.According to an aspect of the present invention, input data and output data generated from a service through a model are collected, and input data in which the output data is set as a label is generated as learning data. a learning data collection unit that collects data; and a learning data providing unit performing sampling on an exaggerated class among the learning data. There is provided a learning data adjustment device comprising a.

상기 학습 데이터 제공부는, 상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하고, 상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행할 수 있다.The learning data providing unit detects the overclass and underclass from the learning data, and performs sampling on the overclass when the ratio of the number of training data of the overclass and underclass exceeds a specified range. there is.

상기 학습 데이터 제공부는, 노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하고, 상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시킬 수 있다.The learning data provider may generate noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN), and include the noise learning data in a training data set.

본 발명의 다른 측면에 따르면, 학습 데이터 조정 장치가 학습 데이터를 조정하는 방법에 있어서, 학습 데이터를 수집하는 단계; 및 상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계; 를 포함하는 학습 데이터 조정 방법이 제공된다.According to another aspect of the present invention, a method for adjusting learning data by an apparatus for adjusting learning data, comprising: collecting learning data; and performing sampling on an exaggerated class among the learning data. There is provided a learning data adjustment method comprising a.

상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계는, 상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하는 단계; 및 상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행하는 단계를 포함할 수 있다.The step of sampling the overclass in the training data may include: detecting the overclass and underclass in the training data; and performing sampling on the excessive class when the ratio of the number of training data of the excessive class and the small class exceeds a specified range.

노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하는 단계; 및 상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시키는 단계를 더 포함할 수 있다.generating noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN); and including the noise learning data in a learning data set.

본 발명의 일 실시 예에 따르면, 과대 클래스 샘플링을 통한 비율조정으로 과소 클래스와의 비율을 맞춰 클래스 간 불균형을 완화할 수 있다.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.

도 1은 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치를 예시한 블록도.
도 2는 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치의 레이블러를 예시한 블록도.
도 3은 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치의 모델 학습부를 예시한 블록도.
도 4는 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치의 학습 데이터 제공부의 구조를 예시한 블록도.
도 5는 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치가 레이블링을 수행하는 방법을 예시한 순서도.
도 6은 본 발명의 일 실시예에 따른 학습 데이터 조정 장치가 학습 데이터에 대해 레이블링을 수행하는 과정을 예시한 순서도.
도 7은 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치가 학습 데이터를 샘플링하는 과정을 예시한 순서도.
1 is a block diagram illustrating an apparatus for adjusting learning data according to an embodiment of the present invention;
2 is a block diagram illustrating a labeler of an apparatus for adjusting learning data according to an embodiment of the present invention;
3 is a block diagram illustrating a model learning unit of an apparatus for adjusting learning data according to an embodiment of the present invention;
4 is a block diagram illustrating the structure of a learning data providing unit of a learning data adjusting device according to an embodiment of the present invention;
5 is a flowchart illustrating a method of performing labeling by an apparatus for adjusting learning data according to an embodiment of the present invention;
6 is a flowchart illustrating a process in which an apparatus for adjusting learning data according to an embodiment of the present invention performs labeling on learning data;
7 is a flowchart illustrating a process of sampling learning data by an apparatus for adjusting 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 adjusting learning data according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 위치 추정 장치는 레이블러(100), 모델 학습부(200), 학습 데이터 제공부(300), 학습 데이터 수집부(400) 및 모델 보정부(500)를 포함한다.Referring to FIG. 1, a location estimation device according to an embodiment of the present invention includes a labeler 100, a model learning unit 200, a learning data providing unit 300, a learning data collecting unit 400, and a model correcting unit. Includes (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 an apparatus for adjusting learning data 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 an apparatus for adjusting learning data 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 training data adjusting device performs 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 adjustment 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 adjusting 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 adjustment 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 may configure an additional training data set in which input data is set as training data by using output data existing within a label range of the previous training data as a label among the output data. At this time, the learning data collection unit 400 only when the input data corresponding to the output data existing within the label range of the pre-learning data (a set of labels set for the pre-learning data) is different from the pre-learning data, the corresponding input data and Output data can be included in additional training data sets. The learning data collection unit 400 transmits an additional learning data set to the learning data providing unit 300 .

따라서, 본 발명의 일 실시예에 따른 학습 데이터 조정 장치는 모델 생성 및 갱신을 위한 데이터 수집에 비용을 줄일 수 있으며, 실제 서비스에서 발생하는 데이터를 통해 학습 데이터를 구성함으로써 모델의 성능을 향상 시킬 수 있다. Therefore, the learning data adjustment device according to an embodiment of the present invention can reduce the cost of data collection for model creation and renewal, and can improve the performance of the model by constructing 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 adjustment 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 adjusting learning data according to an embodiment of the present invention. Each step to be described below is a process performed by each functional unit constituting the learning data adjustment device described above with reference to FIG.

도 5를 참조하면, 단계 510에서 학습 데이터 조정 장치는 레이블이 설정되지 않은 학습 데이터에 대해 레이블링을 수행한다. 이 때, 레이블링을 수행하는 구체적인 과정은 추후 도 6을 참조하여 상세히 설명하도록 한다.Referring to FIG. 5 , in step 510, the training data adjustment device performs labeling on training 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 adjustment device collects additional learning data through data input and output to the model from the service through the model. For example, the learning data adjustment device may collect input data and output data generated from a service through a learned model. The learning data adjusting 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 pre-learning data among the output data. At this time, the learning data adjusting 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 adjustment device performs sampling on the training data and adjusts the number of training 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 adjustment device determines whether the model needs to be updated. At this time, the learning data adjustment device may determine whether the model needs to be updated according to the similarity between the pre-learning data and the additional training data pattern or the ratio of the additional training data to the total training data. For example, the learning data adjustment device may store and manage patterns of additional learning data and pre-learning data. The learning data adjusting device may determine that the model needs to be updated through the additional training data when the similarity between the patterns of the additional training data and the pre-learning data is equal to or less than a specified threshold. Alternatively, when the ratio of the additional training data to the total training data is greater than or equal to a specified threshold (eg, 30%), the learning data adjustment device may determine that the model needs to be updated through the additional training data.

단계 525에서 모델의 갱신이 필요한 경우, 단계 530에서 학습 데이터 조정 장치는 추가 학습 데이터를 이용하여 모델의 갱신을 수행한다.If the model needs to be updated in step 525, in step 530, the training data adjusting device updates the model using the additional training data.

단게 525에서 모델의 갱신이 필요하지 않는 경우, 단계 535에서 학습 데이터 조정 장치는 기 학습 데이터를 입력으로 하는 경우 모델에서 출력하는 제1 출력과, 모델을 통한 서비스 제공 중 입력 받은 입력 데이터 중 기 학습 데이터와 유사한 입력 데이터의 입력을 통해 모델에서 출력된 제2 출력을 편차에 따라 모델의 출력 데이터를 보정한다. 이 때, 학습 데이터 조정 장치는 제1 출력과 제2 출력의 편차를 분류하는 클래스를 미리 설정할 수 있고, 각 클래스에 해당하는 편차들의 중심값을 오차 보정값으로 설정할 수 있다. 학습 데이터 조정 장치는 오차 보정값을 출력 데이터에 적용하여 입력 데이터에 상응하는 출력 데이터를 보정할 수 있다. 또는 학습 데이터 조정 장치는 오차 보정값을 입력 데이터에 적용한 뒤 모델에 입력하여 출력 데이터의 값이 보정되도록 할 수 있다.In step 525, when the model does not need to be updated, in step 535, the learning data adjustment device outputs the first output from the model when the previously learned 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 adjusting device may preset classes for classifying deviations between the first output and the second output, and may set a central value of deviations corresponding to each class as an error correction value. The learning data adjusting device may apply the error correction value to the output data to correct the output data corresponding to the input data. Alternatively, the learning data adjusting 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 an apparatus for adjusting learning data 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 training data adjustment device forms one or more clusters by performing clustering on each unlabeled data according to a predetermined pattern.

단계 620에서 학습 데이터 조정 장치는 언레이블 데이터의 각 군집과 모델의 학습에 사용된 기 학습 데이터의 군집 간의 유사도를 산출한다. 학습 데이터 조정 장치는 코사인 유사도, 자카드 유사도, 유클리디안 유사도 기법과 같은 기법을 통해 유사도를 산출할 수 있다. In step 620, the learning data adjusting device calculates a similarity between each cluster of unlabeled data and a cluster of pre-learning data used for model learning. The learning data adjusting device may calculate the similarity through techniques such as cosine similarity, Jacquard similarity, and Euclidean similarity.

단계 630에서 학습 데이터 조정 장치는 언레이블 데이터의 군집과 기 학습 데이터 중 하나 이상의 군집 간의 유사도가 제1 임계값 이상인 경우, 해당 언레이블 데이터의 군집을 학습 데이터에서 제외시킨다. 또는 학습 데이터 조정 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제1 임계값 미만이고 제2 임계값 이상인 경우(이 때, 제1 임계값은 제2 임계값을 초과하는 값임), 해당 군집에 포함된 각 데이터와 가장 유사도가 클래스의 군집과 동일한 레이블을 각 데이터에 상응하는 레이블로 자동 설정할 수 있다. 또는 학습 데이터 조정 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제2 임계값 미만인 경우, 각 데이터에 대해 사용자로부터 직접 새 레이블을 입력받아 레이블링을 수행할 수 있다.In operation 630, the training data adjusting device 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 adjustment device may determine if the similarity between the cluster of unlabeled data and all clusters in the learning data is less than the first threshold and greater than or equal to the 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, when the similarity between the clusters of the unlabeled data and all the clusters in the previously trained data is less than the second threshold, the learning data adjusting device may perform labeling by directly receiving a new label for each data from the user.

도 7은 본 발명의 일 실시 예에 따른 학습 데이터 조정 장치가 학습 데이터를 샘플링하는 과정을 예시한 순서도이다. 이하 설명하는 각 과정은 도 5의 520에 해당하는 과정이다.7 is a flowchart illustrating a process of sampling learning data by an apparatus for adjusting 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 apparatus for adjusting learning data detects an excessive class having the largest number of learning data in a class and an under class having the smallest number of learning data in a class.

단계 720에서 학습 데이터 조정 장치는 과대 클래스와 과소 클래스의 학습 데이터 수의 비율이 지정된 범위 내에 해당하도록 과대 클래스에 대한 샘플링을 수행하여 과대 클래스에 대한 학습 데이터 수를 조정한다. 예를 들어, 학습 데이터 조정 장치는 과대 클래스의 학습 데이터에 대응하는 특징 벡터의 중심점을 산출하고, 중심점을 기준으로 과대 클래스에 대해 샘플링을 수행할 수 있다.In step 720, the training data adjusting device adjusts the number of training data for the large class by sampling the large class so that the ratio of the number of training data for the large class and small class falls within a specified range. For example, the training data adjusting device may calculate a central point of a feature vector corresponding to the training 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 adjustment 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 adjustment 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.

Claims (6)

학습 데이터를 수집하는 학습 데이터 수집부; 및
상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 학습 데이터 제공부;
를 포함하는 학습 데이터 조정 장치.
a learning data collection unit that collects learning data; and
a learning data providing unit performing sampling on an exaggerated class among the learning data;
Learning data adjustment device comprising a.
제1 항에 있어서,
상기 학습 데이터 제공부는,
상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하고,
상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행하는 것을 특징으로 하는 학습 데이터 조정 장치.
According to claim 1,
The learning data providing unit,
Detecting the overclass and underclass in the learning data;
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 designated range.
제2 항에 있어서,
상기 학습 데이터 제공부는,
노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하고,
상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시키는 것을 특징으로 하는 학습 데이터 조정 장치.
According to claim 2,
The learning data providing unit,
generating noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN);
The learning data adjustment device characterized in that the noise learning data is included in the learning data set.
학습 데이터 조정 장치가 학습 데이터를 조정하는 방법에 있어서,
학습 데이터를 수집하는 단계; 및
상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계;
를 포함하는 학습 데이터 조정 방법.
A method for adjusting learning data by a learning data adjusting device,
Collecting learning data; and
performing sampling on an exaggerated class among the learning data;
Training data adjustment method comprising a.
제4 항에 있어서,
상기 학습 데이터 중 과대 클래스에 대한 샘플링을 수행하는 단계는,
상기 학습 데이터 중 상기 과대 클래스 및 과소 클래스를 검출하는 단계; 및
상기 과대 클래스 및 상기 과소 클래스의 학습 데이터 수의 비율이 지정된 범위를 벗어나는 경우, 상기 과대 클래스에 대한 샘플링을 수행하는 단계
를 포함하는 것을 특징으로 하는 학습 데이터 조정 방법.
According to claim 4,
The step of performing sampling on the exaggerated class of the learning data,
detecting the overclass and underclass in the learning data; and
When the ratio of the number of training data of the overclass and underclass is out of a specified range, performing sampling on the overclass.
Learning data adjustment method comprising a.
제5 항에 있어서,
노이즈 데이터를 비지도 학습 GAN(Generative adversarial network)에 입력하여 노이즈 학습 데이터를 생성하는 단계; 및
상기 노이즈 학습 데이터를 학습 데이터 셋에 포함시키는 단계
를 더 포함하는 것을 특징으로 하는 학습 데이터 조정 방법.
According to claim 5,
generating noise learning data by inputting the noise data into an unsupervised learning generative adversarial network (GAN); and
Incorporating the noise learning data into a training data set
Learning data adjustment method characterized in that it further comprises.
KR1020210180537A 2021-12-16 2021-12-16 Apparatus and method for adjusting training data KR20230091431A (en)

Priority Applications (2)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210180537A KR20230091431A (en) 2021-12-16 2021-12-16 Apparatus and method for adjusting training data

Publications (1)

Publication Number Publication Date
KR20230091431A true KR20230091431A (en) 2023-06-23

Family

ID=86993616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210180537A KR20230091431A (en) 2021-12-16 2021-12-16 Apparatus and method for adjusting training data

Country Status (1)

Country Link
KR (1) KR20230091431A (en)

Similar Documents

Publication Publication Date Title
EP3767536A1 (en) Latent code for unsupervised domain adaptation
WO2022121289A1 (en) Methods and systems for mining minority-class data samples for training neural network
CN109818971B (en) Network data anomaly detection method and system based on high-order association mining
CN111126576A (en) Novel training strategy for deep learning
US20180089582A1 (en) Ensemble model policy generation for prediction systems
US20230368028A1 (en) Automated machine learning pre-trained model selector
CN114970886A (en) Clustering-based adaptive robust collaborative learning method and device
CN114511063A (en) Power data prediction model construction method, device, apparatus, medium, and program
KR20230091426A (en) Apparatus and method for labeling
KR20230091431A (en) Apparatus and method for adjusting training data
KR20230091430A (en) Apparatus and method for collecting training data
KR20230091429A (en) Apparatus and method for updating model according to additional training data
KR20230091427A (en) Apparatus and method for correcting model
KR20230091428A (en) Apparatus and method for updating model
KR101590896B1 (en) Device and method for deep learning structure for high generalization performance, recording medium for performing the method
US20230252282A1 (en) Method, server, and system for deep metric learning per hierarchical steps of multi-labels and few-shot inference using the same
CN116186629A (en) Financial customer classification and prediction method and device based on personalized federal learning
Nixon et al. Salad: An exploration of split active learning based unsupervised network data stream anomaly detection using autoencoders
CN114742644A (en) Method and device for training multi-scene wind control system and predicting business object risk
JP2004046621A (en) Method and device for extracting multiple topics in text, program therefor, and recording medium recording this program
CN112364980B (en) Deep neural network training method based on reinforcement learning under weak supervision scene
WO2023113294A1 (en) Training data management device and method
US20230359928A1 (en) Transfer learning using decision tree based machine learning models
WO2023113295A1 (en) Model update device and method
US20230129390A1 (en) Data processing application system management in non-stationary environments