Transformer Model Introduction

Carpediem·2022년 10월 11일

transformer

목록 보기
1/1

- 하기 기술된 내용은 트랜스포머 모델의 introduction을 기술하였습니다

Introduction

transformer 모델은 기존 seq2seq모델 구조에 기반하여 구성된 모델이나 기존 seq2seq의 문제점을 개선하여 구현된 모델이다.

기존 seq2seq모델에서 encoder는 input sequence를 하나의 context vector 표현으로 압축하며, decoder는 이 vector 표현을 통해서 output sequence를 출력하는구조였다.

상기 모델은 두개의 LSTM셀 또는 GRU 셀로 구성되어 encoder에서 tokenize된 단어들이 각각의 셀에 입력되어 encoder의 마지막 hidden state를 decoder의 셀로 넘겨주는 context vector가 decoder의 셀의 첫번째 hidden state에 사용되었다

이는 input sequence 와 output sequence의 token 위치에 따라 계산하는 구조인데, 각 step에 따라 위치를 정렬시키ㅣ고 hidden state ht(현재시점)를 ht-1(이전시점)rhk t step의 입력값으로 부터 생성된다.

이러한 sequential한 구조 특성 상 훈련과정에서 병렬화를 배제하는데, 이러한 메모리 제약에 의해 샘플간 배치화를 제한하여 길이가 긴 sequence를 처리할 수록 문제가 되었다.

같은 의미에서 encoder가 inpupt sequence를 하나의 vector로 압축하는 과정에서 input sequence의 정보가 일부 소실된다는 단점이 존재하였다.

이를 해결하기 위하여 attention mechanism(model)이 활용되었으며 attention모델 만으로 encoder, decoder를 구성하였다.
해당 transformer에서는 3가지 attention mechanism과 Position-wise feed-forward 신경망으로 구성되었다.

encoder에서 사용되는 첫번째 attention으로 self-attention이 사용되며 이는 Query, Key, Value 각각의 벡터들을 구하여 각 벡터들의 모든 어텐션 값 행렬을 도출해낸다.

이를 활용하여 각각의 벡터들의 어텐션 값 행렬들로 상관관계성 구분이 가능하다.

두번째 attention 층은 look-ahead mask로서 디코더의 첫번째 서브층에서 이루어진다.

이는 상기 multi-head self attetion 층과 유사하나 t+1의 hidden state 단어 또는 데이터를 참고할 수 없도록 mask를 활용하여 배제시키는 역할을 한다.

마지막 세번째 attention 층은 인코더 행렬인 Key, Value와 상기 첫번째 서브층의 결과 디코더 행렬인 Query를 활용하여 Multi-head attention을 수행한다.

이로서 최종적으로 transformer모델 구조를 활용하여 decoder의 마지막 행렬의 결과값으로 최종 예측값을 도출한다

profile
devleoper

0개의 댓글