Deep Learning Goodfellow · Bengio · Courville
Chapter 8 · Optimization for Training Deep Models

매개변수 초기화 전략

너무 크면 신호가 폭발하고 너무 작으면 소멸한다 — 출발점 하나가 깊은 네트워크의 운명을 가른다.

초기화 대칭 깨기 Glorot · Xavier 신호 분산 보존

Section 8.4출발점이 운명을 가른다

일부 최적화 알고리즘은 반복적이지 않거나, 반복적이더라도 초기화와 무관하게 수용 가능한 해로 수렴한다. 딥러닝 훈련 알고리즘은 일반적으로 이러한 장점 중 어느 것도 가지지 않는다.

심층 모델 훈련은 대부분의 알고리즘이 초기화 선택에 강하게 영향을 받을 만큼 충분히 어려운 과제다. 초기 점은 —

  • 알고리즘이 수렴하는지 여부를 결정할 수 있다 (일부 초기 점은 너무 불안정해 수치적으로 완전히 실패한다).
  • 학습이 수렴할 때 얼마나 빨리 수렴하는지, 그리고 높은 비용인지 낮은 비용인지를 결정할 수 있다.
  • 비교 가능한 비용을 가진 점들이 크게 다른 일반화 오류를 가질 수 있어, 초기 점은 일반화에도 영향을 미친다.

현대의 초기화 전략은 단순하고 휴리스틱하다. 신경망 최적화가 아직 잘 이해되지 않았기에, 개선된 전략을 설계하는 것은 어려운 과제로 남아 있다.

직관 대부분의 초기화 전략은 네트워크가 초기화될 때 좋은 속성을 달성하는 것에 기반한다. 그러나 그 속성이 학습이 진행된 뒤에도 보존되는지에 대해 우리는 좋은 이해가 없다 — 초기화는 여전히 경험과 휴리스틱의 영역이다.

Section 8.4.1대칭 깨기

거의 완전한 확실성으로 알려진 유일한 속성은 — 초기 매개변수가 서로 다른 유닛들 사이의 "대칭을 깨야(break symmetry)" 한다는 것이다.

동일한 활성화 함수를 가진 두 은닉 유닛이 동일한 입력에 연결되어 있다면, 이들은 서로 다른 초기 매개변수를 가져야 한다. 같은 초기 매개변수를 가지면, 결정론적 비용과 결정론적 학습 알고리즘은 이 두 유닛을 영원히 같은 방식으로 업데이트한다 — 두 유닛은 영원히 같은 함수를 계산하는, 사실상 하나의 유닛이 되어버린다.

무작위 초기화 — 대칭을 깨는 방법 Wᵢ,ⱼ ~ 𝒩(0, σ²) 또는 Wᵢ,ⱼ ~ U(−a, a) 고엔트로피 분포에서의 무작위 초기화는 계산적으로 저렴하고, 어떤 두 유닛도 같은 함수를 계산하도록 할당하지 않을 가능성이 높다. · 가우시안과 균등 분포의 선택은 크게 중요하지 않은 것으로 보인다.
Why Random왜 무작위인가

각 유닛이 다른 유닛과 다른 함수를 계산하게 하는 것이 목표다. 그람-슈미트 직교화로 명시적으로 서로 다른 기저를 검색할 수도 있지만, 이는 눈에 띄는 계산 비용을 발생시킨다.

고차원 공간에서 고엔트로피 분포의 무작위 추출은, 거의 공짜로 — 모든 유닛이 충분히 다른 함수를 계산하도록 만든다. 그래서 우리는 거의 항상 가중치를 무작위로 초기화한다.

Motion · 같은 초기값의 함정 vs 무작위 초기화 Step 1 / 4
Space 재생 · → 다음 · R 리셋

Section 8.4.2초기 스케일의 딜레마

초기 분포의 스케일(scale)은 최적화의 결과와 네트워크의 일반화 능력 모두에 큰 영향을 미친다. 여기에는 서로 경쟁하는 요인들이 있다.

초기 가중치 스케일 — 경쟁하는 요인
관점큰 초기 가중치작은 초기 가중치
대칭 깨기더 강함 — 중복 유닛 회피약함
신호 전파순전파·역전파 신호 손실 방지층을 지나며 신호 축소
위험폭발하는 값, 활성화 포화, 혼돈소멸하는 신호와 기울기
정규화불리 — 정규화는 작은 가중치 선호유리 — 초기점 근처 사전 분포
두 절벽 사이 너무 큰 초기 가중치는 순전파·역전파 동안 폭발하는 값을 낳고, 활성화 함수를 포화시켜 포화된 유닛을 통한 기울기를 완전히 잃게 한다. 너무 작으면 신호가 층을 지날 때마다 줄어들어 소멸한다. 좋은 초기화는 이 두 절벽 사이의 좁은 능선을 걷는 것이다.

최적화 관점은 정보를 성공적으로 전파하기에 충분히 큰 가중치를 권하지만, 일부 정규화 관점은 가중치를 더 작게 만들도록 권한다. 매개변수 θ를 θ₀로 초기화하는 것은, 평균 θ₀를 가진 가우시안 사전 분포를 부과하는 것과 유사하게 생각할 수 있다 — 이 관점에서 θ₀를 0 가까이 두는 것은, "유닛들이 서로 상호작용하지 않을 가능성이 더 높다"고 말하는 것이다.

Section 8.4.3Glorot 정규화 초기화

가중치 초기 스케일을 고르는 여러 휴리스틱이 있다. 한 휴리스틱은 m개 입력·n개 출력을 가진 완전 연결 층의 각 가중치를 U(−1/√m, 1/√m)에서 샘플링하는 것이다. Glorot and Bengio(2010)는 더 정교한 정규화 초기화(normalized initialization)를 제안했다.

Glorot(Xavier) 정규화 초기화 Wᵢ,ⱼ ~ U( −√(6/(m+n)) , +√(6/(m+n)) ) m: 입력(fan-in) · n: 출력(fan-out). 이 휴리스틱은 모든 층이 같은 활성화 분산을 갖게 하려는 목표와, 모든 층이 같은 기울기 분산을 갖게 하려는 목표 사이의 타협이다.

이 공식은 네트워크가 비선형성 없이 행렬 곱셈의 사슬로만 구성된다는 가정에서 유도된다. 실제 신경망은 분명히 이 가정을 위반하지만, 선형 모델을 위해 설계된 많은 전략이 비선형 대응물에서도 합리적으로 잘 작동한다.

Saxe 등(2013)은 각 층의 비선형성을 설명하는 이득 계수(gain factor) g와 함께 무작위 직교 행렬로 초기화할 것을 권한다. Sussillo(2014)는 이득 계수를 올바르게 설정하면 직교 초기화 없이도 1,000층 깊이의 네트워크를 훈련할 수 있음을 보였다 — 핵심 통찰은 활성화와 기울기가 무작위 보행(random walk)처럼 전파될 때, 그 보행이 노름을 보존하도록 조정하면 소멸·폭발 문제를 대부분 피할 수 있다는 것이다.

현실 이러한 "최적" 기준이 항상 최적의 성능으로 이어지지는 않는다 — 기준 자체가 틀렸을 수도, 초기화 시 부과된 속성이 학습 후 지속되지 않을 수도, 최적화 속도는 개선하되 일반화를 해칠 수도 있기 때문이다. 실제로 가중치 스케일은 이론적 예측 근처에서 시작하되 하이퍼파라미터로 취급해 검색하는 것이 보통이다.
Motion · 스케일에 따른 신호 폭발 · 소멸 · 보존 Step 1 / 5
Space 재생 · → 다음 · R 리셋

Section 8.4.4편향과 그 외 매개변수

지금까지는 가중치 초기화에 초점을 맞췄다. 다행히 다른 매개변수의 초기화는 일반적으로 더 쉽다.

편향을 0으로 설정하는 것은 대부분의 가중치 초기화 체계와 호환된다. 0이 아닌 값으로 설정하는 몇 가지 상황이 있다.

Bias편향을 0이 아니게 둘 때

출력 유닛 편향 — 출력의 올바른 주변 통계를 얻도록 초기화하면 유익하다. 초기 가중치가 충분히 작아 출력이 편향만으로 결정된다고 가정하면, 편향을 훈련 세트 출력 주변 통계의 활성화 함수 역으로 설정할 수 있다 (예: softmax(b) = c).

포화 회피 — 초기화 시 ReLU가 포화(죽음)되는 것을 피하려, ReLU 은닉 유닛의 편향을 0이 아닌 0.1로 설정할 수 있다.

게이트 — 한 유닛이 다른 유닛의 함수 참여를 제어할 때 (출력 uh), 게이트 h가 초기화 시 대부분 h≈1이 되도록 편향을 설정한다 — 그렇지 않으면 u가 학습 기회를 잃는다. Jozefowicz 등(2015)은 LSTM 망각 게이트 편향을 1로 둘 것을 옹호한다.

분산·정밀도 매개변수는 일반적으로 1로 안전하게 초기화할 수 있다. 더 나아가 기계 학습으로 매개변수를 초기화하는 것도 가능하다 — 비지도 모델이 학습한 매개변수로 지도 모델을 초기화하거나, 관련 과제(때로는 관련 없는 과제조차)의 지도 훈련 결과를 초기화에 쓰면, 무작위 초기화보다 빠른 수렴과 더 나은 일반화를 얻을 수 있다.

정리 좋은 초기화는 두 가지를 동시에 만족해야 한다 — 유닛 간 대칭을 깨고(무작위), 신호가 폭발하지도 소멸하지도 않을 적절한 분산을 갖는 것(Glorot/직교 휴리스틱). 그래도 최종적으로는 스케일을 하이퍼파라미터로 다루어 검증 성능으로 미세 조정한다.
Deep Learning · Goodfellow, Bengio, Courville · MIT Press 2016 Ch.8 최적화 — 한국어 학습판