본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 01. 05:55

행렬 곱을 벡터 열의 사상으로 읽기: AB형과 AB^T형으로 보는 Attention의 수학

요약

Transformer의 Attention 메커니즘에 등장하는 행렬 곱을 벡터 열의 사상 관점에서 재해석합니다. 행렬 곱을 AB형(결합)과 AB^T형(대조)으로 구분하여 Attention 식에 대한 직관적 이해를 돕습니다.

핵심 포인트

  • 행렬을 점의 좌표 벡터를 세로로 쌓은 '벡터 열'로 간주
  • AB형 행렬 곱은 B의 점군을 결합하는 과정으로 이해
  • AB^T형 행렬 곱은 B의 점군과 대조하는 과정으로 이해
  • Attention의 QK^T는 대조, AV는 결합의 관점으로 해석 가능

Transformer나 Attention의 해설을 읽다 보면, $QK^T$나 $AV$와 같은 행렬 곱 (Matrix Multiplication)이 몇 번이고 등장합니다.

행렬 곱 그 자체는 선형대수학 (Linear Algebra)에서 배우는 기본적인 연산이지만, AI 식 안에 들어가는 순간, "이 행렬 곱이 무엇을 하고 있는가"가 보이지 않게 될 때가 있습니다.

이 기사에서는 행렬을 "점의 좌표 벡터를 세로로 쌓은 것", 즉 벡터 열 (Vector Sequence)로 읽어보겠습니다. 그리고 행렬 곱을 다음 두 가지 종류로 나누어 생각합니다.

  • $AB$형: $B$의 점군 (Point Cloud)을 결합한다
  • $AB^T$형: $B$의 점군과 대조한다

이렇게 보면, Attention에 등장하는 $QK^T$는 "대조", $AV$는 "결합"으로 읽기 쉬워집니다.

원래는 대학의 데이터 사이언스 수업에서 Transformer와 Attention을 설명하기 위해 정리한 보충 자료입니다. 수업용으로 만든 것이지만, 마찬가지로 Attention의 식을 읽기 위한 발판을 찾고 계신 분들에게 참고가 되었으면 하는 마음으로 공개합니다.

참고로, 저는 대학 교원이지만 전공은 생물학입니다. 이 기사는 행렬 곱에 대해 엄격한 수학적 증명을 제공하는 것을 목적으로 하지 않습니다. AI의 식을 읽을 때, 행렬 곱에 대한 인식을 조금 바꾸면 통찰력이 좋아진다는 취지의 정리입니다.

본문은 수업용 보충 자료를 거의 그대로 싣고 있기 때문에, "이 수업에서는"이라는 표현을 남겨두었습니다. 또한, $AB$형·$AB^T$형이라는 호칭은 수업용으로 붙인 편의적인 명칭이며, 일반 명칭은 아닙니다.

먼저, $m$행 $\ell$열 ($m \times \ell$)의 2차원 행렬 $A$를 생각하자.

A =
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1\ell} \\
...

이 $A$를, $\ell$차원 공간에서의 $m$개 점의 좌표를 나타내는 벡터를 묶어 세로로 쌓은 것으로 간주하는 것을 생각한다. 이 수업에서는 이러한 2차원 행렬을 벡터 열이라고 부른다.

예를 들어,

A =
\begin{bmatrix}
\boldsymbol{a}_1 \\
...

라고 쓸 때, $A$는 $m$개의 벡터

\boldsymbol{a}_1, \boldsymbol{a}_2, \dots, \boldsymbol{a}_m

을 세로로 쌓은 것으로 나타낼 수 있다.

이때, 각 행 벡터 $\boldsymbol{a}_i$는 어떤 공간에서의 제 $i$점의 좌표를 나타내는 $\ell$차원 벡터이다.

\boldsymbol{a}_i =
\begin{bmatrix}
a_{i1} & a_{i2} & \cdots & a_{i\ell}
...

여기서, 이와 같이 정의한 벡터 열 $A, B, C$를 생각하자.

벡터 열 $A, C$의 형상은,

A \in \mathbb{R}^{m \times \ell}, \quad C \in \mathbb{R}^{m \times n}

로 한다. 한편, $B$에 대해서는 연산마다 $A, C$에 기반하여 결정되는 것으로 한다.

다음으로, 두 종류의 행렬 곱

C = AB

및,

C = AB^T

에 대해 생각한다. 이 수업에서는 편의상 전자를 $AB$형, 후자를 $AB^T$형이라고 부른다. 이때 어떤 경우든 우변의 왼쪽에 있는 벡터 열 $A$의 제 $i$점은 좌변의 벡터 열 $C$의 제 $i$점에 대응한다 (후술).

즉, 어떤 경우든,

A \longrightarrow C

라는, $\ell$차원 공간의 $m$개 점군에서 $n$차원 공간의 $m$개 점군으로의 사상 (Mapping)으로 간주할 수 있다. 이때 $A$의 제 $i$행의 점이 $C$의 제 $i$행의 점에 대응한다.

즉, 제 $i$행의 점에 주목하면,

\boldsymbol{a}_i \longmapsto \boldsymbol{c}_i

이다.

먼저,

C = AB

에 대해 생각하자.

여기서,

A=
\begin{bmatrix}
\boldsymbol{a}_1 \\
...

$A$의 각 행 벡터를 성분 표시까지 풀어서 쓰면,

A =
\begin{bmatrix}
\begin{bmatrix}
...

이다.

따라서, $C=AB$를 계산하면 다음과 같다.

AB=
\begin{bmatrix}
\begin{bmatrix}
...

$C$의 제 $i$행의 점 $\boldsymbol{c}_i$를 추출하면,

\boldsymbol{c}_i
=
a_{i1}\boldsymbol{b}_1
...

이다.

따라서, $AB$형 행렬 곱 (Matrix Multiplication)에서는, $A$의 대응하는 점 $\boldsymbol{a}_i$의 각 성분

a_{i1}, a_{i2}, \dots, a_{i\ell}

을 가중치 (Weight)로 하여, $B$를 구성하는 모든 점

\boldsymbol{b}_1, \boldsymbol{b}_2, \dots, \boldsymbol{b}_{\ell}

의 정보를 결합함으로써, $C$의 대응하는 점 $\boldsymbol{c}_i$를 만든다.

즉, $AB$형 행렬 곱은, $A$의 각 점을 그 성분에 기반하여 $B$의 모든 점의 정보를 결합한 뒤, $C$의 대응하는 점으로 사상 (Mapping)하고, 그 결과를 세로로 쌓아 벡터 열 (Vector Sequence) $C$를 만드는 연산으로 읽을 수 있다.

다음으로,

C = AB^T

에 대해 생각해보자.

여기서,

A=
\begin{bmatrix}
\boldsymbol{a}_1 \\
...

이다.

$B$를 전치 (Transpose)하면, $\ell$차원 벡터 $\boldsymbol{b}_1, \boldsymbol{b}_2, \dots, \boldsymbol{b}_n$이 가로로 나열된 $B^T$를 얻는다.

B^T
=
\begin{bmatrix}
...

따라서, $C=AB^T$를 계산하면 다음과 같다.

AB^T
=
\begin{bmatrix}
...

$C$의 제 $i$행의 점 $\boldsymbol{c}_i$를 추출하면,

\boldsymbol{c}_i
=
\begin{bmatrix}
...

이다.

따라서, $AB^T$형 행렬 곱에서는, $A$의 대응하는 점 $\boldsymbol{a}_i$와 $B$를 구성하는 모든 점

\boldsymbol{b}_1, \boldsymbol{b}_2, \dots, \boldsymbol{b}_n

을 내적 (Inner Product)으로 대조함으로써, $C$의 대응하는 점 $\boldsymbol{c}_i$를 만든다.

즉, $AB^T$형 행렬 곱은, $A$의 각 점을 $B$의 모든 점과의 내적에 의한 대조 결과를 나타내는 점으로 사상하고, 그 결과를 세로로 쌓아 벡터 열 $C$를 만드는 연산으로 읽을 수 있다.

이 글에서는 Attention을 예로 들어, 행렬 곱을 벡터 열의 사상으로 읽는 관점을 정리했습니다.

여기서 설명한 읽기 방식은 Attention에만 국한된 것이 아닙니다. 데이터를 각 행이 하나의 대상·부분·시점·토큰(Token)·패치(Patch) 등을 나타내는 벡터 열로 취급하는 한, $AB^T$형 행렬 곱은 $A$와 $B$의 점군(Point Cloud) 사이의 내적에 의한 대조로, $AB$형 행렬 곱은 $A$의 각 점을 가중치로 한 $B$의 전체 점군 정보의 결합으로 읽을 수 있습니다.

Attention은 이러한 "대조하고, 배분으로 변환하며, 결합하는" 구조가 특히 명시적으로 나타나는 사례라고 볼 수 있습니다.

행렬 곱을 단순한 수식으로서가 아니라, 점군이 다른 점군으로 사상되어 가는 과정으로 바라본다면, AI의 수식 속에서 어떤 일이 일어나고 있는지 조금 더 쉽게 추적할 수 있습니다. 이 글이 Attention이나 데이터 사이언스(Data Science)의 수식을 읽기 위한 작은 디딤돌이 되기를 바랍니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0