我的架构如下:
Conv1Relu1Pooling1Conv2Relu2Pooling3FullyConnect1FullyConnect2
我的问题是,批量归一化应该应用在哪里?在TensorFlow中使用什么函数来实现效果最佳?
回答:
原始的批量归一化论文建议在ReLU激活之前使用批量归一化。但有证据表明,在激活之后使用批量归一化可能效果更好。以下是Francois Chollet在Keras GitHub上的评论:
… 我可以保证Christian [Szegedy]最近编写的代码在BN之前应用了ReLU。尽管如此,这仍然是一个偶尔会引起争论的话题。
关于你的第二个问题:在TensorFlow中,你可以使用高级的tf.layers.batch_normalization
函数,或者低级的tf.nn.batch_normalization
函数。