KR20230091426A - Apparatus and method for labeling - Google Patents

Apparatus and method for labeling Download PDF

Info

Publication number
KR20230091426A
KR20230091426A KR1020210180532A KR20210180532A KR20230091426A KR 20230091426 A KR20230091426 A KR 20230091426A KR 1020210180532 A KR1020210180532 A KR 1020210180532A KR 20210180532 A KR20210180532 A KR 20210180532A KR 20230091426 A KR20230091426 A KR 20230091426A
Authority
KR
South Korea
Prior art keywords
data
unlabeled
cluster
labeling
similarity
Prior art date
Application number
KR1020210180532A
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 KR1020210180532A priority Critical patent/KR20230091426A/en
Priority to PCT/KR2022/018893 priority patent/WO2023113294A1/en
Publication of KR20230091426A publication Critical patent/KR20230091426A/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A device for labeling according to one embodiment of the present invention comprises: a clustering part that performs clustering for unlabeled data according to a predetermined pattern, when receiving the unlabeled data, to form one or more clusters; a similarity calculation part that calculates a similarity between an unlabeled cluster, which is a cluster of the unlabeled data, and a learning cluster, which is a cluster of the existing learning data; and a labeling part that excludes the unlabeled data included in the unlabeled cluster from a target of learning data or performs labeling regarding the unlabeled data included in the unlabeled cluster according to the similarity. Therefore, the present invention is capable of reducing costs for labeling.

Description

레이블링 장치 및 방법{APPARATUS AND METHOD FOR LABELING}Labeling device and method {APPARATUS AND METHOD FOR LABELING}

본 발명은 학습 데이터에 대한 레이블링에 관한 것으로, 보다 상세하게는 인공지능 모델의 학습을 위한 학습 데이터의 레이블링에 관한 것이다. The present invention relates to labeling of training data, and more particularly to labeling of training data for learning of 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.

특히 사람이 직접 레이블링하는 과정은 시간 및 비용이 많이 든다. 만약, 유사한 데이터가 다수 존재하는 경우, 각 데이터에 대해 직접 사람이 레이블링을 수행하는 것은 비효율적이다. 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.

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

본 발명의 해결하고자 하는 과제는 레이블링 장치 및 방법을 제공하는 것이다.An object to be solved by the present invention is to provide a labeling apparatus and method.

본 발명의 일 측면에 따르면, 언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 클러스터링부; 상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 유사도 산출부; 및 상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 레이블링부;를 포함하는 레이블링 장치가 제공된다.According to an aspect of the present invention, when receiving unlabeled data, a clustering unit configured to form one or more clusters by performing clustering on the unlabeled data according to a predetermined pattern; 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 a labeling unit that excludes the unlabeled data included in the unlabeled cluster from the target of training data according to the similarity or performs labeling on the unlabeled data included in the unlabeled cluster. device is provided.

상기 레이블링부는, 상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시킬 수 있다.The labeling unit may exclude the unlabeled data included in the unlabeled cluster from a target of training data when the similarity is greater than or equal to a first predetermined threshold.

상기 레이블링부는, 상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하고, 상기 제1 임계값은 상기 제2 임계값보다 큰 자연수일 수 있다.The labeling unit sets a label of the unlabeled data included in the unlabeled cluster to be the same as a label corresponding to the training cluster when the similarity is less than the first threshold and equal to or greater than a predetermined second threshold, The first threshold value may be a natural number greater than the second threshold value.

상기 레이블링부는, 상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정할 수 있다.The labeling unit may receive and set a new label of the unlabeled data included in the unlabeled cluster when the degree of similarity is less than the second threshold.

본 발명의 다른 측면에 따르면, 레이블링 장치가 레이블링을 수행하는 방법에 있어서, 언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 단계; 상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 단계; 및 상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계;를 포함하는 레이블링 방법이 제공된다.According to another aspect of the present invention, a method for performing labeling by a labeling apparatus, comprising: 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 excluding the unlabeled data included in the unlabeled cluster from the target of training data or performing labeling on the unlabeled data included in the unlabeled cluster according to the similarity. is provided.

상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는, 상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키는 단계를 포함할 수 있다.In the step of excluding the unlabeled data included in the unlabeled cluster from the target of training data according to the similarity or performing labeling on the unlabeled data included in the unlabeled cluster, the similarity is specified in advance. and excluding the unlabeled data included in the unlabeled cluster from a target of training data when the value is greater than or equal to a first threshold value.

상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는, 상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하는 단계를 더 포함하되, 상기 제1 임계값은 상기 제2 임계값보다 큰 자연수일 수 있다.The step of excluding the unlabeled data included in the unlabeled cluster from the target of training data or performing labeling on the unlabeled data included in the unlabeled cluster according to the similarity, 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 value is less than 1 threshold and equal to or greater than a predetermined second threshold; The value may be a natural number greater than the second threshold.

상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는, 상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정하는 단계를 더 포함할 수 있다.The step of excluding the unlabeled data included in the unlabeled cluster from the target of training data or performing labeling on the unlabeled data included in the unlabeled cluster according to the similarity, If the value is less than 2, the method may further include receiving and setting a new label of the unlabeled data included in the unlabeled cluster.

본 발명의 일 실시 예에 따르면, 기 학습된 데이터와 유사한 데이터를 학습 데이터에서 제외하여 레이블링에 소요되는 비용을 줄일 수 있다.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 learning data.

도 1은 본 발명의 일 실시 예에 따른 레이블링 장치를 예시한 블록도.
도 2는 본 발명의 일 실시 예에 따른 레이블링 장치의 레이블러를 예시한 블록도.
도 3은 본 발명의 일 실시 예에 따른 레이블링 장치의 모델 학습부를 예시한 블록도.
도 4는 본 발명의 일 실시 예에 따른 레이블링 장치의 학습 데이터 제공부의 구조를 예시한 블록도.
도 5는 본 발명의 일 실시 예에 따른 레이블링 장치가 레이블링을 수행하는 방법을 예시한 순서도.
도 6은 본 발명의 일 실시예에 따른 레이블링 장치가 학습 데이터에 대해 레이블링을 수행하는 과정을 예시한 순서도.
도 7은 본 발명의 일 실시 예에 따른 레이블링 장치가 학습 데이터를 샘플링하는 과정을 예시한 순서도.
1 is a block diagram illustrating a labeling apparatus according to an embodiment of the present invention;
2 is a block diagram illustrating a labeler of a labeling apparatus according to an embodiment of the present invention;
3 is a block diagram illustrating a model learning unit of a labeling apparatus according to an embodiment of the present invention.
4 is a block diagram illustrating the structure of a learning data providing unit of a labeling device according to an embodiment of the present invention.
5 is a flowchart illustrating a method of performing labeling by a labeling apparatus according to an embodiment of the present invention;
6 is a flowchart illustrating a process of labeling training data by a labeling apparatus according to an embodiment of the present invention;
7 is a flowchart illustrating a process of sampling learning data by a labeling device 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 a labeling apparatus 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 a labeling 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 ) assuming that it 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 labeling apparatus 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 labeling device performs a model update only when the pattern of the additional training data differs from the pattern of the pre-training data by a certain amount or more, thereby preventing an inefficient situation in which the model is updated according to the addition of all additional training data. .

또한, 레이블링 장치는 기존 추가된 레이블을 이용하여 서비스 중인 인공지능 모델의 입력 값을 학습 데이터로 관리하면서 인공지능 모델의 갱신 시점 판단이 가능하다.In addition, the labeling 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 labeling 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 labeling 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 is noise through noise learning data generated in consideration of noise. can be learned robustly about

다시 도 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 labeling device according to an embodiment of the present invention can reduce the cost of data collection for model creation and update, and can improve the performance of the model by constructing training data through data generated in actual services.

모델 보정부(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 labeling apparatus 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 a labeling apparatus according to an embodiment of the present invention. Each step to be described below is a process performed by each functional unit constituting the labeling device described above with reference to FIG. 1, but the subject of each step is referred to as a labeling device for concise and clear description of the invention.

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

단게 525에서 모델의 갱신이 필요하지 않는 경우, 단계 535에서 레이블링 장치는 기 학습 데이터를 입력으로 하는 경우 모델에서 출력하는 제1 출력과, 모델을 통한 서비스 제공 중 입력 받은 입력 데이터 중 기 학습 데이터와 유사한 입력 데이터의 입력을 통해 모델에서 출력된 제2 출력을 편차에 따라 모델의 출력 데이터를 보정한다. 이 때, 레이블링 장치는 제1 출력과 제2 출력의 편차를 분류하는 클래스를 미리 설정할 수 있고, 각 클래스에 해당하는 편차들의 중심값을 오차 보정값으로 설정할 수 있다. 레이블링 장치는 오차 보정값을 출력 데이터에 적용하여 입력 데이터에 상응하는 출력 데이터를 보정할 수 있다. 또는 레이블링 장치는 오차 보정값을 입력 데이터에 적용한 뒤 모델에 입력하여 출력 데이터의 값이 보정되도록 할 수 있다.In step 525, when updating of the model is not required, in step 535, the labeling device outputs the first output from the model when the pre-learning data is used as an input, and the pre-learning data among the input data received while providing the service 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 similar input data. In this case, the labeling 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 labeling device may correct output data corresponding to input data by applying an error correction value to output data. Alternatively, the labeling device may apply an 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 training data by a labeling apparatus 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 labeling apparatus performs clustering on each unlabeled data according to a predetermined pattern to form one or more clusters.

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

단계 630에서 레이블링 장치는 언레이블 데이터의 군집과 기 학습 데이터 중 하나 이상의 군집 간의 유사도가 제1 임계값 이상인 경우, 해당 언레이블 데이터의 군집을 학습 데이터에서 제외시킨다. 또는 레이블링 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제1 임계값 미만이고 제2 임계값 이상인 경우(이 때, 제1 임계값은 제2 임계값을 초과하는 값임), 해당 군집에 포함된 각 데이터와 가장 유사도가 클래스의 군집과 동일한 레이블을 각 데이터에 상응하는 레이블로 자동 설정할 수 있다. 또는 레이블링 장치는 언레이블 데이터의 군집이 기 학습 데이터 중 모든 군집과의 유사도가 제2 임계값 미만인 경우, 각 데이터에 대해 사용자로부터 직접 새 레이블을 입력받아 레이블링을 수행할 수 있다.In operation 630, the labeling 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 trained data is greater than or equal to a first threshold value. Alternatively, the labeling 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 is a value exceeding the second threshold) , the same label as the cluster of the class with the most similarity with each data included in the corresponding cluster can be automatically set as the label corresponding to each data. Alternatively, the labeling 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 pre-learning data is less than the second threshold.

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

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

본 발명의 실시 예에 따른 레이블링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.A labeling 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 on 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 (8)

언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 클러스터링부;
상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 유사도 산출부; 및
상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 레이블링부;
를 포함하는 레이블링 장치.
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
a labeling unit that excludes the unlabeled data included in the unlabeled cluster from the target of training data or performs labeling on the unlabeled data included in the unlabeled cluster according to the similarity;
Labeling device comprising a.
제1 항에 있어서,
상기 레이블링부는,
상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키는 것을 특징으로 하는 레이블링 장치.
According to claim 1,
The labeling unit,
and excluding the unlabeled data included in the unlabeled cluster from a target of training data when the similarity is equal to or greater than a predetermined first threshold.
제2 항에 있어서,
상기 레이블링부는,
상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하고,
상기 제1 임계값은 상기 제2 임계값보다 큰 자연수인 것을 특징으로 하는 레이블링 장치.
According to claim 2,
The labeling unit,
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;
The labeling device, characterized in that the first threshold value is a natural number greater than the second threshold value.
제3 항에 있어서,
상기 레이블링부는,
상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정하는 것을 특징으로 하는 레이블링 장치.
According to claim 3,
The labeling unit,
And if the similarity is less than the second threshold, a label of the unlabeled data included in the unlabeled cluster is newly input and set.
레이블링 장치가 레이블링을 수행하는 방법에 있어서,
언레이블 데이터를 수신하는 경우, 상기 언레이블 데이터에 대해 미리 지정된 패턴에 따라 클러스터링을 수행하여 하나 이상의 군집을 형성하는 단계;
상기 언레이블 데이터의 군집인 언레이블 군집과 기 학습 데이터의 군집인 학습 군집 간 유사도를 산출하는 단계; 및
상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계;
를 포함하는 레이블링 방법.
In the method for labeling by a labeling device,
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
Excluding the unlabeled data included in the unlabeled cluster from a target of training data or labeling the unlabeled data included in the unlabeled cluster according to the similarity;
A labeling method comprising a.
제5 항에 있어서,
상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,
상기 유사도가 미리 지정된 제1 임계값 이상인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키는 단계를 포함하는 것을 특징으로 하는 레이블링 방법.
According to claim 5,
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,
and excluding the unlabeled data included in the unlabeled cluster from a target of training data when the similarity is equal to or greater than a predetermined first threshold.
제6 항에 있어서,
상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,
상기 유사도가 상기 제1 임계값 미만이고 미리 지정된 제2 임계값 이상인 경우, 상기 학습 군집에 상응하는 레이블과 동일하도록 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 설정하는 단계를 더 포함하되,
상기 제1 임계값은 상기 제2 임계값보다 큰 자연수인 것을 특징으로 하는 레이블링 방법.
According to claim 6,
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,
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; ,
Wherein the first threshold is a natural number greater than the second threshold.
제7 항에 있어서,
상기 유사도에 따라 상기 언레이블 군집 내 포함된 상기 언레이블 데이터를 학습 데이터의 대상에서 제외시키거나, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터에 대한 레이블링을 수행하는 단계는,
상기 유사도가 상기 제2 임계값 미만인 경우, 상기 언레이블 군집 내 포함된 상기 언레이블 데이터의 레이블을 신규로 입력 받아 설정하는 단계를 더 포함하는 것을 특징으로 하는 레이블링 방법.
According to claim 7,
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,
The labeling method of claim 1, 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.
KR1020210180532A 2021-12-16 2021-12-16 Apparatus and method for labeling KR20230091426A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210180532A KR20230091426A (en) 2021-12-16 2021-12-16 Apparatus and method for labeling
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
KR1020210180532A KR20230091426A (en) 2021-12-16 2021-12-16 Apparatus and method for labeling

Publications (1)

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

Family

ID=86993860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210180532A KR20230091426A (en) 2021-12-16 2021-12-16 Apparatus and method for labeling

Country Status (1)

Country Link
KR (1) KR20230091426A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024107112A1 (en) * 2022-11-14 2024-05-23 Nanyang Technological University System and method for unsupervised few-shot adaptive relearning of a deep learning neural network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024107112A1 (en) * 2022-11-14 2024-05-23 Nanyang Technological University System and method for unsupervised few-shot adaptive relearning of a deep learning neural network

Similar Documents

Publication Publication Date Title
US11119250B2 (en) Dynamic adaption of vessel trajectory using machine learning models
EP3767536A1 (en) Latent code for unsupervised domain adaptation
WO2022121289A1 (en) Methods and systems for mining minority-class data samples for training neural network
CN113469186B (en) Cross-domain migration image segmentation method based on small number of point labels
CN113469325A (en) Layered federated learning method, computer equipment and storage medium for edge aggregation interval adaptive control
CN112052818A (en) Unsupervised domain adaptive pedestrian detection method, unsupervised domain adaptive pedestrian detection system and storage medium
US20180089582A1 (en) Ensemble model policy generation for prediction systems
CN109818971B (en) Network data anomaly detection method and system based on high-order association mining
CN114970886B (en) Clustering-based adaptive robust collaborative learning method and device
CN111126576A (en) Novel training strategy for deep learning
KR20230091426A (en) Apparatus and method for labeling
CN114511063A (en) Power data prediction model construction method, device, apparatus, medium, and program
CN114926701A (en) Model training method, target detection method and related equipment
KR20230091429A (en) Apparatus and method for updating model according to additional training data
KR20230091430A (en) Apparatus and method for collecting training data
KR20230091431A (en) Apparatus and method for adjusting training data
US20230401829A1 (en) Training machine learning models based on unlabeled data
KR20230091427A (en) Apparatus and method for correcting model
KR20230091428A (en) Apparatus and method for updating model
US20230209367A1 (en) Telecommunications network predictions based on machine learning using aggregated network key performance indicators
CN114742644A (en) Method and device for training multi-scene wind control system and predicting business object risk
CN112364980B (en) Deep neural network training method based on reinforcement learning under weak supervision scene
WO2023113294A1 (en) Training data management device and method
WO2023113295A1 (en) Model update device and method
US20230359928A1 (en) Transfer learning using decision tree based machine learning models