Deep Learning Goodfellow · Bengio · Courville
Chapter 7 · Regularization for Deep Learning

합성곱 신경망

자연 이미지는 이동에 불변이다 — 고양이는 한 픽셀 옮겨도 고양이다. CNN은 이 사실을 매개변수 공유라는 가장 강력한 정규화로 번역한다.

Convolutional Network 매개변수 공유 국소 연결 이동 등변성

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에 나타나든, 동일한 고양이 탐지기로 찾을 수 있다는 것을 의미한다.

합성곱 — 이산 2차원 형태 S(i, j) = (K ∗ I)(i, j) = Σₘ Σₙ I(i+m, j+n)·K(m, n) I: 입력 이미지 · K: 커널(필터) — 모든 위치에서 공유되는 작은 가중치 행렬 · S: 특징맵(feature map). 같은 K가 입력 전체를 훑으며 같은 특징을 검출한다.
Identification묶인 가중치 vs 자유 가중치

완전 연결 층에서는 모든 가중치가 자유롭다 — 입력 픽셀 수 × 출력 유닛 수만큼의 독립 매개변수가 필요하다. 합성곱 층에서는 단 하나의 작은 커널만이 자유롭고, 그 커널이 모든 위치에 묶여(tied) 재사용된다.

이 제약은 모델이 표현할 수 있는 함수의 공간을 좁히지만 — 좁히는 방향이 옳다. "특징은 위치에 무관하다"는 참인 사전 지식이 아키텍처에 직접 새겨진 것이다.

Section 7.9.2커널의 슬라이딩

합성곱의 작동을 시각적으로 이해해 보자. 작은 커널이 입력 위를 한 칸씩 미끄러지면서, 각 위치에서 겹치는 입력 패치와의 가중 합을 계산해 특징맵의 한 칸을 채운다. 같은 커널 가중치가 모든 위치에서 재사용된다 — 이것이 매개변수 공유의 작동하는 모습이다.

Motion · 커널이 입력 위를 슬라이딩하며 특징맵 생성 Step 1 / 6
Space 재생 · → 다음 · R 리셋

Section 7.9.3세 가지 핵심 아이디어

합성곱은 세 가지 중요한 아이디어로 학습을 개선한다 — 희소 상호작용, 매개변수 공유, 등변 표현.

완전 연결 층 vs 합성곱 층
속성완전 연결 (Fully Connected)합성곱 (Convolutional)
연결성모든 입력 ↔ 모든 출력국소 연결 — 커널 크기만큼만
가중치모든 가중치가 독립·자유커널 하나를 공유 — 위치마다 재사용
매개변수 수입력×출력 (거대함)커널 크기 (극적으로 적음)
대칭성없음이동 등변성 내장
등변성(equivariance) 합성곱은 이동에 등변이다 — 입력을 옮기면 출력 특징맵도 같은 만큼 옮겨진다. f(shift(x)) = shift(f(x)). 풀링(pooling)을 추가하면 작은 이동에 대한 불변성까지 얻는다.
Motion · 매개변수 공유가 파라미터 수를 줄인다 Step 1 / 4
Space 재생 · → 다음 · R 리셋

Section 7.9.4도메인 지식의 본보기

매개변수 공유는 CNN이 고유한 모델 매개변수의 수를 극적으로 낮추고, 훈련 데이터의 해당하는 증가 없이도 네트워크 크기를 상당히 키울 수 있게 했다.

Goodfellow는 이를 두고 "도메인 지식을 네트워크 아키텍처에 효과적으로 통합하는 방법의 가장 좋은 예 중 하나"라고 평한다. 정규화는 흔히 손실 함수에 항을 더하는 것으로 이해되지만, CNN은 정규화가 아키텍처 자체에 새겨질 수 있음을 보여준다 — 가장 강력하고 가장 우아한 형태의 정규화다.

정리 합성곱 신경망은 "이미지의 특징은 위치에 무관하다"는 사전 지식을 매개변수 공유라는 하드 제약으로 표현한다. 그 결과 — 더 적은 매개변수, 더 큰 네트워크, 더 나은 일반화. CNN의 상세한 설명은 9장에서 이어진다.
Deep Learning · Goodfellow, Bengio, Courville · MIT Press 2016 Ch.7 정규화 — 한국어 학습판