논문 읽기/Normalization

[논문 읽기] Group Normalization(2018)

AI 꿈나무 2021. 7. 4. 00:43
반응형

 안녕하세요, 오늘 읽은 논문은 Group Normalization 입니다.

 

 GN(Group Normalization)은 BN의 단점을 개선하기 위해 제안된 alternative입니다.

 

 BN은 batch size(1or2)를 작게 설정한 경우에 상당한 성능 약화가 발생합니다. OD나 Segmentation 같은 task 경우에 high-resolution image를 사용해야 하므로 batch-size를 작게 설정할 수 밖에 없습니다. 이 경우에 batch 통계값은 전체 분포를 부정확하게 추정하여 noise가 많이 생기고 성능 저하가 발생합니다.

 

 이러한 BN의 단점을 개선하기 위하여 GN은 batch와 독립적으로 normalization을 수행합니다.

 

 

 위 그림을 살펴보면 batch size가 2인 경우에 GN이 BN보다 10% 이상 test error가 낮습니다. batch size가 큰 경우에도 BN과 비슷한 성능을 나타냅니다. 또한 BN은 transfer시에 freeze를 하고 trasnfer을 합니다. GN은 trasnfer에도 활용할 수 있습니다. IN과 LN은 sequence model 또는 generative model을 학습할 시에 주로 사용하는 normalization입니다. GN은 이 둘을 대체하여 사용할 수 있으며 보다 높은 성능을 갖습니다.

 

 GN은 하나의 sample이 갖고 있는 채널을 그룹지어 평균과 표준편차를 계산한 후에 normalization을 수행합니다. BN과 마찬가지로 학습가능한 파라미터 감마와 베타도 존재합니다.

 

Group Normalization

 

 normaliztion은 다음과 같이 수행됩니다.

 

 

 여기서 u와 시그마는 다음과 같이 계산합니다.

 

 

 BN, IN, LN은 Subset Si가 어떻게 정의되느냐에 따라 달라집니다.

 

BN(batch norm)

 

 채널 축을 기준으로 모든 batch

 

LN(layer norm)

 N을 축으로 사용

 

IN(instance norm)

 

 채널과 N을 축으로 사용

 

 

그리고 이 모든 Norm은 아래와같은 학습가능한 파라미터가 존재합니다.

 

 

 

GN(Group Norm)

 gn은 하나의 N에 대하여 채널을 그룹 단위로 normalization을 합니다. 만약에 채널이 6개있고, G=2이면 한 그룹당 3개의 채널이 존재합니다. 논문에서는 G=32를 기본값으로 설정합니다. 만약 G=1이라면 이는 LN과 동일합니다. G= 채널수이면 IN 입니다. 또한 학습가능한 파라미터가 존재합니다.

 

 

Experiment

 

 

 

 

 

 

 


참고자료

[1] https://arxiv.org/abs/1803.08494

반응형