행렬의 기본연산 (Matrix Operations)
쉽게 풀면
행렬은 숫자를 표 모양으로 늘어놓은 것인데, 그냥 표라면 아무 계산도 할 수 없습니다. 행렬을 진짜 수학적 도구로 쓰려면 "더하고 곱하는 규칙"이 정해져 있어야 합니다. 덧셈은 간단합니다. 크기가 같은 두 행렬을 나란히 놓고, 같은 자리에 있는 숫자끼리 더하면 됩니다. 스칼라곱도 쉽습니다. 행렬에 숫자 하나(스칼라)를 곱하면, 행렬 안의 모든 성분에 그 숫자를 곱합니다. 문제는 행렬끼리의 곱셈입니다. 이건 같은 자리끼리 곱하는 게 아니라, 앞 행렬의 "행"과 뒤 행렬의 "열"을 하나씩 짝지어 곱한 다음 다 더하는 방식으로 계산합니다. 그래서 앞 행렬의 열 개수와 뒤 행렬의 행 개수가 같아야만 곱셈이 가능하고, 곱하는 순서를 바꾸면 결과가 달라질 수도 있습니다(AB와 BA가 다를 수 있음). 이 세 가지 연산이 있어야 비로소 연립방정식을 행렬로 표현하거나, 데이터 여러 개를 한꺼번에 변환하는 계산을 할 수 있습니다.
왜 중요한가
행렬연산은 데이터를 대량으로 다루는 거의 모든 정량적 학문의 계산 언어이기 때문에 통계학, 신호처리, 물리학, 컴퓨터과학 논문에서 빠짐없이 등장합니다. 여러 변수와 여러 관측치를 동시에 다루는 선형모델, 좌표변환, 신경망 연산이 모두 행렬의 덧셈과 곱셈으로 표현되므로, 수식을 이해하려면 행렬연산의 규칙을 정확히 아는 것이 출발점이 됩니다. 또한 행렬연산은 컴퓨터에서 벡터화·병렬화하기에 유리한 형태여서, 대규모 데이터 처리와 딥러닝 연산의 효율성과도 직결됩니다.
논문에서는 이렇게 쓰입니다
이 문장은 신경망 모델에서 각 층이 입력값에 행렬 곱셈(가중치 반영)과 행렬 덧셈(편향 반영)을 순서대로 적용해 다음 층으로 넘긴다는 뜻입니다. 통계, 공학, 컴퓨터과학 논문에서 모델 구조를 수식으로 설명할 때 매우 흔하게 등장합니다.
통계학의 회귀분석 논문에서는 여러 변수 간 관계를 하나의 행렬곱 형태로 정리해 최소제곱 해를 구하는 절차가 표준적으로 쓰입니다.
컴퓨터비전이나 로보틱스 분야에서는 물체나 카메라의 위치와 방향을 다루기 위해 회전, 이동을 나타내는 행렬을 좌표 벡터에 곱하는 연산이 핵심적으로 사용됩니다.
조금 더 깊게 보면
행렬 곱셈이 교환법칙은 성립하지 않지만 결합법칙은 성립한다는 점은 여러 층의 변환을 이어 붙일 때 계산 순서를 자유롭게 조정할 수 있게 해주며, 이는 신경망 역전파나 대규모 행렬 연산의 효율화에서 실질적으로 활용됩니다. 또한 행렬곱은 원소별로 직접 계산하면 연산량이 빠르게 늘어나기 때문에, 실제 구현에서는 블록 단위 곱셈이나 GPU 병렬 연산 같은 최적화 기법이 함께 쓰입니다. 논문에서 행렬연산이 수식으로 제시될 때는 각 행렬의 차원이 서로 맞는지, 그리고 곱셈 순서가 의도한 변환의 방향과 일치하는지를 확인하며 읽는 것이 도움이 됩니다.
주의할 점
행렬의 곱셈은 일반적인 숫자의 곱셈과 달리 교환법칙이 성립하지 않습니다. 즉 A와 B 두 행렬이 있을 때 AB와 BA는 서로 다른 결과를 낼 수 있으므로, 논문에서 곱셈 순서가 바뀌면 전혀 다른 계산을 의미할 수 있다는 점에 주의해야 합니다.