EunGyeongKim

[ML] 배치 정규화(Batch Normalization) 본문

ML & DL

[ML] 배치 정규화(Batch Normalization)

EunGyeongKim 2024. 1. 31. 14:35

배치 정규화

  • 딥 뉴럴 네트워크(Deep Neural Networks)에서 사용되는 중요한 정규화 기술 중 하나로, 네트워크의 학습을 안정화하고 속도를 향상시키는 데 도움을 줌
  • 주로 컨볼루션 신경망(CNN) 및 완전 연결 신경망(Fully Connected Neural Networks)에서 사용
  • 합성곱 레이어 또는 완전 연결 레이어 뒤에 적용되며, 네트워크의 성능과 안정성을 향상시키는 데 도움
  • 뉴럴 네트워크의 학습과 일반화 능력이 향상되며, 많은 신경망 아키텍처에서 중요한 구성 요소로 사용

개념

  • 배치 정규화는 네트워크의 각 레이어에서 입력 데이터의 분포를 조절하는 방법입니다.
  • 각 미니배치(batch)의 입력 데이터에 대해 평균과 분산을 계산하고, 이를 사용하여 입력 데이터를 정규화합니다.
  • 정규화된 데이터는 스케일(scale)과 시프트(shift) 연산을 통해 원하는 분포로 조정됩니다.

작동방식

  • 각 미니배치에서 입력 데이터의 평균과 분산을 계산합니다.
  • 평균과 분산을 사용하여 입력 데이터를 정규화합니다. 이때, 정규화된 데이터는 다음과 같이 계산됩니다.
    • 정규화된 데이터 = (입력 데이터 - 평균) / sqrt(분산 + ε)
      여기서 ε는 분모가 0이 되는 것을 방지하기 위한 작은 상수입니다.
  • 정규화된 데이터에 스케일(scale)과 시프트(shift) 연산을 수행합니다. 스케일과 시프트는 학습 가능한 파라미터로, 네트워크가 데이터의 특성에 맞게 조절할 수 있도록 합니다.
  • 최종 출력값은 스케일과 시프트 연산을 통해 얻어집니다.

장점

  • 학습 안정화: Batch Normalization은 그래디언트 소실 및 폭주 문제를 완화하고, 학습 속도를 높이며 안정화시킵니다.
  • 빠른 학습: 더 큰 학습률을 사용할 수 있어 수렴 속도를 향상시킵니다.
  • 초기화에 덜 민감: 초기 가중치 초기화에 덜 민감하므로 하이퍼파라미터 조정이 간소화됩니다.
  • 정규화 효과: 네트워크 내부의 레이어 간의 입력 데이터 분포를 정규화하므로 일종의 정규화 효과를 얻을 수 있습니다.

 

Comments