Batch normalization とバッチサイズについて


現在、Tensorflow+Kerasでモデルの学習をおこなっています。  
このモデルにはBatch normalization レイヤーが含まれています。  
ただ、使用しているGPUのメモリが少ないため、バッチサイズが4くらいでしか学習できません。  
このように、バッチサイズが小さい場合でもBatch normalizationはうまく機能するものなのでしょうか。  
よろしくお願いいたします。




バッチサイズを大きくできない場合のためのアルゴリズムもいくつか提案されています。

Layer Normalization: <https://arxiv.org/abs/1607.06450>  
Group Normalization: <https://arxiv.org/abs/1803.08494>  
Weight Standardization: <https://arxiv.org/abs/1903.10520>

TensorFlowでLayerNormalizationは提供されているようです。  
<https://www.tensorflow.org/api_docs/python/tf/keras/layers/LayerNormalization>




バッチサイズを大きくできない場合のためのアルゴリズムもいくつか提案されています。

Layer Normalization: <https://arxiv.org/abs/1607.06450>  
Group Normalization: <https://arxiv.org/abs/1803.08494>  
Weight Standardization: <https://arxiv.org/abs/1903.10520>

TensorFlowでLayerNormalizationは提供されているようです。  
<https://www.tensorflow.org/api_docs/python/tf/keras/layers/LayerNormalization>

