Normalization_01

전사영·2024년 11월 14일

Normalization을 사용하는 이유?

Deep learning의 neurl network가 깊어짐에 따라 gradient vanishing혹은 gradient exploding이 발생될 수 있습니다. 이를 해결하기 위하여 각 입력 층에 BN, LN을 통해 정규화를 적용하여 기울기 소실을 해결하고 안정적인 학습을 가능하게 합니다.

Batch Normalization

작동방식

  • 미니 배치(Mini-Batch) 단위로 각 배치의 평균(μ)분산(σ²)을 계산합니다.

  • 해당 배치의 입력 값에서 평균을 빼고 분산으로 나누어 정규화합니다.

  • 정규화된 값에 학습 가능한 스케일(γ)과 시프트(β) 파라미터를 적용하여 모델이 데이터의 분포를 조정할 수 있게 합니다.

  • 이 정규화된 값이 다음 레이어의 입력으로 전달됩니다.

Layer Normalization

작동방식

  • 각 데이터 포인트의 모든 특성(feature) 차원에 대해 평균(μ)분산(σ²)을 계산합니다.
  • 각 레이어에서 입력을 정규화하며, 배치 크기와 상관없이 작동합니다.
  • 정규화된 값에 학습 가능한 스케일(γ)과 시프트(β) 파라미터를 적용합니다.

Batch Normalization vs Layer Normalization

< Batch Normalization, Layer Normalization 예시 이미지>

  • 위 이미지 예시를 기준으로 feature는 4개, batch size는 4인 데이터인 것을 확인할 수 있습니다.

  • batch norm은 batch 단위로 정규화가 진행됩니다.

  • layer norm은 모든 batch에 대하여 즉 layer를 기준으로 정규화가 진행됩니다.

profile
매일 조금씩!

0개의 댓글