연결 탐구 5 · 스펙트럼과 이미지

사진을 몇 개의 방향으로 압축할 수 있을까?

사진 한 장은 수의 직사각형, 곧 행렬이다. 특이값 분해는 이 행렬을 중요한 랭크-1 성분부터 다시 배열한다. 남길 성분의 수를 바꾸며 화질, 저장량, 잡음 사이의 균형을 직접 확인한다.

1픽셀을 모으면 행렬

아래 이미지는 외부 사진이 아닌 24×24 합성 데이터다. 각 픽셀의 밝기를 $0$부터 $1$ 사이의 수로 기록한 행렬 $A\in\mathbb{R}^{24\times24}$. 행 번호 $i$는 세로 위치, 열 번호 $j$는 가로 위치를 나타낸다.

8 10 $A_{8,10}=0.000$
합성 원본24×24 · 576개 밝기
그레이스케일 합성 이미지를 행렬 격자로 나타낸 그림이다.
픽셀 $\longleftrightarrow$ 행렬 원소

$A_{ij}$의 값이 클수록 픽셀이 밝다. 사진 편집은 수의 배열을 바꾸는 계산이다.

한 행은 가로 한 줄의 밝기 벡터, 한 열은 세로 한 줄의 밝기 벡터. 이미지 속 반복되는 모양은 행과 열 사이의 선형 관계로 드러난다.

컬러 사진도 행렬 하나일까?

보통은 빨강·초록·파랑 밝기를 담은 행렬 세 개의 묶음이다. 각 채널에 같은 아이디어를 적용하거나 세 채널을 하나의 텐서로 다룬다. 이 페이지에서는 구조를 선명하게 보기 위해 그레이스케일 한 채널만 사용한다.

2랭크-1 성분 하나의 의미

열벡터 $u$와 행벡터 $v^T$의 외적 $uv^T$는 랭크가 1인 행렬이다. 모든 행이 같은 가로 무늬 $v^T$의 상수배라는 뜻. 세로 방향의 세기는 $u$, 가로 방향의 모양은 $v$가 결정한다.

1 $\sigma_1=0.000$ 에너지 0.0%
첫 번째 랭크-1 성분부호는 색으로 구분
선택한 랭크-1 성분의 열 지도이다.
두 방향의 무늬$u_r$ · $v_r$
왼쪽·오른쪽 특이벡터의 성분 그래프이다.

$C_1=\sigma_1u_1v_1^T$. 세로 무늬와 가로 무늬의 결합.

확인 질문 · 랭크-1 이미지에서 영벡터가 아닌 두 행의 관계는?
행이 왜 모두 같은 모양을 가질까?

$uv^T$의 $i$번째 행은 $u_i v^T$다. 행마다 달라지는 것은 계수 $u_i$뿐이고, 가로 모양 $v^T$는 그대로 유지된다. 이 강한 규칙 때문에 랭크-1 행렬은 두 벡터만으로 저장 가능하다.

3SVD와 최적의 저랭크 근사

특이값 분해는 어떤 실수 행렬에도 존재한다. $U$와 $V$의 열은 각각 정규직교 벡터이며, 특이값은 $\sigma_1\ge\sigma_2\ge\cdots\ge0$의 순서로 놓인다.

$A=U\Sigma V^T=\displaystyle\sum_{r=1}^{24}\sigma_r u_rv_r^T$

큰 특이값의 성분부터 더하면 중요한 구조가 먼저 복원된다.

입력 데이터
4
입력 · 구조만$A$
특이값 분해의 입력 이미지이다.
랭크-4 근사$A_k$
선택한 랭크의 근사 이미지이다.
남은 잔차$A-A_k$
입력과 근사의 차이를 나타낸 잔차 그림이다.
보존된 에너지0.0%
입력에 대한 RMSE0.0000
깨끗한 구조에 대한 RMSE0.0000
유효 랭크0
특이값 스펙트럼 막대그래프이다.

왜 앞의 $k$개가 최선일까?

절단 SVD $A_k=\sum_{r=1}^{k}\sigma_r u_rv_r^T$는 모든 랭크 $k$ 이하 행렬 가운데 프로베니우스 오차 $\lVert A-B\rVert_F$를 최소화한다. 최소 오차는 $\sqrt{\sigma_{k+1}^2+\cdots+\sigma_{24}^2}$. 이것이 에카르트–영 정리의 내용이다. 단, 수치 오차의 최소화가 사람 눈에 가장 자연스러운 결과까지 보장하는 것은 아니다.

4압축과 잡음 제거의 같은 손잡이

랭크 $k$ 근사는 $U_k$, 특이값 $k$개, $V_k$만 저장한다. $24\times24$ 원본의 576개 수 대신 $k(24+24+1)=49k$개의 수. 다만 실제 파일 크기는 자료형·양자화·메타데이터까지 포함하므로 아래 비교는 구조를 이해하기 위한 스칼라 개수 계산이다.

랭크에 따른 두 종류의 재구성 오차 그래프이다.
현재 근사 저장할 수 원본 대비 입력 오차 구조 오차
$A_4$ 196 34.0% 0.0000 0.0000

잡음이 있는 입력에서는 $k$를 늘릴수록 입력 오차는 계속 감소한다. 그러나 어느 순간부터는 구조가 아니라 잡음까지 복원되므로 깨끗한 기준에 대한 오차가 다시 커질 수 있다.

압축

작은 특잇값 성분을 지우면 저장량과 세부 정보가 함께 줄어든다.

잡음 제거

여러 방향에 흩어진 약한 성분을 제거한다. 신호가 낮은 랭크에 모여 있다고 가정한다.

데이터 분석

PCA처럼 주요 변동 방향만 남겨 행렬의 잠재 구조를 찾는다.

탐구 · ‘중요한 정보’의 기준

잡음 포함 모드에서 $k$를 1부터 24까지 움직여 보자. 다음 세 기준이 서로 다른 $k$를 선택할 수 있는 이유를 한 문장씩 정리하기.

수치 오차 최소
입력 행렬을 가장 정확히 재현하는 선택이다. 이 기준에서는 잡음도 정보로 취급한다.
저장량 제한
주어진 용량 안에서 가장 큰 $k$를 선택한다. 압축률을 먼저 정하는 기준이다.
의미 있는 구조 보존
잡음과 세부 구조를 구별해야 하는 선택이다. 판단하려면 자료의 맥락과 분석 목적이 필요하다.

5연결 지도

대칭행렬의 스펙트럼

$A^TA$와 $AA^T$의 고유벡터가 각각 $V$와 $U$를 이룬다. 특잇값은 고윳값의 제곱근이다.

저랭크와 AI

큰 행렬에서 중요한 방향만 학습하거나 갱신하는 저랭크 구조로 확장한다.

SVD를 고윳값 문제로 계산하는 까닭

$A^TA$는 항상 대칭이고 양의 준정부호다. 따라서 정규직교 고유기저 $v_r$와 음이 아닌 고윳값 $\lambda_r$을 갖는다. $\sigma_r=\sqrt{\lambda_r}$, $u_r=Av_r/\sigma_r$로 두면 $Av_r=\sigma_r u_r$가 되어 $A=U\Sigma V^T$가 완성된다.