KR102486348B1 - 어텐션-기반의 시퀀스 변환 신경망 - Google Patents
어텐션-기반의 시퀀스 변환 신경망 Download PDFInfo
- Publication number
- KR102486348B1 KR102486348B1 KR1020207032482A KR20207032482A KR102486348B1 KR 102486348 B1 KR102486348 B1 KR 102486348B1 KR 1020207032482 A KR1020207032482 A KR 1020207032482A KR 20207032482 A KR20207032482 A KR 20207032482A KR 102486348 B1 KR102486348 B1 KR 102486348B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- network
- sequence
- subnetwork
- sub
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 89
- 230000026683 transduction Effects 0.000 title 1
- 238000010361 transduction Methods 0.000 title 1
- 230000007246 mechanism Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000003860 storage Methods 0.000 claims abstract description 14
- 230000009466 transformation Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 23
- 238000010606 normalization Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims 3
- 238000000844 transformation Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 15
- 239000011159 matrix material Substances 0.000 description 24
- 230000009471 action Effects 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000000007 visual 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/0499—Feedforward networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Color Image Communication Systems (AREA)
- Facsimile Image Signal Circuits (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
방법들, 시스템들 및 디바이스들은 입력 시퀀스로부터 출력 시퀀스를 생성하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함한다. 일 양태에서, 시스템들 중 하나는 입력 시퀀스를 수신하고 네트워크 입력의 인코딩된 표현을 생성하도록 구성된 인코더 신경망과, 상기 인코더 신경망은 하나 이상의 인코더 서브네트워크의 시퀀스를 포함하고, 각 인코더 서브네트워크는 입력 위치들 각각에 대한 개별 인코더 서브네트워크 입력을 수신하여 입력 위치들 각각에 대한 개별 서브네트워크 출력을 생성하도록 구성되고, 그리고 각 인코더 서브네트워크는 입력 위치들 각각에 대한 서브네트워크 입력을 수신하여, 상기 입력 순서의 각각의 특정 입력 위치에 대해, 상기 특정 입력 위치에서 상기 인코더 서브네트워크 입력으로부터 도출된 하나 이상의 쿼리를 사용하여 상기 인코더 서브네트워크 입력들에 어텐션 메커니즘을 적용하는 인코더 셀프-어텐션 서브-계층을 포함한다.
Description
본 출원은 2017년 5월 23일자로 출원된 미국 가출원 제62/510,256호 및 2017년 8월 4일자로 출원된 미국 가출원 제62/541,594호의 비-가출원으로 그들의 우선권을 주장한다. 전술한 출원들의 전체 내용은 본 명세서에 참고로 포함된다.
본 명세서는 신경망들을 사용하여 시퀀스를 변환하는 것에 관한 것이다. 신경망은 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 단위 계층을 사용하는 기계 학습 모델이다. 일부 신경망은 출력 계층 외에도 하나 이상의 은닉 계층을 포함한다. 각 은닉 계층의 출력은 네트워크의 다음 계층, 즉 다음 은닉 계층 또는 출력 계층의 입력으로 사용된다. 네트워크의 각 계층은 개별 파라미터 세트의 현재 값에 따라 수신 입력으로부터 출력을 생성한다.
본 명세서는 입력 순서의 다수의 위치 각각에서 개별 입력을 포함하는 입력 시퀀스로부터 출력 순서내의 다수의 위치 각각에서 개별 출력을 포함하는 출력 시퀀스를 생성하는, 즉 입력 시퀀스를 출력 시퀀스로 변환하는 하나 이상의 위치에 있는 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현되는 시스템을 기술한다. 특히, 시스템은 모두 어텐션((attention)-기반인 인코더 신경망 및 디코더 신경망을 사용하여 출력 시퀀스를 생성한다.
본 명세서에서 설명된 본 발명의 특정 실시예는 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다.
신경망을 이용한 시퀀스 변환에 대한 많은 기존의 접근법은 인코더와 디코더 모두에서 순환 신경망을 사용한다. 이러한 종류의 네트워크들은 시퀀스 변환 작업에서 좋은 성능을 얻을 수 있지만, 그들의 계산은 사실상 순차적이다. 즉, 순환 신경망은 선행 시간 스텝에서 순환 신경망의 은닉 상태에 컨디셔닝된(조건화된) 현재 시간 스텝에서 출력을 생성한다. 이러한 순차적인 특성(nature)은 병렬화를 배제하므로 긴 트레이닝 및 추론 시간이 필요하며 그에 따라 많은 양의 계산 자원을 사용하는 작업 부하를 발생한다.
반면에, 기술된 시퀀스 변환 신경망의 인코더 및 디코더는 어텐션-기반이기 때문에, 시퀀스 변환 신경망은 네트워크의 동작이 보다 쉽게 병렬화될 수 있으므로 시퀀스들을 보다 빨리 변환하거나 더 빠르게 트레이닝할 수 있다. 즉, 기술된 시퀀스 변환 신경망은 입력 및 출력 간의 전역 의존성(global dependencies)을 유도하는 어텐션 메커니즘에 전적으로 의존하고 순환 신경망 계층은 사용하지 않기 때문에, 순환 신경망의 순차적인 특성에 의해 야기되는 긴 트레이닝 및 추론 시간과 높은 자원 사용에 대한 문제점이 완화된다.
더욱이, 시퀀스 변환 신경망은 트레이닝 및 추론 시간이 더 짧더라도 컨볼루션 계층 또는 순환 계층에 근거한 기존의 네트워크들보다 더 정확하게 시퀀스를 변환할 수 있다. 특히, 종래의 모델에서, 2개의 임의의 입력 또는 출력 위치로부터의 신호를 관련시키는데 필요한 연산의 수는 위치들간의 거리에 따라 예를 들어 모델 아키텍처에 따라 선형적으로 또는 로그적으로 증가한다. 이것은 트레이닝 중에 멀리 떨어진 위치들 간의 의존성을 학습하는 것을 더 어렵게 단든다. 현재 기술된 시퀀스 변환 신경망에서, 이러한 연산의 수는 순환 또는 컨볼루션에 의존하지 않고 어텐션(특히, 셀프-어텐션)을 사용하기 때문에 일정한 수의 연산으로 감소된다. 셀프-어텐션(인트라 어텐션(Intra-attention이라고도 함)은 시퀀스의 표현을 계산하기 위해 단일 시퀀스의 상이한 위치들을 관련시키는 어텐션 메커니즘이다. 어텐션 메커니즘의 사용은 시퀀스 변환 신경망이 트레이닝 동안 먼 위치들 사이의 의존성을 효과적으로 학습하도록 하여, 예를 들어 기계 번역과 같은 다양한 변환 작업들에 대한 시퀀스 변환 신경망의 정확성을 향상시킨다. 실제로, 기술된 시퀀스 변환 신경망은 종래의 기계 번역 신경망보다 출력을 생성하는 것이 더 쉽고 신속함에도 불구하고 기계 번역 작업에 대한 최첨단 결과를 달성할 수 있다. 시퀀스 변환 신경망은 또한 어텐션 메커니즘의 사용을 통한 작업-관련 튜닝없이 종래의 기계 변환 신경망에 비해 향상된 성능을 나타낼 수 있다.
본 명세서의 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 주제의 다른 특징, 양태 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 예시적인 신경망 시스템을 도시한다.
도 2는 인코더 신경망 및 디코더 신경망의 서브네트워크에서 어텐션 서브-계층에 의해 적용되는 어텐션 메커니즘을 나타내는 도면이다.
도 3은 입력 시퀀스로부터 출력 시퀀스를 생성하는 예시적인 프로세스의 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
도 2는 인코더 신경망 및 디코더 신경망의 서브네트워크에서 어텐션 서브-계층에 의해 적용되는 어텐션 메커니즘을 나타내는 도면이다.
도 3은 입력 시퀀스로부터 출력 시퀀스를 생성하는 예시적인 프로세스의 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
본 명세서는 입력 순서내의 다수의 위치 각각에서 개별 입력을 포함하는 입력 시퀀스로부터 출력 순서내의 다수의 위치 각각에서 개별 출력을 포함하는 출력 시퀀스를 생성하는, 즉 입력 시퀀스를 출력 시퀀스로 변환하는 하나 이상의 위치에 있는 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현되는 시스템을 기술한다.
예를 들어, 시스템은 신경 기계 번역 시스템일 수 있다. 즉, 입력 시퀀스가 원래의 언어로 된 단어들의 시퀀스, 예를 들어, 문장 또는 어구인 경우, 출력 시퀀스는 입력 시퀀스를 타겟 언어, 즉 원래 언어의 단어 시퀀스를 나타내는 타겟 언어의 단어 시퀀스로 번역한 것일 수 있다.
다른 예로서, 시스템은 음성 인식 시스템일 수 있다. 즉, 입력 시퀀스가 음성 발언(spoken utterance)을 나타내는 오디오 데이터의 시퀀스인 경우, 출력 시퀀스는 발언을 나타내는 자소(graphemes) 시퀀스, 문자 또는 단어, 즉, 입력 시퀀스의 전사일 수 있다.
다른 예로서, 시스템은 자연어 처리 시스템일 수 있다. 예를 들어, 입력 시퀀스가 원래의 언어로 된 단어 시퀀스(예를 들어, 문장 또는 어구)인 경우, 출력 시퀀스는 원래 언어의 입력 시퀀스의 요약, 즉, 입력 시퀀스보다 적은 단어를 갖지만 입력 시퀀스의 본질적인 의미를 유지하는 시퀀스일 수 있다. 다른 예로서, 입력 시퀀스가 질문을 형성하는 단어 시퀀스인 경우, 출력 시퀀스는 질문에 대한 응답을 형성하는 단어 시퀀스일 수 있다.
다른 예로서, 시스템은 컴퓨터-지원의 의료 진단 시스템의 일부일 수 있다. 예를 들어, 입력 시퀀스는 전자 의료 기록으로부터의 데이터 시퀀스일 수 있으며, 출력 시퀀스는 예측된 치료법의 시퀀스일 수 있다.
다른 예로서, 시스템은 이미지 처리 시스템의 일부일 수 있다. 예를 들어, 입력 시퀀스는 이미지, 즉 이미지로부터의 컬러 값의 시퀀스일 수 있고, 출력은 이미지를 기술하는 텍스트의 시퀀스일 수 있다. 다른 예로서, 입력 시퀀스는 텍스트의 시퀀스 또는 다른 컨텍스트일 수 있으며 출력 시퀀스는 컨텍스트를 설명하는 이미지 일 수 있다.
특히, 신경망은 인코더 신경망 및 디코더 신경망을 포함한다. 일반적으로, 인코더 및 디코더 모두는 어텐션 기반, 즉, 입력 시퀀스를 변환하는 동안 둘 다 각각의 수신된 입력에 대해 어텐션 메커니즘을 적용한다. 경우에 따라 인코더나 디코더 모두 컨볼루션 계층이나 임의의 순환 계층을 포함하지 않는다.
도 1은 예시적인 신경망 시스템(100)을 도시한다. 신경망 시스템(100)은 하나 이상의 위치에 있는 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현되는 시스템의 예로서, 이하에서 기술되는 시스템, 구성 요소 및 기술이 구현될 수 있다.
신경망 시스템(100)은 입력 시퀀스(102)를 수신하고, 입력 시퀀스(102)를 처리하여 출력 시퀀스(152)로 입력 시퀀스(102)를 변환한다.
입력 시퀀스(102)는 입력 순서(order)에서 다수의 입력 위치 각각에서 개별 (respective) 네트워크 입력을 가지며, 출력 시퀀스(152)는 출력 순서에서 다수의 출력 위치 각각에서 개별 네트워크 출력을 갖는다. 즉, 입력 시퀀스(102)는 입력 순서에 따라 배열된 다수의 입력을 가지며, 출력 시퀀스(152)는 출력 순서에 따라 배열된 다수의 출력을 갖는다.
전술한 바와 같이, 신경망 시스템(100)은 순차적 출력을 생성하기 위해 순차적 입력을 처리하는 것을 요구하는 임의의 다양한 작업을 수행할 수 있다.
신경망 시스템(100)은 인코더 신경망(110) 및 디코더 신경망(150)를 차례로 포함하는 어텐션-기반 시퀀스 변환 신경망(108)를 포함한다.
인코더 신경망(110)는 입력 시퀀스(102)를 수신하여, 입력 시퀀스내의 네트워크 입력 각각에 대한 개별 인코딩된 표현을 생성하도록 구성된다. 일반적으로 인코딩된 표현은 숫자 값의 벡터 또는 다른 정렬된 집합(collection)이다.
이어서, 디코더 신경망(150)은 네트워크 입력의 상기 인코딩된 표현을 사용하여 출력 시퀀스(152)를 생성하도록 구성된다.
일반적으로, 이하에서 보다 상세히 기술되는 바와 같이, 인코더(110) 및 디코더(150) 모두는 어텐션-기반이다. 일부 경우에서, 인코더나 디코더 모두는 임의의 컨볼루션 계층이나 임의의 순환 계층을 포함하지 않는다.
인코더 신경망(110)는 임베딩 계층(120) 및 하나 이상의 인코더 서브네트워크(130)의 시퀀스를 포함한다. 특히, 도 1에 도시된 바와 같이, 인코더 신경망은 N개의 인코더 서브네트워크(130)를 포함한다.
임베딩 계층(120)은, 입력 시퀀스 내의 각 네트워크 입력에 대해, 네트워크 입력을 임베딩 공간내의 네트워크 입력의 수치 표현으로, 예를 들어 임베딩 공간 내의 벡터로 맵핑하도록 구성된다. 그런 다음 임베딩 계층(120)은 네트워크 입력의 수치 표현을 인코더 서브네트워크(130)의 시퀀스내의 제1 서브네트워크로, 즉 N개의 인코더 서브네트워크(130)의 제1 인코더 서브네트워크(130)로 제공한다.
특히, 일부 구현예에서, 임베딩 계층(120)은 각각의 네트워크 입력을 네트워크 입력의 임베딩 표현에 맵핑하고, 그런 다음 네트워크 입력의 임베딩된 표현을 상기 입력 순서 내의 네트워크 입력의 입력 위치의 임베딩과 결합, 예를 들어 합 또는 평균하여, 네트워크 입력의 결합된 임베딩 표현을 생성한다. 즉, 입력 시퀀스의 각 위치는 대응하는 임베딩을 가지며, 각 네트워크 입력에 대해 상기 임베딩 계층(120)는 네트워크 입력의 임베딩된 표현을 상기 입력 시퀀스내의 네트워크 입력의 위치의 임베딩을 결합한다. 이러한 위치 임베딩은 상기 모델이 순환 또는 컨볼루션에 의존하지 않고 상기 입력 시퀀스의 순서를 최대한 활용할 수 있게 한다.
일부 경우에서, 위치 임베딩은 학습된다. 본 명세서에서 사용된 바와 같이, "학습된(learned)"이라는 용어는 동작 또는 값이 시퀀스 변환 신경망(108)의 트레이닝 동안 조정되었음을 의미한다. 시퀀스 변환 신경망(108)의 트레이닝은 도 3을 참조하여 이하에 설명된다.
일부 다른 경우에서, 위치 임베딩은 고정되어 있으며 각 위치마다 다르다. 예를 들어, 임베딩은 상이한 주파수의 사인 함수와 코사인 함수로 구성될 수 있으며 다음을 만족시킬 수 있다.
여기서, pos는 위치이고, i는 위치 임베딩의 차원(dimension)이며, dmodel은 위치 임베딩(및 신경망(108)에 의해 처리된 다른 벡터의)의 차원수 (dimensionality)이다. 정현파 위치 임베딩의 사용은 모델이 더 긴 시퀀스 길이로 외삽될 수 있게 하여, 모델이 사용될 수 있는 적용 범위를 증가시킬 수 있다.
그런 다음 결합된 임베딩 표현은 네트워크 입력의 수치 표현으로 사용된다.
인코더 서브네트워크(130) 각각은 복수의 입력 위치들 각각에 대한 개별 인코더 서브네트워크 입력을 수신하여, 복수의 입력 위치들 각각에 대한 개별 서브네트워크 출력을 생성하도록 구성된다.
시퀀스내의 마지막 인코더 서브네트워크에 의해 생성된 인코더 서브네트워크 출력은 네트워크 입력의 인코딩된 표현으로 사용된다.
시퀀스 내의 제1 인코더 서브네트워크에 대해, 인코더 서브네트워크 입력은 임베딩 계층(120)에 의해 생성된 수치 표현이고, 시퀀스 내의 제1 인코더 서브네트워크 이외의 각 인코더 서브네트워크에 대해, 인코더 서브네트워크 입력은 시퀀스 내의 선행하는 인코더 서브네트워크의 인코더 서브네트워크 출력이다.
각각의 인코더 서브네트워크(130)는 인코더 셀프-어텐션 서브-계층(132)을 포함한다. 인코더 셀프-어텐션 서브-계층(132)은 복수의 입력 위치 각각에 대한 서브네트워크 입력을 수신하고, 입력 순서내의 각각의 특정 입력 위치에 대해, 특정 입력 위치에서 인코더 서브 네트워크 입력으로부터 도출된 하나 이상의 쿼리를 사용하여 입력 위치에서 상기 인코더 서브 네트워크 입력에 대해 어텐션 메커니즘을 적용하여, 상기 특정 입력 위치에 대한 개별 출력을 생성한다. 일부 경우에서, 어텐션 메커니즘은 멀티-헤드 어텐션 메커니즘이다. 어텐션 메커니즘 및 인코더 셀프-어텐션 서브-계층(132)에 의해 어텐션 메커니즘이 어떻게 적용되는지는 도 2를 참조하여 보다 상세히 설명될 것이다.
일부 구현예에서, 인코더 서브네트워크(130) 각각은 또한 인코더 셀프-어텐션 서브-계층의 출력을 상기 인코더 셀프-어텐션 서브-계층의 입력과 결합하여 인코더 셀프-어텐션 잔여 출력을 생성하는 잔여 연결(residual connection) 계층 및 상기 인코더 셀프-어텐션 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 포함한다. 이들 2개의 계층은 일괄적으로 도 1에서 "Add & Norm" 연산으로 지칭된다.
인코더 서브네트워크의 일부 또는 전부는 또한 상기 입력 시퀀스의 각 위치에서 개별적으로 동작하도록 구성된 위치별 피드포워드(position-wise feed-forward) 계층(134)을 포함할 수 있다. 특히, 각각의 입력 위치에 대해, 피드포워드 계층(134)은 입력 위치에서 입력을 수신하여, 그 입력 위치에서 상기 입력에 변환 시퀀스를 적용하여 입력 위치에 대한 출력을 생성하도록 구성된다. 예를 들어, 변환 시퀀스는 크고 복잡한 데이터세트에 대해 보다 빠르고 효과적인 트레이닝을 가능하게 할 수 있는 비선형 요소별 활성화 함수(예를 들어, ReLU 활성화 함수)와 같은 활성화 함수에 의해 각각 분리된 2개 이상의 학습된 선형 변환을 포함할 수 있다. 위치별 피드포워드 계층(134)에 의해 수신된 입력은 상기 잔여 및 계층 정규화 계층이 포함될 때 계층 정규화 계층의 출력이거나 상기 잔여 및 계층 정규화계층이 포함되지 않을 때 인코더 셀프-어텐션 서브-계층(132)의 출력일 수 있다. 계층은 포함되지 않는다. 상기 계층(134)에 의해 적용된 변환은 일반적으로 각각의 입력 위치에 대해 동일할 것이다(그러나 상이한 서브네트워크 내의 상이한 피드포워드 계층은 상이한 변환을 적용할 것이다).
인코더 서브네트워크(130)가 위치별 피드포워드 계층(134)을 포함하는 경우에, 인코더 서브네트워크는 또한 위치별 피드포워드 계층의 출력을 위치별 피드포워드 계층의 입력과 결합하여 인코더 위치별 잔여 출력을 생성하는 잔여 연결 계층 및 상기 인코더 위치별 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 포함한다. 이들 2개의 계층은 또한 일괄적으로 도 1에서 "Add & Norm" 연산으로 지칭된다. 그런 다음 이 계층 정규화 계층의 출력은 인코더 서브네트워크(130)의 출력으로 사용될 수 있다.
일단 인코더 신경망(110)이 인코딩된 표현을 생성하면, 디코더 신경망(150)은 자동-회귀 방식으로 출력 시퀀스를 생성하도록 구성된다.
즉, 디코더 신경망(150)은 복수의 생성 시간 스텝 각각에서, (i) 인코딩된 표현들 및 (ii) 출력 순서내의 상기 출력 위치에 선행하는 출력 위치들에서의 네트워크 출력들에 컨디셔닝된(조건화된) 대응하는 출력 위치에 대한 네트워크 출력을 생성하는 출력 시퀀스를 생성한다.
특히, 주어진 출력 위치에 대해, 디코더 신경망은 주어진 출력 위치에서의 가능한 네트워크 출력에 대한 확률 분포를 정의하는 출력을 생성한다. 그런 다음, 디코더 신경망은 확률 분포로부터 샘플링하거나 가장 높은 확률을 갖는 네트워크 출력을 선택함으로써 상기 출력 위치에 대한 네트워크 출력을 선택할 수 있다.
디코더 신경망(150)은 자동-회귀적이기 때문에, 각 생성 시간 스텝에서, 디코더(150)는 생성 시간 스텝 이전에 이미 생성된 네트워크 출력에 대해 동작한다. 즉 네트워크는 출력 순서에서 대응하는 출력 위치에 선행하는 출력 위치에서 출력한다. 일부 구현예에서는, 추론 및 트레이닝 중에 이 경우를 보장하기 위해, 각 생성 시간 스텝에서 디코더 신경망(150)은 이미 생성된 네트워크 출력을 하나의 출력 순서 위치만큼 오른쪽으로 시프트(즉, 이미 생성된 네트워크 출력 시퀀스에 하나의 위치 오프셋을 도입)시키고, (아래에서 보다 상세히 설명되는 바와같이) 위치들이 출력 시퀀스의 해당 위치까지(후속 위치는 아님)의 위치들에만 위치할 수 있도록 특정 동작을 마스킹한다. 아래의 나머지 설명은, 소정(given) 출력 위치에서 소정 출력을 생성할 때, 디코더(150)의 다양한 구성 요소가 상기 소정 출력 위치에 선행하는 출력 위치에서의 데이터(임의의 다른 출력 위치의 데이터는 제외)에 대해 동작한다는 것을 설명하지만, 이러한 유형의 컨디셔닝(조건화)은 전술한 시프팅을 사용하여 효과적으로 구현될 수 있음을 이해할 것이다.
디코더 신경망(150)은 임베딩 계층(160), 디코더 서브네트워크(170)들의 시퀀스, 선형 계층(180) 및 소프트맥스 계층(190)을 포함한다. 특히, 도 1에 도시된 바와 같이, 디코더 신경망은 N개의 디코더 서브네트워크(170)를 포함한다. 그러나, 도 1의 예는 동일한 수의 서브네트워크를 포함하는 인코더(110) 및 디코더(150)를 도시하고 있지만, 경우에 따라 인코더(110) 및 디코더(150)는 상이한 수의 서브네트워크를 포함한다. 즉, 디코더(150)는 인코더(110)보다 더 많거나 적은 서브네트워크를 포함할 수 있다.
임베딩 계층(160)은 각 생성 시간 스텝에서, 출력 순서내의 현재 출력 위치에 선행하는 출력 위치에서의 각 네트워크 출력에 대해, 네트워크 출력을 임베딩 공간에서의 네트워크 출력의 수치 표현으로 매핑하도록 구성된다. 그런 다음, 임베딩 계층(160)은 네트워크 출력의 수치 표현을 디코더 서브네트워크의 시퀀스내의 제1 서브네트워크(170)로, 즉 N개의 디코더 서브네트워크의 제1 디코더 서브네트워크(170)로 제공한다.
특히, 일부 구현예에서, 임베딩 계층(160)은 각 네트워크 출력을 네트워크 출력의 임베딩된 표현에 맵핑하고, 네트워크 출력의 상기 임베딩된 표현을 출력 순서내의 네트워크 출력의 출력 위치의 위치 임베딩과 결합하여 네트워크 출력의 결합된 임베딩 표현을 생성할 수 있다. 그런 다음 상기 결합된 임베딩 표현은 네트워크 출력의 수치 표현으로 사용된다. 임베딩 계층(160)는 임베딩 계층(120)를 참조하여 전술한 것과 동일한 방식으로 결합된 임베딩 표현을 생성한다.
각 디코더 서브네트워크(170)는 각 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 복수의 출력 위치 각각에 대한 각각의 개별 디코더 서브네트워크 입력을 수신하여, 대응하는 출력 위치에 선행하는 복수의 출력 위치 각각(또는 등가적으로, 출력 시퀀스가 오른쪽으로 시프트되었을 때, 현재 출력 위치까지의 위치에서의 각 네트워크 출력)에 대한 개별 디코더 서브 네트워크 출력을 생성한다. 특히, 각 디코더 서브네트워크(170)는 2개의 상이한 어텐션 서브-계층, 즉 디코더 셀프- 어텐션 서브-계층(172) 및 인코더-디코더 어텐션 서브-계층(174)을 포함한다.
각 디코더 셀프-어텐션 서브-계층(172)은, 각 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 각 출력 위치에 대한 입력을 수신하고, 특정 출력 위치 각각에 대해, 특정 출력 위치에서의 입력으로부터 도출된 하나 이상의 쿼리를 사용하여 상기 대응하는 위치에 선행하는 출력 위치의 입력에 대해 어텐션 메커니즘을 적용하여 상기 특정 출력 위치에 대한 업데이트된 표현을 생성한다. 즉, 디코더 셀프-어텐션 서브-계층(172)은 출력 시퀀스에서 현재의 출력 위치에 선행하는 위치에 있지 않은 임의의 데이터를 포함(attend)하거나 처리하지 않도록 마스킹된 어텐션 메커니즘을 적용한다.
한편, 각 인코더-디코더 어텐션 서브-계층(174)은, 각각의 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 각 출력 위치에 대한 입력을 수신하고, 출력 위치 각각에 대해, 출력 위치에 대한 입력으로부터 도출된 하나 이상의 쿼리를 사용하여 입력 위치에서 상기 인코딩된 표현에 대해 어텐션 메커니즘을 적용하여 출력 위치에 대한 업데이트된 표현을 생성한다. 따라서, 인코더-디코더 어텐션 서브-계층(174)은 인코더 셀프-어텐션 서브-계층(172)이 출력 위치들에서 입력에 대해 어텐션을 적용하는 동안 엔코딩된 표현에 대해 어텐션을 적용한다. 이들 각 어텐션 서브-계층에 의해 적용되는 어텐션 메커니즘은 도 2를 참조하여 아래에서 보다 상세하게 설명될 것이다.
도 1에서, 디코더 셀프-어텐션 서브-계층(172)은 디코더 서브네트워크(170) 내의 처리 순서에서 상기 인코더-디코더 어텐션 서브-계층 이전인 것으로 도시되어 있다. 그러나, 다른 예에서, 디코더 셀프-어텐션 서브-계층(172)은 디코더 서브네트워크(170) 내의 처리 순서에서 상기 인코더-디코더 어텐션 서브-계층(174) 이후 일 수 있거나 상이한 서브네트워크는 상이한 처리 순서를 가질 수 있다.
일부 구현예에서, 각 디코더 서브네트워크(170)는 디코더 셀프-어텐션 서브-계층(172) 이후, 인코더-디코더 어텐션 서브-계층(174) 이후, 또는 2개의 서브-계층 각각 이후에, 어텐션 서브-계층의 출력을 어텐션 서브-계층에 대한 입력과 결합하여 잔여 출력을 생성하는 잔여 연결 계층 및 상기 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 포함한다. 도 1은 "Add & Norm" 연산으로 지칭되는 2개의 서브-계층 각각 이후에 삽입되는 이들 2개의 계층을 도시한다.
디코더 서브네트워크(170)의 일부 또는 전부는 또한 인코더(110)로부터의 위치별 피드포워드 계층(134)과 유사한 방식으로 동작하도록 구성된 위치별 피드포워드 계층(176)을 포함한다. 특히,계층(176)은 각 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 각 출력 위치에 대해, 상기 출력 위치에서 입력을 수신하고, 출력 위치에서의 입력에 변환 시퀀스를 적용하여 상기 출력 위치에 대한 출력을 생성하도록 구성된다. 예를 들어, 변환 시퀀스는 활성화 함수, 예를 들어 ReLU 활성화 함수와 같은 비선형 요소별 활성화 함수에 의해 각각 분리된 2개 이상의 학습된 선형 변환을 포함할 수 있다. 위치별 피드포워드 계층(176)에 의해 수신된 입력은 잔여 및 계층 정규화 계층이 포함될 때는 (서브네트워크(170)의 마지막 어텐션 서브-계층에 뒤이은) 계층 정규화 계층의 출력일 수 있고, 잔여 및 계층 정규화 계층이 포함되지 않을 때는 서브네트워크(170)의 마지막 어텐션 서브-계층의 출력일 수 있다.
디코더 서브네트워크(170)가 위치별 피드포워드 계층(176)을 포함하는 경우, 디코더 서브네트워크는 또한 위치별 피드포워드 계층의 출력을 위치별 피드포워드 계층의 입력과 결합하여 디코더 위치별 잔여 출력을 생성하는 잔여 연결 계층 및 상기 디코더 위치별 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 포함할 수 있다. 이들 2개의 계층은 또한 일괄적으로 도 1에서 "Add & Norm" 연산으로 지칭된다. 그런 다음 이 계층 정규화 계층의 출력은 디코더 서브네트워크(170)의 출력으로서 사용될 수 있다.
각 생성 시간 스텝에서, 선형 계층(180)은 마지막 디코더 서브네트워크(170)의 출력을 소프트맥스 계층(190)에 의한 처리를 위한 적절한 공간으로 투영하기 위해 최종 디코더 서브네트워크(170)의 출력에 학습된 선형 변환을 적용한다. 이어서, 소프트맥스 계층(190)은 선형 계층(180)의 출력에 대해 소프트맥스 함수를 적용하여 상기 생성 시간 스텝에서 가능한 네트워크 출력에 대한 확률 분포를 생성한다. 그런 다음 전술한 바와 같이, 디코더(150)는 확률 분포를 이용하여 상기 가능한 네트워크 출력으로부터 네트워크 출력을 선택할 수 있다.
도 2는 인코더 신경망(110) 및 디코더 신경망(150)의 서브네트워크에서 어텐션 서브-계층에 의해 적용되는 어텐션 메커니즘을 나타내는 다이어그램(200)이다.
일반적으로, 어텐션 메커니즘은 쿼리와 키-값 쌍을 출력에 매핑하는데, 여기서 쿼리, 키 및 값은 모두 벡터이다. 출력은 값들의 가중치 합(weighted sum)으로 계산되며, 여기서 각 값에 할당된 가중치는 대응하는 키와의 쿼리의 호환성 함수에 의해 계산된다.
보다 상세하게는, 각 어텐션 서브-계층은 스케일링된 내적(dot-product) 어텐션 메커니즘(230)을 적용한다. 스케일링된 내적 어텐션에서, 주어진 쿼리에 대해, 어텐션 서브-계층은 모든 키를 이용하여 쿼리의 내적을 계산하고, 각각의 내적을 스케일 인자, 예를 들어, 쿼리들 및 키들의 차원의 제곱근으로 나누고, 그 다음, 스케일링된 내적에 소프트맥스 함수를 적용하여 상기 값들에 대한 가중치를 획득한다. 그런 다음 어텐션 서브-계층은 이들 가중치에 따라 상기 값들 가중치 합을 계산한다. 따라서, 스케일링된 내적 어텐션을 위해, 상기 호환성 함수는 내적이고, 호환성 함수의 출력은 스케일링 인자에 의해 더 스케일링된다.
동작 및 도 2의 좌측에 도시된 바와 같이, 어텐션 서브-계층은 쿼리 세트에 대한 어텐션을 동시에 계산한다. 특히, 어텐션 서브-계층은 쿼리들을 행렬(Q)로 패킹하고, 상기 키들을 행렬(K)로 패킹하고, 상기 값들을 행렬(V)로 패킹한다. 벡터들의 세트를 행렬로 패킹하기 위해, 어텐션 서브-계층은 벡터를 행렬의 행으로 포함하는 행렬을 생성할 수 있다. 그런 다음, 어텐션 서브-계층은 행렬(Q)과 상기 행렬(K)의 전치(transpose) 사이에 행렬 승산(MatMul)을 수행하여 호환성 함수 출력들의 행렬을 생성한다.
그런 다음, 어텐션 서브-계층은 행렬(Q)와 행렬(K)의 전치 사이의 행렬 곱셈(MatMul)을 수행하여 호환성 함수 출력들의 행렬을 생성한다.
그 후, 어텐션 서브-계층은 호환성 함수 출력 행렬, 즉 행렬의 각 요소를 스케일링 인자로 나눔으로써 스케일링한다.
그런 다음, 어텐션 서브-계층은 스케일링된 출력 행렬에 대해 소프트맥스를 적용하여 가중치 행렬을 생성하고, 상기 가중치 행렬과 행렬(V)사이에 행렬 승산(MatMul)을 수행하여 상기 값들 각각에 대한 어텐션 메커니즘의 출력을 포함하는 출력 행렬을 생성한다.
마스킹을 사용하는 서브-계층, 즉 디코더 어텐션 서브-계층에 대해, 어텐션 서브-계층은 소프트맥스를 적용하기 전에 상기 스케일링된 출력 행렬을 마스킹한다. 즉, 어텐션 서브-계층은 현재 출력 위치 이후의 위치들에 대응하는 상기 스케일링된 출력 행렬의 모든 값을 마스크 아웃(masks out)(음의 무한대로 설정)한다.
일부 구현예에서, 어텐션 서브-계층들이 다른 위치에서 다른 표현 서브공간들로부터의 정보를 공동으로 처리(attend)할 수 있게 하기 위해, 어텐션 서브-계층은 도 2의 우측에 도시된 바와 같이 멀티-헤드 어텐션을 사용한다.
특히, 다중-헤드 어텐션을 구현하기 위해, 어텐션 서브-계층은 h개의 다른 어텐션 메커니즘을 병렬로 적용한다. 다시 말해서, 어텐션 서브-계층은 동일한 원래의 쿼리들(Q), 원래의 키들(K) 및 원래의 값들(V)을 수신하는 상기 동일한 어텐션 서브-계층 내의 각각의 어텐션 계층을 갖는 h개의 다른 어텐션 계층을 포함한다.
각 어텐션 계층은 학습된 선형 변환을 사용하여 원래의 쿼리들, 키들 및 값들을 변환 한 다음 어텐션 메커니즘(230)을 상기 변환된 쿼리들, 키들 및 값들에 적용하도록 구성된다. 각 어텐션 계층은 일반적으로 동일한 어텐션 서브-계층에서 서로 다른 어텐션 계층과 상이한 변환을 학습할 것이다.
특히, 각 어텐션 계층은 학습된 쿼리 선형 변환을 각 원래의 쿼리에 적용하여 각 원래의 쿼리에 대해 계층-특정 쿼리를 생성하고, 학습된 키 선형 변환을 각 원래의 키에 적용하여 각 원래의 키에 대한 계층-특정 키를 생성하며, 학습된 값 선형 변환을 각 원래의 값에 적용하여 각 원래의 값에 대한 계층-특정 값을 생성한다. 그런 다음 어텐션 계층은 이들 계층-특정 쿼리들, 키들 및 값들을 사용하여 위에서 설명한 어텐션 메커니즘을 적용하여 어텐션 계층에 대한 초기 출력을 생성한다.
그 후, 어텐션 서브-계층은 어텐션 계층들의 초기 출력을 결합하여 어텐션 서브-계층의 최종 출력을 생성한다. 도 2에 도시된 바와 같이, 어텐션 서브-계층은 어텐션 계층들의 출력을 연결(concat)하고, 그 연결된 출력에 학습된 선형 변환을 적용하여 어텐션 서브-계층의 출력을 생성한다.
일부 경우, 어텐션 서브-계층에 의해 적용된 상기 학습된 변환은 원래의 키들과 값들 및 선택적으로 쿼리들의 차원을 감소시킨다. 예를 들어, 원래의 키, 값 및 쿼리의 차원수가 d이고 서브-계층에 h개의 어텐션 계층이 있는 경우, 서브-계층은 원래의 키, 값 및 쿼리의 차원을 d/h로 줄일 수 있다. 이는 동시에 어텐션 서브-계층의 대표 용량을 증가시키면서 상기 멀티-헤드 어텐션 메커니즘의 계산 비용을 전체 차원으로 한번 어텐션 메커니즘을 수행하는데 드는 비용과 유사하게 유지시킨다.
각 어텐션 서브-계층에 의해 적용된 어텐션 메커니즘은 동일하지만, 퀴리, 키 및 값은 어텐션 유형별로 다르다. 즉, 상이한 유형의 어텐션 서브-계층은 어텐션 서브-계층에 의해 입력으로서 수신된 원래의 쿼리, 키 및 값에 대해 상이한 소스를 사용한다.
특히, 어텐션 서브-계층이 인코더 셀프-어텐션 서브-계층인 경우, 모든 키, 값 및 쿼리는 동일한 장소(place), 이 경우 인코더의 이전 서브네트워크의 출력으로부터 나오거나, 제1 서브네트워크의 인코더 셀프-어텐션 서브-계층에 대해, 인코더의 각각의 위치 및 입력의 임베딩은 입력 순서의 모든 위치에 적용(attend)될 수 있다. 따라서, 입력 순서에서 각 위치에 대해 개별 키, 값 및 쿼리가 있다.
어텐션 서브-계층이 디코더 셀프-어텐션 서브-계층인 경우, 디코더의 각 위치는 그 위치에 선행하는 디코더의 모든 위치에 적용된다. 따라서, 모든 키, 값 및 쿼리는 동일한 장소, 이 경우 디코더의 이전 서브네트워크의 출력, 또는 제1 디코더 서브네트워크의 디코더 셀프-어텐션 서브-계층에 대해, 이미 생성된 출력의 임베딩으로부터 나온다. 따라서 현재 위치 이전의 출력 순서에서 각 위치에 대한 개별 키, 값 및 쿼리가 있다.
어텐션 서브-계층이 인코더-디코더 어텐션 서브-계층일 때, 쿼리들은 디코더의 이전 구성 요소로부터 나오고, 키들과 값들은 인코더의 출력, 즉 인코더에 의해 생성된 인코딩된 표현으로부터 나온다. 이렇게 하면 디코더의 모든 위치가 입력 시퀀스의 모든 위치에 적용할 수 있다. 따라서, 현재 위치 이전의 출력 순서에서 각각의 위치에 대한 개별 쿼리와 입력 순서의 각 위치에 대한 개별 키 및 개별 값이 있다.
보다 상세하게는, 어텐션 서브-계층이 인코더 셀프-어텐션 서브-계층인 경우, 입력 순서의 각각의 특정 입력 위치에 대해, 인코더 셀프-어텐션 서브-계층은 특정 입력 위치에서 상기 인코더 서브 네트워크 입력으로부터 도출된 하나 이상의 쿼리를 사용하여 입력 위치에서 인코더 서브 네트워크 입력에 대해 어텐션 메커니즘을 적용하여, 특정 입력 위치에 대한 개별 출력을 생성하도록 구성된다.
인코더 셀프-어텐션 서브-계층이 멀티-헤드 어텐션을 구현할 때, 인코더 셀프-어텐션 서브-계층 내의 각 인코더 셀프-어텐션 계층은, 학습된 쿼리 선형 변환을 각 입력 위치에서 각 인코더 서브 네트워크 입력에 적용하여 각 입력 위치에 대한 개별 쿼리를 생성하고, 각 입력 위치에서 각 인코더 서브 네트워크 입력에 학습 된 키 선형 변환을 적용하여 각 입력 위치에 대한 개별 키를 생성하고, 학습된 값 선형 변환을 각 입력 위치에서 각 인코더 서브 네트워크 입력에 적용하여 각 입력 위치에 대한 개별 값을 생성하고, 그런 다음 쿼리들, 키들 및 값들을 사용하여 어텐션 메커니즘(즉, 전술한 스케일링된 내적 어텐션 메커니즘)을 적용하여 각 입력 위치에 대한 초기 인코더 셀프-어텐션 출력을 결정하도록 구성된다. 그런 다음 서브-계층은 위에서 설명한 것처럼 어텐션 계층들의 초기 출력을 결합한다.
어텐션 서브-계층이 디코더 셀프-어텐션 서브-계층인 경우, 디코더 셀프-어텐션 서브-계층은 각 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 각 출력 위치에 대한 입력을 수신하고, 특정 출력 위치들 각각에 대해, 상기 특정 출력 위치에서 입력으로부터 유도된 하나 이상의 쿼리를 사용하여 상기 대응하는 위치에 선행하는 출력 위치에서 상기 입력에 대해 어텐션 메커니즘을 적용하여 상기 특정 출력 위치에 대한 업데이트된 표현을 생성하도록 구성된다.
디코더 셀프-어텐션 서브-계층이 멀티-헤드 어텐션을 구현하는 경우, 디코더 셀프-어텐션 서브-계층 내의 각 어텐션 계층은, 각 생성 시간 스텝에서, 학습된 쿼리 선형 변환을 상기 대응하는 출력 위치에 선행하는 각 출력 위치에서 상기 입력에 적용하여 각 출력 위치에 대한 개별 쿼리를 생성하고, 학습된 키 선형 변환을 상기 대응하는 출력 위치에 선행하는 각각의 출력 위치에서 각 입력에 적용하여 각 출력 위치에 대한 개별 키를 생성하고, 학습된 값 선형 변환을 상기 대응하는 출력 위치에 선행하는 각 출력 위치에서 각 입력에 적용하여 각 출력 위치에 대한 개별 값을 생성하고, 그런 다음 쿼리들, 키들 및 값들을 사용하여 어텐션 메커니즘(즉, 전술한 스케일링된 내적 어텐션 메커니즘)을 적용하여 출력 위치들 각각에 대한 초기 디코더 셀프-어텐션 출력을 결정하도록 구성된다. 그런 다음 서브-계층은 전술한 바와 같이 어텐션 계층들의 초기 출력을 결합한다.
어텐션 서브-계층이 인코더-디코더 어텐션 서브-계층인 경우, 인코더-디코더 어텐션 서브-계층은 각 생성 시간 스텝에서, 대응하는 출력 위치에 선행하는 각 출력 위치에 대한 입력을 수신하고, 출력 위치들 각각에 대해, 상기 출력 위치에 대한 입력으로부터 유도된 하나 이상의 쿼리를 사용하여 입력 위치들에서 상기 인코딩된 표현들에 대해 어텐션 메커니즘을 적용하여 상기 출력 위치에 대한 업데이트된 표현을 생성하도록 구성된다.
인코더-디코더 어텐션 서브-계층이 멀티-헤드 어텐션을 구현하는 경우, 각 어텐션 계층은 각 생성 시간 스텝에서, 학습된 쿼리 선형 변환을 상기 대응하는 출력 위치에 선행하는 각 출력 위치에서 상기 입력에 적용하여 각 출력 위치에 대한 개별 쿼리를 생성하고, 학습된 키 선형 변환을 각 입력 위치에서 각 인코딩된 표현에 적용하여 각 입력 위치에 대한 개별 키를 생성하고, 학습된 값 선형 변환을 각 입력 위치에서 각 인코딩된 표현에 적용하여 각 입력 위치에 대한 개별 값을 생성하고, 그런 다음 쿼리들, 키들 및 값들을 사용하여 어텐션 메커니즘(즉, 전술한 스케일링된 내적 어텐션 메커니즘)을 적용하여 각 입력 위치에 대한 초기 인코더-디코더 어텐션 출력을 결정하도록 구성된다. 그런 다음 서브-계층은 위에서 설명한 것처럼 어텐션 계층들의 초기 출력을 결합한다.
도 3은 입력 시퀀스로부터 출력 시퀀스를 생성하기 위한 예시적인 프로세스의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 신경망 시스템, 예를 들어 본 명세서에 따라 적절히 프로그램된 도 1의 신경망 시스템(100)은 프로세스(300)를 수행할 수 있다.
시스템은 입력 시퀀스를 수신한다(단계 310).
*시스템은 인코더 신경망를 사용하여 입력 시퀀스를 처리하여, 입력 시퀀스에서 네트워크 입력들 각각의 개별 인코딩된 표현을 생성한다(단계 320). 특히, 시스템은 임베딩 계층을 통해 입력 시퀀스를 처리하여 각 네트워크 입력의 임베딩 표현을 생성한 다음, 인코더 서브네트워크의 시퀀스를 통해 상기 임베딩된 표현을 처리하여 네트워크 입력의 인코딩된 표현을 생성한다.
시스템은 디코더 신경망를 사용하여 상기 인코딩된 표현을 처리하여 출력 시퀀스를 생성한다(단계 330). 디코더 신경망은 자동-회귀 방식으로 상기 인코딩된 표현으로부터 출력 시퀀스를 생성하도록 구성된다. 즉, 디코더 신경망은 각 생성 시간 스텝에서 상기 출력 시퀀스로부터 하나의 출력을 생성한다. 주어진 출력이 생성되는 주어진 생성 시간 스텝에서, 시스템은 디코더의 임베딩 계층을 통해 상기 출력 시퀀스의 주어진 출력 전의 출력들을 처리하여 임베딩된 표현을 생성한다. 그런 다음 시스템은 디코더 서브네트워크의 시퀀스, 선형 계층 및 소프트맥스 계층을 통해 상기 임베딩된 표현을 처리하여 상기 주어진 출력을 생성한다. 디코더 서브네트워크는 디코더 셀프-어텐션 서브-계층뿐만 아니라 인코더-디코더 어텐션 서브-계층을 포함하기 때문에, 디코더는 상기 주어진 출력을 생성할 때 이미 생성된 출력 및 상기 인코딩된 표현 모두를 사용한다.
시스템은 원하는 출력, 즉 입력 시퀀스에 대해 시스템에 의해 생성되어야 하는 출력 시퀀스가 알려지지 않은 입력 시퀀스에 대해 프로세스(300)를 수행할 수 있다.
시스템은 또한 트레이닝 데이터의 세트, 즉 시스템에 의해 생성되어야 하는 출력 시퀀스가 알려진 입력 세트에서 입력 시퀀스에 대해 프로세스(300)를 수행하여, 인코더 및 디코더를 트레이닝하여 인코더와 디코더의 파라미터에 대해 트레이닝된 값들을 결정할 수 있다. 프로세스(300)는 초기 신경망 계층들을 트레이닝하기 위한 종래의 머신 학습 트레이닝 기술(예를 들어 Adam 최적화기(optimizer)와 같은 종래의 최적화기)를 사용하는 역전파 트레이닝 기술을 이용한 기울기 강하의 일부로서 트레이닝 데이터의 세트로부터 선택된 입력들에 대해 반복적으로 수행될 수 있다. 트레이닝 도중에 시스템은 속도, 효과 또는 둘 모두의 트레이닝 프로세스를 개선하기 위해 여러 가지 기술을 통합할 수 있다. 예를 들어, 시스템은 초과 결합을 줄이기 위해 드롭아웃(dropout), 레이블 스무딩(label smoothing) 또는 둘 다를 사용할 수 있다. 다른 예로서, 시스템은 병렬로 시퀀스 변환 신경망의 다수의 인스턴스를 트레이닝하는 분산 아키텍처를 사용하여 트레이닝을 수행할 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 구성 요소와 관련하여 "구성된(configured)"이라는 용어를 사용한다. 특정 동작들 또는 액션들을 수행하도록 구성된 하나 이상의 컴퓨터의 시스템은, 동작시 시스템으로 하여금 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 시스템이 소프트웨어상에 설치했음을 의미한다. 특정 동작들 또는 액션들을 수행하도록 구성된 하나 이상의 컴퓨터 프로그램은, 하나 이상의 프로그램이 상기 데이터 처리 장치에 의해 실행될 때 상기 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령들을 포함함을 의미한다.
본 명세서에서 설명된 주제 및 기능적 동작들의 실시예는 본 명세서 및 그 구조적 등가물에 개시된 구조들 및 그들의 하나 이상의 조합을 포함하여, 디지털 전자 회로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어로 구현될 수 있다. 본 명세서에서 설명된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위한 유형의 비 일시적 저장 매체상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령들은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하기 위해 생성되는, 인위적으로 생성된 전파된 신호, 예를 들어, 기계-생성의 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 지칭하며, 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서 또는 컴퓨터를 포함하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 상기 장치는 또한 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)일 수 있거나, 포함할 수 있다. 상기 장치는 하드웨어 이외에, 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 하나 이상의 이들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 기술될 수 있는 컴퓨터 프로그램은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립 실행형 프로그램 또는 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하여 임의의 형태로 배포될 수 있다. 프로그램은 파일 시스템의 파일에 해당할 수도 있지만 그렇지 않을 수도 있다. 프로그램은 다른 프로그램이나 데이터(예컨대, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하고 있는 파일의 일부분, 문제의 프로그램 전용의 단일 파일 또는 다수의 조정 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있으며 데이터 통신 네트워크로 상호 연결된 다수의 컴퓨터상에서 실행되도록 배포될 수 있다.
본 명세서에서, "데이터베이스"라는 용어는 임의의 데이터 수집을 나타내기 위해 광범위하게 사용되고, 데이터는 임의의 특정 방식으로 구조화되거나 전혀 구조화될 필요가 없으며 하나 이상의 위치에 있는 저장 디바이스에 저장될 수 있다. 따라서, 예를 들어, 색인 데이터베이스는 다수의 데이터 집합(collection)을 포함할 수 있으며, 각각의 집합은 다르게 구성되고 액세스될 수 있다.
유사하게, 본 명세서에서, "엔진"이라는 용어는 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브 시스템, 또는 프로세스를 지칭하도록 광범위하게 사용된다. 일반적으로 엔진은 하나 이상의 소프트웨어 모듈 또는 구성 요소로 구현되며 하나 이상의 위치에 있는 하나 이상의 컴퓨터상에 설치된다. 일부 경우, 하나 이상의 컴퓨터는 특정 엔진 전용으로 사용되고, 다른 경우에는 다수의 엔진이 동일한 컴퓨터 또는 컴퓨터들상에 설치되어 실행될 수 있다.
본 명세서에서 설명된 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA 또는 ASIC에 의해, 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 범용 또는 특수 목적 마이크로 프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성 요소는 명령을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 중앙 처리 장치 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 또는 그 안에 통합될 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스((예를 들어, 자기, 광 자기 디스크 또는 광 디스크)로부터 데이터를 수신하거나 전송하거나 둘 모두를 하기 위해 동작 가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 있을 필요가 없다. 더욱이, 컴퓨터는 다른 디바이스, 예를 들어 이동 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플계층, 게임 콘솔, 위성 위치 확인 시스템(GPS) 수신기 또는 휴대용 저장 디바이스(예컨대, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(예컨대, 내부 하드 디스크 또는 이동식 디스크); 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호 작용을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백 일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고 받음으로써, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다. 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 개인용 디바이스(예를 들어, 메시징 애플리케이션을 실행중인 스마트 폰)에 송신하고 사용자로부터 응답 메시지를 수신함으로써 사용자와 상호 작용할 수 있다.
기계 학습 모델을 구현하기 위한 데이터 처리 장치는 또한 예를 들어, 기계 학습 훈련 또는 생산, 즉 추론, 작업 부하의 공통적이고 계산 집중적인 부분을 처리하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
기계 학습 모델은 텐서플로우(TensorFlow) 프레임 워크, Microsoft Cognitive Toolkit 프레임 워크, Apache Singa 프레임 워크 또는 Apache MXNet 프레임 워크와 같은 기계 학습 프레임 워크를 사용하여 구현 및 배포될 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 LAN(local area network) 및 WAN(wide area network) 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는 예를 들어, 클라이언트로서 동작하는 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위해 데이터, 예컨대 HTML 페이지를 사용자 디바이스로 전송한다. 사용자 디바이스에서 생성된 데이터, 예를 들어 사용자 상호 작용의 결과는 디바이스로부터 서버에서 수신될 수 있다.
본 명세서는 많은 특정 구현 세부 내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정적일 수 있는 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정 순서로 도면에 도시되고 청구항들에 인용되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 순서 또는 시계열적 순서로 수행되거나 모든 도시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 처리가 유리할 수 있다. 게다가, 상술된 실시예에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있음을 이해해야 한다.
주제의 특정 실시예들이 설명되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 예를 들면, 청구항들에 인용된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과를 달성할 수 있다. 일 예시로서, 첨부 도면들에 도시된 프로세스들은 원하는 결과를 달성하기 위해 도시된 특정 순서 또는 시계열적 순서를 반드시 필요로 하지는 않는다. 어떤 경우에는, 멀티태스킹 및 병렬 처리가 유리할 수 있다.
Claims (20)
- 하나 이상의 컴퓨터 및 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 컴퓨터로 하여금 입력 순서로 복수의 입력 위치 각각에서 개별 네트워크 입력을 갖는 입력 시퀀스를 처리함으로써 네트워크 출력을 생성하는 신경망을 구현하게 하는 명령을 저장하는 하나 이상의 저장 디바이스를 포함하는 시스템으로서, 상기 신경망은:
입력 시퀀스를 수신하여 그 입력 시퀀스에서 네트워크 입력들 각각의 개별 인코딩된 표현을 생성하도록 구성된 제1 신경망과, 상기 제1 신경망은 하나 이상의 서브 네트워크의 시퀀스를 포함하고, 각 서브 네트워크는 복수의 입력 위치 각각에 대한 개별 서브 네트워크 입력을 수신하여 복수의 입력 위치 각각에 대한 개별 서브 네트워크 출력을 생성하도록 구성되고, 각 서브 네트워크는,
복수의 입력 위치 각각에 대한 서브 네트워크 입력을 수신하여, 입력 순서로 각 특정 입력 위치에 대해:
복수의 입력 위치에서 서브 네트워크 입력들에 대해 셀프-어텐션(self-attention) 메커니즘을 적용하여 특정 입력 위치에 대한 개별 출력을 생성하도록 구성된 셀프-어텐션 서브 계층을 포함하고, 상기 셀프-어텐션 메커니즘을 적용하는 것은 특정 입력 위치에서 서브 네트워크 입력들로부터 쿼리를 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 키들을 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 값들을 결정하고, 결정된 쿼리, 키들 및 값들을 사용하여 특정 입력 위치에 대한 개별 출력을 생성하는 것을 포함하고; 그리고
제1 신경망에 의해 생성된 인코딩된 표현들을 수신하고 그 인코딩된 표현들을 처리하여 네트워크 출력을 생성하도록 구성된 하나 이상의 신경망 계층을 포함하는 제2 신경망을 포함하는 것을 특징으로 하는 시스템. - 제1항에 있어서,
상기 제1 신경망은,
임베딩 계층을 더 포함하여,
입력 시퀀스에서 각 네트워크 입력에 대해,
네트워크 입력을 그 네트워크 입력의 임베딩된 표현에 매핑하고, 그리고
네트워크 입력의 임베딩된 표현을 입력 순서로 네트워크 입력의 입력 위치의 위치 임베딩(positional embedding)과 결합하여 네트워크 입력의 결합된 임베딩된 표현을 생성하고; 그리고
네트워크 입력들의 결합된 임베딩된 표현들을 제1 신경망의 서브 네트워크들의 시퀀스에서 제1 서브 네트워크에 대한 서브 네트워크 입력들로서 제공하도록 구성되는 것을 특징으로 하는 시스템. - 제1항에 있어서,
상기 네트워크 입력들의 개별 인코딩된 표현들은,
시퀀스에서 마지막 서브 네트워크에 의해 생성된 서브 네트워크 출력들인 것을 특징으로 하는 시스템. - 제1항에 있어서,
상기 하나 이상의 서브 네트워크의 시퀀스는 적어도 2개의 서브 네트워크를 포함하고, 그리고 시퀀스에서 제1 서브 네트워크를 이외의 각 서브 네트워크에 대해, 상기 서브 네트워크 입력은 시퀀스에서 선행 서브 네트워크의 서브 네트워크 출력인 것을 특징으로 하는 시스템. - 제1항에 있어서,
상기 서브 네트워크들 중 적어도 하나는,
위치별(position-wise) 피드 포워드 계층을 더 포함하여,
각 입력 위치에 대해:
입력 위치에서 입력을 수신하고, 그리고
위해 입력 위치에서 입력에 변환 시퀀스를 적용하여 입력 위치에 대한 출력을 생성하도록 구성되는 것을 특징으로 하는 시스템. - 제5항에 있어서,
상기 변환 시퀀스는 활성화 함수에 의해 분리된 시퀀스 변환 신경망의 트레이닝 동안 조정된 2개의 선형 변환을 포함하는 것을 특징으로 하는 시스템. - 제5항에 있어서,
상기 적어도 하나의 서브 네트워크는,
위치별 피드 포워드 계층의 출력들을 그 위치별 피드 포워드 계층에 대한 입력들과 결합하여 위치별 잔여 출력을 생성하는 잔여 연결 계층과, 그리고
위치별 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 더 포함하는 것을 특징으로 하는 시스템. - 제1항에 있어서,
각 서브 네트워크는,
셀프-어텐션 서브-계층의 출력들을 그 셀프-어텐션 서브 계층에 대한 입력들과 결합하여 셀프-어텐션 잔여 출력을 생성하는 잔여 연결 계층과, 그리고
셀프-어텐션 잔여 출력에 계층 정규화를 적용하는 계층 정규화 계층을 더 포함하는 것을 특징으로 하는 시스템. - 제1항에 있어서,
각 셀프-어텐션 서브 계층은 복수의 셀프-어텐션 계층을 포함하는 것을 특징으로 하는 시스템. - 제9항에 있어서,
각 셀프-어텐션 계층은,
학습된 쿼리 선형 변환을 각 입력 위치에서 각 서브 네트워크 입력에 적용하여 각 입력 위치에 대한 개별 쿼리를 생성하고,
학습된 키 선형 변환을 각 입력 위치에서 각 서브 네트워크 입력에 적용하여 각 입력 위치에 대한 개별 키를 생성하고,
학습된 값 선형 변환을 각 입력 위치에서 각 서브 네트워크 입력에 적용하여 각 입력 위치에 대한 개별 값을 생성하고, 그리고
각 입력 위치에 대해,
입력 위치에 대한 쿼리와 복수의 입력 위치에 대해 생성된 키들 사이에 비교 함수를 적용함으로써 입력 위치에 대한 개별 입력-위치 특정 가중치를 결정하고, 그리고
복수의 입력 위치에 대한 대응하는 입력-위치 특정 가중치에 의해 가중된 값들의 가중치 합을 결정함으로써 입력 위치에 대한 초기 셀프-어텐션 출력을 결정하도록 구성되고, 상기 값들은 복수의 입력 위치에 대해 생성되는 것을 특징으로 하는 시스템. - 제10항에 있어서,
상기 셀프-어텐션 서브 계층은,
각 입력 위치에 대해, 셀프-어텐션 계층들에 의해 생성된 입력 위치에 대한 초기 셀프-어텐션 출력들을 결합하여 셀프-어텐션 서브 계층에 대한 출력을 생성하도록 구성되는 것을 특징으로 하는 시스템. - 제9항에 있어서,
상기 셀프-어텐션 계층들은 병렬로 작동하는 것을 특징으로 하는 시스템. - 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 컴퓨터로 하여금 입력 순서로 복수의 입력 위치 각각에서 개별 네트워크 입력을 갖는 입력 시퀀스를 처리함으로써 네트워크 출력을 생성하는 신경망을 구현하게 하는 명령을 저장하는 하나 이상의 비-일시적 컴퓨터 저장 매체로서, 상기 신경망은:
입력 시퀀스를 수신하여 그 입력 시퀀스에서 네트워크 입력들 각각의 개별 인코딩된 표현을 생성하도록 구성된 제1 신경망과, 상기 제1 신경망은 하나 이상의 서브 네트워크의 시퀀스를 포함하고, 각 서브 네트워크는 복수의 입력 위치 각각에 대한 개별 서브 네트워크 입력을 수신하여 복수의 입력 위치 각각에 대한 개별 서브 네트워크 출력을 생성하도록 구성되고, 각 서브 네트워크는,
복수의 입력 위치 각각에 대한 서브 네트워크 입력을 수신하여, 입력 순서로 각 특정 입력 위치에 대해:
복수의 입력 위치에서 서브 네트워크 입력들에 대해 셀프-어텐션 메커니즘을 적용하여 특정 입력 위치에 대한 개별 출력을 생성하도록 구성된 셀프-어텐션 서브 계층을 포함하고, 상기 셀프-어텐션 메커니즘을 적용하는 것은 특정 입력 위치에서 서브 네트워크 입력들로부터 쿼리를 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 키들을 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 값들을 결정하고, 결정된 쿼리, 키들 및 값들을 사용하여 특정 입력 위치에 대한 개별 출력을 생성하는 것을 포함하고; 그리고
제1 신경망에 의해 생성된 인코딩된 표현들을 수신하고 그 인코딩된 표현들을 처리하여 네트워크 출력을 생성하도록 구성된 하나 이상의 신경망 계층을 포함하는 제2 신경망을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체. - 제13항에 있어서,
상기 제1 신경망은,
임베딩 계층을 더 포함하여,
입력 시퀀스에서 각 네트워크 입력에 대해,
네트워크 입력을 그 네트워크 입력의 임베딩된 표현에 매핑하고, 그리고
네트워크 입력의 임베딩된 표현을 입력 순서로 네트워크 입력의 입력 위치의 위치 임베딩과 결합하여 네트워크 입력의 결합된 임베딩된 표현을 생성하고; 그리고
네트워크 입력들의 결합된 임베딩된 표현들을 제1 신경망의 서브 네트워크들의 시퀀스에서 제1 서브 네트워크에 대한 서브 네트워크 입력들로서 제공하도록 구성되는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체. - 제13항에 있어서,
상기 네트워크 입력들의 개별 인코딩된 표현들은,
시퀀스에서 마지막 서브 네트워크에 의해 생성된 서브 네트워크 출력들인 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체. - 제13항에 있어서,
상기 하나 이상의 서브 네트워크의 시퀀스는 적어도 2개의 서브 네트워크를 포함하고, 그리고 시퀀스에서 제1 서브 네트워크를 이외의 각 서브 네트워크에 대해, 상기 서브 네트워크 입력은 시퀀스에서 선행 서브 네트워크의 서브 네트워크 출력인 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체. - 방법으로서,
입력 순서로 복수의 입력 위치 각각에서 개별 입력을 갖는 입력 시퀀스를 수신하는 단계와;
제1 신경망을 통해 입력 시퀀스를 처리하여 입력 시퀀스에서 각 입력의 개별 인코딩된 표현을 생성하는 단계와, 상기 제1 신경망은 하나 이상의 서브 네트워크의 시퀀스를 포함하고, 각 서브 네트워크는 복수의 입력 위치 각각에 대한 개별 서브 네트워크 입력을 수신하여 복수의 입력 위치 각각에 대한 개별 서브 네트워크 출력을 생성하도록 구성되고, 각 서브 네트워크는,
복수의 입력 위치 각각에 대한 서브 네트워크 입력을 수신하여, 입력 순서로 각 특정 입력 위치에 대해:
복수의 입력 위치에서 서브 네트워크 입력들에 대해 셀프-어텐션 메커니즘을 적용하여 특정 입력 위치에 대한 개별 출력을 생성하도록 구성된 셀프-어텐션 서브 계층을 포함하고, 상기 셀프-어텐션 메커니즘을 적용하는 것은 특정 입력 위치에서 서브 네트워크 입력들로부터 쿼리를 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 키들을 결정하고, 복수의 입력 위치에서 서브 네트워크 입력들로부터 도출된 값들을 결정하고, 결정된 쿼리, 키들 및 값들을 사용하여 특정 입력 위치에 대한 개별 출력을 생성하는 것을 포함하고; 그리고
제2 신경망을 통해 인코딩된 표현들을 처리하여 네트워크 출력을 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 제1 신경망은,
임베딩 계층을 더 포함하여,
입력 시퀀스에서 각 네트워크 입력에 대해,
네트워크 입력을 그 네트워크 입력의 임베딩된 표현에 매핑하고, 그리고
네트워크 입력의 임베딩된 표현을 입력 순서로 네트워크 입력의 입력 위치의 위치 임베딩과 결합하여 네트워크 입력의 결합된 임베딩된 표현을 생성하고; 그리고
네트워크 입력들의 결합된 임베딩된 표현들을 제1 신경망의 서브 네트워크들의 시퀀스에서 제1 서브 네트워크에 대한 서브 네트워크 입력들로서 제공하도록 구성되는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 네트워크 입력들의 개별 인코딩된 표현들은,
시퀀스에서 마지막 서브 네트워크에 의해 생성된 서브 네트워크 출력들인 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 하나 이상의 서브 네트워크의 시퀀스는 적어도 2개의 서브 네트워크를 포함하고, 그리고 시퀀스에서 제1 서브 네트워크를 이외의 각 서브 네트워크에 대해, 상기 서브 네트워크 입력은 시퀀스에서 선행 서브 네트워크의 서브 네트워크 출력인 것을 특징으로 하는 방법.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762510256P | 2017-05-23 | 2017-05-23 | |
US62/510,256 | 2017-05-23 | ||
US201762541594P | 2017-08-04 | 2017-08-04 | |
US62/541,594 | 2017-08-04 | ||
KR1020197019186A KR102180002B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
PCT/US2018/034224 WO2018217948A1 (en) | 2017-05-23 | 2018-05-23 | Attention-based sequence transduction neural networks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197019186A Division KR102180002B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200129198A KR20200129198A (ko) | 2020-11-17 |
KR102486348B1 true KR102486348B1 (ko) | 2023-01-09 |
Family
ID=62873574
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197019186A KR102180002B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020237035690A KR20230151047A (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020207032481A KR102448389B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020207032482A KR102486348B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020227033030A KR102592677B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197019186A KR102180002B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020237035690A KR20230151047A (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
KR1020207032481A KR102448389B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227033030A KR102592677B1 (ko) | 2017-05-23 | 2018-05-23 | 어텐션-기반의 시퀀스 변환 신경망 |
Country Status (12)
Country | Link |
---|---|
US (8) | US10452978B2 (ko) |
EP (7) | EP4156033A1 (ko) |
JP (5) | JP6884871B2 (ko) |
KR (5) | KR102180002B1 (ko) |
CN (1) | CN110192206A (ko) |
AU (5) | AU2018271931B2 (ko) |
BR (1) | BR112019014822B1 (ko) |
CA (3) | CA3144657C (ko) |
ES (1) | ES2934313T3 (ko) |
PL (1) | PL3542316T3 (ko) |
RU (2) | RU2021116658A (ko) |
WO (1) | WO2018217948A1 (ko) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2021116658A (ru) | 2017-05-23 | 2021-07-05 | ГУГЛ ЭлЭлСи | Нейронные сети с преобразованием последовательности на основе внимания |
US11205121B2 (en) * | 2018-06-20 | 2021-12-21 | Disney Enterprises, Inc. | Efficient encoding and decoding sequences using variational autoencoders |
US11138392B2 (en) | 2018-07-26 | 2021-10-05 | Google Llc | Machine translation using neural network models |
US11295739B2 (en) * | 2018-08-23 | 2022-04-05 | Google Llc | Key phrase spotting |
KR20200067632A (ko) * | 2018-12-04 | 2020-06-12 | 삼성전자주식회사 | 뉴럴 네트워크를 구동하기 위한 메모리 공간을 할당하는 방법 및 장치 |
CN109558605B (zh) * | 2018-12-17 | 2022-06-10 | 北京百度网讯科技有限公司 | 用于翻译语句的方法和装置 |
KR102699828B1 (ko) * | 2018-12-18 | 2024-08-29 | 삼성전자주식회사 | 어텐션 모델과 하이퍼네트워크를 이용한 기계 번역 방법 및 장치 |
CN109740169B (zh) * | 2019-01-09 | 2020-10-13 | 北京邮电大学 | 一种基于词典和seq2seq预训练机制的中医古籍翻译方法 |
CN113383316B (zh) * | 2019-01-17 | 2022-11-25 | 维萨国际服务协会 | 用于学习程序语义的方法和设备 |
EP3690752A1 (en) * | 2019-01-31 | 2020-08-05 | Avatar Cognition Barcelona, SL | Fractal cognitive computing node and computer-implemented method for learning procedures |
CN109919358B (zh) * | 2019-01-31 | 2021-03-02 | 中国科学院软件研究所 | 一种基于神经网络时空注意力机制的实时站点流量预测方法 |
KR102254300B1 (ko) * | 2019-04-19 | 2021-05-21 | 한국과학기술원 | 토론 상황 시 발화된 주장에 대한 근거 문장 제공 엔진 |
CN110083770B (zh) * | 2019-04-29 | 2023-01-13 | 苏州市职业大学 | 一种基于特征层面更深的自注意力网络的序列推荐方法 |
CN112037776A (zh) * | 2019-05-16 | 2020-12-04 | 武汉Tcl集团工业研究院有限公司 | 一种语音识别方法、语音识别装置及终端设备 |
JP7357697B2 (ja) * | 2019-05-23 | 2023-10-06 | グーグル エルエルシー | 完全アテンション型コンピュータビジョン |
US11657277B2 (en) | 2019-05-23 | 2023-05-23 | Google Llc | Generating neural network outputs using insertion commands |
CN110175338B (zh) * | 2019-05-31 | 2023-09-26 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
US11908457B2 (en) * | 2019-07-03 | 2024-02-20 | Qualcomm Incorporated | Orthogonally constrained multi-head attention for speech tasks |
CN110321961A (zh) * | 2019-07-09 | 2019-10-11 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
JP7290507B2 (ja) * | 2019-08-06 | 2023-06-13 | 本田技研工業株式会社 | 情報処理装置、情報処理方法、認識モデルならびにプログラム |
US11600067B2 (en) * | 2019-09-12 | 2023-03-07 | Nec Corporation | Action recognition with high-order interaction through spatial-temporal object tracking |
US11663444B2 (en) | 2019-09-27 | 2023-05-30 | Microsoft Technology Licensing, Llc | Pipelined neural network processing with continuous and asynchronous updates |
KR20210043995A (ko) * | 2019-10-14 | 2021-04-22 | 삼성전자주식회사 | 모델 학습 방법 및 장치, 및 시퀀스 인식 방법 |
KR20210044056A (ko) | 2019-10-14 | 2021-04-22 | 삼성전자주식회사 | 중복 토큰 임베딩을 이용한 자연어 처리 방법 및 장치 |
CN112751686B (zh) * | 2019-10-29 | 2022-10-18 | 中国移动通信集团浙江有限公司 | 局数据脚本生成方法、装置、计算设备及计算机存储介质 |
US11246173B2 (en) | 2019-11-08 | 2022-02-08 | Huawei Technologies Co. Ltd. | Systems and methods for multi-user pairing in wireless communication networks |
WO2021097429A1 (en) * | 2019-11-15 | 2021-05-20 | Waymo Llc | Multi object tracking using memory attention |
KR102430918B1 (ko) * | 2019-11-15 | 2022-08-10 | 고려대학교 산학협력단 | 한국어 맞춤법 교정장치 및 방법 |
US11455656B2 (en) * | 2019-11-18 | 2022-09-27 | Walmart Apollo, Llc | Methods and apparatus for electronically providing item advertisement recommendations |
US11392984B2 (en) | 2019-11-20 | 2022-07-19 | Walmart Apollo, Llc | Methods and apparatus for automatically providing item advertisement recommendations |
KR102439165B1 (ko) * | 2019-11-26 | 2022-09-01 | 한국과학기술원 | 상식 지식과 언어학적 패턴을 이용한 서술문 신뢰도 평가 시스템 및 그 방법 |
KR102556096B1 (ko) | 2019-11-29 | 2023-07-18 | 한국전자통신연구원 | 이전 프레임의 정보를 사용한 오디오 신호 부호화/복호화 장치 및 방법 |
KR20210071471A (ko) * | 2019-12-06 | 2021-06-16 | 삼성전자주식회사 | 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법 |
CN111222343B (zh) * | 2019-12-06 | 2023-12-29 | 深圳市优必选科技股份有限公司 | 一种意图识别方法和意图识别装置 |
KR102436900B1 (ko) * | 2019-12-12 | 2022-08-26 | 서울대학교산학협력단 | 양방향 언어 모델을 이용한 문장 평가 방법 및 장치 |
CN111078825A (zh) * | 2019-12-20 | 2020-04-28 | 北京百度网讯科技有限公司 | 结构化处理方法、装置、计算机设备及介质 |
CN111079450B (zh) | 2019-12-20 | 2021-01-22 | 北京百度网讯科技有限公司 | 基于顺句驱动的语言转换方法和装置 |
CN111222562B (zh) * | 2020-01-02 | 2022-04-08 | 南京邮电大学 | 基于空间自注意力机制的目标检测方法 |
JP7438372B2 (ja) * | 2020-01-14 | 2024-02-26 | グーグル エルエルシー | クライアントデバイスによるコンピュータ資産のアクティビティ予測、プリフェッチ、およびプリロードのための方法およびシステム |
US20210248450A1 (en) * | 2020-02-07 | 2021-08-12 | Google Llc | Sorting attention neural networks |
US20210248473A1 (en) * | 2020-02-12 | 2021-08-12 | Google Llc | Attention neural networks with linear units |
US11386885B2 (en) | 2020-02-17 | 2022-07-12 | Wipro Limited | Method and system for detecting intent as an ordered sequence from a user query |
US20210279576A1 (en) * | 2020-03-03 | 2021-09-09 | Google Llc | Attention neural networks with talking heads attention |
CN111427932B (zh) * | 2020-04-02 | 2022-10-04 | 南方科技大学 | 出行预测方法、装置、设备和存储介质 |
US10909461B1 (en) * | 2020-05-08 | 2021-02-02 | Google Llc | Attention neural networks with locality-sensitive hashing |
CN113627135B (zh) * | 2020-05-08 | 2023-09-29 | 百度在线网络技术(北京)有限公司 | 一种招聘岗位描述文本的生成方法、装置、设备及介质 |
CN113627199A (zh) * | 2020-05-09 | 2021-11-09 | 阿里巴巴集团控股有限公司 | 一种机器翻译方法及其装置 |
US11806631B2 (en) * | 2020-05-11 | 2023-11-07 | Rovi Guides, Inc. | Gaming content recommendation for a video game |
KR20210145490A (ko) | 2020-05-25 | 2021-12-02 | 삼성전자주식회사 | 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치 |
CN111859927B (zh) * | 2020-06-01 | 2024-03-15 | 北京先声智能科技有限公司 | 一种基于注意力共享Transformer的语法改错模型 |
US20210390410A1 (en) * | 2020-06-12 | 2021-12-16 | Google Llc | Local self-attention computer vision neural networks |
CN111460126B (zh) * | 2020-06-12 | 2020-09-25 | 支付宝(杭州)信息技术有限公司 | 一种用于人机对话系统的回复生成方法、装置及电子设备 |
JP7357291B2 (ja) * | 2020-07-16 | 2023-10-06 | 日本電信電話株式会社 | 翻訳装置、翻訳方法及びプログラム |
CN111652357B (zh) * | 2020-08-10 | 2021-01-15 | 浙江大学 | 一种利用基于图的特定目标网络解决视频问答问题的方法及其系统 |
CN112016245A (zh) * | 2020-08-13 | 2020-12-01 | 五邑大学 | 基于自注意力变形网络的磁暴预测方法、装置及存储介质 |
US11983619B2 (en) * | 2020-08-14 | 2024-05-14 | Micron Technology, Inc. | Transformer neural network in memory |
US20220058489A1 (en) * | 2020-08-19 | 2022-02-24 | The Toronto-Dominion Bank | Two-headed attention fused autoencoder for context-aware recommendation |
CN115885289A (zh) * | 2020-09-16 | 2023-03-31 | 谷歌有限责任公司 | 利用全局自注意力神经网络对依赖性建模 |
JP7536574B2 (ja) | 2020-09-16 | 2024-08-20 | キオクシア株式会社 | 演算デバイス、計算機システム、及び演算方法 |
CN112347104B (zh) * | 2020-11-06 | 2023-09-29 | 中国人民大学 | 一种基于深度强化学习的列存储布局优化方法 |
CN112580822B (zh) * | 2020-12-16 | 2023-10-17 | 北京百度网讯科技有限公司 | 机器学习模型的对抗训练方法装置、电子设备和介质 |
CN112580361A (zh) * | 2020-12-18 | 2021-03-30 | 蓝舰信息科技南京有限公司 | 基于统一注意力机制的公式及文字识别模型方法 |
CN112508625B (zh) * | 2020-12-18 | 2022-10-21 | 国网河南省电力公司经济技术研究院 | 基于多分枝残差注意力网络的智能稽查建模方法 |
US11741967B2 (en) | 2021-01-04 | 2023-08-29 | Kwai Inc. | Systems and methods for automatic speech recognition based on graphics processing units |
EP4030355A1 (en) | 2021-01-14 | 2022-07-20 | Naver Corporation | Neural reasoning path retrieval for multi-hop text comprehension |
KR102628947B1 (ko) * | 2021-02-02 | 2024-01-23 | 숙명여자대학교산학협력단 | 반응 데이터를 예측하는 시스템 및 그 제어방법 |
US11755973B2 (en) * | 2021-02-12 | 2023-09-12 | Accenture Global Solutions Limited | System and method for intelligent contract guidance |
CN112966626A (zh) * | 2021-03-16 | 2021-06-15 | 三星(中国)半导体有限公司 | 人脸识别方法和装置 |
US12002453B2 (en) | 2021-03-25 | 2024-06-04 | Beijing Transtreams Technology Co. Ltd. | Methods and devices for irregular pruning for automatic speech recognition |
CN117157635A (zh) | 2021-04-14 | 2023-12-01 | 三菱电机株式会社 | 学习装置、推理装置、程序、学习方法和推理方法 |
CN113095431B (zh) * | 2021-04-27 | 2023-08-18 | 中山大学 | 一种基于注意力机制的图像描述方法、系统及装置 |
KR102589164B1 (ko) * | 2021-05-25 | 2023-10-13 | 한국과학기술원 | 협업 작업에서 시간적 관계를 활용한 트랜스포머 기반 활동 예측 방법 |
WO2022250063A1 (ja) | 2021-05-26 | 2022-12-01 | キヤノン株式会社 | 顔認証を行う画像処理装置および画像処理方法 |
CN113393025A (zh) * | 2021-06-07 | 2021-09-14 | 浙江大学 | 一种基于Informer模型编码结构的非侵入式负荷分解方法 |
CN113705323B (zh) * | 2021-06-15 | 2022-09-09 | 腾讯医疗健康(深圳)有限公司 | 图像识别方法、装置、设备以及存储介质 |
CN113379164B (zh) * | 2021-07-16 | 2024-03-26 | 国网江苏省电力有限公司苏州供电分公司 | 基于深度自注意力网络的负荷预测方法及系统 |
KR20230022005A (ko) * | 2021-08-06 | 2023-02-14 | 주식회사 제이엘케이바이오 | 화합물 정보 추출을 위한 장치 및 방법 |
KR102388599B1 (ko) * | 2021-08-24 | 2022-04-21 | (주)제로엑스플로우 | 텍스트 및 이미지를 활용한 문장 교정 장치 및 방법 |
CN113688640B (zh) * | 2021-08-30 | 2023-01-20 | 深译信息科技(珠海)有限公司 | 一种用于医学文档翻译的神经网络机器翻译方法 |
KR102610431B1 (ko) * | 2021-11-04 | 2023-12-06 | 연세대학교 산학협력단 | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 |
KR20230073630A (ko) * | 2021-11-19 | 2023-05-26 | 주식회사 제이엘케이바이오 | 화합물 최적화를 위한 장치 및 방법 |
KR102479817B1 (ko) * | 2021-11-25 | 2022-12-21 | 인하대학교 산학협력단 | 소규모 데이터세트를 위한 비전 트랜스포머 장치 및 그 동작 방법 |
KR102405828B1 (ko) * | 2021-12-03 | 2022-06-07 | 주식회사 대교씨엔에스 | 가우시안 혼합 모델을 이용한 클러스터링과 인공지능을 동시에 활용한 학습량 추천 방법 및 장치 |
KR102475316B1 (ko) * | 2021-12-03 | 2022-12-08 | (주)대교씨엔에스 | 복수의 은닉층들로 구성되는 딥러닝 기반의 인공지능을 이용한 학습량 추천 방법 및 장치 |
KR102405832B1 (ko) * | 2021-12-03 | 2022-06-07 | 주식회사 대교씨엔에스 | 통계적 분석과 딥러닝 기반의 인공지능을 동시에 활용한 학습량 추천 방법 및 장치 |
WO2023182987A1 (en) | 2022-03-23 | 2023-09-28 | Google Llc | Multi-resolution transformer for video quality assessment |
US20230325606A1 (en) * | 2022-04-11 | 2023-10-12 | AtomLeap GmbH | Method for extracting information from an unstructured data source |
WO2023211735A1 (en) | 2022-04-27 | 2023-11-02 | Google Llc | Rendering videos with novel views from near-duplicate photos |
WO2023211446A1 (en) | 2022-04-28 | 2023-11-02 | Google Llc | Modeling ambiguity in neural machine translation |
WO2023219275A1 (ko) * | 2022-05-09 | 2023-11-16 | 삼성전자 주식회사 | 영상 처리 장치 및 그 동작 방법 |
US20230370410A1 (en) | 2022-05-16 | 2023-11-16 | Google Llc | Email Summary and Completion Check |
CN114758032B (zh) | 2022-06-15 | 2022-09-16 | 之江实验室 | 基于时空注意力模型的多相期ct图像分类系统及构建方法 |
KR20240014374A (ko) | 2022-07-25 | 2024-02-01 | 삼성전자주식회사 | 트랜스포머 모델을 경량화하는 컴퓨터 시스템 및 그것의 양자화 학습 방법 |
KR102573643B1 (ko) * | 2022-11-14 | 2023-09-01 | 주식회사 마키나락스 | 인공지능 기반 제어 시뮬레이션 방법 |
WO2024123310A1 (en) | 2022-12-06 | 2024-06-13 | Google Llc | Universal sound event detector using multi-layered conditioning |
WO2024156887A1 (en) * | 2023-01-26 | 2024-08-02 | Deepmind Technologies Limited | Neural networks with intention layers |
KR102539679B1 (ko) * | 2023-02-01 | 2023-06-02 | (주)피플리 | 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템 |
CN115994668B (zh) * | 2023-02-16 | 2023-06-20 | 浙江非线数联科技股份有限公司 | 智慧社区资源管理系统 |
WO2024175943A1 (en) | 2023-02-23 | 2024-08-29 | Ceske Vysoke Uceni Technicke V Praze | Systems and methods for few-shot new action recognition |
CN116070676B (zh) * | 2023-03-28 | 2023-06-30 | 南京气象科技创新研究院 | 基于注意力机制和自编码器的高速公路路面温度预报方法 |
WO2024205729A1 (en) | 2023-03-31 | 2024-10-03 | Google Llc | Using external object detections in transformer-based action recognition |
KR102644779B1 (ko) * | 2023-07-10 | 2024-03-07 | 주식회사 스토리컨셉스튜디오 | 온라인 쇼핑몰의 컨셉에 맞는 상품의 추천 방법 |
CN117059081B (zh) * | 2023-08-30 | 2024-08-09 | 易方信息科技股份有限公司 | 一种轻量化语音识别方法、计算机设备及可读存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039621B2 (en) * | 2000-03-22 | 2006-05-02 | Johnson & Johnson Pharmaceutical Research & Development, L.L.C. | System, method, and computer program product for representing object relationships in a multidimensional space |
US9123343B2 (en) * | 2006-04-27 | 2015-09-01 | Mobiter Dicta Oy | Method, and a device for converting speech by replacing inarticulate portions of the speech before the conversion |
US9536528B2 (en) * | 2012-07-03 | 2017-01-03 | Google Inc. | Determining hotword suitability |
US10181098B2 (en) * | 2014-06-06 | 2019-01-15 | Google Llc | Generating representations of input sequences using neural networks |
CN106462802B (zh) * | 2014-11-14 | 2019-08-06 | 谷歌有限责任公司 | 生成映像的自然语言描述 |
US11080587B2 (en) * | 2015-02-06 | 2021-08-03 | Deepmind Technologies Limited | Recurrent neural networks for data item generation |
US10083157B2 (en) * | 2015-08-07 | 2018-09-25 | Google Llc | Text classification and transformation based on author |
US9965705B2 (en) * | 2015-11-03 | 2018-05-08 | Baidu Usa Llc | Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering |
US10204299B2 (en) * | 2015-11-04 | 2019-02-12 | Nec Corporation | Unsupervised matching in fine-grained datasets for single-view object reconstruction |
CN108885712B (zh) * | 2015-11-12 | 2022-06-10 | 渊慧科技有限公司 | 神经编程 |
CN116229981A (zh) | 2015-11-12 | 2023-06-06 | 谷歌有限责任公司 | 使用部分条件从输入序列生成目标序列 |
JP6671515B2 (ja) * | 2016-05-20 | 2020-03-25 | ディープマインド テクノロジーズ リミテッド | 比較セットを使用する入力例の分類 |
CN106372577A (zh) * | 2016-08-23 | 2017-02-01 | 北京航空航天大学 | 一种基于深度学习的交通标志自动识别与标注方法 |
US10642887B2 (en) * | 2016-12-27 | 2020-05-05 | Adobe Inc. | Multi-modal image ranking using neural networks |
RU2021116658A (ru) | 2017-05-23 | 2021-07-05 | ГУГЛ ЭлЭлСи | Нейронные сети с преобразованием последовательности на основе внимания |
-
2018
- 2018-05-23 RU RU2021116658A patent/RU2021116658A/ru unknown
- 2018-05-23 PL PL18739661.9T patent/PL3542316T3/pl unknown
- 2018-05-23 EP EP22204654.2A patent/EP4156033A1/en active Pending
- 2018-05-23 KR KR1020197019186A patent/KR102180002B1/ko active IP Right Grant
- 2018-05-23 JP JP2019538514A patent/JP6884871B2/ja active Active
- 2018-05-23 CA CA3144657A patent/CA3144657C/en active Active
- 2018-05-23 KR KR1020237035690A patent/KR20230151047A/ko not_active Application Discontinuation
- 2018-05-23 EP EP22204664.1A patent/EP4156035A1/en active Pending
- 2018-05-23 ES ES18739661T patent/ES2934313T3/es active Active
- 2018-05-23 EP EP22204640.1A patent/EP4156031A1/en active Pending
- 2018-05-23 KR KR1020207032481A patent/KR102448389B1/ko active IP Right Grant
- 2018-05-23 AU AU2018271931A patent/AU2018271931B2/en active Active
- 2018-05-23 CA CA3144674A patent/CA3144674C/en active Active
- 2018-05-23 CN CN201880007309.XA patent/CN110192206A/zh active Pending
- 2018-05-23 WO PCT/US2018/034224 patent/WO2018217948A1/en unknown
- 2018-05-23 EP EP22204636.9A patent/EP4156030A1/en active Pending
- 2018-05-23 EP EP22204659.1A patent/EP4156034A1/en active Pending
- 2018-05-23 KR KR1020207032482A patent/KR102486348B1/ko active IP Right Grant
- 2018-05-23 EP EP18739661.9A patent/EP3542316B1/en active Active
- 2018-05-23 RU RU2019122632A patent/RU2749945C1/ru active
- 2018-05-23 CA CA3050334A patent/CA3050334C/en active Active
- 2018-05-23 KR KR1020227033030A patent/KR102592677B1/ko active IP Right Grant
- 2018-05-23 BR BR112019014822-1A patent/BR112019014822B1/pt active IP Right Grant
- 2018-05-23 EP EP22204647.6A patent/EP4156032A1/en active Pending
- 2018-06-28 US US16/021,971 patent/US10452978B2/en active Active
-
2019
- 2019-09-03 US US16/559,392 patent/US10719764B2/en active Active
-
2020
- 2020-07-17 US US16/932,422 patent/US11113602B2/en active Active
- 2020-08-05 AU AU2020213318A patent/AU2020213318B2/en active Active
- 2020-08-05 AU AU2020213317A patent/AU2020213317B2/en active Active
- 2020-08-07 US US16/988,535 patent/US20210019624A1/en not_active Abandoned
- 2020-08-07 US US16/988,518 patent/US10956819B2/en active Active
- 2020-08-07 US US16/988,547 patent/US11893483B2/en active Active
-
2021
- 2021-05-12 JP JP2021080995A patent/JP7214783B2/ja active Active
- 2021-05-12 JP JP2021080996A patent/JP7214784B2/ja active Active
- 2021-09-03 US US17/467,096 patent/US20220051099A1/en active Pending
-
2022
- 2022-08-22 AU AU2022221389A patent/AU2022221389B2/en active Active
-
2023
- 2023-01-18 JP JP2023006053A patent/JP7423828B2/ja active Active
-
2024
- 2024-01-08 US US18/407,299 patent/US20240144006A1/en active Pending
- 2024-01-17 JP JP2024005428A patent/JP2024038420A/ja active Pending
- 2024-04-19 AU AU2024202594A patent/AU2024202594A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102486348B1 (ko) | 어텐션-기반의 시퀀스 변환 신경망 | |
CN111386537A (zh) | 基于注意力的仅解码器的序列转换神经网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
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 |