1. 개요[편집]
| 딕셔너리 학습 Dictionary Learning | |
|---|---|
| 다른 이름 | 희소 부호화(sparse coding), 사전 학습 |
| 모형 | Y ≈ DX (D는 과완비, X는 희소) |
| 대표 알고리즘 | MOD (1999), K-SVD (2006), 온라인 DL (2009) |
| 난이도 | 비볼록 · NP-난해 → 국소해만 보장 |
| 대표 응용 | 영상 잡음제거·인페인팅, MRI 가속, 고장 진단 |
딕셔너리 학습은 신호 집합 를 미리 정해진 기저가 아니라 데이터에서 직접 학습한 과완비 딕셔너리 와 희소 계수 의 곱 로 분해하는 표현 학습 기법이다. 딕셔너리의 각 열 를 원자(atom)라 부르고, 각 신호는 소수의 원자만 골라 선형결합한 것으로 설명된다.
웨이블릿 변환이나 DCT 같은 고정 기저는 “자연 신호는 대충 이렇게 생겼을 것”이라는 수학자의 가정을 코드로 굳혀 놓은 것이다. 잘 맞으면 우아하지만, 초음파 탐상 신호나 특정 장비의 진동 데이터처럼 그 가정 바깥에 있는 신호에서는 희소성이 무너진다. 딕셔너리 학습의 발상은 단순하다 — 기저를 데이터에게 물어보자. 그 대가로 문제는 볼록에서 비볼록으로, 변환 한 번에서 반복 최적화로 넘어간다.1
2. 문제 정식화[편집]
신호 하나가 차원 벡터이고 개 있다고 하자. , , 이며 핵심 조건은 — 원자 수가 신호 차원보다 많다(과완비, overcomplete). 표준적인 목적함수는
이다. 제약 대신 벌점을 써서 로 완화한 형태도 똑같이 흔하다.
여기서 열 노름 정규화가 왜 필수인지를 짚어야 한다. 임의의 대각 스케일 행렬 에 대해 이므로, 제약이 없으면 원자를 무한히 키우고 계수를 무한히 줄여서 벌점을 0으로 만들 수 있다. 즉 정규화가 없으면 목적함수의 하한이 무너진다. 열 순서를 바꾸는 치환 모호성도 남아 있는데, 이쪽은 해의 품질에 영향이 없어 그냥 방치한다.
과완비라는 점이 주성분 분석과의 결정적 차이다. PCA는 직교 기저 을 학습해 모든 신호를 조밀한 계수로 설명한다(분산 최대화). 딕셔너리 학습은 비직교·과완비 기저를 학습해 각 신호마다 다른 소수의 원자로 설명한다. 모형으로 말하면 PCA는 하나의 저차원 부분공간을, 딕셔너리 학습은 부분공간들의 합집합(union of subspaces)을 가정한다. 데이터가 여러 개의 국소 구조로 쪼개져 있으면 후자가 압도적으로 유리하다.
3. 교대 최소화[편집]
와 를 동시에 최적화하는 문제는 쌍선형이라 비볼록이지만, 하나를 고정하면 다른 하나는 다룰 만해진다. 그래서 거의 모든 알고리즘이 두 단계를 번갈아 돈다.
3.1. 1단계 — 희소 코딩 (D 고정, X 갱신)[편집]
를 고정하면 신호마다 독립적인 희소 근사 문제가 된다. 이건 압축센싱의 복원 문제와 완전히 같은 형태다.
- 직교 매칭 추구(OMP) — 잔차와 가장 상관이 큰 원자를 하나씩 뽑고, 매 단계에서 선택된 원자들에 대해 최소제곱을 다시 푼다. 제약을 정확히 지키고 반복 수가 로 고정돼 빠르다. K-SVD가 기본으로 쓰는 방식.
- 완화 — LASSO를 근접 경사법의 ISTA/FISTA나 LARS로 푼다. 볼록이라 전역해가 나오고 이론적 보증이 붙지만, 신호 하나당 반복 루프가 돌아 OMP보다 느린 경우가 많다.
이 단계가 전체 계산 시간의 대부분을 잡아먹는다. 이 수십만 패치 규모면 여기서 병렬화 여부가 실행 가능성을 가른다.
3.2. 2단계 — 딕셔너리 갱신 (X 고정, D 갱신)[편집]
- MOD(Method of Optimal Directions, 1999). 를 고정하면 는 그냥 최소자승법이다. 해는 . 한 줄로 끝나지만 역행렬이 필요하고 이 나쁜 조건수를 갖기 쉽다.
- 온라인 딕셔너리 학습(2009). 전체 데이터를 한 번에 보는 대신 미니배치로 확률적 근사를 돌린다. 수백만 패치 규모에서 사실상 유일한 선택지.
이 단계의 사실상 표준은 K-SVD(2006)다. 딕셔너리 전체를 한 번에 갱신하는 대신 원자를 하나씩 고치는데, 원자 를 쓰는 신호들의 인덱스 집합 를 모으고 그 원자를 뺀 잔차 행렬
를 열로만 제한한 에 대해 랭크 1 근사를 구한다. 특이값 분해로 를 얻으면 새 원자는 , 대응 계수는 이다. 원자와 계수를 동시에 갱신하는데도 희소성 패턴이 보존된다는 것이 이 트릭의 핵심 — 바깥은 아예 건드리지 않기 때문이다. 이름의 K는 k-평균 군집화에서 왔고, 실제로 계수를 “0 아니면 1 하나”로 제한하면 K-SVD는 정확히 k-평균으로 퇴화한다.2
4. 비볼록성이라는 현실[편집]
목적함수는 와 에 대해 각각은 볼록이지만 결합해서는 비볼록이며, 제약을 정확히 다루면 NP-난해다. 따라서 전역해는 포기하고 국소해로 만족하는 것이 이 분야의 기본자세다. 실무에서 결과를 좌우하는 것들:
- 초기화. 데이터에서 랜덤하게 뽑은 패치를 정규화해 원자로 쓰거나, 과완비 DCT로 시작하는 것이 표준이다. 완전 난수 초기화는 수렴이 느리고 죽은 원자를 많이 만든다.
- 죽은 원자 / 중복 원자 처리. 아무 신호도 쓰지 않는 원자, 혹은 다른 원자와 상관계수가 0.99인 원자가 반드시 생긴다. 대책은 정직하다 — 잔차가 가장 큰 신호로 그 원자를 갈아 끼운다. 이 청소를 안 하면 유효 딕셔너리 크기가 소리 없이 줄어든다.
- 와 선택. 이론적 지침이 빈약해서 사실상 교차검증이다. 를 키우면 표현력은 오르지만 원자 간 상호일관성(mutual coherence)이 나빠져 희소 코딩 단계의 복원 보증이 약해진다.
- 패치 기반이라는 전제. 영상 전체를 한 벡터로 쓰지 않고 8×8 패치로 쪼개 로 다루는 것이 관행이다. 그래야 이 충분히 커지고 계산이 감당된다. 대신 패치 경계 불연속이 생겨 겹침 평균(overlapping averaging)으로 문질러야 한다.
5. 응용[편집]
- 영상 잡음제거와 인페인팅. 잡음 낀 영상 자체에서 딕셔너리를 학습하고(자기 학습), 각 패치를 희소 근사로 재구성한다. 잡음은 어떤 원자로도 희소하게 표현되지 않으므로 자연스럽게 걸러진다. 결측 화소가 있는 인페인팅은 관측된 성분만 잔차에 넣어 희소 코딩을 돌리면 그대로 확장된다.
- MRI 가속. 압축센싱의 고정 기저(웨이블릿) 자리에 학습된 딕셔너리를 넣으면 같은 가속률에서 인공물이 줄어든다. 재구성과 딕셔너리 학습을 한 루프 안에서 번갈아 도는 구조.
- 초해상도. 저해상도-고해상도 패치 쌍에 대해 결합 딕셔너리를 학습하고, 두 딕셔너리가 희소 계수를 공유한다고 가정한다. 딥러닝 이전 초해상도의 대표 계열.
- 고장 진단. 회전기계 진동 신호에서 충격 성분을 원자로 학습해 베어링 결함 주기를 뽑는다. 신호가 시간 축에서 이동해도 같은 파형이라는 성질 때문에, 이동 불변 딕셔너리나 합성곱 희소 부호화가 쓰인다.
- 분류를 위한 판별 딕셔너리. 재구성 오차만이 아니라 클래스 판별력까지 목적함수에 넣은 변형(D-KSVD, LC-KSVD)이 있다.
6. 신경망과의 관계[편집]
합성곱 신경망이 등장하면서 “학습된 필터”의 자리를 상당 부분 내줬지만, 두 세계는 생각보다 가깝다. 희소 오토인코더의 인코더는 결국 값비싼 희소 코딩 추론을 한 번의 순방향 통과로 근사하는 장치이고, ISTA 반복을 유한 단계로 펼쳐(unrolling) 각 단계의 행렬을 학습 파라미터로 바꾼 LISTA는 두 관점을 문자 그대로 이어 붙인다. 딕셔너리 학습 쪽의 장점은 여전히 남아 있다 — 원자가 눈에 보이는 물리적 파형이라 해석 가능하고, 학습 데이터가 수백 장 규모여도 동작하며, 잔차 노름이라는 정직한 진단 지표가 있다.3
7. 관련 문서[편집]
8. Footnotes[편집]
-
Olshausen & Field (1996)가 자연 영상 패치에 희소 코딩을 돌렸더니 학습된 원자가 포유류 1차 시각피질의 수용장처럼 국소적·방향 선택적·대역 통과 필터로 나왔다는 결과가 이 분야의 창세기다. “뇌가 희소 코딩을 한다”는 주장의 근거로 지금도 인용되는데, 정작 그 논문은 신경과학이 아니라 최적화 논문에 더 가깝다. ↩
-
K-SVD 논문의 실험 딕셔너리는 8×8 패치에 원자 256개, 즉 , 로 4배 과완비였다. 20년 가까이 지난 지금도 영상 처리 쪽 기본 설정으로 거의 그대로 쓰인다. 하이퍼파라미터는 한 번 굳으면 안 바뀐다. ↩
-
물론 현업에서 “해석 가능해요”는 성능 표에서 밀렸을 때 꺼내는 카드라는 인식이 있다. 다만 규제 산업이나 안전 인증이 걸린 진단 분야에서는 그 카드가 진짜로 통한다. 원자 하나를 그려서 “이 파형이 이만큼 섞였습니다”라고 말할 수 있는 것과, 512차원 은닉 벡터를 들이미는 것은 심사장에서 완전히 다른 대접을 받는다. ↩