AI VIDEO BRIEFING

트랜스포머 구조 완전 정복: 셀프 어텐션·인코더·디코더 단계별 설명

2017년 등장한 트랜스포머의 임베딩, 위치 인코딩, 멀티헤드 셀프 어텐션, 인코더·디코더 구조를 작은 예제로 단계별로 따라가며 쉽게 정리했다.

트랜스포머, 스텝 바이 스텝: 인코더·디코더와 셀프 어텐션의 작동 원리 영상 대표 이미지

핵심 메시지

  • 트랜스포머는 2017년 구글 브레인 논문에서 소개된 모델로, 자연어 처리뿐 아니라 시각·청각·멀티모달·강화학습까지 폭넓게 영향을 미친 딥러닝의 핵심 이정표다.
  • 복잡해 보이지만 임베딩, 멀티헤드 어텐션, 합·정규화, 피드포워드 같은 같은 블록이 반복되는 구조여서 차근차근 보면 이해할 수 있다.
  • 셀프 어텐션은 입력 문장 안에서 단어와 단어의 상관관계를 Q·K·V 행렬 곱으로 계산하며, 모든 단어를 병렬로 처리해 속도가 빠르다.
  • 위치 인코딩은 사인·코사인 공식으로 단어의 순서 정보를 더해, 어순이 달라지면 의미가 바뀌는 언어를 모델이 제대로 이해하게 한다.
  • 디코더의 마스크 어텐션은 아직 생성되지 않은 미래 단어를 가려, 한 단어씩 순차적으로 출력하도록 만든다.

쉽게 이해하기

신박Ai 채널이 트랜스포머의 구조와 작동 방식을 작은 예제로 단계별로 풀어낸다. 2017년 논문 이후 트랜스포머 기반 모델이 자연어 처리를 넘어 비전·오디오·멀티모달·강화학습까지 퍼졌기 때문에, 딥러닝을 공부하려면 반드시 알아야 할 모델이라는 점을 먼저 짚는다. 전체 구조는 크게 인코더와 디코더로 나뉘며, 임베딩·멀티헤드 어텐션·합과 정규화·피드포워드 같은 블록이 반복적으로 등장한다.

학습은 데이터셋을 만들고 모든 단어에 고유 인덱스를 부여하는 것에서 시작한다. 입력 임베딩은 단어들을 밀집 벡터로 압축하는데(논문에서는 3만 7천여 단어를 512차원으로 축소), 영상에서는 손계산을 위해 길이 6의 벡터를 쓴다. 이어 위치 인코딩이 더해진다. 영어처럼 어순이 의미를 좌우하는 언어에서는 단어 위치가 중요하므로, 짝수 자리는 사인, 홀수 자리는 코사인 공식으로 위치 값을 만들어 입력 임베딩에 합산한다.

핵심은 멀티헤드 어텐션이다. 입력 행렬을 세 개로 복사해 각각 가중치를 곱해 Q·K·V 행렬을 만들고, Q와 K를 곱한 뒤 √(모델 차원)으로 나눠 스케일을 맞추고 소프트맥스로 확률화한다. 이렇게 얻은 셀프 어텐션 행렬은 단어들이 서로 얼마나 관련 있는지를 수치로 보여준다. 입력 시퀀스 내부의 단어 관계에 주목한다는 점, 그리고 모든 단어를 한 번에 병렬로 처리한다는 점이 오늘날 대형 언어 모델을 가능케 한 혁신이다. 논문은 헤드를 8개 사용한다.

어텐션 출력은 합과 정규화 블록을 거친다. 이는 ResNet의 스킵 커넥션처럼 기울기 소실을 완화하고 기존 정보를 보존하며, 이어지는 피드포워드 층(2층 ReLU)은 비선형성을 더해 표현력을 높인다. 디코더도 단어·위치 인코딩으로 시작하지만, 마스크 어텐션으로 미래 단어에 마이너스 무한대를 넣어 소프트맥스 후 0이 되게 함으로써 아직 출력되지 않은 단어를 보지 못하게 한다. 마지막에는 선형 계층과 소프트맥스로 단어장 길이만큼 확장해 출력을 만들고, 정답과 비교한 손실 함수·역전파로 모든 가중치를 조정한다.

주요 인사이트

  • 트랜스포머의 복잡함은 새로운 부품이 많아서가 아니라 같은 블록이 반복되기 때문이며, 한 블록을 이해하면 전체가 보인다.
  • 셀프 어텐션의 발상 전환은 '입력과 출력 사이'가 아니라 '입력 문장 내부 단어들 사이'의 관계에 주목한 데 있다.
  • 같은 입력을 두 네트워크에 넣어 Q·K를 만든 뒤 곱하기만 해도 단어 간 상관관계가 드러난다는 점이 트랜스포머의 놀라운 단순함이다.
  • 병렬 처리가 가능하다는 점이 속도와 확장성을 동시에 확보해, 긴 문장에서도 모든 단어 쌍의 관계를 차별 없이 계산할 수 있게 한다.
  • 디코더가 미래 단어를 가리는 마스크는 거창한 알고리즘이 아니라 '아직 만들지 않은 단어는 참고할 수 없다'는 상식을 수식으로 옮긴 것이다.

자주 묻는 질문

셀프 어텐션이 기존 어텐션과 다른 점은?

기존 시퀀스-투-시퀀스 어텐션이 입력과 출력 시퀀스 사이의 관계에 주목했다면, 셀프 어텐션은 입력 문장 안에서 단어와 단어의 상관관계에 주목한다. 그래서 같은 입력에서 Q·K·V를 만들어 계산한다.

위치 인코딩은 왜 필요한가?

영어처럼 어순이 의미를 좌우하는 언어에서는 같은 단어라도 위치가 다르면 뜻이 달라진다. 사인·코사인 공식으로 만든 위치 값을 임베딩에 더해, 모델이 단어 순서까지 반영해 문장 의미를 더 정확히 처리하도록 한다.

디코더의 마스크 어텐션은 무슨 역할을 하나?

디코더는 출력 문장을 한 단어씩 생성하므로 아직 나오지 않은 미래 단어에 주의를 줄 수 없다. 미래 단어 자리에 마이너스 무한대를 넣으면 소프트맥스를 거치며 0이 되어, 미래 정보를 보지 않고 순차적으로 출력하게 된다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식