我有以下架构:
Conv1
Relu1
Pooling1
Conv2
Relu2
Pooling3
FullyConnect1
FullyConnect2
我的问题是,在哪里应用批量归一化?在TensorFlow中,最好使用什么函数实现?
我有以下架构:
Conv1
Relu1
Pooling1
Conv2
Relu2
Pooling3
FullyConnect1
FullyConnect2
我的问题是,在哪里应用批量归一化?在TensorFlow中,最好使用什么函数实现?
原始的批量归一化论文建议在ReLU激活之前使用批量归一化。但是有证据表明,最好在激活后使用批量归一化。以下是Francois Chollet在Keras GitHub上的评论:
...我可以保证由Christian [Szegedy]编写的最新代码应用了ReLU激活函数在BN之前。尽管如此,这仍然偶尔是一个争论的话题。
对于你的第二个问题:在tensorflow中,您可以使用高级tf.layers.batch_normalization
函数或低级tf.nn.batch_normalization
。
Conv1
Relu1
BatchNormalization
Pooling1
Conv2
Relu2
BatchNormalization
Pooling3
FullyConnect1
BatchNormalization
FullyConnect2
BatchNormalization