선형변환과 랭크정리
선형 변환 Linear Transformation #
스마트폰에서 사진을 손가락으로 누르고 늘리거나 기울이는 사진편집 으로 비유할 수 있다.
스마트폰의 사진을 편집할 때 손가락 두 개로 사진을 대각선으로 늘리거나 한쪽으로 기울이거나(Skew), 회전시키는 장면을 떠올려보자
사진 위에 그려진 가로세로 모눈종이 격자를 유심히 보면 아무리 손가락을 늘리고 기울여도 직선은 여전히 꺾이지 않는 똑바른 직선으로 유지되며 격자 간격도 일정하게 변한다, 사진의 중앙 원점도 제자리를 지킨다.
반면 오목렌즈 효과처럼 사진 중앙을 볼록하게 튀어나오게 만들면 모눈종이 격자선이 휘어져 버린다.
이처럼 격자선을 구부러트리지 않고 직선은 직선으로 원점은 원점으로 유지하면서 공간 전체를 규칙적으로 변형시키는 조작을 수학에서는 선형변환 이라고 한다.
선형변환의 공식 정의 #
입력공간 의 벡터를 출력 공간 의 벡터로 바꿔주는 규칙(함수) 가 다음 두 가지 조건을 만족할 때 이를 선형변환이라고 한다.
- 가법성(Additivity): 입력끼리 먼저 더해서 변환한 결과와, 각각 변환뒤에 더한 결과가 같다.
- 스칼라베 투과성(Homogenity): 입력에 배수를 취해서 변환한 것과, 변환 후 배수를 취한것이 같다.
- 변환 (Transformation): 하나의 숫자 벡터를 받아서 정해진 규칙에 따라 다른 숫자나 벡터로 바꿔 출력해주는 규칙 (함수와 같은 의미다.)
- 사상 (Mapping): 화살표를 쏘듯, 입력 공간 한 점을 출력 공간의 한 점으로 1:1 대응시키는 과정이다.
- 가법성: 더해서 처리하나, 처리하고 더하나 결과가 똑같다"라는 정직하고 예측 가능한 성질
선형변환과 행렬의 관계 () #
모든 선형 변환은 단 하나의 행렬 곱셈 Ax로 완벽하게 표현할 수 있다.
공간 전체의 모든 점이 어디로 이동하는지 일일이 추적할 필요가 없다. 기본단위 화살표 (기저벡터: x축 방향 1, y축 방향 1)가 변환한 후 어디로 이동했는지만 알면, 그 이동 위치로 열로 나열한 행렬 A가 만들어진다.
- 기저 벡터(): 공간의 기준이 되는 가장 기본 크기 길이 1의 화살표들 (축 방향 , 축 방향 )
- 표준 행렬 (Standard Matrix): 선형변환이 공간을 어떻게 변형시키는지 그 규칙을 숫자로 압축해 담아놓은 행렬.
AI Engineering 맥락 #
- 인공신경망의 선형 레이어 Linear / Dense Layer: 딥러닝의 가장 기본 단위인 연산에서 가 바로 입력 데이터를 새로운 공간으로 위치시키는 선형변환
- 비선형 활성화 함수 (Activation Function): 선형변환을 아무리 여러번 합성(연속 적용)해도 결국 하나의 행렬 곱셈 으로 축소되어 버린다. 따라서 신경망이 복잡한 곡선 데이터 구조를 학습할 수 있도록 레이어 사이에 ReLU, Sigmoid 같은 비선형 함수를 섞어 격자를 일부러 접고 구부리는 작업을 수행한다.
- 이미지 전처리 Affine Transformation: 컴퓨터 비전 모델 학습시 데이터 증강 Augmentation을 위해 이미지를 회전 확대 이동시킬때 선형변환 행렬을 사용한다.
랭크 정리 - Rank-Nulity Theorem #
어두운 방에서 손전등을 키고 손으로 벽에 손가락 그림자를 만드는 것을 상상해보자.
손전등 불빛 아래에 3차원 입체인 내 손을 움직여 벽면에 2차원 그림자를 만드는 상황이다.
- 살아남은 정보 (랭크): 손가락을 쫙 편 모양은 벽면에 2차원 평면의 형태 (넓이)로 살아남아 그대로 표현된다.
- 찌그러져 사라진 정보 (널리티): 손의 앞뒤나 손바닥안쪽 면 등 빛이 나아가는 방향과 겹치는 차원의 정보는 벽면에 점이나 선으로 찌그러져 사라진다.
여기서 가장 중요한 사실은 [벽에그림자로 살아남은 차원 수] + [찌그러져 사라진 차원 수] = [원래 내 손의 차원 수 3차원] 라는 관계가 항상 완벽하게 유지된다는 점이다. 이 차원 보존 법칙이 바로 랭크정리다.
치역(Image)과 영공간(Kernel) #
선형변환 (행렬 )이 있을 때:
- 치역 / 상 (Image, 또는 ): 변환 결과 실제로 도달할 수 있는 모든 출력 벡터들의 집합 (벽에 찍힌 그림자 영역.)
- 영공간 / 핵 (Kernel / Nullspace, ): 변환을 거쳤을 때 출력이 정확히 0 원점으로 찌그러져 사라지는 입력 벡터들의 집합이다 빛과 평행해 점 0으로 압축된 손의 두께 방향
치역은 화살을 쏘았을 때 과녁판에 맞은 점들의 영역으로 비유할 수 있고
영공간 nullspace는 변환 이후 결과값이 0이되어 형태가 파괴되어버린 입력값들의 모임이다.
랭크 정리의 수식 #
입력 공간의 차원 수를 n이라고 할 때 출력으로 살아남은 차원 rank와 0으로 압축되어 사라진 차원의 합은 언제나 원래 차원 수 n과 같다.
- Rank는 계수로 행렬이 표현할 수 있는 진짜 차원 수 (행렬에서 중복되지 않는 독립된 줄의 수)
- 널리티는 변환 과정에서 0으로 바뀐 손실되어 버린 차원 개수
[입력 공간: 3차원 (n = 3)]
│
(선형변환 A)
│
├──► [출력 공간에 살아남은 평면: 2차원] ──► Rank(A) = 2
└──► [0으로 찌그러져 사라진 선: 1차원] ──► Nullity(A) = 1
★ 2 + 1 = 3 (Rank + Nullity = n)
- LLM 미세 조정 기법 - LoRA(Low-Rank-Adaptation): 거대 언어 모델 LLM의 매개변수 행렬 W는 수천차원에 달하지만, 특정 단일 임무를 학습할 때 실제로 새로 업데이트 되는 정보의 알짜배기 차원은 매우 낮다 (보통 4~8) LoRA는 이원리를 이용하여 거대한 d x k 행렬을 직접 수정하는 대신, 랭크가 낮은 아주 작은 두개의 행렬 와 의 곱으로 표현함으로써 메모리와 학습 시간을 99% 이상 절감한다.
- 차원 축소 및 정보 손실 평가: 가중치 행렬 A의 랭크가 입력 차원 n보다 작으면 (), 해당 레이어를 통과할 때 입력 데이터의 일부 정보가 영공간(Nullspace)으로 떨어져 절대로 복원 불가능하게 파괴됨을 의미한다.
- 다공선성 Multicollinearity 판별: 데이터 분석시 입력 데이터의 랭크가 Feature 개수 (특징) 보다 적다면 서로 완전히 중복되는 무의미한 데이터 열이 존재한다는 뜻이므로 제거하는 전처리가 필요하다. 0 같은걸로 주루르르륵 있을테니까 - 이나