본문 바로가기
Machine-Learning/NLP (Natural Language Processing)

[NLP] Transformer-Overview

by AteN 2022. 10. 11.

트랜스포머 소개 

트랜스포머는 현재 여러 자연어뿐만 아니라 컴퓨터 비전 과제에서도 최신 기술로 사용되고 있다. 트랜스포머가 출현함으로 자연어 및 컴퓨터 비전 등에서 많은 발전을 이루고 있으며, BERT, GPT, VIT(vision transformer) Swin Transformer 등과 같이 발전하는 기반을 마련했다.

 

트랜트포머는 RNN에서 사용한 순환 방식을 사용하지 않고, 순수하게 어텐션만 사용한 모델이다. 트랜스포머는 셀프 어텐션(Self-attention)이라는 특수한 형태의 어텐션을 사용한다. 

RNN과 LSTM 네트워크는 다음 단어 예측(next word prediction), 기계 번역 (machine translation), 텍스트 생성 (text generation)등의 순차적 태스크에서 널리 사용된다. 하지만 이 네트워크는 장기 의존성 문제 (long-term dependency)가 있다. 장기 의존성 문제는 RNN이 은닉 상태 (hidden state)를 통해 과거의 정보를 저장할 때 문장의 길이가 길어지면 앞의 과거 정보가 마지막 시점까지 전달되지 못하는 현상을 말하고 있다.  이런 RNN의 한계점을 극복하려고 "Attention Is All You Need"논문에서 '트랜스포머'라는 아키텍처를 제안했다.

위 그림은 논문에서 설명한 모델의 아키텍처 이다. 해당 모델에 대한 자세한 설명은 아키텍처의 인코더와 디코더에 대한 각각의 부분을 자세히 시리즈를 통해 각각 설명하도록 하겠다. 

 

먼저 간단하게 트랜스 포머를 소개 구분지어 소개하자면 

 

위위 그림처럼 왼쪽의 인코더와 오른쪽의 디코더로 구분할 수 있으며, 인코더( Encoder)에는 multi-head self-attention , feed forward ,  residual + layer normalization, n-layer 등의 주요 개념을 설명하고, 디코더(Decoder)  masked multi-head self-attention, encoder & decoder multi-head attention , feed forward , residual + layer normalization , n-layer 등의 주요 개념을 설명 하도록 하겠다. 

 

트랜스포머는 간단히 설명하면 인코더-디코더로 구성된 모델이다. 먼저 인코더에 입력 문장(원문)을 입력하면 인코더는 입력 문장의 표현 방법을 학습 시키고 그 결과를 디코더로 보낸다. 디코너는 인코더에서 학습한 표현 결과를 입력 받아 사용자가 원하는 문장을 생성한다. 

영어를 프랑스로 번역하는 과제가 있다고 가정하면, 영어 문장을 입력 받은 인코더를 나타낸 것이다. 인코더는 영어 문장을 표현하는 방법을 학습한 다음 그 결과를 디코더에 보낸대. 인코더에서 학습한 표현을 입력받은 디코더는 최종적으로 프랑스어로 번역함 문자을 생성하는 것이다. 

해당 트랜스포머는 어떻게 작동하는 것이며, 트랜스포머의 인토더-디코더는 입력 문장을 어떻게 타켓 문장으로 변역하는지, 그리고 인코더와 디코더는 어떤 원리로 작동하는지에 대해서 자세히 설명하도록 하겠다.

댓글