이 단원 목차
차수·크기·랭크는 다른 말
배열의 차수 또는 order는 축의 개수입니다. shape는 축별 크기를 나열한 튜플입니다. shape (1,2,3)은 차수 3이고 원소 수 6입니다. 크기 1인 축도 제거하지 않는 한 축으로 남습니다. “rank”라는 말이 라이브러리에서 축 개수를 뜻할 때도 있지만 이 교재는 행렬 랭크·CP 랭크·TT 랭크와 구분하여 차수라고 부릅니다.
같은 shape라도 배치·시간·채널의 역할은 데이터와 모델이 정합니다. shape 숫자만 같다고 축을 교환해도 의미가 유지되는 것은 아닙니다.
수학적 텐서와 좌표 배열
수학적 텐서는 선택한 벡터공간들의 텐서곱 원소로 정의할 수 있습니다. 기저를 정하면 성분 배열로 표현합니다. 추상 텐서와 좌표 배열을 동일시할 때는 기저와 변환 규약을 고정해야 합니다. 물리적 좌표 변환 아래에서 올바른 변환 법칙을 갖는 텐서와 임의의 다차원 데이터 배열은 구별할 필요가 있습니다.
이 단원은 고정된 실수 기저의 배열 연산부터 시작합니다. 단지 축이 세 개라는 이유로 데이터가 특정 물리적 텐서장이라는 결론을 내리지 않습니다.
성분을 따라 축 바꾸기
실습은 X[b,t,c]=100b+10t+c를 사용합니다. 기준 shape (1,2,3)의 평탄 값은 (0,1,2,10,11,12)입니다. t와 c를 바꾸면 새 shape는 (1,3,2)이고
이므로 평탄 값은 (0,10,1,11,2,12)입니다. X[0,1,2]=12가 새 배열의 X̃[0,2,1]에 있다는 대응을 확인하세요. 같은 값들을 새로운 축 좌표에 배치합니다.
Reshape와 저장 순서
마지막 축이 가장 빨리 변하는 행 우선 평탄 인덱스는
reshape는 이 평탄 순서를 유지하면서 좌표를 다시 읽는 연산인 반면 transpose/permute는 축의 의미와 지표 대응을 바꿉니다. 일반적으로 두 연산은 다릅니다. 실제 배열 라이브러리에서 view·stride·contiguous 여부와 복사 발생은 구현과 입력 레이아웃에 따라 달라집니다. 이 수학 실습은 원소 대응을 계산하며 실제 메모리 view를 생성하지 않습니다.
그림·코드·AI 연결
그림은 출력 배열의 이산 평탄 인덱스와 값이며 3D 공간의 높이를 보존한 그림이 아닙니다. 표에는 출력 축 좌표를 모두 적어 배열을 독립 검산할 수 있습니다. 배치를 2로 늘리면 차수는 그대로 3이고 원소 수는 12입니다.
attention의 batch·head·token·feature 축, 이미지의 channel 축을 바꿀 때 이 구분이 중요합니다. shape가 통과해도 잘못된 축에서 softmax나 평균을 계산하면 의미 오류가 남습니다. 연산 전후 각 축의 이름을 먼저 적으세요.
확인 문제와 답
- shape (2,3,4)의 차수와 원소 수는? 3과 24입니다.
- (1,2,3)에서 첫 축을 유지하면 차수는? 3입니다.
- transpose 뒤 값들을 단순 reshape로 얻을 수 있나요? 일반적으로 안 됩니다. 인덱스 대응을 확인해야 합니다.
추가 읽기: Kolda–Bader, Tensor Decompositions and Applications. 본문의 작은 배열·복원·비용 예제는 직접 구성했습니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.