새소식

머신러닝 & 딥러닝

트랜스포머(Transformer)

  • -

 트랜스포머(Transformer)는 2017년 "Attention Is All You Need"라는 논문에서 처음으로 소개됐다.

논문의 제목대로, transformer는 어텐션 메커니즘(attention mechanism)이 트랜스포머 모델에서 중요한 역할을 담당한다는 의미를 담고 있다. 이전의 Seq2seq 모델에서는 순환 신경망(RNN)이나 장기 단기 기억(LSTM)과 같은 메커니즘을 사용하여 시퀀스를 처리했다. 그러나 트랜스포머는 이러한 순환 메커니즘 없이 어텐션 메커니즘만을 사용하여 모델을 구성한다.
이 논문은 어텐션 메커니즘이 기존의 RNN이나 LSTM보다 효과적으로 장기 의존성 문제를 해결하고, 병렬 처리를 통해 학습 속도를 향상시킬 수 있다는 점을 입증하였다. 이로 인해 트랜스포머는 자연어 처리 분야에서 혁신적인 모델로 인식되었으며, 기계 번역과 다양한 자연어 처리 작업에 적용되는 핵심 아이디어로 자리잡게 되었다.

트랜스포머의 중요 구조에 대해 간단하게 설명하자면, 아래와 같다.

 

어텐션과 셀프-어텐션(attention & self-attention)

트랜스포머는 어텐션 메커니즘을 기반으로 동작한다. 어텐션은 입력 시퀀스의 각 위치에 대해 출력 시퀀스의 다른 위치에 주의를 기울일 수 있는 메커니즘이다. 트랜스포머에서는 특히 셀프-어텐션(self-attention)이라고 불리는 어텐션 메커니즘을 사용한다. 셀프-어텐션은 입력 시퀀스 내의 단어들 사이의 상대적인 중요도를 계산하여 각 단어의 임베딩을 업데이트한다.

인코더와 디코더(encoder & decoder)

트랜스포머는 인코더-디코더 구조를 가지고 있다. 인코더는 입력 시퀀스를 토큰 단위로 임베딩하고 여러 개의 인코더 레이어를 통해 정보를 추출한다. 디코더는 출력 시퀀스를 토큰 단위로 임베딩하고 인코더의 출력 정보와 함께 여러 개의 디코더 레이어를 통해 결과를 생성한다.

위치 인코딩(positional encoding)

트랜스포머는 단어의 위치 정보를 고려하기 위해 위치 인코딩을 사용한다. 위치 인코딩은 단어의 임베딩에 위치에 대한 정보를 추가하여 모델에 입력한다. 이를 통해 트랜스포머는 단어의 순서 정보를 학습할 수 있다.

멀티 헤드 어텐션(multi-head attention)

트랜스포머에서는 여러 개의 어텐션 헤드를 사용하는 멀티 헤드 어텐션을 사용한다. 각각의 헤드는 서로 다른 어텐션 가중치를 계산하여 다른 관점에서 입력 시퀀스를 인코딩하거나 디코딩한다. 이를 통해 모델은 입력 시퀀스의 다양한 특징을 잡아낼 수 있다.

피드 포워드 신경망(feed forward neural network)

트랜스포머의 인코더와 디코더 레이어에는 피드 포워드 신경망이 사용된다. 이는 각 위치의 임베딩을 입력으로 받아 여러 개의 선형 변환과 활성화 함수를 거쳐 출력을 생성하는 신경망이다. 피드 포워드 신경망은 위치별로 독립적으로 적용되기 때문에 병렬 처리가 가능하다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.