행을 열로, 열을 행으로
행렬 의 전치 는 행과 열의 자리를 맞바꿔. 에 있던 원소가 로 가니까 2×3 행렬은 3×2가 돼. 정방행렬은 모양이 그대로지만 주대각선을 거울삼아 뒤집힌 셈이야.
왜 자주 쓰게 될까
- 행렬곱의 축을 맞출 때: (32, 128) 배치와 (256, 128) 가중치를 곱하려면 가중치를 (128, 256)으로 전치해 안쪽 차원을 맞춰.
- 대칭을 정의할 때: 면 대칭행렬이야. 공분산행렬과 그람행렬처럼 머신러닝의 중요한 행렬이 여기에 속해.
- 역전파를 계산할 때: 선형층을 거슬러 기울기를 보낼 때 전치된 가중치가 자연스럽게 나타나.
NumPy와 PyTorch의 단순 전치는 흔히 데이터를 복사하지 않고 stride만 바꾼 뷰를 돌려줘. 그렇다고 비용이 언제나 0인 건 아니야. 뒤 연산이 연속 메모리를 요구하면 복사가 생기거나, 비연속 접근 때문에 느려질 수 있어. 전치는 자유롭게 쓰되 성능이 중요한 구간에서는 실제 메모리 배치까지 확인해.
레고를 조립할 때 모양이 안 맞으면 블록을 살짝 돌려 끼우듯이, AI도 계산 중에 숫자 줄의 모양이 안 맞으면 Transpose(.T)라는 마법을 써서 숫자를 돌려준다. 그래야 퍼즐 조각처럼 딱 맞물려 행렬 곱셈이 시작될 수 있다. 대각선 거울 놀이를 했는데도 처음과 모양이 같다면 그 행렬은 아주 예쁜 '대칭 모양'을 가졌다는 뜻이다. AI는 이런 대칭 구조를 보면 데이터가 아주 규칙적이고 안정적이라고 판단한다.