KR20210043995A - 모델 학습 방법 및 장치, 및 시퀀스 인식 방법 - Google Patents

모델 학습 방법 및 장치, 및 시퀀스 인식 방법 Download PDF

Info

Publication number
KR20210043995A
KR20210043995A KR1020190127019A KR20190127019A KR20210043995A KR 20210043995 A KR20210043995 A KR 20210043995A KR 1020190127019 A KR1020190127019 A KR 1020190127019A KR 20190127019 A KR20190127019 A KR 20190127019A KR 20210043995 A KR20210043995 A KR 20210043995A
Authority
KR
South Korea
Prior art keywords
self
token
tokens
attention weight
sequence
Prior art date
Application number
KR1020190127019A
Other languages
English (en)
Inventor
이호동
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190127019A priority Critical patent/KR20210043995A/ko
Priority to US16/831,206 priority patent/US11468324B2/en
Publication of KR20210043995A publication Critical patent/KR20210043995A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/06Simulation on general purpose computers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Fuzzy Systems (AREA)
  • Machine Translation (AREA)
  • Character Discrimination (AREA)

Abstract

모델 학습 방법 및 장치, 및 시퀀스 인식 방법이 개시된다. 개시된 모델 학습 방법은 인코더에서 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정하는 단계, 인코더에서 셀프-어텐션 가중치에 기초하여 입력 시퀀스에 대응하는 컨텍스트 정보를 결정하는 단계, 디코더에서 컨텍스트 정보에 기초하여 입력 시퀀스에 대응하는 출력 시퀀스를 결정하는 단계 및 출력 시퀀스에 기초하여 인코더 및 디코더를 학습시키는 단계를 포함한다. 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정된다.

Description

모델 학습 방법 및 장치, 및 시퀀스 인식 방법{MODEL TRAINING METHOD AND APPARATUS, AND SEQUENCE RECOGNITION METHOD}
아래 실시예들은 모델 학습 방법 및 장치, 및 시퀀스 인식 방법에 관한 것이다.
시퀀스 대 시퀀스 뉴럴 네트워크(sequence to sequence neural network)는 전체 입력 시퀀스에 대한 컨텍스트 정보를 결정하고, 결정된 컨텍스트 정보에 기초하여 출력 시퀀스를 출력하는 방식의 모델링될 수 있다. 다만, 실시간 기계 통역이나 실시간 음성 인식과 같이 점진적으로 스트리밍되는 응용에서는 부분적인 입력에 대해 결과 생성이 요구되는데, 이 경우 입력 시퀀스의 전체 정보를 활용할 수 없으므로 앞서 설명한 시퀀스 대 시퀀스 뉴럴 네트워크에서는 높은 정확도와 일관성 있는 결과 출력을 기대하기 어렵다.
일실시예에 따른 모델 학습 방법은 인코더에서, 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치(self-attention weight)를 결정하는 단계; 상기 인코더에서, 상기 셀프-어텐션 가중치에 기초하여 상기 입력 시퀀스에 대응하는 컨텍스트 정보를 결정하는 단계; 디코더에서, 상기 컨텍스트 정보에 기초하여 상기 입력 시퀀스에 대응하는 출력 시퀀스를 결정하는 단계; 및 상기 출력 시퀀스에 기초하여 상기 인코더 및 상기 디코더를 학습시키는 단계를 포함하고, 상기 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 상기 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정된다.
일실시예에 따른 모델 학습 방법에서 상기 셀프-어텐션 가중치를 결정하는 단계는 상기 입력 시퀀스에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 마스킹할 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 셀프-어텐션 가중치를 결정하는 단계는 상기 입력 시퀀스에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정할 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 셀프-어텐션 가중치를 결정하는 단계는 상기 입력 시퀀스에 포함된 둘 이상의 토큰들을 이용하여 상기 셀프-어텐션 가중치를 결정할 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 셀프-어텐션 가중치를 결정하는 단계는 상기 입력 시퀀스에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정할 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 인코더 및 상기 디코더를 학습시키는 단계는 상기 입력 시퀀스에 대응하는 정답 시퀀스와 상기 출력 시퀀스 간 로스가 감소되도록 상기 인코더 및 상기 디코더를 학습시킬 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 인코더 및 상기 디코더는 트랜스포머 모델에 해당될 수 있다.
일실시예에 따른 모델 학습 방법에서 상기 입력 시퀀스 및 상기 출력 시퀀스 중 적어도 하나는 음성 데이터, 문장 데이터, 영상 데이터, 생체 데이터 및 필적 데이터 중 어느 하나일 수 있다.
일실시예에 따른 시퀀스 인식 방법은 인코더를 이용하여, 입력 시퀀스의 일부 토큰이 입력될 때마다 현재 입력된 토큰들 간 셀프-어텐션 가중치를 결정하는 단계; 상기 셀프-어텐션 가중치에 기초하여 현재 입력된 토큰들에 대응하는 컨텍스트 정보를 결정하는 단계; 및 디코더를 이용하여, 상기 컨텍스트 정보에 기초하여 상기 현재 입력된 토큰들에 대응하는 출력 시퀀스를 결정하는 단계를 포함하고, 상기 현재 입력된 토큰들 각각의 셀프-어텐션 가중치는 상기 현재 입력된 토큰들에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정한다.
일실시예에 따른 시퀀스 인식 방법에서 상기 현재 입력된 토큰들 각각의 셀프-어텐션 가중치는 상기 현재 입력된 토큰들에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정될 수 있다.
일실시예에 따른 시퀀스 인식 방법에서 상기 컨텍스트 정보를 결정하는 단계는 상기 입력 시퀀스의 일부 토큰이 입력될 때마다 컨텍스트 정보를 업데이트할 수 있다.
일실시예에 따른 모델 학습 장치는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 인코더에서 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정하고, 상기 인코더에서 상기 셀프-어텐션 가중치에 기초하여 상기 입력 시퀀스에 대응하는 컨텍스트 정보를 결정하고, 디코더에서 상기 컨텍스트 정보에 기초하여 상기 입력 시퀀스에 대응하는 출력 시퀀스를 결정하며, 상기 출력 시퀀스에 기초하여 상기 인코더 및 상기 디코더를 학습시키고, 상기 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 상기 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정된다.
도 1은 일실시예에 따른 신경망 기반의 데이터 처리 장치의 동작을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 모델 학습 과정을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 인코더 마스킹을 위한 어텐션 비율 매트릭스(attention rate matrix)를 설명하기 위한 도면이다.
도 4는 일실시예에 따른 인코더 마스킹에 따른 셀프-어텐션을 설명하기 위한 도면이다.
도 5 내지 도 7은 일실시예에 따른 어텐션 비율 매트릭스의 예시들을 나타낸 도면이다.
도 8 내지 도 9는 일실시예에 따른 시퀀스 인식 과정을 설명하기 위한 도면이다.
도 10은 일실시예에 따른 모델 학습 방법을 나타낸 도면이다.
도 11은 일실시예에 따른 시퀀스 인식 방법을 나타낸 도면이다.
도 12는 일실시예에 따른 신경망 기반의 데이터 처리 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1은 일실시예에 따른 신경망 기반의 데이터 처리 장치의 동작을 설명하기 위한 도면이다.
도 1을 참조하면, 일실시예에 따른 신경망 기반의 데이터 처리 장치(100)는 마스킹된 인코더(masked encoder)(110) 및 디코더(120)를 이용하여, 입력 시퀀스에 대응하는 출력 시퀀스를 실시간으로 결정할 수 있다. 입력 시퀀스 및 출력 시퀀스 중 적어도 하나는 음성 데이터, 문장 데이터, 영상 데이터, 생체 데이터, 또는 필적 데이터(handwriting data) 등과 같이 시간성 내지 순서를 가지는 복수의 토큰들을 포함할 수 있다.
예를 들어, 데이터 처리 장치(100)에서 기계 통역(machine interpretation)이 수행되는 경우, 입력 시퀀스는 제1 언어로 표현된 음성 데이터이고, 출력 시퀀스는 제2 언어로 표현된 음성 데이터일 수 있다. 또는, 데이터 처리 장치(100)에서 기계 번역(machine translation)이 수행되는 경우, 입력 시퀀스는 제1 언어로 표현된 문장 데이터이고, 출력 시퀀스는 제2 언어로 표현된 문장 데이터일 수 있다. 또는, 데이터 처리 장치(100)에서 음성 인식이 수행되는 경우, 입력 시퀀스는 사용자의 음성을 포함한 음성 데이터이고, 출력 시퀀스는 하나 이상의 단어를 포함하는 문장 데이터일 수 있다. 또는, 데이터 처리 장치(100)에서 음성 합성이 수행되는 경우, 입력 시퀀스는 문장 데이터이고, 출력 시퀀스는 음성 데이터일 수 있다. 또한, 데이터 처리 장치(100)에서 필기 인식이 수행되는 경우, 입력 시퀀스는 사용자가 작성한 필적 데이터이고, 출력 시퀀스는 문장 데이터일 수 있다.
이처럼, 데이터 처리 장치(100)는 기계 통역, 기계 번역, 음성 인식, 음성 합성, 필적 인식 등 다양한 영역에서 광범위하게 이용될 수 있다. 아래에서는 설명의 편의를 위해 데이터 처리 장치(100)에서 실시간 기계 통역이 수행되는 예시를 기준으로 데이터 처리 장치(100)의 동작을 설명하겠으나, 이러한 설명이 기계 번역, 음성 인식, 음성 합성, 필적 인식 등에도 마찬가지로 적용될 수 있다.
일실시예에 따른 데이터 처리 장치(100)는 입력 시퀀스가 마스킹된 인코더(110)에 입력되면, 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정한다. 이 때, 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 입력 시퀀스에서 해당 토큰보다 앞서는 토큰에 대해서 결정된다. 달리 표현하면, 데이터 처리 장치(100)는 입력 시퀀스에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 제거하는 마스킹 동작을 수행할 수 있다. 그리고, 데이터 처리 장치(100)는 마스킹된 인코더(110)에서 셀프-어텐션 가중치에 기초하여 입력 시퀀스에 대응하는 컨텍스트 정보를 결정한다. 그리고, 데이터 처리 장치(100)는 마스킹된 인코더(110)에서 디코더(120)로 컨텍스트 정보가 전달되면, 컨텍스트 정보에 기초하여 입력 시퀀스에 대응하는 출력 시퀀스를 결정한다.
여기서, 마스킹된 인코더(110)와 디코더(120)는 트랜스포머 모델(transformer model)에 해당할 수 있다. 트랜스포머 모델은 RNN(Recurrent Neural Network)과 상이한 뉴럴 네트워크로서, 어텐션에 기반하여 인코더-디코더 구조를 구현하여 시퀀스 데이터를 처리 가능한 모델일 수 있다. 트랜스포머 모델에 적용된 셀프-어텐션은 입력 시퀀스 내 토큰들 간 연관성에 기반하는 것으로, 셀프-어텐션 가중치가 계산되어 마스킹된 인코더(110)에서 디코더(120)로 전달되는 컨텍스트 정보에 반영될 수 있다. 트랜스포머 모델에 관해서는 2017년에 발표된 논문 "Attention Is All You Need"에 설명되어 있으므로, 보다 상세한 설명은 생략한다.
마스킹된 인코더(110)는 마스킹 모듈(111) 및 셀프-어텐션 모듈(113)을 포함할 수 있다. 마스킹 모듈(111)은 마스킹된 인코더(110)에 적용될 마스크를 결정할 수 있다. 셀프-어텐션 모듈(113)은 마스킹 모듈(111)에서 결정된 마스크를 셀프-어텐션 가중치에 적용할 수 있다. 디코더(120)는 마스킹된 인코더(110)로부터 전달된 컨텍스트 정보에 기초하여 출력 시퀀스를 결정할 수 있다.
일실시예에 따른 추론 과정(inference phase)에서, 데이터 처리 장치(100)는 입력 시퀀스의 일부 토큰이 마스킹된 인코더(110)에 입력될 때마다 컨텍스트 정보를 업데이트하여 이에 대응하는 출력 시퀀스의 일부 토큰을 디코더(120)에서 실시간으로 출력할 수 있다. 달리 표현하면, 데이터 처리 장치(100)는 입력 시퀀스의 전체 토큰이 마스킹된 인코더(110)에 입력될 때까지 기다리지 않고, 입력 시퀀스의 일부 토큰이 마스킹된 인코더(110)에 입력되더라도, 이에 대응한 출력 시퀀스의 일부 토큰이 디코더(120)에서 출력되도록 추론 동작을 수행할 수 있다.
이러한 모델을 얻기 위해, 다음의 학습 과정(training phase)이 수행될 수 있다. 학습 과정에서, 데이터 처리 장치(100)는 지도 학습(supervised learning)을 통해 마스킹된 인코더(110)와 디코더(120)를 학습시킬 수 있다. 지도 학습은 학습 데이터의 학습 입력을 마스킹된 인코더(110)에 입력하고, 학습 데이터의 학습 출력에 대응하는 출력 데이터가 디코더(120)로부터 출력되도록 마스킹된 인코더(110) 및 디코더(120) 내 파라미터들을 업데이트하는 기법이다. 학습 데이터는 학습 입력 및 학습 출력의 쌍을 포함하는 데이터이다. 학습에 대한 자세한 내용은 도 2 내지 도 7을 통해 후술한다. 본 명세서에서 마스킹된 인코더(110)는 설명의 편의를 위하여 인코더라고도 표현할 수 있으며, 데이터 처리 장치(100)는 입력된 시퀀스 데이터를 처리하여 출력하는 장치로서, 이후에 설명할 모델 학습 장치 및 시퀀스 인식 장치 중 어느 하나일 수 있다.
도 2는 일실시예에 따른 모델 학습 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 일실시예에 따른 모델 학습 장치가 인코더 및 디코더를 학습시키는 과정을 설명하기 위한 예시가 도시된다. 도 2에서는 설명의 편의를 위해, 인코더에 입력 시퀀스 "안녕 빅스비"가 입력되고, 이에 대응하여 디코더에서 출력 시퀀스 "Hi Bixby"가 출력되는 것을 가정한다. 인코더는 셀프-어텐션 레이어 및 피드-포워드 레이어(feed-forward layer)를 포함할 수 있다.
인코더에 입력 시퀀스 "안녕 빅스비"가 입력되면, 입력 시퀀스에 포함된 토큰들 "안녕", "빅스비" 간 셀프-어텐션 가중치가 결정될 수 있다. 이 때, 입력 시퀀스 "안녕 빅스비" 내 각 토큰의 셀프-어텐션 가중치는 입력 시퀀스 "안녕 빅스비"에서 해당 토큰보다 앞서는 토큰에 대해서 결정될 수 있다. 예를 들어, 토큰 "빅스비"의 셀프-어텐션 가중치는 토큰들 "안녕", "빅스비"에 대해 결정되지만, 토큰 "안녕"의 셀프-어텐션 가중치는 토큰 "안녕"에 대해서만 결정될 수 있다. 이러한 셀프-어텐션 가중치 결정 방식은 어텐션 비율 매트릭스(210)에 의해 구현될 수 있으며, 이에 대해서는 도 3을 통해 상세히 설명한다.
인코더에서 결정된 셀프-어텐션 가중치는 컨텍스트 정보에 반영되어 디코더로 전달될 수 있다. 디코더는 컨텍스트 정보에 기초하여 입력 시퀀스 "안녕 빅스비"에 대응하는 출력 시퀀스 "Hi Bixby"를 결정할 수 있다. 모델 학습 장치는 입력 시퀀스 "안녕 빅스비"에 대응하여 출력된 출력 시퀀스 "Hi Bixby"와 정답 시퀀스(다시 말해, 학습 출력) 간 로스를 계산하고, 해당 로스가 감소되도록 인코더와 디코더를 학습시킬 수 있다.
도 3은 일실시예에 따른 인코더 마스킹을 위한 어텐션 비율 매트릭스를 설명하기 위한 도면이다.
도 3을 참조하면, 일실시예에 따른 입력 시퀀스 "A B C D E"의 셀프-어텐션 가중치를 결정하기 위한 어텐션 비율 매트릭스의 예시가 도시된다. 설명의 편의를 위해, 입력 시퀀스 "A B C D E"가 인코더로 입력되는 것을 가정하며, 여기서 A, B, C, D, E는 각각 입력 시퀀스에 포함된 단어로서 토큰을 나타낼 수 있다.
앞선 설명대로, 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정된다. 예를 들어, 입력 시퀀스에서 맨 앞에 위치하여 해당 토큰보다 앞서는 토큰이 없는 토큰 A의 셀프-어텐션 가중치는 토큰 A에 대해서 결정되며, 토큰들 B, C, D, E에 대해서는 결정되지 않는다. 또한, 토큰 B의 셀프-어텐션 가중치는 토큰들 A, B에 대해서 결정되며, 토큰들 C, D, E에 대해서는 결정되지 않는다. 마찬가지로, 토큰 C의 셀프-어텐션 가중치는 토큰들 A, B, C에 대해서 결정될 수 있다. 마찬가지로, 토큰 D의 셀프-어텐션 가중치는 토큰들 A, B, C, D에 대해서 결정될 수 있다. 마찬가지로, 토큰 E의 셀프-어텐션 가중치는 토큰들 A, B, C, D, E에 대해서 결정될 수 있다.
이러한 셀프-어텐션 가중치를 결정하는 토큰들 간 관계는 도 3에 도시된 어텐션 비율 매트릭스로 표현될 수 있다. 어텐션 비율 매트릭스에서 어두운 부분은 셀프-어텐션 가중치가 결정되는 토큰 관계를 나타내며, 밝은 부분은 셀프-어텐션 가중치가 결정되지 않는 토큰 관계를 나타낸다.
이처럼 셀프-어텐션 가중치를 결정할 때 일부 토큰들 간 관계를 제외하므로, 도 3에 도시된 매트릭스를 셀프-어텐션 가중치에 적용되는 마스크라고 표현할 수도 있다. 도 3에 도시된 마스크는 단조 증분 마스크(monotonic increment mask)로서, 각 입력 토큰에 따라 현재 입력된 토큰들 간 셀프-어텐션 가중치를 결정하여 출력 시퀀스를 점진적으로 출력하는 모델에 활용될 수 있다. 다시 말해, 실시간 기계 통역, 실시간 음성 인식 등과 같이 현재 및 과거의 입력 정보가 점진적으로 이용되는 경우에 적용될 수 있다.
도 4는 일실시예에 따른 인코더 마스킹에 따른 셀프-어텐션을 설명하기 위한 도면이다.
도 4를 참조하면, 일실시예에 따른 입력 시퀀스 "I am a boy"의 셀프-어텐션 관계를 설명하기 위한 예시가 도시된다. 도 3에서 매트릭스 형식으로 도시된 토큰들 간 관계를 보다 직관적으로 이해하기 위한 것이다. 예를 들어, 입력 시퀀스 맨 앞에 위치한 토큰 "I"의 셀프-어텐션 가중치는 토큰 "I"과의 연관성에 기반하여 결정될 수 있다. 또한, 토큰 "am"의 셀프-어텐션 가중치는 토큰들 "I", "am"과의 연관성에 기반하여 결정될 수 있다. 마찬가지로, 토큰 "a"의 셀프-어텐션 가중치는 토큰들 "I", "am", "a"과의 연관성에 기반하여 결정될 수 있다. 마찬가지로, 토큰 "boy"의 셀프-어텐션 가중치는 토큰들 "I", "am", "a", "boy"와의 연관성에 기반하여 결정될 수 있다.
도 5 내지 도 7은 일실시예에 따른 어텐션 비율 매트릭스의 예시들을 나타낸 도면이다.
도 5를 참조하면, 일실시예에 따른 슬라이딩 윈도우 마스크(sliding window mask)가 도시된다. 슬라이딩 윈도우 마스크를 통해, 입력 시퀀스에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치가 결정될 수 있다. 다시 말해, 매 시점마다 입력 시퀀스의 소정 길이의 토큰들만을 반영하여 결과를 출력하는 모델에 활용될 수 있다. 도 3의 단조 증분 마스크와 비교하면, 단조 증분 마스크는 과거에 입력된 모든 토큰들을 모두 고려하는 반면, 슬라이딩 윈도우 마스크는 과거에 입력된 토큰들 중 미리 정해진 개수의 토큰만을 고려할 수 있다. 예를 들어, 슬라이딩 윈도우 마스크는 실시간 기계 통역, 실시간 음성 인식 등과 같이 현재 및 과거의 입력 정보가 점진적으로 이용되는 경우에 적용될 수 있다. 슬라이딩 윈도우 마스크는 기계 번역에서 언어 쌍에 따라 원거리 의존관계가 중요하지 않은 경우에 입력 시퀀스와 출력 시퀀스 간 어텐션 가중치가 분산되지 않도록 하여 성능을 향상시킬 수 있다.
도 6을 참조하면, 일실시예에 따른 지연 증분 마스크(delayed increment mask)가 도시된다. 지연 증분 마스크를 통해, 입력 시퀀스에 포함된 둘 이상의 토큰들을 이용하여 셀프-어텐션 가중치가 결정될 수 있다. 다시 말해, 입력 시퀀스에 포함된 첫 번째 토큰에 대해서는 셀프-어텐션 가중치가 결정되지 않으며, 미리 정해진 n번째 토큰부터 셀프-어텐션 가중치가 결정될 수 있다. 도 3의 단조 증분 마스크와 비교하면, 단조 증분 마스크는 입력 시퀀스에 포함된 첫 번째 토큰부터 셀프-어텐션 가중치가 결정되는 반면, 지연 증분 마스크는 미리 정해진 n번째 토큰부터 셀프-어텐션 가중치가 결정될 수 있다. 예를 들어, 지연 증분 마스크는 복수의 초기 입력 토큰을 반영하여 처음 결과 토큰이 출력되어 점진적으로 처리되는 모델에 적용될 수 있다. 지연 증분 마스크는 기계 번역에서 언어 쌍에 따라 원거리 의존관계가 중요하지 않은 경우에 입력 시퀀스와 출력 시퀀스 간 어텐션 가중치가 분산되지 않도록 하여 성능을 향상시킬 수 있다. 또한, 지연 증분 마스크는 기계 통역, 기계 번역과 같이 복수의 초기 입력을 반영하여 출력을 점진적으로 생성함으로써, 출력의 정확도를 향상시킬 수 있다.
도 7을 참조하면, 일실시예에 따른 스킵 증분 마스크(skipped increment mask)가 도시된다. 스킵 증분 마스크를 통해, 입력 시퀀스에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치가 결정될 수 있다. 다시 말해, 입력 시퀀스에서 미리 정해진 n번째 토큰까지는 미리 정해진 a개 토큰에 대해서 셀프-어텐션 가중치가 결정되고, n+1번째부터 m번째 토큰까지는 미리 정해진 b개 토큰(단, a < b)에 대해서 셀프-어텐션 가중치가 결정될 수 있다. 도 3의 단조 증분 마스크와 비교하면, 단조 증분 마스크는 입력되는 토큰의 개수가 증가하면서 해당 토큰의 셀프-어텐션 가중치를 결정할 때 고려하는 토큰의 개수도 함께 증가하는 반면, 스킵 증분 마스크는 입력되는 토큰의 개수가 증가하더라도 해당 토큰의 셀프-어텐션 가중치를 결정할 때 고려하는 토큰의 개수는 바로 증가하지 않고, 이산적으로 증가할 수 있다. 스킵 증분 마스크는 셀프-어텐션 가중치 계산 시 중간 입력 토큰들을 일부 스킵하여 점진적으로 결과가 생성되게 함으로써, 계산량을 줄이는 모델에 적용될 수 있다. 예를 들어, 입력 토큰이 형태소 단위로 결정되는 반면, 모델에서 처리가 단어 단위로 수행된다면, 한 단어가 완성될 때까지 셀프-어텐션 가중치를 결정하는 데 고려하는 토큰의 개수를 유지시키고, 그 후에 고려하는 개수를 증가시키는 경우에 활용될 수 있다.
도 8 내지 도 9는 일실시예에 따른 시퀀스 인식 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 일실시예에 따른 시퀀스 인식 장치가 인코더 및 디코더를 이용하여 입력 시퀀스를 인식하는 과정을 설명하기 위한 예시가 도시된다. 설명의 편의를 위해, 실시간 기계 통역을 통해 음성 입력 시퀀스 "안녕 빅스비"가 입력됨에 따라 음성 출력 시퀀스 "Hi Bixby"가 출력되는 것을 가정한다.
사용자가 "안녕 빅스비"를 발화한 경우, 입력 시퀀스를 구성하는 토큰들 "안녕", "빅스비"가 순차적으로 인코더에 입력될 수 있다. 다시 말해, 시점 t_0에서는 토큰 "안녕"이 인코더에 입력되고, 인코더는 현재 입력된 토큰 "안녕"에 기반하여 컨텍스트 정보 C0를 결정하며, 디코더는 컨텍스트 정보 C0에 기초하여 출력 시퀀스의 일부 토큰 "Hi"를 출력할 수 있다. 그리고, 시점 t_1에서 토큰 "빅스비"가 인코더에 입력되면 인코더는 현재 입력된 토큰들 "안녕", "빅스비"에 기반하여 컨텍스트 정보 C1를 결정하며, 디코더는 컨텍스트 C1에 기초하여 출력 시퀀스의 일부 토큰 "Bixby"를 출력할 수 있다. 그리고, 시점 t_2에서 토큰 "<EOS>"(사용자의 발화가 종료되었다는 의미)가 인코더에 입력되면 인코더는 현재 입력된 토큰들 "안녕", "빅스비", "<EOS>"에 기반하여 컨텍스트 정보 C2를 결정하며, 디코더는 컨텍스트 C2에 기초하여 출력 시퀀스의 일부 토큰 "<EOS>"를 출력할 수 있다. 현지 입력된 토큰들에 기반하여 컨텍스트 정보를 결정할 때 앞서 설명한 셀프-어텐션 가중치가 활용될 수 있으며, 셀프-어텐션 가중치 결정 방식은 어텐션 비율 매트릭스(810)에 의해 구현될 수 있다. 다시 말해, 시퀀스 인식 과정에서도 어텐션 비율 매트릭스(810)을 이용하여 앞서 설명한 인코더 마스킹이 마찬가지로 적용되므로, 보다 상세한 설명은 생략한다.
이러한 시퀀스 인식 장치의 동작을 플로우차트로 나타내면, 도 9와 같다. 단계(910)에서, 입력 시퀀스의 토큰이 입력될 수 있다. 단계(920)에서, 입력된 토큰에 대해 전처리(예컨대, embedding, positional encoding 등)가 수행될 수 있다. 단계(930)에서, 초기화를 수행하여 타임 스텝의 인덱스가 나타내는 i를 0으로 설정될 수 있다. 단계(940)에서, 현재 입력된 토큰들에 대해 마스크 인코딩이 수행되어 컨텍스트 정보가 결정될 수 있다. 단계(950)에서, 컨텍스트 정보에 대해 디코딩이 수행될 수 있고, 단계(960)에서, 디코딩 결과로 결과 후보 y_i 가 선택되어 결과 토큰으로 출력될 수 있다. 단계(970)에서, 종료 조건을 확인하여 종료 조건이 만족되지 않으면, 단계(980)에서, 인덱스 i를 1씩 증가시킬 수 있다.
이처럼, 시퀀스 인식 장치는 입력 시퀀스에 포함된 모든 토큰이 인코더에 입력되기까지 기다리지 않고, 입력 시퀀스의 일부 토큰이 인코더에 입력될 때마다 현재 입력된 토큰들 간 셀프-어텐션 가중치를 결정하고, 이에 기초하여 현재 입력된 토큰들에 대응하는 컨텍스트 정보를 업데이트할 수 있다. 이를 통해, 시퀀스 인식 장치는 점진적인 출력 생성이 가능할 수 있다.
도 10은 일실시예에 따른 모델 학습 방법을 나타낸 도면이다.
도 10을 참조하면, 일실시예에 따른 모델 학습 장치의 프로세서에서 수행되는 모델 학습 방법이 도시된다.
단계(1010)에서, 모델 학습 장치는 인코더에서, 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정한다. 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정된다. 모델 학습 장치는 입력 시퀀스에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 마스킹할 수 있다.
예를 들어, 모델 학습 장치는 입력 시퀀스에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정할 수 있다. 또는, 모델 학습 장치는 입력 시퀀스에 포함된 둘 이상의 토큰들을 이용하여 셀프-어텐션 가중치를 결정할 수 있다. 또는, 모델 학습 장치는 입력 시퀀스에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정할 수 있다.
단계(1020)에서, 모델 학습 장치는 인코더에서, 셀프-어텐션 가중치에 기초하여 입력 시퀀스에 대응하는 컨텍스트 정보를 결정한다.
단계(1030)에서, 모델 학습 장치는 디코더에서, 컨텍스트 정보에 기초하여 입력 시퀀스에 대응하는 출력 시퀀스를 결정한다.
단계(1040)에서, 모델 학습 장치는 출력 시퀀스에 기초하여 인코더 및 디코더를 학습한다. 모델 학습 장치는 입력 시퀀스에 대응하는 정답 시퀀스와 출력 시퀀스 간 로스가 감소되도록 인코더 및 디코더를 학습시킬 수 있다.
인코더 및 디코더는 트랜스포머 모델에 해당할 수 있다. 입력 시퀀스 및 출력 시퀀스 중 적어도 하나는 음성 데이터, 문장 데이터, 영상 데이터, 생체 데이터 및 필적 데이터 중 어느 하나일 수 있다.
도 10에 도시된 각 단계들에는 도 1 내지 도 9를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 11은 일실시예에 따른 시퀀스 인식 방법을 나타낸 도면이다.
도 11을 참조하면, 일실시예에 따른 시퀀스 인식 장치의 프로세서에서 수행되는 시퀀스 인식 방법이 도시된다.
단계(1110)에서, 시퀀스 인식 장치는 인코더를 이용하여, 입력 시퀀스의 일부 토큰이 입력될 때마다 현재 입력된 토큰들 간 셀프-어텐션 가중치를 결정한다. 시퀀스 인식 장치는 현재 입력된 토큰들 각각의 셀프-어텐션 가중치는 현재 입력된 토큰들에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정할 수 있다.
단계(1120)에서, 시퀀스 인식 장치는 셀프-어텐션 가중치에 기초하여 현재 입력된 토큰들에 대응하는 컨텍스트 정보를 결정한다. 시퀀스 인식 장치는 입력 시퀀스의 일부 토큰이 입력될 때마다 컨텍스트 정보를 업데이트할 수 있다.
단계(1130)에서, 시퀀스 인식 장치는 디코더를 이용하여, 컨텍스트 정보에 기초하여 현재 입력된 토큰들에 대응하는 출력 시퀀스를 결정한다. 컨텍스트 정보는 디코더에 입력되어 후보 결과 토큰들의 확률 값이 계산되고, 이러한 후보 결과 토큰들 중에서 빔 탐색(beam search), 그리디 탐색(greedy search) 등을 통해 가장 확률이 높은 후보 결과 토큰이 출력될 수 있다.
도 11에 도시된 각 단계들에는 도 1 내지 도 10을 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 12는 일실시예에 따른 신경망 기반의 데이터 처리 장치를 나타낸 도면이다.
도 12를 참조하면, 일실시예에 따른 데이터 처리 장치(1200)는 메모리(1210), 프로세서(1220) 및 입출력 인터페이스(1230)를 포함한다. 메모리(1210), 프로세서(1220) 및 입출력 인터페이스(1230)는 버스(bus)(1240)를 통하여 서로 통신할 수 있다.
데이터 처리 장치(1200)는 입력 시퀀스를 처리하여 출력하는 장치로서, 앞서 설명한 모델 학습 장치 및 시퀀스 인식 장치 중 어느 하나일 수 있다.
메모리(1210)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1220)는 메모리(1210)에 저장된 명령어가 프로세서(1220)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1210)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
이처럼, 인코더에서 입력 시퀀스의 각 토큰들 간 셀프-어텐션 가중치를 계산할 때, 현재 입력된 토큰들에 대해서만 계산하게 하는 마스크 매트릭스를 이용함으로써, 셀프-어텐션의 분산을 방지하여 출력의 정확도를 향상시키고, 연산량과 대역폭(bandwidth)을 줄일 수 있고, 실시간으로 출력 시퀀스의 일부 토큰을 출력할 수 있다.
그 밖에, 데이터 처리 장치(1200)에 관해서는 상술된 동작을 처리할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)

  1. 인코더에서, 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정하는 단계;
    상기 인코더에서, 상기 셀프-어텐션 가중치에 기초하여 상기 입력 시퀀스에 대응하는 컨텍스트 정보를 결정하는 단계;
    디코더에서, 상기 컨텍스트 정보에 기초하여 상기 입력 시퀀스에 대응하는 출력 시퀀스를 결정하는 단계; 및
    상기 출력 시퀀스에 기초하여 상기 인코더 및 상기 디코더를 학습시키는 단계
    를 포함하고,
    상기 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는
    상기 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정되는,
    모델 학습 방법.
  2. 제1항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 입력 시퀀스에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 마스킹하는,
    모델 학습 방법.
  3. 제1항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 입력 시퀀스에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  4. 제1항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 입력 시퀀스에 포함된 둘 이상의 토큰들을 이용하여 상기 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  5. 제1항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 입력 시퀀스에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  6. 제1항에 있어서,
    상기 인코더 및 상기 디코더를 학습시키는 단계는
    상기 입력 시퀀스에 대응하는 정답 시퀀스와 상기 출력 시퀀스 간 로스가 감소되도록 상기 인코더 및 상기 디코더를 학습시키는,
    모델 학습 방법.
  7. 제1항에 있어서,
    상기 인코더 및 상기 디코더는 트랜스포머 모델에 해당되는,
    모델 학습 방법.
  8. 제1항에 있어서,
    상기 입력 시퀀스 및 상기 출력 시퀀스 중 적어도 하나는
    음성 데이터, 문장 데이터, 영상 데이터, 생체 데이터 및 필적 데이터 중 어느 하나인,
    모델 학습 방법.
  9. 인코더를 이용하여, 입력 시퀀스의 일부 토큰이 입력될 때마다 현재 입력된 토큰들 간 셀프-어텐션 가중치를 결정하는 단계;
    상기 셀프-어텐션 가중치에 기초하여 현재 입력된 토큰들에 대응하는 컨텍스트 정보를 결정하는 단계; 및
    디코더를 이용하여, 상기 컨텍스트 정보에 기초하여 상기 현재 입력된 토큰들에 대응하는 출력 시퀀스를 결정하는 단계
    를 포함하고,
    상기 현재 입력된 토큰들 각각의 셀프-어텐션 가중치는
    상기 현재 입력된 토큰들에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정되는,
    시퀀스 인식 방법.
  10. 제9항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 현재 입력된 토큰들에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 마스킹하는,
    시퀀스 인식 방법.
  11. 제9항에 있어서,
    상기 컨텍스트 정보를 결정하는 단계는
    상기 입력 시퀀스의 일부 토큰이 입력될 때마다 컨텍스트 정보를 업데이트하는,
    시퀀스 인식 방법.
  12. 제9항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 현재 입력된 토큰들에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  13. 제9항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 현재 입력된 토큰들에 포함된 둘 이상의 토큰들을 이용하여 상기 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  14. 제9항에 있어서,
    상기 셀프-어텐션 가중치를 결정하는 단계는
    상기 현재 입력된 토큰들에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 방법.
  15. 제1항 내지 제14항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체.
  16. 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는
    인코더에서, 입력 시퀀스에 포함된 복수의 토큰들 간 셀프-어텐션 가중치를 결정하고,
    상기 인코더에서, 상기 셀프-어텐션 가중치에 기초하여 상기 입력 시퀀스에 대응하는 컨텍스트 정보를 결정하고,
    디코더에서, 상기 컨텍스트 정보에 기초하여 상기 입력 시퀀스에 대응하는 출력 시퀀스를 결정하며,
    상기 출력 시퀀스에 기초하여 상기 인코더 및 상기 디코더를 학습시키고,
    상기 입력 시퀀스 내 각 토큰의 셀프-어텐션 가중치는
    상기 입력 시퀀스에서 해당 토큰 및 해당 토큰보다 앞서는 토큰 중 적어도 하나에 대해서 결정되는,
    모델 학습 장치.
  17. 제16항에 있어서,
    상기 하나 이상의 프로세서는
    상기 입력 시퀀스에서 해당 토큰보다 뒤에 위치하는 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 마스킹하는,
    모델 학습 장치.
  18. 제16항에 있어서,
    상기 하나 이상의 프로세서는
    상기 입력 시퀀스에서 해당 토큰보다 앞서는 미리 정해진 개수의 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 장치.
  19. 제16항에 있어서,
    상기 하나 이상의 프로세서는
    상기 입력 시퀀스에 포함된 둘 이상의 토큰들을 이용하여 상기 셀프-어텐션 가중치를 결정하는,
    모델 학습 장치.
  20. 제16항에 있어서,
    상기 하나 이상의 프로세서는
    상기 입력 시퀀스에서 해당 토큰보다 앞서는 토큰들 중에서 미리 정해진 개수의 토큰을 제외한 나머지 토큰에 대한 각 토큰의 셀프-어텐션 가중치를 결정하는,
    모델 학습 장치.
KR1020190127019A 2019-10-14 2019-10-14 모델 학습 방법 및 장치, 및 시퀀스 인식 방법 KR20210043995A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190127019A KR20210043995A (ko) 2019-10-14 2019-10-14 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
US16/831,206 US11468324B2 (en) 2019-10-14 2020-03-26 Method and apparatus with model training and/or sequence recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190127019A KR20210043995A (ko) 2019-10-14 2019-10-14 모델 학습 방법 및 장치, 및 시퀀스 인식 방법

Publications (1)

Publication Number Publication Date
KR20210043995A true KR20210043995A (ko) 2021-04-22

Family

ID=75382908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127019A KR20210043995A (ko) 2019-10-14 2019-10-14 모델 학습 방법 및 장치, 및 시퀀스 인식 방법

Country Status (2)

Country Link
US (1) US11468324B2 (ko)
KR (1) KR20210043995A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113380237A (zh) * 2021-06-09 2021-09-10 中国科学技术大学 增强局部依赖关系无监督预训练语音识别模型及训练方法
KR102416852B1 (ko) * 2021-07-23 2022-07-05 (주)뤼이드 시험 점수를 예측하는 방법 및 장치
KR102539679B1 (ko) * 2023-02-01 2023-06-02 (주)피플리 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
KR20230114893A (ko) 2022-01-26 2023-08-02 서강대학교산학협력단 자기지도 스윈 트랜스포머 모델 구조 및 이의 학습 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210043995A (ko) * 2019-10-14 2021-04-22 삼성전자주식회사 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
CN111079450B (zh) * 2019-12-20 2021-01-22 北京百度网讯科技有限公司 基于顺句驱动的语言转换方法和装置
CN113724689B (zh) * 2021-08-09 2024-04-30 中国科学技术大学 语音识别方法及相关装置、电子设备、存储介质
CN113744753B (zh) * 2021-08-11 2023-09-08 清华大学苏州汽车研究院(相城) 一种多人语音分离方法及语音分离模型的训练方法
US20230119108A1 (en) * 2021-10-20 2023-04-20 The Toronto-Dominion Bank Translation model with learned position and corrective loss
CN113705541B (zh) * 2021-10-21 2022-04-01 中国科学院自动化研究所 基于Transformer的标记选择和合并的表情识别方法及系统
CN114973049B (zh) * 2022-01-05 2024-04-26 上海人工智能创新中心 一种统一卷积与自注意力的轻量视频分类方法
CN114581459A (zh) * 2022-02-08 2022-06-03 浙江大学 一种基于改进性3D U-Net模型的学前儿童肺部影像感兴趣区域分割方法
CN116778006B (zh) * 2023-06-25 2024-04-02 北京百度网讯科技有限公司 图片编码器的建模方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480619B1 (en) * 2003-03-04 2009-01-20 The Board Of Trustees Of The Leland Stanford Junior University Integration manager and natural interaction processor
KR102332729B1 (ko) 2014-07-28 2021-11-30 삼성전자주식회사 발음 유사도를 기반으로 한 음성 인식 방법 및 장치, 음성 인식 엔진 생성 방법 및 장치
US11080595B2 (en) * 2016-11-04 2021-08-03 Salesforce.Com, Inc. Quasi-recurrent neural network based encoder-decoder model
EP3461304A4 (en) * 2017-04-24 2019-05-22 Beijing Didi Infinity Technology And Development Co., Ltd. SYSTEM AND METHOD FOR REAL-TIME TRANSCRIPTION OF AN AUDIO SIGNAL IN TEXTS
US10817650B2 (en) * 2017-05-19 2020-10-27 Salesforce.Com, Inc. Natural language processing using context specific word vectors
JP6884871B2 (ja) * 2017-05-23 2021-06-09 グーグル エルエルシーGoogle LLC アテンションベースのシーケンス変換ニューラルネットワーク
EP3688672B1 (en) * 2017-10-27 2024-06-19 Google LLC Attention-based decoder-only sequence transduction neural networks
CN118194921A (zh) * 2017-10-27 2024-06-14 谷歌有限责任公司 基于关注的图像生成神经网络
US11368362B2 (en) * 2017-11-07 2022-06-21 Apple Inc. Transport network layer associations on the FI interface
US10542270B2 (en) * 2017-11-15 2020-01-21 Salesforce.Com, Inc. Dense video captioning
US11501076B2 (en) * 2018-02-09 2022-11-15 Salesforce.Com, Inc. Multitask learning as question answering
US11600194B2 (en) * 2018-05-18 2023-03-07 Salesforce.Com, Inc. Multitask learning as question answering
US11138392B2 (en) * 2018-07-26 2021-10-05 Google Llc Machine translation using neural network models
US11126800B2 (en) * 2018-09-28 2021-09-21 Baidu Usa Llc. Systems and methods for simultaneous translation with integrated anticipation and controllable latency (STACL)
US11295081B1 (en) * 2019-09-27 2022-04-05 Amazon Technologies, Inc. Systems, methods, and apparatuses for controlling output length in neural machine translation
KR20210043995A (ko) * 2019-10-14 2021-04-22 삼성전자주식회사 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
CN113570508A (zh) * 2020-04-29 2021-10-29 上海耕岩智能科技有限公司 图像修复方法及装置、存储介质、终端
US20220161423A1 (en) * 2020-11-20 2022-05-26 Naver Corporation Transformer-Based Meta-Imitation Learning Of Robots

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113380237A (zh) * 2021-06-09 2021-09-10 中国科学技术大学 增强局部依赖关系无监督预训练语音识别模型及训练方法
KR102416852B1 (ko) * 2021-07-23 2022-07-05 (주)뤼이드 시험 점수를 예측하는 방법 및 장치
WO2023003262A1 (ko) * 2021-07-23 2023-01-26 (주)뤼이드 시험 점수를 예측하는 방법 및 장치
KR20230114893A (ko) 2022-01-26 2023-08-02 서강대학교산학협력단 자기지도 스윈 트랜스포머 모델 구조 및 이의 학습 방법
KR102539679B1 (ko) * 2023-02-01 2023-06-02 (주)피플리 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템

Also Published As

Publication number Publication date
US11468324B2 (en) 2022-10-11
US20210110258A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
KR20210043995A (ko) 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
CN110556100B (zh) 端到端语音识别模型的训练方法及系统
KR102565275B1 (ko) 병렬 처리에 기초한 번역 방법 및 장치
CN108960277B (zh) 使用语言模型对序列到序列模型进行冷聚变
BR112019004524B1 (pt) Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio
CN111738016B (zh) 多意图识别方法及相关设备
KR20210146368A (ko) 숫자 시퀀스에 대한 종단 간 자동 음성 인식
JP2018537788A (ja) 外部メモリを用いたニューラルネットワークの拡張
KR20200080681A (ko) 음성 합성 방법 및 장치
US11011156B2 (en) Training data modification for training model
JP2020086436A (ja) 人工神経網における復号化方法、音声認識装置及び音声認識システム
KR20220130565A (ko) 키워드 검출 방법 및 장치
JP2020042257A (ja) 音声認識方法及び装置
US20230237993A1 (en) Systems and Methods for Training Dual-Mode Machine-Learned Speech Recognition Models
CN118043885A (zh) 用于半监督语音识别的对比孪生网络
KR20190062982A (ko) 전자 장치 및 전자 장치의 동작 방법
CN113674733A (zh) 用于说话时间估计的方法和设备
KR20190053028A (ko) 제약조건 영향력 제어 계층을 이용한 신경망 학습 기반의 신경망 기계 번역 장치 및 그 동작방법
JP2022037862A (ja) テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体
KR20210042707A (ko) 음성 처리 방법 및 장치
JP7348447B2 (ja) テキストベースの話者変更検出を活用した話者ダイアライゼーション補正方法およびシステム
KR102506671B1 (ko) 스타일러: 음성 분해를 통해 신속성과 견고성을 갖춘 스타일 요소 모델링을 기반으로 다양한 표현 및 스타일 제어가 가능한 인공신경망 기반의 음성 합성 시스템
US20220415315A1 (en) Adding words to a prefix tree for improving speech recognition
KR102292921B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
US11443748B2 (en) Metric learning of speaker diarization