본문 바로가기
IT/Transformer 공부

이론) Transformer 차근차근 이해하기 (1) - 구조 익히기

by 한동두 2024. 12. 18.
반응형

Transformer를 안다 라고 자신있게 얘기 할 수 있도록

Transformer의 모든 단계를 이해하고싶어서 

각 단계를 차근차근 살펴보고 왜 이런 작업을 하는지, 어떤 계산을 하는지 알아볼 것이다.

 

깊게 들어가기 앞서서 

이번 게시글에는 정말 간단하게 초보자의 시선에서 본

Transformer의 구조를 살펴볼 것이다.

 

 

1. Transformer의 구조

대표적인 Transformer 구조로, Attention is all you need 논문에 첨부되어있는 사진이다.

 

제일 쉽게 볼 수 있는 Transformer 구조도이다.

자세한건 모르더라도 화살표를 통해 간단하게 파악해보자.

 

왼쪽 부분에서는 Input데이터를 받아 각종 단계를 거쳐 오른쪽으로 넘겨준다

오른쪽 부분에서는 Output데이터왼쪽으로부터 받은 데이터를 가지고

각종 단계를 거쳐 최종 확률을 만들어낸다고 해석할 수 있겠다.

 

위 과정을 데이터 용어로 치환해보면

 

입력(= "Input") 정보를 처리하여 input의 의미와 정보를 파악해 내는 것을 Encoder,

Encoder 정보를 바탕으로 새로 들어온 정보( = "Output") 를

재표현 해서 출력(= "Output Probabilities")하는것 Decoder라고 한다.

 

 

 


2. Transformer 사용처

Transformer은 크게 보면 Encoder - Decoder구조이고

그래서 특히 자연어 처리, 이미지 처리에 자주 사용된다.

 

예를들어 다음과 같은 과제에 사용될 수 있다.

 

 - 텍스트 to 텍스트 : 번역

    A언어의 의미 파악 [Encoder] -> 의미 파악 [의미를 가지고있는 Vector] -> B언어로 변환 [Decoder]
 - 자연어 to 이미지 : 이미지 생성

   텍스트에서 의미 파악 [Encoder]  -> 의미 파악 [의미를 가지고있는 Vector] -> 이미지로 변환 [Decoder]

- 이미지 to 텍스트 : 이미지 캡셔닝

  이미지에서 특징 추출 [Encoder] -> 장면 파악 [의미를 가지고있는 Vector] -> 텍스트로 생성 [Decoder]

 

 

 

다음 글은 input Embedding과  Positional Encoding에 대해서 

공부한 내용을 토대로 이해하기 쉽도록 정리하여 올려볼 생각이다.

내가 초보자인만큼 같은 초보자도 이해하기 쉽도록 작성해보려고 한다.

(그리고 높은확률로 내가 까먹었을 때 다시 보기 쉽게 하기위함도 있다ㅋㅋ)

 

다시 열심히 해보자!!

반응형