숟가락 그만 얹어
Weight Standardization & Batch-Channel Normalization 본문
Convolution에서 batch normalization (BN)을 위한 parameter 추정 시 activation shape이 (B, W, H, C)라면 mean과 variance는 tf.reduce_mean_var(input, [0, 1, 2])으로 계산된다. 위 방법은 batch size에 따라 statistics가 크게 영향을 받으므로 one sample을 이용한 layer normalization (LN), instance normalization (IN)이 제안되었고, one sample에 대해 channel group을 나누고 각 group에 대한 statistics를 계산하는 group normalization (GN)도 소개되었다.
그런데 충분한 크기의 batch가 가능한 경우에는 one sample 방법들보다 BN 성능이 더 좋다고 보고되었다. 본 논문에서는 micro/macro-batch 세팅이 모두 가능하고 BN보다 성능이 좋은 weight standardization (WS)과 batch-channel normalization (BCN)의 조합을 제안하였다.
WS경우 activation 값이 아닌 convolution weights (kernel_size, kernel_size, C_in, C_out)에 직접 tf.reduce_mean_var(weights, [0, 1, 2])을 계산함으로써 loss를 smoothing하고 deactivated neuron을 줄이고자 하였다. BCN은 BN을 먼저 계산하고 GN을 적용하는 방법으로 다양한 batch size에 대해 대응할 수 있는 장점이 있다.
References
[1] S. Qiao et al., Micro-Batch Training with Batch-Channel Normalization and Weight Standardization, arXiv 2019
'Research > Operations' 카테고리의 다른 글
Spectral Normalization (0) | 2021.05.22 |
---|---|
Spectral Norm (0) | 2021.05.22 |
Causal Dilated Convolution (2) | 2020.10.16 |