[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2023113400A1 - Apparatus for processing embedding-based dataset, and method therefor - Google Patents

Apparatus for processing embedding-based dataset, and method therefor Download PDF

Info

Publication number
WO2023113400A1
WO2023113400A1 PCT/KR2022/020118 KR2022020118W WO2023113400A1 WO 2023113400 A1 WO2023113400 A1 WO 2023113400A1 KR 2022020118 W KR2022020118 W KR 2022020118W WO 2023113400 A1 WO2023113400 A1 WO 2023113400A1
Authority
WO
WIPO (PCT)
Prior art keywords
embedding
data set
data
search
vector space
Prior art date
Application number
PCT/KR2022/020118
Other languages
French (fr)
Korean (ko)
Inventor
박종빈
정종진
김경원
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Publication of WO2023113400A1 publication Critical patent/WO2023113400A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • Model learning is the process of determining the values of parameters such as weights and biases that describe the neural network. Thousands to tens of thousands or more training data are required to train the parameters. Depending on the artificial neural network model, when learning is performed with insufficient data, over-fitting may result in that the model trained on only a small amount of given data responds normally and does not handle the remaining input data well. In order to solve this problem, a large number of learning data is required, and in many cases, there is a problem that requires a lot of time, resources, and money to secure the data.
  • the first data set-based search range determination unit determines a boundary by considering the positions of elements of the first data set, and the second data set search and output unit performs a search based on the boundary and determines a subset of the second data set. outputs
  • 3 and 4 illustrate data embedding according to an embodiment of the present invention.
  • FIG. 10 illustrates a method of processing an embedding-based data set according to an embodiment of the present invention.
  • Input data can be in various forms such as image, text, and audio.
  • Media types between elements in the first data set, media types between elements in the second data set, and media types between elements in the first data set and the second data set are preferably the same. For example, it is easy to compare each other only when data sets are made in the form of text for text, image for image, and audio for audio.
  • a search range is set by setting a predetermined range with a plurality of elements in an embedded vector space and a new data set is formed.
  • [Table 1] shows vectors obtained by embedding arbitrary elements of the first data set Q and the second data set S in K different vector spaces.
  • E 2 (s M ) Embedding part 3
  • E 3 (Q) ⁇ E 3 (q 1 ), E 3 (q 2 ), ... , E 3 (q N )
  • E 3 (S) ⁇ E 3 (s 1 ), E 3 (s 2 ), ... , E 3 (s M ) ... ... ... Embedding part K
  • E K (Q) ⁇ E K (q 1 ), E K (q 2 ), ... , E K (q N )
  • E K (S) ⁇ E K (s 1 ), E K (s 2 ), ... , E K (s M )
  • Another embedding method is to pass the input data through an artificial neural network capable of obtaining high-level semantic information, and then use layer information including semantic information in the artificial neural network as a vector space in which information is enriched. is to use the method
  • ⁇ E 1 (q 1 ), E 1 (q 2 ) ⁇ and ⁇ E 2 (q 1 ), E 2 ( q 2 ) ⁇ is output and mapped to the location of each embedding vector space.
  • a boundary is determined in consideration of the positions of elements of the first data set, and an area related to the critical range is determined as a predetermined search range along the determined boundary.
  • the reason for supporting such diverse possibilities is to combine and organize machine learning data in various ways.
  • FIG. 7 illustrates a method for determining a search range by linear combination (when the first data set has four elements) according to an embodiment of the present invention.
  • FIG. 8 illustrates an example of applying a plurality of distance parameters ⁇ in determining a search range by linear combination according to an embodiment of the present invention.
  • the distance parameter ⁇ a is farther than the distance parameter ⁇ a centered on the vector T in the embedding vector space, and the distance If it is necessary to select a region shorter than the parameter ⁇ b , the range can be selected in the same way as in [Equation 5], the number of parameters ⁇ representing the distance is increased, and the combination method is modified to select a much more diverse region. It is possible.
  • the method for checking whether it fits within the predetermined search range is the distance between the determined center point and the embedded vector. It can be easily inspected by measuring it.
  • the embedding vector space reduction unit 102 independently and parallelly performs reduction processing for each of the K embedding units.
  • the set of vectors embedded in the ith embedding unit E i (Q) ⁇ E i (q 1 ), E i (q 2 ), . . . , E i (q N ) ⁇
  • the embedding-based data set processing method according to an embodiment of the present invention may be implemented in a computer-executable method.
  • computer readable instructions may perform the embedding-based data set processing method according to the present invention.
  • step S1005 a subset of output candidates is acquired and output is performed according to a preset method.
  • an embodiment of the present invention may be implemented as a computer-implemented method or as a non-transitory computer-readable medium in which computer-executable instructions are stored.
  • the computer readable instructions when executed by a processor, may perform a method according to at least one aspect of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

The present invention relates to a data processing apparatus and a method therefor, the apparatus being usable in the artificial intelligence technology development and machine learning field, and, more specifically, to an apparatus for processing an embedding-based dataset, and a method therefor. The apparatus for processing an embedding-based dataset, according to the present invention, comprises: a multi-vector space embedding unit for expressing input data in a vector space; a first dataset-based search range determination unit for determining a search range by using an embedding result of the multi-vector space embedding unit; and a second dataset search and output unit for constructing a new dataset by extracting subset data from a second dataset, which is a data search space.

Description

임베딩 기반 데이터 집합의 처리 장치 및 그 방법Apparatus and method for processing embedding-based data set
본 발명은 인공지능 기술 개발 및 기계학습 분야에 활용할 수 있는 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 상세하게는 임베딩 기반 데이터 집합의 처리 장치 및 그 방법에 관한 것이다. The present invention relates to a data processing device and method that can be used in the field of artificial intelligence technology development and machine learning, and more particularly, to a processing device and method for embedding-based data sets.
딥러닝과 같은 기계학습분야에서는 인공적으로 신경망 모델을 구성하고 이를 학습하기 위해 대량의 학습데이터를 요구한다. 모델의 학습이란 신경망을 기술하는 가중치(weight)나 바이어스(bias)와 같은 매개변수(parameter)의 값을 결정하는 과정이다. 매개변수를 훈련하려면 수천에서 수만 개, 또는 그 이상의 학습데이터가 필요하다. 인공신경망 모델에 따라서는 부족한 데이터로 학습을 수행할 경우 주어진 소량의 데이터에만 학습된 모델이 정상 반응하고 나머지 입력데이터를 잘 처리하지 못하는 과적합(over-fitting) 결과를 초래할 수 있다. 이를 해결하려면 다수의 학습데이터가 필요한데, 많은 경우 데이터 확보를 위해 시간, 자원, 금전 비용이 많이 필요한 문제점이 있다. In the field of machine learning such as deep learning, a large amount of training data is required to artificially construct a neural network model and learn it. Model learning is the process of determining the values of parameters such as weights and biases that describe the neural network. Thousands to tens of thousands or more training data are required to train the parameters. Depending on the artificial neural network model, when learning is performed with insufficient data, over-fitting may result in that the model trained on only a small amount of given data responds normally and does not handle the remaining input data well. In order to solve this problem, a large number of learning data is required, and in many cases, there is a problem that requires a lot of time, resources, and money to secure the data.
종래 기술에 따른 데이터 증강(Data Augmentation)은 학습 시 필요한 데이터 부족 문제를 해소하기 위해서 제안된 것으로, 주어진 데이터를 변형하여 학습데이터의 양을 늘린다. 일례로 영상에 대해서는 주어진 데이터에 대해서 밝기 변환, 기하학적 왜곡, 첨예도 처리, 색상처리와 같은 변형 작업을 수행하여 다양성을 높인다. 소수의 변환 기술들을 사용하더라도 매개변수를 조절하고, 변환 방법을 서로 조합하고, 최종 변환된 출력을 다시 변환기에 입력하는 과정을 반복 수행함으로써, 천문학적인 개수의 데이터 집합을 만들어 낼 수도 있다는 장점이 있다. 그런데, 증식한 일부 데이터는 학습에 사용 시 오히려 학습한 모델의 성능이 감소할 수도 있고, 지나치게 많은 데이터로 인해 학습에 필요한 연산시간과 자원이 지나치게 커질 수도 있다.Data augmentation according to the prior art is proposed to solve the problem of lack of data necessary for learning, and increases the amount of learning data by transforming given data. For example, for images, transformation operations such as brightness conversion, geometric distortion, sharpness processing, and color processing are performed on given data to increase diversity. Even if a small number of conversion technologies are used, it is possible to create an astronomical number of data sets by repeating the process of adjusting parameters, combining conversion methods, and inputting the final converted output to the converter again. . However, when some of the proliferated data is used for learning, the performance of the learned model may decrease, and the computation time and resources required for learning may increase excessively due to too much data.
종래 기술에 따르면, 기계학습에 의한 분류기를 학습(training)시키거나 시험(test)하기 위해서 난이도 제어가 용이하지 않다는 문제점이 있다. 일례로 특성이 명확한 학습데이터(training data)만을 사용하여 학습한다면 쉽게 학습이 될 수 있다. 특성이 명확하고 구분이 쉬운 시험데이터(test data)만을 사용한다면 성능이 높게 나타날 수 있는데, 이는 일종의 과적합(over fitting) 문제의 일종이다. 이를 해결하려면 사람도 구분하기 어려울 정도의 어려운 난이도의 데이터를 학습데이터나 시험데이터에 주입하는 것이 실제적인 성능향상에 도움이 될 수 있다. 이를 비유적으로 표현한다면 학습 역량이 뛰어난 학생이 쉬운 문제만 풀고 있어서 학습에 진전이 없거나, 기초 실력이 없는 학생이 너무 어려운 문제만을 해결하려다 보니 어려운 문제는 외워서 해결할 수 있지만, 기초가 되는 쉬운 문제를 해결하지 못하는 상황과 유사하다. 종래에는 데이터를 선별하고 전처리하는 작업을 사용자가 미리 처리했다는 가정을 했는데, 학습데이터의 난이도까지 고려하여 수작업으로 데이터를 확보하는 과정이 용이하지 않은 문제점이 있다. According to the prior art, there is a problem in that difficulty control is not easy to train or test a classifier by machine learning. For example, learning can be easily performed by using only training data with clear characteristics. If only test data with clear characteristics and easy to distinguish are used, performance can be high, which is a kind of overfitting problem. To solve this problem, injecting difficult data that is difficult for humans to distinguish into training data or test data can help improve performance. To express this metaphorically, a student with excellent learning ability does not make progress in learning because he is only solving easy problems, or a student who does not have basic skills is trying to solve too difficult problems. It's like a situation that can't be solved. Conventionally, it was assumed that the user preprocessed the work of selecting and preprocessing the data, but there is a problem in that it is not easy to manually secure the data considering the difficulty of the learning data.
기계학습과 같은 데이터를 다루는 과정에서는 학습데이터, 검증데이터, 시험데이터를 구성함에 있어서 양을 늘이는 것 못지 않게, 다양한 특징을 갖거나, 원하는 특징을 갖는 데이터 집합을 필요로 할 경우가 많다. 일례로 얼굴을 보고 인물의 신분(ID, identification)을 특정하는 분류기를 학습시킬 때 특정한 성별, 연령, 인종과 같은 통제된 조건의 데이터가 필요한 경우가 있다. 종래에는 이를 처리하기 위해서 사람이 사전에 분류하여 데이터를 마련하는 노력이 필요했으며, 분류를 위한 시간과 비용이 많이 소요되고, 이미 분류된 데이터라고 할지라도 더 세부적인 구분은 되어 있지 않은 한계가 있다. 예컨대, 30대의 얼굴이라고는 분류되었어도, 31세인지, 39세인지는 상세한 구분이 불가능한 한계가 있다. 또 다른 예로써, 도로운행 중 나타나는 도로표지판 객체를 인식하는 신경망 모델을 만든다고 할 때 "비가 올 때 촬영된 도로표지판"이 학습을 위해 많이 추가되어야 한다고 가정하면, 종래에는 기 확보된 데이터 집합에서 "비가 올 때 촬영된 도로표지판"을 찾기 위한 효과적이고 적절한 방법이 마련되어 있지 않았다.In the process of handling data such as machine learning, in many cases, a data set having various characteristics or desired characteristics is required as much as increasing the amount in configuring training data, verification data, and test data. For example, when training a classifier that identifies a person's ID (identification) by looking at a face, there is a case in which controlled condition data such as specific gender, age, and race are required. Conventionally, in order to process this, it was necessary for a person to classify in advance and prepare data, and it takes a lot of time and money for classification, and even if it is already classified data, there is a limit in that more detailed classification is not made. . For example, even if the face is classified as a 30-year-old face, there is a limit in that it is impossible to distinguish in detail whether the face is 31 years old or 39 years old. As another example, assuming that a lot of "road signs photographed in the rain" should be added for learning when creating a neural network model that recognizes road sign objects appearing while driving, conventionally, in a previously obtained data set, " There was no effective and appropriate method in place to find "road signs photographed in the rain."
기계학습이나 인공지능 분야에서 분류기(classifier)나 GAN과 같은 생성모델(generative model)을 학습시키는데 있어서 단순히 학습데이터 규모를 키워서 주입시키는 것만이 능사는 아니다. 서로 구분이 모호한 데이터를 학습 과정에 주입시킴으로써 기계학습의 성능을 개선시킬 수 있는데, 일례로 "사과"와 "딸기" 사진을 주고 이를 분류하는 기계학습 기반의 분류기를 가정하면, 종래에는 이런 분류기를 만들기 위해 다수의 "사과"와 "딸기" 사진을 학습에 사용하는 것이 합리적인 선택이라고 여겨져 왔으나, "사과"나 "딸기"를 구분하기 용이한 데이터만을 학습 과정에 주입했다면 구분이 모호한 데이터에 대해서는 올바른 결정을 하기 어려운 문제점이 있다. 이를 결정경계 (decision boundary) 데이터라고 칭한다면, 이를 명시적으로 고려하여 학습을 수행하지 않는 것이 통상적이었다.In the field of machine learning or artificial intelligence, in learning a classifier or a generative model such as a GAN, simply increasing the size of training data and injecting it is not a skill. The performance of machine learning can be improved by injecting ambiguous data into the learning process. As an example, assuming a machine learning-based classifier that classifies them by giving pictures of "apple" and "strawberry", conventionally, such a classifier It has been considered a reasonable choice to use a large number of "apple" and "strawberry" pictures for learning, but if only data that is easy to distinguish "apple" or "strawberry" is injected into the learning process, it is correct for ambiguous data. There are problems that make it difficult to decide. If this is called decision boundary data, it is common to not perform learning by explicitly considering it.
본 발명은 전술한 문제점을 해결하기 위해 제안된 것으로, 학습데이터의 다양성을 향상시키고, 학습의 난이도를 조절하는 등 인공지능 및 기계학습 기술의 개발을 위한 실제적인 데이터 처리 기술을 제안함으로써, 인공신경망과 같은 기계학습을 위한 학습 데이터의 품질을 개선하는 것이 가능한 임베딩 기반 데이터 집합의 처리 장치 및 방법을 제공하는데 그 목적이 있다. The present invention is proposed to solve the above-mentioned problems, and proposes a practical data processing technology for the development of artificial intelligence and machine learning technology, such as improving the diversity of learning data and adjusting the difficulty of learning, by artificial neural networks. An object of the present invention is to provide an embedding-based data set processing apparatus and method capable of improving the quality of learning data for machine learning.
본 발명은 인공지능 기술 개발 및 기계학습 분야에 활용할 수 있는 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 상세하게는 임베딩 기반 데이터 집합의 처리 장치 및 그 방법에 관한 것이다. The present invention relates to a data processing device and method that can be used in the field of artificial intelligence technology development and machine learning, and more particularly, to a processing device and method for embedding-based data sets.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 장치는 입력된 데이터를 벡터 공간에 표현하는 다중 벡터공간 임베딩부와, 다중 벡터공간 임베딩부의 임베딩 결과를 이용하여, 탐색 범위를 결정하는 제1 데이터 집합 기반 탐색 범위 결정부 및 데이터 탐색 공간인 제2 데이터 집합에서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 제2 데이터 집합 탐색 및 출력부를 포함한다. An apparatus for processing an embedding-based data set according to the present invention includes a multi-vector space embedding unit representing input data in a vector space and a first data set-based search for determining a search range by using the embedding result of the multi-vector space embedding unit. and a range determination unit and a second data set search and output unit configured to construct a new data set by extracting subset data from the second data set, which is a data search space.
상기 다중 벡터공간 임베딩부는 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다. The multi-vector space embedding unit passes elements of the input data through the plurality of embedding units and embeds them into respective vector spaces.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 결정된 위치로부터 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다. The first data set-based search range determination unit determines a reference position or boundary for search, and determines a search range using a preset search distance parameter from the determined position.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 제2 데이터 집합에서 탐색을 수행하여 상기 제2 데이터 집합의 부분집합을 출력한다. The first data set-based search range determination unit sets positions of elements of the first data set as reference positions, and the second data set search and output unit performs a search in the second data set to obtain a subset of the second data set. outputs
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 탐색 범위에 대한 탐색을 수행하여 제2 데이터 집합의 부분집합을 출력한다. The first data set-based search range determining unit determines the linearly combined positions of the elements of the first data set as a reference location, and the second data set search and output unit performs a search on the search range to determine a portion of the second data set. output a set
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 상기 제2 데이터 집합 탐색 및 출력부는 경계부에 기초하여 탐색을 수행하고 제2 데이터 집합의 부분집합을 출력한다. The first data set-based search range determination unit determines a boundary by considering the positions of elements of the first data set, and the second data set search and output unit performs a search based on the boundary and determines a subset of the second data set. outputs
상기 제2 데이터 집합 탐색 및 출력부는 출력후보 부분집합을 획득하고 무작위로 선택하여 출력하거나, 전부를 출력하거나, 특정 임베딩부의 처리 결과를 출력한다. The second data set search and output unit obtains a subset of output candidates and randomly selects and outputs them, outputs all of them, or outputs a processing result of a specific embedding unit.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 장치는 상기 임베딩 결과에 대한 차원 축소를 수행하는 임베딩 벡터공간 축소부를 더 포함한다. The embedding-based data set processing apparatus according to the present invention further includes an embedding vector space reduction unit that performs dimensionality reduction on the embedding result.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 (a) 데이터 집합을 수신하는 단계와. (b) 다중 벡터공간 임베딩을 수행하는 단계와, (c) 제1 데이터 집합 기반 탐색 범위를 결정하는 단계 및 (d) 제2 데이터 집합 탐색 및 출력을 수행하는 단계를 포함한다. A method for processing an embedding-based data set according to the present invention includes the steps of (a) receiving a data set. (b) performing multi-vector space embedding; (c) determining a search range based on a first data set; and (d) performing a search and output of a second data set.
상기 (b) 단계는 데이터 집합을 벡터 공간에 표현하되, 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다. In the step (b), the data set is expressed in a vector space, and elements of the input data are passed through a plurality of embedding units to be embedded in each vector space.
상기 (c) 단계는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다. In the step (c), a reference position or boundary for search is determined, and a search range is determined using a preset search distance parameter.
상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 참조 위치로 결정한다. In step (c), positions of elements of the first data set are determined as reference positions.
상기 (c) 단계는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 결정한다. In step (c), linearly combined positions of elements of the first data set are determined as reference positions.
상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정한다. In step (c), the boundary is determined by considering the positions of elements of the first data set.
상기 (d) 단계는 출력후보 부분집합을 획득하고, 기설정 방식에 따라 출력을 수행한다. In the step (d), a subset of output candidates is acquired and output is performed according to a preset method.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 상기 (b) 단계 이후 및 상기 (c) 단계 이전에, 임베딩 결과에 대한 차원 축소를 수행하는 단계를 더 포함한다. The embedding-based data set processing method according to the present invention further includes performing dimensionality reduction on the embedding result after step (b) and before step (c).
본 발명에 따르면, 기계학습을 위한 데이터 확보가 용이한 장점이 있다. According to the present invention, there is an advantage in that it is easy to secure data for machine learning.
본 발명에 따르면, 데이터의 다양성을 높일 수 있고, 원하는 데이터 분포를 만들 수 있고, 소정의 특징을 갖는 데이터 집합을 구성할 수 있고, 결정경계에 있는 데이터를 선별하여 데이터 집합을 구성할 수 있고, 이상치(Anomaly, Outlier) 데이터를 제거하거나 오히려 포함시키는 것과 같은 다양한 학습데이터 처리가 가능한 장점이 있다. According to the present invention, the diversity of data can be increased, a desired data distribution can be created, a data set having predetermined characteristics can be constructed, data at a decision boundary can be selected to form a data set, It has the advantage of being able to process various learning data such as removing or including outlier data.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다. 1 illustrates an embedding-based data set processing apparatus according to an embodiment of the present invention.
도 2는 본 발명에 따른 활용 실시예를 도시한다. Figure 2 shows a utilization embodiment according to the present invention.
도 3 및 도 4는 본 발명의 실시예에 따른 데이터 임베딩을 도시한다. 3 and 4 illustrate data embedding according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 2개인 경우)을 도시한다. 5 illustrates a method for determining a search range by linear combination (when the first data set has two elements) according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 3개인 경우)을 도시한다. 6 shows a method for determining a search range by linear combination (when the first data set has three elements) according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 4개인 경우)을 도시한다. 7 illustrates a method for determining a search range by linear combination (when the first data set has four elements) according to an embodiment of the present invention.
도 8은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정에 있어서 복수개의 거리 매개변수 ε을 적용하는 예를 도시한다. 8 illustrates an example of applying a plurality of distance parameters ε in determining a search range by linear combination according to an embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다. 9 illustrates an embedding-based data set processing apparatus according to another embodiment of the present invention.
도 10은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법을 도시한다. 10 illustrates a method of processing an embedding-based data set according to an embodiment of the present invention.
도 11은 본 발명의 실시예에 따른 방법을 구현하기 위한 컴퓨터 시스템을 나타낸 블록도이다.11 is a block diagram illustrating a computer system for implementing a method according to an embodiment of the present invention.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. The foregoing and other objects, advantages and characteristics of the present invention, and a method of achieving them will become clear with reference to the detailed embodiments described below in conjunction with the accompanying drawings.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms, and only the following embodiments provide the purpose of the invention, As only provided to easily inform the configuration and effect, the scope of the present invention is defined by the description of the claims.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.Meanwhile, terms used in this specification are for describing the embodiments and are not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, “comprises” and/or “comprising” means the presence of one or more other components, steps, operations, and/or elements in which a stated component, step, operation, and/or element is present. or added.
종래 기술에 따른 데이터 증강은 주어진 데이터를 변형, 가공하여 새로운 데이터를 만드는 방식인 반면, 본 발명의 실시예에 따르면 "제1 데이터 집합"으로 부르는 일종의 "씨앗", "가이드", "쿼리"로 간주할 수 있는 데이터 집합을 통해 데이터의 탐색 범위를 결정하여 "제2 데이터 집합"으로 부르는 일종의 데이터 탐색 공간에 대해서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 기술적 특징이 있다. Data augmentation according to the prior art is a method of transforming and processing given data to create new data, whereas according to an embodiment of the present invention, a kind of "seed", "guide", and "query" called "first data set" There is a technical feature of constructing a new data set by extracting subset data for a kind of data search space called a "second data set" by determining a data search range through a data set that can be considered.
본 발명의 실시예에 따르면, 이미지, 텍스트, 오디오와 같은 미디어 타입에 대해서 임베딩 기법을 적용하여 데이터 상호간 유사성 및 차이점을 계산한다. According to an embodiment of the present invention, similarities and differences between data are calculated by applying an embedding technique to media types such as image, text, and audio.
본 발명의 실시예에 따르면, "제1 데이터 집합"에 대해서 탐색을 위한 참조 위치 또는 경계부를 결정하고, 결정된 위치에서 소정의 탐색 거리 매개변수 ε을 통해 탐색 범위를 특정하는 기술적 특징이 있다. According to an embodiment of the present invention, there is a technical feature of determining a reference position or boundary for search for the “first data set” and specifying a search range through a predetermined search distance parameter ε at the determined position.
본 발명의 실시예에 다르면, 복수개의 임베딩 기법을 적용하여 "제2 데이터 집합"에서 복수개의 방법으로 탐색을 실시하고 무작위(random)로 추출하거나, 일부나 전부를 선택하여 다양성을 높일 수 있게 하여 특정 임베딩 기법에 의한 편향(bias) 문제를 극복하고, 기계학습을 위한 고품질 데이터 확보가 가능한 기술적 특징이 있다. According to an embodiment of the present invention, a plurality of embedding techniques are applied to perform a search in a plurality of methods in the "second data set" and randomly extract or select some or all of them to increase diversity It has technical features that can overcome the bias problem caused by specific embedding techniques and secure high-quality data for machine learning.
도 1은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다. 1 illustrates an embedding-based data set processing apparatus according to an embodiment of the present invention.
본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치(100)는 다중 벡터공간 임베딩부(101), 제1 데이터 집합 기반 탐색 범위 결정부(103) 및 제2 데이터 집합 탐색 및 출력부(105)를 포함한다. An embedding-based data set processing apparatus 100 according to an embodiment of the present invention includes a multi-vector space embedding unit 101, a first data set-based search range determination unit 103, and a second data set search and output unit 105. ).
데이터 입출력 관점에서, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치(100)는 제1 데이터 집합 Q={q1, q2, q3, ... , qN}과 제2 데이터 집합 S={s1, s2, s3, ... , sN}를 입력받아, 제2 데이터 집합 S'를 출력한다.From a data input/output point of view, the embedding-based data set processing apparatus 100 according to an embodiment of the present invention provides a first data set Q={q 1 , q 2 , q 3 , ... , q N } and second data The set S={s 1 , s 2 , s 3 , ... , s N } is input, and the second data set S' is output.
출력 데이터는 통제된 특성을 갖거나, 이상치(Anomaly 혹은 Outlier), 결정경계와 관련된 데이터일 수 있다.Output data can be data with controlled characteristics, outliers (anomalies or outliers), or data related to decision boundaries.
N과 M은 입력 데이터 제1 데이터 집합과 제2 데이터 집합에 대한 각각의 집합 크기를 나타내며, 출력되는 데이터 S'는 공집합(Empty set, Null set)을 포함한 S의 부분집합이 될 수 있다.N and M represent the respective set sizes of the first data set and the second data set of input data, and the output data S' may be a subset of S including an empty set (null set).
입력데이터는 이미지, 텍스트, 오디오 등 다양한 형태가 가능하다. 제1 데이터 집합 내부의 원소들 상호 간 미디어 타입, 제2 데이터 집합 내부의 원소들 상호 간 미디어 타입, 제1 데이터 집합과 제2 데이터 집합의 원소들 상호 간 미디어 타입은 동일한 것이 바람직하다. 일례로 텍스트면 텍스트, 이미지면 이미지, 오디오면 오디오 형식으로 데이터 집합을 이뤄야만 상호 비교가 용이하다.Input data can be in various forms such as image, text, and audio. Media types between elements in the first data set, media types between elements in the second data set, and media types between elements in the first data set and the second data set are preferably the same. For example, it is easy to compare each other only when data sets are made in the form of text for text, image for image, and audio for audio.
도 2는 본 발명에 따른 활용 실시예를 도시한다. Figure 2 shows a utilization embodiment according to the present invention.
도 2의 (1)을 참조하면, 제1 데이터 집합의 원소들의 위치를 참조 위치로 하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 당업자의 이해를 돕기 위해, 도 2의 (1)에 도시한 예는 제1 데이터 집합의 원소들의 위치를 참조 위치로 하여 소정의 유사도를 갖는 원소들을 탐색하여 출력하는 것을 도시한다. 일례로 제1 데이터 집합이 Q={q1, q2, q3}으로 주어졌을 때, 제2 데이터 집합에서 Q의 원소들과 유사한 데이터를 추출한다.Referring to (1) of FIG. 2 , a subset of the second data set is output after searching in the second data set using the positions of elements of the first data set as reference positions. To help those skilled in the art understand, the example shown in (1) of FIG. 2 shows that elements having a predetermined similarity are searched for and output using the positions of elements of the first data set as reference positions. For example, when the first data set is given as Q={q 1 , q 2 , q 3 }, data similar to elements of Q is extracted from the second data set.
도 2에서 q1 은 삼각형, q2는 모서리가 둥근 사각형, q3는 오각형으로 표시되어 있으며, 각 원소를 중심으로 임계 거리 이내의 근방 영역이 녹색 영역으로 도시된다. 녹색 영역을 탐색 범위로 간주한다면, 해당 탐색 범위에 해당하는 제2 데이터 집합의 원소들을 탐색하여 출력하는 것이 가능하다. 즉, 제2 데이터 집합에서 q1와 같이 삼각형과 닮은 데이터, q2와 같이 모서리가 둥근 사각형과 닮은 데이터, q3와 같이 오각형과 닮은 데이터를 탐색하여 새로운 데이터 집합으로 활용할 수 있도록 출력한다. In FIG. 2 , q 1 is indicated by a triangle, q 2 is a rounded rectangle, and q 3 is a pentagon, and a region around each element within a critical distance is shown as a green region. If the green area is regarded as a search range, it is possible to search for and output elements of the second data set corresponding to the search range. That is, in the second data set, data resembling a triangle such as q 1 , data resembling a rectangle with rounded corners such as q 2 , and data resembling a pentagon such as q 3 are searched and output so that they can be used as a new data set.
이는 일견 종래의 검색 방법과 유사한 측면이 있으나, 임베딩된 벡터공간에서 다수의 원소로 소정의 범위를 설정하여 탐색범위를 설정하고 새로운 데이터 집합을 구성한다는 측면에서 차이가 있다. This is similar to the conventional search method at first glance, but differs in that a search range is set by setting a predetermined range with a plurality of elements in an embedded vector space and a new data set is formed.
본 발명의 실시예에 따르면, 유사 데이터를 추출하는 데에만 응용의 범위가 한정되지 않는다. According to an embodiment of the present invention, the scope of application is not limited only to extracting similar data.
도 2의 (2)를 참조하면, 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하고 소정의 범위를 탐색 범위로 하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 도 2의 (2)를 참조하면, 제1 데이터 집합이 Q={q1, q2, q3} 로 주어졌고, 각 원소의 선형 결합(linear combination) 또는 가중합(weighted summation)의 위치를 참조 위치로 한 후, 소정의 탐색 범위를 정하여, 이에 해당하는 제2 데이터 집합의 부분집합을 추출하여 나타낸다. 여기서 제1 데이터 집합의 선형 결합한 위치는 각 원소들을 대표하는 평균 위치가 될 수도 있고, 원소들을 서로 분류하는데 구분이 모호한 결정경계 위치가 될 수 있고, 특정 원소와 더욱 가까운 위치가 될 수도 있는 등, 가중치를 달리하여 다양한 효과를 유도할 수 있다. 이런 처리를 위해 본 발명의 실시예에 따르면 제1 데이터 집합 Q와 제2 데이터 집합 S의 각 원소를 소정의 임베딩 처리를 거쳐서 선형 벡터공간에서 처리한다.Referring to (2) of FIG. 2, after searching in the second data set using the linearly combined positions of the elements of the first data set as a reference position and a predetermined range as a search range, a part of the second data set output a set Referring to (2) of FIG. 2, the first data set is given as Q = {q 1 , q 2 , q 3 }, refer to the position of the linear combination or weighted summation of each element After determining the position, a predetermined search range is determined, and a subset of the second data set corresponding to the search range is extracted and displayed. Here, the position of the linear combination of the first data set may be an average position representing each element, a position at a decision boundary where the distinction between elements is ambiguous, or a position closer to a specific element, etc. Various effects can be induced by varying the weight. For this processing, according to an embodiment of the present invention, each element of the first data set Q and the second data set S is processed in a linear vector space through a predetermined embedding process.
도 2의 (3)을 참조하면, 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위에 포함되는 영역을 탐색 범위로 정하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 2차원 평면 또는 3차원 이상의 고차원 초평면 상에서 보로노이 다이어그램(Voronoi diagram)과 같이 주어진 벡터 위치를 기반으로 초평면을 분할하는 방식을 적용하여 경계부를 얻을 수 있다. 또는, 원소의 각각 위치를 고차원 가우시안 (Guassian) 함수의 평균 위치로 간주하여 가우시안 함수들이 서로 만나는 지점을 경계부로 정할 수 있다. 전술한 방식들에 따라 경계부를 정하고 임계 범위를 탐색범위로 삼는다면 통상적으로 기계학습 기법 등을 사용하여 구분이 어려운 결정경계에 위치하는 데이터를 확보하는 것이 가능하다. Referring to (3) of FIG. 2, a boundary is determined in consideration of the positions of elements of the first data set, an area included in the threshold range along the determined boundary is set as a search range, and the second data set is searched. , outputs a subset of the second data set. Boundaries can be obtained by applying a method of dividing a hyperplane based on a given vector position, such as a Voronoi diagram, on a 2D plane or a 3D or higher dimensional hyperplane. Alternatively, each position of an element may be regarded as an average position of a high-dimensional Gaussian function, and a point where Gaussian functions meet each other may be determined as a boundary. If the boundary is determined according to the above-described methods and the critical range is used as the search range, it is possible to obtain data located at the decision boundary, which is difficult to distinguish, using a machine learning technique.
도 2의 (4)를 참조하면, 도 2의 (1) 내지 (3)의 탐색 범위를 설정하는 방법들을 조합하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 이러한 조합을 통해 매우 다양한 형태의 데이터 확보가 가능하다. 일례로 주어진 제1 데이터 집합에 대해서 {각 원소들을 참조 위치로 탐색 범위를 설정, 선형결합을 위한 원소별 가중치 설정, 경계부를 결정하기 위한 원소별 가중치 설정, 선형 결합된 위치 또는 경계부 주변에서 추가적으로 탐색하기 위한 소정의 범위 설정}을 위한 각종 매개변수(parameter)를 조절함으로써, 데이터 다양성, 데이터 난이도 제어, 결정경계 데이터의 확보와 같은 목표 달성이 가능한 효과가 있다. Referring to (4) of FIG. 2, after searching in the second data set by combining the methods for setting the search range of (1) to (3) of FIG. 2, a subset of the second data set is output. . Through this combination, it is possible to secure data in a wide variety of forms. For the first data set given as an example, {Set the search range as reference positions for each element, set weights for each element for linear combination, set weights for each element to determine the boundary, and additionally search around the linearly combined position or boundary. By adjusting various parameters for setting a predetermined range to perform a predetermined range, there is an effect capable of achieving goals such as data diversity, data difficulty control, and securing decision boundary data.
다중 벡터공간 임베딩부(101)는 입력 데이터 원소를 다수의 임베딩부(임베딩부 1, 임베딩부 2, 쪋, 임베딩부 K)에 통과시켜서 각각의 벡터공간에 임베딩(인코딩, 매핑 또는 주입)하는 역할을 수행한다. The multi-vector space embedding unit 101 passes the input data elements through a plurality of embedding units (embedding unit 1, embedding unit 2, *, embedding unit K) and embeds them (encoding, mapping or injecting) into each vector space. Do it.
다중 벡터공간 임베딩부(101)에는 서로 다른 임베딩부가 포함되는데, 이를 통해 입력된 데이터를 벡터공간에 표현함에 있어서 특정 임베딩 방법으로 인한 편향된 데이터 출력을 방지하는 것이 가능하다. The multi-vector space embedding unit 101 includes different embedding units, and through this, it is possible to prevent biased data output due to a specific embedding method in expressing input data in a vector space.
[표 1]은 제1 데이터 집합 Q와 제2 데이터 집합 S의 임의의 원소들을 K개의 서로 다른 벡터공간에 임베딩 하여 얻은 벡터를 나타낸다.[Table 1] shows vectors obtained by embedding arbitrary elements of the first data set Q and the second data set S in K different vector spaces.
제1 데이터 집합 Q의 임베딩 벡터Embedding vector of the first data set Q 제2 데이터 집합 Q의 임베딩 벡터Embedding vector of the second data set Q
임베딩부 1Embedding part 1 E1(Q)={E1(q1), E2(q2),..., E1(qN) }E 1 (Q)={E 1 (q 1 ), E 2 (q 2 ),..., E 1 (q N ) } E1(S) = { E1 (s1), E1 (s2), ... , E1 (sM)E 1 (S) = { E 1 (s 1 ), E 1 (s 2 ), ... , E 1 (s M )
임베딩부 2Embedding part 2 E2(Q) = { E2(q1), E2(q2), ... , E2(qN)E 2 (Q) = { E 2 (q 1 ), E 2 (q 2 ), ... , E 2 (q N ) E2(S) = { E2 (s1), E2 (s2), ... , E2 (sM)E 2 (S) = { E 2 (s 1 ), E 2 (s 2 ), ... , E 2 (s M )
임베딩부 3Embedding part 3 E3(Q) = { E3(q1), E3(q2), ... , E3(qN)E 3 (Q) = { E 3 (q 1 ), E 3 (q 2 ), ... , E 3 (q N ) E3(S) = { E3 (s1), E3 (s2), ... , E3 (sM)E 3 (S) = { E 3 (s 1 ), E 3 (s 2 ), ... , E 3 (s M )
...... ...... ......
임베딩부 KEmbedding part K EK(Q) = { EK (q1), EK (q2), ... , EK (qN)E K (Q) = { E K (q 1 ), E K (q 2 ), ... , E K (q N ) EK(S) = { EK (s1), EK (s2), ... , EK (sM)E K (S) = { E K (s 1 ), E K (s 2 ), ... , E K (s M )
[표 1]에서는 q라는 원소에 대해 i번째 임베딩부의 연산처리 결과를 Ei(q)와 같이 나타내고 있다. 즉, 입력된 제1 데이터 집합 Q = {q1, q2, q3, ... , qN} 에 대해서 임베딩부 1을 통해서 E1(Q) = { E1(q1), E1(q2), ... , E1(qN) }와 같은 임베딩 값들을 도출한다. 이러한 임베딩 처리를 통해, 데이터 간 유사성/차이점 계산이 효과적이고 편리한 장점이 있다. In [Table 1], the calculation result of the i-th embedding unit for the element q is shown as E i (q). That is, E 1 (Q) = { E 1 (q 1 ), E 1 through the embedding unit 1 for the input first data set Q = {q 1 , q 2 , q 3 , ... , q N } (q 2 ), ... , E 1 (q N ) }. Through this embedding process, similarity/difference calculation between data is effective and convenient.
복수의 임베딩부를 통해 생성된 임베딩 결과는 기본적으로 해당 임베딩 방법에 대해서만 상호 비교가 될 수 있다. 즉, 임베딩부 1을 통한 임베딩 된 데이터와 임베딩부 2를 통한 임베딩 된 데이터는 서로 관련이 없으며, 따라서 상호 유사성이나 차이점을 계산할 수 없다.Embedding results generated through a plurality of embedding units can basically be mutually compared only for the corresponding embedding method. That is, the data embedded through the embedding unit 1 and the data embedded through the embedding unit 2 are not related to each other, and therefore, similarities or differences cannot be calculated.
본 발명의 실시예에 따른 임베딩 기법은 임의의 데이터를 임의 차원의 벡터공간에 매핑하는 과정으로 정의한다. 임베딩 과정을 거쳐 출력된 데이터는 입력 시의 크기보다 더 적어지는 것이 바람직하다. 이는 통상적으로 인코딩(Encoding)으로 칭하는 과정으로써 중복되거나 불필요한 정보를 제거하고 농축된 정보로 압축하는 효과를 발생시킨다. 이러한 임베딩을 위해서는 PCA(Principle component analysis)나 LDA(Linear discriminant analysis), Laplacian eigenmaps, Isomap, LLE(Local Linear Embedding), t-SNE(Stochastic Neighbor Embedding)과 같은 방식을 사용할 수 있다.An embedding technique according to an embodiment of the present invention is defined as a process of mapping arbitrary data to a vector space of an arbitrary dimension. It is preferable that the data output through the embedding process be smaller than the size at the time of input. This is a process commonly referred to as encoding, which has the effect of removing redundant or unnecessary information and compressing it into concentrated information. For such embedding, schemes such as PCA (Principle Component Analysis), LDA (Linear Discriminant Analysis), Laplacian eigenmaps, Isomap, LLE (Local Linear Embedding), and t-SNE (Stochastic Neighbor Embedding) may be used.
또 다른 임베딩 방법으로는 입력된 데이터에 대해서 상위 수준의 시맨틱 정보를 얻을 수 있는 인공신경망에 통과시킨 후, 인공신경망에서 시맨틱 정보를 포함하는 레이어(Layer) 정보를 정보가 농축된 벡터공간으로 사용하는 방식을 사용하는 것이다. Another embedding method is to pass the input data through an artificial neural network capable of obtaining high-level semantic information, and then use layer information including semantic information in the artificial neural network as a vector space in which information is enriched. is to use the method
본 발명의 실시예에 따르면 이러한 농축정보를 취득하는 인공신경망으로 오토인코더(Autoencoder), VAE(변이형 오토인코더, Variational Autoencoder), 생성적 적대 신경망과 같은 방식을 수정 보완하여 적용하는 것이 바람직하다. 이러한 신경망 계층은 숫자들이 나열된 배열이나 행렬의 형상을 가질 수 있는데, 이 값들은 소정의 벡터공간에 임베딩된 데이터를 의미한다. 이 벡터공간 상의 임의의 위치는 표현 벡터(Representation vector)라고도 칭할 수 있듯이, 각 위치별로 입력된 데이터의 주요 특징을 서로 다른 방식으로 표현하게 된다. According to an embodiment of the present invention, it is preferable to modify and supplement methods such as an autoencoder, a variational autoencoder (VAE), and a generative adversarial neural network as an artificial neural network that acquires such enriched information. Such a neural network layer may have the shape of an array or matrix in which numbers are listed, and these values mean data embedded in a predetermined vector space. As an arbitrary position on this vector space can also be referred to as a representation vector, main characteristics of input data are expressed in different ways for each position.
일례로 (1, 0, 0) 벡터는 "웃음", (0, 1, 0) 벡터는 "보통", (0, 0, 1) 벡터는 "울음"과 같은 의미를 표현할 수도 있는 것이다. For example, the vector (1, 0, 0) can express meanings such as "laughing", the vector (0, 1, 0) "normal", and the vector (0, 0, 1) "crying".
이러한 벡터공간은 대수적인 공간으로써 잠재 공간(Latent space)이라고도 부를 수 있으며, 신경망 모델이나 학습 방법에 따라서 서로 다른 벡터공간이 된다.This vector space is an algebraic space and can also be called a latent space, and becomes a different vector space depending on the neural network model or learning method.
이러한 임베딩은 이미지, 텍스트, 오디오에서 각각의 미디어 포맷 별로 일관성 있게 수행하는 것이 바람직하다. 일례로 이미지는 이미지, 텍스트는 텍스트 별로 별도의 임베딩 방법을 사용하여 벡터공간에 매핑한다. It is desirable to consistently perform such embedding for each media format in image, text, and audio. For example, an image is mapped to a vector space using a separate embedding method for each image and text for each text.
이미지에 대해서 종래에 잘 알려진 인공신경망으로는 구글의 인셉션넷(inception), 옥스포드 대학교의 VGG넷, 스탠포드 대학교의 스퀴즈넷(SqueezeNet)을 들 수 있고, 텍스트에 대해서는 word2vec, doc2vec, ELMo(Embeddings from Language Model), fastText, GloVe, BERT(Bidirectional Encoder Representations from Transformers) 등이 있다. 이미지에 대해서 인공신경망으로 벡터공간에 임베딩 하는 과정을 예를 들면 다음과 같다. 가로가 100픽셀, 세로가 100픽셀, RGB 컬러 채널이 3개인 컬러영상은 100x100x3이라는 텐서로 표현할 수 있다. 이 값이 인공신경망을 통해 2x1 크기의 벡터공간에 임베딩 되었다면, 결과적으로 100x100x3 영상이 2차원의 벡터공간에 임베딩(인코딩, 매핑 혹은 주입) 되었다고 볼 수 있다. Conventionally well-known artificial neural networks for images include Google's Inception Net, Oxford University's VGG Net, and Stanford University's SqueezeNet, and for text, word2vec, doc2vec, ELMo (Embeddings from Language Model), fastText, GloVe, and BERT (Bidirectional Encoder Representations from Transformers). For example, the process of embedding an image into a vector space with an artificial neural network is as follows. A color image with 100 pixels in width, 100 pixels in height, and three RGB color channels can be expressed as a tensor of 100x100x3. If this value is embedded in a 2x1 vector space through an artificial neural network, it can be seen that as a result, a 100x100x3 image is embedded (encoded, mapped, or injected) into a 2-dimensional vector space.
도 3 및 도 4는 본 발명의 실시예에 따른 데이터 임베딩을 도시한다. 3 and 4 illustrate data embedding according to an embodiment of the present invention.
도 3 및 도 4는 임베딩의 개념에 대해 당업자의 이해를 돕기 위하여, 제1 데이터 집합에 대해서만 표시한 것으로, 다중 벡터공간 임베딩부(101)는 임베딩부 1과 임베딩부 2로만 구성되었다고 가정한다. 임베딩부 1과 임베딩부 2에 대해 데이터 q가 입력된다면 출력되는 임베딩 벡터는 각각 E1(q)와 E2(q)로 나타낸다.3 and 4 show only the first data set to help those skilled in the art understand the concept of embedding, and it is assumed that the multi-vector space embedding unit 101 is composed of only embedding unit 1 and embedding unit 2. If data q is input for embedding unit 1 and embedding unit 2, output embedding vectors are represented by E 1 (q) and E 2 (q), respectively.
도 3을 참조하면, 제1 데이터 집합이 Q = { q1, q2 }라고 하는 2개의 원소로 구성된 경우로써, q1은 삼각형, q2는 모서리가 둥근 사각형이라고 가정한다. 제1 데이터 집합 Q의 원소들이 2개의 임베딩부를 각각 통과하면 도 3의 왼쪽 및 오른쪽과 같이 {E1(q1), E1(q2)}와 {E2(q1), E2(q2)}를 출력하고 각각의 임베딩 벡터공간의 위치로 매핑된다. 도 3의 왼쪽과 오른쪽 그림에서 주목할 부분은 서로 다른 임베딩부를 사용하면 동일한 데이터라 할지라도 서로 다른 위치에 임베딩 될 수 있다는 것이고, 서로 다른 임베딩부를 사용하면 임베딩 공간에서의 상대적인 거리가 달라질 수 있다는 점이다. 도 3에서는 삼각형 모양의 q1은 임베딩 벡터공간 1과 임베딩 벡터공간 2에서의 벡터가 E1(q1)과 E2(q1)와 같이 서로 다르다. q1과 q2의 임베딩 공간에서의 상대적 거리는 도 3의 왼쪽에서는 E1(q1) - E1(q2) 가 되고, 도 2의 오른쪽에서는 E2(q1) - E2(q2)가 되듯이, 그 값이 서로 달라지게 된다. Referring to FIG. 3 , it is assumed that the first data set is composed of two elements Q = {q 1 , q 2 }, where q 1 is a triangle and q 2 is a rectangle with rounded corners. When the elements of the first data set Q pass through the two embedding units, respectively, {E 1 (q 1 ), E 1 (q 2 )} and {E 2 (q 1 ), E 2 ( q 2 )} is output and mapped to the location of each embedding vector space. What is noteworthy in the left and right figures of FIG. 3 is that even the same data can be embedded in different positions if different embedding units are used, and the relative distance in the embedding space can be different if different embedding units are used . In FIG. 3, q 1 of a triangular shape is different from each other, such as E 1 (q 1 ) and E 2 (q 1 ), in embedding vector space 1 and embedding vector space 2. The relative distance of q 1 and q 2 in the embedding space is E 1 (q 1 ) - E 1 (q 2 ) on the left side of FIG. 3 , and E 2 (q 1 ) - E 2 (q 2 ) on the right side of FIG. 2 . ), the values will be different from each other.
도 4는 제1 데이터 집합이 Q = { q1, q2, q3, q4 }라고 하는 4개의 원소인 경우에 대한 예시로써 도 3에 비해 데이터가 2개에서 4개로 확장된 경우를 도시한다. 이런 식으로 Q는 N개로 표시되는 복수개의 원소를 가질 수 있다.FIG. 4 is an example of a case where the first data set is four elements, Q = {q 1 , q 2 , q 3 , q 4 }, and shows a case in which data is expanded from 2 to 4 compared to FIG. 3 do. In this way, Q can have multiple elements, represented by N.
전술한 바와 같이, 제1 데이터 집합 Q는 다중 벡터공간 임베딩부를 통해서 소정의 벡터공간에 임베딩 된다.As described above, the first data set Q is embedded in a predetermined vector space through the multi-vector space embedding unit.
제1 데이터 집합 기반 탐색 범위 결정부(103)는 임베딩된 데이터를 기반으로 도 2를 참조하여 전술한 아래 4가지의 방식에 따라 탐색 범위를 결정한다.The first data set-based search range determination unit 103 determines the search range based on the embedded data according to the four methods described above with reference to FIG. 2 .
(i) 제1 데이터 집합의 원소들을 참조 위치로 하여 소정의 탐색 범위를 결정(i) Determining a predetermined search range using elements of the first data set as reference positions
(ii) 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하여 소정의 범위를 결정(ii) determining a predetermined range by using the linearly combined positions of the elements of the first data set as reference positions;
(iii) 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위와 관련되는 영역을 소정의 탐색 범위로 결정(iii) A boundary is determined in consideration of the positions of elements of the first data set, and an area related to the critical range is determined as a predetermined search range along the determined boundary.
(iv) (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정(iv) Determine a predetermined search range by combining the methods for determining the search range of (i) to (iii)
이하에서는 "(i) 제1 데이터 집합의 원소들을 참조 위치로 하여 소정의 탐색 범위를 결정"에 대해 설명한다.Hereinafter, "(i) determining a predetermined search range by using elements of the first data set as reference positions" will be described.
도 2의 (1)에 도시한 바와 같이, 제1 데이터 집합의 임의 원소들을 참조 위치로 하여, 주변 근방 ε 거리를 탐색 범위 결정에 사용한다. As shown in (1) of FIG. 2, with arbitrary elements of the first data set as reference positions, the distance ε near the periphery is used to determine the search range.
일례로 제1 데이터 집합이 Q = { q1, q2 }로 주어진 경우, i번째 임베딩 방법 임베딩 i를 수행하면 Ei(Q) = { Ei(q1), Ei(q2) }가 되고, 주어진 탐색 거리가 q1, q2에 대해서 각각 ε1과 ε2 라면 임베딩 벡터공간에서 벡터 Ei(q1)와 Ei(q2)를 중심으로 거리 ε1 과 ε2의 거리를 기준으로 탐색 범위를 결정한다. 즉, 벡터 Ei(q1)을 중심으로 ε1의 거리보다 짧은 p라는 점을 모두 찾고, 벡터 Ei(q2)를 중심으로 ε2의 거리보다 짧은 p라는 점을 찾아서 탐색 범위로 설정한다. For example, when the first data set is given as Q = { q 1 , q 2 }, when the ith embedding method embedding i is performed, E i (Q) = { E i (q 1 ), E i (q 2 ) } , and if the given search distances are ε 1 and ε 2 for q 1 and q 2 , respectively, the distances ε 1 and ε 2 centered on the vectors E i (q 1 ) and E i (q 2 ) in the embedding vector space Based on , the search range is determined. That is, find all points p shorter than the distance of ε 1 centered on the vector E i (q 1 ), and find points p shorter than the distance ε 2 centered on the vector E i (q 2 ) and set them as the search range. do.
이를 데이터 q1에 대해서 절대값과 부등식으로 표현하면 다음과 같다. [수학식 1]의 부등식을 만족하는 벡터공간상의 p의 위치가 탐색 범위가 된다.Expressing this as an absolute value and an inequality for data q 1 is as follows. The position of p on the vector space that satisfies the inequality of [Equation 1] becomes the search range.
[수학식 1][Equation 1]
| Ei(q1) - p | < ε1 | E i (q 1 ) - p | < ε 1
데이터 q2에 대해서도 [수학식 2]의 부등식을 만족하는 벡터공간상의 p의 위치가 또 다른 탐색 범위가 된다.For data q2, the position of p on the vector space that satisfies the inequality of [Equation 2] becomes another search range.
[수학식 2][Equation 2]
| Ei(q2) - p | < ε2 | E i (q 2 ) - p | < ε 2
[수학식 1] 및 [수학식 2]를 만족하는 탐색 범위는 도 2 의 (1)에서 녹색 영역으로 표현한 범위이다. The search range satisfying [Equation 1] and [Equation 2] is the range represented by the green area in (1) of FIG. 2 .
이는 [수학식 3]과 같이 다양한 변형이 가능한데, 다시 말하면 탐색 범위는 소정의 기준점을 중심으로 ε 거리를 경계로 하여 내부, 외부, 경계 지점이 모두 될 수 있다. This can be modified in various ways as shown in [Equation 3]. In other words, the search range can be all internal, external, and boundary points with the ε distance as the boundary around the predetermined reference point.
이와 같이 다양한 가능성을 지원하는 이유는 기계학습 데이터를 다양한 방법으로 조합하고 구성하기 위함이다.The reason for supporting such diverse possibilities is to combine and organize machine learning data in various ways.
[수학식 3][Equation 3]
| Ei(q1) - p | > ε1 (1) | E i (q 1 ) - p | > ε 1 (1)
| Ei(q1) - p | = ε1 (2) | E i (q 1 ) - p | = ε 1 (2)
| Ei(q2) - p | > ε2 (3) | E i (q 2 ) - p | > ε 2 (3)
| Ei(q2) - p | = ε2 (4) | E i (q 2 ) - p | = ε 2 (4)
[수학식 3]에서 (1)은 임베딩된 벡터공간 상에서 벡터 Ei(q1)를 기준으로 ε1 보다 멀리 떨어진 벡터 p의 집합, (2)는 임베딩된 벡터공간 상에서 벡터 Ei(q1)를 기준으로 ε1 만큼 떨어진 벡터 p의 집합, (3)은 임베딩된 벡터공간 상에서 벡터 Ei(q2)를 기준으로 ε2 보다 멀리 떨어진 벡터 p의 집합, (4)는 임베딩된 벡터공간 상에서, 벡터 Ei(q2)를 기준으로 ε2 만큼 떨어진 벡터 p의 집합을 의미한다.In [Equation 3], (1) is a set of vectors p farther than ε 1 based on the vector E i (q 1 ) on the embedded vector space, (2) is the vector E i (q 1 ) on the embedded vector space ), (3) is a set of vectors p farther than ε 2 based on the vector E i ( q 2 ) on the embedded vector space, (4) is the embedded vector space In the above, it means the set of vectors p separated by ε 2 from the vector E i (q 2 ).
이하에서는 "(ii) 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하여 소정의 범위를 결정"에 대해 설명한다. Hereinafter, “(ii) determining a predetermined range by using linearly combined positions of elements of the first data set as reference positions” will be described.
제1 데이터 집합이 Q = { q1, q2 }로 주어진 경우를 가정하면, i번째 임베딩 방법 임베딩 i을 수행하여 { Ei(q1), Ei(q2) }의 임베딩 벡터를 얻는다. 선형 결합을 위한 가중치가 { w1, w2 }로 주어지고, 탐색 범위가 ε으로 주어졌다면 선형 결합된 위치 T = w1 x Ei(q1) + w2 x Ei(q2)로 얻을 수 있다. Assuming that the first data set is given as Q = { q 1 , q 2 }, an embedding vector of { E i (q 1 ), E i (q 2 ) } is obtained by performing the i-th embedding method embedding i. . If the weight for linear combination is given as { w 1 , w 2 } and the search range is given as ε, the linearly combined position T = w 1 x E i (q 1 ) + w 2 x E i (q 2 ) You can get it.
그러면 T를 중심으로 ε의 거리를 기준으로 내부, 외부, 경계를 탐색 범위로 삼으면 되며, 이는 아래 [수학식 4]와 같다. Then, based on the distance of ε with T as the center, the inside, outside, and boundary can be set as the search range, which is as shown in [Equation 4] below.
여기서 모든 가중치의 합은 w1 + w2 = 1 이다. 이 경우는 원소가 2개뿐인 경우로써 원소가 N개인 경우에는 w1 + w2 + … + wN = 1 이다.Here, the sum of all weights is w 1 + w 2 = 1. In this case, there are only two elements, and in the case of N elements, w 1 + w 2 + . . . + w N = 1.
[수학식 4][Equation 4]
| T - p | < ε| T - p | < ε
| T - p | > ε| T - p | > ε
| T - p | = ε| T - p | = ε
도 5는 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 2개인 경우)을 도시한다. 5 illustrates a method for determining a search range by linear combination (when the first data set has two elements) according to an embodiment of the present invention.
Ei(q1)와 Ei(q2)가 w1과 w2의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키게 되었다. d1과 d2는 벡터들 사이의 거리를 의미하는데, d1 = | T - Ei(q1) |, d2 = | T - Ei(q2) | 와 같이 2개의 벡터의 차이의 절대값을 계산한다. w1 = d2 / (d1 + d2), w2 = d1 / (d1 + d2)으로써 가중치와 거리는 서로 상관성을 갖는다. 즉, 가중치로 거리를 결정할 수 있고, 거리로써 가중치를 계산할 수 있다.E i (q 1 ) and E i (q 2 ) are linearly combined with the weights of w 1 and w 2 to point to a new position, T. d 1 and d 2 mean the distance between the vectors, d 1 = | T - E i (q 1 ) |, d 2 = | T - E i (q 2 ) | Calculate the absolute value of the difference between the two vectors as As w 1 = d 2 / (d 1 + d 2 ) and w 2 = d 1 / (d 1 + d 2 ), the weight and the distance are correlated with each other. That is, the distance can be determined with the weight, and the weight can be calculated with the distance.
도 6은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 3개인 경우)을 도시한다. 6 shows a method for determining a search range by linear combination (when the first data set has three elements) according to an embodiment of the present invention.
도 6을 참조하면, Q={q1, q2, q3}인 경우에 Ei(q1), Ei(q2), Ei(q3)로 임베딩 되고, 이를 w1, w2, w3의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키는 경우이다. 탐색 범위는 전술한 [수학식 4]와 같은 방식 또는 그 변형을 통해 결정된다. Referring to FIG. 6, when Q={q 1 , q 2 , q 3 }, E i (q 1 ), E i (q 2 ), and E i (q 3 ) are embedded, which are w 1 , w This is the case of pointing to a new position called T by linearly combining with the weight of 2 and w 3 . The search range is determined through the same method as in [Equation 4] described above or a modification thereof.
도 7은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 4개인 경우)을 도시한다. 7 illustrates a method for determining a search range by linear combination (when the first data set has four elements) according to an embodiment of the present invention.
Q = {q1, q2, q3, q4}인 경우에 Ei(q1), Ei(q2), Ei(q3), Ei(q4)로 임베딩 되고, 이를 w1, w2, w3, w4의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키는 경우이다. 탐색 범위는 전술한 [수학식 4]와 같은 방식 또는 그 변형을 통해 결정된다. In the case of Q = {q 1 , q 2 , q 3 , q 4 }, it is embedded as E i (q 1 ), E i (q 2 ), E i (q 3 ), and E i (q 4 ). In this case, a new position T is indicated by linear combination with weights of w 1 , w 2 , w 3 , and w 4 . The search range is determined through the same method as in [Equation 4] described above or a modification thereof.
도 8은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정에 있어서 복수개의 거리 매개변수 ε을 적용하는 예를 도시한다. 8 illustrates an example of applying a plurality of distance parameters ε in determining a search range by linear combination according to an embodiment of the present invention.
도 8은 도 6을 참조하여 설명한 바와 같이, 제1 데이터 집합의 원소를 3개로 확장된 경우로써 Q={q1, q2, q3}인 경우에 Ei(q1), Ei(q2), Ei(q3)로 임베딩 되고, 이를 w1, w2, w3의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키고 있다. 이 경우에는 탐색 범위를 결정하는 매개변수를 {εa, εb}라고 하는 2개를 사용하고 있는데, 도 8의 경우에 임베딩 벡터 공간에서 벡터 T를 중심으로 거리 매개변수 εa 보다는 멀고, 거리 매개변수 εb 보다는 짧은 영역의 선택이 필요하다면, [수학식 5]와 같은 방식으로 범위를 선택할 수 있으며, 거리를 표현하는 매개변수 ε의 개수를 늘이고, 조합 방법을 변형하여 훨씬 다양한 영역을 선택하는 것이 가능하다.As described with reference to FIG. 6, FIG. 8 is a case where the elements of the first data set are extended to three, and E i (q 1 ), E i ( when Q = {q 1 , q 2 , q 3 }) q 2 ) and E i (q 3 ), which are linearly combined with the weights of w 1 , w 2 , and w 3 to point to a new location called T. In this case, two parameters, {ε a , ε b }, are used to determine the search range. In the case of FIG. 8, the distance parameter ε a is farther than the distance parameter ε a centered on the vector T in the embedding vector space, and the distance If it is necessary to select a region shorter than the parameter ε b , the range can be selected in the same way as in [Equation 5], the number of parameters ε representing the distance is increased, and the combination method is modified to select a much more diverse region. It is possible.
[수학식 5][Equation 5]
{ | T - p | > εa } and { | T - p | < εb }{ | T - p | > ε a } and { | T - p | < ε b }
이하에서는 "(iii) 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위와 관련되는 영역을 소정의 탐색 범위로 결정"에 대해 설명한다. Hereinafter, "(iii) determining a boundary considering the positions of elements of the first data set, and determining an area related to a critical range along the determined boundary as a predetermined search range" will be described.
제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위에 포함되는 영역을 소정의 탐색 범위로 결정한다. A boundary is determined in consideration of positions of elements of the first data set, and an area included in the critical range along the determined boundary is determined as a predetermined search range.
(ii) 경우와 관련된 설명과 원리는 동일하지만, (ii)의 경우에는 T라고 하는 하나의 벡터 위치 대해서 ε 거리를 탐색 범위로 삼았다면, (iii)의 방식은 앞서 설명했듯이 보로노이 다이어그램(Voronoi diagram)이나 고차원 가우시안 함수와 같은 방식을 사용하여 경계부를 찾고 이를 중심으로 ε 거리를 탐색 범위로 삼는다는 차이점이 있다. 이를 통해, 결정경계에 위치할 것으로 생각되는 데이터를 효과적으로 찾을 수 있고, 결정경계 위치를 참고로 하여 다양한 특성을 갖는 데이터를 확보하는 것이 가능하다. (ii) The description and principle related to the case are the same, but in the case of (ii), if the ε distance is taken as the search range for one vector position called T, the method of (iii) is a Voronoi diagram (Voronoi diagram) as described above. Diagram) or a high-dimensional Gaussian function is used to find the boundary, and the ε distance around it is used as the search range. Through this, it is possible to effectively find data that is expected to be located at the decision boundary, and to secure data having various characteristics by referring to the location of the decision boundary.
이하에서는 "(iv) (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정"에 대해 설명한다. Hereinafter, "(iv) determining a predetermined search range by combining the methods for determining the search range of (i) to (iii)" will be described.
(iv)의 경우, 전술한 상기 (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정하는 것으로 원하는 데이터를 다양하게 출력할 수 있다. In the case of (iv), desired data can be output in various ways by determining a predetermined search range by combining the methods for determining the search range of (i) to (iii) described above.
이하, 제2 데이터 집합 탐색 및 출력부(105)의 역할을 설명한다. Hereinafter, the role of the second data set search and output unit 105 will be described.
제1 데이터 집합으로 탐색범위를 결정하면, 제2 데이터 집합에서 탐색범위에 맞는 데이터를 추출할 수 있다. 즉, 데이터 집합 Q={q1, q2, …, qN}에 대해서, i번째 임베딩 방법 임베딩 i를 적용하여 {Ei(q1), Ei(q2), …, Ei(qN)} 벡터를 얻듯이, 마찬가지로 입력된 제2 데이터 집합 S={s1, s2, …, SM}에 대해서도 i번째 임베딩부 임베딩 i를 적용하여 Ei(S) = {Ei(s1), Ei(s2), …, Ei(sN)}를 얻는다. When the search range is determined using the first data set, data suitable for the search range may be extracted from the second data set. That is, the data set Q={q 1 , q 2 , . . . , q N }, by applying the i-th embedding method embedding i to {E i (q 1 ), E i (q 2 ), . . . , E i (q N )} vector, similarly input second data set S={s 1 , s 2 , . . . , S M } by applying the i-th embedding part embedding i to E i (S) = {E i (s 1 ), E i (s 2 ), . . . , E i (s N )}.
그리고 S를 임베딩한 {Ei(s1), Ei(s2), …, Ei(sN)}에 대해서 제1 데이터 집합 기반 탐색 범위 결정부(103)에서 결정한 탐색 범위에 맞는 데이터를 선택한다. And embedding S {E i (s 1 ), E i (s 2 ), ... , E i (s N )}, data that fits the search range determined by the first data set-based search range determination unit 103 is selected.
그러면 i번째 임베딩부는 S의 부분집합 S'i를 출력한다.Then, the i-th embedding unit outputs a subset S'i of S.
즉, 사용한 복수개의 임베딩 방식에 따라서 K개의 출력을 위한 후보 부분집합 {S'1, S'2, …, S'K}를 얻게 된다. That is, candidate subsets for K outputs {S' 1 , S' 2 , . . . according to the plurality of embedding schemes used. , S' K } is obtained.
i번째 임베딩부 임베딩 i를 적용하여 얻은 Ei(S) = {Ei(s1), Ei(s2), …, Ei(sN)}에 대해서 기 결정된 탐색 범위에 맞는지를 검사하는 방법은 앞서 [수학식 1] 내지 [수학식 5]를 참조하여 설명한 바와 같이, 결정된 중심점과 임베딩된 벡터 사이의 거리를 재어서 확인하면 쉽게 검사가 가능하다. i th embedding unit E i (S) obtained by applying embedding i = {E i (s 1 ), E i (s 2 ), … , E i (s N )}, as described above with reference to [Equation 1] to [Equation 5], the method for checking whether it fits within the predetermined search range is the distance between the determined center point and the embedded vector. It can be easily inspected by measuring it.
일례로 Ei(s1)라는 임베딩 벡터가 T라는 선형결합에 의해 계산된 벡터에 비해서 ε 거리 이내에 있는지를 확인하려면 | Ei(s1) - T | < ε 이면 조건에 맞는 것이고, 그렇지 않으면 조건에 맞지 않은 것이다. 이런 식으로 모든 임베딩 벡터에 대해서 조건에 부합하는 데이터를 추출할 수 있다.For example, to check whether the embedding vector E i (s 1 ) is within ε distance compared to the vector calculated by the linear combination T, | E i (s 1 ) - T | < ε then the condition is met, otherwise the condition is not met. In this way, data that meets the condition can be extracted for all embedding vectors.
제2 데이터 집합 탐색 및 출력부(105)는 K개의 출력후보 부분집합 {S'1, S'2, …, S'K}를 얻는 과정을 거친 후에 무작위(Random)로 한 개 또는 복수개를 선택하여 출력하거나, 전부를 출력하거나, 명시적으로 특정 임베딩부의 처리 결과를 출력한다. The second data set search and output unit 105 selects K output candidate subsets {S' 1 , S' 2 , . . . , S' K }, randomly selects one or a plurality of outputs, outputs all of them, or explicitly outputs the processing result of a specific embedding part.
복수개를 출력하더라도 모든 출력데이터는 기본적으로 제2 데이터 집합 S에 속하므로 복수개를 출력하는 경우 중복될 수 있는데, 이런 경우에는 유일한 데이터를 출력하도록 처리하는 것이 바람직하다.Even if a plurality is output, all output data basically belongs to the second data set S, so it may be duplicated when a plurality is output. In this case, it is preferable to output unique data.
도 9는 본 발명의 다른 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다. 9 illustrates an embedding-based data set processing apparatus according to another embodiment of the present invention.
도 9는 다중 벡터공간 임베딩부(101)를 통한 임베딩 수행 후, 임베딩 벡터공간 축소부(102)가 추가로 포함된다. 9 , after performing embedding through the multi-vector space embedding unit 101, an embedding vector space reduction unit 102 is additionally included.
통상적으로 의미 있는 성능을 보이는 임베딩부들의 경우 1000 차원 이상의 크기를 가지며, 차원이 높을수록 차원 축소로 인해 손실되는 정보가 적어서 임베딩된 정보로 입력데이터를 역으로 추정한다거나, 고유한 특징을 분석하는데 유리하다. Embeddings that usually show meaningful performance have a size of 1000 dimensions or more, and the higher the dimension, the less information is lost due to dimension reduction, so it is advantageous to inversely estimate input data with embedded information or analyze unique features. do.
그러나 역으로 임베딩된 차원이 클수록 벡터공간을 사람이 직관적으로 이해하기 곤란하고, 높은 차원에서 탐색 범위를 설정하는 것이 곤란한 경우가 있을 수 있다. Conversely, however, as the dimension of embedding increases, it may be difficult for people to intuitively understand a vector space and it may be difficult to set a search range in a high dimension.
본 발명의 실시예에 따르면, 임베딩 벡터공간 축소부(102)가 임베딩된 데이터를 보다 낮은 차원으로 축소하는 처리를 수행한다. According to an embodiment of the present invention, the embedding vector space reduction unit 102 performs a process of reducing the embedded data to a lower dimension.
축소하고자 하는 보다 낮은 차원으로는, 사람이 이해하거나 다루기 용이한 2차원 혹은 3차원이 될 가능성이 높다. 왜냐하면 2차원이나 3차원이 되면 해석과 제어가 용이하고 연산처리도 간단해질 수 있기 때문이다. The lower dimensions to be reduced are likely to be two or three dimensions that are easy for humans to understand or handle. This is because if it becomes 2D or 3D, analysis and control are easy and calculation processing can be simplified.
임베딩 벡터공간 축소부(102)는 K개의 임베딩부 각각에 대해서 독립적이고 병렬적으로 축소 처리를 수행하는 것이 바람직하다. Preferably, the embedding vector space reduction unit 102 independently and parallelly performs reduction processing for each of the K embedding units.
일례로 임베딩부 1은 100차원을 2차원으로 축소할 수도 있고, 임베딩부 2는 1000차원을 3차원으로 축소할 수도 있는 것이다. 그리고 임베딩부 별로 차원을 축소하는 방법은 제1 데이터 집합 Q와 제2 데이터 집합 S에 대해서 동일하게 처리해야만 한다.For example, the embedding unit 1 may reduce 100 dimensions to 2 dimensions, and the embedding unit 2 may reduce 1000 dimensions to 3 dimensions. In addition, the method of reducing the dimension for each embedding unit must be equally processed for the first data set Q and the second data set S.
임베딩부 축소와 관련하여 예를들어 설명하면 다음과 같다.In relation to the reduction of the embedding unit, an example will be described as follows.
제1 데이터 집합 Q에 대해서, i번째 임베딩부로 임베딩된 벡터들의 집합이 Ei(Q) = {Ei(q1), Ei(q2), …, Ei(qN)}이고, 제2 데이터 집합 S에 대해서, i번째 임베딩부로 임베딩된 벡터들의 집합이 Ei(S) = {Ei(s1), Ei(s2), …, Ei(sN)} 였다고 가정하면, 임베딩 방법 Ei()를 통과하여 1000차원 벡터가 되었다고 가정한다. 그러면 Ei(q1), Ei(q2), ..., Ei(qN), Ei(s1), Ei(s2), …, Ei(sN) 와 같은 임베딩된 벡터의 차원은 모두 1000차원으로 동일하다. 즉, 동일한 1000차원의 벡터공간에 자신만의 벡터 위치를 나타내게 되는 것이다.For the first data set Q, the set of vectors embedded in the ith embedding unit E i (Q) = {E i (q 1 ), E i (q 2 ), . . . , E i (q N )}, and for the second data set S, the set of vectors embedded in the ith embedding unit is E i (S) = {E i (s 1 ), E i (s 2 ), . . . , E i (s N )}, it is assumed that it passed through the embedding method E i () and became a 1000-dimensional vector. Then E i (q 1 ), E i (q 2 ), ..., E i (q N ), E i (s 1 ), E i (s 2 ), ... , E i (s N ) have the same dimension of 1000 dimensions. That is, it represents its own vector position in the same 1000-dimensional vector space.
이런 상황에서 임베딩 벡터공간 축소부(102)를 거치게 되면 Ei()가 새로운 newEi() 가 되는 효과가 발생한다. newEi()는 2차원이나 3차원과 같은 1000차원보다 낮은 차원의 벡터가 된다. 즉, 임베딩 벡터공간 축소부(102)의 처리를 통해, 이전 단계에서 임베딩된 벡터들은 newEi(q1), newEi(q2), ..., newEi(qN), newEi(s1), newEi(s2), …, newEi(sN)과 같이 축소된 벡터공간에서의 벡터 위치를 나타내게 된다.In this situation, when passing through the embedding vector space reduction unit 102, an effect occurs in which E i () becomes a new newE i (). newE i () becomes a vector of dimension lower than 1000, such as 2D or 3D. That is, through the processing of the embedding vector space reducer 102, the vectors embedded in the previous step are newE i (q 1 ), newE i (q 2 ), ..., newE i (q N ), newE i ( s 1 ), newE i (s 2 ), . , it represents the position of a vector in a reduced vector space, such as newE i (s N ).
임베딩된 차원을 낮은 차원으로 축소하는 구체적인 방법으로는 다음과 같은 방법이 있다. As a specific method of reducing an embedded dimension to a lower dimension, there are the following methods.
(1) 종래의 PCA(Principle Component Analysis)를 적용한다. PCA는 입력된 데이터를 임베딩 하는데도 사용할 수 있지만, 이미 임베딩된 벡터공간의 차원을 축소하는데 사용할 수 있다. 일례로 1000차원의 데이터를 PCA를 수행하면 원래의 벡터공간에서 내포하고 있는 정보량(정보의 에너지)을 최대한 적게 손상시키면서 낮은 차원의 벡터공간으로 매핑(mapping 또는 projection) 할 수 있다. (1) Apply conventional PCA (Principle Component Analysis). PCA can be used not only to embed input data, but also to reduce the dimensionality of an already embedded vector space. For example, if PCA is performed on 1000-dimensional data, it is possible to map (mapping or projection) to a low-dimensional vector space while damaging the amount of information (energy of information) contained in the original vector space as little as possible.
(2) 종래의 벡터 양자화(Vector Quantization) 방법을 적용한다. 벡터 양자화를 Z개의 벡터의 집합 X를 K개의 벡터의 집합 Y로 매핑(mapping, 사상)하는 것으로 정의할 수 있듯이, 높은 차원의 임베딩 벡터의 집합을 보다 낮은 차원의 임베딩 벡터의 집합으로 사상한다. (2) A conventional vector quantization method is applied. As vector quantization can be defined as mapping (mapping) a set X of Z vectors to a set Y of K vectors, a set of high-dimensional embedding vectors is mapped to a set of low-dimensional embedding vectors.
(3) 임베딩된 벡터들의 일부를 추출하는 방식으로 차원을 줄이는 것이 가능하다. 일례로 임베딩된 벡터의 집합이 X = {A, B, C, D, E} 라면, 이것의 차원을 줄이기 위해서 Y = {A, B} 나 Y = {C, D, E} 와 같이 소정의 규칙에 의해 단순 추출하는 방식이다. 이렇게 해도 원리적으로 가능한 것이 임베딩된 벡터공간은 벡터공간의 위치 하나하나가 고유한 의미와 특징을 내포할 가능성이 크기 때문이다. 일례로 상기 X를 구성하는 벡터 A가 "사람의 성별", 벡터 B가 "연령대", 벡터 C가 "인종", 벡터 D가 "관심사", 벡터 E가 "취미"라고 한다면 임의의 원소만 추출하더라도 원하는 분석을 수행할 수 있다. 이 경우 임베딩된 벡터공간에서의 벡터들이 내포하고 있는 의미와 특징을 정확히 알아야 효과적으로 해석할 수 있다는 전제가 있다. (3) It is possible to reduce the dimension by extracting some of the embedded vectors. For example, if the set of embedded vectors is X = {A, B, C, D, E}, in order to reduce its dimensionality, Y = {A, B} or Y = {C, D, E} It is a method of simple extraction by rules. Even if this is possible in principle, it is because there is a high possibility that each position of the vector space in which the vector space is embedded contains unique meanings and characteristics. For example, if vector A constituting the above X is "person's gender", vector B is "age group", vector C is "race", vector D is "interest", and vector E is "hobby", then only random elements are extracted. However, you can perform any analysis you want. In this case, there is a premise that the meaning and characteristics of the vectors in the embedded vector space can be effectively interpreted only when the exact meaning and characteristics are implied.
이렇게 차원을 줄이고 나면 결정경계를 계산하기 위해서 2차원이나 3차원과 같은 보로노이 다이어그램 방식이나 가우시안 방식을 사용하면 되므로, 고차원 알고리즘을 사용하는 것에 비해서 훨씬 간단하게 처리가 가능하다.After reducing the dimension in this way, it is possible to use a Voronoi diagram method such as a 2-dimensional or 3-dimensional method or a Gaussian method to calculate a decision boundary, so that processing is much simpler than using a high-dimensional algorithm.
한편, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.Meanwhile, the embedding-based data set processing method according to an embodiment of the present invention may be implemented in a computer system or recorded on a recording medium. A computer system may include at least one processor, a memory, a user input device, a data communication bus, a user output device, and a storage. Each of the aforementioned components communicates data through a data communication bus.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다. The computer system may further include a network interface coupled to the network. The processor may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in memory and/or storage.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.The memory and storage may include various types of volatile or non-volatile storage media. For example, memory may include ROM and RAM.
따라서, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법을 수행할 수 있다.Accordingly, the embedding-based data set processing method according to an embodiment of the present invention may be implemented in a computer-executable method. When the embedding-based data set processing method according to an embodiment of the present invention is executed in a computer device, computer readable instructions may perform the embedding-based data set processing method according to the present invention.
한편, 상술한 본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.Meanwhile, the above-described embedding-based data set processing method according to the present invention can be implemented as computer readable codes on a computer readable recording medium. Computer-readable recording media includes all types of recording media in which data that can be decoded by a computer system is stored. For example, there may be read only memory (ROM), random access memory (RAM), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed in computer systems connected through a computer communication network, and stored and executed as readable codes in a distributed manner.
도 10은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법을 도시한다. 10 illustrates a method of processing an embedding-based data set according to an embodiment of the present invention.
본 발명의 실시예 따른 임베딩 기반 데이터 집합의 처리 방법은 데이터 집합을 수신하는 단계(S1001)와. 다중 벡터공간 임베딩을 수행하는 단계(S1002)와, 제1 데이터 집합 기반 탐색 범위를 결정하는 단계(S1004) 및 제2 데이터 집합 탐색 및 출력을 수행하는 단계(S1005)를 포함한다. A method of processing a data set based on embedding according to an embodiment of the present invention includes receiving a data set (S1001). It includes performing multi-vector space embedding (S1002), determining a first data set-based search range (S1004), and performing a second data set search and output (S1005).
S1002 단계는 데이터 집합을 벡터 공간에 표현하되, 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다. In step S1002, the data set is expressed in a vector space, and elements of the input data are passed through a plurality of embedding units to be embedded in each vector space.
S1004 단계는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다. In step S1004, a reference position or boundary for search is determined, and a search range is determined using a preset search distance parameter.
S1004 단계는 제1 데이터 집합의 원소들의 위치를 참조 위치로 결정한다. In step S1004, positions of elements of the first data set are determined as reference positions.
S1004 단계는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 결정한다. In step S1004, linearly combined positions of elements of the first data set are determined as reference positions.
S1004단계는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정한다. In step S1004, a boundary is determined in consideration of positions of elements of the first data set.
S1005 단계는 출력후보 부분집합을 획득하고, 기설정 방식에 따라 출력을 수행한다. In step S1005, a subset of output candidates is acquired and output is performed according to a preset method.
본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 S1002 단계 이후 및 S1004 단계 이전에, 임베딩 결과에 대한 차원 축소를 수행하는 단계(S1003)를 더 포함한다. The embedding-based data set processing method according to an embodiment of the present invention further includes performing dimensionality reduction on the embedding result (S1003) after step S1002 and before step S1004.
도 11은 본 발명의 실시예에 따른 방법을 구현하기 위한 컴퓨터 시스템을 나타낸 블록도이다.11 is a block diagram illustrating a computer system for implementing a method according to an embodiment of the present invention.
도 11을 참조하면, 컴퓨터 시스템(1000)은, 버스(1070)를 통해 통신하는 프로세서(1010), 메모리(1030), 입력 인터페이스 장치(1050), 출력 인터페이스 장치(1060), 및 저장 장치(1040) 중 적어도 하나를 포함할 수 있다. 컴퓨터 시스템(1000)은 또한 네트워크에 결합된 통신 장치(1020)를 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(1030) 또는 저장 장치(1040)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 저장 장치(1040)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 본 기재의 실시예에서 메모리는 프로세서의 내부 또는 외부에 위치할 수 있고, 메모리는 이미 알려진 다양한 수단을 통해 프로세서와 연결될 수 있다. 메모리는 다양한 형태의 휘발성 또는 비휘발성 저장 매체이며, 예를 들어, 메모리는 읽기 전용 메모리(read-only memory, ROM) 또는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다.Referring to FIG. 11 , a computer system 1000 includes a processor 1010, a memory 1030, an input interface device 1050, an output interface device 1060, and a storage device 1040 communicating through a bus 1070. ) may include at least one of Computer system 1000 may also include a communication device 1020 coupled to a network. The processor 1010 may be a central processing unit (CPU) or a semiconductor device that executes instructions stored in the memory 1030 or the storage device 1040 . The memory 1030 and the storage device 1040 may include various types of volatile or non-volatile storage media. For example, memory can include read only memory (ROM) and random access memory (RAM). In an embodiment of the present description, the memory may be located inside or outside the processor, and the memory may be connected to the processor through various known means. Memory is a volatile or non-volatile storage medium in various forms, and may include, for example, read-only memory (ROM) or random access memory (RAM).
따라서, 본 발명의 실시예는 컴퓨터에 구현된 방법으로서 구현되거나, 컴퓨터 실행 가능 명령이 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 한 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능 명령은 본 기재의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.Accordingly, an embodiment of the present invention may be implemented as a computer-implemented method or as a non-transitory computer-readable medium in which computer-executable instructions are stored. In one embodiment, when executed by a processor, the computer readable instructions may perform a method according to at least one aspect of the present disclosure.
통신 장치(1020)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.The communication device 1020 may transmit or receive a wired signal or a wireless signal.
또한, 본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다. In addition, the method according to the embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 본 발명의 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer readable medium may be specially designed and configured for the embodiments of the present invention, or may be known and usable to those skilled in the art in the field of computer software. A computer-readable recording medium may include a hardware device configured to store and execute program instructions. For example, computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, floptical disks and It may be the same magneto-optical media, ROM, RAM, flash memory, or the like. The program instructions may include high-level language codes that can be executed by a computer through an interpreter, as well as machine language codes generated by a compiler.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also included in the scope of the present invention. that fall within the scope of the right.

Claims (16)

  1. 입력된 데이터를 벡터 공간에 표현하는 다중 벡터공간 임베딩부; a multi-vector space embedding unit that expresses input data in a vector space;
    상기 다중 벡터공간 임베딩부의 임베딩 결과를 이용하여, 탐색 범위를 결정하는 제1 데이터 집합 기반 탐색 범위 결정부; 및a first data set-based search range determining unit for determining a search range using an embedding result of the multi-vector space embedding unit; and
    데이터 탐색 공간인 제2 데이터 집합에서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 제2 데이터 집합 탐색 및 출력부A second data set search and output unit that constructs a new data set by extracting subset data from the second data set, which is a data search space.
    를 포함하는 임베딩 기반 데이터 집합의 처리 장치. Embedding-based data set processing unit comprising a.
  2. 제1항에 있어서, According to claim 1,
    상기 다중 벡터공간 임베딩부는 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩하는 것The multi-vector space embedding unit passes elements of the input data through a plurality of embedding units and embeds them in each vector space.
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  3. 제1항에 있어서, According to claim 1,
    상기 제1 데이터 집합 기반 탐색 범위 결정부는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 결정된 위치로부터 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정하는 것The first data set-based search range determination unit determines a reference position or boundary for search, and determines a search range using a preset search distance parameter from the determined position.
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  4. 제3항에 있어서, According to claim 3,
    상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 제2 데이터 집합에서 탐색을 수행하여 상기 제2 데이터 집합의 부분집합을 출력하는 것The first data set-based search range determination unit sets positions of elements of the first data set as reference positions, and the second data set search and output unit performs a search in the second data set to obtain a subset of the second data set. to output
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  5. 제3항에 있어서, According to claim 3,
    상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 탐색 범위에 대한 탐색을 수행하여 제2 데이터 집합의 부분집합을 출력하는 것The first data set-based search range determining unit determines the linearly combined positions of the elements of the first data set as a reference location, and the second data set search and output unit performs a search on the search range to determine a portion of the second data set. outputting a set
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  6. 제3항에 있어서, According to claim 3,
    상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 상기 제2 데이터 집합 탐색 및 출력부는 경계부에 기초하여 탐색을 수행하고 제2 데이터 집합의 부분집합을 출력하는 것The first data set-based search range determination unit determines a boundary by considering the positions of elements of the first data set, and the second data set search and output unit performs a search based on the boundary and determines a subset of the second data set. to output
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서, According to any one of claims 4 to 6,
    상기 제2 데이터 집합 탐색 및 출력부는 출력후보 부분집합을 획득하고 무작위로 선택하여 출력하거나, 전부를 출력하거나, 특정 임베딩부의 처리 결과를 출력하는 것The second data set search and output unit obtains a subset of output candidates and randomly selects and outputs them, outputs all of them, or outputs the processing result of a specific embedding unit.
    인 임베딩 기반 데이터 집합의 처리 장치. A processing unit for in-embedding-based data sets.
  8. 제1항에 있어서, According to claim 1,
    상기 임베딩 결과에 대한 차원 축소를 수행하는 임베딩 벡터공간 축소부 An embedding vector space reduction unit for performing dimensionality reduction on the embedding result.
    를 더 포함하는 임베딩 기반 데이터 집합의 처리 장치. Embedding-based data set processing unit further comprising a.
  9. (a) 데이터 집합을 수신하는 단계; (a) receiving a data set;
    (b) 다중 벡터공간 임베딩을 수행하는 단계; (b) performing multiple vector space embeddings;
    (c) 제1 데이터 집합 기반 탐색 범위를 결정하는 단계; 및(c) determining a search range based on a first data set; and
    (d) 제2 데이터 집합 탐색 및 출력을 수행하는 단계(d) performing a second data set search and output;
    를 포함하는 임베딩 기반 데이터 집합의 처리 방법. A method of processing an embedding-based data set comprising a.
  10. 제9항에 있어서, According to claim 9,
    상기 (b) 단계는 데이터 집합을 벡터 공간에 표현하되, 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩하는 것The step (b) expresses the data set in a vector space, and embeds the elements of the input data into each vector space by passing them through a plurality of embedding units.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  11. 제9항에 있어서, According to claim 9,
    상기 (c) 단계는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정하는 것The step (c) is to determine a reference position or boundary for search and to determine a search range using a preset search distance parameter.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  12. 제11항에 있어서, According to claim 11,
    상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 참조 위치로 결정하는 것The step (c) is to determine the positions of the elements of the first data set as reference positions.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  13. 제11항에 있어서, According to claim 11,
    상기 (c) 단계는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 결정하는 것The step (c) is to determine the linearly combined positions of the elements of the first data set as reference positions.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  14. 제11항에 있어서, According to claim 11,
    상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하는 것Step (c) is to determine the boundary by considering the positions of elements of the first data set.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  15. 제9항에 있어서, According to claim 9,
    상기 (d) 단계는 출력후보 부분집합을 획득하고, 기설정 방식에 따라 출력을 수행하는 것The step (d) is to obtain a subset of output candidates and perform output according to a preset method.
    인 임베딩 기반 데이터 집합의 처리 방법. How to process in-embedding based datasets.
  16. 제9항에 있어서, According to claim 9,
    상기 (b) 단계 이후 및 상기 (c) 단계 이전에, 임베딩 결과에 대한 차원 축소를 수행하는 단계After step (b) and before step (c), performing dimensionality reduction on the embedding result.
    를 더 포함하는 임베딩 기반 데이터 집합의 처리 방법. A method of processing an embedding-based data set further comprising a.
PCT/KR2022/020118 2021-12-14 2022-12-12 Apparatus for processing embedding-based dataset, and method therefor WO2023113400A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0179037 2021-12-14
KR1020210179037A KR102592515B1 (en) 2021-12-14 2021-12-14 Apparatus and method for embedding-based data set processing

Publications (1)

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

Family

ID=86772992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/020118 WO2023113400A1 (en) 2021-12-14 2022-12-12 Apparatus for processing embedding-based dataset, and method therefor

Country Status (2)

Country Link
KR (1) KR102592515B1 (en)
WO (1) WO2023113400A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012029152A2 (en) * 2010-09-02 2012-03-08 Fujita Osamu Device and method for calculation of distance between datasets
WO2020152848A1 (en) * 2019-01-25 2020-07-30 日本電気株式会社 Recognizer training device, recognition device, data processing system, data processing method, and storage medium
US20200285992A1 (en) * 2019-03-04 2020-09-10 Kabushiki Kaisha Toshiba Machine learning model compression system, machine learning model compression method, and computer program product
KR20210035017A (en) * 2019-09-23 2021-03-31 삼성전자주식회사 Neural network training method, method and apparatus of processing data based on neural network
KR102271736B1 (en) * 2020-09-11 2021-07-02 주식회사 뉴로클 Method and apparatus for automated machine learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012029152A2 (en) * 2010-09-02 2012-03-08 Fujita Osamu Device and method for calculation of distance between datasets
WO2020152848A1 (en) * 2019-01-25 2020-07-30 日本電気株式会社 Recognizer training device, recognition device, data processing system, data processing method, and storage medium
US20200285992A1 (en) * 2019-03-04 2020-09-10 Kabushiki Kaisha Toshiba Machine learning model compression system, machine learning model compression method, and computer program product
KR20210035017A (en) * 2019-09-23 2021-03-31 삼성전자주식회사 Neural network training method, method and apparatus of processing data based on neural network
KR102271736B1 (en) * 2020-09-11 2021-07-02 주식회사 뉴로클 Method and apparatus for automated machine learning

Also Published As

Publication number Publication date
KR20230090094A (en) 2023-06-21
KR102592515B1 (en) 2023-10-23

Similar Documents

Publication Publication Date Title
WO2018212494A1 (en) Method and device for identifying object
WO2019074195A1 (en) Device and method for deep learning-based image comparison, and computer program stored in computer-readable recording medium
WO2019098414A1 (en) Method and device for hierarchical learning of neural network, based on weakly supervised learning
WO2019098449A1 (en) Apparatus related to metric-learning-based data classification and method thereof
WO2011096651A2 (en) Face identification method and device thereof
WO2015069087A1 (en) Reader learning method and device, data recognition method and device
WO2020196985A1 (en) Apparatus and method for video action recognition and action section detection
WO2022149696A1 (en) Classification method using deep learning model
WO2020045848A1 (en) System and method for diagnosing disease using neural network performing segmentation
CN112990122B (en) Complex behavior identification method based on video basic unit analysis
WO2022086145A1 (en) Method for training and testing obfuscation network capable of processing data to be obfuscated for privacy, and training device and testing device using the same
WO2019098454A1 (en) Technique for generating and utilizing virtual fingerprint representing text data
Cao et al. Metric learning for anti-compression facial forgery detection
WO2022119162A1 (en) Medical image-based disease prediction method
WO2022086147A1 (en) Method for training and testing user learning network to be used for recognizing obfuscated data created by obfuscating original data to protect personal information and user learning device and testing device using the same
Huang et al. Mixture of deep CNN-based ensemble model for image retrieval
WO2020032561A2 (en) Disease diagnosis system and method using multiple color models and neural network
WO2021010671A9 (en) Disease diagnosis system and method for performing segmentation by using neural network and unlocalized block
WO2023113400A1 (en) Apparatus for processing embedding-based dataset, and method therefor
WO2020032560A2 (en) Diagnosis result generation system and method
Aslam et al. Emotion based facial expression detection using machine learning
WO2024080791A1 (en) Method for generating dataset
WO2024155137A1 (en) Method and device for performing visual localization
WO2021125521A1 (en) Action recognition method using sequential feature data and apparatus therefor
WO2024071884A1 (en) Apparatus and method for generating image of bald head person, virtual hair styling experience apparatus comprising apparatus for generating bald head person image, and virtual hair styling method using same

Legal Events

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

Ref document number: 22907867

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE