본문 바로가기
Learning-driven Methodology/DL (Deep Learning)

[Deep Learning] 트랜스포머 구조

by goatlab 2023. 12. 28.
728x90
반응형
SMALL

트랜스포머 구조

 

 

트랜스포머는 RNN을 사용하지 않지만 기존의 seq2seq처럼 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력하는 인코더-디코더 구조를 유지하고 있다. seq2seq 구조에서는 인코더와 디코더에서 각각 하나의 RNN이 t개의 시점 (time step)을 가지는 구조였다면 트랜스포머의 인코더와 디코더는 단위가 N개로 구성되는 구조이다.

 

 

인코더로부터 정보를 전달받아 디코더가 출력 결과를 만들어내는 트랜스포머 구조를 보여준다. 디코더는 마치 기존의 seq2seq 구조처럼 시작 심볼 <sos>를 입력으로 받아 종료 심볼 <eos>가 나올 때까지 연산을 진행한다. 이는 RNN은 사용되지 않지만 여전히 인코더-디코더의 구조는 유지되고 있음을 보여준다.

 

 

하이퍼파라미터

 

d_model 트랜스포머의 인코더와 디코더에서의 정해진 입력과 출력의 크기를 의미한다. 임베딩 벡터의 차원 또한 d_model이며, 각 인코더와 디코더가 다음 층의 인코더와 디코더로 값을 보낼 때에도 이 차원을 유지한다. 
num_layers 트랜스포머에서 하나의 인코더와 디코더를 층으로 생각하였을 때, 트랜스포머 모델에서 인코더와 디코더가 총 몇 층으로 구성되었는지를 의미한다. 
num_heads 트랜스포머에서는 어텐션을 사용할 때, 한 번 하는 것보다 여러 개로 분할해서 병렬로 어텐션을 수행하고 결과값을 다시 하나로 합치는 방식을 택했다. 이때, 이 병렬의 개수를 의미한다.
dff 트랜스포머 내부에는 피드 포워드 신경망이 존재하며 해당 신경망의 은닉층의 크기를 의미한다. 피드 포워드 신경망의 입력층과 출력층의 크기는 d_model이다.

 

728x90
반응형
LIST