1. 这篇文章总结的不错:
Batch normalization和Instance normalization的对比? https://www.zhihu.com/question/68730628?sort=created
评论;
1: BN更注重的是对全局例如一个数据库的数据的归一化,因为在分类分割这种判定模型中,结果的确定是依赖于数据的整体分布的。而在做style transfer等图像之间的变换时,图像的生成结果主要依赖于某个图像实例,这种全局信息并不会给任务带来收益,反而会弱化实例之间的特殊性,所以采用IN便是一种更好的选择,用来加速模型的收敛并且保持实例之间的独立性。当然这只是比较直白的解释。
2
首先,batch norm是对一个batch里所有的图片的所有像素求均值和标准差。而instance norm是对单个图片的所有像素求均值和标准差。
这里其实可以看到的一个问题,由于shuffle的存在,每个batch里每次的均值和标准差是不稳定,本身相当于是引入了噪声。而instance norm的信息都是来自于自身的图片,某个角度来说,可以看作是全局信息的一次整合和调整。对于训练也说也是更稳定的一种方法。其实我们完全可以把instance norm当做L2 norm这种方法的一个变种。前者适合卷积层,后者适合全连接层。
3
batch normalization有一种理解是每个batch的均值和方差由于shuffle都会改变,所以可以理解做了一种数据增强。但in