본문 바로가기

STUDY/인공지능

[딥러닝] Transformer란?

728x90

Transformer는 주로 자연러 처리 분야에서 사용되는 딥러닝 아키텍처로, 시퀀스 데이터의 특성을 잘 캡처하는 트랜스포머 모델입니다. 기존의 순환 신경망RNN과 달리 전적인 self-attention 메커니즘을 사용하여 입력 시퀀스의 모든 위치 간의 상호 작용을 모델링합니다.

 

주요 구성 요소:

1. Encoder : 입력 시퀀스를 내부 표현으로 변환합니다.

여러개의 층으로 구성되어 있으며, 각 층은 self-attention과 feed-forward neural network로 구성됩니다. 입력 시퀀스의 각 위치에 대해 self-attention을 통해 가중치를 계산하고, 이를 바탕으로 새로운 표현을 생성합니다.

 

2. Decoder : 출력 시퀀스를 생성하는데 사용됩니다. 

Encoder와 유사한 구조를 가지지만, 추가적으로 인코더 출력에 attention을 적용하여 입력 시퀀스의 정보를 참조합니다.

 

장점:

1. 긴 시퀀스 처리

RNN과 달리 self-attention 메커니즘을 사용하여 모든 위치의 의존성을 고려하므로, 긴 시퀀스에 대한 처리가 가능합니다.

2. 병렬 계산

RNN과 달리 Transformer는 시퀀스 내의 모든 위치 간의 상호 작용을 동시에 계산할 수 있기 때문에 병렬화가 용이합니다.

3. 효율적인 학습

Layer normalization과 잔차 연결residual connections 등의 기법을 사용하여 학습이 안정적으로 수렴하고, 더 높은 성능을 얻을 수 있습니다.

 

단점:

1. 순서 정보 부족

RNN과 달리 위치 정보를 직접적으로 처리하지 안흥므로, 입력 시퀀스의 순서 정보가 중요한 경우에는 추가적인 처리가 필요할 수 있습니다.

2. 메모리 사용량

Transformer는 입력 시퀀스 내의 모든 위치 간의 상호 작용을 계산하기 위해 많은 메모리를 요구할 수 있습니다.

 

 

728x90