KR102249818B1 - Method and apparatus of generating training data based on distribution characteristics of training data - Google Patents

Method and apparatus of generating training data based on distribution characteristics of training data Download PDF

Info

Publication number
KR102249818B1
KR102249818B1 KR1020170171587A KR20170171587A KR102249818B1 KR 102249818 B1 KR102249818 B1 KR 102249818B1 KR 1020170171587 A KR1020170171587 A KR 1020170171587A KR 20170171587 A KR20170171587 A KR 20170171587A KR 102249818 B1 KR102249818 B1 KR 102249818B1
Authority
KR
South Korea
Prior art keywords
learning data
data
training data
additional
normal
Prior art date
Application number
KR1020170171587A
Other languages
Korean (ko)
Other versions
KR20190078693A (en
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 KR1020170171587A priority Critical patent/KR102249818B1/en
Publication of KR20190078693A publication Critical patent/KR20190078693A/en
Application granted granted Critical
Publication of KR102249818B1 publication Critical patent/KR102249818B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

일 실시예에 따른 학습 데이터를 생성하는 방법 및 장치는 학습 데이터들의 분포 특성을 기초로, 오버샘플링할 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분하고, 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라 격리 학습 데이터 및 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정하며, 오버샘플링할 학습 데이터들 각각의 개수에 기초하여 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성한다.A method and apparatus for generating training data according to an embodiment divides training data to be oversampled into isolated training data and normal training data based on distribution characteristics of training data, and determines the ratio between the isolated training data and the normal training data. According to this, the number of additional training data to be oversampled is determined from each of the isolated training data and the normal training data, and additional training data corresponding to each of the isolated training data and the normal training data is generated based on the number of each of the training data to be oversampled. do.

Description

학습 데이터의 분포 특성에 기초하여 학습 데이터를 생성하는 방법 및 장치{METHOD AND APPARATUS OF GENERATING TRAINING DATA BASED ON DISTRIBUTION CHARACTERISTICS OF TRAINING DATA}Method and apparatus for generating training data based on the distribution characteristics of training data {METHOD AND APPARATUS OF GENERATING TRAINING DATA BASED ON DISTRIBUTION CHARACTERISTICS OF TRAINING DATA}

아래의 실시예들은 학습 데이터의 분포 특성에 기초하여 학습 데이터를 생성하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for generating training data based on distribution characteristics of the training data.

성능이 좋은 분류기(Classifier)를 생성하기 위해서는, 인공 지능의 학습에 사용하는 학습 데이터가 매우 중요하다. 분류기의 성능은 예를 들어, 학습 데이터들의 품질, 개수, 학습 데이터들 간의 비율 등에 따라서 많은 차이를 나타낼 수 있다. In order to create a classifier with good performance, training data used for learning artificial intelligence is very important. The performance of the classifier may show a large difference depending on, for example, the quality and number of training data, and a ratio between training data.

일반적으로 학습 데이터들의 개수가 많을수록 분류기의 성능이 향상되지만, 학습 데이터들 간의 비율 또한 매우 중요하다. 예를 들어, 하나의 클래스(class)를 위한 학습 데이터들의 수는 많고, 다른 클래스의 학습 데이터들의 수는 적은 경우, 학습 데이터들의 수가 많은 클래스는 상대적으로 학습이 잘 되지만 학습 데이터들의 수가 부족한 클래스는 학습이 잘 이루어지지 않을 수 있다. 이와 같이 학습 데이터들의 개수 또는 학습 데이터들 간의 비율이 적절하지 않은 경우, 분류기의 성능이 편향될 수 있다.In general, the more the number of training data, the better the performance of the classifier, but the ratio between training data is also very important. For example, if the number of training data for one class is large and the number of training data for another class is small, a class with a large number of training data can learn relatively well, but a class with insufficient number of training data is Learning may not work well. When the number of training data or the ratio between training data is not appropriate as described above, the performance of the classifier may be biased.

일 실시예에 따르면, 학습 데이터의 분포 특성에 기초하여 학습 데이터를 오버샘플링(oversampling) 함으로써 분류기를 위한 학습 데이터들의 개수 또는 학습 데이터들 간의 비율을 적절하게 조절할 수 있다.According to an embodiment, the number of training data for a classifier or a ratio between training data may be appropriately adjusted by oversampling training data based on distribution characteristics of the training data.

일 실시예에 따르면, 분류기를 위한 학습 데이터들의 개수 또는 학습 데이터들 간의 비율을 적절하게 조절함으로써 신뢰성 높은 학습 데이터를 생성하는 한편, 신뢰성 높은 분류기를 제공할 수 있다.According to an embodiment, reliable training data may be generated by appropriately adjusting the number of training data for a classifier or a ratio between training data, and a highly reliable classifier may be provided.

일 측에 따르면, 학습 데이터를 생성하는 방법은 학습 데이터들의 분포 특성을 기초로, 오버샘플링(oversampling)할 학습 데이터들을 격리(isolation) 학습 데이터와 노말(normal) 학습 데이터로 구분하는 단계; 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정하는 단계; 및 상기 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계를 포함한다. According to one side, a method of generating training data includes dividing training data to be oversampled into isolation training data and normal training data based on distribution characteristics of the training data; Determining the number of additional learning data to be oversampled from each of the isolated learning data and the normal learning data according to a ratio between the isolated learning data and the normal learning data; And generating additional training data corresponding to each of the isolation training data and the normal training data, based on the number of each of the training data to be oversampled.

상기 구분하는 단계는 서로 다른 클래스(class)들을 위한 상기 학습 데이터들 중 상기 오버샘플링할 타겟 클래스의 학습 데이터들과 상기 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하는 단계; 및 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터 와 상기 노말 학습 데이터로 구분하는 단계를 포함할 수 있다. The discriminating step is based on a ratio between training data of the target class to be oversampled among the training data for different classes and additional training data to be oversampled from the training data of the target class, Extracting closest training data for each training data of the target class; And dividing the learning data of the target class into the isolation learning data and the normal learning data based on the nearest learning data for each of the learning data of the target class.

상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하는 단계는 상기 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 상기 타겟 클래스의 학습 데이터들과 상기 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출하는 단계를 포함할 수 있다. The extracting of the nearest training data for each of the training data of the target class includes training data of the target class and additional training data to be oversampled based on a distance between each of the training data of the target class. It may include the step of extracting the nearest learning data corresponding to the ratio between.

상기 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터와 상기 노말 학습 데이터로 구분하는 단계는 상기 최근접 학습 데이터들 전부가 상기 타겟 클래스의 학습 데이터와 이종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 격리 학습 데이터로 구분하는 단계; 및 상기 최근접 학습 데이터들 중 적어도 하나가 상기 타겟 클래스의 학습 데이터와 동종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 노말 학습 데이터로 구분하는 단계를 포함할 수 있다. In the step of dividing the learning data of the target class into the isolation learning data and the normal learning data based on the nearest learning data, all of the nearest learning data are learning data of the target class and heterogeneous learning data. In case, dividing learning data of a target class corresponding to the nearest learning data into the isolated learning data; And when at least one of the closest training data is training data of the same kind as the training data of the target class, dividing training data of the target class corresponding to the closest training data into the normal training data. can do.

상기 추가 학습 데이터들의 개수를 결정하는 단계는 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수를 결정하는 단계를 포함할 수 있다. The determining of the number of additional learning data includes a first number of additional learning data to be oversampled from the isolated learning data and an addition to be oversampled from the normal learning data according to a ratio between the isolation learning data and the normal learning data. It may include determining a second number of training data.

상기 추가 학습 데이터들을 생성하는 단계는 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 추가 학습 데이터들을 추출하는 단계; 및 상기 격리 학습 데이터와 상기 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계를 포함할 수 있다. The generating of the additional learning data includes extracting the additional learning data based on a first number of additional learning data to be oversampled from the isolated learning data and a second number of additional learning data to be oversampled from the normal learning data. The step of doing; And a first distance between the isolated learning data and the additional learning data extracted from the isolated learning data, and a second distance between the normal learning data and the additional learning data extracted from the normal learning data, respectively, the isolated learning data, and And generating additional learning data corresponding to each of the normal learning data.

상기 추가 학습 데이터들을 추출하는 단계는 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수에 기초하여, 상기 타겟 클래스의 학습 데이터들로부터 제3 개수의 추가 학습 데이터들을 추출하는 단계; 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 학습 데이터들로부터 제4 개수의 추가 학습 데이터들을 추출하는 단계를 포함할 수 있다.The extracting of the additional learning data may include extracting a third number of additional learning data from the learning data of the target class based on the first number of additional learning data to be oversampled from the isolated learning data; And extracting a fourth number of additional training data from the training data based on the second number of additional training data to be oversampled from the normal training data.

상기 추가 학습 데이터들을 생성하는 단계는 상기 격리 학습 데이터와 상기 제3개수의 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 제4 개수의 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계; 및 상기 제1 거리, 상기 제2 거리, 및 상기 격리 학습 데이터 및 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계를 포함할 수 있다.The generating of the additional learning data is based on each of a first distance between the isolation learning data and the third number of additional learning data and a second distance between the normal learning data and the fourth number of additional learning data. And calculating the number of samplings per unit distance of each of the isolated learning data and the normal learning data; And generating additional learning data corresponding to each of the isolation learning data and the normal learning data, based on the first distance, the second distance, and the number of samplings per unit distance of each of the isolation learning data and the normal learning data. It may include steps.

상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계는 상기 격리 학습 데이터와 상기 제3 개수의 추가 학습 데이터들 간의 제1 거리를 산출하는 단계; 및 상기 제1 거리를 기초로, 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수를 산출하는 단계를 포함할 수 있다. The calculating of the number of samplings per unit distance of each of the isolation learning data and the normal learning data may include calculating a first distance between the isolation learning data and the third number of additional learning data; And calculating the number of samplings per unit distance of the isolation learning data based on the first distance.

상기 추가 학습 데이터들을 생성하는 단계는 상기 제1 거리에 반비례하여 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계를 포함할 수 있다. The generating of the additional learning data may include oversampling additional learning data corresponding to the isolated learning data in inverse proportion to the first distance.

상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계는 상기 제1 거리가 상기 격리 학습 데이터의 단위 거리보다 먼 경우, 상기 격리 학습 데이터로부터 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링하는 단계; 및 상기 제1 거리가 상기 격리 학습 데이터의 단위 거리보다 같거나 가까운 경우, 상기 격리 학습 데이터로부터 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링하는 단계를 포함할 수 있다. The oversampling of the additional learning data corresponding to the isolated learning data is a number less than the number of samples per unit distance of the isolated learning data from the isolated learning data when the first distance is greater than a unit distance of the isolated learning data. Oversampling the additional learning data of; And when the first distance is equal to or close to the unit distance of the isolation learning data, oversampling a number of additional learning data greater than the number of samples per unit distance of the isolation learning data from the isolation learning data. have.

상기 추가 학습 데이터들을 생성하는 단계는 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들과 이종의 학습 데이터들 간의 중첩 여부를 판단하는 단계; 및 상기 중첩 여부에 대한 판단 결과를 기초로, 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 제거하는 단계를 더 포함할 수 있다. The generating of the additional learning data may include determining whether additional learning data corresponding to the isolated learning data and heterogeneous learning data overlap; And removing additional learning data corresponding to the isolated learning data based on a result of the determination as to whether or not to overlap.

상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계는 상기 노말 학습 데이터와 상기 제4개수의 추가 학습 데이터들 간의 제2 거리를 산출하는 단계; 및 상기 제2 거리를 기초로, 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수를 산출하는 단계를 포함할 수 있다. The calculating of the number of samplings per unit distance of each of the isolated learning data and the normal learning data may include calculating a second distance between the normal learning data and the fourth number of additional learning data; And calculating the number of samplings per unit distance of the normal learning data based on the second distance.

상기 추가 학습 데이터들을 생성하는 단계는 상기 제2거리에 비례하여 상기 노말 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계를 포함할 수 있다. The generating of the additional learning data may include oversampling additional learning data corresponding to the normal learning data in proportion to the second distance.

상기 노말 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계는 상기 제2 거리가 상기 노말 학습 데이터의 단위 거리보다 먼 경우, 상기 노말 학습 데이터로부터 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링하는 단계; 및 상기 제2거리가 상기 노말 학습 데이터의 단위 거리보다 같거나 가까운 경우, 상기 노말 학습 데이터로부터 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링하는 단계를 포함할 수 있다. The oversampling of the additional training data corresponding to the normal training data includes a number greater than the number of samples per unit distance of the normal training data from the normal training data when the second distance is greater than the unit distance of the normal training data. Oversampling the additional learning data of; And when the second distance is equal to or close to the unit distance of the normal learning data, oversampling a number of additional training data less than the number of samples per unit distance of the normal learning data from the normal learning data. have.

일 측에 따르면, 학습 데이터를 생성하는 장치는 학습 데이터들의 분포 특성을 기초로, 오버샘플링할 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분하고, 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정하며, 상기 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는, 프로세서를 포함한다. According to one side, the apparatus for generating training data divides training data to be oversampled into isolated training data and normal training data based on the distribution characteristics of the training data, and determines the ratio between the isolated training data and the normal training data. Accordingly, the number of additional learning data to be oversampled is determined from each of the isolated learning data and the normal learning data, and based on the number of each of the learning data to be oversampled, each of the isolated learning data and the normal learning data is And a processor that generates corresponding additional learning data.

상기 프로세서는 서로 다른 클래스들을 위한 상기 학습 데이터들 중 상기 오버샘플링할 타겟 클래스의 학습 데이터들과 상기 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하고, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터와 상기 노말 학습 데이터로 구분할 수 있다. The processor learns the target class based on a ratio between training data of the target class to be oversampled among the training data for different classes and additional training data to be oversampled from the training data of the target class. The closest learning data for each data is extracted, and based on the nearest learning data for each of the training data of the target class, the learning data of the target class can be divided into the isolation learning data and the normal learning data. have.

상기 프로세서는 상기 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 상기 타겟 클래스의 학습 데이터들과 상기 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출할 수 있다. The processor may extract closest training data corresponding to a ratio between training data of the target class and additional training data to be oversampled based on a distance between each of the training data of the target class.

상기 프로세서는 상기 최근접 학습 데이터들 전부가 상기 타겟 클래스의 학습 데이터와 이종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 격리 학습 데이터로 구분하고, 상기 최근접 학습 데이터들 중 적어도 하나가 상기 타겟 클래스의 학습 데이터와 동종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 노말 학습 데이터로 구분할 수 있다. When all of the nearest learning data are learning data of the target class and learning data of a different type, the processor divides learning data of a target class corresponding to the nearest learning data into the isolation learning data, and When at least one of the contact training data is training data of the same kind as the training data of the target class, training data of a target class corresponding to the closest training data may be classified as the normal training data.

상기 프로세서는 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수를 결정할 수 있다. The processor determines a first number of additional learning data to be oversampled from the isolated learning data and a second number of additional learning data to be oversampled from the normal learning data according to a ratio between the isolated learning data and the normal learning data. I can.

상기 프로세서는 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 추가 학습 데이터들을 추출하고, 상기 격리 학습 데이터와 상기 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성할 수 있다. The processor extracts the additional learning data based on a first number of additional learning data to be oversampled from the isolated learning data and a second number of additional learning data to be oversampled from the normal learning data, and the isolated learning data And a first distance between the additional learning data extracted from the isolated learning data and a second distance between the normal learning data and the additional learning data extracted from the normal learning data, respectively, the isolation learning data and the normal learning data, respectively. It is possible to generate additional learning data corresponding to.

일 측에 따르면, 분류기를 위한 학습 데이터들의 개수 또는 학습 데이터들 간의 비율을 적절하게 조절할 수 있다.According to one side, the number of training data for the classifier or a ratio between training data may be appropriately adjusted.

일 측에 따르면, 신뢰성 높은 학습 데이터를 생성하는 한편, 신뢰성 높은 분류기를 제공할 수 있다.According to one side, it is possible to generate highly reliable training data and provide a highly reliable classifier.

도 1은 일 실시예에 따른 학습 데이터를 생성하는 방법을 나타낸 흐름도.
도 2는 일 실시예에 따른 격리 학습 데이터와 노말 학습 데이터를 설명하기 위한 도면.
도 3은 일 실시예에 따라 격리 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법을 설명하기 위한 도면.
도 4는 일 실시예에 따라 격리 학습 데이터에 대응하여 생성된 추가 학습 데이터들과 학습 데이터 간의 중첩 여부에 따라 추가 학습 데이터를 제거하는 방법을 설명하기 위한 도면.
도 5는 일 실시예에 따라 노말 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법을 설명하기 위한 도면.
도 6은 다른 실시예에 따른 학습 데이터를 생성하는 방법을 나타낸 흐름도.
도 7은 일 실시예에 따른 학습 데이터를 생성하는 장치의 블록도.
1 is a flow chart showing a method of generating training data according to an embodiment.
2 is a view for explaining isolation learning data and normal learning data according to an embodiment.
3 is a diagram for describing a method of generating additional learning data corresponding to isolation learning data according to an embodiment.
FIG. 4 is a diagram for explaining a method of removing additional learning data according to whether the additional learning data generated in response to the isolated learning data and the learning data are overlapped, according to an exemplary embodiment.
5 is a diagram for describing a method of generating additional learning data corresponding to normal learning data according to an embodiment.
6 is a flowchart illustrating a method of generating learning data according to another embodiment.
Fig. 7 is a block diagram of an apparatus for generating training data according to an exemplary embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. The same reference numerals shown in each drawing indicate the same members.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various changes may be made to the embodiments described below. The embodiments described below are not intended to be limited to the embodiments, and should be understood to include all changes, equivalents, and substitutes thereto.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to describe specific embodiments, and are not intended to limit the embodiments. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.

도 1은 일 실시예에 따른 학습 데이터를 생성하는 방법을 나타낸 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 학습 데이터를 생성하는 장치(이하, '생성 장치')는 학습 데이터들의 분포 특성을 기초로, 오버샘플링(oversampling) 할 학습 데이터들을 격리(isolation) 학습 데이터와 노말(normal) 학습 데이터로 구분한다(110). 학습 데이터들은 예를 들어, 서로 다른 클래스(class)들을 위한 학습 데이터들을 포함할 수 있다. 학습 데이터들은 예를 들어, 제1 클래스의 학습을 위한 제1 학습 데이터 및 제2 클래스의 학습을 위한 제2 학습 데이터를 포함할 수 있다. 1 is a flowchart illustrating a method of generating learning data according to an exemplary embodiment. Referring to FIG. 1, an apparatus for generating training data (hereinafter, a “generation device”) according to an embodiment isolates training data to be oversampled based on distribution characteristics of training data. And normal training data (110). The training data may include, for example, training data for different classes. The training data may include, for example, first training data for learning of a first class and second training data for learning of a second class.

생성 장치는 학습 데이터들 중 오버샘플링할 타겟 클래스의 학습 데이터들과 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출할 수 있다. 여기서, '타겟 클래스'는 예를 들어, 학습 데이터들의 개수 부족 등으로 인해 오버샘플링할 대상이 되는 학습 데이터에 해당하는 클래스로 이해될 수 있다. 또한, '오버샘플링'은 학습 데이터들을 개수를 증가시키는 것으로서, 샘플링 또는 추가 생성과 동일한 의미로 이해될 수 있다. The generating device is based on the ratio between the training data of the target class to be oversampled among the training data and the additional training data to be oversampled from the training data of the target class, the nearest learning data for each of the training data of the target class. Can be extracted. Here, the'target class' may be understood as a class corresponding to training data to be oversampled due to, for example, an insufficient number of training data. In addition,'oversampling' is to increase the number of training data, and may be understood as having the same meaning as sampling or additional generation.

생성 장치는 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 타겟 클래스의 학습 데이터들과 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출할 수 있다. The generating device may extract closest learning data corresponding to a ratio between the training data of the target class and the additional training data to be oversampled based on the distance between each of the training data of the target class.

예를 들어, 학습 데이터들 중 제2 학습 데이터를 오버샘플링한다고 하자. 이때, 제2 학습 데이터의 클래스가 타겟 클래스가 될 수 있다. 또한, 제2 학습 데이터들의 개수는 N개이고, N개의 제2 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들의 개수는 S개라고 하자. For example, suppose that the second training data among the training data is oversampled. In this case, the class of the second learning data may be the target class. In addition, suppose that the number of second training data is N and the number of additional training data to be oversampled from the N second training data is S.

생성 장치는 N 개의 제2 학습 데이터들과 N개의 제2 학습 데이터들로부터 오버샘플링할 S개의 추가 학습 데이터들 간의 비율(예를 들어, S/N)을 기초로, 타겟 클래스의 학습 데이터들(제2 학습 데이터들)마다에 대한 최근접 학습 데이터들을 추출할 수 있다. 예를 들어, N이 10개이고, S가 60개라면, S/N = 6이 되므로, 생성 장치는 제2 학습 데이터들마다에 대하여 6개의 최근접 학습 데이터들을 추출할 수 있다. 이때, 최근접 학습 데이터들은 어느 하나의 제2 학습 데이터(예를 들어, a 학습 데이터)와 이웃하는 학습 데이터들로서, 제1 학습 데이터일 수도 있고, 제2 학습 데이터일 수도 있다. 생성 장치는 a 학습 데이터와 이웃하는 학습 데이터들과의 거리를 기초로, 가장 인접한 거리에 있는 6개의 학습 데이터들을 최근접 학습 데이터들로 추출할 수 있다. 여기서, '거리'는 학습 데이터들 간의 유사도를 나타내는 유클리디언 거리(Euclidiean distance)에 해당할 수 있다.The generating device is based on the ratio (eg, S/N) between the N second training data and the S additional training data to be oversampled from the N second training data, the training data of the target class ( The nearest learning data for each of the second learning data) may be extracted. For example, if N is 10 and S is 60, since S/N = 6, the generating device may extract 6 nearest training data for each of the second training data. In this case, the nearest learning data are learning data adjacent to any one of the second learning data (for example, a learning data), and may be either the first learning data or the second learning data. The generating device may extract 6 pieces of training data at the closest distance as nearest training data based on the distance between the training data a and the adjacent training data. Here, the'distance' may correspond to an Euclidian distance indicating similarity between training data.

생성 장치는 추출한 S/N개의 최근접 학습 데이터들을 기초로, 타겟 클래스의 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분할 수 있다. 생성 장치는 예를 들어, 6개의 최근접 학습 데이터들 전부가 타겟 클래스의 학습 데이터(제2 학습 데이터)와 이종의 학습 데이터(제1 학습 데이터)인 경우, 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터(a 학습 데이터)를 격리 학습 데이터로 구분할 수 있다. 여기서, 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터는 최근접 학습 데이터들 모두와 인접한 학습 데이터 또는 최근접 학습 데이터들 전부로부터 가장 가까운 학습 데이터에 해당할 수 있다. 또는 생성 장치는 최근접 학습 데이터들 중 적어도 하나가 타겟 클래스의 학습 데이터(제2 학습 데이터)와 동종의 학습 데이터(제2 학습 데이터)인 경우, 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 노말 학습 데이터로 구분할 수 있다. The generating device may classify the learning data of the target class into isolation learning data and normal learning data based on the extracted S/N nearest learning data. For example, when all of the six closest learning data are learning data of a target class (second learning data) and heterogeneous learning data (first learning data), the target corresponding to the nearest learning data Class learning data (a learning data) can be classified as isolated learning data. Here, the training data of the target class corresponding to the nearest training data may correspond to training data adjacent to all of the nearest training data or training data closest to all of the nearest training data. Alternatively, when at least one of the nearest learning data is learning data of the target class (second learning data) and the same kind of learning data (second learning data), the generation device learns the target class corresponding to the nearest learning data. Data can be classified as normal learning data.

예를 들어, 제2 학습 데이터들의 개수가 N 개이므로, 격리 학습 데이터의 개수가 N1 라면, 노말 학습 데이터의 개수는 N2가 될 수 있다. 즉. N = N1 + N2 가 된다. For example, since the number of second training data is N, if the number of isolated training data is N 1 , the number of normal training data may be N 2. In other words. N = N 1 + N 2

생성 장치는 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라 최종적으로 오버샘플링할 추가 학습 데이터들 중 격리 학습 데이터와 노말 학습 데이터 간의 비율을 자동적으로 결정할 수 있다. The generating device may automatically determine a ratio between the isolated learning data and the normal learning data among additional learning data to be finally oversampled according to a ratio between the isolated learning data and the normal learning data.

격리 학습 데이터와 노말 학습 데이터에 대하여는 도 2를 참조하여 구체적으로 설명한다. The isolation learning data and the normal learning data will be described in detail with reference to FIG. 2.

생성 장치는 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라, 격리 학습 데이터 및 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정한다(120). 생성 장치는 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라, 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수를 결정할 수 있다. The generating device determines the number of additional learning data to be oversampled from each of the isolated learning data and the normal learning data according to a ratio between the isolated learning data and the normal learning data (120). The generating device may determine a first number of additional training data to be oversampled from the isolated training data and a second number of additional training data to be oversampled from the normal training data according to a ratio between the isolated training data and the normal training data.

예를 들어, 오버샘플링할 학습 데이터들(제2 학습 데이터들) 중 격리 학습 데이터의 개수가 N1 개이고, 노말 학습 데이터의 개수가 N2 개하고 하자. 생성 장치는 격리 학습 데이터의 개수(N1), 노말 학습 데이터의 개수(N2), 및 격리 학습 데이터 및 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수(S)를 기초로, 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수(S1) 및 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수(S2)를 결정할 수 있다. For example, suppose that the number of isolated training data among training data to be oversampled (second training data) is N 1 and the number of normal training data is N 2 . The generating device is based on the number of isolated learning data (N 1 ), the number of normal training data (N 2 ), and the number of additional training data to be oversampled from each of the isolated learning data and the normal learning data (S). A first number (S 1 ) of additional training data to be oversampled from the data and a second number (S 2 ) of additional training data to be oversampled from the normal training data may be determined.

예를 들어, 생성 장치는 격리 학습 데이터의 비율(N1/N)을 이용하여 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수(S1)를 S1 = S*(N1/N)와 같이 구할 수 있다. 또한, 생성 장치는 노말 학습 데이터의 비율(N2/N)을 이용하여 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수(S2)를 S2 = S*(N2/N)와 같이 구할 수 있다. For example, the generating device uses the ratio (N 1 /N) of the isolated learning data to set the first number (S 1 ) of additional learning data to be oversampled from the isolated learning data S 1 = S*(N 1 /N) ). In addition, the generation device uses the ratio of the normal learning data (N 2 /N) to determine the second number (S 2 ) of additional training data to be oversampled from the normal training data , S 2 = S*(N 2 /N) and You can get it together.

생성 장치는 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성한다(130). The generating device generates additional learning data corresponding to each of the isolated learning data and the normal learning data based on the number of each of the learning data to be oversampled (130).

생성 장치는 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 추가 학습 데이터들을 추출할 수 있다. The generating device may extract additional training data based on the first number of additional training data to be oversampled from the isolated training data and the second number of additional training data to be oversampled from the normal training data.

생성 장치는 예를 들어, 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수(S1)를 기초로, N개의 제2 학습 데이터들로부터 제3 개수(예를 들어, S1/N1개)의 최근접 추가 학습 데이터들을 추출할 수 있다. 또한, 생성 장치는 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수(S2)를 기초로, 전체 학습 데이터들(제1 학습 데이터들 + 제2 학습 데이터들)로부터 제4 개수(예를 들어, S2/N2개)의 최근접 추가 학습 데이터들을 추출할 수 있다. The generating device is, for example, based on the first number (S 1 ) of additional training data to be oversampled from the isolated training data, a third number (eg, S 1 /N 1) from the N second training data. Dog) of the nearest additional learning data can be extracted. In addition, the generation device is based on the second number (S 2 ) of the additional training data to be oversampled from the normal training data, based on the fourth number (eg, from all training data (first training data + second training data)). For example, S 2 /N 2 ) of the nearest additional learning data can be extracted.

또한, 생성 장치는 격리 학습 데이터와 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 노말 학습 데이터와 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성할 수 있다. In addition, the generation device is based on a first distance between the isolation learning data and the additional learning data extracted from the isolation learning data, and the second distance between the normal learning data and the additional learning data extracted from the normal learning data, respectively, based on the isolation learning data and the normal. Additional training data corresponding to each of the training data may be generated.

생성 장치는 격리 학습 데이터와 제3 개수의 추가 학습 데이터들 간의 제1 거리 및 노말 학습 데이터와 제4 개수의 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 격리 학습 데이터 및 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출할 수 있다. 생성 장치는 제1 거리, 제2 거리, 및 격리 학습 데이터 및 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 기초로, 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성할 수 있다. The generating device is based on the first distance between the isolation learning data and the third number of additional learning data and the second distance between the normal learning data and the fourth number of additional learning data, respectively, the isolation learning data and the normal learning data. The number of samples per unit distance can be calculated. The generating device may generate additional learning data corresponding to each of the isolation learning data and the normal learning data, based on the first distance, the second distance, and the number of samplings per unit distance of each of the isolated learning data and the normal learning data.

생성 장치가 격리 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법은 도 3 내지 도 4를 참조하여 구체적으로 설명한다. 또한, 생성 장치가 노말 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법은 도 6을 참조하여 구체적으로 설명한다. A method of generating additional learning data corresponding to the isolation learning data by the generation device will be described in detail with reference to FIGS. 3 to 4. In addition, a method of generating the additional learning data corresponding to the normal learning data by the generation device will be described in detail with reference to FIG. 6.

도 2는 일 실시예에 따른 격리 학습 데이터와 노말 학습 데이터를 설명하기 위한 도면이다. 도 2를 참조하면, 원형으로 표시된 제1 학습 데이터들과 삼각형으로 표시된 제2 학습 데이터들의 분포가 도시된다. 2 is a diagram illustrating isolation learning data and normal learning data according to an embodiment. Referring to FIG. 2, distributions of first training data indicated by a circle and second training data indicated by a triangle are shown.

예를 들어, 오버샘플링할 타겟 클래스의 학습 데이터들은 제2 학습 데이터들이라고 하자.For example, it is assumed that the training data of the target class to be oversampled are second training data.

삼격형으로 표시된 제2 학습 데이터들 중 a 학습 데이터와 같이 영역(210)에 포함된 최근접 학습 데이터들 전부가 타겟 클래스의 학습 데이터와 이종의 학습 데이터(제1 학습 데이터)인 경우, 생성 장치는 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터(a 학습 데이터)를 격리 학습 데이터로 구분할 수 있다. If all of the nearest learning data included in the area 210, such as the learning data a, among the second learning data displayed in a triangular form, are the learning data of the target class and the learning data of the target class (first learning data), the generating device May classify learning data (a learning data) of a target class corresponding to the nearest learning data as isolated learning data.

또한, 최근접 학습 데이터들 중 영역(220)에 포함된 b 학습 데이터 및/또는 영역(230)에 포함된 c 학습 데이터와 같이 적어도 하나가 타겟 클래스의 학습 데이터와 동종의 학습 데이터(제2 학습 데이터)인 경우, 생성 장치는 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터(b 학습 데이터 및/또는 c 학습 데이터를 노말 학습 데이터로 구분할 수 있다. In addition, at least one of the nearest learning data, such as b learning data included in the area 220 and/or c training data included in the area 230, is the same kind of training data as the training data of the target class (second training In the case of data), the generating device may classify learning data (b learning data and/or c learning data) of a target class corresponding to the nearest learning data as normal learning data.

본 명세서에서는 학습 데이터들 중 a 학습 데이터와 같이 최근접 학습 데이터들 전부가 이종의 학습 데이터인 학습 데이터를 '격리 학습 데이터'라고 부르기로 한다. 또한, 본 명세서에서는 학습 데이터들 중 b 학습 데이터와 c 학습 데이터와 같이 최근접 학습 데이터들 중 적어도 하나가 해당 학습 데이터와 동종의 학습 데이터인 학습 데이터를 '노말 학습 데이터'라고 부르기로 한다. In this specification, learning data in which all of the nearest learning data are heterogeneous learning data, such as a learning data, among the learning data, will be referred to as'isolated learning data'. In addition, in this specification, learning data in which at least one of the nearest learning data, such as b learning data and c learning data, is the same kind of learning data as the learning data, will be referred to as'normal learning data'.

도 2에 도시된 제1 학습 데이터들 및 제2 학습 데이터들은 예를 들어, 기계 학습 또는 신경망의 학습을 위한 학습 데이터들이거나 또는 신경망의 분류기를 위한 학습 데이터들일 수 있다. 분류기는 학습 데이터들 간의 상호 분포와 매우 밀접한 관련성을 가질 수 있다. 학습 데이터들은 조밀하게(dense) 존재할 수 있고, 듬성하게(sparse) 존재할 수도 있다. 또한, 학습 데이터에 인접한 이웃 학습 데이터들이 해당 학습 데이터와 이종의 학습 데이터들만이 존재하거나, 또는 해당 학습 데이터와 동종의 학습 데이터가 많이 존재할 수 있다. The first training data and the second training data shown in FIG. 2 may be, for example, training data for machine learning or training of a neural network, or training data for a classifier of a neural network. The classifier can have a very close relationship with the mutual distribution between training data. Training data can exist densely or sparse. In addition, neighboring learning data adjacent to the learning data may have only the corresponding learning data and different types of learning data, or there may be a lot of learning data of the same kind as the corresponding learning data.

일 실시예에서는 이러한 학습 데이터들 간의 분포 특성을 활용하여 학습 데이터들의 개수 또는 학습 데이터들 간의 비율을 적절히 조절함으로써 분류기의 성능이 편향되는 문제를 해소할 수 있다. 또한, 일 실시예에서는 학습 데이터들의 분포 특성 및 주변 상황을 분석하여 중요한 학습 데이터에 가중치를 줌으로써 많은 새로운 학습 데이터를 생성할 수 있다.In an embodiment, a problem in which the performance of a classifier is biased may be solved by appropriately adjusting the number of training data or a ratio between training data by utilizing the distribution characteristic between the training data. In addition, in an embodiment, a lot of new learning data may be generated by analyzing the distribution characteristics of the learning data and surrounding situations, and giving weights to important learning data.

도 3은 일 실시예에 따라 격리 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 격리 학습 데이터(a1)로부터 오버샘플링한 6개의 추가 학습 데이터들(a1_1, a1_2, a1_3, a1_4, a1_5, a1_6) 및 격리 학습 데이터(a1)와 추가 학습 데이터들의 거리(da1 _1, da1 _2, da1 _3, da1_4, da1_5, da1_6)가 도시된다. 3 is a diagram for describing a method of generating additional learning data corresponding to isolation learning data according to an embodiment. 3, 6 additional training data oversampled from the isolated training data a1 (a 1_1 , a 1_2 , a 1_3 , a 1_4 , a 1_5 , a 1_6 ) and the isolated training data a1 Distances of the training data (da 1 _1 , da 1 _2 , da 1 _3 , da 1_4 , da 1_5 , da 1_6 ) are shown.

이때, 도 3에서 새로운 제2 학습 데이터로 표시된 6개의 추가 학습 데이터들(a1_1, a1_2, a1_3, a1_4, a1_5, a1_ 6)은 예를 들어, 격리 학습 데이터(a1)에 최근접한 6개의 학습 데이터들을 선정하고, 격리 학습 데이터(a1)와 6개의 학습 데이터들 간의 직선 거리 내에 있는 임의의 점을 새로운 추가 학습 데이터로 선정(또는 오버샘플링)함으로써 생성될 수 있다. At this time, 6 additional training data (a 1_1 , a 1_2 , a 1_3 , a 1_4 , a 1_5 , a 1_ 6 ) indicated as new second training data in FIG. 3 are, for example, in the isolated training data a1 It can be generated by selecting the six closest learning data and selecting (or oversampling) an arbitrary point within a linear distance between the isolated learning data a1 and the six learning data as new additional learning data.

예를 들어, 전체 학습 데이터들 중 오버샘플링할 학습 데이터(제2 학습 데이터)의 개수가 N개이고, N개의 학습 데이터들 중 격리 학습 데이터의 개수는 N1개이며, 노말 학습 데이터의 개수는 N2개라고 하자. 또한, N개의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들의 개수를 S 이고, N1개의 격리 학습 데이터로부터 추출한 추가 학습 데이터들의 개수는 S1개라고 하자.For instance, numbered, the number of of the entire training data oversampling learning data to (second learning data) N, the number of isolation of the N learning data, learning data is one N, the number of the normal learning data N Let's say two. In addition, suppose that the number of additional training data to be oversampled from N training data is S, and the number of additional training data extracted from N 1 isolated training data is S 1.

생성 장치는 격리 학습 데이터(a1)로부터 오버샘플링할 추가 학습 데이터들의 제1 개수(S1)에 기초하여, N 개의 타겟 클래스의 학습 데이터들(제2 학습 데이터)로부터 제3 개수(예를 들어, S1/N1개)의 (최근접) 추가 학습 데이터들을 추출할 수 있다. The generating device is based on the first number (S 1 ) of the additional training data to be oversampled from the isolated training data (a1), from the training data of the N target classes (second training data) to a third number (for example, , S 1 /N 1 ) of (closest) additional training data can be extracted.

생성 장치는 N1개의 격리 학습 데이터와 제3 개수(S1/N1개)의 (최근접) 추가 학습 데이터들 간의 거리(제1 거리)를 산출할 수 있다. 여기서, 거리는 격리 학습 데이터와 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 유사도를 나타내는 거리로서, 예를 들어, L1-norm(노옴), L2-norm과 같은 유클리드 거리에 해당할 수 있다. 제1 거리는 예를 들어, da1 _1, da1 _2, da1 _3, da1 _4, da1 _5, da1 _6일 수 있다. The generating device may calculate a distance (first distance) between N 1 pieces of isolated training data and a third number (S 1 /N 1 piece) of (closest) additional training data. Here, the distance is a distance representing the similarity between the isolation learning data and the additional learning data extracted from the isolation learning data, and may correspond to a Euclidean distance such as L1-norm (norm) or L2-norm. The first distance may be, for example, da 1 _1 , da 1 _2 , da 1 _3 , da 1 _4 , da 1 _5 , and da 1 _6 .

생성 장치는 제1 거리를 기초로, 격리 학습 데이터의 단위 거리 당 샘플링 개수(

Figure 112017124389481-pat00001
)를 산출할 수 있다. The generation device based on the first distance, the number of samples per unit distance of the isolated learning data (
Figure 112017124389481-pat00001
) Can be calculated.

생성 장치는 예를 들어, 아래의 [수학식 1]에 의해 격리 학습 데이터의 단위 거리 당 샘플링 개수를 산출할 수 있다. The generation device may calculate the number of sampling per unit distance of the isolated learning data by, for example, [Equation 1] below.

Figure 112017124389481-pat00002
Figure 112017124389481-pat00002

여기서,

Figure 112017124389481-pat00003
은 최근접 학습 데이터들 간의 거리의 전체 합을 나타낸다.
Figure 112017124389481-pat00004
예를 들어, 격리 학습 데이터(a1)와 격리 학습 데이터(a1)로부터 추출한 추가 학습 데이터들(a1_1, a1_2, a1_3, a1_4, a1_5, a1_6) 간의 거리(da1 _1, da1 _2, da1_3, da1 _4, da1 _5, da1 _ 6)를 전부 합한 값에 해당할 수 있다. S1은 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수(S1)에 해당할 수 있다. here,
Figure 112017124389481-pat00003
Represents the total sum of the distances between the nearest learning data.
Figure 112017124389481-pat00004
silver For example, the distance between the isolated learning data a1 and the additional training data extracted from the isolated learning data a1 (a 1_1 , a 1_2 , a 1_3 , a 1_4 , a 1_5 , a 1_6 ) (da 1 _1 , da 1 _2 , da 1_3 , da 1 _4 , da 1 _5 , da 1 _ 6 ) may be the sum of all values. S1 may correspond to the first number (S 1 ) of additional training data to be oversampled from the isolated training data.

생성 장치는 예를 들어, 제1 거리에 반비례하여 격리 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링할 수 있다. 생성 장치는 두 학습 데이터(격리 학습 데이터와 추가 학습 데이터) 간의 거리가 멀수록 오버샘플링할 추가 학습 데이터의 개수를 줄이고, 두 학습 데이터 간의 거리가 가까울수록 오버샘플링할 추가 학습 데이터 개수를 증가시킬 수 있다.The generating device may oversample additional learning data corresponding to the isolated learning data in inverse proportion to the first distance, for example. The generating device can reduce the number of additional training data to be oversampled as the distance between the two training data (isolated training data and additional training data) increases, and increase the number of additional training data to be oversampled as the distance between the two training data is close. have.

예를 들어, 제1 거리가 격리 학습 데이터의 단위 거리보다 먼 경우, 생성 장치는 격리 학습 데이터로부터 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링할 수 있다. 또한, 제1 거리가 격리 학습 데이터의 단위 거리보다 같거나 가까운 경우, 생성 장치는 격리 학습 데이터로부터 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링할 수 있다. 즉, 생성 장치는 학습 데이터들 간의 거리에 따라 추가 학습 데이터의 개수를 증감시킬 수 있다. For example, when the first distance is farther than the unit distance of the isolated learning data, the generating device may oversample the number of additional training data less than the number of samples per unit distance of the isolated learning data from the isolated learning data. In addition, when the first distance is equal to or close to the unit distance of the isolated learning data, the generating device may oversample the number of additional training data from the isolated learning data that is greater than the number of samples per unit distance of the isolated learning data. That is, the generating device may increase or decrease the number of additional training data according to the distance between the training data.

격리 학습 데이터는 동종의 학습 데이터와 멀리 떨어져 존재하므로, 생성 장치는 격리 학습 데이터에 가까운 학습 데이터에 가중치를 주어 더 많은 추가 학습 데이터를 생성함으로써 생성된 추가 학습 데이터들의 신뢰성을 향상시킬 수 있다. Since the isolated learning data exists far from the same kind of learning data, the generating device may increase the reliability of the generated additional learning data by generating more additional learning data by giving a weight to the learning data close to the isolated learning data.

도 4는 일 실시예에 따라 격리 학습 데이터에 대응하여 생성된 추가 학습 데이터들과 학습 데이터 간의 중첩 여부에 따라 추가 학습 데이터를 제거하는 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 새로이 생성된 추가 학습 데이터(예를 들어, 제2 학습 데이터)가 이종의 학습 데이터(예를 들어, 제1 학습 데이터)에 매우 인접한 상황이 도시된다. FIG. 4 is a diagram for describing a method of removing additional learning data according to whether the additional learning data generated in response to the isolated learning data and the learning data are overlapped according to an embodiment. Referring to FIG. 4, a situation in which newly generated additional learning data (eg, second training data) is very close to heterogeneous training data (eg, first training data) is illustrated.

일 실시예에 따른 생성 장치는 격리 학습 데이터에 대응하는 추가 학습 데이터들과 이종의 학습 데이터들 간의 중첩 여부를 판단할 수 있다. 생성 장치는 예를 들어, 새로이 생성된 추가 학습 데이터(제2 학습 데이터)와 이종의 학습 데이터(제1 학습 데이터) 간의 거리를 산출하고, 해당 거리가 특정값(예를 들어, r) 이하이면 중첩으로 판단할 수 있다. The generating device according to an embodiment may determine whether additional learning data corresponding to the isolation learning data and heterogeneous learning data overlap. The generating device, for example, calculates a distance between newly generated additional learning data (second learning data) and heterogeneous learning data (first learning data), and if the distance is less than or equal to a specific value (for example, r) It can be judged by overlapping.

생성 장치는 중첩 여부에 대한 판단 결과를 기초로, 격리 학습 데이터에 대응하는 추가 학습 데이터들을 제거할 수 있다. 생성 장치는 중첩이 발생하면, 중첩이 발생한 추가 학습 데이터를 제거하고, 격리 학습 데이터에 대응하는 새로운 추가 학습 데이터를 생성할 수 있다. The generating device may remove additional learning data corresponding to the isolated learning data based on a result of determining whether or not to overlap. When the overlapping occurs, the generating device may remove the overlapping additional learning data and generate new additional learning data corresponding to the isolated learning data.

도 5는 일 실시예에 따라 노말 학습 데이터에 대응하는 추가 학습 데이터들을 생성하는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 노말 학습 데이터(a2)와 노말 학습 데이터(a2)로부터 생성된 추가 학습 데이터들(a2_1, a2_2, a2_3, a2_4, a2_5) 간의 거리(da2 _1, da2 _2, da2 _3, da2 _4, da2 _5), 및 노말 학습 데이터(a3)와 노말 학습 데이터(a3)로부터 생성된 추가 학습 데이터들(a3_1, a3_2) 간의 거리(da3 _1, da3_2)가 도시된다. 5 is a diagram for describing a method of generating additional learning data corresponding to normal learning data according to an embodiment. 5, the distance between the normal training data (a2) and the additional training data (a 2_1 , a 2_2 , a 2_3 , a 2_4 , a 2_5 ) generated from the normal training data (a2) (da 2 _1 , da 2 _2 , da 2 _3 , da 2 _4 , da 2 _5 ), and the distance between the normal training data (a3) and the additional training data (a 3_1 , a 3_2 ) generated from the normal training data (a3) (da 3 _1 , da 3_2 ) is shown.

예를 들어, 전체 학습 데이터들의 개수가 N개이고, 이 중 격리 학습 데이터의 개수는 N1개이고, 노말 학습 데이터의 개수는 N2개라고 하자. 또한, N개의 학습 데이터들로부터 추가로 생성할 추가 학습 데이터들의 개수를 S 이고, N2개의 노말 학습 데이터로부터 추출한 추가 학습 데이터들의 개수는 S2개라고 하자. For example, assume that the number of total training data is N, of which the number of isolated training data is N 1 and the number of normal training data is N 2 . In addition, suppose that the number of additional training data to be additionally generated from N training data is S, and the number of additional training data extracted from N 2 normal training data is S 2.

생성 장치는 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수(S2개)에 기초하여, N개의 전체 학습 데이터들(격리 학습 데이터 + 노말 학습 데이터)로부터 제4 개수(예를 들어, S2/N2개)의 (최근접) 추가 학습 데이터들을 추출할 수 있다. The generation device is based on the second number (S 2 ) of additional training data to be oversampled from the normal training data, based on the fourth number (for example, from the N total training data (isolated training data + normal training data)). S 2 /N 2 ) (closest) additional learning data can be extracted.

생성 장치는 N2개의 노말 학습 데이터와 제4 개수(S2/N2개)의 (최근접) 추가 학습 데이터들 간의 거리(제2 거리)를 산출할 수 있다. 제2 거리는 예를 들어, da2_1, da2_2, da2_3, da2_4, da2_5 및 da3_1, da3_2일 수 있다.The generating device may calculate a distance (second distance) between N 2 pieces of normal training data and a fourth number (S 2 /N 2 pieces) of (closest) additional training data. The second distance may be, for example, da 2_1 , da 2_2 , da 2_3 , da 2_4 , da 2_5, and da 3_1 , da 3_2 .

생성 장치는 제2 거리를 기초로, 노말 학습 데이터의 단위 거리 당 샘플링 개수(

Figure 112017124389481-pat00005
)를 산출할 수 있다. The generation device based on the second distance, the number of samples per unit distance of the normal learning data (
Figure 112017124389481-pat00005
) Can be calculated.

생성 장치는 예를 들어, 아래의 [수학식 2]에 의해 노말 학습 데이터의 단위 거리 당 샘플링 개수를 산출할 수 있다. The generation device may calculate the number of samplings per unit distance of the normal learning data by, for example, [Equation 2] below.

Figure 112017124389481-pat00006
Figure 112017124389481-pat00006

여기서

Figure 112017124389481-pat00007
은 최근접 학습 데이터들의 거리의 전체 합을 나타내고, T 는 학습 데이터들 각각의 최근접 학습 데이터들의 개수이다.
Figure 112017124389481-pat00008
은 예를 들어, 노말 학습 데이터들(a2, a3)과 노말 학습 데이터들로부터 추출한 추가 학습 데이터들(a2_1, a2_2, a2_3, a2_4, a2_5, 및 a3_1, a3_2) 간의 거리(da2 _1, da2 _2, da2 _3, da2 _4, da2_5 및 da3_1, da3_2)를 전부 합한 값에 해당할 수 있다. here
Figure 112017124389481-pat00007
Denotes the total sum of the distances of the nearest training data, and T is the number of the nearest training data of each of the training data.
Figure 112017124389481-pat00008
Is, for example, the distance between the normal training data (a2, a3) and additional training data extracted from the normal training data (a 2_1 , a 2_2 , a 2_3 , a 2_4 , a 2_5 , and a 3_1 , a 3_2) It may correspond to the sum of all of (da 2 _1 , da 2 _2 , da 2 _3 , da 2 _4 , da 2_5 and da 3_1 , da 3_2 ).

오버샘플링은 타겟 클래스의 학습 데이터들(제2 학습 데이터들) 간에 이루어지기 때문에 T는 학습 데이터 별로 달라질 수 있다. Since oversampling is performed between training data (second training data) of the target class, T may vary for each training data.

생성 장치는 제2 거리에 비례하여 노말 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링할 수 있다. 생성 장치는 두 학습 데이터들 간의 거리가 멀수록 오버샘플링할 추가 학습 데이터의 개수를 증가시키고, 거리가 가까울수록 오버샘플링할 추가 학습 데이터의 개수를 감소시킬 수 있다. The generating device may oversample additional training data corresponding to the normal training data in proportion to the second distance. The generation device may increase the number of additional training data to be oversampled as the distance between the two training data increases, and may decrease the number of additional training data to be oversampled as the distance increases.

생성 장치는 예를 들어, 제2 거리가 노말 학습 데이터의 단위 거리보다 먼 경우, 노말 학습 데이터로부터 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링할 수 있다. 또한, 생성 장치는 제2 거리가 노말 학습 데이터의 단위 거리보다 같거나 가까운 경우, 노말 학습 데이터로부터 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링할 수 있다. For example, when the second distance is farther than the unit distance of the normal training data, the generating device may oversample the number of additional training data more than the number of samples per unit distance of the normal training data from the normal training data. In addition, when the second distance is equal to or close to the unit distance of the normal training data, the generating device may oversample the number of additional training data less than the number of samples per unit distance of the normal training data from the normal training data.

노말 학습 데이터는 격리 학습 데이터에 비해 이종의 학습 데이터들과 가까이 존재하는 경우이므로, 생성 장치는 노말 학습 데이터로부터 멀리 있는 학습 데이터에 가중치를 주어 더 많은 학습 데이터를 생성함으로써 생성된 추가 학습 데이터들의 신뢰성을 향상시킬 수 있다. 이때, 노말 학습 데이터에 인접하게 위치하는 학습 데이터 내에서 많은 추가 학습 데이터를 생성시키는 것은 양의 증가 대비 분류기의 성능 향상에 크게 도움이 되지 않기 때문이다.Since the normal learning data exists closer to the heterogeneous learning data than the isolated learning data, the generating device weights the learning data farther from the normal learning data to generate more learning data, so the reliability of the additional learning data generated. Can improve. In this case, the generation of a lot of additional training data in the training data located adjacent to the normal training data is not very helpful in improving the performance of the classifier compared to an increase in quantity.

도 6은 다른 실시예에 따른 학습 데이터를 생성하는 방법을 나타낸 흐름도이다. 도 6을 참조하면, 일 실시예에 따른 생성 장치는 서로 다른 클래스(class)들을 위한 학습 데이터들 중 오버샘플링할 타겟 클래스의 학습 데이터들의 개수(N)과 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들의 개수(S)가 입력되면(605), 생성 장치는 타겟 클래스의 학습 데이터들마다에 대한 S/N 개의 최근접 학습 데이터들을 추출할 수 있다(610).6 is a flowchart illustrating a method of generating learning data according to another exemplary embodiment. Referring to FIG. 6, the generation device according to an embodiment performs oversampling from the training data of the target class and the number (N) of training data of the target class to be oversampled among training data for different classes. When the number of additional training data S is input (605 ), the generating device may extract S/N nearest learning data for each of the training data of the target class (610 ).

생성 장치는 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 격리 학습 데이터와 노말 학습 데이터로 구분함으로써 타겟 클래스의 학습 데이터들 중 격리 학습 데이터의 개수를 산출할 수 있다(615). 이때, 생성 장치는 타겟 클래스의 학습 데이터들 중 노말 학습 데이터의 개수 또한 산출할 수 있다. The generating device may calculate the number of isolated learning data among the learning data of the target class by classifying them into isolation learning data and normal learning data based on the nearest learning data for each of the learning data of the target class (615). . In this case, the generating device may also calculate the number of normal training data among the training data of the target class.

생성 장치는 단계(615)에서 산출한 격리 학습 데이터의 개수 및 노말 하습 데이터의 개수를 기초로, 격리 학습 데이터와 노말 학습 데이터 간의 비율을 산출할 수 있다. 예를 들어, 격리 학습 데이터의 개수를 S1개라고 하고, 노말 학습 데이터를 S2개라고 하자. 또한, 오버샘플링할 타겟 클래스의 N개 학습 데이터들 중 격리 학습 데이터의 개수는 N1개이고, 노말 학습 데이터의 개수는 N2개라고 하자. 생성 장치는 격리 학습 데이터와 노말 학습 데이터를 구분하여 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성할 수 있다. The generating device may calculate a ratio between the isolation learning data and the normal learning data based on the number of isolation learning data and the number of normal haze data calculated in step 615. For example, let's say the number of isolated learning data is S1, and normal learning data is S2. In addition, it is assumed that the number of isolated training data among the N training data of the target class to be oversampled is N1 and the number of normal training data is N2. The generating device may generate additional learning data corresponding to each of the isolated learning data and the normal learning data by dividing the isolated learning data and the normal learning data.

S1개의 격리 학습 데이터에 대하여, 생성 장치는 오버샘플링할 타겟 클래스의 학습 데이터들 내에서 S1/N1 개의 최근접 추가 학습 데이터를 추출할 수 있다(625). For the S1 isolated learning data, the generating device may extract S1/N1 nearest additional learning data from the training data of the target class to be oversampled (625).

생성 장치는 격리 학습 데이터와 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 거리(제1 거리)를 산출하고(630), 제1 거리를 기초로, 격리 학습 데이터의 단위 거리 당 샘플링 개수를 산출할 수 있다(635).The generating device may calculate a distance (first distance) between the isolation learning data and the additional learning data extracted from the isolation learning data (630), and calculate the number of samples per unit distance of the isolation learning data based on the first distance. There is (635).

생성 장치는 제1 거리에 반비례하여 격리 학습 데이터에 대응하는 추가 학습 데이터들을 샘플링할 수 있다(640). 실시예에 따라서, 생성 장치는 단계(640)을 통해 생성된 격리 학습 데이터에 대응하는 추가 학습 데이터들과 이종의 학습 데이터들 간의 중첩 여부를 확인할 수 있다(645). 생성 장치는 중첩된 추가 학습 데이터를 제거하고, 제거된 추가 학습 데이터를 대신하여 격리 학습 데이터에 대응하는 추가 학습 데이터를 새로이 오버샘플링할 수 있다. The generating device may sample additional learning data corresponding to the isolated learning data in inverse proportion to the first distance (640 ). According to an embodiment, the generating device may check whether additional learning data corresponding to the isolated learning data generated through operation 640 and heterogeneous learning data are overlapped (645 ). The generating device may remove the overlapped additional learning data, and may newly oversample the additional learning data corresponding to the isolated learning data in place of the removed additional learning data.

또한, S2 개의 노말 학습 데이터에 대하여, 생성 장치는 전체 학습 데이터들 내에서 S2/N2 개의 최근접 추가 학습 데이터를 추출할 수 있다(650). In addition, for S2 normal training data, the generating device may extract S2/N2 nearest additional training data from the entire training data (650).

생성 장치는 노말 학습 데이터와 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 거리(제2 거리)를 산출하고(655), 제2 거리를 기초로, 격리 학습 데이터의 단위 거리 당 샘플링 개수를 산출할 수 있다(660).The generating device may calculate a distance (second distance) between the normal learning data and the additional learning data extracted from the normal learning data (655), and calculate the number of samples per unit distance of the isolated learning data based on the second distance. There is (660).

생성 장치는 제2 거리에 비례하여 노말 학습 데이터에 대응하는 추가 학습 데이터들을 샘플링할 수 있다(665). The generating device may sample additional learning data corresponding to the normal learning data in proportion to the second distance (665 ).

생성 장치는 단계(640) 및 단계(665)를 통해 샘플링된 추가 학습 데이터들을 결합하여 최종적인 추가 학습 데이터들로 활용할 수 있다(670).The generating device may combine the additional learning data sampled through steps 640 and 665 and use them as final additional learning data (670 ).

일 실시예에서는 동종의 학습 데이터뿐만 아니라, 이종의 학습 데이터의 분포를 모두 이용하고, 격리 학습 데이터 및 노말 학습 데이터 내에서 적정한 가중치를 기반으로 새로운 추가 학습 데이터들을 생성함으로써 높은 신뢰성을 갖는 학습 데이터를 생성할 수 있다.In one embodiment, learning data with high reliability is generated by using all distributions of not only the same kind of learning data but also the heterogeneous learning data, and generating new additional learning data based on appropriate weights within the isolated learning data and the normal learning data. Can be generated.

도 7은 일 실시예에 따른 학습 데이터를 생성하는 장치의 블록도이다. 도 7을 참조하면, 일 실시예에 따른 학습 데이터를 생성하는 장치(이하, 생성 장치)(700)는 프로세서(710)를 포함한다. 생성 장치(700)는 통신 인터페이스(730) 및 메모리(750)를 더 포함할 수 있다. 프로세서(710), 통신 인터페이스(730) 및 메모리(750)는 통신 버스(705)를 통해 서로 통신할 수 있다. 생성 장치(700)는 예를 들어, 기계 학습을 위한 인공 지능 분류기 또는 신경망을 위한 분류기이거나, 분류기를 포함할 수 있다. 7 is a block diagram of an apparatus for generating training data according to an exemplary embodiment. Referring to FIG. 7, an apparatus for generating training data (hereinafter, a generation apparatus) 700 according to an exemplary embodiment includes a processor 710. The generating device 700 may further include a communication interface 730 and a memory 750. The processor 710, the communication interface 730, and the memory 750 may communicate with each other through a communication bus 705. The generation device 700 may be, for example, an artificial intelligence classifier for machine learning or a classifier for a neural network, or may include a classifier.

프로세서(710)는 학습 데이터들의 분포 특성을 기초로, 오버샘플링할 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분한다. 프로세서(710)는 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라, 격리 학습 데이터 및 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정한다. 프로세서(710)는 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성한다. The processor 710 divides training data to be oversampled into isolation training data and normal training data based on distribution characteristics of the training data. The processor 710 determines the number of additional training data to be oversampled from each of the isolated training data and the normal training data according to a ratio between the isolated training data and the normal training data. The processor 710 generates additional training data corresponding to each of the isolated training data and the normal training data, based on the number of each of the training data to be oversampled.

프로세서(710)는 서로 다른 클래스들을 위한 학습 데이터들 중 오버샘플링할 타겟 클래스의 학습 데이터들과 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출할 수 있다. The processor 710 includes training data of the target class based on a ratio between training data of the target class to be oversampled and additional training data to be oversampled from the training data of the target class among training data for different classes. The nearest learning data for each can be extracted.

프로세서(710)는 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 타겟 클래스의 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분할 수 있다. The processor 710 may classify the training data of the target class into isolation training data and normal training data based on the nearest training data for each of the training data of the target class.

프로세서(710)는 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 타겟 클래스의 학습 데이터들과 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출할 수 있다. The processor 710 may extract closest training data corresponding to a ratio between training data of the target class and additional training data to be oversampled based on a distance between each of the training data of the target class.

프로세서(710)는 최근접 학습 데이터들 전부가 타겟 클래스의 학습 데이터와 이종의 학습 데이터인 경우, 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 격리 학습 데이터로 구분할 수 있다. 프로세서(710)는 최근접 학습 데이터들 중 적어도 하나가 타겟 클래스의 학습 데이터와 동종의 학습 데이터인 경우, 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 노말 학습 데이터로 구분할 수 있다. The processor 710 may classify the learning data of the target class corresponding to the nearest learning data as isolation learning data when all of the nearest learning data are learning data of a target class and different types of learning data. When at least one of the closest training data is training data of the same kind as the training data of the target class, the processor 710 may classify training data of the target class corresponding to the closest training data as normal training data.

프로세서(710)는 격리 학습 데이터와 노말 학습 데이터 간의 비율에 따라, 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수를 결정할 수 있다. The processor 710 may determine a first number of additional training data to be oversampled from the isolated training data and a second number of additional training data to be oversampled from the normal training data according to a ratio between the isolated training data and the normal training data. .

프로세서(710)는 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 추가 학습 데이터들을 추출할 수 있다. 프로세서(710)는 격리 학습 데이터와 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 노말 학습 데이터와 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 격리 학습 데이터 및 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성할 수 있다. The processor 710 may extract additional training data based on the first number of additional training data to be oversampled from the isolated training data and the second number of additional training data to be oversampled from the normal training data. The processor 710 is based on a first distance between the isolated learning data and the additional learning data extracted from the isolated learning data, and a second distance between the normal learning data and the additional learning data extracted from the normal learning data. Additional training data corresponding to each of the training data may be generated.

프로세서(710)는 이 밖에도, 도 1 내지 도 6을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 프로세서(710)는 프로그램을 실행하고, 생성 장치(700)를 제어할 수 있다. 프로세서(710)에 의하여 실행되는 프로그램 코드는 메모리(750)에 저장될 수 있다.In addition, the processor 710 may perform at least one method described above with reference to FIGS. 1 to 6. The processor 710 may execute a program and control the generating device 700. The program code executed by the processor 710 may be stored in the memory 750.

통신 인터페이스(730)는 생성 장치(700)의 외부로부터 학습 데이터들을 수신할 수 있다. 또한, 통신 인터페이스(730)는 프로세서(710)가 생성한 추가 학습 데이터들을 생성 장치(700)의 외부로 전송할 수 있다. The communication interface 730 may receive training data from outside of the generating device 700. In addition, the communication interface 730 may transmit additional learning data generated by the processor 710 to the outside of the generating device 700.

메모리(750)는 통신 인터페이스(730)로부터 수신한 학습 데이터들을 저장할 수 있다. 메모리(750)는 프로세서(710)가 생성한 추가 학습 데이터들을 저장할 수 있다. 또한, 메모리(750)는 상술한 프로세서(710)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(750)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(750)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(750)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.The memory 750 may store training data received from the communication interface 730. The memory 750 may store additional learning data generated by the processor 710. In addition, the memory 750 may store various types of information generated during processing in the processor 710 described above. In addition, the memory 750 may store various types of data and programs. The memory 750 may include a volatile memory or a nonvolatile memory. The memory 750 may include a mass storage medium such as a hard disk to store various types of data.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices, methods, and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

700: 생성 장치
705: 통신 버스
710: 프로세서
730: 통신 인터페이스
750: 메모리
700: generating device
705: communication bus
710: processor
730: communication interface
750: memory

Claims (20)

생성 장치가 학습 데이터를 생성하는 방법에 있어서,
상기 생성 장치가, 학습 데이터들의 분포 특성을 기초로, 오버샘플링(oversampling)할 학습 데이터들을 격리(isolation) 학습 데이터와 노말(normal) 학습 데이터로 구분하는 단계;
상기 생성 장치가, 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정하는 단계; 및
상기 생성 장치가, 상기 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계
를 포함하며,
상기 추가 학습 데이터들을 생성하는 단계는,
상기 생성 장치가, 상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라 결정된 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 추가 학습 데이터들을 추출하는 단계; 및
상기 생성 장치가, 상기 격리 학습 데이터와 상기 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
In the method for generating training data by the generating device,
Dividing, by the generating device, training data to be oversampled into isolation training data and normal training data based on distribution characteristics of the training data;
Determining, by the generating device, the number of additional learning data to be oversampled from each of the isolated learning data and the normal learning data according to a ratio between the isolated learning data and the normal learning data; And
Generating, by the generating device, additional learning data corresponding to each of the isolation learning data and the normal learning data, based on the number of each of the learning data to be oversampled.
Including,
Generating the additional learning data,
The generating device comprises: a first number of additional learning data to be oversampled from the isolated learning data determined according to a ratio between the isolated learning data and the normal learning data and a second number of additional learning data to be oversampled from the normal learning data On the basis of, extracting the additional learning data; And
The generating device, based on each of a first distance between the isolation learning data and additional learning data extracted from the isolation learning data and a second distance between the normal learning data and additional learning data extracted from the normal learning data, Generating additional learning data corresponding to each of the isolation learning data and the normal learning data
Containing, a method of generating training data.
제1항에 있어서,
상기 구분하는 단계는
상기 생성 장치가, 서로 다른 클래스(class)들을 위한 상기 학습 데이터들 중 오버샘플링할 타겟 클래스의 학습 데이터들과 상기 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하는 단계; 및
상기 생성 장치가, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터와 상기 노말 학습 데이터로 구분하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 1,
The step of distinguishing
The generation device, based on a ratio between training data of a target class to be oversampled among the training data for different classes and additional training data to be oversampled from training data of the target class, the Extracting nearest learning data for each of the training data of the target class; And
Dividing, by the generating device, the learning data of the target class into the isolation learning data and the normal learning data, based on the nearest learning data for each of the learning data of the target class
Containing, a method of generating training data.
제2항에 있어서,
상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하는 단계는
상기 생성 장치가, 상기 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 상기 타겟 클래스의 학습 데이터들과 상기 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 2,
Extracting the nearest learning data for each of the training data of the target class is
Extracting, by the generating device, closest learning data corresponding to a ratio between learning data of the target class and additional learning data to be oversampled based on a distance between each of the training data of the target class
Containing, a method of generating training data.
제2항에 있어서,
상기 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터와 상기 노말 학습 데이터로 구분하는 단계는
상기 생성 장치가, 상기 최근접 학습 데이터들 전부가 상기 타겟 클래스의 학습 데이터와 이종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 격리 학습 데이터로 구분하는 단계; 및
상기 생성 장치가, 상기 최근접 학습 데이터들 중 적어도 하나가 상기 타겟 클래스의 학습 데이터와 동종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 노말 학습 데이터로 구분하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 2,
Based on the nearest learning data, the step of dividing the learning data of the target class into the isolation learning data and the normal learning data
When all of the nearest learning data are learning data of the target class and learning data of the target class, dividing learning data of a target class corresponding to the nearest learning data into the isolation learning data ; And
When at least one of the nearest learning data is learning data of the same kind as the learning data of the target class, the generating device divides learning data of a target class corresponding to the nearest learning data into the normal learning data. Steps to do
Containing, a method of generating training data.
삭제delete 삭제delete 제1항에 있어서,
상기 추가 학습 데이터들을 추출하는 단계는
상기 생성 장치가, 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수에 기초하여, 타겟 클래스의 학습 데이터들로부터 제3 개수의 추가 학습 데이터들을 추출하는 단계; 및
상기 생성 장치가, 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 학습 데이터들로부터 제4 개수의 추가 학습 데이터들을 추출하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 1,
Extracting the additional learning data
Extracting, by the generating device, a third number of additional training data from training data of a target class based on a first number of additional training data to be oversampled from the isolated training data; And
Extracting, by the generating device, a fourth number of additional training data from the training data based on a second number of additional training data to be oversampled from the normal training data
Containing, a method of generating training data.
제7항에 있어서,
상기 추가 학습 데이터들을 생성하는 단계는
상기 생성 장치가, 상기 격리 학습 데이터와 상기 제3개수의 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 제4 개수의 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계; 및
상기 생성 장치가, 상기 제1 거리, 상기 제2 거리, 및 상기 격리 학습 데이터 및 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 7,
The step of generating the additional learning data
The generating device, based on each of a first distance between the isolation learning data and the third number of additional learning data and a second distance between the normal learning data and the fourth number of additional learning data, the isolation learning Calculating the number of samplings per unit distance of the data and the normal learning data; And
The generating device, based on the first distance, the second distance, and the number of samples per unit distance of each of the isolation learning data and the normal learning data, additional learning corresponding to each of the isolation learning data and the normal learning data Steps to generate data
Containing, a method of generating training data.
제8항에 있어서,
상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계는
상기 생성 장치가, 상기 격리 학습 데이터와 상기 제3 개수의 추가 학습 데이터들 간의 제1 거리를 산출하는 단계; 및
상기 생성 장치가, 상기 제1 거리를 기초로, 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수를 산출하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 8,
Calculating the number of samplings per unit distance of each of the isolated learning data and the normal learning data
Calculating, by the generating device, a first distance between the isolation learning data and the third number of additional learning data; And
Calculating, by the generating device, a sampling number per unit distance of the isolated learning data based on the first distance
Containing, a method of generating training data.
제8항에 있어서,
상기 추가 학습 데이터들을 생성하는 단계는
상기 생성 장치가, 상기 제1 거리에 반비례하여 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 8,
The step of generating the additional learning data
Oversampling, by the generating device, additional learning data corresponding to the isolated learning data in inverse proportion to the first distance
Containing, a method of generating training data.
제10항에 있어서,
상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계는
상기 생성 장치가, 상기 제1 거리가 상기 격리 학습 데이터의 단위 거리보다 먼 경우, 상기 격리 학습 데이터로부터 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링하는 단계; 및
상기 생성 장치가, 상기 제1 거리가 상기 격리 학습 데이터의 단위 거리보다 같거나 가까운 경우, 상기 격리 학습 데이터로부터 상기 격리 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 10,
Oversampling additional learning data corresponding to the isolated learning data
When the first distance is greater than a unit distance of the isolated learning data, oversampling, by the generating device, a number of additional training data less than the number of samples per unit distance of the isolated learning data from the isolated learning data; And
When the first distance is equal to or close to the unit distance of the isolation learning data, the generating device oversampling a number of additional learning data greater than the number of samples per unit distance of the isolation learning data from the isolation learning data
Containing, a method of generating training data.
제1항에 있어서,
상기 추가 학습 데이터들을 생성하는 단계는
상기 생성 장치가, 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들과 이종의 학습 데이터들 간의 중첩 여부를 판단하는 단계; 및
상기 생성 장치가, 상기 중첩 여부에 대한 판단 결과를 기초로, 상기 격리 학습 데이터에 대응하는 추가 학습 데이터들을 제거하는 단계
를 더 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 1,
The step of generating the additional learning data
Determining, by the generating device, whether additional learning data corresponding to the isolated learning data and heterogeneous learning data overlap; And
Removing, by the generating device, additional learning data corresponding to the isolation learning data based on a result of the determination as to whether or not to overlap
Further comprising, a method of generating training data.
제8항에 있어서,
상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각의 단위 거리 당 샘플링 개수를 산출하는 단계는
상기 생성 장치가, 상기 노말 학습 데이터와 상기 제4개수의 추가 학습 데이터들 간의 제2 거리를 산출하는 단계; 및
상기 생성 장치가, 상기 제2 거리를 기초로, 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수를 산출하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 8,
Calculating the number of samplings per unit distance of each of the isolated learning data and the normal learning data
Calculating, by the generating device, a second distance between the normal learning data and the fourth number of additional learning data; And
Calculating, by the generating device, the number of samplings per unit distance of the normal learning data based on the second distance
Containing, a method of generating training data.
제13항에 있어서,
상기 추가 학습 데이터들을 생성하는 단계는
상기 생성 장치가, 상기 제2거리에 비례하여 상기 노말 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 13,
The step of generating the additional learning data
Oversampling, by the generating device, additional learning data corresponding to the normal learning data in proportion to the second distance
Containing, a method of generating training data.
제14항에 있어서,
상기 노말 학습 데이터에 대응하는 추가 학습 데이터들을 오버샘플링하는 단계는
상기 생성 장치가, 상기 제2 거리가 상기 노말 학습 데이터의 단위 거리보다 먼 경우, 상기 노말 학습 데이터로부터 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 많은 개수의 추가 학습 데이터들을 오버샘플링하는 단계; 및
상기 생성 장치가, 상기 제2거리가 상기 노말 학습 데이터의 단위 거리보다 같거나 가까운 경우, 상기 노말 학습 데이터로부터 상기 노말 학습 데이터의 단위 거리 당 샘플링 개수보다 적은 개수의 추가 학습 데이터들을 오버샘플링하는 단계
를 포함하는, 학습 데이터를 생성하는 방법.
The method of claim 14,
The step of oversampling additional training data corresponding to the normal training data
If the second distance is greater than a unit distance of the normal training data, the generating device oversampling a number of additional training data greater than the number of samples per unit distance of the normal training data from the normal training data; And
If the second distance is equal to or close to the unit distance of the normal learning data, the generating device oversampling a number of additional learning data less than the number of samples per unit distance of the normal learning data from the normal learning data
Containing, a method of generating training data.
하드웨어와 결합되어 제1항 내지 제4항, 제7항 내지 제15항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.A computer program stored in a medium for executing the method of any one of claims 1 to 4 and 7 to 15 in combination with hardware. 학습 데이터들의 분포 특성을 기초로, 오버샘플링할 학습 데이터들을 격리 학습 데이터와 노말 학습 데이터로 구분하고,
상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각으로부터 오버샘플링할 추가 학습 데이터들의 개수를 결정하며,
상기 오버샘플링할 학습 데이터들 각각의 개수에 기초하여, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는
프로세서
를 포함하며,
상기 프로세서는,
상기 격리 학습 데이터와 상기 노말 학습 데이터 간의 비율에 따라 결정된 상기 격리 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제1 개수 및 상기 노말 학습 데이터로부터 오버샘플링할 추가 학습 데이터들의 제2 개수에 기초하여, 상기 추가 학습 데이터들을 추출하고,
상기 격리 학습 데이터와 상기 격리 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제1 거리 및 상기 노말 학습 데이터와 상기 노말 학습 데이터로부터 추출한 추가 학습 데이터들 간의 제2 거리 각각을 기초로, 상기 격리 학습 데이터 및 상기 노말 학습 데이터 각각에 대응하는 추가 학습 데이터들을 생성하는, 학습 데이터를 생성하는 장치.
Based on the distribution characteristics of the training data, the training data to be oversampled are divided into isolated training data and normal training data,
Determine the number of additional learning data to be oversampled from each of the isolation learning data and the normal learning data according to a ratio between the isolation learning data and the normal learning data,
Generating additional learning data corresponding to each of the isolation learning data and the normal learning data based on the number of each of the learning data to be oversampled
Processor
Including,
The processor,
Based on a first number of additional learning data to be oversampled from the isolated learning data determined according to a ratio between the isolated learning data and the normal learning data and a second number of additional learning data to be oversampled from the normal learning data, the Extract additional learning data,
Based on a first distance between the isolation learning data and additional learning data extracted from the isolation learning data, and a second distance between the normal learning data and additional learning data extracted from the normal learning data, the isolation learning data and the An apparatus for generating training data that generates additional training data corresponding to each of the normal training data.
제17항에 있어서,
상기 프로세서는
서로 다른 클래스들을 위한 상기 학습 데이터들 중 오버샘플링할 타겟 클래스의 학습 데이터들과 상기 타겟 클래스의 학습 데이터들로부터 오버샘플링할 추가 학습 데이터들 간의 비율을 기초로, 상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 추출하고,
상기 타겟 클래스의 학습 데이터들마다에 대한 최근접 학습 데이터들을 기초로, 상기 타겟 클래스의 학습 데이터들을 상기 격리 학습 데이터와 상기 노말 학습 데이터로 구분하는, 학습 데이터를 생성하는 장치.
The method of claim 17,
The processor is
Based on the ratio between the training data of the target class to be oversampled among the training data for different classes and the additional training data to be oversampled from the training data of the target class, each of the training data of the target class Extract the nearest learning data for
The apparatus for generating learning data, dividing the learning data of the target class into the isolation learning data and the normal learning data based on nearest learning data for each of the learning data of the target class.
제18항에 있어서,
상기 프로세서는
상기 타겟 클래스의 학습 데이터들 각각과의 거리를 기초로, 상기 타겟 클래스의 학습 데이터들과 상기 오버샘플링할 추가 학습 데이터들 간의 비율에 해당하는 최근접 학습 데이터들을 추출하는, 학습 데이터를 생성하는 장치.
The method of claim 18,
The processor is
An apparatus for generating learning data, which extracts nearest learning data corresponding to a ratio between the learning data of the target class and the additional learning data to be oversampled, based on the distance between each of the training data of the target class .
제19항에 있어서,
상기 프로세서는
상기 최근접 학습 데이터들 전부가 상기 타겟 클래스의 학습 데이터와 이종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 격리 학습 데이터로 구분하고,
상기 최근접 학습 데이터들 중 적어도 하나가 상기 타겟 클래스의 학습 데이터와 동종의 학습 데이터인 경우, 상기 최근접 학습 데이터들에 대응하는 타겟 클래스의 학습 데이터를 상기 노말 학습 데이터로 구분하는, 학습 데이터를 생성하는 장치.
The method of claim 19,
The processor is
When all of the nearest learning data are learning data of the target class and learning data of a different type, the learning data of a target class corresponding to the nearest learning data is divided into the isolation learning data,
When at least one of the nearest learning data is training data of the same kind as the training data of the target class, training data for dividing training data of a target class corresponding to the nearest training data into the normal training data Generating device.
KR1020170171587A 2017-12-13 2017-12-13 Method and apparatus of generating training data based on distribution characteristics of training data KR102249818B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170171587A KR102249818B1 (en) 2017-12-13 2017-12-13 Method and apparatus of generating training data based on distribution characteristics of training data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170171587A KR102249818B1 (en) 2017-12-13 2017-12-13 Method and apparatus of generating training data based on distribution characteristics of training data

Publications (2)

Publication Number Publication Date
KR20190078693A KR20190078693A (en) 2019-07-05
KR102249818B1 true KR102249818B1 (en) 2021-05-10

Family

ID=67225348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171587A KR102249818B1 (en) 2017-12-13 2017-12-13 Method and apparatus of generating training data based on distribution characteristics of training data

Country Status (1)

Country Link
KR (1) KR102249818B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458324B1 (en) * 2019-11-29 2022-10-25 이화여자대학교 산학협력단 Data processing method using a learning model
WO2021107661A2 (en) * 2019-11-29 2021-06-03 이화여자대학교 산학협력단 Data processing method using learning model
KR102315622B1 (en) * 2019-12-27 2021-10-21 재단법인대구경북과학기술원 Method and apparatus for determining training data for updating algorithm
KR102229381B1 (en) 2020-10-26 2021-03-18 주식회사 웨이센 Method for adding training data using the prediction results of AI(Artificial Intelligence) prediction model
KR102249635B1 (en) 2020-11-06 2021-05-10 주식회사 웨이센 Method for adding training data using two prediction results of AI(Artificial Intelligence) prediction model

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563406B1 (en) * 2013-12-13 2015-10-26 건국대학교 산학협력단 System and method for large unbalanced data classification based on hadoop

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Haibo He et al., ADASYN: Adaptive Synthetic Sampling Approach for Imbalanced Learning, 2008 IEEE International Joint Conference on Neural Networks, 2008.06.01.*
Hui Han et al., Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning, Lecture Notes in Computer Science, Vol. 3644, 2005, pp 878-887.*

Also Published As

Publication number Publication date
KR20190078693A (en) 2019-07-05

Similar Documents

Publication Publication Date Title
KR102249818B1 (en) Method and apparatus of generating training data based on distribution characteristics of training data
KR102589638B1 (en) Apparatus and method for generating a sentence
US10714058B2 (en) Decision-based data compression by means of deep learning technologies
US10521587B1 (en) Detecting code obfuscation using recurrent neural networks
KR102221492B1 (en) System and method for automatically verifying security events based on text mining
CN109743311B (en) WebShell detection method, device and storage medium
CN111414987A (en) Training method and training device for neural network and electronic equipment
US11455523B2 (en) Risk evaluation method, computer-readable recording medium, and information processing apparatus
KR102410825B1 (en) Method and apparatus for determining domain of sentence
EP3051767A1 (en) Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation
US9570069B2 (en) Sectioned memory networks for online word-spotting in continuous speech
US20220230648A1 (en) Method, system, and non-transitory computer readable record medium for speaker diarization combined with speaker identification
US11822424B2 (en) Service request remediation with machine learning based identification of critical areas of log segments
CN111062036A (en) Malicious software identification model construction method, malicious software identification medium and malicious software identification equipment
KR20190107984A (en) An image traning apparatus extracting hard negative samples being used to training a neural network based on sampling and a threshold adjusting adaptively and a method performed by the image training apparatus
US11544568B2 (en) Method for optimizing a data model and device using the same
KR102210404B1 (en) Location information extraction device and method
US11645539B2 (en) Machine learning-based techniques for representing computing processes as vectors
KR102209505B1 (en) Artificial inteligence learning methods and apparatus using analysis of data frequency value
KR101928208B1 (en) Method, apparatus and system for debugging a neural network
KR20190081408A (en) System and method for detecting network intrusion, computer readable medium for performing the method
KR102520240B1 (en) Apparatus and method for data augmentation using non-negative matrix factorization
KR102413050B1 (en) Method and apparatus for summarizing document
US10769334B2 (en) Intelligent fail recognition
KR102013439B1 (en) Method and apparatus of extracting feature based on contribution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant