我正在查看CIFAR-10的ORC的TensorFlow实现,我注意到在第一个卷积层之后,他们进行池化,然后进行归一化,但是在第二层之后,他们进行归一化,然后进行池化。
我想知道这背后的原理是什么,以及何时/为什么应该选择在池化前进行规范化。非常感谢您的帮助!
我想知道这背后的原理是什么,以及何时/为什么应该选择在池化前进行规范化。非常感谢您的帮助!
[0, 99, 99, 100]
。为了保持简单,使用0-1归一化和核大小为2的最大池化。如果首先对数值进行归一化,就会得到[0, 0.99, 0.99, 1]
。然后进行池化得到[0.99, 1]
。这并不能提供下一层需要的良好的输入分布。如果我们先进行池化,再进行归一化,就会得到[99, 100]
。然后进行归一化得到[0, 1]
。这意味着我们可以控制输入到下一层的分布,使其最有利于训练。规范化只是规范化。规范化后,最大值仍然是所有值中的最大值。
因此,规范化 -> 池化或池化 -> 规范化的结果相同。
[0, 1, 1, 2]
,第一次池化会得到[1, 2]
,然后归一化会得到[0, 1]
。如果我们先进行归一化,则会得到[0, 0.5, 0.5, 1]
,然后进行池化会得到[0.5, 1]
。 - golmschenk