딥 뉴럴 네트워크에서 손실 함수(loss function)는 예측값과 실제 정답(label) 간의 차이를 정량화한 스칼라 값을 제공하여, 학습 방향을 결정짓는 핵심 신호로 작용한다.
딥러닝에서 사용되는 손실 함수는 문제의 종류에 따라 달라지며, 이진 분류 문제에는 Binary Cross Entropy, 다중 클래스 분류 문제에는 Categorical Cross Entropy, 회귀 문제에는 Mean Squared Error (MSE) 등이 사용된다. 각 손실 함수는 출력 분포와 오차의 성격에 맞게 선택되어야 한다.
손실 함수에 대한 기울기는 각 파라미터가 손실에 얼마나 기여하는지를 나타내는 벡터이며, 이 기울기의 방향은 손실을 가장 빠르게 증가시키는 방향을 가리킨다. 따라서 경사하강법은 이 방향의 반대 방향으로 파라미터를 이동시킴으로써 손실을 감소시킨다.
학습 과정에서 이 손실 값은 역전파(backpropagation) 과정에서 체인 룰(chain rule)을 통해 각 학습 가능한 파라미터에 대해 미분되어, 그 파라미터가 어떻게 조정되어야 하는지를 나타내는 기울기(gradient)를 생성한다.
역전파는 다변수 연쇄 법칙(chain rule)에 따라 손실 이 각 파라미터 에 미치는 영향을 계산하며, 이 과정에서 각 레이어를 따라 파생되는 도함수가 곱셈 형태로 누적되어 전파된다. 즉, 딥러닝 모델의 구조가 깊어질수록 이 곱셈 항의 수가 증가하게 되며, 이로 인해 기울기의 크기가 지수적으로 감소하거나 증가하는 현상, 즉 기울기 소실 또는 기울기 폭주가 발생할 수 있다.
이러한 기울기는 확률적 경사하강법(SGD) 및 그 변형 알고리즘들을 통해 반복적으로 사용되며, 손실을 줄이는 방향으로 모델의 파라미터를 갱신한다. 기본적인 갱신 식은 다음과 같다.
여기서 는 파라미터, 는 학습률(learning rate), 는 손실 함수이다.
확률적 경사하강법(SGD)은 가장 기본적인 최적화 방식이며, 이를 개선한 알고리즘으로는 Momentum, AdaGrad, RMSProp, Adam 등이 있다.
Momentum은 이전 기울기의 방향을 일정 비율 반영하여 불필요한 진동을 줄인다는 점, Adam은 모멘텀과 RMSProp의 장점을 결합하여 학습률을 동적으로 조절한다. 이러한 알고리즘은 학습률을 조정하거나 관성을 도입함으로써, 수렴 속도와 안정성을 향상시킨다.
상위 수준에서는 비용 함수(cost function) 또는 목적 함수(objective function)가 전체 데이터셋에 대한 손실 값을 집계하여, 전체적인 학습 목표를 정의한다.
여기서 은 샘플 수, 는 입력 에 대한 모델의 예측값, 는 정답이다.
참고로 문헌에서는 loss와 cost라는 용어가 혼용되지만, 기술적으로는 loss는 개별 샘플에 대한 오차, cost는 전체 데이터셋에 대한 평균 손실을 의미한다.
모델 학습에서는 손실 함수가 최적화의 대상이 되며, 이 값은 스칼라여야만 경사하강법으로 미분이 가능하다. 손실은 개별 샘플 기준, 비용은 전체 평균 기준이라는 점에서 구분되며, 실제 학습에서는 비용 함수에 대한 gradient를 구해 파라미터를 업데이트한다.실 함수의 스칼라 출력은 기울기 계산의 출발점이며, 이로부터 chain rule을 따라 각 파라미터에 대한 영향이 전달된다. 따라서 손실이 지나치게 작거나, 도함수가 포화 구간에 있을 경우, 이 기울기 전파 경로가 무력화되는 문제가 발생할 수 있다.
활성화 함수는 뉴럴 네트워크에 비선형성(non-linearity)을 도입하는 핵심 요소이다. 만약 네트워크가 선형 함수로만 구성되어 있다면, 깊이에 관계없이 전체 모델은 단일 선형 변환으로 축소되며, 학습 능력이 극도로 제한된다.
그러나 전통적인 활성화 함수인 시그모이드(sigmoid)와 쌍곡선 탄젠트(tanh)는 출력 포화(saturation) 문제를 유발한다.
이러한 함수들은 입력값이 매우 크거나 작아질 경우 도함수가 0에 가까워지며, 이로 인해 역전파 시 초기 레이어까지 기울기가 거의 도달하지 못하는 기울기 소실(vanishing gradient) 현상이 발생한다.
sigmoid의 도함수는 0.25를 넘지 않으며, 여러 층을 지날수록 기울기는 으로 급격히 소실된다. 반대로, 초기 가중치가 크거나 큰 입력값이 연쇄적으로 작용할 경우 기울기가 폭주하며 수치 불안정을 유발한다.
Sigmoid와 tanh는 모두 출력 포화 현상을 유발하지만, tanh는 출력값이 -1에서 1 사이로 zero-centered 특성을 갖기 때문에, sigmoid에 비해 gradient 소실 문제가 다소 완화된다. 그럼에도 불구하고 두 함수 모두 깊은 네트워크에서는 gradient 전파에 불리하다.
이러한 문제를 완화하기 위해 ReLU와 GELU와 같은 현대적 활성화 함수들이 사용된다. 이들 함수는 출력이 포화되지 않도록 설계되어 기울기 손실 없이 안정적인 역전파가 가능하며, 보다 매끄러운 비선형성으로 일반화 성능도 향상시킨다. 실제로 ImageNet과 같은 대규모 데이터셋에서, ReLU는 sigmoid나 tanh를 사용한 네트워크보다 더 빠르고 안정적으로 수렴하는 것으로 보고되었다 (Glorot et al., 2011).
ReLU는 dead neuron 문제를 일으킬 수 있으며, 이를 완화하기 위해 LeakyReLU, GELU 등이 사용된다. Xavier 초기화는 입력/출력 variance가 1이 되도록 분산을 으로 조정하며, He 초기화는 ReLU 특성을 반영해 을 사용한다.
한편 ReLU는 입력값이 매우 클 경우, 해당 구간에서 gradient가 그대로 1로 유지되므로, 순전파 및 역전파 과정에서 출력 및 gradient가 점점 커지며 기울기 폭주(exploding gradient) 현상을 유발할 수 있다. 이러한 현상을 완화하기 위해 가중치 초기화 기법(ex. He 초기화)이나 정규화 기법(ex. Batch Normalization)이 함께 사용된다.
ReLU (Rectified Linear Unit):
ReLU는 계산 효율성과 기울기 소실 방지 측면에서 유리하지만, 입력이 0 이하일 경우 기울기가 완전히 0이 되어 뉴런이 더 이상 학습되지 않는 Dead ReLU 문제가 발생할 수 있다.
이러한 한계를 보완하기 위해 Leaky ReLU, Parametric ReLU (PReLU), Swish, Mish 등 다양한 비선형 함수들이 제안되어 왔으며, 이들은 ReLU의 단절성, 기울기 소실, Dead ReLU 문제 등을 보완하면서 더 부드럽고 안정적인 gradient 흐름을 제공하는 것을 목표로 한다.
GELU (Gaussian Error Linear Unit) [Hendrycks & Gimpel, 2016]:
GELU는 입력값의 확률 분포를 고려하여 부드럽게 활성화함으로써 ReLU의 단절성(discontinuity)을 보완하며, 기울기의 흐름을 더욱 매끄럽고 안정적으로 만든다.
GELU와 같은 스무딩 활성화 함수는 gradient 흐름을 매끄럽게 유지하는 장점이 있지만, ReLU에 비해 계산량이 많고, 초반 학습 수렴 속도가 느릴 수 있다.
따라서 학습률 스케줄링이나 가중치 초기화 방식과의 상호작용을 고려하여 설계해야 한다.
활성화 함수의 선택은 단순한 연산 형태 이상의 영향을 가지며, 모델의 학습 속도, 수렴 안정성, 일반화 성능에 모두 중요한 영향을 미친다.
특히 심층 구조에서는 포화 영역을 피하고 gradient 흐름을 유지하는 활성화 함수의 선택이 필수적이다.
딥 뉴럴 네트워크에서 학습의 핵심은 손실 함수 에 대한 파라미터 의 기울기를 정확히 계산하고 이를 기반으로 최적화하는 것이다. 이때 깊은 네트워크의 역전파 과정은 각 층의 연산의 연쇄적 곱으로 구성되며, 다음과 같이 표현된다:
각 레이어의 연산이 다음과 같다고 하면:
이때, 는 활성화 함수이고 은 가중치 행렬이다.
활성화 함수의 도함수가 인 경우(ex. sigmoid, tanh), 가중치 행렬의 스펙트럼 노름 (최대 특이값, 즉 행렬이 입력 벡터를 얼마나 확장시키는지를 나타냄)일 때 전체 gradient의 상한은 다음과 같다:
이거나
(포화 영역에서의 sigmoid, tanh 등)일 때
→ 역전파 도중 기울기 크기가 점점 작아져 초기 레이어까지 gradient가 거의 도달하지 않음:
또는
파라미터의 분산이 너무 크거나, 입력값이 커서 비선형 활성화 함수 이후의 출력이 지나치게 커질 경우
→ 역전파 도중 gradient가 기하급수적으로 커지며 파라미터 갱신이 불안정하고 발산할 수 있음, 수치 불안정성, 학습률 폭증, NaN 발생 등을 유발할 수 있음:
이 두 문제 모두 심층 모델의 학습을 저해한다.
- 소실 → 초기 레이어 학습 중단
- 폭주 → 파라미터 불안정, 발산
심층 뉴럴 네트워크의 학습 초기 단계에서 기울기 소실 또는 폭주가 발생하는 중요한 원인 중 하나는 잘못된 가중치 초기화이다. 특히 활성화 함수의 도함수 특성과 맞지 않는 분산을 가진 초기화는 역전파 중 gradient 흐름을 급격히 축소하거나 증폭시킬 수 있다.
따라서 활성화 함수에 적합한 가중치 초기화 기법을 사용하는 것은, 단순한 시작값 설정을 넘어서 gradient 안정성을 수학적으로 보장하기 위한 핵심 전략이 된다.
대표적인 초기화 기법은 다음과 같다:
Xavier 초기화 (Glorot Initialization)
: tanh 또는 sigmoid 계열에 적합
→ 입력과 출력 노드 수의 평균으로 분산을 조절
He 초기화 (He Initialization)
: ReLU 계열에 적합
→ 입력 노드 수에 비례한 분산 설정을 통해 기울기 소실 방지
이 초기화 기법들은 정규분포 기반(Xavier Normal, He Normal) 또는 균등분포 기반(Xavier Uniform 등)으로 설정할 수 있으며, 이는 각 논문에서 제안된 방법론에 따라 선택된다.
이러한 초기화는 각 레이어의 출력 분산이 층을 따라 일정하게 유지되도록 표준편차를 설계한 것으로, 결과적으로 역전파되는 gradient의 크기 변화 없이 깊은 네트워크에서도 안정적으로 학습이 가능하게 만들어준다.
기울기 소실 및 폭주 문제를 근본적으로 해결하기 위해, 현대 딥러닝에서는 다음과 같은 구조적 기법이 널리 활용된다.
이들은 단순한 정규화나 전처리를 넘어, 역전파 경로 자체를 수학적으로 재설계하여 기울기 흐름을 안정화하는 데 기여한다.
ResNet 구조는 각 레이어에 항등 연결(identity mapping)을 추가하여, 비선형 연산을 거치지 않고도 기울기가 이전 레이어로 직접 전파될 수 있도록 한다.
이때 역전파 과정은 다음과 같이 분해된다:
Residual 경로는 비선형성 없이 기울기가 직접 흐를 수 있는 우회 경로를 제공하여, 기울기 소실을 방지하는 역할을 수행한다.
이 구조는 역전파 시 항등항(1)을 강제로 포함하여, 기울기가 소실되지 않고 초기 레이어까지 직접 도달할 수 있도록 보장한다. 위 수식에서 항등항(1)은 항상 일정한 기울기를 제공하므로, 에서 발생할 수 있는 비선형 연산의 gradient 소실에도 불구하고, 기울기가 초기 레이어까지 안정적으로 전파될 수 있도록 돕는다.
- 학습 안정성을 향상시킨다.
- 매우 깊은 네트워크(>1000층)에서도 학습을 가능하게 한다.
- 레이어 간 정보 전달을 유지한다.
Batch Normalization은 각 레이어의 입력 분포가 학습 도중 변화하는 현상인 internal covariate shift를 줄이기 위해 제안되었다. 이는 학습의 안정성과 속도를 크게 향상시킨다. 구체적으로는, 각 미니배치 내 중간 레이어 출력을 정규화함으로써 gradient 흐름을 보다 안정화한다.
정규화 과정은 다음과 같다:
여기서:
- 기울기 스케일을 안정화한다.
- 기울기 소실과 폭주를 방지한다.
- 더 큰 학습률 사용이 가능하게 하여 빠른 수렴을 유도한다.
- 일부 상황에서는 Dropout을 대체할 수 있다.
BatchNorm은 CNN 구조에 적합하지만, Transformer와 같이 순서를 가지는 입력(ex. 자연어처리, 시계열 등)에서는 LayerNorm이 더 적합하다.
| 항목 | BatchNorm | LayerNorm |
|---|---|---|
| 정규화 기준 | 배치 차원 (batch + 채널) | 각 샘플의 feature 차원 |
| 배치 크기 의존성 | 있음 | 없음 |
| 사용 예시 | CNN, ResNet 등 | Transformer, RNN 등 |
LayerNorm은 개별 샘플 내의 feature 차원을 정규화하므로, 배치 크기에 의존하지 않는다. 따라서 Transformer와 같이 배치 독립성과 순서 정보가 중요한 모델에서는 LayerNorm이 표준적으로 사용되며, 안정적인 학습을 유도한다.
Residual 구조는 단순히 gradient 흐름 보존 이상의 기능을 제공한다. Residual 연결은 역전파뿐만 아니라 순전파(forward pass) 시에도 신호의 정보 손실을 최소화하여, 정보의 깊은 레이어 전달을 가능하게 한다.
특히 다음과 같은 설계상 장점을 갖는다:
즉, residual 구조는 단순 우회 경로(shortcut) 그 이상으로, 딥 뉴럴 네트워크의 학습 가능 깊이(depth of trainability)를 구조적으로 확장할 수 있는 메커니즘으로 작용한다.
Residual 구조는 기울기 전파 경로에 항등(identity) 경로를 더함으로써, 각 레이어에서 최소한의 gradient 손실 없이 이전 값이 보존되도록 설계되었다.
이외에도 다양한 정규화 방법이 제안되어 왔으며, 모델 구조 및 데이터의 특성에 따라 적절히 선택해야 한다. 예시로는 다음과 같다:
GroupNorm은 채널을 여러 그룹으로 나누어 정규화하는 방식으로, 배치 크기와 무관하게 안정적인 성능을 보인다. 특히 작은 배치 크기를 사용하는 Object Detection이나 GAN에서 효과적으로 활용된다.
이와 같은 구조적 기법들은 단순한 gradient 안정화 차원을 넘어, 딥러닝 모델의 수렴 속도, 표현력, 일반화 성능에까지 영향을 미친다. 따라서 모델의 아키텍처, 배치 크기, 입력 데이터 특성에 따라 적절한 구조적 기법을 선택하고 조합하는 전략적 판단이 중요하다.