[기초] 딥러닝 학습

엘리자베스22호·2026년 1월 19일

1장. 오버피팅(Overfitting)

1. 오버피팅이란 무엇인가

오버피팅(overfitting)이란, 학습된 모델이 훈련 데이터(training data) 에는 매우 높은 성능을 보이지만, 학습에 사용되지 않은 시험 데이터(test data) 나 실제 환경의 새로운 데이터에 대해서는 성능이 급격히 저하되는 현상을 의미한다. 이는 모델이 데이터에 존재하는 일반적인 패턴을 학습한 것이 아니라, 훈련 데이터에만 존재하는 우연적 노이즈나 특이한 패턴까지 과도하게 학습했기 때문에 발생한다.

기계학습과 딥러닝의 궁극적인 목표는 훈련 데이터 자체를 잘 맞히는 것이 아니라, 보지 못한 데이터에 대해서도 일관되게 좋은 예측을 수행하는 범용 성능(generalization performance) 을 확보하는 것이다. 따라서 오버피팅은 실무 관점에서도 반드시 해결해야 할 핵심 문제이다.

2. 오버피팅이 발생하는 주요 원인

오버피팅은 다음과 같은 조건에서 특히 빈번하게 발생한다.

  1. 훈련 데이터의 양이 부족한 경우
    데이터가 충분하지 않으면, 모델은 데이터의 통계적 특성을 안정적으로 학습하기 어렵다. 특히 딥러닝 모델처럼 파라미터 수가 많은 경우, 소량의 데이터는 오버피팅을 거의 필연적으로 유발한다.

  2. 모델의 복잡도가 데이터에 비해 지나치게 높은 경우
    층의 수가 많거나, 각 층의 뉴런 수가 매우 큰 모델은 높은 표현력을 갖는다. 표현력이 높다는 것은 복잡한 함수 형태를 근사할 수 있다는 장점이 있지만, 동시에 훈련 데이터에 과도하게 맞춰질 위험이 커진다.

  3. 학습을 지나치게 오래 수행한 경우
    초기에는 훈련 데이터와 검증 데이터 모두 성능이 향상되지만, 일정 시점 이후에는 검증 성능이 오히려 하락하는 경우가 많다. 이는 모델이 훈련 데이터에 과적합되기 시작했음을 의미한다.

3. 오버피팅의 전형적인 관찰 패턴

오버피팅이 발생하면 다음과 같은 특징적인 현상이 나타난다.

  • 훈련 정확도는 에폭(epoch)이 증가함에 따라 지속적으로 상승
  • 검증(validation)/시험(test) 정확도는 어느 시점 이후 정체되거나 하락
  • 훈련 손실(loss)은 감소하지만, 검증 손실은 증가

이러한 패턴을 통해 오버피팅 여부를 시각적으로 판단할 수 있다.


2장. 가중치 감쇠(Weight Decay)

1. 가중치 감쇠의 직관적 이해

딥러닝 모델에서 가중치(weight)가 커질수록 모델은 입력 데이터의 작은 변화에도 매우 민감하게 반응하게 된다. 이는 모델의 표현력을 증가시키는 효과가 있지만, 동시에 데이터의 노이즈까지 학습하게 만들어 오버피팅을 유발한다.

가중치 감쇠(weight decay) 는 이러한 문제를 완화하기 위해, 학습 과정에서 가중치의 크기가 커지는 것을 억제하는 정규화(regularization) 기법이다.

2. 수식적 정의

가중치 감쇠는 손실 함수(loss function)에 가중치의 L2 노름(norm) 제곱을 패널티 항으로 추가하는 방식으로 구현된다.

  • 기존 손실 함수: LL

  • 가중치 감쇠가 적용된 손실 함수: L=L+λiwi2L' = L + λ \sum_i w_i^2

여기서 λ(람다)는 정규화 계수(regularization strength) 로, 가중치 크기에 대한 패널티의 강도를 조절한다.

(1) 가중치가 커질수록 더 강한 패널티

과적합의 핵심 원인은 보통

일부 가중치가 과도하게 커지면서
특정 샘플에만 맞춘 결정 경계를 만드는 것

결정 경계란 아주 미세한 입력 차이까지 구분하려는 경계이다.
일부 가중치가 과도하게 커진다는 것은, 입력 공간의 특정 방향에 대해 모델의 출력이 지나치게 민감해졌음을 의미한다. 이러한 경우 결정 경계는 소수의 샘플, 특히 노이즈나 이상치가 포함된 샘플을 정확히 분류하기 위해 국소적으로 급격하게 변형된다. 그 결과 모델은 데이터 분포 전반에 공통적으로 나타나는 구조를 학습하기보다는, 개별 학습 샘플의 우연한 특성에 맞춰진 결정 규칙을 형성하게 된다.
** 하여, 전체 데이터 분포에는 중요하지 않은 방향에 매우 큰 가중치가 할당될 수 있다.

그래서 정규화 항은 다음 성질을 가져야 한다.

  • (w = 0) 근처에서는 영향이 작고
  • (|w|)가 커질수록 패널티가 빠르게 증가
    ** 특정 가중치를 과도하게 키우는 것을 방지

즉,

  • 작은 가중치: 거의 벌점 없음
  • 큰 가중치: 제곱으로 급격히 증가

(2) 미분 가능하고, 최적화가 쉬워야 한다

신경망은 경사 하강법으로 학습한다.
따라서 패널티 항은 반드시:

  • 모든 점에서 미분 가능
  • gradient가 안정적이어야 한다

L2 제곱의 미분은:

wi(λ2wi2)=λwi\frac{\partial}{\partial w_i} \left( \frac{\lambda}{2} w_i^2 \right) = \lambda w_i

이 결과가 중요한 이유는:

  • gradient가 선형
  • 갑작스럽게 튀지 않음
  • 학습이 안정적

(반면 L1은 (w=0)에서 미분 불연속 → 다른 성질을 만든다)

3. 정규화가 포함된 손실 함수

원래 손실 함수 (L(w))에 L2 패널티를 추가하면:

L~(w)=L(w)+λ2w22\tilde{L}(w) = L(w) + \frac{\lambda}{2} |w|_2^2

이걸 그대로 미분하면

L~w=Lwλw\frac{\partial \tilde{L}}{\partial w} = \frac{\partial L}{\partial w}* \lambda w

업데이트 식은 다음과 같다.

wwη(Lw+λw)w \leftarrow w - \eta \left( \frac{\partial L}{\partial w} + \lambda w \right)

이를 분해하면:

w(1ηλ)w;;ηLww \leftarrow (1 - \eta \lambda) w ;-; \eta \frac{\partial L}{\partial w}

  • ηLw- \eta \frac{\partial L}{\partial w}
    데이터에 맞추려는 힘

  • (1ηλ)w(1 - \eta \lambda) w
    가중치를 원점(0)으로 끌어당기는 힘

즉, L2 정규화는매 step마다 모든 가중치를 조금씩 0 방향으로 수축(shrink) 시킨다

그래서 이름이 Weight Decay(가중치 감쇠) 다.

  • (w)가 크면 → 과적합 가능성 큼 → 강하게 줄여야 함
  • (w)가 작으면 → 이미 단순한 모델 → 거의 건드리지 않음

4. 학습 과정에서의 영향

경사 하강법(gradient descent)을 적용하면, 각 가중치는 다음과 같이 업데이트된다.

  • 기존 업데이트:
    wwη(L/w)w ← w − η (∂L/∂w)

  • 가중치 감쇠 적용 후:
    wwη(L/w+λw)w ← w − η (∂L/∂w + λw)

즉, 가중치는 손실 함수의 기울기뿐 아니라 자신의 크기에 비례하여 추가적으로 감소하는 방향으로 업데이트된다.

5. 효과와 한계

  • 장점:

    • 모델이 지나치게 복잡해지는 것을 방지
    • 구현이 단순하고 계산 비용이 낮음
  • 한계:

    • λ 값이 너무 크면 과소적합(underfitting) 발생
    • 데이터가 매우 복잡한 경우 단독으로는 충분하지 않을 수 있음

3장. 드롭아웃(Dropout)

1. 드롭아웃의 기본 아이디어

드롭아웃(dropout)은 학습 단계에서 신경망의 일부 뉴런을 무작위로 비활성화하는 기법이다. 각 미니배치(mini-batch)가 입력될 때마다, 뉴런은 확률 p로만 활성화되고 나머지는 임시로 제거된다.

이는 다음과 같은 효과를 갖는다.

  • 매 학습 단계마다 서로 다른 구조의 신경망을 학습하는 효과
  • 특정 뉴런이나 경로에 대한 과도한 의존 방지
  • 앙상블(ensemble) 학습과 유사한 정규화 효과

2. training 과 testing 단계의 차이

  • 학습 단계(training)
    일부 뉴런만 활성화된 축소된 네트워크로 학습 수행
    forward pass에서 일부 뉴런의 출력이 0이 됨
    뉴런들의 결과를 평균내기 때문에, 출력 크기 자체가 줄어듬
    수식적으로는, 뉴런 수는 그대로이며, 각 뉴런의 출력의 기댓값이 줄어든 것임
  • 시험 단계(testing)
    모든 뉴런을 사용하되, 출력값에 활성화 확률 p를 곱하여 스케일을 보정

이는 학습 시 평균적으로 사용된 활성화 크기와 시험 시 활성화 크기를 일치시키기 위함이다.

3. 직관적 해석

드롭아웃은 각 뉴런이 "언제든지 제거될 수 있다"는 가정하에 학습되도록 강제한다. 그 결과, 모델은 특정 뉴런에 의존하지 않고 보다 분산된 표현(distributed representation) 을 학습하게 된다.
즉, 어떤 뉴런도 항상 켜져있다(0이 아니다)고 가정할 수 없고, 다음 step에서도 반드시 사용될 것이라고 기대할 수 없다는 것을 의미한다. 이로 인하여, drop out을 적용한 최적화는 "일부 뉴런이 없어져도, 전체 출력이 크게 변하지 않는 방향"으로 유도된다. 이는 모델이 자연스럽게 하나의 의미(특징)를 여러 뉴런이 나눠서 표현하게 하여, 단일 뉴런 하나에만 강하게 인코딩 되지 않고 여러 뉴런의 활성화 조합으로 표현되어 의미 정보가 여러 뉴런에 분산되어 저장된다.

4. 장단점

  • 장점:

    • 강력한 오버피팅 억제 효과
    • 다양한 문제에서 안정적인 성능 향상
  • 단점:

    • 학습 속도 저하
      이는 매번 구조가 조금씩 바뀌는 모델을 학습하기 때문에,
      gradient의 분산이 커지고 손실 곡선이 덜 매끄러워져, 수렴이 느려진다.
    • 배치 정규화와 함께 사용할 경우 조합에 주의 필요
      배치 정규화는 다음을 가정한다.
      "현재 레이어의 활성화 분포는, 미니 배치 기준으로 비교적 안정적인 추정이 가능"
      배치 정규화는 학습 중에, 배치의 평균과 분산을 계산하여 이 통계 값을 이동 평균으로 누적하고 테스트시에는 이 값을 사용한다.
      하지만, 배치 정규화 앞에 드롭아웃을 두면, 활성화가 랜덤으로 0이되어, 배치 평균과 분산이 매 step마다 크게 흔들리고, 드롭아웃 노이즈가 섞인 분포를 학습하여 테스트 시 분포와 실제 분포가 달라지게 되는 문제점이 있다
      만약 배치 정규화 뒤에 드롭아웃을 두면 배치 정규화의 작업을 드롭아웃이 다시 랜덤하게 꺠뜨리기때문에, 배치 정규화가 만든 안정성이 일부 상쇄된다. 이 경우 배치 정규화의 효고와 드롭아웃의 효과가 중복되거나 충돌될 수 있다.

4장. 검증 데이터와 하이퍼파라미터 최적화

1. 하이퍼파라미터란 무엇인가

하이퍼파라미터(hyper-parameter)는 오차 역전파로 학습되지 않고, 사용자가 사전에 설정해야 하는 모든 파라미터를 의미한다.

대표적인 예시는 다음과 같다.

  • 학습률(learning rate)
  • 배치 크기(batch size)
  • 은닉층의 수와 각 층의 뉴런 수
  • 가중치 감쇠 계수 λ
  • 드롭아웃 비율
  • 학습 epoch 수

2. 데이터 분할의 원칙

  • 훈련 데이터: 모델 파라미터 학습
  • 검증 데이터: 하이퍼파라미터 선택
  • 시험 데이터: 최종 성능 평가

시험 데이터를 하이퍼파라미터 조정에 사용하면, 모델이 시험 데이터에 오버피팅되므로 절대 사용해서는 안 된다.

3. 하이퍼파라미터 탐색 절차

  1. 탐색할 하이퍼파라미터 범위 설정
  2. 범위 내에서 무작위 또는 체계적으로 샘플링
  3. 각 설정에 대해 짧은 학습 수행
  4. 검증 성능을 기준으로 범위 축소 및 반복

5장. Early Stopping

1. Early Stopping의 개념

Early stopping은 학습을 충분히 오래 수행하지 않고, 검증 성능이 더 이상 개선되지 않는 시점에서 학습을 중단하는 기법이다.

이는 학습 자체를 정규화로 활용하는 방법이라고 볼 수 있다.

2. 장점

  • 추가적인 계산 비용 없이 오버피팅 억제
  • 매우 깊은 모델에서도 실용적인 적용 가능

6장. 배치 정규화(Batch Normalization)

1. 깊은 신경망 학습의 어려움

깊은 신경망에서는 이전 계층의 가중치가 업데이트될 때마다, 다음 계층으로 전달되는 입력 분포가 계속 변한다. 이를 내부 공변량 변화(internal covariate shift) 라고 하며, 학습을 불안정하고 느리게 만드는 주요 원인이다.

2. 배치 정규화의 핵심 아이디어

배치 정규화는 각 계층의 입력을 미니배치 단위로 정규화하여 평균 0, 분산 1에 가깝게 만드는 기법이다.

절차는 다음과 같다.

  1. 미니배치 평균 계산
  2. 미니배치 분산 계산
  3. 정규화 수행
  4. 학습 가능한 파라미터 γ, β로 스케일 및 이동

이를 통해 표현력 감소 문제를 해결한다.

3. training 과 testing 단계의 처리 방식

  • 학습 단계: 미니배치 통계량 사용
  • 시험 단계: 학습 중 누적한 이동 평균(mean, variance) 사용

이를 통해 입력이 하나씩 들어오는 상황에서도 안정적인 정규화를 수행할 수 있다.

4. 배치 정규화의 효과

  • 학습 속도 대폭 향상
  • 초기 가중치에 대한 민감도 감소
  • 오버피팅 완화 효과

5. 한계와 확장 기법

배치 크기가 매우 작을 경우, 통계량이 불안정해진다. 이를 보완하기 위해 다음과 같은 기법들이 제안되었다.

  • Layer Normalization
  • Group Normalization
  • Instance Normalization
profile
2026년 화이팅!!!

0개의 댓글