Section 7.9매개변수 묶기와 매개변수 공유
지금까지의 정규화는 항상 고정된 점이나 영역에 대한 제약·페널티였다 — L² 정규화는 가중치를 고정값 0에서 벗어나는 것에 페널티를 준다. 그러나 때로는 매개변수의 적절한 값에 관한 사전 지식을 다른 방식으로 표현해야 한다.
우리가 자주 표현하고 싶은 의존성은 특정 매개변수들이 서로 가까워야 한다는 것이다. 매개변수를 가깝게 만드는 한 방법은 노름 페널티 Ω(w⁽ᴬ⁾, w⁽ᴮ⁾) = ‖w⁽ᴬ⁾ − w⁽ᴮ⁾‖₂²를 쓰는 것이다.
그러나 더 인기 있는 방법은 제약을 쓰는 것이다 — 매개변수 집합이 정확히 동일하도록 강제한다. 이 정규화 방법이 매개변수 공유(parameter sharing)다.
Section 7.9.1합성곱 신경망
가장 인기 있고 광범위한 매개변수 공유의 사용은 컴퓨터 비전에 적용되는 합성곱 신경망(CNN, Convolutional Neural Network)에서 발생한다.
자연 이미지는 이동에 불변(translation invariant)인 많은 통계적 속성을 가진다. 고양이 사진은 오른쪽으로 한 픽셀 이동해도 여전히 고양이 사진이다. CNN은 여러 이미지 위치에 걸쳐 매개변수를 공유함으로써 이 속성을 고려한다 — 동일한 가중치를 가진 은닉 유닛(동일한 특징)이 입력의 다른 위치에서 계산된다.
이것은 고양이가 이미지의 열 i에 나타나든 열 i+1에 나타나든, 동일한 고양이 탐지기로 찾을 수 있다는 것을 의미한다.
완전 연결 층에서는 모든 가중치가 자유롭다 — 입력 픽셀 수 × 출력 유닛 수만큼의 독립 매개변수가 필요하다. 합성곱 층에서는 단 하나의 작은 커널만이 자유롭고, 그 커널이 모든 위치에 묶여(tied) 재사용된다.
이 제약은 모델이 표현할 수 있는 함수의 공간을 좁히지만 — 좁히는 방향이 옳다. "특징은 위치에 무관하다"는 참인 사전 지식이 아키텍처에 직접 새겨진 것이다.
Section 7.9.2커널의 슬라이딩
합성곱의 작동을 시각적으로 이해해 보자. 작은 커널이 입력 위를 한 칸씩 미끄러지면서, 각 위치에서 겹치는 입력 패치와의 가중 합을 계산해 특징맵의 한 칸을 채운다. 같은 커널 가중치가 모든 위치에서 재사용된다 — 이것이 매개변수 공유의 작동하는 모습이다.
Section 7.9.3세 가지 핵심 아이디어
합성곱은 세 가지 중요한 아이디어로 학습을 개선한다 — 희소 상호작용, 매개변수 공유, 등변 표현.
| 속성 | 완전 연결 (Fully Connected) | 합성곱 (Convolutional) |
|---|---|---|
| 연결성 | 모든 입력 ↔ 모든 출력 | 국소 연결 — 커널 크기만큼만 |
| 가중치 | 모든 가중치가 독립·자유 | 커널 하나를 공유 — 위치마다 재사용 |
| 매개변수 수 | 입력×출력 (거대함) | 커널 크기 (극적으로 적음) |
| 대칭성 | 없음 | 이동 등변성 내장 |
Section 7.9.4도메인 지식의 본보기
매개변수 공유는 CNN이 고유한 모델 매개변수의 수를 극적으로 낮추고, 훈련 데이터의 해당하는 증가 없이도 네트워크 크기를 상당히 키울 수 있게 했다.
Goodfellow는 이를 두고 "도메인 지식을 네트워크 아키텍처에 효과적으로 통합하는 방법의 가장 좋은 예 중 하나"라고 평한다. 정규화는 흔히 손실 함수에 항을 더하는 것으로 이해되지만, CNN은 정규화가 아키텍처 자체에 새겨질 수 있음을 보여준다 — 가장 강력하고 가장 우아한 형태의 정규화다.