本文内容等多来自Group Normalization 的文章中的,地址如下:https://eccv2018.org/openaccess/content_ECCV_2018/papers/Yuxin_Wu_Group_Normalization_ECCV_2018_paper.pdf
我们常用的batch Normal 是对batch size的大小是有关系的,一般batch size 为32以上的时候才能有一个比较好的效果。所以在一些复杂的视觉任务,batch size太大造成显存的不够用,(虽然你可以用多卡来解决这个问题,但是需要很多卡来做到)
先看一下batch normal的计算过程:
batch 中的所求sample 进行求取均值和方差。
而group normalization 进行求取均值和方差是通过每一个sample中把chanel 分成几个Group 进行的
代码验证如下: