AI VIDEO BRIEFING

MIT 딥러닝 강의로 보는 트랜스포머 구조: 토큰과 어텐션, 위치 인코딩의 역할 정리

MIT 6.7960 딥러닝 강의는 트랜스포머를 토큰·어텐션·위치 인코딩 세 조각으로 나눠, 합성곱과 완전연결 신경망 사이에서 어텐션이 무엇을 다르게 하는지 설명한다. 순서를 모르는 구조에 왜 위치 정보가 필요한지도 짚는다.

토큰·어텐션·위치 인코딩, MIT 강의가 세 조각으로 해체한 트랜스포머 영상 대표 이미지

핵심 메시지

  • 합성곱 신경망은 국소성을 전제로 해서 이미지 양 끝에 있는 두 대상의 관계를 판단하려면 층을 깊게 쌓아야 한다.
  • 완전연결 신경망은 전역을 한 번에 보지만 연결 수가 제곱으로 늘어 비용이 크다. 어텐션은 '전역을 보되 필요한 곳만 골라 본다'는 절충안이다.
  • 트랜스포머의 기본 단위는 뉴런(스칼라)이 아니라 토큰(벡터)이며, 도메인 지식은 데이터를 토큰으로 쪼개는 첫 단계에만 들어간다.
  • 어텐션의 핵심은 선형 결합의 가중치가 학습된 자유 파라미터가 아니라 입력 데이터에서 계산된 값이라는 점이다.
  • 토큰 순서를 바꾸면 출력 순서만 바뀌는 치환 등변 구조이기 때문에, 순서가 의미를 갖는 문제에서는 위치 인코딩과 인과 마스킹이 필요하다.

쉽게 이해하기

강의는 사진 속 새가 몇 마리인지 세는 문제와, 오른쪽 위 새와 왼쪽 아래 새가 같은 종인지 묻는 문제를 나란히 놓는다. 앞의 문제는 합성곱 신경망이 잘하지만 뒤의 문제는 그렇지 않다. 합성곱 필터가 국소적이라, 멀리 떨어진 두 지점의 정보가 한 뉴런에서 만나려면 층을 여러 번 쌓아 수용 영역을 넓혀야 하기 때문이다. 강사는 층이 얕으면 두 입력이 함께 관여하는 출력 뉴런이 아예 존재하지 않는다는 것을 화살표를 되짚어 보여준다.

반대편 극단에는 모든 입력이 모든 출력에 연결된 완전연결 신경망이 있다. 전역 정보를 즉시 모으지만 연결과 파라미터가 제곱으로 늘어 감당하기 어렵다. 어텐션은 그 사이에 있다. 전역을 보되 성기게 본다. 새의 수를 셀 때는 새가 있는 자리에, 하늘 색을 물으면 하늘 영역에 주의를 배분한다. 질문이 바뀌면 보는 곳도 바뀐다는 점이 핵심이다.

첫 번째 조각은 토큰이다. 강의는 토큰을 '뉴런들의 벡터', 즉 정보의 작은 꾸러미로 정의한다. 그래프 신경망의 노드 특징 벡터에 새 이름을 붙인 셈이다. 이미지는 겹치지 않는 패치로 잘라 각 패치를 평평하게 펴서 벡터로 투영하고, 언어는 바이트 페어 같은 단위로 자른다. 이렇게 데이터를 토큰으로 바꾸는 첫 단계에만 도메인 전문성이 들어가고, 그다음부터는 어떤 분야든 같은 방식으로 토큰을 처리한다. 트랜스포머가 분야를 가리지 않고 퍼진 이유로 강사는 이 성질을 든다.

토큰 위에서는 두 가지 연산만 있으면 된다. 토큰들의 선형 결합, 그리고 토큰마다 똑같이 적용되는 비선형 함수다. 후자는 보통 다층 퍼셉트론이어서, 트랜스포머는 신경망을 부품으로 쓰는 메타 아키텍처가 된다. 이 구조는 완전연결 그래프 위의 그래프 신경망과 사실상 같은데, 다만 그래프 신경망이 인접 행렬로 결합 방식을 정하는 자리에 트랜스포머는 어텐션을 놓는다. 그래서 강의는 두 번째 조각인 어텐션을 '선형 결합의 가중치를 데이터에서 뽑아 오는 장치'라고 설명한다. 토큰마다 질의·키·값을 선형 투영으로 만들고, 질의와 키의 내적을 소프트맥스로 정규화한 값이 곧 결합 가중치가 된다. 학습되는 것은 세 개의 투영 행렬뿐이다.

세 번째 조각은 위치 인코딩이다. 토큰별 비선형성과 어텐션 모두 순서를 보지 않기 때문에, 입력 토큰을 뒤섞으면 출력도 그대로 뒤섞이는 치환 등변 구조가 된다. 순서가 의미를 갖는 문제에서는 각 토큰에 위치 정보를 더해 이 성질을 깬다. 이미지에서는 좌표를 사인·코사인 기저로 표현하고, 지구 표면이라면 위도·경도를, 그래프라면 그래프 라플라시안의 고유벡터를 쓴다. 언어 모델은 여기에 인과 마스킹을 더해 각 토큰이 자기보다 앞선 토큰만 볼 수 있게 하고, 그 위에서 다음 단어를 예측하는 자기회귀 학습을 돌린다.

주요 인사이트

  • 강사는 자연어처리에서 흔히 쓰는 '어휘의 이산 단위'라는 토큰 정의 대신, '문제를 나누는 정보 덩어리'라는 더 넓은 정의를 쓴다. 이 관점에서는 이미지 패치도 소리 조각도 모두 같은 토큰이다.
  • 질의·키 행렬을 따로 학습하는 대신 결합 행렬을 직접 학습하면 어떻겠냐는 질문에, 강사는 파라미터 수의 의존 대상이 달라진다고 답한다. 직접 학습하면 시퀀스 길이의 제곱만큼 필요하지만, 투영 행렬을 학습하면 토큰 차원에만 의존한다. 요즘처럼 시퀀스가 수백만 토큰으로 길어질수록 후자가 유리하다.
  • 말이 그려진 영상에서 말 위의 토큰이 다른 말 부위에 주의를 보내는 시각화는 어텐션이 사실상 분할 문제를 스스로 푸는 것처럼 보이게 한다. 다만 강사는 이것이 증명된 성질이 아니라 관찰이며, 학습이 다른 전략을 찾을 수도 있었다고 선을 긋는다.
  • 층 정규화가 왜 도움이 되는지도 여전히 열린 문제로 남겨둔다. 활성값을 정규화하면 역전파를 거쳐 가중치 갱신의 크기에도 영향이 간다는 설명까지가 강의가 확언하는 범위다.
  • 강사는 원 논문 '어텐션이 필요한 전부다'의 구조 그림을 두고 과학계 최악의 다이어그램이라고 농담하면서도, 자기회귀 부분과 트랜스포머 자체를 분리해 보면 훨씬 단순해진다고 정리한다.

자주 묻는 질문

이미지를 토큰으로 자를 때 패치가 겹쳐도 되나요?

표준적인 방식에서는 겹치지 않게 자릅니다. 합성곱에서 스트라이드를 조절하듯 겹치게 만들 수도 있지만, 강의 시점 기준으로 흔한 방식은 겹치지 않는 패치 분할입니다.

트랜스포머는 왜 위치 인코딩이 꼭 필요한가요?

토큰별 비선형성과 어텐션이 모두 순서와 무관하게 계산되기 때문입니다. 입력 순서를 바꾸면 출력 순서만 따라 바뀔 뿐이라, 순서가 의미를 갖는 문장 같은 데이터에서는 위치 정보를 따로 넣어줘야 합니다.

언어 모델의 인과 마스킹은 무엇을 막나요?

예측해야 할 단어를 입력에서 그대로 베끼는 것을 막습니다. 각 토큰이 자기 자신과 앞선 토큰만 참조하도록 어텐션 일부를 0으로 만들어, 출력이 앞선 정보에만 의존하게 합니다.

원문과 출처

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

YouTube 원본 영상 보기 ↗

관련 AI 소식