NLP Day 10, 9/17 Fri

이호영·2021년 9월 18일
0

Boostcamp AI Tech 2기

목록 보기
27/32

Transformer

세 줄 요약

  • Convolution, Recurrent Layer 없이 Attention으로만 feature extract을 진행하는 방식
  • Self-Attention을 Multi-head로 활용하여 input representation을 반복적으로 정제한다.
  • Encoder-Decoder 구조를 하고 있으며 Encoder는 representative learner, Decoder는 Auto-regressive Generator 역할을 한다.

Abstract

  • 기존의 CNN / RNN을 활용한 시퀀스 변환 모델과는 달리 CNN / RNN 구조를 사용하지 않고 Attention만 사용하여서 설계되었다.
  • 기계 번역 task에서 기존 모델들보다 뛰어난 성능을 보였고 병렬화를 통해서 train 속도를 빠르게 하였다.
  • 기계 번역 task 뿐만 아니라 constituency parsing 같은 다른 task에도 일반화가 잘 되었다.

constituency parsing: 문장이 구 단위로 묶여서 구조를 이루어가는 방법으로 영어와 같이 어순이 고정된 언어에서 쓰인다.

Introduction

RNN 중에 LSTM과 GRU는 시퀀스 모델링, 언어 모델링, 기계 번역 같은 transduction 문제에서 SOTA 접근법으로 사용되어 왔었다.

→ transduction : 관찰된 학습 데이터에서 테스트 데이터를 추론하는 것, 특정 예제를 이용해서 다른 특정 예제를 예측하는 것을 설명하기 위해서 사용된다.

transducer: input에서의 각 time step에 대해서 output에서 하나의 time step을 출력하는 모델

Recurrent model은 input과 output sequence의 토큰 위치에 따라 계산을 분해하여 진행한다. 계산 시점에서 hth_tht1h_{t-1}과 t step에서의 input으로 생성한다. 이 sequential한 특성은 train에서 병렬화를 배제시킨다. 그리고 이러한 메모리 제약이 sample 간의 batch화를 제한해서 더 긴 길이의 시퀀스를 처리할 때 critical한 문제가 된다.

Attention 메커니즘은 input, output 시퀀스에서 거리에 상관없는 의존성 모델링을 가능하게 함으로써 다양한 task의 시퀀스 모델링 및 transduction 모델에서 빠질 수 없는 부분이 되고 있다.

Input과 output간의 global한 dependency를 추출하기 위해 전적으로 Attention에 의존하는 모델을 제한

진명훈 님의 Transformer review

Sequence transduction problem

  • 음역
  • 철자 수정
  • 굴절 형태학
  • 기계 번역
  • 음성 인식
  • TTS

RNN은 data가 sequence하게 입력된다.

Transformer는 입력을 한꺼번에 받아들여서 입력 순서를 알지 못한다

Encoding → 고정된 규칙

Embedding → Learnable

Multi head Scaled dot product Self Attention(MHSA)

Query와 Key의 dot product를 해서 유사도를 구한다.

Encoder와 Decoder 모두에서 토큰 연산을 하지 않기 위해여 masking을 진행한다.

profile
Speech Synthesis & Voice Cloning

0개의 댓글