본문 바로가기
A·I

[AI] 그림으로 보는 normalization 기법

by 방구석 몽상가 2020. 5. 14.
normalization

Normalization methods를 공부하다가 항상 보는 그림이 있다.

위 그림은 Normalization을 설명할 때 빠지지 않고 나오는 그림이지만, 처음 보는 사람은 굉장히 이상하다고 생각할 수 있다. 왜냐하면 feature map의 크기를 결정하는 parameter가 (N, C, H, W)와 같이 4개로 구성되는데 이를 3차원으로 나타내려니 당연히 1개 차원을 생략하여 그릴 수 밖에 없는 것이다. 그래서 H, W를 1차원으로 줄여서 그려 우리가 일반적으로 보는 시각과 조금 달라 이해하기 쉽지 않다.


그래서 이해하기 쉽게 그림을 다시 만들어봤다. 위 그림의 왼쪽 feature map에서 파란 색으로 색칠된 부분이 오른쪽 feature map과 동일한 부분이다. 즉, batch 차원을 없애고 보자면 흔히 우리가 보는 feature map 표현이 된다.

Normalization 식의 형태는 거의 다음과 같이 모두 비슷하다.

결국, 평균과 표준 편차를 어떻게 구하는가가 중요하다.

Batch Normalization

Batch normalization은 맨 위 그림을 보면, 에 대해서만 연산을 진행한다. 따라서 평균과 표준편차는 channel map 와 무관하게 계산되어 batch 에 대해 normalization 된다.

Layer Normalization

Layer normalization은 batch 과 무관하게 평균과 표준편차를 구한다. 즉 channel map 에 대해 normalization 된다고 말할 수 있다.

Instance Normalization

Instance Normalization에서 색칠된 부분은 의 feature map이다. 따라서 평균과 표준편차는 batch와 channel과는 무관하게 각 데이터에 대해서만 normalization 된다. 다른 normalization과 차이점은 test time에도 적용된다는 점이다.

Group Normalization

Group normalization은 channel을 그룹으로 묶어 normalization을 진행한다. 즉, group 수 G에 대해, 이면 layer normalization과 동일하고 이면 instance normalization과 동일하다.

 

이 포스트는 저 그림을 어떻게 이해할지에 중점을 두었기에 자세한 내용은 다른 포스트를 참고하시면 좋습니다.


댓글