KR102592515B1 - 임베딩 기반 데이터 집합의 처리 장치 및 그 방법 - Google Patents

임베딩 기반 데이터 집합의 처리 장치 및 그 방법 Download PDF

Info

Publication number
KR102592515B1
KR102592515B1 KR1020210179037A KR20210179037A KR102592515B1 KR 102592515 B1 KR102592515 B1 KR 102592515B1 KR 1020210179037 A KR1020210179037 A KR 1020210179037A KR 20210179037 A KR20210179037 A KR 20210179037A KR 102592515 B1 KR102592515 B1 KR 102592515B1
Authority
KR
South Korea
Prior art keywords
data set
embedding
data
search
elements
Prior art date
Application number
KR1020210179037A
Other languages
English (en)
Other versions
KR20230090094A (ko
Inventor
박종빈
정종진
김경원
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020210179037A priority Critical patent/KR102592515B1/ko
Priority to PCT/KR2022/020118 priority patent/WO2023113400A1/ko
Publication of KR20230090094A publication Critical patent/KR20230090094A/ko
Application granted granted Critical
Publication of KR102592515B1 publication Critical patent/KR102592515B1/ko

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

본 발명은 인공지능 기술 개발 및 기계학습 분야에 활용할 수 있는 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 상세하게는 임베딩 기반 데이터 집합의 처리 장치 및 그 방법에 관한 것이다.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 장치는 입력된 데이터를 벡터 공간에 표현하는 다중 벡터공간 임베딩부와, 다중 벡터공간 임베딩부의 임베딩 결과를 이용하여, 탐색 범위를 결정하는 제1 데이터 집합 기반 탐색 범위 결정부 및 데이터 탐색 공간인 제2 데이터 집합에서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 제2 데이터 집합 탐색 및 출력부를 포함한다.

Description

임베딩 기반 데이터 집합의 처리 장치 및 그 방법{APPARATUS AND METHOD FOR EMBEDDING-BASED DATA SET PROCESSING}
본 발명은 인공지능 기술 개발 및 기계학습 분야에 활용할 수 있는 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 상세하게는 임베딩 기반 데이터 집합의 처리 장치 및 그 방법에 관한 것이다.
딥러닝과 같은 기계학습분야에서는 인공적으로 신경망 모델을 구성하고 이를 학습하기 위해 대량의 학습데이터를 요구한다. 모델의 학습이란 신경망을 기술하는 가중치(weight)나 바이어스(bias)와 같은 매개변수(parameter)의 값을 결정하는 과정이다. 매개변수를 훈련하려면 수천에서 수만 개, 또는 그 이상의 학습데이터가 필요하다. 인공신경망 모델에 따라서는 부족한 데이터로 학습을 수행할 경우 주어진 소량의 데이터에만 학습된 모델이 정상 반응하고 나머지 입력데이터를 잘 처리하지 못하는 과적합(over-fitting) 결과를 초래할 수 있다. 이를 해결하려면 다수의 학습데이터가 필요한데, 많은 경우 데이터 확보를 위해 시간, 자원, 금전 비용이 많이 필요한 문제점이 있다.
종래 기술에 따른 데이터 증강(Data Augmentation)은 학습 시 필요한 데이터 부족 문제를 해소하기 위해서 제안된 것으로, 주어진 데이터를 변형하여 학습데이터의 양을 늘린다. 일례로 영상에 대해서는 주어진 데이터에 대해서 밝기 변환, 기하학적 왜곡, 첨예도 처리, 색상처리와 같은 변형 작업을 수행하여 다양성을 높인다. 소수의 변환 기술들을 사용하더라도 매개변수를 조절하고, 변환 방법을 서로 조합하고, 최종 변환된 출력을 다시 변환기에 입력하는 과정을 반복 수행함으로써, 천문학적인 개수의 데이터 집합을 만들어 낼 수도 있다는 장점이 있다. 그런데, 증식한 일부 데이터는 학습에 사용 시 오히려 학습한 모델의 성능이 감소할 수도 있고, 지나치게 많은 데이터로 인해 학습에 필요한 연산시간과 자원이 지나치게 커질 수도 있다.
종래 기술에 따르면, 기계학습에 의한 분류기를 학습(training)시키거나 시험(test)하기 위해서 난이도 제어가 용이하지 않다는 문제점이 있다. 일례로 특성이 명확한 학습데이터(training data)만을 사용하여 학습한다면 쉽게 학습이 될 수 있다. 특성이 명확하고 구분이 쉬운 시험데이터(test data)만을 사용한다면 성능이 높게 나타날 수 있는데, 이는 일종의 과적합(over fitting) 문제의 일종이다. 이를 해결하려면 사람도 구분하기 어려울 정도의 어려운 난이도의 데이터를 학습데이터나 시험데이터에 주입하는 것이 실제적인 성능향상에 도움이 될 수 있다. 이를 비유적으로 표현한다면 학습 역량이 뛰어난 학생이 쉬운 문제만 풀고 있어서 학습에 진전이 없거나, 기초 실력이 없는 학생이 너무 어려운 문제만을 해결하려다 보니 어려운 문제는 외워서 해결할 수 있지만, 기초가 되는 쉬운 문제를 해결하지 못하는 상황과 유사하다. 종래에는 데이터를 선별하고 전처리하는 작업을 사용자가 미리 처리했다는 가정을 했는데, 학습데이터의 난이도까지 고려하여 수작업으로 데이터를 확보하는 과정이 용이하지 않은 문제점이 있다.
기계학습과 같은 데이터를 다루는 과정에서는 학습데이터, 검증데이터, 시험데이터를 구성함에 있어서 양을 늘이는 것 못지 않게, 다양한 특징을 갖거나, 원하는 특징을 갖는 데이터 집합을 필요로 할 경우가 많다. 일례로 얼굴을 보고 인물의 신분(ID, identification)을 특정하는 분류기를 학습시킬 때 특정한 성별, 연령, 인종과 같은 통제된 조건의 데이터가 필요한 경우가 있다. 종래에는 이를 처리하기 위해서 사람이 사전에 분류하여 데이터를 마련하는 노력이 필요했으며, 분류를 위한 시간과 비용이 많이 소요되고, 이미 분류된 데이터라고 할지라도 더 세부적인 구분은 되어 있지 않은 한계가 있다. 예컨대, 30대의 얼굴이라고는 분류되었어도, 31세인지, 39세인지는 상세한 구분이 불가능한 한계가 있다. 또 다른 예로써, 도로운행 중 나타나는 도로표지판 객체를 인식하는 신경망 모델을 만든다고 할 때 "비가 올 때 촬영된 도로표지판"이 학습을 위해 많이 추가되어야 한다고 가정하면, 종래에는 기 확보된 데이터 집합에서 "비가 올 때 촬영된 도로표지판"을 찾기 위한 효과적이고 적절한 방법이 마련되어 있지 않았다.
기계학습이나 인공지능 분야에서 분류기(classifier)나 GAN과 같은 생성모델(generative model)을 학습시키는데 있어서 단순히 학습데이터 규모를 키워서 주입시키는 것만이 능사는 아니다. 서로 구분이 모호한 데이터를 학습 과정에 주입시킴으로써 기계학습의 성능을 개선시킬 수 있는데, 일례로 "사과"와 "딸기" 사진을 주고 이를 분류하는 기계학습 기반의 분류기를 가정하면, 종래에는 이런 분류기를 만들기 위해 다수의 "사과"와 "딸기" 사진을 학습에 사용하는 것이 합리적인 선택이라고 여겨져 왔으나, "사과"나 "딸기"를 구분하기 용이한 데이터만을 학습 과정에 주입했다면 구분이 모호한 데이터에 대해서는 올바른 결정을 하기 어려운 문제점이 있다. 이를 결정경계 (decision boundary) 데이터라고 칭한다면, 이를 명시적으로 고려하여 학습을 수행하지 않는 것이 통상적이었다.
본 발명은 전술한 문제점을 해결하기 위해 제안된 것으로, 학습데이터의 다양성을 향상시키고, 학습의 난이도를 조절하는 등 인공지능 및 기계학습 기술의 개발을 위한 실제적인 데이터 처리 기술을 제안함으로써, 인공신경망과 같은 기계학습을 위한 학습 데이터의 품질을 개선하는 것이 가능한 임베딩 기반 데이터 집합의 처리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 인공지능 기술 개발 및 기계학습 분야에 활용할 수 있는 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 상세하게는 임베딩 기반 데이터 집합의 처리 장치 및 그 방법에 관한 것이다.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 장치는 입력된 데이터를 벡터 공간에 표현하는 다중 벡터공간 임베딩부와, 다중 벡터공간 임베딩부의 임베딩 결과를 이용하여, 탐색 범위를 결정하는 제1 데이터 집합 기반 탐색 범위 결정부 및 데이터 탐색 공간인 제2 데이터 집합에서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 제2 데이터 집합 탐색 및 출력부를 포함한다.
상기 다중 벡터공간 임베딩부는 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 결정된 위치로부터 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 제2 데이터 집합에서 탐색을 수행하여 상기 제2 데이터 집합의 부분집합을 출력한다.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 정하고, 상기 제2 데이터 집합 탐색 및 출력부는 탐색 범위에 대한 탐색을 수행하여 제2 데이터 집합의 부분집합을 출력한다.
상기 제1 데이터 집합 기반 탐색 범위 결정부는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 상기 제2 데이터 집합 탐색 및 출력부는 경계부에 기초하여 탐색을 수행하고 제2 데이터 집합의 부분집합을 출력한다.
상기 제2 데이터 집합 탐색 및 출력부는 출력후보 부분집합을 획득하고 무작위로 선택하여 출력하거나, 전부를 출력하거나, 특정 임베딩부의 처리 결과를 출력한다.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 장치는 상기 임베딩 결과에 대한 차원 축소를 수행하는 임베딩 벡터공간 축소부를 더 포함한다.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 (a) 데이터 집합을 수신하는 단계와. (b) 다중 벡터공간 임베딩을 수행하는 단계와, (c) 제1 데이터 집합 기반 탐색 범위를 결정하는 단계 및 (d) 제2 데이터 집합 탐색 및 출력을 수행하는 단계를 포함한다.
상기 (b) 단계는 데이터 집합을 벡터 공간에 표현하되, 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다.
상기 (c) 단계는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다.
상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 참조 위치로 결정한다.
상기 (c) 단계는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 결정한다.
상기 (c) 단계는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정한다.
상기 (d) 단계는 출력후보 부분집합을 획득하고, 기설정 방식에 따라 출력을 수행한다.
본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 상기 (b) 단계 이후 및 상기 (c) 단계 이전에, 임베딩 결과에 대한 차원 축소를 수행하는 단계를 더 포함한다.
본 발명에 따르면, 기계학습을 위한 데이터 확보가 용이한 장점이 있다.
본 발명에 따르면, 데이터의 다양성을 높일 수 있고, 원하는 데이터 분포를 만들 수 있고, 소정의 특징을 갖는 데이터 집합을 구성할 수 있고, 결정경계에 있는 데이터를 선별하여 데이터 집합을 구성할 수 있고, 이상치(Anomaly, Outlier) 데이터를 제거하거나 오히려 포함시키는 것과 같은 다양한 학습데이터 처리가 가능한 장점이 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다.
도 2는 본 발명에 따른 활용 실시예를 도시한다.
도 3 및 도 4는 본 발명의 실시예에 따른 데이터 임베딩을 도시한다.
도 5는 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 2개인 경우)을 도시한다.
도 6은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 3개인 경우)을 도시한다.
도 7은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 4개인 경우)을 도시한다.
도 8은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정에 있어서 복수개의 거리 매개변수 ε을 적용하는 예를 도시한다.
도 9는 본 발명의 다른 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다.
도 10은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법을 도시한다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
종래 기술에 따른 데이터 증강은 주어진 데이터를 변형, 가공하여 새로운 데이터를 만드는 방식인 반면, 본 발명의 실시예에 따르면 "제1 데이터 집합"으로 부르는 일종의 "씨앗", "가이드", "쿼리"로 간주할 수 있는 데이터 집합을 통해 데이터의 탐색 범위를 결정하여 "제2 데이터 집합"으로 부르는 일종의 데이터 탐색 공간에 대해서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 기술적 특징이 있다.
본 발명의 실시예에 따르면, 이미지, 텍스트, 오디오와 같은 미디어 타입에 대해서 임베딩 기법을 적용하여 데이터 상호간 유사성 및 차이점을 계산한다.
본 발명의 실시예에 따르면, "제1 데이터 집합"에 대해서 탐색을 위한 참조 위치 또는 경계부를 결정하고, 결정된 위치에서 소정의 탐색 거리 매개변수 ε을 통해 탐색 범위를 특정하는 기술적 특징이 있다.
본 발명의 실시예에 다르면, 복수개의 임베딩 기법을 적용하여 "제2 데이터 집합"에서 복수개의 방법으로 탐색을 실시하고 무작위(random)로 추출하거나, 일부나 전부를 선택하여 다양성을 높일 수 있게 하여 특정 임베딩 기법에 의한 편향(bias) 문제를 극복하고, 기계학습을 위한 고품질 데이터 확보가 가능한 기술적 특징이 있다.
도 1은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다.
본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치(100)는 다중 벡터공간 임베딩부(101), 제1 데이터 집합 기반 탐색 범위 결정부(103) 및 제2 데이터 집합 탐색 및 출력부(105)를 포함한다.
데이터 입출력 관점에서, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치(100)는 제1 데이터 집합 Q={q1, q2, q3, ... , qN}과 제2 데이터 집합 S={s1, s2, s3, ... , sN}를 입력받아, 제2 데이터 집합 S'를 출력한다.
출력 데이터는 통제된 특성을 갖거나, 이상치(Anomaly 혹은 Outlier), 결정경계와 관련된 데이터일 수 있다.
N과 M은 입력 데이터 제1 데이터 집합과 제2 데이터 집합에 대한 각각의 집합 크기를 나타내며, 출력되는 데이터 S'는 공집합(Empty set, Null set)을 포함한 S의 부분집합이 될 수 있다.
입력데이터는 이미지, 텍스트, 오디오 등 다양한 형태가 가능하다. 제1 데이터 집합 내부의 원소들 상호 간 미디어 타입, 제2 데이터 집합 내부의 원소들 상호 간 미디어 타입, 제1 데이터 집합과 제2 데이터 집합의 원소들 상호 간 미디어 타입은 동일한 것이 바람직하다. 일례로 텍스트면 텍스트, 이미지면 이미지, 오디오면 오디오 형식으로 데이터 집합을 이뤄야만 상호 비교가 용이하다.
도 2는 본 발명에 따른 활용 실시예를 도시한다.
도 2의 (1)을 참조하면, 제1 데이터 집합의 원소들의 위치를 참조 위치로 하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 당업자의 이해를 돕기 위해, 도 2의 (1)에 도시한 예는 제1 데이터 집합의 원소들의 위치를 참조 위치로 하여 소정의 유사도를 갖는 원소들을 탐색하여 출력하는 것을 도시한다. 일례로 제1 데이터 집합이 Q={q1, q2, q3}으로 주어졌을 때, 제2 데이터 집합에서 Q의 원소들과 유사한 데이터를 추출한다.
도 2에서 q1 은 삼각형, q2는 모서리가 둥근 사각형, q3는 오각형으로 표시되어 있으며, 각 원소를 중심으로 임계 거리 이내의 근방 영역이 녹색 영역으로 도시된다. 녹색 영역을 탐색 범위로 간주한다면, 해당 탐색 범위에 해당하는 제2 데이터 집합의 원소들을 탐색하여 출력하는 것이 가능하다. 즉, 제2 데이터 집합에서 q1와 같이 삼각형과 닮은 데이터, q2와 같이 모서리가 둥근 사각형과 닮은 데이터, q3와 같이 오각형과 닮은 데이터를 탐색하여 새로운 데이터 집합으로 활용할 수 있도록 출력한다.
이는 일견 종래의 검색 방법과 유사한 측면이 있으나, 임베딩된 벡터공간에서 다수의 원소로 소정의 범위를 설정하여 탐색범위를 설정하고 새로운 데이터 집합을 구성한다는 측면에서 차이가 있다.
본 발명의 실시예에 따르면, 유사 데이터를 추출하는 데에만 응용의 범위가 한정되지 않는다.
도 2의 (2)를 참조하면, 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하고 소정의 범위를 탐색 범위로 하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 도 2의 (2)를 참조하면, 제1 데이터 집합이 Q={q1, q2, q3} 로 주어졌고, 각 원소의 선형 결합(linear combination) 또는 가중합(weighted summation)의 위치를 참조 위치로 한 후, 소정의 탐색 범위를 정하여, 이에 해당하는 제2 데이터 집합의 부분집합을 추출하여 나타낸다. 여기서 제1 데이터 집합의 선형 결합한 위치는 각 원소들을 대표하는 평균 위치가 될 수도 있고, 원소들을 서로 분류하는데 구분이 모호한 결정경계 위치가 될 수 있고, 특정 원소와 더욱 가까운 위치가 될 수도 있는 등, 가중치를 달리하여 다양한 효과를 유도할 수 있다. 이런 처리를 위해 본 발명의 실시예에 따르면 제1 데이터 집합 Q와 제2 데이터 집합 S의 각 원소를 소정의 임베딩 처리를 거쳐서 선형 벡터공간에서 처리한다.
도 2의 (3)을 참조하면, 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위에 포함되는 영역을 탐색 범위로 정하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 2차원 평면 또는 3차원 이상의 고차원 초평면 상에서 보로노이 다이어그램(Voronoi diagram)과 같이 주어진 벡터 위치를 기반으로 초평면을 분할하는 방식을 적용하여 경계부를 얻을 수 있다. 또는, 원소의 각각 위치를 고차원 가우시안 (Guassian) 함수의 평균 위치로 간주하여 가우시안 함수들이 서로 만나는 지점을 경계부로 정할 수 있다. 전술한 방식들에 따라 경계부를 정하고 임계 범위를 탐색범위로 삼는다면 통상적으로 기계학습 기법 등을 사용하여 구분이 어려운 결정경계에 위치하는 데이터를 확보하는 것이 가능하다.
도 2의 (4)를 참조하면, 도 2의 (1) 내지 (3)의 탐색 범위를 설정하는 방법들을 조합하여, 제2 데이터 집합에서 탐색한 후, 제2 데이터 집합의 부분집합을 출력한다. 이러한 조합을 통해 매우 다양한 형태의 데이터 확보가 가능하다. 일례로 주어진 제1 데이터 집합에 대해서 {각 원소들을 참조 위치로 탐색 범위를 설정, 선형결합을 위한 원소별 가중치 설정, 경계부를 결정하기 위한 원소별 가중치 설정, 선형 결합된 위치 또는 경계부 주변에서 추가적으로 탐색하기 위한 소정의 범위 설정}을 위한 각종 매개변수(parameter)를 조절함으로써, 데이터 다양성, 데이터 난이도 제어, 결정경계 데이터의 확보와 같은 목표 달성이 가능한 효과가 있다.
다중 벡터공간 임베딩부(101)는 입력 데이터 원소를 다수의 임베딩부(임베딩부 1, 임베딩부 2, ?, 임베딩부 K)에 통과시켜서 각각의 벡터공간에 임베딩(인코딩, 매핑 또는 주입)하는 역할을 수행한다.
다중 벡터공간 임베딩부(101)에는 서로 다른 임베딩부가 포함되는데, 이를 통해 입력된 데이터를 벡터공간에 표현함에 있어서 특정 임베딩 방법으로 인한 편향된 데이터 출력을 방지하는 것이 가능하다.
[표 1]은 제1 데이터 집합 Q와 제2 데이터 집합 S의 임의의 원소들을 K개의 서로 다른 벡터공간에 임베딩 하여 얻은 벡터를 나타낸다.
[표 1]
[표 1]에서는 q라는 원소에 대해 i번째 임베딩부의 연산처리 결과를 Ei(q)와 같이 나타내고 있다. 즉, 입력된 제1 데이터 집합 Q = {q1, q2, q3, ... , qN} 에 대해서 임베딩부 1을 통해서 E1(Q) = { E1(q1), E1(q2), ... , E1(qN) }와 같은 임베딩 값들을 도출한다. 이러한 임베딩 처리를 통해, 데이터 간 유사성/차이점 계산이 효과적이고 편리한 장점이 있다.
복수의 임베딩부를 통해 생성된 임베딩 결과는 기본적으로 해당 임베딩 방법에 대해서만 상호 비교가 될 수 있다. 즉, 임베딩부 1을 통한 임베딩 된 데이터와 임베딩부 2를 통한 임베딩 된 데이터는 서로 관련이 없으며, 따라서 상호 유사성이나 차이점을 계산할 수 없다.
본 발명의 실시예에 따른 임베딩 기법은 임의의 데이터를 임의 차원의 벡터공간에 매핑하는 과정으로 정의한다. 임베딩 과정을 거쳐 출력된 데이터는 입력 시의 크기보다 더 적어지는 것이 바람직하다. 이는 통상적으로 인코딩(Encoding)으로 칭하는 과정으로써 중복되거나 불필요한 정보를 제거하고 농축된 정보로 압축하는 효과를 발생시킨다. 이러한 임베딩을 위해서는 PCA(Principle component analysis)나 LDA(Linear discriminant analysis), Laplacian eigenmaps, Isomap, LLE(Local Linear Embedding), t-SNE(Stochastic Neighbor Embedding)과 같은 방식을 사용할 수 있다.
또 다른 임베딩 방법으로는 입력된 데이터에 대해서 상위 수준의 시맨틱 정보를 얻을 수 있는 인공신경망에 통과시킨 후, 인공신경망에서 시맨틱 정보를 포함하는 레이어(Layer) 정보를 정보가 농축된 벡터공간으로 사용하는 방식을 사용하는 것이다.
본 발명의 실시예에 따르면 이러한 농축정보를 취득하는 인공신경망으로 오토인코더(Autoencoder), VAE(변이형 오토인코더, Variational Autoencoder), 생성적 적대 신경망과 같은 방식을 수정 보완하여 적용하는 것이 바람직하다. 이러한 신경망 계층은 숫자들이 나열된 배열이나 행렬의 형상을 가질 수 있는데, 이 값들은 소정의 벡터공간에 임베딩된 데이터를 의미한다. 이 벡터공간 상의 임의의 위치는 표현 벡터(Representation vector)라고도 칭할 수 있듯이, 각 위치별로 입력된 데이터의 주요 특징을 서로 다른 방식으로 표현하게 된다.
일례로 (1, 0, 0) 벡터는 "웃음", (0, 1, 0) 벡터는 "보통", (0, 0, 1) 벡터는 "울음"과 같은 의미를 표현할 수도 있는 것이다.
이러한 벡터공간은 대수적인 공간으로써 잠재 공간(Latent space)이라고도 부를 수 있으며, 신경망 모델이나 학습 방법에 따라서 서로 다른 벡터공간이 된다.
이러한 임베딩은 이미지, 텍스트, 오디오에서 각각의 미디어 포맷 별로 일관성 있게 수행하는 것이 바람직하다. 일례로 이미지는 이미지, 텍스트는 텍스트 별로 별도의 임베딩 방법을 사용하여 벡터공간에 매핑한다.
이미지에 대해서 종래에 잘 알려진 인공신경망으로는 구글의 인셉션넷(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차원의 벡터공간에 임베딩(인코딩, 매핑 혹은 주입) 되었다고 볼 수 있다.
도 3 및 도 4는 본 발명의 실시예에 따른 데이터 임베딩을 도시한다.
도 3 및 도 4는 임베딩의 개념에 대해 당업자의 이해를 돕기 위하여, 제1 데이터 집합에 대해서만 표시한 것으로, 다중 벡터공간 임베딩부(101)는 임베딩부 1과 임베딩부 2로만 구성되었다고 가정한다. 임베딩부 1과 임베딩부 2에 대해 데이터 q가 입력된다면 출력되는 임베딩 벡터는 각각 E1(q)와 E2(q)로 나타낸다.
도 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)가 되듯이, 그 값이 서로 달라지게 된다.
도 4는 제1 데이터 집합이 Q = { q1, q2, q3, q4 }라고 하는 4개의 원소인 경우에 대한 예시로써 도 3에 비해 데이터가 2개에서 4개로 확장된 경우를 도시한다. 이런 식으로 Q는 N개로 표시되는 복수개의 원소를 가질 수 있다.
전술한 바와 같이, 제1 데이터 집합 Q는 다중 벡터공간 임베딩부를 통해서 소정의 벡터공간에 임베딩 된다.
제1 데이터 집합 기반 탐색 범위 결정부(103)는 임베딩된 데이터를 기반으로 도 2를 참조하여 전술한 아래 4가지의 방식에 따라 탐색 범위를 결정한다.
(i) 제1 데이터 집합의 원소들을 참조 위치로 하여 소정의 탐색 범위를 결정
(ii) 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하여 소정의 범위를 결정
(iii) 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위와 관련되는 영역을 소정의 탐색 범위로 결정
(iv) (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정
이하에서는 "(i) 제1 데이터 집합의 원소들을 참조 위치로 하여 소정의 탐색 범위를 결정"에 대해 설명한다.
도 2의 (1)에 도시한 바와 같이, 제1 데이터 집합의 임의 원소들을 참조 위치로 하여, 주변 근방 ε 거리를 탐색 범위 결정에 사용한다.
일례로 제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라는 점을 찾아서 탐색 범위로 설정한다.
이를 데이터 q1에 대해서 절대값과 부등식으로 표현하면 다음과 같다. [수학식 1]의 부등식을 만족하는 벡터공간상의 p의 위치가 탐색 범위가 된다.
[수학식 1]
| Ei(q1) - p | < ε1
데이터 q2에 대해서도 [수학식 2]의 부등식을 만족하는 벡터공간상의 p의 위치가 또 다른 탐색 범위가 된다.
[수학식 2]
| Ei(q2) - p | < ε2
[수학식 1] 및 [수학식 2]를 만족하는 탐색 범위는 도 2 의 (1)에서 녹색 영역으로 표현한 범위이다.
이는 [수학식 3]과 같이 다양한 변형이 가능한데, 다시 말하면 탐색 범위는 소정의 기준점을 중심으로 ε 거리를 경계로 하여 내부, 외부, 경계 지점이 모두 될 수 있다.
이와 같이 다양한 가능성을 지원하는 이유는 기계학습 데이터를 다양한 방법으로 조합하고 구성하기 위함이다.
[수학식 3]
| Ei(q1) - p | > ε1 (1)
| Ei(q1) - p | = ε1 (2)
| Ei(q2) - p | > ε2 (3)
| Ei(q2) - p | = ε2 (4)
[수학식 3]에서 (1)은 임베딩된 벡터공간 상에서 벡터 Ei(q1)를 기준으로 ε1 보다 멀리 떨어진 벡터 p의 집합, (2)는 임베딩된 벡터공간 상에서 벡터 Ei(q1)를 기준으로 ε1 만큼 떨어진 벡터 p의 집합, (3)은 임베딩된 벡터공간 상에서 벡터 Ei(q2)를 기준으로 ε2 보다 멀리 떨어진 벡터 p의 집합, (4)는 임베딩된 벡터공간 상에서, 벡터 Ei(q2)를 기준으로 ε2 만큼 떨어진 벡터 p의 집합을 의미한다.
이하에서는 "(ii) 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 하여 소정의 범위를 결정"에 대해 설명한다.
제1 데이터 집합이 Q = { q1, q2 }로 주어진 경우를 가정하면, i번째 임베딩 방법 임베딩 i을 수행하여 { Ei(q1), Ei(q2) }의 임베딩 벡터를 얻는다. 선형 결합을 위한 가중치가 { w1, w2 }로 주어지고, 탐색 범위가 ε으로 주어졌다면 선형 결합된 위치 T = w1 x Ei(q1) + w2 x Ei(q2)로 얻을 수 있다.
그러면 T를 중심으로 ε의 거리를 기준으로 내부, 외부, 경계를 탐색 범위로 삼으면 되며, 이는 아래 [수학식 4]와 같다.
여기서 모든 가중치의 합은 w1 + w2 = 1 이다. 이 경우는 원소가 2개뿐인 경우로써 원소가 N개인 경우에는 w1 + w2 + … + wN = 1 이다.
[수학식 4]
| T - p | < ε
| T - p | > ε
| T - p | = ε
도 5는 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 2개인 경우)을 도시한다.
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)으로써 가중치와 거리는 서로 상관성을 갖는다. 즉, 가중치로 거리를 결정할 수 있고, 거리로써 가중치를 계산할 수 있다.
도 6은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 3개인 경우)을 도시한다.
도 6을 참조하면, Q={q1, q2, q3}인 경우에 Ei(q1), Ei(q2), Ei(q3)로 임베딩 되고, 이를 w1, w2, w3의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키는 경우이다. 탐색 범위는 전술한 [수학식 4]와 같은 방식 또는 그 변형을 통해 결정된다.
도 7은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정 방법(제1 데이터 집합의 원소가 4개인 경우)을 도시한다.
Q = {q1, q2, q3, q4}인 경우에 Ei(q1), Ei(q2), Ei(q3), Ei(q4)로 임베딩 되고, 이를 w1, w2, w3, w4의 가중치로 선형 결합하여 T라는 새로운 위치를 가리키는 경우이다. 탐색 범위는 전술한 [수학식 4]와 같은 방식 또는 그 변형을 통해 결정된다.
도 8은 본 발명의 실시예에 따른 선형결합에 의한 탐색 범위 결정에 있어서 복수개의 거리 매개변수 ε을 적용하는 예를 도시한다.
도 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]와 같은 방식으로 범위를 선택할 수 있으며, 거리를 표현하는 매개변수 ε의 개수를 늘이고, 조합 방법을 변형하여 훨씬 다양한 영역을 선택하는 것이 가능하다.
[수학식 5]
{ | T - p | > εa } and { | T - p | < εb }
이하에서는 "(iii) 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위와 관련되는 영역을 소정의 탐색 범위로 결정"에 대해 설명한다.
제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정하고, 결정된 경계부를 따라서 임계 범위에 포함되는 영역을 소정의 탐색 범위로 결정한다.
(ii) 경우와 관련된 설명과 원리는 동일하지만, (ii)의 경우에는 T라고 하는 하나의 벡터 위치 대해서 ε 거리를 탐색 범위로 삼았다면, (iii)의 방식은 앞서 설명했듯이 보로노이 다이어그램(Voronoi diagram)이나 고차원 가우시안 함수와 같은 방식을 사용하여 경계부를 찾고 이를 중심으로 ε 거리를 탐색 범위로 삼는다는 차이점이 있다. 이를 통해, 결정경계에 위치할 것으로 생각되는 데이터를 효과적으로 찾을 수 있고, 결정경계 위치를 참고로 하여 다양한 특성을 갖는 데이터를 확보하는 것이 가능하다.
이하에서는 "(iv) (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정"에 대해 설명한다.
(iv)의 경우, 전술한 상기 (i) 내지 (iii)의 탐색 범위를 결정하는 방법들을 조합하여 소정의 탐색 범위를 결정하는 것으로 원하는 데이터를 다양하게 출력할 수 있다.
이하, 제2 데이터 집합 탐색 및 출력부(105)의 역할을 설명한다.
제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)}를 얻는다.
그리고 S를 임베딩한 {Ei(s1), Ei(s2), …, Ei(sN)}에 대해서 제1 데이터 집합 기반 탐색 범위 결정부(103)에서 결정한 탐색 범위에 맞는 데이터를 선택한다.
그러면 i번째 임베딩부는 S의 부분집합 S'i를 출력한다.
즉, 사용한 복수개의 임베딩 방식에 따라서 K개의 출력을 위한 후보 부분집합 {S'1, S'2, …, S'K}를 얻게 된다.
i번째 임베딩부 임베딩 i를 적용하여 얻은 Ei(S) = {Ei(s1), Ei(s2), …, Ei(sN)}에 대해서 기 결정된 탐색 범위에 맞는지를 검사하는 방법은 앞서 [수학식 1] 내지 [수학식 5]를 참조하여 설명한 바와 같이, 결정된 중심점과 임베딩된 벡터 사이의 거리를 재어서 확인하면 쉽게 검사가 가능하다.
일례로 Ei(s1)라는 임베딩 벡터가 T라는 선형결합에 의해 계산된 벡터에 비해서 ε 거리 이내에 있는지를 확인하려면 | Ei(s1) - T | < ε 이면 조건에 맞는 것이고, 그렇지 않으면 조건에 맞지 않은 것이다. 이런 식으로 모든 임베딩 벡터에 대해서 조건에 부합하는 데이터를 추출할 수 있다.
제2 데이터 집합 탐색 및 출력부(105)는 K개의 출력후보 부분집합 {S'1, S'2, …, S'K}를 얻는 과정을 거친 후에 무작위(Random)로 한 개 또는 복수개를 선택하여 출력하거나, 전부를 출력하거나, 명시적으로 특정 임베딩부의 처리 결과를 출력한다.
복수개를 출력하더라도 모든 출력데이터는 기본적으로 제2 데이터 집합 S에 속하므로 복수개를 출력하는 경우 중복될 수 있는데, 이런 경우에는 유일한 데이터를 출력하도록 처리하는 것이 바람직하다.
도 9는 본 발명의 다른 실시예에 따른 임베딩 기반 데이터 집합의 처리 장치를 도시한다.
도 9는 다중 벡터공간 임베딩부(101)를 통한 임베딩 수행 후, 임베딩 벡터공간 축소부(102)가 추가로 포함된다.
통상적으로 의미 있는 성능을 보이는 임베딩부들의 경우 1000 차원 이상의 크기를 가지며, 차원이 높을수록 차원 축소로 인해 손실되는 정보가 적어서 임베딩된 정보로 입력데이터를 역으로 추정한다거나, 고유한 특징을 분석하는데 유리하다.
그러나 역으로 임베딩된 차원이 클수록 벡터공간을 사람이 직관적으로 이해하기 곤란하고, 높은 차원에서 탐색 범위를 설정하는 것이 곤란한 경우가 있을 수 있다.
본 발명의 실시예에 따르면, 임베딩 벡터공간 축소부(102)가 임베딩된 데이터를 보다 낮은 차원으로 축소하는 처리를 수행한다.
축소하고자 하는 보다 낮은 차원으로는, 사람이 이해하거나 다루기 용이한 2차원 혹은 3차원이 될 가능성이 높다. 왜냐하면 2차원이나 3차원이 되면 해석과 제어가 용이하고 연산처리도 간단해질 수 있기 때문이다.
임베딩 벡터공간 축소부(102)는 K개의 임베딩부 각각에 대해서 독립적이고 병렬적으로 축소 처리를 수행하는 것이 바람직하다.
일례로 임베딩부 1은 100차원을 2차원으로 축소할 수도 있고, 임베딩부 2는 1000차원을 3차원으로 축소할 수도 있는 것이다. 그리고 임베딩부 별로 차원을 축소하는 방법은 제1 데이터 집합 Q와 제2 데이터 집합 S에 대해서 동일하게 처리해야만 한다.
임베딩부 축소와 관련하여 예를들어 설명하면 다음과 같다.
제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차원의 벡터공간에 자신만의 벡터 위치를 나타내게 되는 것이다.
이런 상황에서 임베딩 벡터공간 축소부(102)를 거치게 되면 Ei()가 새로운 newEi() 가 되는 효과가 발생한다. newEi()는 2차원이나 3차원과 같은 1000차원보다 낮은 차원의 벡터가 된다. 즉, 임베딩 벡터공간 축소부(102)의 처리를 통해, 이전 단계에서 임베딩된 벡터들은 newEi(q1), newEi(q2), ..., newEi(qN), newEi(s1), newEi(s2), …, newEi(sN)과 같이 축소된 벡터공간에서의 벡터 위치를 나타내게 된다.
임베딩된 차원을 낮은 차원으로 축소하는 구체적인 방법으로는 다음과 같은 방법이 있다.
(1) 종래의 PCA(Principle Component Analysis)를 적용한다. PCA는 입력된 데이터를 임베딩 하는데도 사용할 수 있지만, 이미 임베딩된 벡터공간의 차원을 축소하는데 사용할 수 있다. 일례로 1000차원의 데이터를 PCA를 수행하면 원래의 벡터공간에서 내포하고 있는 정보량(정보의 에너지)을 최대한 적게 손상시키면서 낮은 차원의 벡터공간으로 매핑(mapping 또는 projection) 할 수 있다.
(2) 종래의 벡터 양자화(Vector Quantization) 방법을 적용한다. 벡터 양자화를 Z개의 벡터의 집합 X를 K개의 벡터의 집합 Y로 매핑(mapping, 사상)하는 것으로 정의할 수 있듯이, 높은 차원의 임베딩 벡터의 집합을 보다 낮은 차원의 임베딩 벡터의 집합으로 사상한다.
(3) 임베딩된 벡터들의 일부를 추출하는 방식으로 차원을 줄이는 것이 가능하다. 일례로 임베딩된 벡터의 집합이 X = {A, B, C, D, E} 라면, 이것의 차원을 줄이기 위해서 Y = {A, B} 나 Y = {C, D, E} 와 같이 소정의 규칙에 의해 단순 추출하는 방식이다. 이렇게 해도 원리적으로 가능한 것이 임베딩된 벡터공간은 벡터공간의 위치 하나하나가 고유한 의미와 특징을 내포할 가능성이 크기 때문이다. 일례로 상기 X를 구성하는 벡터 A가 "사람의 성별", 벡터 B가 "연령대", 벡터 C가 "인종", 벡터 D가 "관심사", 벡터 E가 "취미"라고 한다면 임의의 원소만 추출하더라도 원하는 분석을 수행할 수 있다. 이 경우 임베딩된 벡터공간에서의 벡터들이 내포하고 있는 의미와 특징을 정확히 알아야 효과적으로 해석할 수 있다는 전제가 있다.
이렇게 차원을 줄이고 나면 결정경계를 계산하기 위해서 2차원이나 3차원과 같은 보로노이 다이어그램 방식이나 가우시안 방식을 사용하면 되므로, 고차원 알고리즘을 사용하는 것에 비해서 훨씬 간단하게 처리가 가능하다.
한편, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 임베딩 기반 데이터 집합의 처리 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
도 10은 본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법을 도시한다.
본 발명의 실시예 따른 임베딩 기반 데이터 집합의 처리 방법은 데이터 집합을 수신하는 단계(S1001)와. 다중 벡터공간 임베딩을 수행하는 단계(S1002)와, 제1 데이터 집합 기반 탐색 범위를 결정하는 단계(S1004) 및 제2 데이터 집합 탐색 및 출력을 수행하는 단계(S1005)를 포함한다.
S1002 단계는 데이터 집합을 벡터 공간에 표현하되, 입력 데이터의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터공간에 임베딩한다.
S1004 단계는 탐색을 위한 참조 위치 또는 경계부를 결정하고, 기설정된 탐색 거리 매개변수를 이용하여 탐색 범위를 결정한다.
S1004 단계는 제1 데이터 집합의 원소들의 위치를 참조 위치로 결정한다.
S1004 단계는 제1 데이터 집합의 원소의 선형 결합된 위치를 참조 위치로 결정한다.
S1004단계는 제1 데이터 집합의 원소들의 위치를 고려하여 경계부를 결정한다.
S1005 단계는 출력후보 부분집합을 획득하고, 기설정 방식에 따라 출력을 수행한다.
본 발명의 실시예에 따른 임베딩 기반 데이터 집합의 처리 방법은 S1002 단계 이후 및 S1004 단계 이전에, 임베딩 결과에 대한 차원 축소를 수행하는 단계(S1003)를 더 포함한다.

Claims (16)

  1. 제1 데이터 집합의 원소 및 제2 데이터 집합의 원소를 복수의 임베딩부에 통과시키고 각각의 벡터 공간에 임베딩하여, 입력된 데이터를 벡터 공간에 표현하는 다중 벡터공간 임베딩부;
    상기 다중 벡터공간 임베딩부의 임베딩 결과에 대한 차원 축소를 수행하는 임베딩 벡터공간 축소부;
    상기 차원 축소가 수행된 임베딩 결과를 이용하여, 탐색 범위를 결정하는 제1 데이터 집합 기반 탐색 범위 결정부; 및
    데이터 탐색 공간인 상기 제2 데이터 집합에서 부분집합 데이터를 추출하여 새로운 데이터 집합을 구성하는 제2 데이터 집합 탐색 및 출력부를 포함하고,
    상기 제1 데이터 집합 기반 탐색 범위 결정부는 상기 제1 데이터 집합의 원소들의 위치, 상기 제1 데이터 집합의 원소의 선형 결합의 위치, 상기 제1 데이터 집합의 원소의 가중합의 위치, 상기 제1 데이터 집합의 원소들의 위치를 고려하여 결정한 경계부를 기준으로 한 임계 범위와 관련된 영역 중 적어도 어느 하나를 탐색 범위로 결정하되, 결정된 위치로부터 기설정된 복수 개의 탐색 거리 매개변수를 이용하여 탐색 범위를 결정하고,
    상기 제2 데이터 집합 탐색 및 출력부는 상기 제2 데이터 집합에서 탐색을 수행하여 상기 제2 데이터 집합의 부분집합을 출력하는 것
    인 임베딩 기반 데이터 집합의 처리 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 제2 데이터 집합 탐색 및 출력부는 출력후보 부분집합을 획득하고 무작위로 선택하여 출력하거나, 전부를 출력하거나, 특정 임베딩부의 처리 결과를 출력하는 것
    인 임베딩 기반 데이터 집합의 처리 장치.
  8. 삭제
  9. (a) 제1 데이터 집합의 원소 및 제2 데이터 집합의 원소를 복수의 임베딩부에 통과시켜 각각의 벡터 공간에 임베딩하여, 입력된 데이터를 벡터 공간에 표현하는 단계;
    (b) 상기 임베딩부를 통과한 임베딩 결과에 대한 차원 축소를 수행하는 단계;
    (c) 상기 차원 축소가 수행된 임베딩 결과를 이용하여, 상기 제1 데이터 집합의 원소들의 위치, 상기 제1 데이터 집합의 원소의 선형 결합의 위치, 상기 제1 데이터 집합의 원소의 가중합의 위치, 상기 제1 데이터 집합의 원소들의 위치를 고려하여 결정한 경계부를 기준으로 한 임계 범위와 관련된 영역 중 적어도 어느 하나를 탐색 범위로 결정하되, 결정된 위치로부터 기설정된 복수 개의 탐색 거리 매개변수를 이용하여 탐색 범위를 결정하는 단계; 및
    (d) 데이터 탐색 공간인 상기 제2 데이터 집합에서 탐색을 수행하여, 상기 제2 데이터 집합의 부분집합 데이터를 추출하고 새로운 데이터 집합을 구성하는 단계
    를 포함하는 임베딩 기반 데이터 집합의 처리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020210179037A 2021-12-14 2021-12-14 임베딩 기반 데이터 집합의 처리 장치 및 그 방법 KR102592515B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210179037A KR102592515B1 (ko) 2021-12-14 2021-12-14 임베딩 기반 데이터 집합의 처리 장치 및 그 방법
PCT/KR2022/020118 WO2023113400A1 (ko) 2021-12-14 2022-12-12 임베딩 기반 데이터 집합의 처리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210179037A KR102592515B1 (ko) 2021-12-14 2021-12-14 임베딩 기반 데이터 집합의 처리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20230090094A KR20230090094A (ko) 2023-06-21
KR102592515B1 true KR102592515B1 (ko) 2023-10-23

Family

ID=86772992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210179037A KR102592515B1 (ko) 2021-12-14 2021-12-14 임베딩 기반 데이터 집합의 처리 장치 및 그 방법

Country Status (2)

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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2012029152A1 (ja) * 2010-09-02 2014-01-20 藤田 修 データ集合間距離算出装置および方法
WO2020152848A1 (ja) * 2019-01-25 2020-07-30 日本電気株式会社 認識器訓練装置、認識装置、データ処理システム、データ処理方法、および記憶媒体
JP6937330B2 (ja) * 2019-03-04 2021-09-22 株式会社東芝 機械学習モデル圧縮システム、機械学習モデル圧縮方法及びプログラム
KR20210035017A (ko) * 2019-09-23 2021-03-31 삼성전자주식회사 신경망 트레이닝 방법, 신경망 기반의 데이터 처리 방법 및 장치
KR102271736B1 (ko) * 2020-09-11 2021-07-02 주식회사 뉴로클 자동화된 기계 학습 방법 및 그 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
C. Shorten et al., Text Data Augmentation for Deep Learning, J. Big Data Vol.8, 101(2021.07.19.)*
S. Nanga et al., Review of Dimension Reduction Methods, Journal of Data Analysis and Information Processing Vol.9, pp189-231(2021.08.31.)*
Z. Zhao et al., Generating Natural Adversarial Examples, arXiv:1710.11342v2(2018)*

Also Published As

Publication number Publication date
KR20230090094A (ko) 2023-06-21
WO2023113400A1 (ko) 2023-06-22

Similar Documents

Publication Publication Date Title
Han et al. A unified metric learning-based framework for co-saliency detection
Wang et al. Aggregating rich hierarchical features for scene classification in remote sensing imagery
Huang et al. Spontaneous facial micro-expression analysis using spatiotemporal completed local quantized patterns
He et al. Multiscale conditional random fields for image labeling
CN110866140A (zh) 图像特征提取模型训练方法、图像搜索方法及计算机设备
Leng et al. 3D object understanding with 3D convolutional neural networks
KR20200000824A (ko) 중심 분산 손실 함수를 활용한 딥 러닝 모델 기반의 얼굴 표정 인식 방법
Chanti et al. Improving bag-of-visual-words towards effective facial expressive image classification
KR102645698B1 (ko) 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치
CN115565238B (zh) 换脸模型的训练方法、装置、设备、存储介质和程序产品
US11823490B2 (en) Non-linear latent to latent model for multi-attribute face editing
Hu et al. RGB-D semantic segmentation: a review
Sumalakshmi et al. Fused deep learning based Facial Expression Recognition of students in online learning mode
KR102592515B1 (ko) 임베딩 기반 데이터 집합의 처리 장치 및 그 방법
CN116486495A (zh) 一种基于注意力与生成对抗网络的人脸图像隐私保护方法
Zaaraoui et al. Face recognition with a new local descriptor based on strings of successive values
Wu Biomedical image segmentation and object detection using deep convolutional neural networks
KR101913140B1 (ko) 사물 인터넷의 빅 데이터를 이용한 산업 감시의 연속 기능 최적화 장치 및 방법
Chen et al. Outdoor scene classification using labeled segments
Jiang Deep learning models for human parsing and action recognition: architectural design, model compression and data augmentation
Johnson Periocular-Based Deepfake Detection Using Convolutional Neural Networks
Zhang et al. Image Pattern Recognition
Yu One-Shot Learning with Pretrained Convolutional Neural Network
Kothari et al. Automated Facial Recognition in Older Photographs Using One-Shot Learning in Siamese Networks and Transfer Learning
Osahor Multimodal Adversarial Learning

Legal Events

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