chenwydj
2/29/2020 - 12:54 AM

BatchNorm (BN) / InstanceNorm (IN)

https://www.zhihu.com/question/68730628/answer/277339783?utm_source=ZHShareTargetIDMore&utm_medium=social&utm_oi=30156693438464

BN和IN其实本质上是同一个东西,只是IN是作用于单张图片,但是BN作用于一个batch。 但是为什么IN还会被单独提出,而且在Style Transfer的这个任务中大放异彩呢?

  1. 通过调整BN统计量,或学习的参数beta和gamma,BN可以用来做domain adaptation。[1]
  2. Style Transfer是一个把每张图片当成一个domain的domain adaptation问题。[2]

在[1]中,我们提出了一个叫做adaBN的方法来做domain adaptation。其实adaBN做的事情看上去非常trivial:在拓展到未知的domain的时候,将BN的统计量在这个domain的unlabel data上重新计算一遍。如果用现有deep learning框架去实现的话,只需要一行就够。但是这样一个操作,可以带来相当显著的性能提升。究其原因,其实BN在做的事情就是将每个batch的数据归一化到standard Gaussian。我们在不同数据上计算统计量,可以将不同domain的数据分布的差异归一。

在[2]中,我们从style transfer中使用的Gram matrix出发,试图解释为什么Gram matrix可以代表一个图片的style这个问题。这是我看完style transfer的paper后感觉最为迷惑的一点。一个偶然的机会,我们发现这个匹配两张图的Gram matrix,其实数学上严格等价于极小化这两张图deep activation的2nd poly kernel的MMD距离。其中,MMD距离是用来通过从两个分布中sample的样本来衡量两个分布之间的差异的一种度量。所以本质上,style transfer这个paper做的事情就是将生成图片的deep activation分布和style image的分布进行匹配。这其实可以认为是一个domain adaptation的问题。所以很自然我们可以使用类似于adaBN的想法去做这件事情。这后续有一系列的工作拓展了这个想法,包括adaIN[3]以及若干基于GAN去做style transfer的工作。

  • [1] Li, Yanghao, Naiyan Wang, Jianping Shi, Jiaying Liu, and Xiaodi Hou. "Revisiting batch normalization for practical domain adaptation." arXiv preprint arXiv:1603.04779 (2016).
  • [2] Li, Yanghao, Naiyan Wang, Jiaying Liu, and Xiaodi Hou. "Demystifying neural style transfer." arXiv preprint arXiv:1701.01036 (2017).
  • [3] Huang, Xun, and Serge Belongie. "Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization." arXiv preprint arXiv:1703.06868 (2017).