컨볼루션 신경망은 로컬 패턴을 감지하여 그리드 같은 데이터(예: 이미지)를 처리하는 데 탁월한 성능을 제공합니다. 그러나 CNN은 데이터 내의 전반적인 관계를 파악하는 효과가 다소 부족합니다. 트랜스포머는 입력 데이터 전체에서 각 부분의 중요도를 평가하는 셀프 어텐션을 사용하여 이 문제를 극복합니다. CNN은 주로 이미지 인식과 같은 작업에 사용되지만, 트랜스포머는 텍스트와 이미지 처리 모두에 적합하게 조정되어 있어 더욱 다양한 솔루션을 제공합니다.
- 입력 임베딩
- 위치 인코딩
- 트랜스포머 블록
- 선형/softmax 블록
- 입력 시퀀스는 임베딩이라는 숫자 표현으로 변환되며, 이를 통해 토큰의 문맥적 의미를 파악할 수 있습니다.
- 위치 인코딩은 시퀀스 내 토큰의 순서를 보존하기 위해 각 토큰에 고유한 신호를 추가합니다.
- 멀티 헤드 어텐션 메커니즘은 이러한 임베딩을 처리하여 토큰 간의 다양한 관계를 포착합니다.
- 레이어 정규화 및 잔차 연결은 학습 프로세스를 안정화하고 속도를 높입니다.
- 셀프 어텐션 레이어의 출력은 비선형 변환을 위해 순방향 신경망을 통과합니다.
- 여러 개의 트랜스포머 블록이 서로 겹쳐 있으며, 각 블록은 이전 레이어의 출력을 세분화합니다.
- 번역과 같은 작업에서는 별도의 디코더 모듈로 출력 시퀀스를 생성합니다.
- 이 모델은 예측과 정답의 차이를 최소화하기 위해 지도 학습을 사용하여 학습됩니다.
- 추론을 하는 동안, 학습된 모델은 새로운 입력 시퀀스를 처리하여 예측 또는 표현을 생성합니다.
- 자연어 처리
- 기계 번역
- 음성 인식
- 이미지 생성
- DNA 염기서열 분석
- 단백질 구조 분석