본문 바로가기

기술자료

BatchNormalization, LayerNormalization 및 InstanceNormalization의 특성

딥러닝 정규화 함수의 특징
정규화 기능은 훈련 프로세스를 안정화하고 가속화함으로써 딥러닝 모델 훈련에서 중요한 역할을 합니다. BatchNormalization, LayerNormalization 및 InstanceNormalization의 특성을 자세히 비교하면 다음과 같습니다.


배치 정규화(BatchNorm)

형질:
미니 배치 전체의 정규화: BatchNorm은 각 미니 배치 전체에서 뉴런의 활성화를 정규화합니다.
계산:
평균 및 분산: 미니 배치 전체에서 각 특성에 대해 계산됩니다.
스케일링 및 이동: 정규화된 출력의 크기를 조정하고 이동하기 위해 학습 가능한 매개변수(감마 및 베타)를 도입합니다.
공식:
BN(x)=γ(x−μbatchσbatch2+ϵ)+β\text{BN}(x) = \gamma \left( \frac{x - \mu_{\text{배치 }}}{\sqrt{\sigma_{\text{batch}}^2 + \epsilon}} \right) + \betaBN(x)=γ(σbatch2​+ϵ​x −μ배치​​)+β
여기서 μbatch\mu_{\text{batch}}μbatch​ 및 σbatch2\sigma_{\text{batch}}^2σbatch2​는 미니 배치 ϵ\epsilonϵ의 평균과 분산입니다.  0으로 나누는 것을 방지하기 위한 작은 상수이고 γ\gammaγ 및 β\betaβ는 학습 가능한 매개변수입니다.

 

장점:
훈련 속도: 내부 공변량 이동을 줄여 훈련을 가속화합니다.
정규화 효과: 정규화의 한 형태로 작용하여 잠재적으로 드롭아웃의 필요성을 줄입니다.
안정화: 안정성을 향상하고 학습률을 높일 수 있습니다.
단점:
배치 크기에 대한 종속성: 성능은 배치 크기에 따라 달라질 수 있으므로 소규모 미니 배치 또는 단일 인스턴스 예측에는 효율성이 떨어집니다.
추가 계산: 각 미니 배치의 평균 및 분산 계산으로 인한 계산 오버헤드를 추가합니다.

LayerNormalization(LayerNorm)

형질:
기능 간 정규화: 각 데이터 포인트에 대해 독립적으로 각 기능 전체의 활성화를 정규화합니다.
계산:
평균 및 분산: 각 개별 데이터 포인트의 특성을 전체적으로 계산합니다.
Scaling and Shifting: BatchNorm과 유사하지만 매개변수(감마 및 베타)가 기능별로 적용됩니다.
공식:
LN(x)=γ(x−μlayerσlayer2+ϵ)+β\text{LN}(x) = \gamma \left( \frac{x - \mu_{\text{층 }}}{\sqrt{\sigma_{\text{layer}}^2 + \epsilon}} \right) + \betaLN(x)=γ​σlayer2​+ϵ​x −μ층​​​+β
여기서 μlayer\mu_{\text{layer}}μlayer​ 및 σlayer2\sigma_{\text{layer}}^2σlayer2​는 단일 데이터 포인트에 대한 특징의 평균 및 분산입니다. ϵ\epsilonϵ, γ\gammaγ 및 β\betaβ는 이전에 정의된 바와 같습니다.
장점:
배치 크기로부터의 독립성: 배치 크기가 다양한 모델과 RNN과 같은 순차 모델에 효과적입니다.
일관성: 미니 배치 크기에 관계없이 일관된 정규화를 제공합니다.
단점:
계산 오버헤드: 각 데이터 포인트의 모든 기능에 대한 정규화로 인해 계산 비용이 약간 더 높습니다.

 

InstanceNormalization(InstanceNorm)

형질:
공간 차원에 걸친 정규화: LayerNorm과 유사하지만 일반적으로 이미지 처리와 같은 공간 데이터 작업에 사용됩니다.

 

계산:
평균 및 분산: 각 채널의 각 공간 차원에서 독립적으로 계산됩니다.
스케일링 및 이동: 채널당 적용되는 학습 가능한 매개변수(감마 및 베타)입니다.

 

공식:
IN(x)=γ(x−μinstanceσ인스턴스2+ϵ)+β\text{IN}(x) = \gamma \left( \frac{x - \mu_{\text{인스턴스 }}}{\sqrt{\sigma_{\text{인스턴스}}^2 + \epsilon}} \right) + \betaIN(x)=γ(σinstance2​+ϵ​x −μ인스턴스​​)+β
여기서 μinstance\mu_{\text{instance}}μinstance​ 및 σinstance2\sigma_{\text{instance}}^2σinstance2​는 각 채널에 대한 공간 차원의 평균 및 분산이고 ϵ \epsilonϵ, γ\gammaγ 및 β\betaβ는 이전에 정의된 바와 같습니다.

 

장점:
스타일 전송에 대한 적합성: 스타일 전송 및 기타 이미지 생성 작업에 자주 사용됩니다.
배치 크기로부터의 독립성: 각 샘플을 독립적으로 정규화하여 단일 인스턴스 예측에 유용합니다.

 

단점:
제한된 사용 사례: 이미지 생성 및 스타일 전송과 같은 특정 작업에 주로 유용합니다.
일부 모델의 경우 덜 효과적임: 미니 배치 전체에 걸친 정규화가 더 유리한 모델의 경우 BatchNorm과 동일한 이점을 제공하지 않을 수 있습니다.

 

요약
BatchNormalization은 CNN(컨벌루션 신경망)에서 널리 사용되며 훈련 속도를 높이고 정규화 효과를 제공하는 데 유용하지만 배치 크기에 따라 다릅니다.
LayerNormalization은 배치 크기에 대한 독립성으로 인해 순환 신경망(RNN) 및 배치 크기가 다양한 모델에 유용합니다.
InstanceNormalization은 이미지 처리 작업에 특화되어 인스턴스 수준에서 정규화를 제공하므로 스타일 전송 및 유사한 작업에 적합합니다.
각 정규화 기술에는 장단점이 있으며 선택은 사용되는 신경망의 특정 요구 사항과 아키텍처에 따라 달라집니다.