깊은 인공 신경망을 학습하다보면 역전파 과정에서 입력층으로 갈 수록 기울기가 점차적으로 작아지는 현상이 발생할 수 있습니다. 입력층에 가까운 레이어에서 가중치들이 업데이트가 제대로 되지 않으면 결국 최적의 성능을 가진 모델을 만들 수 없게 됩니다. 이런 현상을 기울기 손실(Gradient Vanishing)이라고 합니다.
이 반대의 경우는 기울기 폭주(Gradient Exploding) 이라고 하여 기울기가 점차 커져 가중치들이 비정상적으로 큰 값이 되면서 발산하게 됩니다.
그렇다면 기울기 소실과 기울기 폭주를 막는 방법에는 무엇이 있는지 알아보겠습니다.
시그모이드 함수를 사용하면 입력의 절대값이 클 경우에 시그모이드 함수의 출력값이 0 또는 1에 수렴하면서 기울기가 0에 가까워집니다. 그래서 역전파 과정에서 전파 시킬 기울기가 점차 사라져 입력층 방향으로 갈 수록 역전파가 되지 않는 기울기 소실 문제가 발생합니다.
이런 기울기 소실 문제를 완화하는 가장 간단한 방법은 은닉층의 활성화 함수로 시그모이드 함수나 하이퍼볼릭탄젠트 함수 대신에 ReLU 또는 ReLU의 변형 함수 중 하나인 Leaky ReLU를 사용하는 것입니다.
같은 모델을 훈련시키더라도 가중치가 초기에 어떤 값을 가졌느냐에 따라서 모델의 훈련 결과가 달라지기도 합니다. 즉, 가중치 초기화만 적절히 해줘도 기울기 소실 문제를 완화시킬 수 있습니다.
2010년 세이비어 글로럿과 요슈아 벤지오는 가중치 초기화가 모델이 미치는 영향을 분석하여 새로운 초기화 방법을 제안했습니다. 이 초기화 방법은 제안한 사람의 이름을 따서 세이비어 초기화 또는 글로럿 초기화라고도 합니다.
이 방법은 균등 분포(Uniform Distribution) 또는 정규 분포(Normal Distribution)로 초기화 할 때 두 가지의 경우로 나뉩니다.


세이비어 초기화는 여러 층의 기울기 분산 사이에 균형을 맞춰서 특정 층이 너무 주목을 받거나 다른 층이 뒤쳐지는 것을 막습니다. 세이비어 초기화는 시그모이드 함수나 하이퍼볼릭탄젠트 함수와 같은 S자 형태인 활성화 함수와 함께 사용할 경우에는 좋은 성능을 보입니다. 그러나 ReLU나 ReLU의 변형 함수와 함께 사용할 경우에는 성능이 좋지 않습니다.
ReLU 또는 ReLU 변형 함수들을 활성화 함수로 사용할 경우에는 He 초기화(He Initialization)을 사용하는 것이 좋습니다.
He 초기화(He Initialization)는 세이비어 초기화와 유사하게 정규 분포와 균등 분포 두 가지 경우로 나뉩니다. 다만 He 초기화는 세이비어 초기화오 ㅏ다르게 다음 층의 뉴런의 수를 반영하지 않습니다.


ReLU 계열의 함수와 He 초기화를 사용하는 것만으로도 어느 정도 기울기 소실과 폭주를 완화시킬 수 있지만 이 두 방법을 사용하더라도 훈련 중에 언제든 다시 발생할 수 있습니다. 문제를 예방하는 또 다른 방법은 배치 정규화(Batch Normalization) 입니다. 배치 정규화는 인공 신경망의 각 층에 들어가는 입력을 평균과 분산으로 정규화하여 학습을 효율적으로 만듭니다.
배치 정규화를 이해하기 위해서는 내부 공변량 변화(Internal Covariate Shift)를 알아야 합니다. 내부 공변량 변화는 학습 과정에서 층 별로 입력 데이터 분포가 달라지는 현상을 말합니다. 이전 층들의 학습에 의해 이전 층의 가중치 값이 바뀌게 되면 현재 층에 전달되는 입력 데이터의 분포가 현재 층이 학습했던 시점의 분포화 차이가 발생합니다. 배치 정규화를 제안한 논문에서는 기울기 소실과 기울기 폭주 등의 불안전성이 층마다 입력의 분포가 달라지기 때문이라고 주장합니다.
배치 정규화는 표현 그대로 한 번에 들어오는 배치 단위로 정규화하는 것을 말합니다. 배치 정규화는 각 층에서 활성화 함수를 통과하기 전에 수행됩니다. 배치 정규화를 요약하면 다음과 같습니다. 입력에 대해 평균을 0으로 만들고 정규화를 합니다. 이 때 두개의 매개 변수 γ, β를 사용하는데 γ는 스케일을 위해 사용하고 β는 시프트를 하는 것에 사용하며 다음 레이어 일정한 범위의 값들만 전달되게 합니다.
층 정규화는 배치 크기에도 의존적이지 않고 RNN에도 적용하는 것이 수월한 방법입니다. 층 정규화를 이해하기에 앞서 배치 정규화를 시작화해보겠습니다. 다음은 m=3이고 특성의 수가 4일 때의 배치 정규화입니다. 미니 배치란 동일한 특성의 개수들을 가진 다수의 샘플들을 의미함을 상기합시다.

반면, 층 정규화는 다음과 같습니다.
