Deep LearningGoodfellow · Bengio · Courville
Chapter 6§ 6.3
Chapter 6 · 심층 순방향 네트워크 — Deep Feedforward Networks

은닉 유닛

어떤 활성화 함수를 쓸 것인가. 확정적 이론은 아직 없고, 설계는 시행착오다. 그러나 함수의 모양과 그 기울기를 들여다보면, 왜 ReLU가 기본값이 되었는지가 보인다.

§ 6.3 ReLU sigmoid · tanh 포화 (saturation) maxout

Section 1아직 이론이 없는 설계

이제 순방향 신경망에 고유한 문제로 전환한다 — 모델의 은닉층에서 어떤 유형의 은닉 유닛을 쓸 것인가. 은닉 유닛의 설계는 매우 활발한 연구 분야이며, 아직 확정적으로 안내하는 이론적 원칙이 많지 않다.

정류 선형 유닛(ReLU)은 은닉 유닛의 훌륭한 기본 선택이다. 그 외에도 많은 유형이 있지만, 어떤 것이 가장 잘 동작할지 미리 예측하는 일은 보통 불가능하다. 설계 과정은 시행착오로 이루어진다 — 어떤 유닛이 잘 동작하리라는 직관을 가지고 네트워크를 훈련한 뒤, 검증 세트에서 성능을 평가한다.

직관 — Intuition 목록의 일부 은닉 유닛은 모든 점에서 미분 가능하지 않다. 예컨대 g(z)=max{0,z}z=0에서 미분 불가능하다. 그래도 괜찮다 — 훈련은 기울기가 0인 점에 실제로 도달하리라 기대하지 않으며, 소프트웨어는 그 점에서 좌·우 단측 도함수 중 하나를 반환한다. 디지털 컴퓨터의 수치 오차를 생각하면, 입력이 정확히 0일 가능성은 거의 없다.

달리 명시하지 않는 한, 대부분의 은닉 유닛은 입력 벡터 x를 받아 아핀 변환 z = Wᵀx + b를 계산한 뒤 요소별 비선형 함수 g(z)를 적용하는 것으로 설명된다. 대부분의 은닉 유닛은 오직 활성화 함수 g(z)의 선택에서만 서로 구별된다.

Section 2정류 선형 유닛 (ReLU)

정류 선형 유닛은 활성화 함수 g(z) = max{0, z}를 쓴다. 이 유닛은 선형 유닛과 매우 닮았기에 최적화하기 쉽다. 차이는 단 하나 — ReLU는 정의역의 절반에서 0을 출력한다는 것이다.

Equation 6.36 — ReLU 유닛
h = g(Wᵀx + b),   g(z) = max{0, z}
z > 0 도함수 = 1, 정보가 그대로 통과 · z < 0 출력 = 0, 도함수 = 0 · 편향 b는 0.1 같은 작은 양수로 초기화하길 권장.
핵심 — Key ReLU의 강점은 기울기가 크고 일관적이라는 데 있다. 유닛이 활성화된 모든 곳에서 도함수가 1이고, 정류 연산의 2차 도함수는 거의 모든 곳에서 0이다. 기울기 방향이 2차 효과로 흐트러지지 않아, 학습에 훨씬 유용하다.

아래 스테이지에서 세 활성화 함수 — ReLU, 시그모이드, tanh — 의 모양과 그 기울기(도함수)를 나란히 본다. 기울기가 0에 가까워지는 구간이 바로 학습이 느려지는 곳이다.

Stage A · 활성화 함수와 그 기울기 STEP 01 / 6
스페이스 재생 · ← → 단계 이동

Section 3ReLU의 일반화

ReLU의 한 가지 단점 — 활성화가 0인 예시에서는 경사 기반 방법으로 학습할 수 없다(dying ReLU). 여러 일반화가 이 문제를 다룬다. 세 가지는 z < 0일 때 0이 아닌 기울기 αi를 쓰는 데 기반한다.

ReLU 일반화 — 누수 계열
hi = g(z, α)i = max(0, zi) + αi min(0, zi)
절댓값 정류 α = −1 → g(z)=|z| · 누수 ReLU α ≈ 0.01 고정 · PReLU α를 학습 가능한 매개변수로.

맥스아웃 유닛(maxout)은 ReLU를 더 일반화한다. 요소별 함수 g(z)를 적용하는 대신, zk개씩의 그룹으로 나누고 각 그룹의 최댓값을 출력한다.

Equation 6.37 — 맥스아웃 유닛
g(z)i = maxj∈𝔾(i)  zj
𝔾(i) 그룹 i의 입력 인덱스 집합 {(i−1)k+1, …, ik} · 최대 k개 조각을 가진 구간 선형 볼록 함수를 학습 — 활성화 함수 자체를 학습한다.
핵심 — Key ReLU와 그 일반화 전부를 관통하는 원칙 하나 — 동작이 선형에 가까울수록 모델은 최적화하기 쉽다. 이 원칙은 심층 순방향 네트워크를 넘어, LSTM이 덧셈이라는 특별히 단순한 선형 연산으로 시간을 거쳐 정보를 전파하는 데까지 이어진다.

Section 4시그모이드와 tanh

ReLU 도입 이전에는 대부분의 신경망이 로지스틱 시그모이드 g(z)=σ(z) 또는 쌍곡선 탄젠트 g(z)=tanh(z)를 썼다. 둘은 tanh(z) = 2σ(2z) − 1의 관계로 밀접하게 묶여 있다.

구간 선형 유닛과 달리, 시그모이드 유닛은 정의역의 대부분에서 포화된다 — z가 매우 양수일 때 높은 값으로, 매우 음수일 때 낮은 값으로 포화되고, z가 0 근처일 때만 입력에 민감하다. 이 광범위한 포화는 경사 기반 학습을 매우 어렵게 만든다. 그래서 순방향 네트워크의 은닉 유닛으로는 이제 권장되지 않는다.

함정 — Pitfall 시그모이드의 도함수는 최댓값이 0.25이고, 포화 구간에서는 거의 0이다. 이 작은 기울기들이 여러 층을 거쳐 곱해지면 기울기 소실(vanishing gradient)이 일어난다. 깊은 네트워크의 앞쪽 층은 거의 학습되지 않는다.

시그모이드를 꼭 써야 할 때는 보통 tanh가 로지스틱 시그모이드보다 낫다. tanh(0)=0인 반면 σ(0)=½이라, tanh는 0 근처에서 항등 함수와 더 닮았다. 활성화가 작게 유지되는 한, tanh 네트워크 훈련은 선형 모델 훈련과 비슷해져 더 쉬워진다. 시그모이드는 순환 네트워크, 확률적 모델, 일부 오토인코더처럼 순방향 네트워크 바깥에서 더 흔하다.

Section 5기타 은닉 유닛

많은 다른 유형의 은닉 유닛이 가능하지만 덜 자주 쓰인다. 일반적으로 다양한 미분 가능 함수가 완벽히 잘 동작한다 — 저자들은 MNIST에서 h = cos(Wᵀx + b)를 써 1퍼센트 미만의 오류율을 얻기도 했다. 새 은닉 유닛 유형은 보통 명확한 개선이 입증될 때만 발표된다.

덜 흔한 은닉 유닛 유형
유형정의특징
항등 / 선형g(z) = z가중치 행렬을 저순위로 인수분해 — 매개변수 절약
소프트맥스softmax(z)스위치 역할 — 메모리를 조작하는 고급 아키텍처에서
RBFexp(−‖W − x‖² / σ²)x가 템플릿에 가까울수록 활성 — 대부분 0으로 포화, 최적화 난해
소프트플러스ζ(a) = log(1 + eᵃ)정류기의 부드러운 버전 — 경험적으로 ReLU보다 못함, 권장 안 함
하드 tanhmax(−1, min(1, a))tanh·정류기와 비슷한 모양, 경계가 있음
직관 — Intuition 소프트플러스는 직관에 반하는 사례다. 모든 곳에서 미분 가능하고 덜 완전하게 포화되니 ReLU보다 이점이 있을 듯하지만, 경험적으로는 그렇지 않다. 은닉 유닛의 성능은 모양만 보고 예측하기 어렵다 — 그래서 설계는 여전히 시행착오다.
Stage B · 활성화 함수로 곡선을 합성하기 STEP 01 / 5
스페이스 재생 · ← → 단계 이동
핵심 — Key 은닉 유닛 설계는 활발한 연구 분야로 남아 있다 — 아직 발견되지 않은 유용한 유형이 많다. 그러나 출발점은 분명하다. 의심스러우면 ReLU를 써라.