본문으로 건너뛰기
65 / TENSOR LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 기저·선형사상·내적·분해
단원 목록 (103) · 지표·자유축과 수축
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

합산할 지표와 남길 지표를 먼저 정한 뒤 출력 shape와 계산값을 확인합니다.

X[i,j,k]=1+4i+2j+k; contract axis 2 with v=(1,2)

2303이산 지표의 값 · 선형 보간하지 않습니다.
가로: 출력 행 우선 인덱스 · 세로: 수축 값 · 표: 남은 두 축
수축 결과
free index 0free index 1contracted value
005
0111
1017
1123

free axes = (0, 1)

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

입력

X의 shape는 (2,2,2)입니다.

Xᵢⱼₖ=1+4i+2j+k

실험에서 확인하기 →
이 단원 목차

남는 지표와 합산하는 지표

수축은 지정한 지표를 따라 성분을 곱하고 합하는 연산입니다. X의 shape가 (2,2,2)이고 v가 길이 2이면 마지막 축과의 수축은

Yij=∑k=01Xijkvk.Y_{ij}=\sum_{k=0}^1X_{ijk}v_k.

i,j는 자유 지표로 출력에 남고 k는 합산 지표로 사라집니다. 출력 shape는 (2,2)입니다. 원소별 곱이라면 합산축이 남기 때문에 다른 연산입니다. Einstein 표기에서는 반복 지표로 합을 생략할 수 있지만 자유 지표가 식의 양쪽에서 맞는지 확인해야 합니다.

고정된 예제의 손계산

실습은 Xᵢⱼₖ=1+4i+2j+k, v=(1,2)를 사용합니다. 즉 원본 평탄 값은 1부터 8입니다.

Y00=1⋅1+2⋅2=5,Y01=3⋅1+4⋅2=11.Y_{00}=1\cdot1+2\cdot2=5,\qquad Y_{01}=3\cdot1+4\cdot2=11.

나머지는 17,23입니다. 표에서 각 자유 좌표와 값을 비교하세요. 출력 네 원소마다 곱셈 두 번과 덧셈 한 번이 필요하므로 직접 구현 기준 곱셈 8회·덧셈 4회입니다. 이 작은 연산 수는 CPU·GPU 실행 시간 측정이 아닙니다.

어느 축을 합하는지가 중요하다

첫 축 i를 합하면 남는 순서는 (j,k)이고 출력은 (11,14,17,20)입니다. shape는 여전히 (2,2)이지만 숫자는 달라집니다. 축 크기가 우연히 같으면 잘못된 축을 수축해도 shape 오류가 나지 않아 더 위험합니다.

Zjk=∑i=01viXijk.Z_{jk}=\sum_{i=0}^1v_iX_{ijk}.

실습은 합산하지 않는 축을 원래 오름차순으로 남깁니다. 다른 라이브러리가 출력 축을 다른 순서로 배치하는지 명시적 출력 지표로 확인하세요.

기저와 쌍대의 역할

추상적으로 자연스러운 수축은 벡터와 공변벡터, 즉 쌍대공간 사이의 pairing입니다. 기저 변환 때 둘의 성분이 적절히 반대로 변해야 스칼라 또는 남은 텐서가 일관되게 변환됩니다. Euclidean 직교 기저에서는 내적으로 벡터를 공변벡터와 식별해 익숙한 dot product처럼 계산할 수 있습니다.

⟨v∗,x⟩=∑ivi∗xi.\langle v^*,x\rangle=\sum_i v_i^*x_i.

이 단원은 고정된 실수 Euclidean 기저를 사용합니다. 복소 공간의 Hermitian pairing에는 켤레가 필요하고, 임의 곡선 좌표에서는 metric 성분까지 확인해야 합니다. 단순 배열의 repeated index를 모든 좌표계에서 자동으로 불변인 식이라고 해석하지 마세요.

AI에서의 연산식

attention에서 QᵢₐKⱼₐ를 a에 대해 합하면 점수 행렬 Sᵢⱼ가 됩니다. batch나 head가 추가되면 그 축을 남기는지, 서로 섞어 합하는지 명시해야 합니다. 같은 einsum 문자열이라도 입력 축의 이름을 잘못 대응하면 의도와 다른 모델이 됩니다.

그림은 이산 출력 원소 값이며 표는 남는 좌표를 적습니다. v=0이면 출력이 영배열이 되지만 shape가 사라지는 것은 아닙니다.

확인 문제와 답

  1. X가 (3,4,5),v가 (5,)이고 마지막 축을 수축하면? **(3,4)**입니다.
  2. v=(0,0)이면? (2,2) 영배열입니다.
  3. 모든 크기가 2일 때 축 선택 오류를 shape만으로 잡나요? 아니요. 실제 원소와 지표 의미를 검산해야 합니다.

추가 읽기: Kolda–Bader, Tensor Decompositions and Applications. 본문의 작은 배열·복원·비용 예제는 직접 구성했습니다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. Yᵢⱼ=ΣₖXᵢⱼₖvₖ의 자유 지표는?
2. 수축과 원소별 곱은 같은가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.