KR20210034486A - 언어 생성을 위한 신경망 모델의 학습 방법 및 이의 장치 - Google Patents
언어 생성을 위한 신경망 모델의 학습 방법 및 이의 장치 Download PDFInfo
- Publication number
- KR20210034486A KR20210034486A KR1020200110295A KR20200110295A KR20210034486A KR 20210034486 A KR20210034486 A KR 20210034486A KR 1020200110295 A KR1020200110295 A KR 1020200110295A KR 20200110295 A KR20200110295 A KR 20200110295A KR 20210034486 A KR20210034486 A KR 20210034486A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- neural network
- hostile
- hidden
- calculated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000003062 neural network model Methods 0.000 title claims description 39
- 238000013528 artificial neural network Methods 0.000 claims description 51
- 239000013598 vector Substances 0.000 claims description 43
- 230000000306 recurrent effect Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 20
- 238000009826 distribution Methods 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims 9
- 238000013459 approach Methods 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 28
- 238000002474 experimental method Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- 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
-
- 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/048—Activation functions
-
- 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
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 적대적 학습 방법을 이용하여 기존 모델의 정규화를 강화한 새로운 학습 방법을 제시한다. 또한 기존 기술은 워드 임베딩 의존성이 큰 접근 방법으로 특히 단일 의미만을 지닌 워드 임베딩의 문제점을 가지고 있지만, 본 발명은 자가-주의집중 모델을 적용하여 종래 문제점을 해결한다.
Description
본 발명은 신경망 기반의 언어 생성 기술에 관한 것이다.
최근 신경망을 이용하여 언어(또는 자연어)를 생성하는 기술(이하, '신경망 기반 언어 생성' 또는 '신경 언어 생성(neural language generation)에 대한 연구가 활발히 진행되고 있다.
신경망 기반 언어 생성을 위한 신경망 모델에서는, 신경망의 출력값들에 대한 클래스 분류를 위해, 상기 출력값들의 정규화, 즉, 언어 생성 확률값을 계산하는 소프트맥스(softmax) 함수가 이용된다.
그런데, 소프트맥스 함수는 언어 생성 확률값을 계산하는데, 많은 연산량을 필요로 하는 문제가 있으며, 이러한 소프트맥스 연산 문제는 신경망 기반 언어 생성을 위한 신경망 모델의 학습 속도 및 성능을 저하시키는 주요 요인이다.
본 발명은, 신경망 기반 언어 생성을 위한 신경망 모델의 학습 속도 및 성능을 개선하는데 목적이 있다.
세부적으로, 본 발명은, 학습 속도 개선을 위해, 언어 생성 확률값을 도출하는 소프트맥스(softmax)의 문제점을 해결하는 데 있다. 또한 본 발명은, 성능 개선을 위해, 언어 생성 시점에서 문장의 컨텍스트를 고려하는 주의집중(attention) 모델을 제공하는데 있다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 언어 생성을 위한 신경망 모델의 학습 방법은, 입력 워드를 벡터로 표현한 입력 워드 임베딩값을 순환 신경망을 통해 변환한 값과 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값 사이의 거리값을 일정 수준으로 설정하기 위한 적대적 교란값을 추정하는 단계; 합산기에서, 상기 입력 워드 임베딩값과 상기 타겟 워드 임베딩값에 상기 추정된 적대적 교란값을 각각 합산하여, 변환된 입력 워드 임베딩값과 변경된 타겟 워드 임베딩값을 각각 출력하는 단계; 순환 신경망 셀에서, 상기 변경된 입력 워드 임베딩값에 대한 은닉값을 생성하는 단계; 주의집중 모델에서, 상기 생성된 은닉값에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 은닉값에 컨텍스트에 따른 의미 변화를 나타내는 컨텍스트 정보를 투영하는 단계; 및 거리 최소화 연산기에서, 상기 컨텍스트 정보가 투영된 은닉값과 상기 변경된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 수행하여, 상기 신경망 모델에 대한 적대적 학습을 진행하는 단계를 포함한다.
본 발명의 다른 일면에 따른 언어 생성을 위한 신경망 모델의 학습을 위한 컴퓨팅 장치는 입력 워드를 벡터로 표현한 입력 워드 임베딩값과 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값에 적대적 교란값을 각각 합산하는 제1 연산 로직; 상기 적대적 교란값이 합산된 입력 워드 임베딩값에 대한 순환 신경망 연산을 수행하여 은닉값을 계산하는 제2 연산 로직; 상기 계산된 은닉값에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 계산된 은닉값에 상기 입력 워드의 주변 워드에 대한 컨텍스트 정보를 투영하기 위한 연산을 수행하는 제3 연산 로직; 및 상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 통해, 상기 신경망 모델에 대한 적대적 학습을 수행하는 제4 연산 로직을 포함한다.
본 발명에 따르면, 신경망 기반의 언어 생성을 위한 신경망 모델의 학습 속도를 개선하는데 제약 요소인 소프트맥스 연산을 회피한다.
또한, 본 발명의 신경망 기반의 언어 생성을 위한 신경망 모델은 대상 워드 벡터와 출력 벡터를 비교하는 시점에서 컨텍스트를 반영하는 기법을 제공함으로써, 다중 의미 어휘 생성을 가능하게 한다.
또한, 본 발명에 따르면, 적대적 훈련(Adversarial Training) 기법을 이용하여 신경망 기반의 언어 생성을 위한 신경망 모델의 견고성(Robustness)을 향상시킴으로써, 신경망 모델의 표현력이 개선될 수 있다.
도 1은 본 발명의 실시 예에 따른 신경망 기반의 언어 생성을 위한 신경망 모델의 내부 구성을 나타내는 블록도이다.
도 2는 본 발명의 실시 예에 따른 신경망 기반의 언어 생성을 위한 학습 과정을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 언어 생성을 위한 신경망 모델의 학습 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시 예에 따른 신경망 기반의 언어 생성을 위한 학습 과정을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 언어 생성을 위한 신경망 모델의 학습 방법을 설명하기 위한 흐름도이다.
본 발명의 다양한 실시 예는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시 예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다. 그에 앞서, 먼저, 본 발명의 이해를 돕기 위해, 신경망 기반의 언어 생성과 관련하여 몇 가지 공개된 연구들에 대해 소개한다.
ICLR 2019에서 공개되고, 'VON MISES-FISHER LOSS FOR TRAINING SEQUENCE TO SEQUENCE MODELS WITH CONTINUOUS OUTPUTS''을 제목으로 하고, Sachin Kumar & Yulia Tsvetkov를 저자로 하는 논문(이하, Kumar의 논문)은 Von Mises-Fisher(vMF) loss를 이용한 연속 출력(continuous output)에 대한 기술을 다루고 있다.
Kumar의 논문은 시퀀스2시퀀스(sequence to sequence) 모델의 출력 단계(output step)에서 어휘 생성에 대한 확률 분포(probability distribution)를 생성하는 대신 직접 워드 임베딩값(word embeddings value)을 생성하는 접근 방법을 제안하고 있다.
구체적으로, Kumar의 논문에서는, 타겟 워드, 즉 정답 워드의 사전 훈련된(pre-trained) 워드 임베딩 벡터값(word embeddings vector)과 신경망의 출력 벡터값(output vector)의 거리를 최소화하도록 진행되는 학습 과정을 제안하고 있다.
Kumar의 논문에서는, 테스트 시점에서 타겟 임베딩 공간(target embedding space)에서 근접 이웃(Nearest neighbor)을 탐색하는데, 모델의 생성 벡터, 즉 출력 벡터값(output vector value)을 키로 사용한다.
본 발명은 vMF loss의 새로운 정규화(regularization)을 위해 적대적 훈련(adversarial training) 기법 또는 적대적 학습 기법을 도입하여 새로운 vMF loss를 제안한다.
또한, 본 발명은 사전 훈련된(학습된) 워드 임베딩값(pre-trained word embeddings value)과 출력 벡터값(output vector value) 간의 거리 연산 과정에서 자가-주의집중(self-attention) 모델을 이용하여 문장의 문맥(context)을 고려한 언어 생성 접근 방법을 제안한다.
신경망 기반의 언어 생성과 관련하여, ICLR 2015에서 공개되고, 'EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES'을 제목으로 하고, Ian J. Goodfellow, Jonathon Shlens & Christian Szegedy를 저자로 하는 논문(이하, Goodfellow의 논문)은 학습 모델의 입력 데이터에 교란값(worst-case perturbation)을 도입하여 모델의 견고성(robustness)을 개선하는 FGSM(fast gradient sign method)를 소개하고 있다.
본 발명은 Goodfellow의 논문의 접근 방법을 기반으로, 학습 모델의 입력 데이터에 교란값을 도입하는 것에 더하여, 출력 벡터값(output vector value)에 적대적 교란값(adversarial perturbation value)을 추정하여 vMF loss에 적대적 훈련(adversarial training) 기법 또는 적대적 학습(adversarial learning) 기법을 접목한 방법을 제안한다.
신경망 기반의 언어 생성과 관련하여, 신경 정보 처리 시스템에 관한 31차 컨퍼런스(NIPS 2017)에서 공개되고, 'Attention Is All You Need'을 제목으로 하며, Ashish Vaswani외 다수를 저자로 하는 논문(이하, Vaswani의 논문)은 self-attention과 시퀀스-투-시퀀스로 구성된 멀티-헤드 주의집중(multi-head attention) 모델을 소개하고 있다.
Vaswani의 논문은 주의집중(attention) 모델의 파라메터(parameter) 개수를 증폭하여 모델의 주의집중(attention) 능력을 강화한 접근 방법을 소개하고 있다.
본 발명은, 기계 학습과 관련된 국제 회의(Proceedings of the 36th International Conference on Machine Learning)에서, Nikolaos Pappas를 저자로 하며, 'Deep Residual Output Layers for Neural Language Generation'을 제목으로 하는 논문에서 소개된 접근 방법을 기반으로, 멀티-헤드 주의집중(multi-head attention) 모델을 대체할 수 있는 접근 방법을 제안한다.
기존 주의집중(attention) 모델의 경우, 주의집중(attention) 항목 간에 공유된 파라메터(shared parameter)가 존재하지 않아 서로 독립적인 주의집중(attention)을 생성한다.
이러한 서로 독립적인 주의집중(attention) 생성은 본 발명에서 제공하는 새로운 심층 레지듀얼 주의집중(Deep residual attention) 모델로 해결한다.
이상 설명한 바와 같이, 신경망 언어 생성(neural language generation) 기술에서, 디코더의 출력층에서 확률 분포를 생성하는 것이 아니라 워드 임베딩값을 출력하는 접근 방법(Kumar의 논문)이 제시된 바 있다.
Kumar의 논문의 접근 방법은 워드 임베딩에 대한 의존성이 큰 접근 방법이다. 즉, Kumar의 논문의 접근 방법은 단일 의미만을 갖는 워드 임베딩의 문제점을 갖고 있다. 이러한 문제점을 해결하기 위해, 본 발명은 문맥(context)을 고려한 주의집중 모델을 상기 접근 방법(Kumar의 논문)에 통합하는 방법을 제안한다.
또한 본 발명은 적대적 학습 방법을 이용하여 기존 모델의 정규화를 강화한 새로운 학습 방법을 제공한다.
또한, 본 발명은 다중 헤드 주의집중(multi-head attention) 모델의 문제점이 과도하게 많은 파라미터의 개수와 주의집중 대상들이 공유하는 파라미터가 없다는 한계를 극복하기 위해, 새로운 심층 레지듀얼 주의집중(Deep residual attention) 모델을 제공한다. 이는 언어 생성 분야뿐만 아니라 주의집중 모델이 활용되는 다양한 접근 방법에서 활용될 수 있다.
이하, 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 신경망 기반의 언어 생성을 위한 신경망 모델의 내부 구성을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 신경망 기반의 언어 생성을 위한 신경망 모델은, 예를 들면, 시퀀스-투-시퀀스(Sequence-to-Sequence) 모델(300)일 수 있다.
시퀀스-투-시퀀스 모델(300)은 컴퓨팅 장치에 의해 실행되는 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다.
시퀀스-투-시퀀스 모델(300)이 소프트웨어 모듈로 구현된 경우, 시퀀스-투-시퀀스 모델(300)은 컴퓨팅 장치 내의 적어도 하나의 프로세서에 의해 실행되고, 실행을 위해 상기 컴퓨팅 장치 내의 메모리에 적재되는 알고리즘 형태로 구현될 수 있다. 여기서, 프로세서는 적어도 하나의 CPU, 적어도 하나의 GPU 또는 이들의 조합일 수 있다.
시퀀스-투-시퀀스 모델(300)이 하드웨어 모듈로 구현된 경우, 시퀀스-투-시퀀스 모델(300)은 컴퓨팅 장치 내의 적어도 하나의 프로세서 내의 회로 로직으로 구현될 수 있다.
시퀀스-투-시퀀스 모델(300)은 입력 시퀀스로부터 다른 도메인의 출력 시퀀스를 출력하는 모델로서, 챗봇(Chatbot), 기계 번역(Machine Translation), 내용 요약(Text Summarization), STT(Speech to Text) 등 다양한 분야에서 적용될 수 있다.
시퀀스-투-시퀀스 모델(300)은, 도 1에 도시된 바와 같이, 크게 인코더(50)와 디코더(100)를 포함하도록 구성될 수 있다.
인코더(50)는 입력 문장의 모든 단어들을 순차적으로 수신한 후, 모든 단어들을 하나의 벡터로 인코딩한다. 인코더(50)에 의해 인코딩된 벡터는 컨텍스트 벡터(context vector)라 불릴 수 있다.
입력 문장의 모든 단어들이 하나의 컨텍스트 벡터로 인코딩 되면, 인코더(50)는 그 컨텍스트 벡터를 디코더(100)로 입력한다.
디코더(100)는 인코더(50)로부터 입력된 컨텍스트 벡터를 기반으로 번역된 단어들을 하나씩 순차적으로 출력한다.
특별히 한정하는 것은 아니지만, 본 발명에 따른 언어 생성 과정은 시퀀스-투-시퀀스 모델(300)의 디코더(100)에 적용되는 것으로 가정한다.
디코더(100)에 적용되는 본 발명에 따른 언어 생성 과정은 vMF loss 접근 방법에 적대적 훈련(adversarial training) 기법과 자가 주의집중(self-attention) 기술을 접목한 새로운 접근 방법을 제공한다.
디코더(100)에 적용되는 본 발명에 따른 언어 생성 과정은 기존의 주의집중(attention) 모델의 한계점인 주의집중(attention) 항목 간의 독립적인 접근 방법을 해결한다.
도 2는 도 1에 도시한 디코더의 언어 생성을 위한 학습 과정을 도식적으로 나타낸 도면이다.
도 2를 참조하면, 디코더(100)의 학습을 위해, 디코더(100)는 2개의 합산기 블록들(110, 120), 순환 신경망(RNN) 블록(130), 자가-주의집중 모델(140) 및 거리 최소화 연산기(150)를 포함한다.
각 구성들(110, 120, 130, 140, 150)은 컴퓨팅 장치 내의 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 상기 프로세서에 임베딩된 회로 로직(하드웨어 모듈)으로 구현될 수 있다. 또는 각 구성들(110, 120, 130, 140 및 150)은 소프트웨어 모듈 및 하드웨어 모듈의 조합으로 구현될 수 있다.
합산기 블록(110)은 다수의 합산기들(11, 12, 13, 14)를 포함한다. 각 합산기는, 예를 들면, 입력 워드를 벡터로 표현한 입력 워드 임베딩값(101의 w i-1 )과 RNN 셀(33)에 의해 추정된 적대적 교란값()을 합산하여, 입력 워드 임베딩값(101의 w i-1 )을 적대적 교란값(adversarial perturbation value) ()이 반영된 입력 워드 임베딩값(115)으로 변경한다.
합산기 블록(120)은 다수의 합산기들(21, 22, 23, 24)을 포함한다. 각 합산기는, 예를 들면, 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값(102의 w i )과 RNN 셀(33)에 의해 추정된 적대적 교란값()을 합산하여, 타겟 워드 임베딩값(102의 w i )을 적대적 교란값()이 반영된 타겟 워드 임베딩값()으로 변경한다.
RNN 블록(130)은 다수의 순환 신경망(RNN) 셀들(31, 32, 33, 34)을 포함하며, 적대적 교란값()이 반영된 은닉값(132의 )을 출력한다. 예를 들면, RNN 셀(33)은, 적대적 교란값()이 반영된 입력 워드 임베딩값(115)에 대해 RNN 연산(또는 은닉층 연산)을 수행하여 적대적 교란값()이 반영된 은닉값(132의 )을 생성한다.
적대적 교란값의 추정을 위해, 예를 들면, RNN 셀(33)은, 합산기(13)를 그대로 통과한(bypassing) 입력 워드 임베딩값(101의 w i-1 )에 대한 디코딩 추론(decoding inference)(또는 RNN 연산)을 수행하여 초기 은닉값을 생성하고, 그 초기 은닉값을 적대적 교란값(, )으로 출력(또는 추정)한다.
이후, 합산기(13)는 RNN 셀(33)에 의해 추정된 적대적 교란값()을 워드 임베딩값들(w i-1 )에 합산하고, 합산기(23)은 RNN 셀(33)에 의해 추정된 적대적 교란값()을 워드 임베딩값들(w i )에 합산한다.
자가-주의집중 모델(140)은 적대적 교란값()이 반영된 은닉값(132의 )에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 은닉값(132의 )에 컨텍스트에 따른 의미 변화를 나타내는 컨텍스트 정보를 투영한다.
컨텍스트 정보는 자가-주의집중 연산 대상에 해당하는 현재의 워드(word)의 이전 워드들과 이후 워드들을 의미한다. 현재의 워드를 RNN 셀(33)로부터 추정된(또는 출력된) 은닉값(132의 )라고 가정하면, 이전 워드들은 132의 , … 이고, 이후의 워드들은 132의 … 이다.
본 발명은, 아래에서 설명될 거리 최소화 연산기(150)에서 RNN 블록(130)의 출력값, 예를 들면, 적대적 교란값()이 적용된 은닉값(132의 )과 적대적 교란값()이 반영된 타겟 워드 임베딩값() 간의 비교 연산을 수행하기 이전에, 자가-주의집중 모델(140)을 이용하여, 은닉값(132의 )에 컨텍스트에 따른 의미 변화(컨텍스트 정보)를 투영하는 점에서 선행 문헌들과의 차이점이 있다.
거리 최소화 연산기(150)는 상기 컨텍스트 정보가 투영된 은닉값(142)과 상기 적대적 교란값()이 반영된 타겟 워드 임베딩값() 간의 거리값을 최소화하는 연산을 수행하여, 상기 신경망 모델(디코더)에 대한 적대적 학습을 진행한다.
이하, 각 구성들(110, 120, 130, 140 및 150)에 대해 좀 더 상세하게 살펴보기로 한다.
디코더(100)의 입력 은 입력 워드 임베딩값(input word embeddings value)으로서, 사전-훈련된(pre-trained) 또는 사전 학습된(pre-learned) 값으로 가정한다. 여기서, 입력 워드 임베딩값은 입력 워드 임베딩 벡터(input word embeddings vector)로 지칭될 수 있다. 유사하게, 아래에서 설명할 타겟 워드 임베딩값(target word embeddings vector)은 타겟 워드 입베딩 벡터로 지칭될 수 있다.
RNN(Recurrent Neural Network) 블록(130)은 다수의 RNN셀들(31~34)을 포함하도록 구성되며, 각 RNN 셀은 신경망 기반 언어 모델에서 주로 사용되는 순환 신경망(Recurrent Neural Network) 구조를 갖는다. RNN 블록(130)은 트랜스포머(transformer)와 같은 다른 신경망 모델로 대체할 수 있다.
각 RNN셀의 출력값은 일반적인 신경망 기반의 언어 모델에서 소프트맥스(softmax)의 입력 값으로 사용되는 은닉값(hidden value)을 의미한다.
적대적 학습을 수행하기 위해, 본 발명은 적대적 교란값()를 추정하여 계산하고, 입력 워드 임베딩값()과 타겟 워드 임베딩값()에 적대적 교란값(adversarial perturbation value)을 합산한다.
적대적 학습은 크게 적대적 교란값을 추정하는 디코딩 과정과 추정된 적대적 교란값을 이용하여 다시 디코딩 과정을 수행하는 학습 과정으로 나눌 수 있다.
적대적 교란값을 추정하는 디코딩 과정은 적대적 교란값 없이, 디코딩 추론(Decoding inference) 또는 RNN 연산을 수행하여, 초기 은닉값을 생성하고, 그 초기 은닉값을 적대적 교란값(adversarial perturbation value)으로 추정하는 과정이다.
상기 추정된 적대적 교란값 기반의 학습 과정은, 상기 추정된 적대적 교란값(adversarial perturbation value)을 입력단의 입력 워드 임베딩값()과 타겟 워드 임베딩값()에 각각 합산하는 과정을 포함한다.
이처럼 두 벡터값들 과 간의 거리값이 최소화되도록 수행되는 학습 방법은 전통적인 소프트맥스(softmax)를 이용한 학습 방법이 아니라 Kumar의 논문에서 소개된 연속 출력값 기반의 학습 방법에 기반한 것이다.
Kumar의 논문에서는 두 벡터값들 과 사이의 거리값에 기반한 다양한 손실 함수(loss function)를 제안한다. Kumar의 논문의 문제점은 타겟 워드 임베딩값을 사전 학습된(pre-learned) 워드 임베딩값으로 가정하고 있기 때문에, 컨텍스트(context)에 따른 의미 변화를 고려하고 있지 않다는 점이다.
이러한 문제점을 해결하기 위해, 본 발명은, 상기 컨텍스트(context)에 따른 의미 변화가 반영된 워드 임베딩값을 활용하기 위해, 주의집중(attention) 모델(140)을 이용하여 벡터값 에 상기 컨텍스트(context)에 따른 의미 변화를 나타내는 컨텍스트(context) 정보를 투영(projection)한 후, 상기 컨텍스트(context) 정보가 투영된(projected)된 벡터값 과 적대적 교란값이 반영된 타겟 워드 임베딩값 사이의 거리값을 최소화하는 접근 방법(학습 방법)을 제안한다.
이러한 본 발명의 접근 방법(학습 방법)은 벡터 거리를 고려한 기계학습의 손실 함수(loss function)로 기술될 수 있으며, 세부적인 접근 방법은 두 부분으로 설명된다. 첫번째는 적대적(Adversarial) vMF Loss를 통한 두 벡터들의 거리를 이용한 학습 함수이고, 두번째는 딥 레지듀얼 주의집중 모델(Deep residual attention model)이다.
적대적(Adversarial) vMF Loss
Kumar의 논문에서는, 두 워드 임베딩 벡터의 유사도 계산을 위해 von Mises-Fisher (vMF) distribution을 이용하여 아래의 수학식1과 같은 손실 함수(Loss function)를 소개하고 있다.
위 수학식 1은 vMF 분포(vMF distribution)의 네거티브 로그우도(negative log-likelihood)를 이용하여 타겟 워드 임베딩(target word embedding) e(w)와 RNN 출력값 가 유사할수록 손실(loss)이 작아지게 하는 역할을 한다.
여기서 는 집중도(concentration) 상수로서, 가 0에 가까우면 균일 분포(uniform distribution)를 나타내고, 이면, 포인트 분포(point distribution)를 나타낸다.
Kumar의 논문에서는, 두 가지의 휴리스틱 정규화(regularization) 접근 방법을 제안하고 있으나, 본 발명은 위의 손실 함수 NLLvMF()에 적대적 학습(adversarial learning) 기법을 적용한 것이다.
Kumar의 논문에서는 소프트맥스 레이어(layer)가 존재하지 않기 때문에, 손실 함수 NLLvMF()에 적대적 학습(adversarial learning) 기법을 직접적으로 적용할 수 없다.
이에, 본 발명은 Goodfellow의 논문에서 소개하는 FGSM(fast gradient sign method)을 기반으로 손실 함수 NLLvMF()를 수정한다. 이는 입력 데이터를 손실 함수 NLLvMF()의 그레디언트(gradient) 방향으로 선형 이동시켜 적대적 데이터를 생성하여 모델의 견고성을 강화하는 것이다.
언어생성 학습은 아래의 수학식 2를 따른다.
수학식 2에 따른 언어생성 학습에 따르면, 컨텍스트 x1:t-1을 가정할 때, xt의 네거티브 로그우도(negative log-likelihood)가 최소화되도록 학습이 진행된다. 여기서 wj는 xt의 워드 임베딩 값이고, rj는 해당 임베딩값의 교란값이 된다. 여기서 적대적 노이즈가 생성되도록 rj를 최대화한다. 그리고, l은 문장 인덱스를 의미한다.
위의 수학식 2에서 적대적 교란값의 최대화 값은 아래의 수학식 3과 같다. 수학식 3은 해당 언어생성모델을 NLLvMF로 기술하는 내용을 포함하고 있다.
아래의 수학식 4는 추정된 교란값을 보여준다.
이는 디코더(100)의 출력값으로 구성되고, 정규화 형식을 갖는다. NLLvMF는 디코더(100)의 출력값과 타겟 임베딩값의 거리를 나타내고, 해당 거리값을 일정 수준으로 크게 만드는 rj값을 찾는 것이 수학식 4의 목적이다.
아래의 수학식 5는 본 발명에 따른 새로운 손실함수 NLLvMF()이다.
Kumar의 논문은 은닉값 의 크기를 통해 학습과정을 통제하는 휴리스틱 접근 방법을 소개한 반면, 본 발명은 추정된 적대적 교란값(adversarial perturbation value)을 이용하여 손실함수 NLLvMF()에 적대적 학습을 접목시켜, 정규화를 진행한다.
자가 주의집중 모델(self-attention model)
본 발명과 Kumar의 논문의 큰 차이점 중에 하나는, RNN의 출력값 과 타겟 워드 벡터 간의 비교(거리 최소화 과정) 이전에, 자가-주의집중 모델(도 2의 140)을 이용하여 RNN의 출력값 에 컨텍스트(context) 정보를 반영(reflection) 또는 투영(projection)하는 데 있다.
본 발명은 Vaswani의 논문에서 소개된 멀티-헤드 주의집중(Multi-Head Attention) 메커니즘을 이용하여 RNN의 출력 문장(RMM 블록(132)의 출력값들 )에 대한 자가-주의집중 연산을 수행한다.
자가-주의집중 연산을 수행하기 위해, 도 2에 도시된 자가-주의집중 모델(140)(Self-Attention model)은 우선 현재의 컨텍스트(입력 워드 임베딩 시퀀스: )를 프로젝션하여 Q(Query), K(Key), V(Value) 매트릭스로 변환한다.
프로젝션은 RNN 블록(130)의 출력값들(132, 워드 임베딩 시퀀스(열))을 파라미터 Q(Query)로 구성된 Q 매트릭스, 파라미터 K(Key)로 구성된 K 매트릭스, 파라미터 V(Value)로 구성된 V 매트릭스로 변환하는 과정이다.
이후, 자가-주의집중 모델(140)은 Q와 K와의 내적 연산(dot product)를 통해 현재 워드와 컨텍스트 워드들 간의 유사도를 나타내는 확률값을 소프트맥스(softmax)를 이용하여 계산한다.
컨텍스트 워드는 현재 워드의 주변 워드들로서, 현재 워드의 이전 워드들과 현재 워드의 이후 워드들을 의미한다. 따라서, 현재 워드와 컨텍스트 워드들 간의 유사도는 현재 워드와 이전 워드의 유사도, 현재 워드와 이후 워드의 유사도를 포함한다.
예를 들면, RNN 블록(130)의 출력값들(워드 인베딩 시퀀스)을 , , 라 가정하고, 현재 워드(현재의 자가-주의집중 연산 대상에 해당하는 워드)는 이고, 이전 워드는 이고, 이후 워드는 라 할 때, 현재 워드와 컨텍스트 워드들 간의 유사도는 와 의 유사도 및 및 의 유사도를 포함한다.
이후, 자가-주의집중 모델(140)은, 상기 계산된 확률값(유사도)을 가중치로 이용하여, 컨텍스트 워드들 각각의 워드 임베딩값 V를 통합(합산)하고, 이를 주의집중값(attention value)을 계산한다. 예를 들면, 이 와 유사한 정도를 나타내는 확률값이 a이고, 이 과 유사한 정도를 나타내는 확률값이 c이고, 가 및 와 유사한 정도를 나타내는 확률값이 b(= a+c)일때, 현재의 워드에 대응하는 의 주의집중값은 + + 로 계산될 수 있다.
이후, 자가-주의집중 모델(140)은 상기 계산된 주의집중값(attention value)을 기존 벡터값과 합산하고, 상기 기존 벡터값과 합산된 주의집중값(attention value)에 대해 정규화 과정을 수행한다. 여기서, 기존의 백터값은, RNN 블록(130)으로부터 출력된 적대적 교란값이 반영된 은닉값들(132, 워드 임베딩 시퀀스)을 의미한다.
자가-주의집중 모델(140)은, 상기 정규화 과정을 통해, 자가-주의집중(self-attention)이 반영된 새로운 벡터값, 즉, 컨텍스트 정보가 반영된(투영된) 새로운 은닉값(도 2의 142)을 계산하고, 이 새로운 은닉값(142)을 거리 최소화 연산기(150)로 전달한다.
멀티-헤드 주의집중(Multi-Head Attention)은 다수의 이질적인 학습이 필요한 프로젝션들을 통해, 주의집중(attention) 능력을 향상시키는 역할을 한다. 여기서 업데이트된 벡터값, 즉, 새로운 은닉값(142)은 타겟 임베딩 벡터와의 거리를 최소화하기 위한 연산에 이용된다.
본 발명의 실험 결과
본 발명의 실시 예에 대한 실험을 위해, 실험은 프랑스어/영어 기계번역을 대상으로 실시하였다. 평가셋은 International Workshop on Spoken Language Translation(IWSLT16)의 평가셋을 이용하였고, IWSLT16의 평가셋은 4만 단어, 2,369문장쌍으로 구성된다.
학습셋은 영어의 경우 383만단어, 22만 문장, 프랑스어의 경우 392만단어, 22만 문장의 병렬 텍스트를 이용했다. 워드 임베딩의 경우, fastText로 학습된 결과를 이용하였다.
해당 리소스들은 Kumar의 논문에서 제공한 결과를 이용한 것이다.
아래의 표 1은 모두 6가지 실험 결과들을 보여준다. IN-adv은 입력층에 교란값을 적용한 실험이고, OUT-adv는 출력층에 교란값을 적용한 실험이다.
ATT는 주의 집중 모델을 적용한 실험이다. 실험결과, 출력층에 교란값을 적용한 실험 OUT-adv가 가장 좋은 결과를 보였다.
실험1 | 실험2 | 실험3 | 평균 | |
Baseline [1] | 30.59 | 30.08 | 30.25 | 30.31 |
IN-adv | 30.26 | 30.74 | 30.48 | 30.49 |
OUT-adv | 30.5 | 30.41 | 30.78 | 30.56 |
IN-OUT | 30.47 | 30.29 | 30.15 | 30.30 |
ATT | 30.31 | 30.44 | 30.36 | 30.37 |
IN-adv+ATT | 30.15 | 30.02 | 30.13 | 30.1 |
이상 설명한 바와 같이, 본 발명의 실시 예에 따른 평가 결과는 적대적 학습을 디코더의 출력단에 적용한 실험에서 가장 좋았지만, 입력단과 출력단에 적대적 학습 방법을 모두 적용한 경우, 동일한 결과 또는 더 좋은 결과를 얻을 수 있을 것으로 예상한다.
도 3은 본 발명의 실시 예에 따른 언어 생성을 위한 신경망 모델의 학습 방법을 설명하기 위한 흐름도이다.
본 발명의 실시 예에 따른 언어 생성을 위한 신경망 모델의 학습 방법은 컴퓨팅 장치 또는 상기 컴퓨팅 장치 내의 적어도 하나의 프로세서(CPU, GPU)에 의해 수행된다.
도 3을 참조하면, 단계 320에서, 합산기 블록(110)에 의해, 입력 워드(input word)를 벡터로 표현한 입력 워드 임베딩값(예, 도 2의 w i-1 )과 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값(도 2의 w i )에 적대적 교란값(예, 도 2에서 및 )을 각각 합산하는 과정이 수행된다.
워드 임베딩값(예, 도 2의 w i-1 , w i )과 적대적 교란값(예, 도 2에서 및 )의 합산을 위해, 상기 단계 320에 앞서, 단계 310에서, 적대적 교란값을 계산(추정)하는 과정이 선행된다.
여기서, 적대적 교란값(예, 도 2에서 및 )은 상기 입력 워드 임베딩값(예, 도 2의 w i-1 )을 순환 신경망을 통해 변환한 값과 상기 타겟 워드 임베딩값(도 2의 w i )과의 거리값을 일정 수준 이상의 큰 값으로 만드는 역할을 한다. 즉, 적대적 교란값(예, 도 2에서 및 )은 상기 입력 워드 임베딩값(예, 도 2의 w i-1 )과 상기 타겟 워드 임베딩값(도 2의 w i )의 유사도를 의도적으로 떨어트리기 위한 정보로 활용된다.
적대적 교란값(예, 도 2에서 및 )의 계산(추정)은 순환 신경망 블록(130)에서 수행될 수 있다. 적대적 교란값의 계산(추정)을 위해, 먼저, 상기 합산기 블록(110)에서는 상기 입력 워드 임베딩값(예, 도 2의 w i-1 )에 대한 어떠한 합산 연산 없이, 상기 입력 워드 임베딩값(예, 도 2의 w i-1 )을 그대로 상기 순환 신경망 블록(130)으로 입력하는 과정이 수행된다.
이후, 상기 순환 신경망 블록(130)에서, 상기 합산기 블록(110)으로부터 입력된 상기 입력 워드 임베딩값(예, 도 2의 w i-1 )에 대한 순환 신경망 연산을 수행하여 초기 은닉값을 계산하고, 계산된 상기 초기 은닉값을 상기 적대적 교란값(예, 도 2에서 및 )으로서 계산하는 과정이 수행된다.
단계 310에서 적대적 교란값(예, 도 2에서 및 )의 계산이 완료되면, 계산된 적대적 교란값은 다시 합산기 블록(110, 120)로 피드백되고, 합산기 블록(110, 120)에서는 입력 워드 임베딩값(예, 도 2의 w i-1 )과 타겟 워드 임베딩값(도 2의 w i )에 순환 신경망 블록(130)으로부터 피드백된 적대적 교란값(예, 도 2에서 및 )을 각각 합산하는 과정이 수행된다.
이어, 단계 330에서, 순환 신경망 블록(130)에 의해, 상기 적대적 교란값이 합산된 입력 워드 임베딩값에 대한 순환 신경망 연산을 수행하여 은닉값(예, 도 2의 )을 계산하는 과정이 수행된다.
이어, 단계 340에서, 자가-주의집중 모델(140)에 의해, 전 단계 330에서 계산된 은닉값(예, 도 2의 )에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 계산된 은닉값에 상기 입력 워드의 주변 워드에 대한 컨텍스트 정보를 투영(적용)하는 과정이 수행된다. 여기서, 상기 자가-주의집중(self-attention) 연산은
예를 들면, 멀티-헤드 주의집중(multi-head attention) 연산일 수 있다.
상기 계산된 은닉값(예, 도 2의 )에 상기 주변 워드에 대한 컨텍스트 정보를 투영(적용)하는 자가-주의집중 연산을 수행하기 위해, 상기 합산기 블록(110)에서, 상기 입력 워드의 주변 워드에 대응하는 주변 워드 임베딩값(예, 도 2의 w 0 , w 1 , w n-1 )과 상기 주변 워드 임베딩값(도 2의 w 0 , w 1 , w n-1 )에 대응하는 적대적 교란값(, ,)을 합산하는 과정과 상기 순환 신경망 블록(130)에서 상기 대응하는 적대적 교란값이 합산된 주변 워드 임베딩값에 대한 순환 신경망 연산을 수행하여, 주변 은닉값(도 2의 , , )을 계산하는 과정이 선행된다.
주변 은닉값(도 2의 , , )의 계산이 완료되면, 상기 계산된 주변 은닉값(도 2의 , , )을 상기 컨텍스트 정보로 이용하여, 상기 계산된 은닉값(도 2의 )에 상기 계산된 주변 은닉값(도 2의 , , )을 적용(투영)하는 것이 단계 340의 자가-주의집중 연산 과정이다.
여기서, 상기 주변 워드는 자가-주의 집중 연산 대상에 해당하는 상기 입력 워드의 이전 워드와 이후 워드를 포함하며, 상기 주변 워드 임베딩값은 상기 이전 워드에 대응하는 이전 워드 임베딩값(도 2의 w 0 , w 1 )과 상기 이후 워드에 대응하는 이후 워드 임베딩값(도 2의 w n-1 )을 포함한다.
상기 주변 은닉값은 이전 워드 임베딩값(도 2의 w 0 , w 1 )에 대한 이전 은닉값(예, 도 2의 , )과 이후 워드 임베딩값(도 2의 w n-1 )에 대한 이후 은닉값(예, 도 2의 )을 포함한다. 이때, 이전 은닉값(도 2의 , )과 이후 은닉값(도 2의 w n-1 )은 합산기 블록(110)에 의해 각각 적대적 교란값이 적용된 것이다.
먼저, 상기 계산된 은닉값(도 2의 )과 상기 계산된 주변 은닉값(도 2의 , , ) 간의 유사한 정도를 나타내는 확률값을 계산하는 과정이 수행된다. 예를 들면, 확률값은와 의 유사도, 와 의 유사도 및 와 의 유사도를 포함한다.
유사도를 나타내는 확률값 계산은, 전I한 바와 같이, RNN 블록(130)의 출력값들(워드 임베딩 시퀀스: , , )을 파라미터 Q(Query)로 구성된 Q 매트릭스, 파라미터 K(Key)로 구성된 K 매트릭스 및 파라미터 V(Value)로 구성된 V 매트릭스로 변환한 후, Q 매트릭스와 K 매트릭스의 내적 연산(dot product)를 통해 현재 워드(현재의 은닉값도: 도 2의 )와 컨텍스트 워드들(주변 은닉값들: 도 2의 , , )의 유사도를 나타내는 확률값을 소프트맥스(softmax)를 이용하여 계산함은 전술한 바와 같다.
이후, 상기 확률값을 가중치로 이용하여 상기 계산된 은닉값(도 2의 )과 상기 계산된 주변 은닉값(도 2의 , , )을 합산하여 획득한 합산 결과를 정규화하는 과정을 통해, 상기 계산된 은닉값(도 2의 )에 상기 계산된 주변 은닉값(도 2의 , , ), 즉, 컨텍스트 정보가 투영(적용)된다.
이어, 단계 350에서, 거리 최소화 연산기(150)에서, 상기 신경망 모델에 대한 적대적 학습을 수행하기 위해, 상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산이 수행된다.
상기 컨텍스트 정보가 투영된 은닉값과 상기 타겟 워드 임베딩값 간의 거리값의 최소화 과정은 예를 들면, 손실 함수의 네거티브 로그우도(negative log-likelihood)를 이용하여 수행될 수 있다. 여기서, 상기 손실함수는
von Mises-Fisher (vMF) 분포와 관련된(나타내는) 함수일 수 있다.
이상 설명된 학습 방법에 포함된 각 단계는 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 구현될 수 있다. 또한, 각 단계의 수행 주체, 합산기 블록, 순환 신경망 블록, 자가-주의집중 모델 및 거리 최소화 연산기는 프로세서 내부의 제1 내지 제4 연산 로직으로 각각 구현될 수 있다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다.
저장 매체는, 예를 들면, 프로세서에 연결되며, 그 프로세서는 저장 매체로부터의 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다.
프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다.
본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장된 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다.
따라서, 본 발명에 표현된 실시예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (15)
- 컴퓨팅 장치 내의 적어도 하나의 프로세서에 의해 수행되는 신경망 모델의 학습 방법으로서, 언어 생성을 위한 상기 신경망 모델의 학습 방법에 있어서,
합산기 블록에서, 입력 워드를 벡터로 표현한 입력 워드 임베딩값과 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값에 적대적 교란값을 각각 합산하는 단계;
순환 신경망 블록에서, 상기 적대적 교란값이 합산된 입력 워드 임베딩값에 대한 순환 신경망 연산을 수행하여 은닉값을 계산하는 단계;
자가-주의집중 모델에서, 상기 계산된 은닉값에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 계산된 은닉값에 상기 입력 워드의 주변 워드에 대한 컨텍스트 정보를 투영하는 단계; 및
거리 최소화 연산기에서, 상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 통해, 상기 신경망 모델에 대한 적대적 학습을 수행하는 단계
를 포함하는 언어 생성을 위한 신경망 모델의 학습 방법. - 제1항에서,
상기 합산하는 단계 이전에, 상기 순환 신경망 블록에서, 상기 입력 워드 임베딩값을 순환 신경망을 통해 변환한 값과 상기 타겟 워드 임베딩값 사이의 거리값을 일정 수준 이상의 값으로 만드는 역할을 하는 상기 적대적 교란값을 추정하는 단계를 더 포함하는 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제2항에서,
상기 적대적 교란값을 추정하는 단계는,
상기 합산기 블록에서, 상기 적대적 교란값과의 합산 없이, 상기 입력 워드 임베딩값을 상기 순환 신경망 블록으로 출력하는 단계; 및
상기 순환 신경망 블록에서, 상기 입력 워드 임베딩값에 대한 순환 신경망 연산을 수행하여 초기 은닉값을 계산하고, 계산된 상기 초기 은닉값을 상기 적대적 교란값으로서 추정하는 단계
를 포함하는 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제1항에서,
상기 합산기 블록에서, 상기 입력 워드의 주변 워드에 대응하는 주변 워드 임베딩값과 상기 주변 워드 임베딩 값에 대응하는 적대적 교란값을 합산하는 단계; 및
상기 순환 신경망 블록에서, 상기 대응하는 적대적 교란값이 합산된 주변 워드 임베딩값에 대한 순환 신경망 연산을 수행하여, 주변 은닉값을 계산하는 단계를 더 포함하고,
상기 은닉값에 상기 입력 워드의 주변 워드의 컨텍스트 정보를 투영하는 단계는,
상기 계산된 주변 은닉값을 상기 컨텍스트 정보로 이용하여, 상기 계산된 은닉값에 상기 계산된 주변 은닉값을 적용하는 단계;
를 포함하는 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제4항에서,
상기 계산된 은닉값에 상기 계산된 주변 은닉값을 투영하는 단계는,
상기 계산된 은닉값과 상기 계산된 주변 은닉값 간의 유사한 정도를 나타내는 확률값을 계산하는 단계;
상기 확률값을 가중치로 이용하여 상기 계산된 은닉값과 상기 계산된 주변 은닉값을 합산하는 단계; 및
상기 계산된 은닉값과 상기 계산된 주변 은닉값을 합산하여 획득한 합산 결과를 정규화하여, 상기 계산된 은닉값에 상기 계산된 주변 은닉값을 투영하는 단계
를 포함하는 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제1항에서,
상기 적대적 학습을 수행하는 단계는,
손실 함수의 네거티브 로그우도(negative log-likelihood)를 이용하여 상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 통해, 상기 신경망 모델에 대한 적대적 학습을 수행하는 단계인 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제6항에서,
상기 손실함수는,
von Mises-Fisher (vMF) 분포와 관련된 함수인 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제1항에서,
상기 자가-주의집중(self-attention) 연산은,
멀티-헤드 주의집중(multi-head attention) 연산인 것인 언어 생성을 위한 신경망 모델의 학습 방법. - 제1항에서,
상기 신경망 모델은,
인코더와 디코더를 포함하는 시퀀스 투 시퀀스(sequence to sequence) 모델이고,
상기 적대적 학습을 수행하는 단계는,
상기 디코더에 대한 상기 적대적 학습을 수행하는 단계인 것인 신경망 모델의 학습 방법. - 신경망 모델의 학습을 수행하는 컴퓨팅 장치로서, 상기 컴퓨팅 장치는 상기 신경망 모델을 저장하는 저장 매체 및 상기 저장 매체와 연결되어 상기 저장 매체에 저장된 상기 신경망 모델을 실행시키는 프로세서를 포함하고,
상기 프로세서는,
입력 워드를 벡터로 표현한 입력 워드 임베딩값과 상기 입력 워드의 다음에 등장할 정답 워드를 벡터로 표현한 타겟 워드 임베딩값에 적대적 교란값을 각각 합산하는 제1 연산 로직
상기 적대적 교란값이 합산된 입력 워드 임베딩값에 대한 순환 신경망 연산을 수행하여 은닉값을 계산하는 제2 연산 로직;
상기 계산된 은닉값에 대해 자가-주의집중(self-attention) 연산을 수행하여, 상기 계산된 은닉값에 상기 입력 워드의 주변 워드에 대한 컨텍스트 정보를 투영하기 위한 연산을 수행하는 제3 연산 로직; 및
상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 통해, 상기 신경망 모델에 대한 적대적 학습을 수행하는 제4 연산 로직
을 포함하는 컴퓨팅 장치. - 제10항에서,
상기 제2 연산 로직은,
상기 입력 워드 임베딩값을 순환 신경망을 통해 변환한 값과 상기 타겟 워드 임베딩값 사이의 거리값을 일정 수준으로 설정한 상기 적대적 교란값을 더 계산하는 것인 컴퓨팅 장치. - 제10항에서,
상기 제2 연산 로직은,
상기 적대적 교란값이 합산되지 않은 상기 입력 워드 임베딩값에 대해 순환 신경망 연산을 수행하여, 초기 은닉값을 계산하고, 상기 계산된 초기 은닉값을 상기 적대적 교란값으로 생성하는 것인 컴퓨팅 장치. - 제10항에서,
상기 제1 연산 로직은,
상기 입력 워드의 주변 워드에 대응하는 주변 워드 임베딩값과 상기 주변 워드 임베딩 값에 대응하는 적대적 교란값을 합산하고,
상기 제2 연산 로직은,
상기 대응하는 적대적 교란값이 합산된 주변 워드 임베딩값에 대한 순환 신경망 연산을 수행하여, 주변 은닉값을 계산하고,
상기 제3 연산 로직은,
상기 계산된 주변 은닉값을 상기 컨텍스트 정보로 이용하여, 상기 계산된 은닉값에 상기 계산된 주변 은닉값을 투영하기 위한 연산을 수행하는 것인 컴퓨팅 장치. - 제13항에서,
상기 제3 연산 로직은,
상기 계산된 은닉값과 상기 계산된 주변 은닉값 간의 유사한 정도를 나타내는 확률값을 계산한 후, 상기 확률값을 가중치로 이용하여 상기 계산된 은닉값과 상기 계산된 주변 은닉값을 합산하고, 상기 계산된 은닉값에 상기 계산된 주변 은닉값을 투영하기 위해, 상기 계산된 은닉값과 상기 계산된 주변 은닉값을 합산하여 획득한 합산 결과를 정규화하는 연산을 수행하는 것인 컴퓨팅 장치. - 제10항에서,
상기 제4 연산 로직은,
상기 신경망 모델에 대한 적대적 학습을 수행하기 위해, von Mises-Fisher (vMF) 분포의 네거티브 로그우도를 이용하여 상기 컨텍스트 정보가 투영된 은닉값과 상기 적대적 교란값이 합산된 타겟 워드 임베딩값 간의 거리값을 최소화하는 연산을 수행하는 것인 컴퓨팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/024,062 US20210089904A1 (en) | 2019-09-20 | 2020-09-17 | Learning method of neural network model for language generation and apparatus for performing the learning method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190116105 | 2019-09-20 | ||
KR20190116105 | 2019-09-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210034486A true KR20210034486A (ko) | 2021-03-30 |
Family
ID=75265269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200110295A KR20210034486A (ko) | 2019-09-20 | 2020-08-31 | 언어 생성을 위한 신경망 모델의 학습 방법 및 이의 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210034486A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102509007B1 (ko) * | 2022-09-28 | 2023-03-10 | 주식회사 액션파워 | 문장 내 토큰들의 중요도에 기초하여 음성 인식 모델을 학습시키는 방법 |
-
2020
- 2020-08-31 KR KR1020200110295A patent/KR20210034486A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102509007B1 (ko) * | 2022-09-28 | 2023-03-10 | 주식회사 액션파워 | 문장 내 토큰들의 중요도에 기초하여 음성 인식 모델을 학습시키는 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885277B2 (en) | On-device neural networks for natural language understanding | |
CN113591902B (zh) | 基于多模态预训练模型的跨模态理解与生成方法和装置 | |
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
WO2019200923A1 (zh) | 基于拼音的语义识别方法、装置以及人机对话系统 | |
US20210089904A1 (en) | Learning method of neural network model for language generation and apparatus for performing the learning method | |
CN110472242B (zh) | 一种文本处理方法、装置和计算机可读存储介质 | |
CN111462750B (zh) | 语义与知识增强的端到端任务型对话系统及方法 | |
CN111738025B (zh) | 基于人工智能的翻译方法、装置、电子设备和存储介质 | |
CN108780464A (zh) | 用于处理输入查询的方法和系统 | |
JP7300435B2 (ja) | 音声インタラクションするための方法、装置、電子機器、およびコンピュータ読み取り可能な記憶媒体 | |
CN114254660A (zh) | 多模态翻译方法、装置、电子设备及计算机可读存储介质 | |
CN109299479A (zh) | 通过门控机制将翻译记忆融入神经机器翻译的方法 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
KR20220124120A (ko) | 정보 추출 방법, 장치, 전자 기기 및 저장 매체 | |
CN115114937A (zh) | 文本获取方法、装置、计算机设备及存储介质 | |
KR20210034486A (ko) | 언어 생성을 위한 신경망 모델의 학습 방법 및 이의 장치 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
US11887620B2 (en) | Language model score calculation apparatus, language model generation apparatus, methods therefor, program, and recording medium | |
CN117131204A (zh) | 一种大语言模型协同知识图谱的推理方法及装置 | |
CN112463935A (zh) | 一种带有强泛化知识选择的开放域对话生成方法及模型 | |
CN114417891B (zh) | 基于粗糙语义的回复语句确定方法、装置及电子设备 | |
CN112818688B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN115879480A (zh) | 语义约束机器翻译方法、装置、电子设备及存储介质 | |
Huq et al. | Mixpgd: Hybrid adversarial training for speech recognition systems | |
Zhao et al. | Layer-Adapted Implicit Distribution Alignment Networks for Cross-Corpus Speech Emotion Recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |