KR20220072237A - 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 - Google Patents
그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 Download PDFInfo
- Publication number
- KR20220072237A KR20220072237A KR1020200159628A KR20200159628A KR20220072237A KR 20220072237 A KR20220072237 A KR 20220072237A KR 1020200159628 A KR1020200159628 A KR 1020200159628A KR 20200159628 A KR20200159628 A KR 20200159628A KR 20220072237 A KR20220072237 A KR 20220072237A
- Authority
- KR
- South Korea
- Prior art keywords
- label
- neural network
- instance
- embedding vector
- processor
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 150
- 239000013598 vector Substances 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012549 training Methods 0.000 title claims description 41
- 238000013527 convolutional neural network Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 7
- 238000002372 labelling Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011478 gradient descent method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 239000000890 drug combination Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법이 개시된다. 일 실시예에 따른 레이블 예측 방법은, 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 단계와, 상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하는 단계와, 상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 단계를 포함한다.
Description
아래 실시예들은 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법에 관한 것이다.
기계 학습에서 다중 인스턴스 학습(multiple-instance learning)은 지도 학습(supervised learning)의 한 유형이다. 개별적으로 레이블링(labeling)된 인스턴스의 집합을 수신하는 대신에, 학습자(learner)는 많은 인스턴스들을 포함하는 레이블링된 가방(labeled bag)의 집합을 수신한다.
인스턴스 하나를 학습 단위로 사용하는 개별 인스턴스 학습과는 달리 다중 인스턴스 학습에서는 인스턴스의 집합인 가방을 학습 단위로 간주한다. 따라서 개별 인스턴스 학습에서는 인스턴스 하나에 레이블을 다는 반면, 다중 인스턴스 학습에서는 가방에 대해 레이블을 달게 된다.
예를 들어, 다중 인스턴스 학습은 이진 분류를 수행함에 있어 가방이 긍정(positive)으로 레이블이 되면 적어도 가방 안에는 하나 이상의 긍정 인스턴스를 포함하고 있음을, 가방이 부정(negative)로 레이블링이 되면 가방 안에 모든 인스턴스들이 부정임을 가정한다.
즉, 다중 인스턴스 학습이란 인스턴스 하나를 학습 단위로 간주하는 개별 인스턴스 학습(single-instance learning)과는 달리 인스턴스 집합을 하나의 학습 단위로 수행하는 학습 방법이다.
다중 인스턴스 학습은 학습시 인스턴스 집합에서 “도움이 되는” 인스턴스만을 찾아 학습을 수행하므로 관련 없는 또는 잘못 태깅된 인스턴스들로부터의 성능 하락을 최소화할 수 있다. 다중 인스턴스 학습은 사용자들이 작성한 텍스트들을 개별로 태깅하는 것이 아닌 텍스트 집합에 태깅을 수행하기 때문에 개별 결과를 합치는 모듈이 필요하지 않으며 학습 데이터를 쉽게 구축할 수 있는 장점을 가진다.
뉴럴 네트워크를 이용한 레이블 예측 기술 및 뉴럴 네트워크의 학습 기술을 제공할 수 있다. 다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 레이블 예측 방법은, 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 단계와, 상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하는 단계와, 상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 단계를 포함한다.
상기 인스턴스는, 특성 벡터(feature vector) 또는 원 핫 벡터(one hot vector)를 포함할 수 있다.
상기 임베딩 벡터를 생성하는 단계는, 상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성하는 단계를 포함할 수 있다.
상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성하는 단계는, 상기 인스턴스를 CNN(Convolutional Neural Network)에 입력함으로써 상기 임베딩 벡터를 생성하는 단계를 포함할 수 있다.
상기 임베딩 벡터를 생성하는 단계는, 상기 인스턴스를 임의의 집계 함수(aggregation function)에 입력함으로써 상기 임베딩 벡터를 생성하는 단계를 포함할 수 있다.
상기 레이블을 예측하는 단계는, 상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측하는 단계를 포함할 수 있다.
상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측하는 단계는, 상기 임베딩 벡터를 다층 퍼셉트론(multilayer perceptron)으로 구현된 분류기에 입력함으로써 상기 레이블을 예측하는 단계를 포함할 수 있다.
일 실시예에 따른 레이블 예측 장치는, 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 수신기와, 상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하고, 상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 프로세서를 포함한다.
상기 인스턴스는, 특성 벡터(feature vector) 또는 원 핫 벡터(one hot vector)를 포함할 수 있다.
일 실시예에 따른 레이블 예측 방법은, 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 단계와, 상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하는 단계와, 상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 단계를 포함한다.
상기 프로세서는, 상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성할 수 있다.
상기 프로세서는, 상기 인스턴스를 CNN(Convolutional Neural Network)에 입력함으로써 상기 임베딩 벡터를 생성할 수 있다.
상기 프로세서는, 상기 인스턴스를 임의의 집계 함수(aggregation function)에 입력함으로써 상기 임베딩 벡터를 생성할 수 있다.
상기 프로세서는, 상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측할 수 있다.
상기 프로세서는, 상기 임베딩 벡터를 다층 퍼셉트론(multilayer perceptron)으로 구현된 분류기에 입력함으로써 상기 레이블을 예측할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 레이블을 예측하고자 하는 인스턴스, 상기 인스턴스에 대응하는 제1 임베딩 벡터 및 상기 인스턴스에 대응하는 제1 레이블을 수신하는 단계와, 상기 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 상기 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시키는 단계와, 상기 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 상기 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시키는 단계를 포함한다.
상기 제1 뉴럴 네트워크는 CNN을 포함하고, 상기 제2 뉴럴 네트워크는 다층 퍼셉트론을 포함할 수 있다.
상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크는, 경사 하강(gradient descent) 방식으로 학습될 수 있다.
상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크는, 제1 임베딩 벡터, 상기 제2 임베딩 벡터, 상기 제1 레이블 및 상기 제2 레이블을 이용한 목적 함수(objective function)에 기초하여 학습될 수 있다.
상기 제1 뉴럴 네트워크를 학습시키는 단계는, 상기 제1 임베딩 벡터와 상기 제2 임베딩 벡터의 유클리드 거리(euclidean distance)에 기초하여 상기 제1 뉴럴 네트워크를 학습시키는 단계를 포함할 수 있다.
상기 제2 뉴럴 네트워크를 학습시키는 단계는, 상기 제1 레이블과 상기 제2 레이블의 유클리드 거리에 기초하여 상기 제2 뉴럴 네트워크를 학습시키는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 레이블 예측 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 뉴럴 네트워크 학습 장치의 개략적인 블록도를 나타낸다.
도 3은 도 1에 도시된 레이블 예측 장치의 개략적인 블록도를 나타낸다.
도 4는 도 2에 도시된 뉴럴 네트워크 학습 장치가 뉴럴 네트워크를 학습시키는 동작을 나타낸다.
도 5는 도 3에 도시된 레이블 예측 장치가 레이블을 예측하는 동작을 나타낸다.
도 6은 도 2에 도시된 뉴럴 네트워크 학습 장치의 동작의 순서도를 나타낸다.
도 7은 도 3에 도시된 레이블 예측 장치의 동작의 순서도를 나타낸다.
도 2는 도 1에 도시된 뉴럴 네트워크 학습 장치의 개략적인 블록도를 나타낸다.
도 3은 도 1에 도시된 레이블 예측 장치의 개략적인 블록도를 나타낸다.
도 4는 도 2에 도시된 뉴럴 네트워크 학습 장치가 뉴럴 네트워크를 학습시키는 동작을 나타낸다.
도 5는 도 3에 도시된 레이블 예측 장치가 레이블을 예측하는 동작을 나타낸다.
도 6은 도 2에 도시된 뉴럴 네트워크 학습 장치의 동작의 순서도를 나타낸다.
도 7은 도 3에 도시된 레이블 예측 장치의 동작의 순서도를 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 레이블 예측 시스템의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 레이블 예측 시스템(10)은 인스턴스(instance)를 수신하여 인스턴스의 레이블(label)을 예측할 수 있다. 레이블 예측 시스템(10)은 인스턴스 또는 인스턴스의 그룹으로부터 레이블을 예측할 수 있다.
레이블 예측 시스템(10)은 학습 데이터에 기초하여 뉴럴 네트워크를 학습시키고, 학습된 뉴럴 네트워크에 기초하여 인스턴스 또는 인스턴스의 그룹에 대응하는 레이블을 예측할 수 있다.
레이블 예측 시스템(10)은 인스턴스 또는 인스턴스의 그룹을 포함하는 학습 데이터를 뉴럴 네트워크의 입력으로 사용하고, 인스턴스 또는 인스턴스의 그룹에 대응하는 레이블을 뉴럴 네트워크의 출력으로 사용함으로써 뉴럴 네트워크를 학습시킬 수 있다.
레이블 예측 시스템(10)은 복수의 뉴럴 네트워크를 이용하여 인스턴스 또는 인스턴스의 그룹에 대응하는 레이블을 예측할 수 있다.
인스턴스는 분류할 수 있는 임의의 데이터로 분류를 통해 레이블링될 수 있는 대상을 의미할 수 있다. 레이블은 인스턴스 또는 인스턴스의 집합을 분류하기 위한 임의의 카테고리를 의미할 수 있다.
일 예로, 인스턴스는 사람이고, 인스턴스의 그룹은 사람들의 모임이고, 인스턴스에 대응하는 레이블은 인스턴스의 그룹이 방문한 음식점이 될 수 있다. 이 경우, 레이블 예측 시스템(10)은 인스턴스의 그룹이 방문한 음식점(즉, 레이블)을 학습하여, 인스턴스의 그룹에 대해 새로운 음식점(즉, 새로운 레이블)을 예측하거나, 새로운 그룹(즉, 새로운 사람들의 모임)에 대해 추천 음식점을 예측할 수 있다.
다른 예로, 인스턴스가 약물이고, 그룹은 약물 조합, 레이블은 약물 조합의 효능일 경우, 레이블 예측 시스템은 약물(즉, 인스턴스) 또는 약물의 조합(즉, 인스턴스의 그룹)으로부터 그 효능(즉, 레이블)을 예측할 수 있다.
또 다른 예로, 인스턴스가 단어이고, 그룹이 학술 문서(즉, 단어들의 조합)이고, 레이블이 문서의 분야(예를 들어, 컴퓨터 분야, 경제 분야 등)인 경우, 레이블 예측 시스템(10)은 단어(즉, 인스턴스) 또는 학술 문서(즉, 인스턴스의 그룹)으로부터 문서의 분야(즉, 레이블)을 예측할 수 있다.
뉴럴 네트워크(또는 인공 신경망)는 기계학습과 인지과학에서 생물학의 신경을 모방한 통계학적 학습 알고리즘을 포함할 수 있다. 뉴럴 네트워크는 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
뉴럴 네트워크의 뉴런은 가중치 또는 바이어스의 조합을 포함할 수 있다. 뉴럴 네트워크는 하나 이상의 뉴런 또는 노드로 구성된 하나 이상의 레이어(layer)를 포함할 수 있다. 뉴럴 네트워크는 뉴런의 가중치를 학습을 통해 변화시킴으로써 임의의 입력으로부터 예측하고자 하는 결과를 추론할 수 있다.
뉴럴 네트워크는 심층 뉴럴 네트워크 (Deep Neural Network)를 포함할 수 있다. 뉴럴 네트워크는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), 퍼셉트론(perceptron), 다층 퍼셉트론(multilayer perceptron), FF(Feed Forward), RBF(Radial Basis Network), DFF(Deep Feed Forward), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), AE(Auto Encoder), VAE(Variational Auto Encoder), DAE(Denoising Auto Encoder), SAE(Sparse Auto Encoder), MC(Markov Chain), HN(Hopfield Network), BM(Boltzmann Machine), RBM(Restricted Boltzmann Machine), DBN(Depp Belief Network), DCN(Deep Convolutional Network), DN(Deconvolutional Network), DCIGN(Deep Convolutional Inverse Graphics Network), GAN(Generative Adversarial Network), LSM(Liquid State Machine), ELM(Extreme Learning Machine), ESN(Echo State Network), DRN(Deep Residual Network), DNC(Differentiable Neural Computer), NTM(Neural Turning Machine), CN(Capsule Network), KN(Kohonen Network) 및 AN(Attention Network)를 포함할 수 있다.
레이블 예측 시스템(10)은 마더보드(motherboard)와 같은 인쇄 회로 기판(printed circuit board(PCB)), 집적 회로(intergrated circuit(IC)), 또는 SoC(system on chip)로 구현될 수 있다. 예를 들어, 레이블 예측 시스템(10)은 애플리케이션 프로세서(application processor)로 구현될 수 있다.
또한, 레이블 예측 시스템(10)은 PC(personal computer), 데이터 서버, 또는 휴대용 장치 내에 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.
레이블 예측 시스템(10)은 뉴럴 네트워크 학습 장치(30) 및 레이블 예측 장치(50)를 포함한다. 뉴럴 네트워크 학습 장치(30)는 학습 데이터에 기초하여 뉴럴 네트워크를 학습시킬 수 있다. 뉴럴 네트워크 학습 장치(30)는 학습 데이터에 기초하여 뉴럴 네트워크를 학습시킴으로써 뉴럴 네트워크 파라미터를 생성할 수 있다. 뉴럴 네트워크 학습 장치(30)는 생성한 뉴럴 네트워크 파라미터를 레이블 예측 장치(50)로 출력할 수 있다.
레이블 예측 장치(50)는 인스턴스 또는 인스턴스의 그룹을 수신하여 인스턴스 또는 인스턴스의 그룹에 대응하는 레이블을 예측할 수 있다. 레이블 예측 장치(50)는 뉴럴 네트워크 파라미터에 기초하여 학습된 뉴럴 네트워크를 이용하여 인스턴스 또는 인스턴스의 그룹에 대한 레이블을 예측할 수 있다.
도 2는 도 1에 도시된 뉴럴 네트워크 학습 장치의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 뉴럴 네트워크 학습 장치(30)는 수신기(100), 프로세서(200) 및 메모리(300)를 포함할 수 있다.
뉴럴 네트워크 학습 장치(30)는 학습 데이터에 기초하여 뉴럴 네트워크 파라미터를 생성할 수 있다. 뉴럴 네트워크 파라미터는 뉴럴 네트워크를 구성하는 노드에 대응하는 가중치를 포함할 수 있다.
수신기(100)는 수신 인터페이스를 포함할 수 있다. 수신기(100)는 학습 데이터를 수신할 수 있다. 수신기(100)는 수신한 학습 데이터를 프로세서(200)로 출력할 수 있다.
학습 데이터는 인스턴스, 인스턴스에 대응하는 임베딩 벡터(예를 들어, 제1 임베딩 벡터) 및 인스턴스에 대응하는 레이블(예를 들어, 제1 레이블)을 포함할 수 있다. 즉, 수신기(100)는 레이블을 예측하고자 하는 인스턴스, 인스턴스에 대응하는 임베딩 벡터 및 인스턴스에 대응하는 레이블을 수신할 수 있다.
임베딩 벡터는 인스턴스 또는 인스턴스의 그룹에 매핑되는 실수를 성분으로 갖는 벡터를 의미할 수 있다. 유사한 인스턴스는 유사한 실수로 매핑될 수 있다.
프로세서(200)는 메모리(300)에 저장된 데이터를 처리할 수 있다. 프로세서(200)는 메모리(300)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(200)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
"프로세서(200)"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
뉴럴 네트워크는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 포함할 수 있다. 제1 뉴럴 네트워크는 인스턴스를 입력으로 사용하여 인스턴스에 대응하는 임베딩 벡터를 생성할 수 있다. 제2 뉴럴 네트워크는 임베딩 벡터를 입력으로 사용하여 인스턴스에 대응하는 레이블을 예측할 수 있다. 예를 들어, 제1 뉴럴 네트워크는 생성기로 구현되고, 제2 뉴럴 네트워크는 분류기로 지칭될 수 있다.
제1 뉴럴 네트워크는 인스턴스 또는 인스턴스의 그룹에 기초하여 임베딩 벡터를 생성할 수 있고, 제2 뉴럴 네트워크는 임베딩 벡터에 기초하여 인스턴스 또는 인스턴스의 그룹의 레이블을 예측할 수 있다.
이 때, 제1 뉴럴 네트워크는 CNN(Convolutional Neural Netowork)을 포함하고, 제2 뉴럴 네트워크는 다층 퍼셉트론(multilayer perceptron)을 포함할 수 있다.
프로세서(200)는 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있다. 다시 말해, 제2 임베딩 벡터는 수신한 인스턴스에 기초한 제1 뉴럴 네트워크의 출력 결과를 의미할 수 있다.
프로세서(200)는 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다. 제1 임베딩 벡터 및 제1 레이블은 수신기(100)가 수신한 학습 데이터에 포함된 임베딩 벡터 및 레이블을 의미하고, 제2 레이블은 프로세서(200)가 제2 뉴럴 네트워크에 제1 임베딩 벡터에 입력하여 예측한 레이블을 의미할 수 있다.
프로세서(200)는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 경사 하강(gradient descent) 방식으로 학습시킬 수 있다. 프로세서(200)는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 제1 임베딩 벡터, 제2 임베딩 벡터, 제1 레이블 및 제2 레이블을 이용한 목적 함수(objective function)에 기초하여 학습시킬 수 있다.
프로세서(200)는 제1 임베딩 벡터와 제2 임베딩 벡터의 유클리드 거리(euclidean distance)에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있다. 프로세서(200)는 제1 레이블과 제2 레이블의 유클리드 거리에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다.
프로세서(200)가 뉴럴 네트워크를 학습시키는 과정은 도 4를 참조하여 자세하게 설명한다.
메모리(300)는 프로세서(200)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(300)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Eelectronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
도 3은 도 1에 도시된 레이블 예측 장치의 개략적인 블록도를 나타낸다.
도 3을 참조하면, 레이블 예측 장치(50)는 수신기(400), 프로세서(500) 및 메모리(600)를 포함할 수 있다.
레이블 예측 장치(50)는 인스턴스에 기초하여 인스턴스의 레이블을 예측할 수 있다. 레이블 예측 장치(50)는 뉴럴 네트워크 학습 장치(30)로부터 학습이 완료된 뉴럴 네트워크 파라미터를 수신하고, 수신한 뉴럴 네트워크 파라미터에 기초하여 인스턴스의 레이블을 예측할 수 있다.
수신기(400)는 수신 인터페이스를 포함할 수 있다. 수신기(400)는 레이블을 예측하고자 하는 인스턴스를 수신할 수 있다. 수신기(400)는 수신한 인스턴스를 프로세서(500)로 출력할 수 있다.
프로세서(500)는 메모리(600)에 저장된 데이터를 처리할 수 있다. 프로세서(500)는 메모리(600)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(500)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
"프로세서(500)"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(500)는 수신한 인스턴스에 기초하여 인스턴스에 대응하는 임베딩 벡터를 생성할 수 있다. 프로세서(500)는 인스턴스를 실수로 매핑함으로써 임베딩 벡터를 생성할 수 있다.
예를 들어, 프로세서(500)는 원-핫 인코딩(one-hot encoding) 방식을 이용하여 인스턴스로부터 임베딩 벡터를 생성할 수 있다. 또는, 임베딩 벡터는 고유의 특성 벡터에 기초하여 생성될 수 있다. 이 때, 프로세서(500)는 인스턴스 또는 인스턴스의 그룹의 인덱스를 이용하여 임베딩 벡터를 생성할 수 있다.
프로세서(500)는 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 임베딩 벡터를 생성할 수 있다. 프로세서(500)는 인스턴스를 CNN에 입력함으로써 임베딩 벡터를 생성할 수 있다. 또한, 프로세서(500)는 인스턴스를 임의의 집계 함수(aggregation function)에 입력함으로써 임베딩 벡터를 생성할 수 있다. 집계 함수는 다중 행(row)들의 값들을 그룹으로 묶어 단일 요약 값(summary value)를 생성하는 함수를 의미할 수 있다.
프로세서(500)는 생성한 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 레이블을 예측할 수 있다. 프로세서(500)는 임베딩 벡터를 다층 퍼셉트론으로 구현된 분류기(classifier)에 입력함으로써 레이블을 예측할 수 있다.
메모리(600)의 동작은 메모리(300)와 동일하므로, 중복된 설명을 생략한다.
도 4는 도 2에 도시된 뉴럴 네트워크 학습 장치가 뉴럴 네트워크를 학습시키는 동작을 나타낸다.
도 4를 참조하면, 프로세서(200)는 다중 인스턴스 학습(multiple instance learning) 방식을 이용하여 뉴럴 네트워크를 학습시킬 수 있다. 다중 인스턴스 학습에서 인스턴스들의 공간 의 임의의 부분집합 B를 "그룹 B"라고 지칭될 수 있다. 여기서 그룹 B는 집합일수도 있고, 중복이 허용되는 중복 집합(multiset)일수도 있다.
프로세서(200)는 레이블의 공간 에 대하여 B의 레이블 를 학습시킴으로써 다중 인스턴스 학습을 수행할 수 있다. 프로세서(200)는 이하의 GMIL(Generalized Multiple Instance Learning) 가정에 따라 다중 인스턴스 학습을 수행할 수 있다.
예를 들어, 임의의 그룹 의 레이블이 라고 할 때, 그룹 B가 그룹 Q와 충분히 가깝다면 그룹 B의 레이블로 y가 사용될 수 있다는 가정이 다중 인스턴스 학습에서 사용될 수 있다. 다시 말해, 두 그룹이 충분히 가깝다는 것은 그룹의 레이블과 그룹의 임베딩 벡터를 통해 함축적으로(implicitly) 정의될 수 있다.
레이블 예측 시스템(10)은 다중 인스턴스 학습 문제에서 GMIL 가정 하에, 학습 데이터에 존재하지 않는 새로운 그룹이 주어졌을 때 입력된 인스턴스 또는 인스턴스의 그룹의 레이블을 예측하기 위한 학습 및 레이블의 예측을 수행할 수 있다. 레이블 예측 시스템(10)은 인스턴스의 그룹이 여러 개의 레이블을 가질 수 있는 경우에도, 학습 데이터에 있는 그룹의 새로운 레이블 예측을 수행할 수 있다.
프로세서(200)는 학습 데이터에 있는 인스턴스의 그룹들의 임베딩 벡터와 레이블을 이용하여 분류기를 학습시키고, 동시에 인스턴스의 그룹의 원소들의 임베딩 벡터들과 인스턴스의 그룹의 임베딩 벡터를 이용하여 제1 뉴럴 네트워크(예를 들어, 생성기)를 학습시킬 수 있다.
프로세서(200)는 학습 과정에서 제2 뉴럴 네트워크의 분류기에 인스턴스의 그룹 자체의 특징을 사용하기 때문에 효율적으로 학습을 수행할 수 있다. 상술한 바와 같이, 인스턴스들의 공간 과 레이블 공간 에 있어서, 인스턴스 는 특성 벡터(feature vector)이거나 원-핫 벡터(one-hot vector)일 수 있다.
프로세서(200)는 인스턴스, 인스턴스에 대응하는 제1 임베딩 벡터 및 인스턴스에 대응하는 제1 레이블을 학습 데이터로 사용할 수 있다. 프로세서(200)는 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있다. 프로세서(200)는 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다.
예를 들어, 학습 데이터는 , 및 을 포함하고, 일 수 있다. 여기서, 그룹 Qn에 대응하는 임베딩 벡터를 qn이라 지칭할 수 있다. 임베딩 벡터 qn은 상술한 바와 같이 원-핫 벡터일 수 있고, 그룹 Qn의 고유의 특성 벡터에 기초하여 생성될 수 있다.
프로세서(200)는 임의의 인스턴스들의 그룹 Q의 임베딩 벡터 q를 입력으로 받아 인스턴스 또는 인스턴스의 그룹에 대응하는 레이블 y를 예측하는 분류기 와 그룹 Q의 원소들 로부터 Q의 임베딩 벡터 q를 생성하는 생성기 를 포함하는 뉴럴 네트워크를 학습시켜 레이블을 예측할 수 있다.
프로세서(200)는 수학식 2와 같이 인스턴스 또는 인스턴스의 그룹으로부터 임베딩 벡터를 생성할 수 있다. 제2 뉴럴 네트워크는 최대 풀링(max pooling) 또는 평균 풀링(average pooling)을 이용한 CNN을 포함하는 생성기 로 구현될 수 있다. 또는, 제2 뉴럴 네트워크는 임의의 집계 함수를 이용해 구현될 수 있다.
수학식 1과 수학식 2를 이용하여 최종적으로 예측되는 레이블은 수학식 3과 같을 수 있다.
프로세서(200)는 경사 하강(gradient descent) 방식으로 제1 뉴럴 네트워크, 제2 뉴럴 네트워크의 파라미터 및 임베딩 벡터들의 학습을 수행할 수 있다.
프로세서(200)는 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있고, 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 상기 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다.
예를 들어, 프로세서(200)는 제1 임베딩 벡터와 제2 임베딩 벡터의 거리가 최소가 되도록 제1 뉴럴 네트워크를 학습시킬 수 있다. 프로세서(200)는 제1 레이블과 제2 레이블의 거리가 최소가 되도록 제2 뉴럴 네트워크를 학습시킬 수 있다.
예를 들어, 프로세서(200)는 수학식 4의 목적 함수를 이용하여 제1 뉴럴 네트워크, 제2 뉴럴 네트워크 및 임베딩 벡터의 학습을 수행할 수 있다.
여기서, (즉, 제2 레이블)은 학습 데이터에 포함된 그룹 Qn의 임베딩 벡터 qn(즉, 제1 임베딩 벡터)을 분류기에 입력하여 획득한 결과값으로, 일 수 있고, 은 학습 데이터에 포함된 그룹 Qn에 대응하는 레이블을 의미할 수 있다.
(즉, 제2 임베딩 벡터)은 의 원소들을 생성기에 입력하여 획득한 결과값으로 일 수 있다. 은 의 (즉, 제1 레이블)의 거리를 의미할 수 있다. 예를 들어, 프로세서(200)는 의 의 유클리드 거리의 제곱인 을 목적 함수에 이용할 수 있다. 은 과 의 거리를 의미하고, 는 하이퍼파라미터(hyperparameter)를 의미할 수 있다.
도 5는 도 3에 도시된 레이블 예측 장치가 레이블을 예측하는 동작을 나타낸다.
도 5를 참조하면, 프로세서(500)는 뉴럴 네트워크 학습 장치(30)로부터 수신한 뉴럴 네트워크 파라미터 및 인스턴스에 기초하여 인스턴스의 레이블을 예측할 수 있다.
프로세서(500)는 인스턴스에 기초하여 인스턴스에 대응하는 임베딩 벡터를 생성할 수 있다. 프로세서(500)는 임베딩 벡터에 기초하여 인스턴스에 대응하는 레이블을 예측할 수 있다.
프로세서(500)는 학습이 끝난 뒤, 임의의 인스턴스의 그룹에 대해 원소들의 임베딩 벡터들을 학습된 제1 뉴럴 네트워크(예를 들어, 생성기)에 입력하여 인스턴스 또는 인스턴스의 그룹의 임베딩 벡터를 생성하고, 생성된 임베딩 벡터를 이용하여 제2 뉴럴 네트워크(예를 들어, 분류기)로 레이블을 예측할 수 있다.
프로세서(500)는, 상술한 학습 방법에 기초하여 학습된 뉴럴 네트워크를 통해, 학습 데이터에 없던 그룹 Q의 임베딩 벡터를 생성기로 만들어서 분류기를 통해 레이블을 예측할 수 있다.
도 6은 도 2에 도시된 뉴럴 네트워크 학습 장치의 동작의 순서도를 나타낸다.
도 6을 참조하면, 수신기(100)는 레이블을 예측하고자 하는 인스턴스, 상기 인스턴스에 대응하는 제1 임베딩 벡터 및 인스턴스에 대응하는 제1 레이블을 수신할 수 있다(610).
프로세서(200)는 수신한 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있다(630). 프로세서(200)는 제1 임베딩 벡터와 제2 임베딩 벡터의 유클리드 거리에 기초하여 제1 뉴럴 네트워크를 학습시킬 수 있다.
프로세서(200)는 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다(650). 프로세서(200)는 제1 레이블과 제2 레이블의 유클리드 거리에 기초하여 제2 뉴럴 네트워크를 학습시킬 수 있다.
제1 뉴럴 네트워크는 CNN을 포함하고, 제2 뉴럴 네트워크는 다층 퍼셉트론을 포함할 수 있다. 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크는 경사 하강 방식으로 학습될 수 있다.
제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크는 제1 임베딩 벡터, 제2 임베딩 벡터, 제1 레이블 및 제2 레이블을 이용한 목적 함수에 기초하여 학습될 수 있다.
도 7은 도 3에 도시된 레이블 예측 장치의 동작의 순서도를 나타낸다.
도 7을 참조하면, 수신기(400)는 레이블을 예측하고자 하는 인스턴스(instance)를 수신할 수 있다(710). 인스턴스는 특성 벡터(feature vector) 또는 원 핫 벡터(one hot vector)를 포함할 수 있다.
프로세서(500)는 인스턴스에 기초하여 인스턴스에 대응하는 임베딩 벡터를 생성할 수 있다(730). 프로세서(500)는 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 임베딩 벡터를 생성할 수 있다. 프로세서(500)는 인스턴스를 CNN에 입력함으로써 임베딩 벡터를 생성할 수 있다. 또는, 프로세서(200)는 인스턴스를 임의의 집계 함수에 입력함으로써 임베딩 벡터를 생성할 수 있다.
프로세서(500)는 임베딩 벡터에 기초하여 인스턴스에 대응하는 레이블을 예측할 수 있다(750). 프로세서(200)는 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 레이블을 예측할 수 있다. 프로세서(200)는 임베딩 벡터를 다층 퍼셉트론으로 구현된 분류기에 입력함으로써 레이블을 예측할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 단계;
상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하는 단계; 및
상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 단계
를 포함하는 레이블 예측 방법.
- 제1항에 있어서,
상기 인스턴스는,
특성 벡터(feature vector) 또는 원 핫 벡터(one hot vector)를 포함하는
레이블 예측 방법.
- 제1항에 있어서,
상기 임베딩 벡터를 생성하는 단계는,
상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성하는 단계
를 포함하는 레이블 예측 방법.
- 제3항에 있어서,
상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성하는 단계는,
상기 인스턴스를 CNN(Convolutional Neural Network)에 입력함으로써 상기 임베딩 벡터를 생성하는 단계
를 포함하는 레이블 예측 방법.
- 제1항에 있어서,
상기 임베딩 벡터를 생성하는 단계는,
상기 인스턴스를 임의의 집계 함수(aggregation function)에 입력함으로써 상기 임베딩 벡터를 생성하는 단계
를 포함하는 레이블 예측 방법.
- 제1항에 있어서,
상기 레이블을 예측하는 단계는,
상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측하는 단계
를 포함하는 레이블 예측 방법.
- 제6항에 있어서,
상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측하는 단계는,
상기 임베딩 벡터를 다층 퍼셉트론(multilayer perceptron)으로 구현된 분류기에 입력함으로써 상기 레이블을 예측하는 단계
를 포함하는 레이블 예측 방법.
- 레이블을 예측하고자 하는 인스턴스(instance)를 수신하는 수신기;
상기 인스턴스에 기초하여 상기 인스턴스에 대응하는 임베딩 벡터를 생성하고, 상기 임베딩 벡터에 기초하여 상기 인스턴스에 대응하는 레이블을 예측하는 프로세서
를 포함하는 레이블 예측 장치.
- 제8항에 있어서,
상기 인스턴스는,
특성 벡터(feature vector) 또는 원 핫 벡터(one hot vector)를 포함하는
레이블 예측 장치.
- 제8항에 있어서,
상기 프로세서는,
상기 인스턴스를 제1 뉴럴 네트워크에 입력함으로써 상기 임베딩 벡터를 생성하는
레이블 예측 장치.
- 제10항에 있어서,
상기 프로세서는,
상기 인스턴스를 CNN(Convolutional Neural Network)에 입력함으로써 상기 임베딩 벡터를 생성하는
레이블 예측 장치.
- 제8항에 있어서,
상기 프로세서는,
상기 인스턴스를 임의의 집계 함수(aggregation function)에 입력함으로써 상기 임베딩 벡터를 생성하는
레이블 예측 장치.
- 제8항에 있어서,
상기 프로세서는,
상기 임베딩 벡터를 제2 뉴럴 네트워크에 입력함으로써 상기 레이블을 예측하는
레이블 예측 장치.
- 제13항에 있어서,
상기 프로세서는,
상기 임베딩 벡터를 다층 퍼셉트론(multilayer perceptron)으로 구현된 분류기에 입력함으로써 상기 레이블을 예측하는
레이블 예측 장치.
- 레이블을 예측하고자 하는 인스턴스, 상기 인스턴스에 대응하는 제1 임베딩 벡터 및 상기 인스턴스에 대응하는 제1 레이블을 수신하는 단계;
상기 인스턴스에 기초하여 생성된 제2 임베딩 벡터와 상기 제1 임베딩 벡터의 차이에 기초하여 제1 뉴럴 네트워크를 학습시키는 단계; 및
상기 제1 임베딩 벡터에 기초하여 예측된 제2 레이블과 상기 제1 레이블의 차이에 기초하여 제2 뉴럴 네트워크를 학습시키는 단계
를 포함하는 뉴럴 네트워크 학습 방법.
- 제15항에 있어서,
상기 제1 뉴럴 네트워크는 CNN을 포함하고, 상기 제2 뉴럴 네트워크는 다층 퍼셉트론을 포함하는
뉴럴 네트워크 학습 방법.
- 제15항에 있어서,
상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크는,
경사 하강(gradient descent) 방식으로 학습되는
뉴럴 네트워크 학습 방법.
- 제15항에 있어서,
상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크는,
제1 임베딩 벡터, 상기 제2 임베딩 벡터, 상기 제1 레이블 및 상기 제2 레이블을 이용한 목적 함수(objective function)에 기초하여 학습되는
뉴럴 네트워크 학습 방법.
- 제15항에 있어서,
상기 제1 뉴럴 네트워크를 학습시키는 단계는,
상기 제1 임베딩 벡터와 상기 제2 임베딩 벡터의 유클리드 거리(euclidean distance)에 기초하여 상기 제1 뉴럴 네트워크를 학습시키는 단계
를 포함하는 뉴럴 네트워크 학습 방법.
- 제15항에 있어서,
상기 제2 뉴럴 네트워크를 학습시키는 단계는,
상기 제1 레이블과 상기 제2 레이블의 유클리드 거리에 기초하여 상기 제2 뉴럴 네트워크를 학습시키는 단계
를 포함하는 뉴럴 네트워크 학습 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200159628A KR102666670B1 (ko) | 2020-11-25 | 2020-11-25 | 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200159628A KR102666670B1 (ko) | 2020-11-25 | 2020-11-25 | 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220072237A true KR20220072237A (ko) | 2022-06-02 |
KR102666670B1 KR102666670B1 (ko) | 2024-05-20 |
Family
ID=81985053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200159628A KR102666670B1 (ko) | 2020-11-25 | 2020-11-25 | 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102666670B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190347552A1 (en) * | 2014-01-31 | 2019-11-14 | Google Llc | Generating vector representations of documents |
KR20200029659A (ko) * | 2018-09-06 | 2020-03-19 | 포항공과대학교 산학협력단 | 얼굴 인식 방법 및 장치 |
-
2020
- 2020-11-25 KR KR1020200159628A patent/KR102666670B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190347552A1 (en) * | 2014-01-31 | 2019-11-14 | Google Llc | Generating vector representations of documents |
KR20200029659A (ko) * | 2018-09-06 | 2020-03-19 | 포항공과대학교 산학협력단 | 얼굴 인식 방법 및 장치 |
Non-Patent Citations (2)
Title |
---|
Leda Sarı et al., "PRE-TRAINING OF SPEAKER EMBEDDINGS FOR LOW-LATENCY SPEAKER CHANGE DETECTION IN BROADCAST NEWS," ICASSP 2019 (2019.05.12.)* * |
Matteo Stefanini et al., "A Novel Attention-based Aggregation Function to Combine Vision and Language," arXiv:2004.13073v2 [cs.CV] 13 Jul 2020 (2020.07.13.)* * |
Also Published As
Publication number | Publication date |
---|---|
KR102666670B1 (ko) | 2024-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220261644A1 (en) | Method and apparatus for generating task plan based on neural network | |
US11803733B2 (en) | Method for implementing neural network model in heterogeneous computing platform and apparatus for performing the same | |
Chen et al. | Highly parallelized memristive binary neural network | |
KR20240025578A (ko) | 뉴럴 네트워크를 이용한 초분광 이미지 분류 방법 및 장치 | |
KR102524629B1 (ko) | 뉴럴 네트워크를 이용한 호흡 질환 분류 방법 및 장치 | |
KR102666670B1 (ko) | 그룹 레이블링 학습에서 뉴럴 네트워크 기반 효과적인 임베딩 벡터 생성 및 이를 이용한 레이블 예측 방법, 장치 및 그 예측 모델에서의 학습 방법 | |
KR102620875B1 (ko) | 심층 신경망 기반 영상 스티칭 방법 및 장치 | |
US20230058341A1 (en) | Neural network training method and apparatus using trend | |
KR102547997B1 (ko) | 효율적인 메모리 접근 방식을 이용한 뉴럴 네트워크 연산 가속 방법 및 장치 | |
KR20230150150A (ko) | 초분광 영상 분석 딥러닝 모델을 위한 전처리 방법 및 장치 | |
KR20220075772A (ko) | 이미지 인식을 이용한 캘린더 제공 장치 | |
US20220237487A1 (en) | Accelerator for processing inference tasks in parallel and operating method thereof | |
KR20220056633A (ko) | 기계 독해 방법 및 장치 | |
KR102626850B1 (ko) | 뉴럴 네트워크 기반 에너지 하베스팅 방법 및 시스템 | |
KR20230085529A (ko) | 레이블이 부분적으로 주어진 환경에서 다중 레이블을 분류하는 방법 및 이를 수행하는 장치 | |
KR102668317B1 (ko) | 레이더 신호 처리를 이용한 객체 인식 시스템 | |
KR102614909B1 (ko) | 희소화를 이용한 뉴럴 네트워크 연산 방법 및 장치 | |
KR20240064412A (ko) | 결함 검출 방법 및 이를 수행하는 장치 | |
KR102605717B1 (ko) | 스마트 교통 신호 제어 시스템 | |
KR20240062407A (ko) | 시스템 오류 예측 장치 및 이의 학습 방법 | |
KR102685789B1 (ko) | 데이터 코드의 변환을 수행하는 시스템, 장치 및 방법 | |
KR20230159953A (ko) | 뉴럴 네트워크를 이용한 이상 검출 장치 및 방법 | |
KR102506988B1 (ko) | 이종 손실 함수를 이용하여 학습된 뉴럴 네트워크를 이용한 이상 검출 장치 | |
KR20230041450A (ko) | 뉴럴 네트워크 연산 방법 및 장치 | |
KR20240095894A (ko) | 주의 매커니즘을 이용한 고품질의 장면 이미지 생성 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |